SpyBara
Go Premium

Documentation 2026-10-08 22:58 UTC to 2026-10-09 22:01 UTC

63 files changed +1,464 −639. View all changes and history on the product overview
2026
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

216| Opção | O que controla | Padrão |216| Opção | O que controla | Padrão |

217| :- | :- | :- |217| :- | :- | :- |

218| Max turns (`max_turns` / `maxTurns`) | Máximo de rodadas de uso de ferramentas | Sem limite |218| Max turns (`max_turns` / `maxTurns`) | Máximo de rodadas de uso de ferramentas | Sem limite |

219| Max budget (`max_budget_usd` / `maxBudgetUsd`) | Custo máximo antes de parar | Sem limite |219| Max budget (`max_budget_usd` / `maxBudgetUsd`) | Gasto estimado no qual o loop para | Sem limite |

220 220 

221Quando qualquer um dos limites é atingido, o SDK retorna uma `ResultMessage` com um subtipo de erro correspondente (`error_max_turns` ou `error_max_budget_usd`). Veja [Handle the result](#handle-the-result) para saber como verificar esses subtipos e [`ClaudeAgentOptions`](/docs/pt/agent-sdk/python#claudeagentoptions) / [`Options`](/docs/pt/agent-sdk/typescript#options) para sintaxe.221Quando qualquer um dos limites é atingido, o SDK retorna uma `ResultMessage` com um subtipo de erro correspondente (`error_max_turns` ou `error_max_budget_usd`). Veja [Handle the result](#handle-the-result) para saber como verificar esses subtipos e [`ClaudeAgentOptions`](/docs/pt/agent-sdk/python#claudeagentoptions) / [`Options`](/docs/pt/agent-sdk/typescript#options) para sintaxe.

222 222 


224 224 

225Com [streaming input](/docs/pt/agent-sdk/streaming-vs-single-mode), uma mensagem que ainda está na fila quando uma volta termina no limite de max-turns permanece na fila. Claude Code não a adiciona à última chamada de modelo dessa volta. Ele inicia uma nova volta para a mensagem, e a contagem de max-turns recomeça para essa volta. O total de orçamento continua acumulando entre mensagens, e uma vez que o gasto atinge `maxBudgetUsd`, mensagens posteriores na mesma conversa terminam com o resultado `error_max_budget_usd`. Um [`/clear`](/docs/pt/agent-sdk/cost-tracking) reinicia o orçamento.225Com [streaming input](/docs/pt/agent-sdk/streaming-vs-single-mode), uma mensagem que ainda está na fila quando uma volta termina no limite de max-turns permanece na fila. Claude Code não a adiciona à última chamada de modelo dessa volta. Ele inicia uma nova volta para a mensagem, e a contagem de max-turns recomeça para essa volta. O total de orçamento continua acumulando entre mensagens, e uma vez que o gasto atinge `maxBudgetUsd`, mensagens posteriores na mesma conversa terminam com o resultado `error_max_budget_usd`. Um [`/clear`](/docs/pt/agent-sdk/cost-tracking) reinicia o orçamento.

226 226 

227<h4 id="budget-headroom">

228 Margem de orçamento

229</h4>

230 

231Claude Code compara o gasto com o limite `max_budget_usd` / `maxBudgetUsd` depois que as respostas do modelo chegam, porque o custo de cada resposta vem do uso de tokens que a API retorna com ela. A resposta que atinge o limite ainda é concluída e conta para [`total_cost_usd`](/docs/pt/agent-sdk/cost-tracking#get-the-total-cost-of-a-query). Portanto, o gasto pode ultrapassar o limite em até o custo dessa única resposta, mais o que os subagentes ainda em execução naquele momento gastarem antes de parar. Deixe margem para isso ao definir o limite.

232 

227<h3 id="effort-level">233<h3 id="effort-level">

228 Nível de esforço234 Nível de esforço

229</h3>235</h3>

Details

78 78 

79Você pode configurar servidores MCP em código ao chamar `query()`, ou em um arquivo `.mcp.json` carregado via [`settingSources`](#from-a-config-file).79Você pode configurar servidores MCP em código ao chamar `query()`, ou em um arquivo `.mcp.json` carregado via [`settingSources`](#from-a-config-file).

80 80 

81<h3 id="in-code">81<span id="in-code" />

82 Em código82 

83<h3 id="add-a-server-in-code">

84 Adicionar um servidor em código

83</h3>85</h3>

84 86 

85Passe servidores MCP diretamente na opção `mcpServers`. Este exemplo inicia um servidor MCP de sistema de arquivos local para `/Users/me/projects`. Substitua esse caminho por um diretório em sua máquina:87Passe servidores MCP diretamente na opção `mcpServers`. Este exemplo inicia um servidor MCP de sistema de arquivos local para `/Users/me/projects`. Substitua esse caminho por um diretório em sua máquina:


135 ```137 ```

136</CodeGroup>138</CodeGroup>

137 139 

138<h3 id="from-a-config-file">140<span id="from-a-config-file" />

139 De um arquivo de configuração141 

142<h3 id="add-a-server-from-a-config-file">

143 Adicionar um servidor a partir de um arquivo de configuração

140</h3>144</h3>

141 145 

142Crie um arquivo `.mcp.json` na raiz do seu projeto. O arquivo é detectado quando a fonte de configuração `project` está habilitada, o que é padrão para as opções `query()`. Se você definir `settingSources` explicitamente, inclua `"project"` para que este arquivo seja carregado. Substitua `/Users/me/projects` por um diretório em sua máquina:146Crie um arquivo `.mcp.json` na raiz do seu projeto. O arquivo é detectado quando a fonte de configuração `project` está habilitada, o que é padrão para as opções `query()`. Se você definir `settingSources` explicitamente, inclua `"project"` para que este arquivo seja carregado. Substitua `/Users/me/projects` por um diretório em sua máquina:


301 Servidores stdio305 Servidores stdio

302</h3>306</h3>

303 307 

304Processos locais que se comunicam via stdin/stdout. Use isso para servidores MCP que você executa na mesma máquina. Para o formulário `.mcp.json`, use os mesmos campos mostrados em [De um arquivo de configuração](#from-a-config-file). Em código, passe o comando e seus argumentos. Substitua `/Users/me/projects` por um diretório em sua máquina:308Processos locais que se comunicam via stdin/stdout. Use isso para servidores MCP que você executa na mesma máquina. Para o formulário `.mcp.json`, use os mesmos campos mostrados em [Adicionar um servidor a partir de um arquivo de configuração](#from-a-config-file). Em código, passe o comando e seus argumentos. Substitua `/Users/me/projects` por um diretório em sua máquina:

305 309 

306<CodeGroup>310<CodeGroup>

307 ```typescript TypeScript hidelines={1,-1} theme={null}311 ```typescript TypeScript hidelines={1,-1} theme={null}

Details

28 Etapas de Migração28 Etapas de Migração

29</h2>29</h2>

30 30 

31<h3 id="for-typescript/javascript-projects">31<span id="for-typescript/javascript-projects" />

32 Para Projetos TypeScript/JavaScript32 

33<h3 id="migrate-a-typescript-or-javascript-project">

34 Migrar um projeto TypeScript ou JavaScript

33</h3>35</h3>

34 36 

35**1. Desinstale o pacote antigo:**37**1. Desinstale o pacote antigo:**


64 66 

65Faça as alterações de código necessárias para concluir a migração.67Faça as alterações de código necessárias para concluir a migração.

66 68 

67<h3 id="for-python-projects">69<span id="for-python-projects" />

68 Para Projetos Python70 

71<h3 id="migrate-a-python-project">

72 Migrar um projeto Python

69</h3>73</h3>

70 74 

71**1. Desinstale o pacote antigo:**75**1. Desinstale o pacote antigo:**

Details

146| `auto` | Aprovações classificadas pelo modelo | Um classificador de modelo revisa ações como comandos shell e solicitações de rede, permitindo ou bloqueando cada uma que revisa. Consulte [Modo Auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) para disponibilidade e a ordem de decisão |146| `auto` | Aprovações classificadas pelo modelo | Um classificador de modelo revisa ações como comandos shell e solicitações de rede, permitindo ou bloqueando cada uma que revisa. Consulte [Modo Auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) para disponibilidade e a ordem de decisão |

147 147 

148<Warning>148<Warning>

149 **Herança de subagente:** Um subagente é executado no modo de permissão da sessão pai, a menos que você defina `permissionMode` em sua [`AgentDefinition`](/docs/pt/agent-sdk/typescript#agentdefinition) e a sessão pai esteja em modo `default`, `dontAsk` ou `plan`. Mesmo assim, Claude Code nunca aplica um valor `"bypassPermissions"`. Um subagente é executado em modo `bypassPermissions` apenas quando a sessão pai também está. A exceção `bypassPermissions` requer Claude Code v2.1.267 ou posterior.149 **Herança de subagente:** Um subagente é executado no modo de permissão da sessão pai, a menos que você defina `permissionMode` em sua [`AgentDefinition`](/docs/pt/agent-sdk/typescript#agentdefinition) e a sessão pai esteja em modo `default`, `dontAsk` ou `plan`. Mesmo assim, Claude Code nunca aplica um valor `"bypassPermissions"` e aplica um valor `"auto"` somente quando o [modo auto está disponível](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) para esse subagente. Um subagente é executado em modo `bypassPermissions` apenas quando a sessão pai também está. A exceção `bypassPermissions` requer Claude Code v2.1.267 ou posterior.

150 150 

151 Subagentes podem ter prompts de sistema diferentes e comportamento menos restrito do que seu agente principal, portanto herdar `bypassPermissions` concede a eles acesso completo e autônomo ao sistema. As [ações que nenhum modo aprova automaticamente](/docs/pt/permission-modes#actions-no-mode-auto-approves) ainda se aplicam.151 Subagentes podem ter prompts de sistema diferentes e comportamento menos restrito do que seu agente principal, portanto herdar `bypassPermissions` concede a eles acesso completo e autônomo ao sistema. As [ações que nenhum modo aprova automaticamente](/docs/pt/permission-modes#actions-no-mode-auto-approves) ainda se aplicam.

152</Warning>152</Warning>

Details

928| `resume` | `str \| None` | `None` | ID de sessão para retomar |928| `resume` | `str \| None` | `None` | ID de sessão para retomar |

929| `session_id` | `str \| None` | `None` | Use um ID de sessão específico em vez de um gerado automaticamente. Deve ser um UUID válido. Não pode ser combinado com `continue_conversation` ou `resume` a menos que `fork_session` também esteja definido |929| `session_id` | `str \| None` | `None` | Use um ID de sessão específico em vez de um gerado automaticamente. Deve ser um UUID válido. Não pode ser combinado com `continue_conversation` ou `resume` a menos que `fork_session` também esteja definido |

930| `max_turns` | `int \| None` | `None` | Máximo de turnos agênticos (rodadas de uso de ferramentas) |930| `max_turns` | `int \| None` | `None` | Máximo de turnos agênticos (rodadas de uso de ferramentas) |

931| `max_budget_usd` | `float \| None` | `None` | Parar a consulta quando a estimativa de custo do lado do cliente atingir este valor em USD. Conta apenas o gasto da própria chamada; totais restaurados de uma sessão retomada não contam. Para ressalvas de precisão e comportamento de redefinição, veja [Rastrear custo e uso](/docs/pt/agent-sdk/cost-tracking) |931| `max_budget_usd` | `float \| None` | `None` | Parar a consulta quando a estimativa de custo do lado do cliente atingir este valor em USD. A estimativa pode ultrapassar este valor, então [deixe uma margem](/docs/pt/agent-sdk/agent-loop#budget-headroom). Conta apenas o gasto da própria chamada; totais restaurados de uma sessão retomada não contam. Para ressalvas de precisão e comportamento de redefinição, veja [Rastrear custo e uso](/docs/pt/agent-sdk/cost-tracking) |

932| `disallowed_tools` | `list[str]` | `[]` | Ferramentas para negar. Um nome simples como `"Bash"` remove a ferramenta do contexto do Claude. Uma regra com escopo como `"Bash(rm *)"` deixa a ferramenta disponível e nega chamadas correspondentes em todos os modos de permissão, incluindo `bypassPermissions`, para o comando [conforme escrito](/docs/pt/permissions#bash-rule-limits). Veja [Permissões](/docs/pt/agent-sdk/permissions#allow-and-deny-rules) |932| `disallowed_tools` | `list[str]` | `[]` | Ferramentas para negar. Um nome simples como `"Bash"` remove a ferramenta do contexto do Claude. Uma regra com escopo como `"Bash(rm *)"` deixa a ferramenta disponível e nega chamadas correspondentes em todos os modos de permissão, incluindo `bypassPermissions`, para o comando [conforme escrito](/docs/pt/permissions#bash-rule-limits). Veja [Permissões](/docs/pt/agent-sdk/permissions#allow-and-deny-rules) |

933| `enable_file_checkpointing` | `bool` | `False` | Ativar rastreamento de alterações de arquivo para retrocesso. Veja [Checkpointing de arquivo](/docs/pt/agent-sdk/file-checkpointing) |933| `enable_file_checkpointing` | `bool` | `False` | Ativar rastreamento de alterações de arquivo para retrocesso. Veja [Checkpointing de arquivo](/docs/pt/agent-sdk/file-checkpointing) |

934| `model` | `str \| None` | `None` | Alias de modelo Claude ou nome de modelo completo. Veja [valores aceitos e IDs específicos do provedor](/docs/pt/model-config#available-models) |934| `model` | `str \| None` | `None` | Alias de modelo Claude ou nome de modelo completo. Veja [valores aceitos e IDs específicos do provedor](/docs/pt/model-config#available-models) |


987```987```

988 988 

989* `API_TIMEOUT_MS`: timeout por requisição no cliente Anthropic, em milissegundos. Padrão `600000`. Aplica-se ao loop principal e todos os subagentes.989* `API_TIMEOUT_MS`: timeout por requisição no cliente Anthropic, em milissegundos. Padrão `600000`. Aplica-se ao loop principal e todos os subagentes.

990* `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`, então o tempo de parede no pior caso é aproximadamente `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` mais backoff. 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.990* `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`.

991 

992 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.

991* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: watchdog de travamento para subagentes. Enquanto o watchdog de stream está ativo, o padrão é `CLAUDE_STREAM_IDLE_TIMEOUT_MS` mais 5 minutos, o que resulta em `600000` a menos que você aumente essa variável. Com o watchdog de stream desativado, o padrão é `600000`. Antes de v2.1.257, o padrão era sempre `600000`.993* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: watchdog de travamento para subagentes. Enquanto o watchdog de stream está ativo, o padrão é `CLAUDE_STREAM_IDLE_TIMEOUT_MS` mais 5 minutos, o que resulta em `600000` a menos que você aumente essa variável. Com o watchdog de stream desativado, o padrão é `600000`. Antes de v2.1.257, o padrão era sempre `600000`.

992 994 

993 O temporizador é redefinido em cada evento de stream. Em um travamento, Claude Code aborta o subagente e relata o travamento ao pai. Para um subagente em segundo plano, também marca a tarefa como falhada e anexa qualquer resultado parcial.995 O temporizador é redefinido em cada evento de stream. Em um travamento, Claude Code aborta o subagente e relata o travamento ao pai. Para um subagente em segundo plano, também marca a tarefa como falhada e anexa qualquer resultado parcial.


3327{3329{

3328 "url": str, # A URL para buscar conteúdo3330 "url": str, # A URL para buscar conteúdo

3329 "prompt": str, # O prompt a executar no conteúdo buscado3331 "prompt": str, # O prompt a executar no conteúdo buscado

3332 "offset": int | None, # Número de caracteres a pular a partir do início da página. Requer Python Agent SDK 0.2.164 ou posterior

3330}3333}

3331```3334```

3332 3335 

Details

323 Detectar invocação de subagente323 Detectar invocação de subagente

324</h2>324</h2>

325 325 

326Claude invoca subagentes através da ferramenta Agent. Para detectar quando um subagente é invocado, procure por blocos `tool_use` onde `name` é `"Agent"`. Mensagens de dentro do contexto de um subagente incluem um campo `parent_tool_use_id`.326Claude invoca subagentes através da ferramenta Agent. Para detectar quando um subagente é invocado, procure por blocos `tool_use` onde `name` é `"Agent"`.

327 

328Mensagens de dentro do contexto de um subagente incluem um campo `parent_tool_use_id`. Em TypeScript, cada mensagem de assistente e de usuário que um subagente produz também carrega [`agent_id`](/docs/pt/agent-sdk/typescript#sdkassistantmessage): o `task_id` dos [eventos de tarefa](/docs/pt/agent-sdk/typescript#sdktaskstartedmessage) desse subagente. `agent_id` requer o TypeScript Agent SDK v0.3.292 ou posterior.

327 329 

328<Note>330<Note>

329 A ferramenta aparece como `"Agent"` em blocos `tool_use`, mas como `"Task"` na lista de ferramentas `system:init`. Antes do Claude Code v2.1.63, blocos `tool_use` também a nomeavam como `"Task"`. Para manter a detecção funcionando em diferentes versões do SDK, corresponda ambos os valores em `block.name`.331 A ferramenta aparece como `"Agent"` em blocos `tool_use`, mas como `"Task"` na lista de ferramentas `system:init`. Antes do Claude Code v2.1.63, blocos `tool_use` também a nomeavam como `"Task"`. Para manter a detecção funcionando em diferentes versões do SDK, corresponda ambos os valores em `block.name`.


331 333 

332A estrutura da mensagem difere entre SDKs. Em Python, você acessa blocos de conteúdo diretamente via `message.content`. Em TypeScript, `SDKAssistantMessage` envolve a mensagem da API Claude, então você acessa o conteúdo via `message.message.content`.334A estrutura da mensagem difere entre SDKs. Em Python, você acessa blocos de conteúdo diretamente via `message.content`. Em TypeScript, `SDKAssistantMessage` envolve a mensagem da API Claude, então você acessa o conteúdo via `message.message.content`.

333 335 

334Este exemplo itera através de mensagens transmitidas, registrando quando um subagente é invocado e quando mensagens subsequentes originam-se de dentro do contexto de execução desse subagente.336Este exemplo itera através de mensagens transmitidas, registrando quando um subagente é invocado e quando mensagens subsequentes originam-se de dentro do contexto de execução desse subagente. A versão em TypeScript também registra o `agent_id` de cada mensagem de subagente que o contém.

335 337 

336<CodeGroup>338<CodeGroup>

337 ```python Python theme={null}339 ```python Python theme={null}


403 // Check if this message is from within a subagent's context405 // Check if this message is from within a subagent's context

404 if (msg.parent_tool_use_id) {406 if (msg.parent_tool_use_id) {

405 console.log(" (running inside subagent)");407 console.log(" (running inside subagent)");

408 // On assistant and user messages, agent_id matches the task_id

409 // on that subagent's task_started and other task events

410 if (msg.agent_id) {

411 console.log(` agent_id: ${msg.agent_id}`);

412 }

406 }413 }

407 414 

408 if ("result" in message) {415 if ("result" in message) {

Details

569| `includePartialMessages` | `boolean` | `false` | Inclui eventos de mensagens parciais |569| `includePartialMessages` | `boolean` | `false` | Inclui eventos de mensagens parciais |

570| `loadTimeoutMs` | `number` | `60000` | *Alpha.* Timeout em milissegundos para cada chamada de `sessionStore.load()` e `sessionStore.listSubkeys()` durante a materialização da retomada. Se o adaptador não concluir dentro dessa janela, a query falha em vez de travar. Ignorado quando `sessionStore` não está definido |570| `loadTimeoutMs` | `number` | `60000` | *Alpha.* Timeout em milissegundos para cada chamada de `sessionStore.load()` e `sessionStore.listSubkeys()` durante a materialização da retomada. Se o adaptador não concluir dentro dessa janela, a query falha em vez de travar. Ignorado quando `sessionStore` não está definido |

571| `managedSettings` | `Settings` | `undefined` | Configurações de nível de política que seu processo host fornece à sessão iniciada. Em máquinas com configurações gerenciadas implantadas pelo administrador, o Claude Code as ignora, a menos que a fonte gerenciada de maior prioridade do administrador defina `parentSettingsBehavior: 'merge'`, e nunca as mescla enquanto um [`policyHelper`](/docs/pt/settings-reference#policyhelper) fornece configurações gerenciadas. Os valores mesclados passam por um filtro somente restritivo; [Restringir configurações do processo pai](/docs/pt/claude-apps-gateway#restrict-parent-settings) explica o que o filtro admite e os bloqueios `allowManaged*Only`. Um host que define [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/pt/env-vars) tem, em vez disso, três chaves lidas diretamente deste payload: sua [configuração de modelo](/docs/pt/model-config#restrict-model-selection) no Claude Code v2.1.222 ou posterior, [`modelPricing`](/docs/pt/settings-reference#modelpricing) quando nenhuma fonte gerenciada a define no v2.1.246 ou posterior, e sua entrada de env `ENABLE_TOOL_SEARCH` no v2.1.247 ou posterior |571| `managedSettings` | `Settings` | `undefined` | Configurações de nível de política que seu processo host fornece à sessão iniciada. Em máquinas com configurações gerenciadas implantadas pelo administrador, o Claude Code as ignora, a menos que a fonte gerenciada de maior prioridade do administrador defina `parentSettingsBehavior: 'merge'`, e nunca as mescla enquanto um [`policyHelper`](/docs/pt/settings-reference#policyhelper) fornece configurações gerenciadas. Os valores mesclados passam por um filtro somente restritivo; [Restringir configurações do processo pai](/docs/pt/claude-apps-gateway#restrict-parent-settings) explica o que o filtro admite e os bloqueios `allowManaged*Only`. Um host que define [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/pt/env-vars) tem, em vez disso, três chaves lidas diretamente deste payload: sua [configuração de modelo](/docs/pt/model-config#restrict-model-selection) no Claude Code v2.1.222 ou posterior, [`modelPricing`](/docs/pt/settings-reference#modelpricing) quando nenhuma fonte gerenciada a define no v2.1.246 ou posterior, e sua entrada de env `ENABLE_TOOL_SEARCH` no v2.1.247 ou posterior |

572| `maxBudgetUsd` | `number` | `undefined` | Interrompe a query quando a estimativa de custo do lado do cliente atinge este valor em USD. Conta apenas o gasto da própria chamada; totais restaurados de uma sessão retomada não contam. Para ressalvas de precisão e comportamento de redefinição, consulte [Acompanhar custo e uso](/docs/pt/agent-sdk/cost-tracking) |572| `maxBudgetUsd` | `number` | `undefined` | Interrompe a consulta quando a estimativa de custo do lado do cliente atinge este valor em USD. A estimativa pode ultrapassar esse valor, então [deixe uma margem](/docs/pt/agent-sdk/agent-loop#budget-headroom). Conta apenas o gasto da própria chamada; totais restaurados de uma sessão retomada não contam. Para ressalvas de precisão e comportamento de redefinição, consulte [Acompanhar custo e uso](/docs/pt/agent-sdk/cost-tracking) |

573| `maxThinkingTokens` | `number` | `undefined` | *Obsoleto:* use `thinking` em vez disso. Máximo de tokens para o processo de pensamento |573| `maxThinkingTokens` | `number` | `undefined` | *Obsoleto:* use `thinking` em vez disso. Máximo de tokens para o processo de pensamento |

574| `maxTurns` | `number` | `undefined` | Máximo de turnos agênticos (idas e voltas de uso de ferramentas) |574| `maxTurns` | `number` | `undefined` | Máximo de turnos agênticos (idas e voltas de uso de ferramentas) |

575| `mcpServers` | `Record<string, [`McpServerConfig`](#mcpserverconfig)>` | `{}` | Configurações de servidores MCP |575| `mcpServers` | `Record<string, [`McpServerConfig`](#mcpserverconfig)>` | `{}` | Configurações de servidores MCP |


631```631```

632 632 

633* `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.633* `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.

634* `CLAUDE_CODE_MAX_RETRIES`: máximo de novas tentativas na API. Padrão `10`, limitado a `15`. Cada nova tentativa tem sua própria janela de `API_TIMEOUT_MS`, então o tempo total no pior caso é aproximadamente `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` mais o backoff. Para execuções não assistidas que precisam aguardar interrupções mais longas, defina [`CLAUDE_CODE_RETRY_WATCHDOG=1`](/docs/pt/errors#tune-retry-behavior): ele tenta novamente indefinidamente em erros transitórios de capacidade e, no Claude Code v2.1.199 ou posterior, aumenta o padrão para outros erros transitórios para `300` e remove o limite desta variável.634* `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`.

635 

636 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.

635* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: watchdog de travamento para subagentes. Enquanto o watchdog de stream está ativo, o padrão é `CLAUDE_STREAM_IDLE_TIMEOUT_MS` mais 5 minutos, o que resulta em `600000`, a menos que você aumente essa variável. Com o watchdog de stream desativado, o padrão é `600000`. Antes do v2.1.257, o padrão era sempre `600000`.637* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: watchdog de travamento para subagentes. Enquanto o watchdog de stream está ativo, o padrão é `CLAUDE_STREAM_IDLE_TIMEOUT_MS` mais 5 minutos, o que resulta em `600000`, a menos que você aumente essa variável. Com o watchdog de stream desativado, o padrão é `600000`. Antes do v2.1.257, o padrão era sempre `600000`.

636 638 

637 O temporizador é reiniciado a cada evento do stream. Em um travamento, o Claude Code aborta o subagente e informa o travamento ao agente pai. Para um subagente em segundo plano, ele também marca a tarefa como falha e anexa qualquer resultado parcial.639 O temporizador é reiniciado a cada evento do stream. Em um travamento, o Claude Code aborta o subagente e informa o travamento ao agente pai. Para um subagente em segundo plano, ele também marca a tarefa como falha e anexa qualquer resultado parcial.


1561 parent_tool_use_id: string | null;1563 parent_tool_use_id: string | null;

1562 error?: SDKAssistantMessageError;1564 error?: SDKAssistantMessageError;

1563 aborted?: true;1565 aborted?: true;

1566 agent_id?: string;

1564 timestamp?: string;1567 timestamp?: string;

1565 context_usage?: SDKContextUsage;1568 context_usage?: SDKContextUsage;

1569 usage_report?: SDKUsageReport;

1566 user_message_uuid?: string;1570 user_message_uuid?: string;

1567 user_message_uuids?: string[];1571 user_message_uuids?: string[];

1568 resume_reason?: string;1572 resume_reason?: string;


1580 1584 

1581`aborted` é `true` quando uma interrupção ou cancelamento truncou a mensagem do assistente antes da conclusão do stream: a mensagem não tem `stop_reason` e o conteúdo pode terminar no meio de uma palavra. O campo está ausente em mensagens normalmente concluídas. Requer Agent SDK v0.3.214 ou posterior.1585`aborted` é `true` quando uma interrupção ou cancelamento truncou a mensagem do assistente antes da conclusão do stream: a mensagem não tem `stop_reason` e o conteúdo pode terminar no meio de uma palavra. O campo está ausente em mensagens normalmente concluídas. Requer Agent SDK v0.3.214 ou posterior.

1582 1586 

1587`agent_id` identifica o subagente que produziu a mensagem e está ausente em mensagens da thread principal. O valor é igual ao `task_id` no [`task_started`](#sdktaskstartedmessage) desse subagente e em outros eventos de tarefa, e permanece inalterado quando o subagente é [retomado](/docs/pt/agent-sdk/subagents#resume-subagents). O campo requer o Agent SDK v0.3.292 ou posterior.

1588 

1589Associe as mensagens de um subagente aos seus eventos de tarefa pelo `agent_id`, em vez de parear o `parent_tool_use_id` de uma mensagem com o `tool_use_id` de um evento de tarefa. Quando uma chamada de ferramenta retoma o subagente, os eventos de tarefa carregam o `tool_use_id` dessa chamada, enquanto as mensagens mantêm o `parent_tool_use_id` da chamada de ferramenta que iniciou o subagente pela primeira vez, de modo que os dois deixam de corresponder.

1590 

1583Claude Code define `user_message_uuid` e `user_message_uuids` na primeira mensagem do assistente do turno, sob as condições em [`user_message_uuid`](#user_message_uuid). Quando Claude Code re-executa um turno que uma reinicialização interrompeu, as mensagens do assistente da re-execução que carregam esses campos também carregam [`resume_reason`](#resume_reason).1591Claude Code define `user_message_uuid` e `user_message_uuids` na primeira mensagem do assistente do turno, sob as condições em [`user_message_uuid`](#user_message_uuid). Quando Claude Code re-executa um turno que uma reinicialização interrompeu, as mensagens do assistente da re-execução que carregam esses campos também carregam [`resume_reason`](#resume_reason).

1584 1592 

1585`timestamp` é a hora ISO 8601 quando o conteúdo da mensagem terminou de ser gerado no processo que o produziu. O valor vem do relógio dessa máquina, portanto use-o apenas para exibição e não ordene mensagens por ele. Um turno de API pode produzir várias mensagens do assistente que compartilham um `message.id`, cada uma com seu próprio `timestamp`. Quando o campo está ausente, recorra à hora em que você recebeu a mensagem.1593`timestamp` é a hora ISO 8601 quando o conteúdo da mensagem terminou de ser gerado no processo que o produziu. O valor vem do relógio dessa máquina, portanto use-o apenas para exibição e não ordene mensagens por ele. Um turno de API pode produzir várias mensagens do assistente que compartilham um `message.id`, cada uma com seu próprio `timestamp`. Quando o campo está ausente, recorra à hora em que você recebeu a mensagem.

1586 1594 

1587`context_usage` é uma cópia estruturada do relatório `/context`, tipada como [`SDKContextUsage`](#sdkcontextusage), e requer Agent SDK v0.3.232 ou posterior. Quando você envia `/context` como um prompt, Claude Code entrega o relatório como uma mensagem do assistente cujo `message.content` contém a tabela markdown, e anexa `context_usage` à mesma mensagem. Claude Code não define o campo em nenhuma outra mensagem do assistente, e versões anteriores entregam a tabela `/context` sem ele, portanto leia o detalhamento do campo quando estiver presente e recorra ao texto markdown quando não estiver.1595`context_usage` é uma cópia estruturada do relatório `/context`, tipada como [`SDKContextUsage`](#sdkcontextusage), e requer Agent SDK v0.3.232 ou posterior. Quando você envia `/context` como um prompt, Claude Code entrega o relatório como uma mensagem do assistente cujo `message.content` contém a tabela markdown, e anexa `context_usage` à mesma mensagem. Claude Code não define o campo em nenhuma outra mensagem do assistente, e versões anteriores entregam a tabela `/context` sem ele, portanto leia o detalhamento do campo quando estiver presente e recorra ao texto markdown quando não estiver.

1588 1596 

1597`usage_report` é uma cópia estruturada do relatório de `/usage`, tipada como [`SDKUsageReport`](#sdkusagereport), e requer o Agent SDK v0.3.273 ou posterior. Quando você envia `/usage` como prompt, o Claude Code entrega o relatório como uma mensagem do assistente cujo `message.content` contém o texto. Ele anexa `usage_report` a essa mesma mensagem somente quando a sessão atende a todas estas condições:

1598 

1599* A sessão se autentica com uma credencial do claude.ai

1600* A credencial mostra um tipo de plano conhecido ou carrega o escopo `user:profile`

1601* A conta não está em faturamento baseado em uso

1602 

1603Um token de `claude setup-token` passado como `CLAUDE_CODE_OAUTH_TOKEN` não se qualifica por padrão, porque carrega apenas o escopo `user:inference`. Outras sessões, como sessões com chave de API, entregam o texto sem o campo, assim como versões anteriores. Leia o relatório a partir do campo quando ele estiver presente e use o texto como alternativa quando não estiver.

1604 

1589<h3 id="sdkusermessage">1605<h3 id="sdkusermessage">

1590 `SDKUserMessage`1606 `SDKUserMessage`

1591</h3>1607</h3>


1597 type: "user";1613 type: "user";

1598 uuid?: UUID;1614 uuid?: UUID;

1599 session_id?: string;1615 session_id?: string;

1616 agent_id?: string;

1600 message: MessageParam; // From Anthropic SDK1617 message: MessageParam; // From Anthropic SDK

1601 pasted_content?: MessageParam["content"][];1618 pasted_content?: MessageParam["content"][];

1602 parent_tool_use_id: string | null;1619 parent_tool_use_id: string | null;


1636};1653};

1637```1654```

1638 1655 

1656Uma mensagem de usuário que um subagente produz, como o `tool_result` de uma de suas próprias chamadas de ferramenta, carrega `agent_id`. Consulte [`SDKAssistantMessage`](#sdkassistantmessage), que define o campo e seu requisito de versão.

1657 

1639Em uma mensagem que carrega um bloco `tool_result`, `tool_use_result` é o objeto de saída estruturada da ferramenta, e não o texto enviado ao modelo. Seu formato depende da ferramenta nomeada pelo bloco `tool_use` correspondente, por isso o campo é tipado como `unknown`; os formatos integrados estão listados em [Tipos de saída de ferramentas](#tool-output-types). Estes resultados exigem tratamento além do formato listado:1658Em uma mensagem que carrega um bloco `tool_result`, `tool_use_result` é o objeto de saída estruturada da ferramenta, e não o texto enviado ao modelo. Seu formato depende da ferramenta nomeada pelo bloco `tool_use` correspondente, por isso o campo é tipado como `unknown`; os formatos integrados estão listados em [Tipos de saída de ferramentas](#tool-output-types). Estes resultados exigem tratamento além do formato listado:

1640 1659 

1641* A ferramenta `Agent`: `tool_use_result` é [`AgentOutput`](#agent-2). Renderize a partir dele em vez de analisar o texto de `tool_result`. O `content` de um resultado `completed` contém o relatório do subagente ou, no caso de um subagente cujo relatório passa por uma chamada de ferramenta `SubagentHandback`, uma breve nota sobre essa devolução no lugar do relatório. No [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) no Claude Code v2.1.271 ou posterior, todo subagente que produz um resultado `completed` reporta dessa forma, a menos que seja um [fork](/docs/pt/sub-agents#fork-the-current-conversation), e o Claude recebe o relatório como uma mensagem separada do subagente.1660* A ferramenta `Agent`: `tool_use_result` é [`AgentOutput`](#agent-2). Renderize a partir dele em vez de analisar o texto de `tool_result`. O `content` de um resultado `completed` contém o relatório do subagente ou, no caso de um subagente cujo relatório passa por uma chamada de ferramenta `SubagentHandback`, uma breve nota sobre essa devolução no lugar do relatório. No [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) no Claude Code v2.1.271 ou posterior, todo subagente que produz um resultado `completed` reporta dessa forma, a menos que seja um [fork](/docs/pt/sub-agents#fork-the-current-conversation), e o Claude recebe o relatório como uma mensagem separada do subagente.


1992 `SDKPartialAssistantMessage`2011 `SDKPartialAssistantMessage`

1993</h3>2012</h3>

1994 2013 

1995Mensagem parcial de streaming (apenas quando `includePartialMessages` é true). O campo `parent_tool_use_id` é sempre `null`: eventos de stream são emitidos apenas para a sessão principal. Para atribuição de subagente, use mensagens completas, que carregam `parent_tool_use_id`, ou ative [`forwardSubagentText`](#options) para receber texto e pensamento de subagente como mensagens completas.2014Mensagem parcial de streaming (apenas quando `includePartialMessages` é true).

2015 

2016O campo `parent_tool_use_id` é sempre `null`: eventos de stream são emitidos apenas para a sessão principal. Para atribuição a subagentes, use mensagens completas, que carregam [`agent_id`](#sdkassistantmessage) e `parent_tool_use_id`, ou ative [`forwardSubagentText`](#options) para receber o texto e o pensamento dos subagentes como mensagens completas.

1996 2017 

1997```typescript theme={null}2018```typescript theme={null}

1998type SDKPartialAssistantMessage = {2019type SDKPartialAssistantMessage = {


2229* `buffer`: a reserva de compactação2250* `buffer`: a reserva de compactação

2230* `deferred`: esquemas de ferramenta que Claude Code mantém fora da janela e exclui do cálculo de uso, listados para conhecimento2251* `deferred`: esquemas de ferramenta que Claude Code mantém fora da janela e exclui do cálculo de uso, listados para conhecimento

2231 2252 

2253<h3 id="sdkusagereport">

2254 `SDKUsageReport`

2255</h3>

2256 

2257Forma estruturada do relatório de `/usage`, carregada como `usage_report` no [`SDKAssistantMessage`](#sdkassistantmessage) que entrega um resultado de `/usage`. O Agent SDK v0.3.273 e posteriores exportam o tipo. O tipo é experimental: seu formato pode mudar.

2258 

2259```typescript theme={null}

2260type SDKUsageReport = {

2261 session: {

2262 total_cost_usd: number;

2263 total_api_duration_ms: number;

2264 total_duration_ms: number;

2265 total_lines_added: number;

2266 total_lines_removed: number;

2267 model_usage: { [modelName: string]: ModelUsage };

2268 };

2269 rate_limits: {

2270 limits:

2271 | {

2272 kind: string;

2273 group: string;

2274 percent: number;

2275 resets_at: string | null;

2276 scope?: {

2277 model?: { display_name: string } | null;

2278 surface?: { display_name: string } | null;

2279 } | null;

2280 severity: string;

2281 is_active: boolean;

2282 }[]

2283 | null;

2284 extra_usage?: {

2285 is_enabled: boolean;

2286 monthly_limit: number | null;

2287 used_credits: number | null;

2288 utilization: number | null;

2289 currency?: string | null;

2290 } | null;

2291 } | null;

2292};

2293```

2294 

2295Os campos de nível superior são `session` e `rate_limits`:

2296 

2297* `session`: os totais acumulados de custo e uso do Claude Code, lidos do mesmo registro que `total_cost_usd` e `modelUsage` em [`SDKResultMessage`](#sdkresultmessage). Cada entrada de `model_usage` é um [`ModelUsage`](#modelusage).

2298* `rate_limits`: as linhas de uso do plano em `limits` e o gasto de créditos de uso em `extra_usage`. É `null` quando o Claude Code não conseguiu obter o uso do plano, por exemplo quando o token OAuth da sessão não tem o escopo `user:profile`.

2299 

2300O Claude Code calcula `session.total_cost_usd` localmente a partir das contagens de tokens, então é uma estimativa e não o que seu plano cobra. O gasto de créditos de uso que o servidor reporta é o bloco separado `extra_usage`. Consulte [Rastrear custo e uso](/docs/pt/agent-sdk/cost-tracking) para as ressalvas sobre a precisão.

2301 

2302`limits` contém as linhas de uso do servidor exatamente como o servidor as enviou: quais medidores se aplicam, seu escopo, rótulos, severidade e ordem são definidos pelo servidor, então renderize as linhas literalmente.

2303 

2304* Um array vazio significa que o servidor não reportou nenhum medidor.

2305* `null` significa que o Claude Code não tem linhas para reportar.

2306 

2307Cada linha de `limits` descreve um medidor de uso:

2308 

2309| Campo | Tipo | Descrição |

2310| - | - | - |

2311| `kind` | `string` | O tipo de medidor do servidor, como `session`, `weekly_all` ou `weekly_scoped`. Classifique uma linha por este campo, nunca por um rótulo |

2312| `group` | `string` | O grupo de linhas do servidor, como `session` ou `weekly`. As linhas são renderizadas agrupadas sob ele, na ordem do servidor |

2313| `percent` | `number` | Fração da janela utilizada, de 0 a 100 |

2314| `resets_at` | `string \| null` | Timestamp ISO 8601 de quando a janela é redefinida |

2315| `scope` | `object \| null` | Opcional. A que se refere uma linha com escopo, um modelo ou uma superfície, com o rótulo de exibição do servidor |

2316| `severity` | `string` | A leitura do servidor sobre a linha para a cor de um medidor, como `normal`, `warning` ou `critical` |

2317| `is_active` | `boolean` | `true` na linha que o servidor escolhe para ser exibida por um indicador de valor único |

2318 

2319Antes do Agent SDK v0.3.277, o tipo declarava `severity` e `is_active` como opcionais e anuláveis, e uma linha podia chegar sem eles.

2320 

2321`extra_usage` é o gasto e o teto de [créditos de uso](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) do período de faturamento conforme o servidor os reporta, presente quando o plano tem créditos de uso. Os valores estão em unidades menores de `currency`, centavos para USD.

2322 

2323* `monthly_limit` é `null` quando esta conta não tem um teto de gastos próprio. Nos planos Team e Enterprise, não renderize `null` como ilimitado.

2324* `is_enabled` é `false` enquanto os créditos de uso não puderem pagar por requisições.

2325 

2232<h3 id="sdkmessageorigin">2326<h3 id="sdkmessageorigin">

2233 `SDKMessageOrigin`2327 `SDKMessageOrigin`

2234</h3>2328</h3>


3418type WebFetchInput = {3512type WebFetchInput = {

3419 url: string;3513 url: string;

3420 prompt: string;3514 prompt: string;

3515 offset?: number;

3421};3516};

3422```3517```

3423 3518 

3424Busca conteúdo de uma URL e o processa com um modelo de IA.3519Busca conteúdo de uma URL e o processa com um modelo de IA.

3425 3520 

3521`offset` é o número de caracteres a pular a partir do início da página. Claude o define para continuar lendo uma página longa. O campo requer Agent SDK v0.3.290 ou posterior.

3522 

3426<h3 id="websearch">3523<h3 id="websearch">

3427 WebSearch3524 WebSearch

3428</h3>3525</h3>


5605 task_id: string;5702 task_id: string;

5606 tool_use_id?: string;5703 tool_use_id?: string;

5607 status: "completed" | "failed" | "stopped";5704 status: "completed" | "failed" | "stopped";

5705 reason?: "worker_restart";

5608 output_file: string;5706 output_file: string;

5609 summary: string;5707 summary: string;

5610 ambient?: boolean;5708 ambient?: boolean;


5619};5717};

5620```5718```

5621 5719 

5720`reason` é definido quando uma tarefa termina por uma causa diferente de sua própria conclusão, falha ou parada, e requer Agent SDK v0.3.273 ou posterior. Claude Code o define apenas em sessões que se conectam por meio de claude.ai: sessões na nuvem, incluindo aquelas em runners auto-hospedados, e sessões de Remote Control. Uma chamada `query()` local nunca o define. Seu único valor, `worker_restart`, significa que o processo do Claude Code que estava executando a tarefa foi reiniciado. A notificação carrega o status `"stopped"`, então trate a tarefa como nem concluída nem com falha.

5721 

5622Quando Claude Code [move uma chamada de ferramenta MCP longa para segundo plano](/docs/pt/mcp#automatic-backgrounding-of-long-tool-calls), o bloco `tool_result` para essa chamada contém apenas um placeholder e o resultado real da chamada chega nesta notificação. Corresponda a notificação à chamada com `tool_use_id`. Em uma notificação `completed`, `resource_links` lista os arquivos que a ferramenta retornou por referência como entradas [`SDKMcpResourceLink`](#sdkmcpresourcelink), com os mesmos limites de 50 links e 64 KiB que [`tool_use_result.resourceLinks`](#sdkusermessage). Claude Code omite `resource_links` quando o resultado não tinha links e em notificações para tarefas que não são chamadas de ferramenta MCP. `resource_links` requer Agent SDK v0.3.257 ou posterior.5722Quando Claude Code [move uma chamada de ferramenta MCP longa para segundo plano](/docs/pt/mcp#automatic-backgrounding-of-long-tool-calls), o bloco `tool_result` para essa chamada contém apenas um placeholder e o resultado real da chamada chega nesta notificação. Corresponda a notificação à chamada com `tool_use_id`. Em uma notificação `completed`, `resource_links` lista os arquivos que a ferramenta retornou por referência como entradas [`SDKMcpResourceLink`](#sdkmcpresourcelink), com os mesmos limites de 50 links e 64 KiB que [`tool_use_result.resourceLinks`](#sdkusermessage). Claude Code omite `resource_links` quando o resultado não tinha links e em notificações para tarefas que não são chamadas de ferramenta MCP. `resource_links` requer Agent SDK v0.3.257 ou posterior.

5623 5723 

5624Claude Code prepara um aviso a cada notificação de tarefa que envia ao modelo, exceto entregas marcadas com a [subkind `scheduled-trigger`](#task-notification-subkinds), que carregam um enquadramento de tarefa atribuída. O aviso afirma que nenhuma entrada humana ocorreu, então o modelo não trata a notificação como uma instrução ou aprovação do usuário.5724Claude Code prepara um aviso a cada notificação de tarefa que envia ao modelo, exceto entregas marcadas com a [subkind `scheduled-trigger`](#task-notification-subkinds), que carregam um enquadramento de tarefa atribuída. O aviso afirma que nenhuma entrada humana ocorreu, então o modelo não trata a notificação como uma instrução ou aprovação do usuário.


5777 task_type?: string;5877 task_type?: string;

5778 is_backgrounded?: boolean;5878 is_backgrounded?: boolean;

5779 spawn_depth?: number;5879 spawn_depth?: number;

5880 parent_task_id?: string;

5780 ambient?: boolean;5881 ambient?: boolean;

5781 uuid: UUID;5882 uuid: UUID;

5782 session_id: string;5883 session_id: string;


5794 5895 

5795Um [subagente retomado](/docs/pt/agent-sdk/subagents#resume-subagents) sempre relata `is_backgrounded: true`, porque Claude Code executa cada subagente retomado em segundo plano. Quando uma tarefa em primeiro plano se move para segundo plano depois, Claude Code relata o novo valor `is_backgrounded` em uma mensagem [`task_updated`](#sdktaskupdatedmessage) em vez de enviar um segundo `task_started`.5896Um [subagente retomado](/docs/pt/agent-sdk/subagents#resume-subagents) sempre relata `is_backgrounded: true`, porque Claude Code executa cada subagente retomado em segundo plano. Quando uma tarefa em primeiro plano se move para segundo plano depois, Claude Code relata o novo valor `is_backgrounded` em uma mensagem [`task_updated`](#sdktaskupdatedmessage) em vez de enviar um segundo `task_started`.

5796 5897 

5898`parent_task_id` contém o `task_id` do subagente que iniciou esta tarefa. Use-o para agrupar cada tarefa sob o subagente que a iniciou. Claude Code o define em tarefas de subagente, Bash e [Monitor](#monitor). O campo requer Agent SDK v0.3.292 ou posterior. Ele está ausente quando:

5899 

5900* A thread principal iniciou a tarefa

5901* Claude Code não rastreia mais a tarefa pai

5902* Um [colega de equipe](/docs/pt/agent-teams) ou um agente dentro de um fluxo de trabalho iniciou a tarefa

5903 

5904O pai pode ser uma tarefa em primeiro plano ou uma que já terminou, então trate um ID que você não reconheça como ausência de pai.

5905 

5797<h3 id="sdktaskprogressmessage">5906<h3 id="sdktaskprogressmessage">

5798 `SDKTaskProgressMessage`5907 `SDKTaskProgressMessage`

5799</h3>5908</h3>


5850 `SDKBackgroundTasksChangedMessage`5959 `SDKBackgroundTasksChangedMessage`

5851</h3>5960</h3>

5852 5961 

5853Emitido sempre que o conjunto de tarefas em segundo plano ativas muda: uma tarefa inicia, é concluída, é eliminada, um agente em primeiro plano é colocado em segundo plano, ou o campo `description` ou `ambient` de uma tarefa muda.5962Emitido sempre que o conjunto de tarefas em segundo plano ativas muda: uma tarefa inicia, é concluída ou é eliminada; um agente em primeiro plano é colocado em segundo plano; ou o campo `description`, `ambient` ou `parent_task_id` de uma tarefa muda. Para o campo `parent_task_id` em cada entrada, veja [`SDKTaskStartedMessage`](#sdktaskstartedmessage), que o define e seu requisito de versão.

5854 5963 

5855O array `tasks` é o conjunto completo ativo. Substitua qualquer conjunto em cache por cada payload em vez de emparelhar eventos `task_started` e `task_notification`, para que a próxima mudança de associação corrija qualquer evento que você tenha perdido.5964O array `tasks` é o conjunto completo ativo. Substitua qualquer conjunto em cache por cada payload em vez de emparelhar eventos `task_started` e `task_notification`, para que a próxima mudança de associação corrija qualquer evento que você tenha perdido.

5856 5965 

5857A ordenação relativa a esses eventos por tarefa é não especificada, então não correlacione os dois fluxos.5966Quando uma tarefa termina, seus [`task_updated`](#sdktaskupdatedmessage) e [`task_notification`](#sdktasknotificationmessage) chegam antes do `background_tasks_changed` que a remove da lista. Fora isso, a ordenação relativa aos eventos por tarefa é não especificada.

5858 5967 

5859Nada é emitido na inicialização. Redefina para um conjunto vazio sempre que o processo CLI da sessão inicia ou reinicia e deixe a próxima mudança de associação repopulá-lo.5968Nada é emitido na inicialização. Redefina para um conjunto vazio sempre que o processo CLI da sessão inicia ou reinicia e deixe a próxima mudança de associação repopulá-lo.

5860 5969 


5871 task_type: string;5980 task_type: string;

5872 subagent_type?: string;5981 subagent_type?: string;

5873 description: string;5982 description: string;

5983 parent_task_id?: string;

5874 ambient?: boolean;5984 ambient?: boolean;

5875 }[];5985 }[];

5876 uuid: UUID;5986 uuid: UUID;

Details

36 ```36 ```

37 37 

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

39 async function handleToolRequest(toolName, input, options) {39 import type { CanUseTool } from "@anthropic-ai/claude-agent-sdk";

40 

41 const handleToolRequest: CanUseTool = async (toolName, input, options) => {

40 // options inclui { signal: AbortSignal, suggestions?: PermissionUpdate[] }42 // options inclui { signal: AbortSignal, suggestions?: PermissionUpdate[] }

41 // Solicite ao usuário e retorne permitir ou negar43 // Solicite ao usuário aqui e, em seguida, retorne permitir ou negar

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

45 };

43 46 

44 const options = { canUseTool: handleToolRequest };47 const options = { canUseTool: handleToolRequest };

45 ```48 ```


440 // Inclua AskUserQuestion em sua lista de ferramentas443 // Inclua AskUserQuestion em sua lista de ferramentas

441 tools: ["Read", "Glob", "Grep", "AskUserQuestion"],444 tools: ["Read", "Glob", "Grep", "AskUserQuestion"],

442 canUseTool: async (toolName, input) => {445 canUseTool: async (toolName, input) => {

443 // Lidar com perguntas de esclarecimento aqui446 // Marcador provisório que aprova todas as chamadas. O passo Detecte AskUserQuestion o substitui.

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

444 }448 }

445 }449 }

446 })) {450 })) {


763 767 

764 ```typescript TypeScript theme={null}768 ```typescript TypeScript theme={null}

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

770 import type { PermissionResult } from "@anthropic-ai/claude-agent-sdk";

766 import * as readline from "readline/promises";771 import * as readline from "readline/promises";

767 772 

768 // Auxiliar para solicitar entrada do usuário no terminal773 // Auxiliar para solicitar entrada do usuário no terminal


783 }788 }

784 789 

785 // Exiba as perguntas do Claude e colete respostas do usuário790 // Exiba as perguntas do Claude e colete respostas do usuário

786 async function handleAskUserQuestion(input: any) {791 async function handleAskUserQuestion(input: any): Promise<PermissionResult> {

787 const answers: Record<string, string> = {};792 const answers: Record<string, string> = {};

788 793 

789 for (const q of input.questions) {794 for (const q of input.questions) {

agent-view.md +21 −12

Details

391 391 

392Você pode despachar novas sessões em segundo plano a partir da visualização de agentes, enviar ou copiar uma sessão interativa existente para o segundo plano, ou iniciar uma diretamente do shell.392Você pode despachar novas sessões em segundo plano a partir da visualização de agentes, enviar ou copiar uma sessão interativa existente para o segundo plano, ou iniciar uma diretamente do shell.

393 393 

394<h3 id="from-agent-view">394<span id="from-agent-view" />

395 A partir da visualização de agentes395 

396<h3 id="dispatch-an-agent-from-agent-view">

397 Despachar um agente a partir da visualização de agentes

396</h3>398</h3>

397 399 

398Digite um prompt na entrada na parte inferior da visualização de agentes e pressione `Enter` para iniciar uma nova sessão em segundo plano. A sessão é nomeada automaticamente a partir do prompt; renomeie-a mais tarde com `Ctrl+R`.400Digite um prompt na entrada na parte inferior da visualização de agentes e pressione `Enter` para iniciar uma nova sessão em segundo plano. A sessão é nomeada automaticamente a partir do prompt; renomeie-a mais tarde com `Ctrl+R`.


446 448 

447Quando a visualização de agentes é agrupada por diretório, despachar envia o prompt para o diretório da linha selecionada, para que você possa selecionar um grupo e despachar para ele sem redigitar o caminho.449Quando a visualização de agentes é agrupada por diretório, despachar envia o prompt para o diretório da linha selecionada, para que você possa selecionar um grupo e despachar para ele sem redigitar o caminho.

448 450 

449<h3 id="from-inside-a-session">451<span id="from-inside-a-session" />

450 De dentro de uma sessão452 

453<h3 id="send-or-copy-a-session-to-the-background">

454 Enviar ou copiar uma sessão para o segundo plano

451</h3>455</h3>

452 456 

453Dois comandos movem o trabalho da sessão em que você está para o segundo plano: `/background` envia a conversa atual para lá e libera seu terminal, e `/fork` envia uma cópia enquanto você continua trabalhando onde está.457Dois comandos movem o trabalho da sessão em que você está para o segundo plano: `/background` envia a conversa atual para lá e libera seu terminal, e `/fork` envia uma cópia enquanto você continua trabalhando onde está.


511 515 

512Os diretórios que você adicionou durante a sessão com [`/add-dir`](/docs/pt/permissions#additional-directories-grant-file-access-not-configuration) também são transferidos. Transferir `--allow-dangerously-skip-permissions` mantém `bypassPermissions` acessível na sessão em segundo plano, mas não concede nada novo: o modo ainda requer a aceitação interativa única descrita em [Modo de permissão, modelo e esforço](#permission-mode-model-and-effort).516Os diretórios que você adicionou durante a sessão com [`/add-dir`](/docs/pt/permissions#additional-directories-grant-file-access-not-configuration) também são transferidos. Transferir `--allow-dangerously-skip-permissions` mantém `bypassPermissions` acessível na sessão em segundo plano, mas não concede nada novo: o modo ainda requer a aceitação interativa única descrita em [Modo de permissão, modelo e esforço](#permission-mode-model-and-effort).

513 517 

514<h3 id="from-your-shell">518<span id="from-your-shell" />

515 Do seu shell519 

520<h3 id="dispatch-an-agent-from-your-shell">

521 Despachar um agente a partir do seu shell

516</h3>522</h3>

517 523 

518Passe `--bg` ou sua forma longa `--background` para iniciar uma sessão que vai direto para o segundo plano:524Passe `--bg` ou sua forma longa `--background` para iniciar uma sessão que vai direto para o segundo plano:


603 609 

604Fora de um repositório git, as sessões escrevem no diretório de trabalho diretamente e não são isoladas uma da outra, portanto evite despachar sessões paralelas que editam os mesmos arquivos. Se você usar um sistema de controle de versão diferente, configure um [`WorktreeCreate` hook](/docs/pt/worktrees#non-git-version-control) e Claude isola edits da mesma forma que faz para git.610Fora de um repositório git, as sessões escrevem no diretório de trabalho diretamente e não são isoladas uma da outra, portanto evite despachar sessões paralelas que editam os mesmos arquivos. Se você usar um sistema de controle de versão diferente, configure um [`WorktreeCreate` hook](/docs/pt/worktrees#non-git-version-control) e Claude isola edits da mesma forma que faz para git.

605 611 

606Quando o hook falha em um diretório que não é um repositório git, Claude pula o isolamento para esse diretório e edita o diretório de trabalho no local. Dentro de um repositório git, uma sessão que Claude move para um worktree antes de editar não pode editar arquivos no checkout compartilhado até que essa mudança aconteça.612Quando o hook falha em um diretório que não é um repositório git, Claude pula o isolamento para esse diretório e edita o diretório de trabalho no local. Dentro de um repositório git, uma sessão que Claude move para um worktree antes de editar não pode usar as ferramentas `Edit`, `Write` ou `NotebookEdit` no checkout compartilhado até que essa mudança aconteça.

607 613 

608Para encontrar o caminho do worktree de uma sessão, anexe e verifique seu diretório de trabalho.614Para encontrar o caminho do worktree de uma sessão, anexe e verifique seu diretório de trabalho.

609 615 


825| `claude daemon logs` | Acompanhar o arquivo de log do supervisor, [`~/.claude/daemon.log`](#where-state-is-stored), imprimindo novas linhas à medida que chegam até você pressionar `Ctrl+C` |831| `claude daemon logs` | Acompanhar o arquivo de log do supervisor, [`~/.claude/daemon.log`](#where-state-is-stored), imprimindo novas linhas à medida que chegam até você pressionar `Ctrl+C` |

826| `claude daemon stop --any` | Parar o processo supervisor e as sessões em background que ele hospeda. Passe `--keep-workers` para deixar as sessões em background em execução para que o próximo supervisor se reconecte a elas. O próximo `claude agents` ou `claude --bg` inicia um novo supervisor |832| `claude daemon stop --any` | Parar o processo supervisor e as sessões em background que ele hospeda. Passe `--keep-workers` para deixar as sessões em background em execução para que o próximo supervisor se reconecte a elas. O próximo `claude agents` ou `claude --bg` inicia um novo supervisor |

827 833 

828`claude attach` e `claude logs` podem receber parte do nome de uma sessão em execução no lugar do ID, como em `claude logs "auth refactor"`. Passar um nome requer Claude Code v2.1.290 ou posterior.834`claude attach` e `claude logs` podem receber parte do nome de uma sessão no lugar do ID, como em `claude logs "auth refactor"`. Passar um nome requer Claude Code v2.1.290 ou posterior.

829 835 

830<h3 id="list-sessions-as-json">836<h3 id="list-sessions-as-json">

831 Listar sessões como JSON837 Listar sessões como JSON


979 Opening a session says it has no saved transcript985 Opening a session says it has no saved transcript

980</h3>986</h3>

981 987 

982Uma sessão parada que foi [backgrounded from another conversation](#from-inside-a-session) e parou antes de sua primeira resposta terminar não tem nada para retomar: até que essa primeira resposta termine, a conversa ainda vive apenas na sessão de que foi backgrounded. `claude attach` recusa abrir com `This session has no saved transcript`.988Quando você abre uma sessão que você [colocou em background a partir de outra conversa](#from-inside-a-session) e que parou antes de executar um turno próprio, Claude Code retoma essa conversa. Se Claude Code não conseguir encontrar a conversa, ele recusa abrir a sessão:

989 

990* `claude attach` imprime `This session has no saved transcript`.

991* Agent view mostra `Press enter again to restart this session fresh` abaixo da lista.

983 992 

984Em agent view, abrir essa linha mostra `Press enter again to restart this session fresh` abaixo da lista. Pressione `Enter` na mesma linha novamente para reiniciar a sessão com uma conversa vazia, ou execute `claude respawn <id>` do shell.993Pressione `Enter` na mesma linha novamente para reiniciar a sessão com uma conversa vazia, ou execute `claude respawn <id>` do shell.

985 994 

986A conversa original está intacta; retome-a com `claude --resume` ou continue trabalhando nela. Veja a [referência de erro](/docs/pt/errors#this-session-has-no-saved-transcript) para detalhes.995Veja a [referência de erro](/docs/pt/errors#this-session-has-no-saved-transcript) para detalhes.

987 996 

988<h3 id="the-terminal-host-died-or-the-session-stopped-responding">997<h3 id="the-terminal-host-died-or-the-session-stopped-responding">

989 The terminal host died or the session stopped responding998 The terminal host died or the session stopped responding


1095 1104 

1096| Versão | Mudança |1105| Versão | Mudança |

1097| - | - |1106| - | - |

1098| v2.1.290 | [`claude attach` e `claude logs`](#manage-sessions-from-the-shell) podem receber parte do nome de uma sessão em execução no lugar do ID. |1107| v2.1.290 | [`claude attach` e `claude logs`](#manage-sessions-from-the-shell) podem receber parte do nome de uma sessão no lugar do ID. |

1099| v2.1.290 | `/model`, `/effort`, `/rename` e `/usage` enviados como uma [resposta pela espiada](#peek-and-reply) para uma sessão em funcionamento são executados imediatamente. |1108| v2.1.290 | `/model`, `/effort`, `/rename` e `/usage` enviados como uma [resposta pela espiada](#peek-and-reply) para uma sessão em funcionamento são executados imediatamente. |

1100| v2.1.290 | Uma [resposta pela espiada](#peek-and-reply) que não pode ser entregue não é mais salva para o próximo reinício quando começa com `/`, ou quando responde a uma pergunta com opções predefinidas enquanto o processo da sessão está em execução. |1109| v2.1.290 | Uma [resposta pela espiada](#peek-and-reply) que não pode ser entregue não é mais salva para o próximo reinício quando começa com `/`, ou quando responde a uma pergunta com opções predefinidas enquanto o processo da sessão está em execução. |

1101| v2.1.288 | `Ctrl+F` encontra sessões pelo nome, e `Alt+↑` / `Alt+↓` saltam entre os cabeçalhos de grupo. Ambos, e `Ctrl+R`, podem ser [reatribuídos](/docs/pt/keybindings#agents-actions). |1110| v2.1.288 | `Ctrl+F` encontra sessões pelo nome, e `Alt+↑` / `Alt+↓` saltam entre os cabeçalhos de grupo. Ambos, e `Ctrl+R`, podem ser [reatribuídos](/docs/pt/keybindings#agents-actions). |

chrome.md +39 −2

Details

202and attach logs/session.log to it202and attach logs/session.log to it

203```203```

204 204 

205Três restrições se aplicam aos uploads:205Se Claude se recusar a anexar um arquivo ou um upload falhar, verifique estas causas:

206 206 

207* **Permissões**: Claude pode fazer upload de um arquivo apenas quando a sessão tem permissão para lê-lo, portanto [regras de permissão](/docs/pt/settings-reference#permission-settings) que negam acesso `Read` a um arquivo também bloqueiam seu upload.207* **Permissões**: Claude pode fazer upload de um arquivo apenas quando a sessão tem permissão para lê-lo, portanto [regras de permissão](/docs/pt/settings-reference#permission-settings) que negam acesso `Read` a um arquivo também bloqueiam seu upload.

208* **Tamanho**: um único upload pode incluir até 10 MB de arquivos no total.208* **Tamanho**: um único upload pode incluir até 10 MB de arquivos no total.

209* **Hard links**: Claude recusa arquivos que possuem múltiplos hard links, o que é comum dentro de lojas de gerenciadores de pacotes como `node_modules`. Copie o arquivo e faça upload da cópia.209* **Hard links**: Claude recusa arquivos que possuem múltiplos hard links, o que é comum dentro de lojas de gerenciadores de pacotes como `node_modules`. Copie o arquivo e faça upload da cópia.

210* **Nomes de credenciais**: Claude recusa um arquivo cujo nome ou pasta seja um daqueles em que credenciais são mantidas, como `.env`, um arquivo `.pem` ou `.key`, ou qualquer coisa dentro de `.ssh`. Requer Claude Code v2.1.293 ou posterior.

210 211 

211<h3 id="draft-content-in-google-docs">212<h3 id="draft-content-in-google-docs">

212 Rascunhar conteúdo no Google Docs213 Rascunhar conteúdo no Google Docs


309 310 

310Outros navegadores baseados em Chromium leem o mesmo arquivo de seu próprio diretório de configuração, nomeado de acordo com o navegador. Por exemplo, Brave no macOS usa `~/Library/Application Support/BraveSoftware/Brave-Browser/NativeMessagingHosts/`, e no Windows cada navegador tem sua própria chave de registro, como `HKCU\Software\BraveSoftware\Brave-Browser\NativeMessagingHosts\`.311Outros navegadores baseados em Chromium leem o mesmo arquivo de seu próprio diretório de configuração, nomeado de acordo com o navegador. Por exemplo, Brave no macOS usa `~/Library/Application Support/BraveSoftware/Brave-Browser/NativeMessagingHosts/`, e no Windows cada navegador tem sua própria chave de registro, como `HKCU\Software\BraveSoftware\Brave-Browser\NativeMessagingHosts\`.

311 312 

313<h3 id="project-settings-can’t-turn-on-chrome">

314 As configurações do projeto não podem ativar o Chrome

315</h3>

316 

317Este aviso no seu terminal significa que o projeto em que você está trabalhando tentou ativar a integração com Chrome, e Claude Code não permitiu:

318 

319```text wrap theme={null}

320Claude Code ignored CLAUDE_CODE_ENABLE_CFC in this project's settings: a project can't turn on Claude in Chrome. To turn it on yourself, run /chrome or start with --chrome.

321```

322 

323O `.claude/settings.json` ou `.claude/settings.local.json` do projeto define [`CLAUDE_CODE_ENABLE_CFC`](/docs/pt/env-vars#variables) como `1` em seu bloco `env` para ativar a integração com Chrome. Claude Code não aplicou essa configuração, portanto a integração com Chrome está desativada nesta sessão e Claude não tem ferramentas do navegador.

324 

325Claude Code ignora a configuração porque esses arquivos ficam armazenados no diretório do projeto, e um repositório que você clona não deve ser capaz de conectar Claude ao seu navegador.

326 

327Você pode continuar trabalhando como está. Se quiser ferramentas do navegador, ou quiser que o aviso desapareça, faça uma das seguintes ações:

328 

329* **Para obter ferramentas do navegador agora**: saia e inicie novamente com `claude --chrome` no seu shell.

330* **Para obter ferramentas do navegador em sessões posteriores**: execute `/chrome` no prompt do Claude Code e selecione [**Enabled by default**](#enable-chrome-by-default). Isso se aplica às sessões que você iniciar depois, não à que está em execução.

331* **Para interromper o aviso sem ferramentas do navegador**: remova a linha `CLAUDE_CODE_ENABLE_CFC` do arquivo de configurações do projeto.

332 

312<h3 id="browser-not-responding">333<h3 id="browser-not-responding">

313 Navegador não respondendo334 Navegador não respondendo

314</h3>335</h3>


325 346 

326O service worker da extensão Chrome pode ficar inativo durante sessões estendidas, o que quebra a conexão. Se as ferramentas do navegador pararem de funcionar após um período de inatividade, execute `/chrome` e selecione "Reconnect extension".347O service worker da extensão Chrome pode ficar inativo durante sessões estendidas, o que quebra a conexão. Se as ferramentas do navegador pararem de funcionar após um período de inatividade, execute `/chrome` e selecione "Reconnect extension".

327 348 

349Ao executar `/chrome`, verifique a linha `Status`. Se ela indicar "Not connected", a própria conexão da sessão em execução com o Chrome falhou. Selecione "Reconnect extension" para reiniciar essa conexão. Depois que a conexão for bem-sucedida, a página de reconexão da extensão é aberta no Chrome. Antes da v2.1.290, "Reconnect extension" apenas abria essa página e não reiniciava uma conexão com falha, portanto, se as ferramentas do navegador não voltarem em uma versão anterior, atualize Claude Code.

350 

351<h3 id="extension-signed-in-to-a-different-organization">

352 Extensão conectada a uma organização diferente

353</h3>

354 

355Se você pertence a mais de uma organização do claude.ai, a extensão deve estar conectada à mesma organização que Claude Code. Se as duas forem diferentes, as ferramentas do navegador de Claude retornam "Browser extension is not connected", mesmo quando ambas usam a mesma conta claude.ai.

356 

357Para ver a qual organização Claude Code está conectado, execute [`/status`](/docs/pt/commands) no prompt do Claude Code e leia a linha `Organization`.

358 

359<Warning>

360 Se você fizer logout da extensão, perderá os atalhos e as tarefas agendadas salvos nela. Tente primeiro as outras correções em [Mensagens de erro comuns](#common-error-messages).

361</Warning>

362 

363Para alterar a organização da extensão, faça logout nas configurações da extensão, depois faça login e selecione a organização que `/status` mostra.

364 

328<h3 id="windows-specific-issues">365<h3 id="windows-specific-issues">

329 Problemas específicos do Windows366 Problemas específicos do Windows

330</h3>367</h3>


343 380 

344| Erro | Causa | Solução |381| Erro | Causa | Solução |

345| - | - | - |382| - | - | - |

346| "Browser extension is not connected" | O host de mensagens nativas não consegue alcançar a extensão, ou a allowlist de IP da sua organização rejeita a conexão com `bridge.claudeusercontent.com` | Verifique se a extensão está conectada à mesma conta claude.ai que Claude Code, reinicie Chrome e Claude Code, depois execute `/chrome` para reconectar. Se sua organização usa allowlist de IP e o erro persistir, consulte [Organization IP allowlists and proxy egress](/docs/pt/network-config#organization-ip-allowlists-and-proxy-egress) |383| "Browser extension is not connected" | A extensão não está instalada e em execução no Chrome, a extensão está conectada a uma conta ou organização do claude.ai diferente da de Claude Code, ou a allowlist de IP da sua organização rejeita a conexão com `bridge.claudeusercontent.com` | Verifique se a extensão está conectada à mesma conta claude.ai e à mesma [organização](#extension-signed-in-to-a-different-organization) que Claude Code, reinicie Chrome e Claude Code, depois execute `/chrome` para reconectar. Se sua organização usa allowlist de IP e o erro persistir, consulte [Organization IP allowlists and proxy egress](/docs/pt/network-config#organization-ip-allowlists-and-proxy-egress) |

347| Extension shows "Not detected" in `/chrome` | A extensão Chrome não está instalada ou está desativada | Instale ou ative a extensão em `chrome://extensions` |384| Extension shows "Not detected" in `/chrome` | A extensão Chrome não está instalada ou está desativada | Instale ou ative a extensão em `chrome://extensions` |

348| "No tab available" | Claude tentou agir antes de uma aba estar pronta | Peça a Claude para criar uma nova aba e tentar novamente |385| "No tab available" | Claude tentou agir antes de uma aba estar pronta | Peça a Claude para criar uma nova aba e tentar novamente |

349| "Receiving end does not exist" | O service worker da extensão ficou inativo | Execute `/chrome` e selecione "Reconnect extension" |386| "Receiving end does not exist" | O service worker da extensão ficou inativo | Execute `/chrome` e selecione "Reconnect extension" |

Details

1237 1237 

1238O CLI envia métricas, logs e, quando habilitado, rastreamentos para o gateway, que os retransmite verbatim para cada destino configurado. As exportações usam OpenTelemetry Protocol (OTLP) sobre HTTP. Para pular o relé e ter sessões exportar diretamente para seu coletor, [nomeie o coletor em uma política](#export-directly-to-your-collector). Veja [Monitoring usage](/docs/pt/monitoring-usage) para as métricas e eventos que o CLI emite.1238O CLI envia métricas, logs e, quando habilitado, rastreamentos para o gateway, que os retransmite verbatim para cada destino configurado. As exportações usam OpenTelemetry Protocol (OTLP) sobre HTTP. Para pular o relé e ter sessões exportar diretamente para seu coletor, [nomeie o coletor em uma política](#export-directly-to-your-collector). Veja [Monitoring usage](/docs/pt/monitoring-usage) para as métricas e eventos que o CLI emite.

1239 1239 

1240Em sessões conectadas através de `/login`, o CLI carimba cada exportação com a identidade do usuário autenticado, lida do JWT emitido pelo gateway: os atributos `user.id`, `user.email` e `user.groups`. A atribuição de custo e uso por desenvolvedor portanto funciona sem nenhuma configuração no lado do desenvolvedor.1240Em sessões conectadas por meio de `/login`, a CLI marca cada exportação com a identidade do usuário autenticado, lida do JWT emitido pelo gateway: os atributos `user.id`, `user.email` e `user.groups`. A atribuição de custo e uso por desenvolvedor, portanto, funciona sem nenhuma configuração do lado do desenvolvedor. Eventos que o Claude Code registra em log antes de o desenvolvedor fazer login [não carregam essa identidade](/docs/pt/monitoring-usage#standard-attributes). Para ver qual atributo acompanha uma alteração nos grupos de um desenvolvedor, consulte [Alterações de grupo durante uma sessão aberta](#group-changes-during-an-open-session).

1241 1241 

1242[Claude Desktop](#claude-desktop-overlay) e sessões Cowork conectadas através do gateway carimbam sua telemetria com `user.email` e `user.groups` ao lado de `enduser.id`, então você pode cobrir uso de terminal, Desktop e Cowork com uma consulta em `user.email` ou `user.groups`. `user.groups` é a lista de grupo do IdP separada por vírgula.1242[Claude Desktop](#claude-desktop-overlay) e sessões Cowork conectadas através do gateway carimbam sua telemetria com `user.email` e `user.groups` ao lado de `enduser.id`, então você pode cobrir uso de terminal, Desktop e Cowork com uma consulta em `user.email` ou `user.groups`. `user.groups` é a lista de grupo do IdP separada por vírgula.

1243 1243 


1347 1347 

1348Claude Code também copia cada rótulo em cada ponto de dados de métrica, então você pode filtrar métricas por ele em um backend que não indexa atributos de recurso. Para desligar essa cópia, veja [Metrics cardinality control](/docs/pt/monitoring-usage#metrics-cardinality-control).1348Claude Code também copia cada rótulo em cada ponto de dados de métrica, então você pode filtrar métricas por ele em um backend que não indexa atributos de recurso. Para desligar essa cópia, veja [Metrics cardinality control](/docs/pt/monitoring-usage#metrics-cardinality-control).

1349 1349 

1350<h4 id="group-changes-during-an-open-session">

1351 Group changes during an open session

1352</h4>

1353 

1354Sessões de terminal colocam `user.groups` no recurso OTLP e novamente em cada ponto de dados de métrica e evento. Se os grupos de um desenvolvedor mudarem enquanto uma sessão está aberta, os pontos de dados e eventos de uso após a próxima [atualização silenciosa](#session) carregam os novos grupos. O recurso mantém os grupos antigos até que o desenvolvedor reinicie o Claude Code, então agrupe pelo atributo no ponto de dados ou no evento.

1355 

1356Se você ativar `resource_to_telemetry_conversion` no exportador Prometheus remote write do OpenTelemetry Collector, o exportador substitui o `user.groups` de cada ponto de dados pelo do recurso, então todos os pontos de dados mostram os grupos antigos. Para manter o valor do ponto de dados, exclua `user.groups` do recurso antes desse exportador.

1357 

1358Este processador `resource` do OpenTelemetry Collector exclui o atributo nos pipelines que o listam:

1359 

1360```yaml theme={null}

1361processors:

1362 resource/drop-user-groups:

1363 attributes:

1364 - key: user.groups

1365 action: delete

1366```

1367 

1368Depois que você adiciona `resource/drop-user-groups` aos `processors` do pipeline de métricas, cada série carrega o rótulo `user_groups` de seu próprio ponto de dados.

1369 

1350<h4 id="export-directly-to-your-collector">1370<h4 id="export-directly-to-your-collector">

1351 Exportar diretamente para seu coletor1371 Exportar diretamente para seu coletor

1352</h4>1372</h4>

Details

516 Telemetria516 Telemetria

517</h2>517</h2>

518 518 

519O gateway fornece métricas de uso por desenvolvedor sem qualquer configuração OTEL por máquina. Claude Code emite métricas, logs e traces com opt-in do OpenTelemetry (OTLP); [Monitorar uso](/docs/pt/monitoring-usage) cobre tudo o que a CLI relata. Em sessões autenticadas através de `/login`, a CLI marca cada exportação com os atributos de identidade do IdP autenticado `user.id`, `user.email` e `user.groups`, para que o uso seja agregado por desenvolvedor.519O gateway fornece métricas de uso por desenvolvedor sem qualquer configuração OTEL por máquina. Claude Code emite métricas, logs e traces com opt-in do OpenTelemetry (OTLP); [Monitorar uso](/docs/pt/monitoring-usage) cobre tudo o que a CLI relata. Em sessões autenticadas através de `/login`, a CLI [marca cada exportação](/docs/pt/monitoring-usage#standard-attributes) com os atributos de identidade do IdP autenticado `user.id`, `user.email` e `user.groups`, para que o uso seja agregado por desenvolvedor.

520 520 

521O gateway em si é um relay OTLP autenticado. Configure [`telemetry.forward_to`](/docs/pt/claude-apps-gateway-config#telemetry) junto com `listen.public_url`, e ele envia as configurações do exportador OTEL para cada cliente conectado e encaminha seu tráfego OTLP verbatim para cada destino que você listar. Cada destino opta por métricas, logs e traces independentemente, e o padrão é apenas métricas; consulte a [referência `telemetry`](/docs/pt/claude-apps-gateway-config#telemetry) para os campos por sinal e seus trade-offs de sensibilidade. O gateway não armazena em buffer, agrega ou armazena telemetria, portanto, onde os dados chegam é inteiramente a configuração do exportador do coletor.521O gateway em si é um relay OTLP autenticado. Configure [`telemetry.forward_to`](/docs/pt/claude-apps-gateway-config#telemetry) junto com `listen.public_url`, e ele envia as configurações do exportador OTEL para cada cliente conectado e encaminha seu tráfego OTLP verbatim para cada destino que você listar. Cada destino opta por métricas, logs e traces independentemente, e o padrão é apenas métricas; consulte a [referência `telemetry`](/docs/pt/claude-apps-gateway-config#telemetry) para os campos por sinal e seus trade-offs de sensibilidade. O gateway não armazena em buffer, agrega ou armazena telemetria, portanto, onde os dados chegam é inteiramente a configuração do exportador do coletor.

522 522 

Details

91 A partir da CLI, a transferência de sessão é unidirecional: você pode puxar sessões na nuvem para seu terminal com `--teleport`, mas não pode enviar uma sessão de terminal existente para a nuvem. A flag `--cloud` com uma descrição de tarefa cria uma nova sessão na nuvem para seu repositório atual; com `-p` e um ID de sessão ou URL claude.ai/code, ela [enfileira uma mensagem nessa sessão existente](/docs/pt/claude-code-on-the-web#send-follow-ups-from-the-cli). O [aplicativo Desktop](/docs/pt/desktop#continue-in-another-surface) pode enviar uma sessão local da sua aba Code para a nuvem a partir do seu menu **Open in**.91 A partir da CLI, a transferência de sessão é unidirecional: você pode puxar sessões na nuvem para seu terminal com `--teleport`, mas não pode enviar uma sessão de terminal existente para a nuvem. A flag `--cloud` com uma descrição de tarefa cria uma nova sessão na nuvem para seu repositório atual; com `-p` e um ID de sessão ou URL claude.ai/code, ela [enfileira uma mensagem nessa sessão existente](/docs/pt/claude-code-on-the-web#send-follow-ups-from-the-cli). O [aplicativo Desktop](/docs/pt/desktop#continue-in-another-surface) pode enviar uma sessão local da sua aba Code para a nuvem a partir do seu menu **Open in**.

92</Note>92</Note>

93 93 

94<h3 id="from-terminal-to-cloud">94<span id="from-terminal-to-cloud" />

95 Do terminal para a nuvem95 

96<h3 id="start-a-cloud-session-from-your-terminal">

97 Iniciar uma sessão na nuvem a partir do seu terminal

96</h3>98</h3>

97 99 

98Inicie uma sessão na nuvem a partir da linha de comando com o sinalizador `--cloud`:100Inicie uma sessão na nuvem a partir da linha de comando com o sinalizador `--cloud`:


215 217 

216Se o envio falhar, consulte [Erros ao enviar para uma sessão na nuvem](#errors-when-sending-to-a-cloud-session).218Se o envio falhar, consulte [Erros ao enviar para uma sessão na nuvem](#errors-when-sending-to-a-cloud-session).

217 219 

218<h3 id="from-cloud-to-terminal">220<span id="from-cloud-to-terminal" />

219 Da nuvem para o terminal221 

222<h3 id="continue-a-cloud-session-in-your-terminal">

223 Continuar uma sessão na nuvem no seu terminal

220</h3>224</h3>

221 225 

222Puxe uma sessão na nuvem para seu terminal usando qualquer um destes:226Puxe uma sessão na nuvem para seu terminal usando qualquer um destes:


483Reabra a sessão de [claude.ai/code](https://claude.ai/code) para provisionar uma VM nova:487Reabra a sessão de [claude.ai/code](https://claude.ai/code) para provisionar uma VM nova:

484 488 

485* **Restaurado**: seu histórico de conversa489* **Restaurado**: seu histórico de conversa

486* **Não restaurado**: trabalho em segundo plano que ainda estava em execução quando a VM foi recuperada, como subagentes e comandos shell490* **Não restaurado**: trabalho em segundo plano que ainda estava em execução quando a VM foi recuperada, como subagentes e comandos shell, e o despertar pendente de um [`/loop` com ritmo próprio](/docs/pt/scheduled-tasks#let-claude-choose-the-interval). Para reiniciar o loop, execute `/loop` novamente.

487 491 

488<h2 id="limitations">492<h2 id="limitations">

489 Limitações493 Limitações

Details

489* **Routines**: quando você pede trabalho agendado em um projeto, Claude cria uma [routine](/docs/pt/routines) que é executada como threads nesse projeto e aparece em sua aba **Routines**. Routines que você cria fora de um projeto continuam funcionando por conta própria.489* **Routines**: quando você pede trabalho agendado em um projeto, Claude cria uma [routine](/docs/pt/routines) que é executada como threads nesse projeto e aparece em sua aba **Routines**. Routines que você cria fora de um projeto continuam funcionando por conta própria.

490* **Remote Control**: [Remote Control](/docs/pt/remote-control) conecta claude.ai a uma sessão Claude Code em execução na sua máquina. Quando você pede a Claude em um projeto para executar uma thread no seu computador, o projeto [usa Remote Control para fazer isso](#run-a-thread-on-your-own-computer).490* **Remote Control**: [Remote Control](/docs/pt/remote-control) conecta claude.ai a uma sessão Claude Code em execução na sua máquina. Quando você pede a Claude em um projeto para executar uma thread no seu computador, o projeto [usa Remote Control para fazer isso](#run-a-thread-on-your-own-computer).

491* **Sessões locais e agent view**: uma sessão que você inicia na sua máquina em seu terminal, IDE ou no ambiente local do aplicativo desktop não pode ser adicionada a um projeto. [Agent view](/docs/pt/agent-view) é uma tela para rastrear várias sessões locais lado a lado, e você ainda inicia cada uma e dá sua tarefa a ela mesmo.491* **Sessões locais e agent view**: uma sessão que você inicia na sua máquina em seu terminal, IDE ou no ambiente local do aplicativo desktop não pode ser adicionada a um projeto. [Agent view](/docs/pt/agent-view) é uma tela para rastrear várias sessões locais lado a lado, e você ainda inicia cada uma e dá sua tarefa a ela mesmo.

492* **Worktrees**: um [worktree](/docs/pt/worktrees) dá a cada sessão local sua própria cópia de trabalho de um repositório para que sessões paralelas na sua máquina não se sobrescrevam. As threads em nuvem não precisam deles: cada uma clona seus repositórios em seu próprio sandbox em nuvem e funciona em seu próprio branch.492* **Worktrees**: um [worktree](/docs/pt/worktrees) dá a cada sessão local sua própria cópia de trabalho de um repositório. As threads na nuvem não precisam deles: cada uma clona seus repositórios em seu próprio sandbox na nuvem e trabalha em seu próprio branch.

493* **Agent teams**: um [agent team](/docs/pt/agent-teams) é uma sessão que inicia sessões de colega de trabalho para uma única tarefa, na sua máquina ou dentro de uma sessão em nuvem, e termina com essa tarefa.493* **Agent teams**: um [agent team](/docs/pt/agent-teams) é uma sessão que inicia sessões de colega de trabalho para uma única tarefa, na sua máquina ou dentro de uma sessão em nuvem, e termina com essa tarefa.

494* **Subagents**: um [subagent](/docs/pt/sub-agents) é executado dentro de uma sessão, faz uma tarefa secundária em sua própria janela de contexto e retorna um resumo para essa sessão. As threads de um projeto são sessões completas que Claude inicia e que reportam de volta para a conversa do projeto, e uma thread ainda pode usar subagents para suas próprias tarefas secundárias.494* **Subagents**: um [subagent](/docs/pt/sub-agents) é executado dentro de uma sessão, faz uma tarefa secundária em sua própria janela de contexto e retorna um resumo para essa sessão. As threads de um projeto são sessões completas que Claude inicia e que reportam de volta para a conversa do projeto, e uma thread ainda pode usar subagents para suas próprias tarefas secundárias.

495* **Projects no chat claude.ai e Cowork**: a [experiência anterior de Projects](https://support.claude.com/en/articles/9517075-what-are-projects), que agrupa conversas e arquivos de referência sem threads ou um coordenador. Esses projetos continuam funcionando como fazem hoje até que a experiência redesenhada os alcance.495* **Projects no chat claude.ai e Cowork**: a [experiência anterior de Projects](https://support.claude.com/en/articles/9517075-what-are-projects), que agrupa conversas e arquivos de referência sem threads ou um coordenador. Esses projetos continuam funcionando como fazem hoje até que a experiência redesenhada os alcance.

Details

28| `claude auth logout` | Fazer logout de sua conta Anthropic | `claude auth logout` |28| `claude auth logout` | Fazer logout de sua conta Anthropic | `claude auth logout` |

29| `claude auth status` | Mostrar status de autenticação como JSON. Use `--text` para saída legível por humanos. Sai com código 0 se conectado, 1 se não. O JSON inclui um campo `configDirectory` nomeando o [diretório de configuração](/docs/pt/claude-directory) que a CLI usa. O campo requer Claude Code v2.1.268 ou posterior. O campo `authMethod` do JSON é um de `none`, `claude.ai`, `oauth_token`, `api_key`, `api_key_helper` ou `third_party` | `claude auth status` |29| `claude auth status` | Mostrar status de autenticação como JSON. Use `--text` para saída legível por humanos. Sai com código 0 se conectado, 1 se não. O JSON inclui um campo `configDirectory` nomeando o [diretório de configuração](/docs/pt/claude-directory) que a CLI usa. O campo requer Claude Code v2.1.268 ou posterior. O campo `authMethod` do JSON é um de `none`, `claude.ai`, `oauth_token`, `api_key`, `api_key_helper` ou `third_party` | `claude auth status` |

30| `claude agents` | Abrir [visualização de agente](/docs/pt/agent-view) para monitorar e despachar sessões de fundo paralelas. Use `--cwd <path>` para mostrar apenas sessões iniciadas nesse diretório, ou `--json` para imprimir sessões ativas como um array JSON para scripts (`--json --all` também inclui sessões de fundo concluídas). Passe `--permission-mode`, `--model`, `--effort` ou `--agent` para definir [padrões para sessões despachadas](/docs/pt/agent-view#permission-mode-model-and-effort). Aceita `--settings`, `--add-dir`, `--plugin-dir` e `--mcp-config` como o comando `claude` de nível superior. Abrir visualização de agente requer um terminal interativo | `claude agents --json` |30| `claude agents` | Abrir [visualização de agente](/docs/pt/agent-view) para monitorar e despachar sessões de fundo paralelas. Use `--cwd <path>` para mostrar apenas sessões iniciadas nesse diretório, ou `--json` para imprimir sessões ativas como um array JSON para scripts (`--json --all` também inclui sessões de fundo concluídas). Passe `--permission-mode`, `--model`, `--effort` ou `--agent` para definir [padrões para sessões despachadas](/docs/pt/agent-view#permission-mode-model-and-effort). Aceita `--settings`, `--add-dir`, `--plugin-dir` e `--mcp-config` como o comando `claude` de nível superior. Abrir visualização de agente requer um terminal interativo | `claude agents --json` |

31| `claude attach <id\|name>` | Anexar a uma [sessão de fundo](/docs/pt/agent-view#manage-sessions-from-the-shell) neste terminal. Passar parte do nome de uma sessão em execução no lugar do ID requer Claude Code v2.1.290 ou posterior | `claude attach 7c5dcf5d` |31| `claude attach <id\|name>` | Anexar a uma [sessão de fundo](/docs/pt/agent-view#manage-sessions-from-the-shell) neste terminal. Passar parte do nome de uma sessão no lugar do ID requer Claude Code v2.1.290 ou posterior | `claude attach 7c5dcf5d` |

32| `claude auto-mode defaults` | Imprimir as regras do classificador do [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) integradas como JSON. Use `claude auto-mode config` para ver sua configuração efetiva com as configurações aplicadas. `--label <prefix>` imprime apenas as regras cujo rótulo começa com esse prefixo, correspondência sem distinção de maiúsculas e minúsculas. Requer Claude Code v2.1.208 ou posterior | `claude auto-mode defaults --label 'Git Destructive'` |32| `claude auto-mode defaults` | Imprimir as regras do classificador do [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) integradas como JSON. Use `claude auto-mode config` para ver sua configuração efetiva com as configurações aplicadas. `--label <prefix>` imprime apenas as regras cujo rótulo começa com esse prefixo, correspondência sem distinção de maiúsculas e minúsculas. Requer Claude Code v2.1.208 ou posterior | `claude auto-mode defaults --label 'Git Destructive'` |

33| `claude auto-mode reset` | Restaurar a configuração padrão do [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) removendo a seção `autoMode` do seu arquivo de configurações do usuário. Solicita confirmação antes de escrever; passe `-y`/`--yes` para pular o prompt. As regras de [configurações gerenciadas](/docs/pt/server-managed-settings) ou a flag `--settings` ainda se aplicam. Requer Claude Code v2.1.212 ou posterior. Veja [Inspecionar os padrões e sua configuração efetiva](/docs/pt/auto-mode-config#inspect-the-defaults-and-your-effective-config) | `claude auto-mode reset --yes` |33| `claude auto-mode reset` | Restaurar a configuração padrão do [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) removendo a seção `autoMode` do seu arquivo de configurações do usuário. Solicita confirmação antes de escrever; passe `-y`/`--yes` para pular o prompt. As regras de [configurações gerenciadas](/docs/pt/server-managed-settings) ou a flag `--settings` ainda se aplicam. Requer Claude Code v2.1.212 ou posterior. Veja [Inspecionar os padrões e sua configuração efetiva](/docs/pt/auto-mode-config#inspect-the-defaults-and-your-effective-config) | `claude auto-mode reset --yes` |

34| `claude daemon logs` | Acompanhar o arquivo de log do [supervisor](/docs/pt/agent-view#the-supervisor-process) de sessão de fundo, `~/.claude/daemon.log`, imprimindo novas linhas à medida que chegam até você pressionar `Ctrl+C` | `claude daemon logs` |34| `claude daemon logs` | Acompanhar o arquivo de log do [supervisor](/docs/pt/agent-view#the-supervisor-process) de sessão de fundo, `~/.claude/daemon.log`, imprimindo novas linhas à medida que chegam até você pressionar `Ctrl+C` | `claude daemon logs` |


37| `claude daemon stop --any` | Parar o [supervisor](/docs/pt/agent-view#the-supervisor-process) de sessão de fundo e as sessões que ele hospeda. Passe `--keep-workers` para deixar as sessões de fundo em execução para que o próximo supervisor se reconecte a elas. `--any` confirma a parada de um supervisor sob demanda, que é o padrão. Use isto para recuperar de um [supervisor não responsivo](/docs/pt/agent-view#agent-view-says-the-background-service-did-not-respond) | `claude daemon stop --any --keep-workers` |37| `claude daemon stop --any` | Parar o [supervisor](/docs/pt/agent-view#the-supervisor-process) de sessão de fundo e as sessões que ele hospeda. Passe `--keep-workers` para deixar as sessões de fundo em execução para que o próximo supervisor se reconecte a elas. `--any` confirma a parada de um supervisor sob demanda, que é o padrão. Use isto para recuperar de um [supervisor não responsivo](/docs/pt/agent-view#agent-view-says-the-background-service-did-not-respond) | `claude daemon stop --any --keep-workers` |

38| `claude doctor` | Imprimir diagnósticos de instalação e configurações somente leitura do terminal sem iniciar uma sessão, incluindo saúde da instalação, erros de validação de arquivo de configurações e elegibilidade de Remote Control. Para a verificação de configuração em sessão que também pode aplicar correções, execute [`/doctor`](/docs/pt/commands#all-commands) | `claude doctor` |38| `claude doctor` | Imprimir diagnósticos de instalação e configurações somente leitura do terminal sem iniciar uma sessão, incluindo saúde da instalação, erros de validação de arquivo de configurações e elegibilidade de Remote Control. Para a verificação de configuração em sessão que também pode aplicar correções, execute [`/doctor`](/docs/pt/commands#all-commands) | `claude doctor` |

39| `claude import [source]` | Iniciar uma sessão interativa que executa [`/import`](/docs/pt/commands#all-commands) para trazer configuração de outros agentes de codificação para Claude Code. Aceita as mesmas opções `--dry-run` e `--yes` do comando. Não disponível no Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry ou Claude Platform na AWS. Também indisponível quando você desativa [busca de feature-flag](/docs/pt/env-vars#features-that-need-feature-flag-fetching). Requer Claude Code v2.1.213 ou posterior | `claude import codex --dry-run` |39| `claude import [source]` | Iniciar uma sessão interativa que executa [`/import`](/docs/pt/commands#all-commands) para trazer configuração de outros agentes de codificação para Claude Code. Aceita as mesmas opções `--dry-run` e `--yes` do comando. Não disponível no Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry ou Claude Platform na AWS. Também indisponível quando você desativa [busca de feature-flag](/docs/pt/env-vars#features-that-need-feature-flag-fetching). Requer Claude Code v2.1.213 ou posterior | `claude import codex --dry-run` |

40| `claude logs <id\|name>` | Imprimir saída recente de uma [sessão de fundo](/docs/pt/agent-view#manage-sessions-from-the-shell). Passar parte do nome de uma sessão em execução no lugar do ID requer Claude Code v2.1.290 ou posterior | `claude logs 7c5dcf5d` |40| `claude logs <id\|name>` | Imprimir saída recente de uma [sessão de fundo](/docs/pt/agent-view#manage-sessions-from-the-shell). Passar parte do nome de uma sessão no lugar do ID requer Claude Code v2.1.290 ou posterior | `claude logs 7c5dcf5d` |

41| `claude mcp` | Configurar servidores Model Context Protocol (MCP) | Veja a [documentação Claude Code MCP](/docs/pt/mcp). |41| `claude mcp` | Configurar servidores Model Context Protocol (MCP) | Veja a [documentação Claude Code MCP](/docs/pt/mcp). |

42| `claude mcp login <name>` | Executar o fluxo OAuth de um servidor MCP configurado sem abrir o painel interativo `/mcp`. Funciona para servidores HTTP, SSE e conectores claude.ai. Adicione `--no-browser` via SSH para imprimir a URL de autorização em vez de abrir um navegador, depois cole a URL de redirecionamento de volta no prompt. Veja [Autenticar a partir da linha de comando](/docs/pt/mcp#authenticate-from-the-command-line) | `claude mcp login sentry` |42| `claude mcp login <name>` | Executar o fluxo OAuth de um servidor MCP configurado sem abrir o painel interativo `/mcp`. Funciona para servidores HTTP, SSE e conectores claude.ai. Adicione `--no-browser` via SSH para imprimir a URL de autorização em vez de abrir um navegador. Para um servidor HTTP ou SSE, cole a URL de redirecionamento de volta no prompt. Para um conector claude.ai, veja [Autorizar um conector novamente a partir do seu shell](/docs/pt/remote-control#authorize-a-connector-again-from-your-shell). Veja [Autenticar a partir da linha de comando](/docs/pt/mcp#authenticate-from-the-command-line) | `claude mcp login sentry` |

43| `claude mcp logout <name>` | Limpar credenciais OAuth armazenadas para um servidor MCP | `claude mcp logout sentry` |43| `claude mcp logout <name>` | Limpar credenciais OAuth armazenadas para um servidor MCP | `claude mcp logout sentry` |

44| `claude plugin` | Gerenciar Claude Code [plugins](/docs/pt/plugins/overview). Alias: `claude plugins`. Veja [referência de plugin](/docs/pt/plugins/cli-reference#claude-plugin-commands) para subcomandos | `claude plugin install code-review@claude-plugins-official` |44| `claude plugin` | Gerenciar Claude Code [plugins](/docs/pt/plugins/overview). Alias: `claude plugins`. Veja [referência de plugin](/docs/pt/plugins/cli-reference#claude-plugin-commands) para subcomandos | `claude plugin install code-review@claude-plugins-official` |

45| `claude purge [path]` | Excluir todo o estado local do Claude Code para um projeto: transcrições, listas de tarefas, logs de depuração, histórico de edição de arquivo, linhas de histórico de prompt e a entrada do projeto em `~/.claude.json`. Omita `[path]` para escolher em uma lista interativa. Flags: `--dry-run` para visualizar, `-y`/`--yes` para pular confirmação, `-i`/`--interactive` para confirmar cada item, `--all` para cada projeto. Veja [Limpar dados locais](/docs/pt/claude-directory#clear-local-data) | `claude purge ~/work/repo --dry-run` |45| `claude purge [path]` | Excluir todo o estado local do Claude Code para um projeto: transcrições, listas de tarefas, logs de depuração, histórico de edição de arquivo, linhas de histórico de prompt e a entrada do projeto em `~/.claude.json`. Omita `[path]` para escolher em uma lista interativa. Flags: `--dry-run` para visualizar, `-y`/`--yes` para pular confirmação, `-i`/`--interactive` para confirmar cada item, `--all` para cada projeto. Veja [Limpar dados locais](/docs/pt/claude-directory#clear-local-data) | `claude purge ~/work/repo --dry-run` |


106| `--input-format` | Especificar formato de entrada para modo print (opções: `text`, `stream-json`) | `claude -p --output-format json --input-format stream-json` |106| `--input-format` | Especificar formato de entrada para modo print (opções: `text`, `stream-json`) | `claude -p --output-format json --input-format stream-json` |

107| `--json-schema` | Obter saída JSON validada correspondendo a um JSON Schema após o agente completar seu fluxo de trabalho (apenas modo print). Veja [saídas estruturadas](/docs/pt/agent-sdk/structured-outputs). Claude Code sai com um erro em um schema inválido e aceita a palavra-chave `format` como uma anotação sem validação do lado do cliente | `claude -p --json-schema '{"type":"object","properties":{...}}' "query"` |107| `--json-schema` | Obter saída JSON validada correspondendo a um JSON Schema após o agente completar seu fluxo de trabalho (apenas modo print). Veja [saídas estruturadas](/docs/pt/agent-sdk/structured-outputs). Claude Code sai com um erro em um schema inválido e aceita a palavra-chave `format` como uma anotação sem validação do lado do cliente | `claude -p --json-schema '{"type":"object","properties":{...}}' "query"` |

108| `--maintenance` | Executar hooks de [Setup](/docs/pt/hooks#setup) com o matcher `maintenance` antes da sessão (apenas modo print) | `claude -p --maintenance "query"` |108| `--maintenance` | Executar hooks de [Setup](/docs/pt/hooks#setup) com o matcher `maintenance` antes da sessão (apenas modo print) | `claude -p --maintenance "query"` |

109| `--max-budget-usd` | Valor máximo em dólares a gastar em chamadas de API antes de parar (apenas modo print). Claude Code compara o limite com sua [estimativa de custo do lado do cliente](/docs/pt/agent-sdk/cost-tracking#estimates-not-billing), que pode diferir da sua fatura. Gastos de [subagentes](/docs/pt/sub-agents) contam para o limite. Quando você retorna a uma conversa com `--continue` ou `--resume`, totais [restaurados de execuções anteriores](/docs/pt/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls) não contam para ele. Uma vez que o gasto atinge o limite, gerar outro subagente falha com `Budget limit reached`, e Claude Code para subagentes de fundo que ainda estão em execução; os comportamentos de aplicação do limite requerem Claude Code v2.1.217 ou posterior | `claude -p --max-budget-usd 5.00 "query"` |109| `--max-budget-usd` | Interromper a execução quando o gasto estimado em chamadas de API atingir este valor (apenas modo print). Claude Code compara o limite com sua [estimativa de custo do lado do cliente](/docs/pt/agent-sdk/cost-tracking#estimates-not-billing), que pode diferir da sua fatura. Gastos de [subagentes](/docs/pt/sub-agents) contam para o limite. O gasto pode ultrapassar o limite, portanto [deixe uma margem](/docs/pt/agent-sdk/agent-loop#budget-headroom). Quando você retorna a uma conversa com `--continue` ou `--resume`, totais [restaurados de execuções anteriores](/docs/pt/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls) não contam para ele. Uma vez que o gasto atinge o limite, gerar outro subagente falha com `Budget limit reached`, e Claude Code para subagentes de fundo que ainda estão em execução; os comportamentos de aplicação do limite requerem Claude Code v2.1.217 ou posterior | `claude -p --max-budget-usd 5.00 "query"` |

110| `--max-turns` | Limitar o número de turnos de agente (apenas modo print). Sai com um erro quando o limite é atingido. Sem limite por padrão. Com `--input-format stream-json`, uma mensagem ainda enfileirada quando o limite termina um turno permanece enfileirada e inicia um novo turno com seu próprio limite | `claude -p --max-turns 3 "query"` |110| `--max-turns` | Limitar o número de turnos de agente (apenas modo print). Sai com um erro quando o limite é atingido. Sem limite por padrão. Com `--input-format stream-json`, uma mensagem ainda enfileirada quando o limite termina um turno permanece enfileirada e inicia um novo turno com seu próprio limite | `claude -p --max-turns 3 "query"` |

111| `--mcp-config` | Carregar servidores MCP de arquivos JSON ou strings (separados por espaço). Quando você passa este sinalizador com `-p`, Claude Code aguarda servidores ainda pendentes se conectarem antes de executar o primeiro turno, até o tempo limite de inicialização [`MCP_TIMEOUT`](/docs/pt/env-vars), 30 segundos por padrão; um servidor com uma [lista de ferramentas em cache](/docs/pt/mcp#managing-your-servers) pula a espera e se conecta no primeiro uso. A espera requer Claude Code v2.1.221 ou posterior | `claude --mcp-config ./mcp.json` |111| `--mcp-config` | Carregar servidores MCP de arquivos JSON ou strings (separados por espaço). Quando você passa este sinalizador com `-p`, Claude Code aguarda servidores ainda pendentes se conectarem antes de executar o primeiro turno, até o tempo limite de inicialização [`MCP_TIMEOUT`](/docs/pt/env-vars), 30 segundos por padrão; um servidor com uma [lista de ferramentas em cache](/docs/pt/mcp#managing-your-servers) pula a espera e se conecta no primeiro uso. A espera requer Claude Code v2.1.221 ou posterior | `claude --mcp-config ./mcp.json` |

112| `--model` | Define o modelo para a sessão atual com um [alias de modelo](/docs/pt/model-config#model-aliases) como `sonnet`, `opus`, `haiku` ou `fable`, ou o nome completo de um modelo. Substitui a configuração [`model`](/docs/pt/settings-reference#model) e [`ANTHROPIC_MODEL`](/docs/pt/model-config#environment-variables) | `claude --model claude-sonnet-5` |112| `--model` | Define o modelo para a sessão atual com um [alias de modelo](/docs/pt/model-config#model-aliases) como `sonnet`, `opus`, `haiku` ou `fable`, ou o nome completo de um modelo. Substitui a configuração [`model`](/docs/pt/settings-reference#model) e [`ANTHROPIC_MODEL`](/docs/pt/model-config#environment-variables) | `claude --model claude-sonnet-5` |

Details

307| | Disponível em sessões na nuvem | Por quê |307| | Disponível em sessões na nuvem | Por quê |

308| :- | :- | :- |308| :- | :- | :- |

309| Seu `CLAUDE.md` do repositório | Sim | Parte do clone |309| Seu `CLAUDE.md` do repositório | Sim | Parte do clone |

310| Seus hooks `.claude/settings.json` do repositório e regras de permissão | Sim, em uma sessão com um repositório | Parte do clone. Uma sessão com vários repositórios, incluindo um thread de [projeto](/docs/pt/claude-projects#what-threads-pick-up-from-your-repositories), começa acima dos clones e não os lê |310| Seus hooks `.claude/settings.json` do repositório e regras de permissão | Sim, em uma sessão com um repositório | Parte do clone. Para uma sessão com vários repositórios, veja [quais configurações ela lê](/docs/pt/settings#settings-in-cloud-sessions) |

311| Seus servidores MCP `.mcp.json` do repositório | Sim, em uma sessão com um repositório | Parte do clone, encontrado a partir do diretório de trabalho da sessão |311| Seus servidores MCP `.mcp.json` do repositório | Sim, em uma sessão com um repositório | Parte do clone, encontrado a partir do diretório de trabalho da sessão. Para um ambiente auto-hospedado, veja [quais configurações de repositório se aplicam](/docs/pt/self-hosted-environments-configuration#repository-settings-in-sessions-with-several-repositories) |

312| Seu `.claude/rules/` do repositório | Sim | Parte do clone |312| Seu `.claude/rules/` do repositório | Sim | Parte do clone |

313| Seu `.claude/skills/`, `.claude/agents/`, `.claude/commands/` do repositório | Sim | Parte do clone |313| Seu `.claude/skills/`, `.claude/agents/`, `.claude/commands/` do repositório | Sim | Parte do clone |

314| Plugins e marketplaces declarados em seu `.claude/settings.json` do repositório | Não | Uma sessão na nuvem não instala os plugins que um repositório ativa em [`enabledPlugins`](/docs/pt/settings-reference#enabledplugins), incluindo aqueles dos marketplaces que lista em [`extraKnownMarketplaces`](/docs/pt/settings-reference#extraknownmarketplaces) |314| Plugins e marketplaces declarados em seu `.claude/settings.json` do repositório | Não | Uma sessão na nuvem não instala os plugins que um repositório ativa em [`enabledPlugins`](/docs/pt/settings-reference#enabledplugins), incluindo aqueles dos marketplaces que lista em [`extraKnownMarketplaces`](/docs/pt/settings-reference#extraknownmarketplaces) |


575 575 

576Os hooks SessionStart se comportam da mesma forma na nuvem que localmente, com essas ressalvas:576Os hooks SessionStart se comportam da mesma forma na nuvem que localmente, com essas ressalvas:

577 577 

578* **Um repositório por sessão**: uma sessão com vários repositórios não carrega hooks de nenhum `.claude/settings.json` do repositório, portanto um hook SessionStart que você define lá não é executado. Instale dependências para essas sessões com um [script de configuração](#setup-scripts) em vez disso.578* **Um repositório por sessão**: em um ambiente hospedado pela Anthropic, uma sessão com vários repositórios não carrega hooks de nenhum `.claude/settings.json` do repositório, portanto um hook SessionStart que você define lá não é executado. Instale dependências para essas sessões com um [script de configuração](#setup-scripts) em vez disso. Para um ambiente auto-hospedado, veja [quais configurações do repositório se aplicam](/docs/pt/self-hosted-environments-configuration#repository-settings-in-sessions-with-several-repositories).

579* **Sem escopo apenas na nuvem**: os hooks são executados em sessões locais e na nuvem. Para pular a execução local, saia cedo a menos que a variável de ambiente `CLAUDE_CODE_REMOTE` seja `true`, da forma que o [script de instalação de dependência](#install-dependencies-with-a-sessionstart-hook) faz.579* **Sem escopo apenas na nuvem**: os hooks são executados em sessões locais e na nuvem. Para pular a execução local, saia cedo a menos que a variável de ambiente `CLAUDE_CODE_REMOTE` seja `true`, da forma que o [script de instalação de dependência](#install-dependencies-with-a-sessionstart-hook) faz.

580* **Requer acesso à rede**: os comandos de instalação precisam alcançar registros de pacotes. Se seu ambiente usa acesso à rede **None**, esses hooks falham. A [lista de permissões padrão](#default-allowed-domains) em **Trusted** cobre npm, PyPI, RubyGems e crates.io.580* **Requer acesso à rede**: os comandos de instalação precisam alcançar registros de pacotes. Se seu ambiente usa acesso à rede **None**, esses hooks falham. A [lista de permissões padrão](#default-allowed-domains) em **Trusted** cobre npm, PyPI, RubyGems e crates.io.

581* **Compatibilidade de proxy**: em ambientes hospedados pela Anthropic, todo o tráfego de saída passa por um [proxy de segurança](#security-proxy), e alguns gerenciadores de pacotes não funcionam corretamente com isso; Bun é um exemplo conhecido. Em um [ambiente auto-hospedado](/docs/pt/self-hosted-environments-deploy#default-deny-egress), o tráfego de saída vai através de seu próprio limite de rede em vez disso.581* **Compatibilidade de proxy**: em ambientes hospedados pela Anthropic, todo o tráfego de saída passa por um [proxy de segurança](#security-proxy), e alguns gerenciadores de pacotes não funcionam corretamente com isso; Bun é um exemplo conhecido. Em um [ambiente auto-hospedado](/docs/pt/self-hosted-environments-deploy#default-deny-egress), o tráfego de saída vai através de seu próprio limite de rede em vez disso.

commands.md +1 −1

Details

111| `/login` | Conecte-se à sua conta Anthropic |111| `/login` | Conecte-se à sua conta Anthropic |

112| `/logout` | Desconecte-se de sua conta Anthropic |112| `/logout` | Desconecte-se de sua conta Anthropic |

113| `/loop [interval] [prompt]` | **[Skill](/docs/pt/skills#bundled-skills).** Execute um prompt repetidamente enquanto a sessão permanece aberta. Omita o intervalo e Claude [define o próprio ritmo entre iterações](/docs/pt/scheduled-tasks#let-claude-choose-the-interval). Omita o prompt e Claude executa o [prompt de manutenção integrado](/docs/pt/scheduled-tasks#run-the-built-in-maintenance-prompt) ou seu [`loop.md`](/docs/pt/scheduled-tasks#customize-the-default-prompt-with-loop-md). Exemplo: `/loop 5m check if the deploy finished`. Consulte [Execute prompts em um cronograma](/docs/pt/scheduled-tasks). Alias: `/proactive` |113| `/loop [interval] [prompt]` | **[Skill](/docs/pt/skills#bundled-skills).** Execute um prompt repetidamente enquanto a sessão permanece aberta. Omita o intervalo e Claude [define o próprio ritmo entre iterações](/docs/pt/scheduled-tasks#let-claude-choose-the-interval). Omita o prompt e Claude executa o [prompt de manutenção integrado](/docs/pt/scheduled-tasks#run-the-built-in-maintenance-prompt) ou seu [`loop.md`](/docs/pt/scheduled-tasks#customize-the-default-prompt-with-loop-md). Exemplo: `/loop 5m check if the deploy finished`. Consulte [Execute prompts em um cronograma](/docs/pt/scheduled-tasks). Alias: `/proactive` |

114| `/mcp [reconnect (<server>\|all)\|enable\|disable [<server>\|all]]` | Gerencie conexões de servidor MCP e autenticação OAuth. Execute sem argumento para abrir a lista interativa, ou passe `reconnect`, `enable` ou `disable` com um nome de servidor ou `all` para alterar o estado de conexão sem abri-la. `reconnect all` [tenta novamente cada servidor que falhou ou precisa de autenticação](/docs/pt/mcp#retry-failed-servers-yourself). Também disponível em modo não interativo (`-p`), onde executá-lo sem argumento imprime um resumo de texto do status do servidor em vez de abrir a lista; requer Claude Code v2.1.205 ou posterior |114| `/mcp [reconnect (<server>\|all)\|enable\|disable [<server>\|all]]` | Gerencie conexões de servidor MCP e autenticação OAuth. Execute sem argumento para abrir a lista interativa, ou passe `reconnect`, `enable` ou `disable` com um nome de servidor ou `all` para alterar o estado de conexão sem abri-la. `reconnect all` [tenta novamente cada servidor que falhou ou precisa de autenticação](/docs/pt/mcp#retry-failed-servers-yourself). Em modo não interativo (`-p`), executá-lo sem argumento imprime um resumo de texto do status do servidor em vez de abrir a lista; requer Claude Code v2.1.205 ou posterior |

115| `/memory` | Edite arquivos `CLAUDE.md`, ative ou desative [memória automática](/docs/pt/memory#auto-memory) e veja entradas de memória automática |115| `/memory` | Edite arquivos `CLAUDE.md`, ative ou desative [memória automática](/docs/pt/memory#auto-memory) e veja entradas de memória automática |

116| `/mobile` | Mostre código QR para baixar o aplicativo móvel Claude. Aliases: `/ios`, `/android` |116| `/mobile` | Mostre código QR para baixar o aplicativo móvel Claude. Aliases: `/ios`, `/android` |

117| `/model [model]` | Mude o modelo de IA e salve-o como seu padrão para novas sessões. Para modelos que suportam, use setas esquerda/direita para [ajustar nível de esforço](/docs/pt/model-config#adjust-effort-level). Sem argumento, abre um seletor; pressione `s` em uma linha para mudar apenas para a sessão atual. Consulte [quando Claude Code pede que você confirme a mudança](/docs/pt/prompt-caching#switching-models). Uma vez que você confirme a mudança, se Claude Code pedir, Claude Code aplica a mudança sem esperar que a resposta atual termine. Antes da v2.1.242, Claude Code decidia a partir de uma flag de recurso que buscava do Anthropic se executaria o comando no meio do turno ou o enfileiraria até que o turno terminasse, e sempre o enfileirava em uma sessão que não [busca flags de recurso](/docs/pt/env-vars#features-that-need-feature-flag-fetching), como em um [provedor de terceiros](/docs/pt/third-party-integrations). Também disponível em modo não interativo (`-p`) com um argumento de modelo em vez do seletor, onde se aplica apenas à sessão atual e não é salvo como seu padrão; requer Claude Code v2.1.205 ou posterior |117| `/model [model]` | Mude o modelo de IA e salve-o como seu padrão para novas sessões. Para modelos que suportam, use setas esquerda/direita para [ajustar nível de esforço](/docs/pt/model-config#adjust-effort-level). Sem argumento, abre um seletor; pressione `s` em uma linha para mudar apenas para a sessão atual. Consulte [quando Claude Code pede que você confirme a mudança](/docs/pt/prompt-caching#switching-models). Uma vez que você confirme a mudança, se Claude Code pedir, Claude Code aplica a mudança sem esperar que a resposta atual termine. Antes da v2.1.242, Claude Code decidia a partir de uma flag de recurso que buscava do Anthropic se executaria o comando no meio do turno ou o enfileiraria até que o turno terminasse, e sempre o enfileirava em uma sessão que não [busca flags de recurso](/docs/pt/env-vars#features-that-need-feature-flag-fetching), como em um [provedor de terceiros](/docs/pt/third-party-integrations). Também disponível em modo não interativo (`-p`) com um argumento de modelo em vez do seletor, onde se aplica apenas à sessão atual e não é salvo como seu padrão; requer Claude Code v2.1.205 ou posterior |

desktop.md +1 −1

Details

396 Trabalhar em paralelo com sessões396 Trabalhar em paralelo com sessões

397</h3>397</h3>

398 398 

399Clique 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), para que alterações em uma sessão não afetem outras sessões até que você as faça commit.399Clique 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).

400 400 

401Para 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.401Para 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.

402 402 

env-vars.md +313 −308

Details

21 21 

22Uma variável que você define no seu shell dura para essa sessão de terminal, enquanto uma variável em um arquivo de configurações se aplica toda vez que `claude` é executado.22Uma variável que você define no seu shell dura para essa sessão de terminal, enquanto uma variável em um arquivo de configurações se aplica toda vez que `claude` é executado.

23 23 

24<h3 id="in-your-shell">24<span id="in-your-shell" />

25 No seu shell25 

26<h3 id="set-variables-in-your-shell">

27 Definir variáveis no seu shell

26</h3>28</h3>

27 29 

28Defina a variável antes de iniciar `claude`:30Defina a variável antes de iniciar `claude`:


78 </Tab>80 </Tab>

79</Tabs>81</Tabs>

80 82 

81<h3 id="in-settings-files">83<span id="in-settings-files" />

82 Em arquivos de configurações84 

85<h3 id="set-variables-in-settings-files">

86 Definir variáveis em arquivos de configurações

83</h3>87</h3>

84 88 

85Adicione variáveis sob a chave `env` em um arquivo `settings.json`, criando o arquivo se ele não existir. Claude Code as lê diretamente do arquivo, então elas entram em vigor independentemente de como `claude` foi iniciado. Uma sessão em execução aplica valores novos e alterados ao seu ambiente quando você salva o arquivo, mas um recurso que lê suas variáveis uma vez na inicialização, como [monitoramento OpenTelemetry](/docs/pt/monitoring-usage), mantém seus valores de inicialização até que você reinicie. Remover uma variável do arquivo não a desativa em uma sessão em execução; a remoção entra em vigor na próxima vez que você iniciar `claude`.89Adicione variáveis sob a chave `env` em um arquivo `settings.json`, criando o arquivo se ele não existir. Claude Code as lê diretamente do arquivo, então elas entram em vigor independentemente de como `claude` foi iniciado. Uma sessão em execução aplica valores novos e alterados ao seu ambiente quando você salva o arquivo, mas um recurso que lê suas variáveis uma vez na inicialização, como [monitoramento OpenTelemetry](/docs/pt/monitoring-usage), mantém seus valores de inicialização até que você reinicie. Remover uma variável do arquivo não a desativa em uma sessão em execução; a remoção entra em vigor na próxima vez que você iniciar `claude`.


120 124 

121Como uma variável de ambiente interage com sinalizadores CLI e comandos em sessão varia por recurso: `--model` e `/model` substituem `ANTHROPIC_MODEL`, enquanto `CLAUDE_CODE_EFFORT_LEVEL` substitui `--effort` e `/effort`. Quando uma variável interage com outra fonte de configuração, sua linha na lista [Variáveis](#variables) declara a precedência ou vincula à página que a documenta.125Como uma variável de ambiente interage com sinalizadores CLI e comandos em sessão varia por recurso: `--model` e `/model` substituem `ANTHROPIC_MODEL`, enquanto `CLAUDE_CODE_EFFORT_LEVEL` substitui `--effort` e `/effort`. Quando uma variável interage com outra fonte de configuração, sua linha na lista [Variáveis](#variables) declara a precedência ou vincula à página que a documenta.

122 126 

123Claude Code lê variáveis de ambiente do shell na inicialização, então as alterações nelas entram em vigor na próxima vez que você inicia `claude`. As variáveis definidas sob a chave `env` em arquivos de configurações são reaplicadas a uma sessão em execução quando o arquivo muda, com a exceção somente na inicialização descrita em [Em arquivos de configurações](#in-settings-files).127Claude Code lê variáveis de ambiente do shell na inicialização, então as alterações nelas entram em vigor na próxima vez que você inicia `claude`. As variáveis definidas sob a chave `env` em arquivos de configurações são reaplicadas a uma sessão em execução quando o arquivo muda, com a exceção somente na inicialização descrita em [Definir variáveis em arquivos de configurações](#in-settings-files).

124 128 

125<h2 id="variables">129<h2 id="variables">

126 Variáveis130 Variáveis

127</h2>131</h2>

128 132 

129Variáveis numéricas, como timeouts, orçamentos de tokens e contagens de novas tentativas, aceitam notação científica e grafias com separador de dígitos, além de dígitos simples, exceto quando a linha de uma variável indica que ela aceita apenas dígitos simples. Por exemplo, o Claude Code lê `2e3` como 2000 e `64_000` como 64000. Antes da v2.1.211, essas grafias podiam definir silenciosamente um valor muito menor, como `1e6` definindo um timeout de 1.133Variáveis numéricas, como timeouts, orçamentos de tokens e contagens de novas tentativas, aceitam notação científica e grafias com separador de dígitos, além de dígitos simples, exceto quando a linha da variável indicar que ela aceita apenas dígitos simples. Por exemplo, o Claude Code lê `2e3` como 2000 e `64_000` como 64000. Antes da v2.1.211, essas grafias podiam definir silenciosamente um valor muito menor, como `1e6` definindo um timeout como 1.

130 134 

131<Note>135<Note>

132 Para variáveis que ativam ou desativam um comportamento, defina `1`, `true`, `yes` ou `on` para ativá-lo e `0`, `false`, `no` ou `off` para desativá-lo, com qualquer combinação de maiúsculas e minúsculas.136 Para variáveis que ativam ou desativam um comportamento, defina `1`, `true`, `yes` ou `on` para ativá-lo e `0`, `false`, `no` ou `off` para desativá-lo, com qualquer combinação de maiúsculas e minúsculas.

133 137 

134 Algumas variáveis verificam apenas se você as definiu, de modo que qualquer valor não vazio, incluindo `0`, ativa o comportamento, e você desativa o comportamento removendo a definição da variável ou definindo-a com um valor vazio. Estas variáveis funcionam dessa forma:138 Algumas variáveis verificam apenas se você as definiu, de modo que qualquer valor não vazio, incluindo `0`, ativa o comportamento, e você desativa o comportamento removendo a variável ou definindo-a com um valor vazio. Estas variáveis funcionam dessa forma:

135 139 

136 * `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`140 * `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`

137 * `DISABLE_TELEMETRY`141 * `DISABLE_TELEMETRY`


145 149 

146| Variável | Finalidade |150| Variável | Finalidade |

147| :- | :- |151| :- | :- |

148| `ANTHROPIC_API_KEY` | Chave de API enviada como cabeçalho `X-Api-Key`. Quando definida, essa chave é usada em vez da sua assinatura Claude Pro, Max, Team ou Enterprise, mesmo que você esteja conectado. No modo não interativo (`-p`), a chave é sempre usada quando presente. No modo interativo, você é solicitado a aprovar a chave uma vez antes que ela sobrescreva sua assinatura. Para usar sua assinatura em vez disso, execute `unset ANTHROPIC_API_KEY` |152| `ANTHROPIC_API_KEY` | Chave de API enviada como cabeçalho `X-Api-Key`. Quando definida, essa chave é usada em vez da sua assinatura Claude Pro, Max, Team ou Enterprise, mesmo que você esteja logado. No modo não interativo (`-p`), a chave é sempre usada quando presente. No modo interativo, você precisa aprovar a chave uma vez antes que ela sobrescreva sua assinatura. Para usar sua assinatura, execute `unset ANTHROPIC_API_KEY` |

149| `ANTHROPIC_AUTH_TOKEN` | Valor personalizado para o cabeçalho `Authorization` (o valor que você definir aqui será prefixado com `Bearer `) |153| `ANTHROPIC_AUTH_TOKEN` | Valor personalizado para o cabeçalho `Authorization` (o valor definido aqui receberá o prefixo `Bearer `) |

150| `ANTHROPIC_AWS_API_KEY` | Chave de API do workspace para o [Claude Platform on AWS](/docs/pt/claude-platform-on-aws), gerada no AWS Console. Enviada como `x-api-key` e tem precedência sobre o AWS SigV4 |154| `ANTHROPIC_AWS_API_KEY` | Chave de API do workspace para o [Claude Platform on AWS](/docs/pt/claude-platform-on-aws), gerada no AWS Console. Enviada como `x-api-key` e tem precedência sobre o AWS SigV4 |

151| `ANTHROPIC_AWS_BASE_URL` | Sobrescreve a URL do endpoint do [Claude Platform on AWS](/docs/pt/claude-platform-on-aws). Use para regiões personalizadas ou ao rotear por meio de um [gateway de LLM](/docs/pt/llm-gateway). O padrão é `https://aws-external-anthropic.{region}.api.aws`. O Claude Code resolve a região com a [mesma precedência que no Amazon Bedrock](/docs/pt/amazon-bedrock#3-configure-claude-code) |155| `ANTHROPIC_AWS_BASE_URL` | Sobrescreve a URL do endpoint do [Claude Platform on AWS](/docs/pt/claude-platform-on-aws). Use para regiões personalizadas ou ao rotear por meio de um [gateway de LLM](/docs/pt/llm-gateway). O padrão é `https://aws-external-anthropic.{region}.api.aws`. O Claude Code resolve a região com a [mesma precedência usada no Amazon Bedrock](/docs/pt/amazon-bedrock#3-configure-claude-code) |

152| `ANTHROPIC_AWS_WORKSPACE_ID` | Obrigatório para o [Claude Platform on AWS](/docs/pt/claude-platform-on-aws). Enviado em toda requisição como o cabeçalho `anthropic-workspace-id` |156| `ANTHROPIC_AWS_WORKSPACE_ID` | Obrigatória para o [Claude Platform on AWS](/docs/pt/claude-platform-on-aws). Enviada em cada requisição como o cabeçalho `anthropic-workspace-id` |

153| `ANTHROPIC_BASE_URL` | Sobrescreve o endpoint da API para rotear requisições por meio de um proxy ou gateway. Quando definido como um host que não é first-party, o [MCP Tool Search](/docs/pt/mcp#scale-with-mcp-tool-search) é desativado por padrão. Defina `ENABLE_TOOL_SEARCH=true` se o seu proxy encaminhar blocos `tool_reference`. A partir da v2.1.196, o [Remote Control](/docs/pt/remote-control#requirements) é desativado quando isso aponta para um host diferente de `api.anthropic.com`, correspondendo ao seu comportamento no Amazon Bedrock, no Google Cloud's Agent Platform e no Microsoft Foundry |157| `ANTHROPIC_BASE_URL` | Sobrescreve o endpoint da API para rotear requisições por meio de um proxy ou gateway. Quando definida com um host que não seja próprio da Anthropic, o [MCP Tool Search](/docs/pt/mcp#scale-with-mcp-tool-search) é desativado por padrão. Defina `ENABLE_TOOL_SEARCH=true` se o seu proxy encaminhar blocos `tool_reference`. A partir da v2.1.196, o [Remote Control](/docs/pt/remote-control#requirements) é desativado quando esta variável aponta para um host diferente de `api.anthropic.com`, correspondendo ao seu comportamento no Amazon Bedrock, no Google Cloud's Agent Platform e no Microsoft Foundry |

154| `ANTHROPIC_BEDROCK_BASE_URL` | Sobrescreve a URL do endpoint do Amazon Bedrock. Use para endpoints personalizados do Amazon Bedrock ou ao rotear por meio de um [gateway de LLM](/docs/pt/llm-gateway). Consulte [Amazon Bedrock](/docs/pt/amazon-bedrock) |158| `ANTHROPIC_BEDROCK_BASE_URL` | Sobrescreve a URL do endpoint do Amazon Bedrock. Use para endpoints personalizados do Amazon Bedrock ou ao rotear por meio de um [gateway de LLM](/docs/pt/llm-gateway). Consulte [Amazon Bedrock](/docs/pt/amazon-bedrock) |

155| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Sobrescreve a URL do endpoint do Amazon Bedrock Mantle. Consulte [Endpoint Mantle](/docs/pt/amazon-bedrock#use-the-mantle-endpoint) |159| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Sobrescreve a URL do endpoint do Amazon Bedrock Mantle. Consulte [Endpoint Mantle](/docs/pt/amazon-bedrock#use-the-mantle-endpoint) |

156| `ANTHROPIC_BEDROCK_REGION_PREFIX` | Prefixo do perfil de inferência entre regiões (`us`, `eu`, `apac`, `jp`, `au` ou `global`) que o Claude Code tenta primeiro, em vez daquele derivado da região da AWS. Ignorado em regiões do AWS GovCloud. Requer o Claude Code v2.1.224 ou posterior. Consulte [Amazon Bedrock](/docs/pt/amazon-bedrock#cross-region-inference-profile-prefixes) |160| `ANTHROPIC_BEDROCK_REGION_PREFIX` | Prefixo do perfil de inferência entre regiões (`us`, `eu`, `apac`, `jp`, `au` ou `global`) que o Claude Code tenta primeiro, em vez do derivado da região da AWS. Ignorada nas regiões AWS GovCloud. Requer o Claude Code v2.1.224 ou posterior. Consulte [Amazon Bedrock](/docs/pt/amazon-bedrock#cross-region-inference-profile-prefixes) |

157| `ANTHROPIC_BEDROCK_SERVICE_TIER` | [Nível de serviço](https://docs.aws.amazon.com/bedrock/latest/userguide/service-tiers-inference.html) do Amazon Bedrock (`default`, `flex` ou `priority`). Enviado como o cabeçalho `X-Amzn-Bedrock-Service-Tier`. Consulte [Amazon Bedrock](/docs/pt/amazon-bedrock#service-tiers) |161| `ANTHROPIC_BEDROCK_SERVICE_TIER` | [Nível de serviço](https://docs.aws.amazon.com/bedrock/latest/userguide/service-tiers-inference.html) do Amazon Bedrock (`default`, `flex` ou `priority`). Enviado como o cabeçalho `X-Amzn-Bedrock-Service-Tier`. Consulte [Amazon Bedrock](/docs/pt/amazon-bedrock#service-tiers) |

158| `ANTHROPIC_BETAS` | Lista separada por vírgulas de valores adicionais do cabeçalho `anthropic-beta` a incluir nas requisições da API. O Claude Code já envia os cabeçalhos beta de que precisa; use isto para aderir a um [beta da API da Anthropic](https://platform.claude.com/docs/en/api/beta-headers) antes que o Claude Code adicione suporte nativo. Diferentemente da [flag `--betas`](/docs/pt/cli-reference#cli-flags), que requer autenticação por chave de API, esta variável funciona com todos os métodos de autenticação, incluindo a assinatura do Claude.ai |162| `ANTHROPIC_BETAS` | Lista separada por vírgulas de valores adicionais do cabeçalho `anthropic-beta` a incluir nas requisições de API. O Claude Code já envia os cabeçalhos beta de que precisa; use esta variável para aderir a um [beta da API da Anthropic](https://platform.claude.com/docs/en/api/beta-headers) antes que o Claude Code adicione suporte nativo. Diferentemente da [flag `--betas`](/docs/pt/cli-reference#cli-flags), que requer autenticação por chave de API, esta variável funciona com todos os métodos de autenticação, incluindo a assinatura do Claude.ai |

159| `ANTHROPIC_CUSTOM_HEADERS` | Cabeçalhos personalizados a adicionar às requisições (formato `Name: Value`, separados por quebra de linha para vários cabeçalhos). Se um nome ou valor contiver um caractere que um cabeçalho HTTP não pode conter, como uma aspa curva ou um espaço de largura zero, a requisição falha com um erro que identifica o par pela posição. Requer o Claude Code v2.1.227 ou posterior. [Invalid request header value](/docs/pt/errors#invalid-request-header-value) lista o conjunto exato de caracteres e onde a verificação é executada. Um valor que define um cabeçalho de credencial, organização ou tenant, roteamento ou comportamento da API, como `Authorization` ou `Host`, conta como uma [configuração que precisa de aprovação](/docs/pt/server-managed-settings#environment-variables-and-the-approval-dialog) quando as configurações gerenciadas pelo servidor o entregam. Vindo de configurações de projeto ou locais, esse valor segue as [regras de quando os valores de `env` se aplicam](/docs/pt/settings-reference#when-claude-code-applies-env-values) |163| `ANTHROPIC_CUSTOM_HEADERS` | Cabeçalhos personalizados a adicionar às requisições (formato `Name: Value`, separados por nova linha para vários cabeçalhos). Se um nome ou valor contiver um caractere que um cabeçalho HTTP não pode transportar, como uma aspa curva ou um espaço de largura zero, a requisição falha com um erro que identifica o par pela posição. Requer o Claude Code v2.1.227 ou posterior. [Invalid request header value](/docs/pt/errors#invalid-request-header-value) lista o conjunto exato de caracteres e onde a verificação é executada. Um valor que define um cabeçalho de credencial, organização ou tenant, roteamento ou comportamento da API, como `Authorization` ou `Host`, conta como uma [configuração que precisa de aprovação](/docs/pt/server-managed-settings#environment-variables-and-the-approval-dialog) quando entregue por configurações gerenciadas pelo servidor. A partir de configurações de projeto ou locais, tal valor segue as [regras sobre quando os valores de `env` se aplicam](/docs/pt/settings-reference#when-claude-code-applies-env-values) |

160| `ANTHROPIC_CUSTOM_MODEL_OPTION` | ID do modelo a adicionar como entrada personalizada no seletor `/model`. Use isto para tornar selecionável um modelo não padrão ou específico de gateway sem substituir os aliases integrados. Consulte [Configuração de modelo](/docs/pt/model-config#add-a-custom-model-option) |164| `ANTHROPIC_CUSTOM_MODEL_OPTION` | ID do modelo a adicionar como entrada personalizada no seletor de `/model`. Use para tornar selecionável um modelo não padrão ou específico de um gateway sem substituir os aliases integrados. Consulte [Configuração de modelo](/docs/pt/model-config#add-a-custom-model-option) |

161| `ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION` | Descrição de exibição para a entrada de modelo personalizado no seletor `/model`. O padrão é `Custom model (<model-id>)` quando não definida |165| `ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION` | Descrição exibida para a entrada de modelo personalizado no seletor de `/model`. O padrão é `Custom model (<model-id>)` quando não definida |

162| `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` | Nome de exibição para a entrada de modelo personalizado no seletor `/model`. Quando não definido, a entrada mostra o nome do modelo se o Claude Code [reconhecer o ID](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) e, caso contrário, o ID do modelo |166| `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` | Nome exibido para a entrada de modelo personalizado no seletor de `/model`. Quando não definida, a entrada mostra o nome do modelo se o Claude Code [reconhecer o ID](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) e, caso contrário, o ID do modelo |

163| `ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIES` | Lista separada por vírgulas de [recursos](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) compatíveis com o modelo personalizado, por exemplo `effort,thinking`. Consulte [Configuração de modelo](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) |167| `ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIES` | Lista separada por vírgulas de [capacidades](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) que o modelo personalizado suporta, por exemplo `effort,thinking`. Consulte [Configuração de modelo](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) |

164| `ANTHROPIC_DEFAULT_FABLE_MODEL` | ID do modelo para o qual o alias `fable` é resolvido, e o ID que o Claude Code reconhece como um modelo Fable para o [fallback automático de modelo](/docs/pt/model-config#automatic-model-fallback) em provedores terceiros. Consulte [Configuração de modelo](/docs/pt/model-config#environment-variables) |168| `ANTHROPIC_DEFAULT_FABLE_MODEL` | ID do modelo para o qual o alias `fable` é resolvido, e o ID que o Claude Code reconhece como um modelo Fable para o [fallback automático de modelo](/docs/pt/model-config#automatic-model-fallback) em provedores de terceiros. Consulte [Configuração de modelo](/docs/pt/model-config#environment-variables) |

165| `ANTHROPIC_DEFAULT_FABLE_MODEL_DESCRIPTION` | Descrição de exibição para o modelo Fable fixado no seletor `/model`. Quando não definida, a linha mostra uma descrição padrão que começa com `Custom Fable model`. Consulte [Configuração de modelo](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) |169| `ANTHROPIC_DEFAULT_FABLE_MODEL_DESCRIPTION` | Descrição exibida para o modelo Fable fixado no seletor de `/model`. Quando não definida, a linha mostra uma descrição padrão que começa com `Custom Fable model`. Consulte [Configuração de modelo](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) |

166| `ANTHROPIC_DEFAULT_FABLE_MODEL_NAME` | Nome de exibição para o modelo Fable fixado no seletor `/model`. Quando não definido, a linha mostra o nome do modelo se o Claude Code reconhecer o ID fixado e, caso contrário, o ID fixado. Consulte [Configuração de modelo](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) |170| `ANTHROPIC_DEFAULT_FABLE_MODEL_NAME` | Nome exibido para o modelo Fable fixado no seletor de `/model`. Quando não definida, a linha mostra o nome do modelo se o Claude Code reconhecer o ID fixado e, caso contrário, o ID fixado. Consulte [Configuração de modelo](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) |

167| `ANTHROPIC_DEFAULT_FABLE_MODEL_SUPPORTED_CAPABILITIES` | Lista separada por vírgulas de [recursos](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) compatíveis com o modelo Fable fixado, por exemplo `effort,thinking`. Consulte [Configuração de modelo](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) |171| `ANTHROPIC_DEFAULT_FABLE_MODEL_SUPPORTED_CAPABILITIES` | Lista separada por vírgulas de [capacidades](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) que o modelo Fable fixado suporta, por exemplo `effort,thinking`. Consulte [Configuração de modelo](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) |

168| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | ID do modelo para o qual o alias `haiku` é resolvido, também usado para [funcionalidades em segundo plano](/docs/pt/costs#background-token-usage). Consulte [Configuração de modelo](/docs/pt/model-config#environment-variables) |172| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | ID do modelo para o qual o alias `haiku` é resolvido, também usado para [funcionalidades em segundo plano](/docs/pt/costs#background-token-usage). Consulte [Configuração de modelo](/docs/pt/model-config#environment-variables) |

169| `ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION` | Descrição de exibição para o modelo Haiku fixado no seletor `/model`. Quando não definida, a linha mostra uma descrição padrão que começa com `Custom Haiku model`. Consulte [Configuração de modelo](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) |173| `ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION` | Descrição exibida para o modelo Haiku fixado no seletor de `/model`. Quando não definida, a linha mostra uma descrição padrão que começa com `Custom Haiku model`. Consulte [Configuração de modelo](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) |

170| `ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME` | Nome de exibição para o modelo Haiku fixado no seletor `/model`. Quando não definido, a linha mostra o nome do modelo se o Claude Code reconhecer o ID fixado e, caso contrário, o ID fixado. Consulte [Configuração de modelo](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) |174| `ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME` | Nome exibido para o modelo Haiku fixado no seletor de `/model`. Quando não definida, a linha mostra o nome do modelo se o Claude Code reconhecer o ID fixado e, caso contrário, o ID fixado. Consulte [Configuração de modelo](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) |

171| `ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES` | Lista separada por vírgulas de [recursos](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) compatíveis com o modelo Haiku fixado, por exemplo `effort,thinking`. Consulte [Configuração de modelo](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) |175| `ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES` | Lista separada por vírgulas de [capacidades](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) que o modelo Haiku fixado suporta, por exemplo `effort,thinking`. Consulte [Configuração de modelo](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) |

172| `ANTHROPIC_DEFAULT_MODEL` | Modelo com o qual novas sessões começam por padrão. Requer o Claude Code v2.1.236 ou posterior. Consulte [Definir um modelo padrão para novas sessões](/docs/pt/model-config#set-a-default-model-for-new-sessions) |176| `ANTHROPIC_DEFAULT_MODEL` | Modelo com o qual novas sessões começam por padrão. Requer o Claude Code v2.1.236 ou posterior. Consulte [Definir um modelo padrão para novas sessões](/docs/pt/model-config#set-a-default-model-for-new-sessions) |

173| `ANTHROPIC_DEFAULT_OPUS_MODEL` | ID do modelo para o qual o alias `opus` é resolvido, e que o `opusplan` usa enquanto o Plan Mode está ativo. Consulte [Configuração de modelo](/docs/pt/model-config#environment-variables) |177| `ANTHROPIC_DEFAULT_OPUS_MODEL` | ID do modelo para o qual o alias `opus` é resolvido, e que `opusplan` usa enquanto o Plan Mode está ativo. Consulte [Configuração de modelo](/docs/pt/model-config#environment-variables) |

174| `ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION` | Descrição de exibição para o modelo Opus fixado no seletor `/model`. Quando não definida, a linha mostra uma descrição padrão que começa com `Custom Opus model`. Consulte [Configuração de modelo](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) |178| `ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION` | Descrição exibida para o modelo Opus fixado no seletor de `/model`. Quando não definida, a linha mostra uma descrição padrão que começa com `Custom Opus model`. Consulte [Configuração de modelo](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) |

175| `ANTHROPIC_DEFAULT_OPUS_MODEL_NAME` | Nome de exibição para o modelo Opus fixado no seletor `/model`. Quando não definido, a linha mostra o nome do modelo se o Claude Code reconhecer o ID fixado e, caso contrário, o ID fixado. Consulte [Configuração de modelo](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) |179| `ANTHROPIC_DEFAULT_OPUS_MODEL_NAME` | Nome exibido para o modelo Opus fixado no seletor de `/model`. Quando não definida, a linha mostra o nome do modelo se o Claude Code reconhecer o ID fixado e, caso contrário, o ID fixado. Consulte [Configuração de modelo](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) |

176| `ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES` | Lista separada por vírgulas de [recursos](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) compatíveis com o modelo Opus fixado, por exemplo `effort,thinking`. Consulte [Configuração de modelo](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) |180| `ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES` | Lista separada por vírgulas de [capacidades](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) que o modelo Opus fixado suporta, por exemplo `effort,thinking`. Consulte [Configuração de modelo](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) |

177| `ANTHROPIC_DEFAULT_SONNET_MODEL` | ID do modelo para o qual o alias `sonnet` é resolvido, e que o `opusplan` usa quando o Plan Mode não está ativo. Consulte [Configuração de modelo](/docs/pt/model-config#environment-variables) |181| `ANTHROPIC_DEFAULT_SONNET_MODEL` | ID do modelo para o qual o alias `sonnet` é resolvido, e que `opusplan` usa quando o Plan Mode não está ativo. Consulte [Configuração de modelo](/docs/pt/model-config#environment-variables) |

178| `ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION` | Descrição de exibição para o modelo Sonnet fixado no seletor `/model`. Quando não definida, a linha mostra uma descrição padrão que começa com `Custom Sonnet model`. Consulte [Configuração de modelo](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) |182| `ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION` | Descrição exibida para o modelo Sonnet fixado no seletor de `/model`. Quando não definida, a linha mostra uma descrição padrão que começa com `Custom Sonnet model`. Consulte [Configuração de modelo](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) |

179| `ANTHROPIC_DEFAULT_SONNET_MODEL_NAME` | Nome de exibição para o modelo Sonnet fixado no seletor `/model`. Quando não definido, a linha mostra o nome do modelo se o Claude Code reconhecer o ID fixado e, caso contrário, o ID fixado. Consulte [Configuração de modelo](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) |183| `ANTHROPIC_DEFAULT_SONNET_MODEL_NAME` | Nome exibido para o modelo Sonnet fixado no seletor de `/model`. Quando não definida, a linha mostra o nome do modelo se o Claude Code reconhecer o ID fixado e, caso contrário, o ID fixado. Consulte [Configuração de modelo](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) |

180| `ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES` | Lista separada por vírgulas de [recursos](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) compatíveis com o modelo Sonnet fixado, por exemplo `effort,thinking`. Consulte [Configuração de modelo](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) |184| `ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES` | Lista separada por vírgulas de [capacidades](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) que o modelo Sonnet fixado suporta, por exemplo `effort,thinking`. Consulte [Configuração de modelo](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) |

181| `ANTHROPIC_FEDERATION_RULE_ID` | ID da regra de federação para [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Quando você a define junto com `ANTHROPIC_ORGANIZATION_ID`, o Claude Code seleciona credenciais de federação, que têm prioridade sobre sua credencial de `/login`. Consulte [precedência de autenticação](/docs/pt/authentication#authentication-precedence) |185| `ANTHROPIC_FEDERATION_RULE_ID` | ID da regra de federação para a [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Quando você a define junto com `ANTHROPIC_ORGANIZATION_ID`, o Claude Code seleciona as credenciais de federação, que têm prioridade sobre sua credencial de `/login`. Consulte [precedência de autenticação](/docs/pt/authentication#authentication-precedence) |

182| `ANTHROPIC_FOUNDRY_API_KEY` | Chave de API para autenticação no Microsoft Foundry (consulte [Microsoft Foundry](/docs/pt/microsoft-foundry)) |186| `ANTHROPIC_FOUNDRY_API_KEY` | Chave de API para autenticação no Microsoft Foundry (consulte [Microsoft Foundry](/docs/pt/microsoft-foundry)) |

183| `ANTHROPIC_FOUNDRY_AUTH_TOKEN` | Token bearer para autenticação no Microsoft Foundry, como um token de acesso do Microsoft Entra. O Claude Code o envia como o cabeçalho `Authorization: Bearer`. Tem precedência sobre `ANTHROPIC_FOUNDRY_API_KEY` e sobre a cadeia de credenciais padrão do Azure. Consulte [Microsoft Foundry](/docs/pt/microsoft-foundry). Requer o Claude Code v2.1.203 ou posterior |187| `ANTHROPIC_FOUNDRY_AUTH_TOKEN` | Token bearer para autenticação no Microsoft Foundry, como um token de acesso do Microsoft Entra. O Claude Code o envia como o cabeçalho `Authorization: Bearer`. Tem precedência sobre `ANTHROPIC_FOUNDRY_API_KEY` e sobre a cadeia de credenciais padrão do Azure. Consulte [Microsoft Foundry](/docs/pt/microsoft-foundry). Requer o Claude Code v2.1.203 ou posterior |

184| `ANTHROPIC_FOUNDRY_BASE_URL` | URL base completa para o recurso do Microsoft Foundry (por exemplo, `https://my-resource.services.ai.azure.com/anthropic`). Alternativa a `ANTHROPIC_FOUNDRY_RESOURCE` (consulte [Microsoft Foundry](/docs/pt/microsoft-foundry)) |188| `ANTHROPIC_FOUNDRY_BASE_URL` | URL base completa do recurso do Microsoft Foundry (por exemplo, `https://my-resource.services.ai.azure.com/anthropic`). Alternativa a `ANTHROPIC_FOUNDRY_RESOURCE` (consulte [Microsoft Foundry](/docs/pt/microsoft-foundry)) |

185| `ANTHROPIC_FOUNDRY_RESOURCE` | Nome do recurso do Microsoft Foundry (por exemplo, `my-resource`). O Claude Code [recusa uma URL ou nome de host](/docs/pt/errors#anthropic-foundry-resource-must-be-a-foundry-resource-name). Obrigatório se `ANTHROPIC_FOUNDRY_BASE_URL` não estiver definido (consulte [Microsoft Foundry](/docs/pt/microsoft-foundry)) |189| `ANTHROPIC_FOUNDRY_RESOURCE` | Nome do recurso do Microsoft Foundry (por exemplo, `my-resource`). O Claude Code [recusa uma URL ou nome de host](/docs/pt/errors#anthropic-foundry-resource-must-be-a-foundry-resource-name). Obrigatória se `ANTHROPIC_FOUNDRY_BASE_URL` não estiver definida (consulte [Microsoft Foundry](/docs/pt/microsoft-foundry)) |

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

187| `ANTHROPIC_ORGANIZATION_ID` | ID da organização para [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Defina-o junto com `ANTHROPIC_FEDERATION_RULE_ID`. Consulte [precedência de autenticação](/docs/pt/authentication#authentication-precedence) |191| `ANTHROPIC_ORGANIZATION_ID` | ID da organização para a [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Defina-a junto com `ANTHROPIC_FEDERATION_RULE_ID`. Consulte [precedência de autenticação](/docs/pt/authentication#authentication-precedence) |

188| `ANTHROPIC_PROFILE` | Nome do perfil da Anthropic com o qual se autenticar, como um criado por [`ant auth login`](https://platform.claude.com/docs/en/cli-sdks-libraries/cli/authentication) ou ao [entrar em uma conta do Console sem uma chave de API](/docs/pt/authentication#sign-in-without-an-api-key). Consulte [precedência de autenticação](/docs/pt/authentication#authentication-precedence) |192| `ANTHROPIC_PROFILE` | Nome do perfil da Anthropic com o qual autenticar, como um criado por [`ant auth login`](https://platform.claude.com/docs/en/cli-sdks-libraries/cli/authentication) ou ao [entrar em uma conta do Console sem uma chave de API](/docs/pt/authentication#sign-in-without-an-api-key). Consulte [precedência de autenticação](/docs/pt/authentication#authentication-precedence) |

189| `ANTHROPIC_SMALL_FAST_MODEL` | \[DESCONTINUADO] Nome do [modelo da classe Haiku para tarefas em segundo plano](/docs/pt/costs) |193| `ANTHROPIC_SMALL_FAST_MODEL` | \[DESCONTINUADA] Nome do [modelo da classe Haiku para tarefas em segundo plano](/docs/pt/costs) |

190| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | Sobrescreve a região da AWS para o modelo da classe Haiku ao usar o Amazon Bedrock ou o Amazon Bedrock Mantle. No Amazon Bedrock, isso só tem efeito quando `ANTHROPIC_DEFAULT_HAIKU_MODEL` ou o descontinuado `ANTHROPIC_SMALL_FAST_MODEL` também está definido, já que, caso contrário, o Amazon Bedrock executa tarefas em segundo plano no [modelo Sonnet padrão ou no modelo principal](/docs/pt/amazon-bedrock#4-pin-model-versions) na região da sessão |194| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | Sobrescreve a região da AWS para o modelo da classe Haiku ao usar o Amazon Bedrock ou o Amazon Bedrock Mantle. No Amazon Bedrock, só tem efeito quando `ANTHROPIC_DEFAULT_HAIKU_MODEL` ou a descontinuada `ANTHROPIC_SMALL_FAST_MODEL` também estiver definida, pois, caso contrário, o Amazon Bedrock executa tarefas em segundo plano no [modelo Sonnet padrão ou no modelo principal](/docs/pt/amazon-bedrock#4-pin-model-versions) na região da sessão |

191| `ANTHROPIC_VERTEX_BASE_URL` | Sobrescreve a URL do endpoint do Google Cloud's Agent Platform. Use para endpoints personalizados do Google Cloud's Agent Platform ou ao rotear por meio de um [gateway de LLM](/docs/pt/llm-gateway). Consulte [Google Cloud's Agent Platform](/docs/pt/google-vertex-ai) |195| `ANTHROPIC_VERTEX_BASE_URL` | Sobrescreve a URL do endpoint do Google Cloud's Agent Platform. Use para endpoints personalizados do Google Cloud's Agent Platform ou ao rotear por meio de um [gateway de LLM](/docs/pt/llm-gateway). Consulte [Google Cloud's Agent Platform](/docs/pt/google-vertex-ai) |

192| `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) |

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

194| `API_FORCE_IDLE_TIMEOUT` | Sobrescreve o timeout de inatividade do corpo de 5 minutos que aborta uma resposta de modelo via 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 chunks, ou `1` para mantê-lo ativo em todos os provedores. Quando não definido, 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` definido. Os [watchdogs de stream](/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 |

195| `API_TIMEOUT_MS` | Timeout para requisições da API em milissegundos (padrão: 600000, ou 10 minutos; máximo: 2147483647). Aumente-o quando as requisições atingirem o timeout em redes lentas ou ao rotear por meio de um proxy. Valores acima do máximo causam overflow no timer subjacente e fazem as requisições falharem imediatamente |199| `API_TIMEOUT_MS` | Timeout para requisições de API em milissegundos (padrão: 600000, ou 10 minutos; máximo: 2147483647). Aumente-o quando as requisições atingirem o timeout em redes lentas ou ao rotear por meio de um proxy. Valores acima do máximo causam overflow no temporizador subjacente e fazem as requisições falharem imediatamente |

196| `AWS_BEARER_TOKEN_BEDROCK` | Chave de API do Amazon Bedrock para autenticação (consulte [Amazon Bedrock API keys](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/)) |

197| `BASH_DEFAULT_TIMEOUT_MS` | Timeout padrão para um comando em primeiro plano das ferramentas Bash ou PowerShell, 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 |

198| `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) |

199| `BASH_MAX_TIMEOUT_MS` | Timeout máximo que o modelo pode definir para um comando em primeiro plano das ferramentas Bash ou PowerShell, em milissegundos (padrão: 600000, ou 10 minutos). O limite efetivo é o maior entre este e `BASH_DEFAULT_TIMEOUT_MS`. Um limite efetivo maior que 2 horas também se torna o [limite de tempo para comandos em segundo plano](/docs/pt/tools-reference#time-limit-for-background-commands) máximo em sessões não supervisionadas. O limite de tempo em segundo plano requer o Claude Code v2.1.285 ou posterior |203| `BASH_MAX_TIMEOUT_MS` | Timeout máximo que o modelo pode definir para um comando da ferramenta Bash ou PowerShell em primeiro plano, em milissegundos (padrão: 600000, ou 10 minutos). O teto efetivo é o maior entre este valor e `BASH_DEFAULT_TIMEOUT_MS`. Um teto efetivo superior a 2 horas também se torna o [limite de tempo para comandos em segundo plano](/docs/pt/tools-reference#time-limit-for-background-commands) máximo em sessões não supervisionadas. O limite de tempo em segundo plano requer o Claude Code v2.1.285 ou posterior |

200| `BETA_TRACING_ENDPOINT` | Endpoint OTLP/HTTP para [tracing beta detalhado](/docs/pt/monitoring-usage#traces-beta): com `ENABLE_BETA_TRACING_DETAILED=1`, logs e traces vão para ele em vez dos exportadores configurados. Defina-o no seu shell, nas configurações de usuário ou nas configurações gerenciadas. Ignorado em [configurações de projeto e locais](/docs/pt/settings-reference#variables-claude-code-ignores-in-env) |204| `BETA_TRACING_ENDPOINT` | Endpoint OTLP/HTTP para o [tracing beta detalhado](/docs/pt/monitoring-usage#traces-beta): com `ENABLE_BETA_TRACING_DETAILED=1`, logs e traces são enviados para ele em vez dos exportadores configurados. 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) |

201| `CCR_FORCE_BUNDLE` | Defina como `1` para forçar o [`claude --cloud`](/docs/pt/claude-code-on-the-web#send-local-repositories-without-github) a empacotar e enviar seu repositório local em vez de cloná-lo a partir do seu remoto |205| `CCR_FORCE_BUNDLE` | Defina como `1` para forçar o [`claude --cloud`](/docs/pt/claude-code-on-the-web#send-local-repositories-without-github) a empacotar e enviar seu repositório local em vez de cloná-lo do remoto |

202| `CLAUDECODE` | Definida como `1` em subprocessos que o Claude Code inicia (ferramentas Bash e PowerShell, sessões tmux, comandos de [hook](/docs/pt/hooks), comandos de [linha de status](/docs/pt/statusline), subprocessos de [servidor MCP](/docs/pt/mcp) stdio). As extensões de IDE também a definem em seus terminais integrados. Use para detectar quando um script está sendo executado dentro de um subprocesso iniciado pelo Claude Code. Para verificar se o processo atual foi iniciado diretamente por uma chamada de ferramenta ou hook, e não dentro de um servidor MCP stdio que o Claude Code iniciou, use `CLAUDE_CODE_CHILD_SESSION` em vez disso |206| `CLAUDECODE` | Definida como `1` em subprocessos que o Claude Code inicia (ferramentas Bash e PowerShell, sessões do tmux, comandos de [hook](/docs/pt/hooks), comandos de [linha de status](/docs/pt/statusline), subprocessos de [servidor MCP](/docs/pt/mcp) stdio). As extensões de IDE também a definem em seus terminais integrados. Use para detectar quando um script está sendo executado dentro de um subprocesso iniciado pelo Claude Code. Para verificar se o processo atual foi iniciado diretamente por uma chamada de ferramenta ou hook, e não dentro de um servidor MCP stdio que o Claude Code iniciou, use `CLAUDE_CODE_CHILD_SESSION` |

203| `CLAUDE_AFK_COUNTDOWN_MS` | Quantos milissegundos antes da continuação automática a contagem regressiva na tela aparece em uma caixa de diálogo [`AskUserQuestion`](/docs/pt/tools-reference) não respondida. Padrão `20000` (20 segundos), limitado ao timeout de continuação automática. Não tem efeito a menos que a continuação automática esteja ativada; consulte a configuração [`askUserQuestionTimeout`](/docs/pt/settings-reference#askuserquestiontimeout) e `CLAUDE_AFK_TIMEOUT_MS`. Ignorado em [configurações de projeto e locais](/docs/pt/settings-reference#variables-claude-code-ignores-in-env). Requer o Claude Code v2.1.198 ou posterior |207| `CLAUDE_AFK_COUNTDOWN_MS` | Quantos milissegundos antes da continuação automática a contagem regressiva aparece na tela em um diálogo [`AskUserQuestion`](/docs/pt/tools-reference) não respondido. Padrão `20000` (20 segundos), limitado ao timeout da continuação automática. Não tem efeito a menos que a continuação automática esteja ativada; consulte a configuração [`askUserQuestionTimeout`](/docs/pt/settings-reference#askuserquestiontimeout) e `CLAUDE_AFK_TIMEOUT_MS`. Ignorada nas [configurações de projeto e locais](/docs/pt/settings-reference#variables-claude-code-ignores-in-env). Requer o Claude Code v2.1.198 ou posterior |

204| `CLAUDE_AFK_TIMEOUT_MS` | Quantos milissegundos de inatividade antes que uma caixa de diálogo [`AskUserQuestion`](/docs/pt/tools-reference) não respondida continue automaticamente sem você. A continuação automática fica desativada por padrão; ative-a com a configuração [`askUserQuestionTimeout`](/docs/pt/settings-reference#askuserquestiontimeout). Esta variável é uma substituição para demonstrações e testes automatizados: quando definida, tem precedência sobre essa configuração e ativa a continuação automática mesmo quando a configuração não está definida ou é `never`. Definir `0` não desativa o timeout; fecha a caixa de diálogo imediatamente. Ignorado em [configurações de projeto e locais](/docs/pt/settings-reference#variables-claude-code-ignores-in-env). Antes da v2.1.200, a continuação automática ficava ativada por padrão com um timeout de `60000` (60 segundos). Requer o Claude Code v2.1.198 ou posterior |208| `CLAUDE_AFK_TIMEOUT_MS` | Quantos milissegundos de inatividade antes que um diálogo [`AskUserQuestion`](/docs/pt/tools-reference) não respondido continue automaticamente sem você. A continuação automática fica desativada por padrão; ative-a com a configuração [`askUserQuestionTimeout`](/docs/pt/settings-reference#askuserquestiontimeout). Esta variável é uma substituição para demonstrações e testes automatizados: quando definida, tem precedência sobre essa configuração e ativa a continuação automática mesmo quando a configuração não está definida ou é `never`. Definir `0` não desativa o timeout; fecha o diálogo imediatamente. Ignorada nas [configurações de projeto e locais](/docs/pt/settings-reference#variables-claude-code-ignores-in-env). Antes da v2.1.200, a continuação automática ficava ativada por padrão com um timeout de `60000` (60 segundos). Requer o Claude Code v2.1.198 ou posterior |

205| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Defina como `1` para desativar todos os tipos de [subagente](/docs/pt/sub-agents) integrados, como Explore e Plan. Aplica-se apenas no modo não interativo (a flag `-p`). Útil para usuários do SDK que querem começar do zero. Isso também remove `general-purpose`, o subagente que o Claude Code executa quando uma chamada da ferramenta Agent omite `subagent_type`. Essa chamada então falha com [`subagent_type is required`](/docs/pt/errors#subagent-type-is-required) |209| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Defina como `1` para desativar todos os tipos de [subagente](/docs/pt/sub-agents) integrados, como Explore e Plan. Aplica-se apenas no modo não interativo (a flag `-p`). Útil para usuários do SDK que querem começar do zero. Isso também remove `general-purpose`, o subagente que o Claude Code executa quando uma chamada da ferramenta Agent omite `subagent_type`. Tal chamada então falha com [`subagent_type is required`](/docs/pt/errors#subagent-type-is-required) |

206| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | Defina como `1` para omitir o prefixo `mcp__<server>__` nos nomes de ferramentas de servidores MCP criados pelo SDK. As ferramentas usam seus nomes originais. Apenas para uso com o SDK |210| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | Defina como `1` para omitir o prefixo `mcp__<server>__` nos nomes de ferramentas de servidores MCP criados pelo SDK. As ferramentas usam seus nomes originais. Apenas para uso com o SDK |

207| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Timeout de travamento em milissegundos para subagentes. Padrão `600000` (10 minutos); se você aumentar `CLAUDE_STREAM_IDLE_TIMEOUT_MS` enquanto o watchdog de stream estiver ativo, o padrão aumenta junto, conforme descrito em [Lidar com respostas lentas ou travadas da API](/docs/pt/agent-sdk/typescript#handle-slow-or-stalled-api-responses). O timer é reiniciado a cada evento de progresso do streaming; se nenhum progresso chegar dentro da janela, o Claude Code aborta o subagente e relata o travamento ao pai |211| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Timeout de travamento em milissegundos para subagentes. Também abrange [agentes de workflow](/docs/pt/workflows#when-an-agent-stalls-and-restarts) no Claude Code v2.1.286 ou posterior. Padrão `600000` (10 minutos); se você aumentar `CLAUDE_STREAM_IDLE_TIMEOUT_MS` enquanto o watchdog de stream estiver ativo, o padrão aumenta junto, conforme descrito em [Lidar com respostas de API lentas ou travadas](/docs/pt/agent-sdk/typescript#handle-slow-or-stalled-api-responses) |

208| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | Define a porcentagem (1-100) da janela de compactação automática na qual a compactação automática é acionada. Use valores menores, como `50`, para compactar mais cedo; a variável não pode elevar o limite, então valores acima da porcentagem padrão são ignorados. Aplica-se apenas em sessões que [compactam antes do limite de contexto do modelo](/docs/pt/model-config#context-window-and-auto-compaction). Aplica-se tanto às conversas principais quanto aos subagentes |212| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | Define a porcentagem (1-100) da janela de compactação automática na qual a compactação automática é acionada. Use valores menores, como `50`, para compactar mais cedo; a variável não pode elevar o limite, então valores acima da porcentagem padrão são ignorados. Aplica-se apenas em sessões que [compactam antes do limite de contexto do modelo](/docs/pt/model-config#context-window-and-auto-compaction). Aplica-se tanto às conversas principais quanto aos subagentes |

209| `CLAUDE_AUTO_BACKGROUND_TASKS` | Defina como `1` para forçar a ativação do envio automático para segundo plano de tarefas de agente de longa duração. Quando ativado, os subagentes são movidos para segundo plano após cerca de dois minutos de execução. Também ativa o [envio automático para segundo plano de chamadas longas de ferramentas MCP](/docs/pt/mcp#automatic-backgrounding-of-long-tool-calls) no modo não interativo no Claude Code v2.1.212 ou posterior |213| `CLAUDE_AUTO_BACKGROUND_TASKS` | Defina como `1` para forçar a ativação do envio automático para segundo plano de tarefas de agente de longa duração. Quando ativado, os subagentes são movidos para segundo plano após cerca de dois minutos de execução. Também ativa o [envio automático para segundo plano de chamadas longas de ferramentas MCP](/docs/pt/mcp#automatic-backgrounding-of-long-tool-calls) no modo não interativo no Claude Code v2.1.212 ou posterior |

210| `CLAUDE_AX_PREPARK_MS` | No [modo de leitor de tela](/docs/pt/accessibility), quantos milissegundos o Claude Code aguarda antes de escrever uma linha nova ou alterada. Padrão `0`, então o Claude Code não aguarda. Antes da v2.1.287, o padrão era `50`. O Claude Code limita a espera a `5000`. Requer o Claude Code v2.1.233 ou posterior |214| `CLAUDE_AX_PREPARK_MS` | No [modo de leitor de tela](/docs/pt/accessibility), quantos milissegundos o Claude Code espera antes de escrever uma linha nova ou alterada. Padrão `0`, então o Claude Code não espera. Antes da v2.1.287, o padrão era `50`. O Claude Code limita a espera a `5000`. Requer o Claude Code v2.1.233 ou posterior |

211| `CLAUDE_AX_SCREEN_READER` | Defina como `1` para renderizar uma saída compatível com leitores de tela: texto simples sem bordas decorativas ou animações. Defina como `0` para forçar a desativação do modo de leitor de tela mesmo quando [`axScreenReader`](/docs/pt/settings-reference#axscreenreader) for `true`. A flag [`--ax-screen-reader`](/docs/pt/cli-reference#cli-flags) tem precedência. Requer o Claude Code v2.1.181 ou posterior |215| `CLAUDE_AX_SCREEN_READER` | Defina como `1` para renderizar uma saída adequada a leitores de tela: texto simples sem bordas decorativas nem animações. Defina como `0` para forçar a desativação do modo de leitor de tela mesmo quando [`axScreenReader`](/docs/pt/settings-reference#axscreenreader) for `true`. A flag [`--ax-screen-reader`](/docs/pt/cli-reference#cli-flags) tem precedência. Requer o Claude Code v2.1.181 ou posterior |

212| `CLAUDE_AX_STARTUP_QUIET_MS` | No [modo de leitor de tela](/docs/pt/accessibility), por quantos milissegundos o Claude Code segura a primeira renderização da interface após a linha de confirmação de inicialização, para que seu leitor de tela possa ler a linha por completo antes que uma nova saída a interrompa. Padrão `3000`. Defina `0` para renderizar imediatamente. O Claude Code limita a espera a `600000` (10 minutos). Seu primeiro pressionamento de tecla encerra a espera antecipadamente. Requer o Claude Code v2.1.217 ou posterior |216| `CLAUDE_AX_STARTUP_QUIET_MS` | No [modo de leitor de tela](/docs/pt/accessibility), por quantos milissegundos o Claude Code retém a primeira renderização da interface após a linha de confirmação de inicialização, para que seu leitor de tela possa ler a linha por completo antes que uma nova saída a interrompa. Padrão `3000`. Defina `0` para renderizar imediatamente. O Claude Code limita a retenção a `600000` (10 minutos). Seu primeiro pressionamento de tecla encerra a retenção antecipadamente. Requer o Claude Code v2.1.217 ou posterior |

213| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | Retorna ao diretório de trabalho original após cada comando Bash ou PowerShell na sessão principal |217| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | Retorna ao diretório de trabalho original após cada comando Bash ou PowerShell na sessão principal |

214| `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` | Timeout em milissegundos para o watchdog de inatividade de streaming em nível de bytes; quando definido, tem precedência sobre `CLAUDE_STREAM_IDLE_TIMEOUT_MS` para esse watchdog e mantém inalterado o watchdog em nível de eventos. O Claude Code restringe esta variável a um valor entre 10 segundos e 30 minutos. Requer o Claude Code v2.1.210 ou posterior |218| `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` | Timeout em milissegundos para o watchdog de inatividade de streaming no nível de bytes; quando definida, tem precedência sobre `CLAUDE_STREAM_IDLE_TIMEOUT_MS` para esse watchdog e não altera o watchdog no nível de eventos. O Claude Code restringe esta variável a um valor entre 10 segundos e 30 minutos. Requer o Claude Code v2.1.210 ou posterior |

215| `CLAUDE_CLIENT_PRESENCE_FILE` | Caminho para um arquivo que uma ferramenta externa, como um monitor de bloqueio de tela, cria quando você desbloqueia a tela e exclui quando você a bloqueia. Enquanto o arquivo existir, o Claude Code ignora as [notificações push móveis do Remote Control](/docs/pt/remote-control#mobile-push-notifications), para que você deixe de receber notificações push enquanto estiver usando ativamente o computador. Quando o arquivo estiver ausente ou ilegível, as notificações são enviadas normalmente. O Claude Code verifica o arquivo uma vez por evento que aciona uma notificação push, em vez de consultá-lo periodicamente. Requer o Claude Code v2.1.181 ou posterior |219| `CLAUDE_CLIENT_PRESENCE_FILE` | Caminho para um arquivo que uma ferramenta externa, como um monitor de bloqueio de tela, cria quando você desbloqueia a tela e exclui quando você a bloqueia. Enquanto o arquivo existir, o Claude Code ignora as [notificações push móveis do Remote Control](/docs/pt/remote-control#mobile-push-notifications), para que você pare de receber pushes enquanto estiver usando ativamente o computador. Quando o arquivo está ausente ou ilegível, as notificações são enviadas normalmente. O Claude Code verifica o arquivo uma vez por evento que aciona um push, em vez de consultá-lo periodicamente. Requer o Claude Code v2.1.181 ou posterior |

216| `CLAUDE_CODE_ACCESSIBILITY` | Defina como `1` para manter o cursor nativo do terminal visível e desativar o indicador de cursor com texto invertido. Permite que ampliadores de tela, como o Zoom do macOS, acompanhem a posição do cursor |220| `CLAUDE_CODE_ACCESSIBILITY` | Defina como `1` para manter o cursor nativo do terminal visível e desativar o indicador de cursor com texto invertido. Permite que ampliadores de tela, como o Zoom do macOS, acompanhem a posição do cursor |

217| `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD` | Defina como `1` para carregar arquivos de memória de diretórios especificados com `--add-dir`. Carrega `CLAUDE.md`, `.claude/CLAUDE.md`, `.claude/rules/*.md` e `CLAUDE.local.md`. Por padrão, diretórios adicionais não carregam arquivos de memória |221| `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD` | Defina como `1` para carregar arquivos de memória de diretórios especificados com `--add-dir`. Carrega `CLAUDE.md`, `.claude/CLAUDE.md`, `.claude/rules/*.md` e `CLAUDE.local.md`. Por padrão, diretórios adicionais não carregam arquivos de memória |

218| `CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT` | Defina como `1` para redesenhar a tela inteira a cada quadro na [renderização em tela cheia](/docs/pt/fullscreen) em vez de enviar atualizações incrementais. Use isto se o modo de tela cheia mostrar fragmentos de texto desatualizados ou fora de lugar. O Claude Code ativa isto automaticamente para sessões em segundo plano e para a [visualização de agentes](/docs/pt/agent-view) no Windows |222| `CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT` | Defina como `1` para redesenhar a tela inteira a cada quadro na [renderização em tela cheia](/docs/pt/fullscreen), em vez de enviar atualizações incrementais. Use se o modo de tela cheia mostrar fragmentos de texto desatualizados ou fora do lugar. O Claude Code ativa isso automaticamente para sessões em segundo plano e para a [visualização de agentes](/docs/pt/agent-view) no Windows |

219| `CLAUDE_CODE_ALWAYS_ENABLE_EFFORT` | Defina como `1` para enviar o parâmetro de [esforço](/docs/pt/model-config#adjust-effort-level) em toda requisição, mesmo quando o Claude Code não reconhecer o ID do modelo como compatível com esforço. Use isto ao rotear por meio de um [gateway de LLM](/docs/pt/llm-gateway) ou provedor terceiro que disponibiliza modelos sob identificadores personalizados. Modelos que rejeitam o parâmetro de esforço na API, incluindo os modelos Claude 3, Sonnet 4.0 e 4.5, Opus 4.0 e 4.1 e Haiku 4.5, continuam excluídos para que as requisições não falhem |223| `CLAUDE_CODE_ALWAYS_ENABLE_EFFORT` | Defina como `1` para enviar o parâmetro de [esforço](/docs/pt/model-config#adjust-effort-level) em todas as requisições, mesmo quando o Claude Code não reconhece o ID do modelo como compatível com esforço. Use ao rotear por meio de um [gateway de LLM](/docs/pt/llm-gateway) ou provedor de terceiros que disponibiliza modelos com identificadores personalizados. Modelos que rejeitam o parâmetro de esforço na API, incluindo os modelos Claude 3, Sonnet 4.0 e 4.5, Opus 4.0 e 4.1 e Haiku 4.5, continuam excluídos para que as requisições não falhem |

220| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | Intervalo em milissegundos no qual as credenciais devem ser atualizadas (ao usar [`apiKeyHelper`](/docs/pt/settings-reference#apikeyhelper)) |224| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | Intervalo em milissegundos no qual as credenciais devem ser atualizadas (ao usar [`apiKeyHelper`](/docs/pt/settings-reference#apikeyhelper)) |

221| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | Defina como `0` para impedir que o Claude Code abra o navegador automaticamente quando um novo [artefato](/docs/pt/artifacts#create-an-artifact) for publicado |225| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | Defina como `0` para impedir que o Claude Code abra o navegador automaticamente quando um novo [artefato](/docs/pt/artifacts#create-an-artifact) for publicado |

222| `CLAUDE_CODE_ARTIFACT_COMMENTS` | Defina como `0` para impedir que o Claude leia e responda a [comentários em um artefato](/docs/pt/artifacts#collect-comments-on-an-artifact). Não tem efeito quando `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` tiver [desativado os artefatos](/docs/pt/artifacts#availability). Requer o Claude Code v2.1.221 ou posterior |226| `CLAUDE_CODE_ARTIFACT_COMMENTS` | Defina como `0` para impedir que o Claude leia e responda a [comentários em um artefato](/docs/pt/artifacts#collect-comments-on-an-artifact). Não tem efeito quando `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` [desativou os artefatos](/docs/pt/artifacts#availability). Requer o Claude Code v2.1.221 ou posterior |

223| `CLAUDE_CODE_ARTIFACT_COMMENTS_AUTOREACT` | Defina como `0` para impedir que o Claude [responda por conta própria aos comentários enviados a ele](/docs/pt/artifacts#let-claude-reply-to-comments-on-its-own). Requer o Claude Code v2.1.228 ou posterior |227| `CLAUDE_CODE_ARTIFACT_COMMENTS_AUTOREACT` | Defina como `0` para impedir que o Claude [responda por conta própria aos comentários enviados a ele](/docs/pt/artifacts#let-claude-reply-to-comments-on-its-own). Requer o Claude Code v2.1.228 ou posterior |

224| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Defina como `0` para omitir o [bloco de atribuição](/docs/pt/llm-gateway-protocol#system-prompt-attribution-block), que contém a versão do cliente e uma impressão digital do prompt, do início do system prompt. O cache em uma conexão direta com a API da Anthropic não é afetado em nenhum dos casos. Em algumas configurações de conexão direta, o Claude Code mantém o bloco nas requisições do classificador do [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) mesmo quando você define `0`. Em [Bloco de atribuição do system prompt](/docs/pt/llm-gateway-protocol#system-prompt-attribution-block), verifique quais conexões e credenciais isso abrange. Antes da v2.1.181, o bloco incluía um token por requisição em URLs base personalizadas e em conexões do Microsoft Foundry, então, nessas versões, defina-o como `0` quando seu gateway de LLM fizer cache com base no corpo da requisição ou encaminhar requisições a um provedor terceiro, ou quando você se conectar diretamente ao Microsoft Foundry |228| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Defina como `0` para omitir o [bloco de atribuição](/docs/pt/llm-gateway-protocol#system-prompt-attribution-block), que contém a versão do cliente e uma impressão digital do prompt, do início do system prompt. O cache em uma conexão direta com a API da Anthropic não é afetado em nenhum dos casos. Em algumas configurações de conexão direta, o Claude Code mantém o bloco nas requisições do classificador do [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) mesmo quando você define `0`. Em [Bloco de atribuição do system prompt](/docs/pt/llm-gateway-protocol#system-prompt-attribution-block), verifique quais conexões e credenciais isso abrange. Antes da v2.1.181, o bloco incluía um token por requisição em URLs base personalizadas e em conexões do Microsoft Foundry; portanto, nessas versões, defina-a como `0` quando o seu gateway de LLM fizer cache com base no corpo da requisição ou encaminhar requisições para um provedor de terceiros, ou quando você se conectar diretamente ao Microsoft Foundry |

225| `CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS` | Removida na v2.1.283. Use `CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE` em vez disso |229| `CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS` | Removida na v2.1.283. Use `CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE` |

226| `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 para o 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, então, quando esta variável estiver definida, essa porcentagem não indica mais quando a compactação será executada |230| `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 |

227| `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) |231| `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) |

228| `CLAUDE_CODE_AUTO_MODE_SERVER` | Controla se o Claude Code pede ao servidor para [revisar as ações do modo auto](/docs/pt/permission-modes#server-side-classifier-review). Defina como `0` para usar as requisições do próprio classificador do Claude Code em vez disso. 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 |232| `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 |

229| `CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS` | Tempo em milissegundos que o Claude Code aguarda 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 o `aws-vault`. Aplica-se ao Amazon Bedrock, ao [Claude Platform on AWS](/docs/pt/claude-platform-on-aws) e ao [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 |233| `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 |

230| `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 `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 |234| `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 |

231| `CLAUDE_CODE_BG_TASKS_REPORT_RUNNING` | Defina como `0` para fazer uma sessão não interativa informar um status ocioso ao seu host ao final de cada turno, mesmo enquanto trabalho em segundo plano ainda estiver em execução. Por padrão, a sessão continua informando um status de execução após o fim do turno enquanto trabalho em segundo plano, como um agente em segundo plano ou uma execução de [workflow](/docs/pt/workflows), ainda estiver ativo. Isso evita que um host que observa o status, como uma lista de sessões remotas, anuncie que o Claude está aguardando sua entrada no meio do trabalho. Comandos de shell em segundo plano, como um servidor de desenvolvimento, não mantêm o status de execução. O padrão de status de execução e a desativação com `0` requerem o Claude Code v2.1.269 ou posterior; em versões anteriores, defina `1` para manter o status de execução |235| `CLAUDE_CODE_BG_TASKS_REPORT_RUNNING` | Defina como `0` para fazer uma sessão não interativa informar um status ocioso ao seu host ao final de cada turno, mesmo enquanto houver trabalho em segundo plano em execução. Por padrão, a sessão continua informando um status de execução após o final do turno enquanto um trabalho em segundo plano, como um agente em segundo plano ou uma execução de [workflow](/docs/pt/workflows), ainda estiver ativo. Isso impede que um host que monitora o status, como uma lista de sessões remotas, anuncie que o Claude está aguardando sua entrada no meio do trabalho. Comandos de shell em segundo plano, como um servidor de desenvolvimento, não mantêm o status de execução. O padrão de status de execução e a desativação com `0` requerem o Claude Code v2.1.269 ou posterior; em versões anteriores, defina `1` para manter o status de execução |

232| `CLAUDE_CODE_BRIDGE_SESSION_ID` | Definida automaticamente nos subprocessos da ferramenta Bash e de [comandos de hook](/docs/pt/hooks) enquanto a sessão tem uma conexão ativa do [Remote Control](/docs/pt/remote-control), e removida quando a conexão termina. O valor é o ID da sessão no formato `session_`, o mesmo identificador que aparece na URL `claude.ai/code` da sessão, para que um script possa criar um link de volta para a sessão que o executou. Requer o Claude Code v2.1.199 ou posterior. Em [sessões na nuvem](/docs/pt/claude-code-on-the-web), leia `CLAUDE_CODE_REMOTE_SESSION_ID` em vez disso |236| `CLAUDE_CODE_BRIDGE_SESSION_ID` | Definida automaticamente nos subprocessos da ferramenta Bash e de [comandos de hook](/docs/pt/hooks) enquanto a sessão tem uma conexão ativa do [Remote Control](/docs/pt/remote-control), e removida quando a conexão termina. O valor é o ID da sessão no formato `session_`, o mesmo identificador que aparece na URL `claude.ai/code` da sessão, para que um script possa criar um link para a sessão que o executou. Requer o Claude Code v2.1.199 ou posterior. Em [sessões na nuvem](/docs/pt/claude-code-on-the-web), leia `CLAUDE_CODE_REMOTE_SESSION_ID` |

233| `CLAUDE_CODE_BS_AS_CTRL_BACKSPACE` | Defina como `0` para fazer o Claude Code ler o byte `0x08`, também escrito `^H`, como Backspace simples, ou `1` para lê-lo como Ctrl+Backspace. Qualquer um dos valores substitui o padrão da plataforma. Por padrão, o Claude Code o lê como Ctrl+Backspace no Windows, exceto quando `TERM_PROGRAM` é `mintty` ou `TERM` é `cygwin`, e como Backspace simples no macOS e no Linux. Defina `0` em um terminal do Windows onde o [Backspace exclui uma palavra inteira](/docs/pt/terminal-config#fix-backspace-deleting-a-whole-word-on-windows) |237| `CLAUDE_CODE_BS_AS_CTRL_BACKSPACE` | Defina como `0` para fazer o Claude Code ler o byte `0x08`, também escrito `^H`, como Backspace simples, ou como `1` para lê-lo como Ctrl+Backspace. Qualquer um dos valores substitui o padrão da plataforma. Por padrão, o Claude Code o lê como Ctrl+Backspace no Windows, exceto quando `TERM_PROGRAM` é `mintty` ou `TERM` é `cygwin`, e como Backspace simples no macOS e no Linux. Defina `0` em um terminal do Windows em que o [Backspace apaga uma palavra inteira](/docs/pt/terminal-config#fix-backspace-deleting-a-whole-word-on-windows) |

234| `CLAUDE_CODE_CERT_STORE` | Lista separada por vírgulas de fontes de certificados de CA para conexões TLS. `bundled` é o conjunto de CAs da Mozilla incluído no Claude Code. `system` é o repositório de confiança do sistema operacional, lido apenas em runtimes com `tls.getCACertificates`: o binário nativo, ou Node 22.15 ou posterior para instalações via npm. Consulte [Repositório de certificados de CA](/docs/pt/network-config#ca-certificate-store). O padrão é `bundled,system` |238| `CLAUDE_CODE_CERT_STORE` | Lista separada por vírgulas de fontes de certificados de CA para conexões TLS. `bundled` é o conjunto de CAs da Mozilla distribuído com o Claude Code. `system` é o repositório de confiança do sistema operacional, lido apenas em runtimes com `tls.getCACertificates`: o binário nativo, ou Node 22.15 ou posterior para instalações via npm. Consulte [Repositório de certificados de CA](/docs/pt/network-config#ca-certificate-store). O padrão é `bundled,system` |

235| `CLAUDE_CODE_CHILD_SESSION` | Definida como `1` em subprocessos que o Claude Code inicia por meio das ferramentas Bash, PowerShell e Monitor, de comandos de [hook](/docs/pt/hooks) e de comandos de [linha de status](/docs/pt/statusline). Não é definida para subprocessos de [servidor MCP](/docs/pt/mcp) stdio, que são de longa duração e sobrevivem à sessão que os iniciou. Diferentemente de `CLAUDECODE`, esta é definida apenas pelo próprio Claude Code quando ele inicia um subprocesso, e não por extensões de IDE, então ela distingue de forma confiável uma sessão aninhada de um `claude` de nível superior iniciado em um terminal integrado ao IDE. Uma TUI interativa `claude` aninhada iniciada dessa forma é automaticamente excluída de `--resume`, `--continue`, do histórico da seta para cima e da lista `claude agents`. Sessões não interativas `claude -p` continuam sendo persistidas. Defina `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1` para sobrescrever essa exclusão. Requer o Claude Code v2.1.172 ou posterior |239| `CLAUDE_CODE_CHILD_SESSION` | Definida como `1` em subprocessos que o Claude Code inicia por meio das ferramentas Bash, PowerShell e Monitor, de comandos de [hook](/docs/pt/hooks) e de comandos de [linha de status](/docs/pt/statusline). Não é definida para subprocessos de [servidor MCP](/docs/pt/mcp) stdio, que são de longa duração e sobrevivem à sessão que os iniciou. Diferentemente de `CLAUDECODE`, esta variável é definida apenas pelo próprio Claude Code quando ele inicia um subprocesso, e não por extensões de IDE, de modo que ela distingue de forma confiável uma sessão aninhada de um `claude` de nível superior iniciado em um terminal integrado ao IDE. Uma TUI `claude` interativa aninhada iniciada dessa forma é automaticamente excluída de `--resume`, `--continue`, do histórico da seta para cima e da lista `claude agents`. Sessões não interativas `claude -p` continuam sendo persistidas. Defina `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1` para sobrescrever essa exclusão. Requer o Claude Code v2.1.172 ou posterior |

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

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

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

239| `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 via streaming. Use `API_TIMEOUT_MS` para o timeout por requisição. Para a fase de cabeçalhos de resposta de uma requisição via streaming, consulte `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` |243| `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` |

240| `CLAUDE_CODE_DEBUG_LOGS_DIR` | Sobrescreve o caminho do arquivo de log de depuração. Apesar do nome, este é um caminho de arquivo, não um diretório. Requer que o modo de depuração seja ativado separadamente via `--debug`, `/debug` ou a variável de ambiente `DEBUG`: definir apenas esta variável não ativa o 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` |244| `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` |

241| `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 eleve para `error` para reduzir o ruído |245| `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 |

242| `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 os modelos que são executados com a janela de 1M por padrão a uma janela de 200K. 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 ID de modelo de gateway ou personalizado](/docs/pt/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |246| `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) |

243| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Defina como `1` para desativar o [raciocínio adaptativo](/docs/pt/model-config#adjust-effort-level) no Opus 4.6 e no Sonnet 4.6 e recorrer ao orçamento fixo de pensamento controlado por `MAX_THINKING_TOKENS`. Não tem efeito nos [modelos Fable](/docs/pt/model-config#extended-thinking), no Sonnet 5 e posteriores, no Haiku 5.5 ou no Opus 4.7 e posteriores, que sempre usam raciocínio adaptativo |247| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Defina como `1` para desativar o [raciocínio adaptativo](/docs/pt/model-config#adjust-effort-level) no Opus 4.6 e no Sonnet 4.6 e recorrer ao orçamento fixo de pensamento controlado por `MAX_THINKING_TOKENS`. Não tem efeito nos [modelos Fable](/docs/pt/model-config#extended-thinking), no Sonnet 5 e posteriores, no Haiku 5.5 ou no Opus 4.7 e posteriores, que sempre usam raciocínio adaptativo |

244| `CLAUDE_CODE_DISABLE_ADMIN_ENV_UNION` | Defina como `1` para impedir que o Claude Code mescle os blocos `env` das [configurações gerenciadas](/docs/pt/managed-settings#precedence-within-the-managed-tier) por chave entre fontes de administrador, de modo que apenas o bloco `env` inteiro da fonte de maior prioridade se aplique, como antes da v2.1.223. Defina-a no ambiente que inicia o Claude Code, já que o Claude Code ignora uma cópia entregue por meio de um bloco `env` de configurações. Requer o Claude Code v2.1.223 ou posterior |248| `CLAUDE_CODE_DISABLE_ADMIN_ENV_UNION` | Defina como `1` para impedir que o Claude Code mescle, por chave, os blocos `env` das [configurações gerenciadas](/docs/pt/managed-settings#precedence-within-the-managed-tier) entre fontes de administração, de modo que apenas o bloco `env` inteiro da fonte de maior prioridade se aplique, como antes da v2.1.223. Defina-a no ambiente que inicia o Claude Code, pois o Claude Code ignora uma cópia entregue por meio de um bloco `env` de configurações. Requer o Claude Code v2.1.223 ou posterior |

245| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | Defina como `1` para desativar a [ferramenta advisor](/docs/pt/advisor). O comando `/advisor` fica indisponível, qualquer `advisorModel` configurado é ignorado e a flag `--advisor` é aceita, mas não tem efeito, para que scripts existentes que a passam continuem funcionando sem erros |249| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | Defina como `1` para desativar a [ferramenta advisor](/docs/pt/advisor). O comando `/advisor` fica indisponível, qualquer `advisorModel` configurado é ignorado e a flag `--advisor` é aceita, mas não tem efeito, de modo que scripts existentes que a passam continuam funcionando sem erros |

246| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | Defina como `1` para desativar os [agentes em segundo plano e a visualização de agentes](/docs/pt/agent-view): `claude agents`, `--bg`, `/background` e o supervisor sob demanda. Equivalente à configuração [`disableAgentView`](/docs/pt/settings-reference#disableagentview) |250| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | Defina como `1` para desativar os [agentes em segundo plano e a visualização de agentes](/docs/pt/agent-view): `claude agents`, `--bg`, `/background` e o supervisor sob demanda. Equivalente à configuração [`disableAgentView`](/docs/pt/settings-reference#disableagentview) |

247| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | Defina como `1` para desativar a [renderização em tela cheia](/docs/pt/fullscreen) e usar o renderizador clássico da tela principal. A conversa permanece no histórico de rolagem nativo do seu terminal, para que `Cmd+f` e o modo de cópia do tmux funcionem normalmente. Tem precedência sobre `CLAUDE_CODE_NO_FLICKER` e a configuração [`tui`](/docs/pt/settings-reference#tui). Você também pode alternar com `/tui default`. Não se aplica a sessões em segundo plano abertas a partir da [visualização de agentes](/docs/pt/agent-view), que sempre usam renderização em tela cheia |251| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | Defina como `1` para desativar a [renderização em tela cheia](/docs/pt/fullscreen) e usar o renderizador clássico da tela principal. A conversa permanece no histórico de rolagem nativo do seu terminal, para que `Cmd+f` e o modo de cópia do tmux funcionem normalmente. Tem precedência sobre `CLAUDE_CODE_NO_FLICKER` e a configuração [`tui`](/docs/pt/settings-reference#tui). Você também pode alternar com `/tui default`. Não se aplica a sessões em segundo plano abertas a partir da [visualização de agentes](/docs/pt/agent-view), que sempre usam a renderização em tela cheia |

248| `CLAUDE_CODE_DISABLE_ARTIFACT` | Defina como `1` para desativar a ferramenta [Artifact](/docs/pt/artifacts), que publica a saída da sessão como uma página web privada no claude.ai. Depois que você a define, nenhum arquivo de configurações reativa a ferramenta. Para desativar a ferramenta a partir de um arquivo de configurações, defina [`enableArtifact`](/docs/pt/settings-reference#enableartifact) como `false`; a chave descontinuada [`disableArtifact`](/docs/pt/settings-reference#disableartifact) também a desativa |252| `CLAUDE_CODE_DISABLE_ARTIFACT` | Defina como `1` para desativar a ferramenta [Artifact](/docs/pt/artifacts), que publica a saída da sessão como uma página web privada no claude.ai. Depois de definida, nenhum arquivo de configuração reativa a ferramenta. Para desativar a ferramenta a partir de um arquivo de configuração, defina [`enableArtifact`](/docs/pt/settings-reference#enableartifact) como `false`; a chave descontinuada [`disableArtifact`](/docs/pt/settings-reference#disableartifact) também a desativa |

249| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Defina como `1` para desativar o processamento de anexos. Menções a arquivos com a sintaxe `@` são enviadas como texto simples em vez de serem expandidas no conteúdo do arquivo. Ignorado em [configurações de projeto e locais](/docs/pt/settings-reference#variables-claude-code-ignores-in-env) |253| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Defina como `1` para desativar o processamento de anexos. Menções a arquivos com a sintaxe `@` são enviadas como texto simples em vez de serem expandidas no conteúdo do arquivo. Ignorada nas [configurações de projeto e locais](/docs/pt/settings-reference#variables-claude-code-ignores-in-env) |

250| `CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK` | Defina como `1` para fazer um processo do Claude Code executar seu comando [`gcpAuthRefresh`](/docs/pt/settings-reference#gcpauthrefresh) ou [`awsAuthRefresh`](/docs/pt/settings-reference#awsauthrefresh) por conta própria, em vez de aguardar enquanto outro processo o executa. Requer o Claude Code v2.1.286 ou posterior |254| `CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK` | Defina como `1` para fazer um processo do Claude Code executar ele mesmo o comando [`gcpAuthRefresh`](/docs/pt/settings-reference#gcpauthrefresh) ou [`awsAuthRefresh`](/docs/pt/settings-reference#awsauthrefresh), em vez de esperar enquanto outro processo o executa. Requer o Claude Code v2.1.286 ou posterior |

251| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Defina como `1` para desativar a [memória automática](/docs/pt/memory#auto-memory). Defina como `0` para forçar a ativação da memória automática mesmo quando o modo `--bare` ou [`autoMemoryEnabled: false`](/docs/pt/settings-reference#automemoryenabled) a desativaria. Quando desativada, o Claude não cria nem carrega arquivos de memória automática |255| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Defina como `1` para desativar a [memória automática](/docs/pt/memory#auto-memory). Defina como `0` para forçar a ativação da memória automática mesmo quando o modo `--bare` ou [`autoMemoryEnabled: false`](/docs/pt/settings-reference#automemoryenabled) a desativaria. Quando desativada, o Claude não cria nem carrega arquivos de memória automática |

252| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Defina como `1` para desativar toda a funcionalidade de tarefas em segundo plano, incluindo o parâmetro `run_in_background` nas ferramentas Bash e de subagente, o envio automático para segundo plano e o atalho Ctrl+B |256| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Defina como `1` para desativar todas as funcionalidades de tarefas em segundo plano, incluindo o parâmetro `run_in_background` nas ferramentas Bash e de subagente, o envio automático para segundo plano e o atalho Ctrl+B |

253| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | Defina como `1` para impedir que o Claude Code trate uma resposta via streaming do [Amazon Bedrock](/docs/pt/amazon-bedrock) com um cabeçalho `Content-Type` ausente ou vazio como o stream de eventos binário do Amazon Bedrock. Por padrão, o Claude Code presume que um gateway removeu o cabeçalho de uma resposta que, fora isso, não foi modificada, então ele decodifica o corpo e o streaming continua funcionando. Defina isto apenas para um gateway que também reemite o stream como server-sent events; o Claude Code então lê o corpo sem cabeçalho como server-sent events. Requer o Claude Code v2.1.239 ou posterior |257| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | Defina como `1` para impedir que o Claude Code trate uma resposta de streaming do [Amazon Bedrock](/docs/pt/amazon-bedrock) com um cabeçalho `Content-Type` ausente ou vazio como o stream de eventos binário do Amazon Bedrock. Por padrão, o Claude Code presume que um gateway removeu o cabeçalho de uma resposta que, de resto, não foi modificada; então ele decodifica o corpo e o streaming continua funcionando. Defina-a apenas para um gateway que também reemite o stream como server-sent events; o Claude Code então lê o corpo sem cabeçalho como server-sent events. Requer o Claude Code v2.1.239 ou posterior |

254| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | Defina como `1` para ignorar a verificação de que uma resposta via streaming do [Amazon Bedrock](/docs/pt/amazon-bedrock) contém o content-type `application/vnd.amazon.eventstream`. Sem esta variável, quando uma resposta contém um content-type diferente, o Claude Code faz a requisição falhar com um erro que nomeia esse tipo, o que significa que um [gateway ou proxy está transformando a resposta](/docs/pt/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy). Configure o gateway para encaminhar o cabeçalho `Content-Type` e o corpo sem modificações em vez de definir esta variável. Requer o Claude Code v2.1.208 ou posterior |258| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | Defina como `1` para ignorar a verificação de que uma resposta de streaming do [Amazon Bedrock](/docs/pt/amazon-bedrock) tem o content-type `application/vnd.amazon.eventstream`. Sem esta variável, quando uma resposta tem um content-type diferente, o Claude Code faz a requisição falhar com um erro que nomeia esse tipo, o que significa que um [gateway ou proxy está transformando a resposta](/docs/pt/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy). Configure o gateway para encaminhar o cabeçalho `Content-Type` e o corpo sem modificações, em vez de definir esta variável. Requer o Claude Code v2.1.208 ou posterior |

255| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Defina como `1` para interromper os comandos de shell em segundo plano em execução, os workflows dinâmicos e, a partir da v2.1.198, os subagentes em segundo plano de uma [sessão em segundo plano](/docs/pt/agent-view) quando o [supervisor](/docs/pt/agent-view#the-supervisor-process) para, reinicia ou atualiza o processo dessa sessão, em vez de repassá-los ao próximo processo da sessão. Afeta apenas esse repasse: enviar uma sessão para segundo plano com `←` ou [`/background`](/docs/pt/agent-view#from-inside-a-session) ainda transfere o trabalho em andamento, e `CLAUDE_DISABLE_ADOPT` desativa ambos. Requer o Claude Code v2.1.196 ou posterior |259| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Defina como `1` para interromper os comandos de shell em segundo plano em execução, os workflows dinâmicos e, a partir da v2.1.198, os subagentes em segundo plano de uma [sessão em segundo plano](/docs/pt/agent-view) quando o [supervisor](/docs/pt/agent-view#the-supervisor-process) para, reinicia ou atualiza o processo dessa sessão, em vez de transferi-los para o próximo processo da sessão. Afeta apenas essa transferência: enviar uma sessão para segundo plano com `←` ou [`/background`](/docs/pt/agent-view#from-inside-a-session) ainda transfere o trabalho em andamento, e `CLAUDE_DISABLE_ADOPT` desativa ambos. Requer o Claude Code v2.1.196 ou posterior |

256| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | Defina como `1` para impedir que o Claude Code encerre [comandos de shell em segundo plano](/docs/pt/interactive-mode#background-bash-commands) sob pressão de memória do sistema. Por padrão, no macOS e no Linux, o Claude Code encerra os shells em segundo plano quando o sistema operacional relata pressão crítica de memória do sistema e a sessão está ociosa há 30 minutos sem nenhum turno ou subagente em execução. O Windows não tem sinal de pressão de memória do sistema, então esta variável não tem efeito lá. Requer o Claude Code v2.1.193 ou posterior |260| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | Defina como `1` para impedir que o Claude Code encerre [comandos de shell em segundo plano](/docs/pt/interactive-mode#background-bash-commands) sob pressão de memória. Por padrão, no macOS e no Linux, o Claude Code encerra shells em segundo plano quando o sistema operacional relata pressão crítica de memória RAM e a sessão está ociosa há 30 minutos sem nenhum turno ou subagente em execução. O Windows não tem sinal de pressão de memória, então esta variável não tem efeito nele. Requer o Claude Code v2.1.193 ou posterior |

257| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Defina como `1` para desativar as [skills](/docs/pt/skills) e os workflows incluídos no Claude Code: skills incluídas e workflows são removidos por completo, enquanto comandos integrados como `/init` continuam podendo ser digitados, mas ficam ocultos do modelo. `/doctor` continua podendo ser digitado, como os comandos integrados; oculte-o com `DISABLE_DOCTOR_COMMAND` em vez disso. Skills de plugins, de `.claude/skills/` e de `.claude/commands/` não são afetadas. Equivalente à configuração [`disableBundledSkills`](/docs/pt/settings-reference#disablebundledskills) |261| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Defina como `1` para desativar as [skills](/docs/pt/skills) e os workflows incluídos no Claude Code: as skills incluídas e os workflows incluídos são removidos por completo, enquanto comandos integrados como `/init` continuam podendo ser digitados, mas ficam ocultos do modelo. `/doctor` continua podendo ser digitado como os comandos integrados; oculte-o com `DISABLE_DOCTOR_COMMAND`. Skills de plugins, de `.claude/skills/` e de `.claude/commands/` não são afetadas. Equivalente à configuração [`disableBundledSkills`](/docs/pt/settings-reference#disablebundledskills) |

258| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | Defina como `1` para manter as ferramentas de navegador do [Claude in Chrome](/docs/pt/chrome) disponíveis enquanto omite a seção do Chrome do system prompt e a [skill incluída](/docs/pt/skills#bundled-skills) `/claude-in-chrome`. Para hosts que incorporam o Claude Code e fornecem suas próprias orientações de navegador. Requer o Claude Code v2.1.257 ou posterior |262| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | Defina como `1` para manter as ferramentas de navegador do [Claude in Chrome](/docs/pt/chrome) disponíveis enquanto omite a seção do Chrome do system prompt e a [skill incluída](/docs/pt/skills#bundled-skills) `/claude-in-chrome`. Destinada a hosts que incorporam o Claude Code e fornecem suas próprias orientações de navegador. Requer o Claude Code v2.1.257 ou posterior |

259| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | Defina como `1` para impedir o carregamento de quaisquer arquivos de memória CLAUDE.md no contexto, incluindo arquivos de memória de usuário, de projeto e de memória automática |263| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | Defina como `1` para impedir o carregamento de quaisquer arquivos de memória CLAUDE.md no contexto, incluindo arquivos de memória de usuário, de projeto e de memória automática |

260| `CLAUDE_CODE_DISABLE_CRON` | Defina como `1` para desativar as [tarefas agendadas](/docs/pt/scheduled-tasks). A skill `/loop` e as ferramentas de cron ficam indisponíveis e quaisquer tarefas já agendadas deixam de ser disparadas, incluindo tarefas que já estão em execução no meio da sessão |264| `CLAUDE_CODE_DISABLE_CRON` | Defina como `1` para desativar as [tarefas agendadas](/docs/pt/scheduled-tasks). A skill `/loop` e as ferramentas de cron ficam indisponíveis, e quaisquer tarefas já agendadas deixam de ser disparadas, incluindo tarefas que já estão em execução no meio da sessão |

261| `CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT` | Defina como `1` para desativar o limite de tempo nos prompts de [remoção de caminhos críticos](/docs/pt/permission-modes#critical-paths). No modo `auto`, o Claude Code então envia essas remoções ao classificador, e no modo `bypassPermissions` o prompt aguarda sua resposta. Defina-a no ambiente que inicia o Claude Code, já que o Claude Code ignora uma cópia entregue por meio de um bloco `env` de configurações. Requer o Claude Code v2.1.281 ou posterior |265| `CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT` | Defina como `1` para desativar o limite de tempo nos prompts de [remoção de caminhos críticos](/docs/pt/permission-modes#critical-paths). No modo `auto`, o Claude Code passa então a enviar essas remoções ao classificador e, no modo `bypassPermissions`, o prompt aguarda sua resposta. Defina-a no ambiente que inicia o Claude Code, pois o Claude Code ignora uma cópia entregue por meio de um bloco `env` de configurações. Requer o Claude Code v2.1.281 ou posterior |

262| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Defina como `1` para remover das requisições da API os cabeçalhos de requisição `anthropic-beta` de pré-lançamento, os campos do corpo que os acompanham e os campos beta do schema de ferramentas, como `defer_loading` e `eager_input_streaming`. Use isto quando um gateway de proxy rejeitar requisições com um erro `Unexpected value(s)` para o cabeçalho `anthropic-beta` ou um erro `Extra inputs are not permitted`. [Desativar recursos de pré-lançamento](/docs/pt/llm-gateway-protocol#disable-pre-release-capabilities) lista o que a variável remove, incluindo o [MCP Tool Search](/docs/pt/mcp#scale-with-mcp-tool-search), e o que o Claude Code continua enviando |266| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Defina como `1` para remover os cabeçalhos de requisição `anthropic-beta` de pré-lançamento, os campos do corpo associados a eles e os campos beta de esquema de ferramentas, como `defer_loading` e `eager_input_streaming`, das requisições de API. Use quando um gateway proxy rejeitar requisições com um erro `Unexpected value(s)` para o cabeçalho `anthropic-beta` ou um erro `Extra inputs are not permitted`. [Desativar recursos de pré-lançamento](/docs/pt/llm-gateway-protocol#disable-pre-release-capabilities) lista o que a variável remove, incluindo o [MCP Tool Search](/docs/pt/mcp#scale-with-mcp-tool-search), e o que o Claude Code continua enviando |

263| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | Defina como `1` para desativar os [subagentes Explore e Plan](/docs/pt/sub-agents#built-in-subagents) integrados. O Claude explora com suas ferramentas de pesquisa ou com o subagente general-purpose em vez disso, e o [modo de planejamento](/docs/pt/permission-modes#analyze-before-you-edit-with-plan-mode) lê os arquivos diretamente em vez de iniciar os agentes Explore e Plan. Subagentes personalizados chamados `Explore` ou `Plan` não são afetados. Para remover todos os tipos de subagente integrados no Agent SDK ou no modo não interativo, use `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` em vez disso. Requer o Claude Code v2.1.198 ou posterior |267| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | Defina como `1` para desativar os [subagentes Explore e Plan](/docs/pt/sub-agents#built-in-subagents) integrados. O Claude explora com suas ferramentas de busca ou com o subagente general-purpose, e o [modo de planejamento](/docs/pt/permission-modes#analyze-before-you-edit-with-plan-mode) lê arquivos diretamente em vez de iniciar agentes Explore e Plan. Subagentes personalizados chamados `Explore` ou `Plan` não são afetados. Para remover todos os tipos de subagente integrados no Agent SDK ou no modo não interativo, use `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS`. Requer o Claude Code v2.1.198 ou posterior |

264| `CLAUDE_CODE_DISABLE_FAST_MODE` | Defina como `1` para desativar o [modo rápido](/docs/pt/fast-mode) |268| `CLAUDE_CODE_DISABLE_FAST_MODE` | Defina como `1` para desativar o [modo rápido](/docs/pt/fast-mode) |

265| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | Defina como `1` para desativar as pesquisas de qualidade de sessão "How is Claude doing?". As pesquisas também são desativadas quando `DISABLE_TELEMETRY`, `DO_NOT_TRACK` ou `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` está definida, a menos que `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` as reative. Para definir uma taxa de amostragem em vez de desativá-las completamente, use a configuração [`feedbackSurveyRate`](/docs/pt/settings-reference#feedbacksurveyrate). Consulte [Pesquisas de qualidade de sessão](/docs/pt/data-usage#session-quality-surveys) |269| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | Defina como `1` para desativar as pesquisas de qualidade de sessão "How is Claude doing?". As pesquisas também ficam desativadas quando `DISABLE_TELEMETRY`, `DO_NOT_TRACK` ou `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` está definida, a menos que `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` as reative. Para definir uma taxa de amostragem em vez de desativar completamente, use a configuração [`feedbackSurveyRate`](/docs/pt/settings-reference#feedbacksurveyrate). Consulte [Pesquisas de qualidade de sessão](/docs/pt/data-usage#session-quality-surveys) |

266| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | Defina como `1` para desativar o [checkpointing](/docs/pt/checkpointing) de arquivos. O comando `/rewind` não conseguirá restaurar alterações de código. Sobrescreve a configuração [`fileCheckpointingEnabled`](/docs/pt/settings-reference#filecheckpointingenabled) |270| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | Defina como `1` para desativar o [checkpointing](/docs/pt/checkpointing) de arquivos. O comando `/rewind` não poderá restaurar alterações de código. Sobrescreve a configuração [`fileCheckpointingEnabled`](/docs/pt/settings-reference#filecheckpointingenabled) |

267| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | Defina como `1` para remover do contexto do Claude as instruções integradas de fluxo de trabalho de commit e PR e o snapshot do git status. Útil ao usar suas próprias skills de fluxo de trabalho do git. Tem precedência sobre a configuração [`includeGitInstructions`](/docs/pt/settings-reference#includegitinstructions) quando definida |271| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | Defina como `1` para remover do contexto do Claude as instruções integradas de fluxo de trabalho de commit e PR e o snapshot do git status. Útil ao usar suas próprias skills de fluxo de trabalho do git. Tem precedência sobre a configuração [`includeGitInstructions`](/docs/pt/settings-reference#includegitinstructions) quando definida |

268| `CLAUDE_CODE_DISABLE_INLINE_SHELL_RM_PROMPT` | Defina como `1` para impedir que o Claude Code leia scripts passados a um shell com `-c`, como `bash -c 'rm -rf ~'`, em busca de remoções de [caminhos críticos](/docs/pt/permission-modes#removals-inside-nested-commands-and-inline-scripts). O Claude Code ainda verifica os alvos de variáveis de shell e de parâmetros posicionais nesses scripts, e as outras verificações de caminhos críticos continuam sendo executadas. Defina-a no ambiente que inicia o Claude Code, já que o Claude Code ignora uma cópia entregue por meio de um bloco `env` de configurações. Requer o Claude Code v2.1.288 ou posterior |272| `CLAUDE_CODE_DISABLE_INLINE_SHELL_RM_PROMPT` | Defina como `1` para impedir que o Claude Code leia scripts passados a um shell com `-c`, como `bash -c 'rm -rf ~'`, em busca de remoções de [caminhos críticos](/docs/pt/permission-modes#removals-inside-nested-commands-and-inline-scripts). O Claude Code ainda verifica os destinos de variáveis de shell e parâmetros posicionais nesses scripts, e as outras verificações de caminhos críticos continuam sendo executadas. Defina-a no ambiente que inicia o Claude Code, pois o Claude Code ignora uma cópia entregue por meio de um bloco `env` de configurações. Requer o Claude Code v2.1.288 ou posterior |

269| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Defina como `1` para impedir o remapeamento automático do Opus 4.0 e 4.1 para a versão atual do Opus na API da Anthropic. Use quando você quiser intencionalmente fixar um modelo mais antigo. O remapeamento não é executado no Amazon Bedrock, no Google Cloud's Agent Platform ou no Microsoft Foundry |273| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Defina como `1` para impedir o remapeamento automático do Opus 4.0 e 4.1 para a versão atual do Opus na API da Anthropic. Use quando quiser intencionalmente fixar um modelo mais antigo. O remapeamento não é executado no Amazon Bedrock, no Google Cloud's Agent Platform nem no Microsoft Foundry |

270| `CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK` | Defina como `1` para impedir que o Claude Code no [Amazon Bedrock](/docs/pt/amazon-bedrock#when-a-model-is-disabled-mid-session) e no [Google Cloud's Agent Platform](/docs/pt/google-vertex-ai#when-a-model-is-disabled-mid-session) mude para um modelo mais antigo quando sua conta perder o acesso ao modelo de uma sessão no meio da sessão; a requisição recusada falha imediatamente em vez disso. Uma [cadeia de modelos de fallback](/docs/pt/model-config#fallback-model-chains) que você configurar ainda muda de modelo diante dessa recusa, e as [verificações de modelo na inicialização](/docs/pt/amazon-bedrock#startup-model-checks) ainda recorrem ao fallback na inicialização. Requer o Claude Code v2.1.285 ou posterior |274| `CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK` | Defina como `1` para impedir que o Claude Code no [Amazon Bedrock](/docs/pt/amazon-bedrock#when-a-model-is-disabled-mid-session) e no [Google Cloud's Agent Platform](/docs/pt/google-vertex-ai#when-a-model-is-disabled-mid-session) mude para um modelo mais antigo quando sua conta perde o acesso ao modelo de uma sessão no meio dela; em vez disso, a requisição recusada falha imediatamente. Uma [cadeia de modelos de fallback](/docs/pt/model-config#fallback-model-chains) que você configurar ainda muda de modelo nessa recusa, e as [verificações de modelo na inicialização](/docs/pt/amazon-bedrock#startup-model-checks) ainda recorrem ao fallback na inicialização. Requer o Claude Code v2.1.285 ou posterior |

271| `CLAUDE_CODE_DISABLE_MOUSE` | Defina como `1` para desativar o rastreamento do mouse na [renderização em tela cheia](/docs/pt/fullscreen). A rolagem pelo teclado com `PgUp` e `PgDn` continua funcionando. Use isto para manter o comportamento nativo de copiar ao selecionar do seu terminal |275| `CLAUDE_CODE_DISABLE_MOUSE` | Defina como `1` para desativar o rastreamento do mouse na [renderização em tela cheia](/docs/pt/fullscreen). A rolagem pelo teclado com `PgUp` e `PgDn` continua funcionando. Use para manter o comportamento nativo do seu terminal de copiar ao selecionar |

272| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | Defina como `1` para desativar o tratamento de cliques, arrastos e passagem do mouse na [renderização em tela cheia](/docs/pt/fullscreen), mantendo a rolagem pela roda do mouse. Use isto quando quiser que a rolagem pela roda funcione dentro do Claude Code, mas não quiser que os cliques posicionem o cursor, expandam a saída de ferramentas ou abram links. `CLAUDE_CODE_DISABLE_MOUSE` tem precedência quando ambas estão definidas. Requer o Claude Code v2.1.195 ou posterior |276| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | Defina como `1` para desativar o tratamento de cliques, arrastos e passagem do mouse na [renderização em tela cheia](/docs/pt/fullscreen), mantendo a rolagem com a roda do mouse. Use quando quiser que a rolagem com a roda funcione dentro do Claude Code, mas não quiser que os cliques posicionem o cursor, expandam a saída de ferramentas ou abram links. `CLAUDE_CODE_DISABLE_MOUSE` tem precedência quando ambas estão definidas. Requer o Claude Code v2.1.195 ou posterior |

273| `CLAUDE_CODE_DISABLE_MTLS_RELOAD_ON_STALE_CONNECTION` | Defina como `1` para impedir que o Claude Code releia o [certificado e a chave do cliente mTLS](/docs/pt/network-config#mtls-authentication) quando uma requisição de API falhar com um erro em nível de conexão, como uma redefinição de conexão ou um erro de handshake TLS. Com o recarregamento desativado, o Claude Code carrega os arquivos rotacionados apenas na próxima vez que aplicar as configurações ou na próxima inicialização. Requer o Claude Code v2.1.232 ou posterior |277| `CLAUDE_CODE_DISABLE_MTLS_RELOAD_ON_STALE_CONNECTION` | Defina como `1` para impedir que o Claude Code releia o [certificado e a chave do cliente mTLS](/docs/pt/network-config#mtls-authentication) quando uma requisição de API falha com um erro no nível da conexão, como um reset de conexão ou um erro de handshake TLS. Com a releitura desativada, o Claude Code carrega arquivos rotacionados apenas na próxima vez que aplicar as configurações ou na próxima inicialização. Requer o Claude Code v2.1.232 ou posterior |

274| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | Defina com qualquer valor não vazio, como `1`, para desativar o tráfego de rede não essencial: atualizações automáticas, telemetria, relatórios de erros, o comando `/feedback`, o [feedback redigido pelo Claude](/docs/pt/tools-reference#sendfeedback-tool-behavior), notas de versão, as verificações do [selo de status de PR e MR](/docs/pt/interactive-mode#pr-review-status) e verificações de disponibilidade, como a verificação do [modo rápido](/docs/pt/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways). Também interrompe as [execuções em segundo plano de fontes `command` de plugins](/docs/pt/plugins/loading#when-a-command-source-re-runs), que são comandos locais e não tráfego de rede, porque elas podem acionar instalações de dependências. **Defini-la como `0` ou `false` ainda desativa esse tráfego**, diferentemente da maioria das variáveis de ativação/desativação; remova a definição da variável para permiti-lo novamente. Também desativa a busca de feature flags, o que torna indisponíveis o [Remote Control](/docs/pt/remote-control#requirements) e os outros [recursos que precisam da busca de feature flags](#features-that-need-feature-flag-fetching). A instalação automática do marketplace oficial de plugins não é abrangida; desative-a com `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL`. Não afeta a [descoberta de modelos do gateway](/docs/pt/llm-gateway-connect#add-gateway-models-to-the-model-picker), que tem sua própria ativação opcional |278| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | Defina com qualquer valor não vazio, como `1`, para desativar o tráfego de rede não essencial: atualizações automáticas, telemetria, relatórios de erros, o comando `/feedback`, o [feedback redigido pelo Claude](/docs/pt/tools-reference#sendfeedback-tool-behavior), notas de versão, as verificações do [selo de status de PR e MR](/docs/pt/interactive-mode#pr-review-status) e verificações de disponibilidade, como a do [modo rápido](/docs/pt/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways). Também interrompe as [execuções em segundo plano de fontes `command` de plugins](/docs/pt/plugins/loading#when-a-command-source-re-runs), que são comandos locais e não tráfego de rede, porque podem acionar instalações de dependências. **Defini-la como `0` ou `false` ainda desativa esse tráfego**, diferentemente da maioria das variáveis de ativação/desativação; remova a variável para permiti-lo novamente. Também desativa a busca de feature flags, o que torna indisponíveis o [Remote Control](/docs/pt/remote-control#requirements) e os outros [recursos que precisam da busca de feature flags](#features-that-need-feature-flag-fetching). A instalação automática do marketplace oficial de plugins não é abrangida; desative-a com `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL`. Não afeta a [descoberta de modelos do gateway](/docs/pt/llm-gateway-connect#add-gateway-models-to-the-model-picker), que tem sua própria ativação |

275| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | Defina como `1` para desativar o fallback sem streaming quando uma requisição via streaming falhar no meio do stream. Os erros de streaming são propagados para a camada de retry em vez disso. Útil quando um proxy ou gateway faz com que o fallback produza execução duplicada de ferramentas |279| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | Defina como `1` para desativar o fallback sem streaming quando uma requisição por streaming falha no meio do stream. Os erros de streaming são propagados para a camada de retry. Útil quando um proxy ou gateway faz o fallback produzir execução duplicada de ferramentas |

276| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | Defina como `1` para enviar a notificação de desktop da ferramenta `PushNotification` mesmo enquanto você estiver digitando ou com o foco no terminal. Por padrão, a ferramenta ignora tanto a notificação de desktop quanto a [notificação push móvel](/docs/pt/remote-control#mobile-push-notifications) quando detecta atividade recente do teclado ou foco no terminal. Esta variável desativa apenas essa verificação local, então o servidor ainda pode suprimir a notificação push móvel quando detectar que você está ativo. Requer o Claude Code v2.1.193 ou posterior |280| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | Defina como `1` para enviar a notificação de desktop da ferramenta `PushNotification` mesmo enquanto você estiver digitando no terminal ou com ele em foco. Por padrão, a ferramenta ignora tanto a notificação de desktop quanto o [push móvel](/docs/pt/remote-control#mobile-push-notifications) quando detecta atividade recente de teclado ou foco no terminal. Esta variável desativa apenas essa verificação local, então o servidor ainda pode suprimir o push móvel quando detectar que você está ativo. Requer o Claude Code v2.1.193 ou posterior |

277| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Defina como `1` para desativar o registro automático do marketplace oficial de plugins. O Claude Code lê a variável quando está prestes a registrar o marketplace, geralmente durante a primeira inicialização interativa em uma máquina. Se a variável estiver definida nesse momento, o Claude Code ignora o registro permanentemente. Remover a definição da variável depois não desfaz esse salto. Execute `claude plugin marketplace add anthropics/claude-plugins-official` para registrar o marketplace a qualquer momento |281| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Defina como `1` para desativar o registro automático do marketplace oficial de plugins. O Claude Code lê a variável quando está prestes a registrar o marketplace, geralmente durante a primeira inicialização interativa em uma máquina. Se a variável estiver definida nesse momento, o Claude Code ignora o registro permanentemente. Remover a variável posteriormente não desfaz essa omissão. Execute `claude plugin marketplace add anthropics/claude-plugins-official` para registrar o marketplace a qualquer momento |

278| `CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS` | Defina como `1` para impedir que o Claude Code execute seus [hooks `Notification` para solicitações de permissão não respondidas](/docs/pt/hooks#notification) em sessões nas quais o Claude Code as envia ao callback `canUseTool` do Agent SDK, que é como o Claude Desktop e a extensão do VS Code hospedam o Claude Code. Não tem efeito em sessões de terminal. Requer o Claude Code v2.1.233 ou posterior |282| `CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS` | Defina como `1` para impedir que o Claude Code execute seus [hooks `Notification` para solicitações de permissão não respondidas](/docs/pt/hooks#notification) em sessões nas quais o Claude Code as envia ao callback `canUseTool` do Agent SDK, que é como o Claude Desktop e a extensão do VS Code hospedam o Claude Code. Não tem efeito em sessões de terminal. Requer o Claude Code v2.1.233 ou posterior |

279| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | Defina como `1` para ignorar o carregamento de skills do diretório de skills gerenciadas de todo o sistema. Útil para sessões de contêiner ou de CI que não devem carregar skills provisionadas pelo operador |283| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | Defina como `1` para ignorar o carregamento de skills do diretório de skills gerenciadas de todo o sistema. Útil para sessões em contêineres ou de CI que não devem carregar skills provisionadas pelo operador |

280| `CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY` | Defina como `1` para desativar a verificação da [ferramenta PowerShell](/docs/pt/tools-reference#powershell-tool) que nega os comandos integrados do `cmd` `rd`, `rmdir`, `del` e `erase` em um [caminho do sistema](/docs/pt/permission-modes#remove-item-in-powershell), como a raiz de uma unidade ou seu diretório pessoal. O Claude Code ignora esta variável no bloco `env` de um arquivo de configurações. Requer o Claude Code v2.1.283 ou posterior |284| `CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY` | Defina como `1` para desativar a verificação da [ferramenta PowerShell](/docs/pt/tools-reference#powershell-tool) que nega os comandos integrados do `cmd` `rd`, `rmdir`, `del` e `erase` em um [caminho do sistema](/docs/pt/permission-modes#remove-item-in-powershell), como a raiz de uma unidade ou seu diretório pessoal. O Claude Code ignora esta variável no bloco `env` de um arquivo de configurações. Requer o Claude Code v2.1.283 ou posterior |

281| `CLAUDE_CODE_DISABLE_REFUSAL_FALLBACK` | Defina como `1` para desativar a [troca automática de modelo quando um classificador de segurança sinaliza uma requisição](/docs/pt/model-config#automatic-model-fallback), o comportamento que a configuração [`switchModelsOnFlag`](/docs/pt/settings-reference#switchmodelsonflag) controla |285| `CLAUDE_CODE_DISABLE_REFUSAL_FALLBACK` | Defina como `1` para desativar a [troca automática de modelo quando um classificador de segurança sinaliza uma requisição](/docs/pt/model-config#automatic-model-fallback), o comportamento que a configuração [`switchModelsOnFlag`](/docs/pt/settings-reference#switchmodelsonflag) controla |

282| `CLAUDE_CODE_DISABLE_STRUCTURED_OUTPUTS` | Defina como `1` para impedir que o Claude Code envie o campo de saída estruturada `output_config.format` e o valor `anthropic-beta` que o acompanha, para um [gateway de LLM](/docs/pt/llm-gateway-protocol#feature-pass-through) cujo upstream os rejeita. Isso mantém ativados os outros recursos de pré-lançamento que [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/pt/llm-gateway-protocol#disable-pre-release-capabilities) desativa. Requer o Claude Code v2.1.288 ou posterior |286| `CLAUDE_CODE_DISABLE_STRUCTURED_OUTPUTS` | Defina como `1` para impedir que o Claude Code envie o campo de saída estruturada `output_config.format` e o valor de `anthropic-beta` associado a ele, para um [gateway de LLM](/docs/pt/llm-gateway-protocol#feature-pass-through) cujo upstream os rejeita. Isso mantém ativados os outros recursos de pré-lançamento que [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/pt/llm-gateway-protocol#disable-pre-release-capabilities) desativa. Requer o Claude Code v2.1.288 ou posterior |

283| `CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT` | Defina como `1` para desativar a verificação de [caminho crítico](/docs/pt/permission-modes#critical-paths) para um `rm` recursivo cujo alvo é inteiramente a saída de uma substituição de comando, como `rm -rf "$(pwd)"`. As outras verificações de caminhos críticos continuam sendo executadas. Defina-a no ambiente que inicia o Claude Code, já que o Claude Code ignora uma cópia entregue por meio de um bloco `env` de configurações. Requer o Claude Code v2.1.281 ou posterior |287| `CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT` | Defina como `1` para desativar a verificação de [caminhos críticos](/docs/pt/permission-modes#critical-paths) para um `rm` recursivo cujo destino é inteiramente a saída de uma substituição de comando, como `rm -rf "$(pwd)"`. As outras verificações de caminhos críticos continuam sendo executadas. Defina-a no ambiente que inicia o Claude Code, pois o Claude Code ignora uma cópia entregue por meio de um bloco `env` de configurações. Requer o Claude Code v2.1.281 ou posterior |

284| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Defina como `1` para desativar as atualizações automáticas do título do terminal com base no contexto da conversa. Isso também ignora a requisição em segundo plano ao modelo pequeno/rápido que [gera um título para a sessão](/docs/pt/sessions#name-your-sessions) |288| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Defina como `1` para desativar as atualizações automáticas do título do terminal com base no contexto da conversa. Isso também ignora a requisição em segundo plano ao modelo pequeno/rápido que [gera um título para a sessão](/docs/pt/sessions#name-your-sessions) |

285| `CLAUDE_CODE_DISABLE_THINKING` | Defina como `1` para omitir completamente o parâmetro `thinking` das requisições da API. Esta é uma opção de compatibilidade para proxies e gateways que rejeitam o parâmetro. Em modelos que pensam por padrão, omitir o parâmetro significa que o modelo ainda pode pensar. Para desativar explicitamente o [pensamento estendido](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) na API da Anthropic, use `MAX_THINKING_TOKENS=0` em vez disso. Nenhuma das variáveis desativa o pensamento no Opus 5.5, no Sonnet 5.5, no Haiku 5.5 ou nos modelos Fable, nos quais o pensamento não pode ser desativado. Em [provedores terceiros](/docs/pt/third-party-integrations), `MAX_THINKING_TOKENS=0` também omite o parâmetro, então as duas variáveis se comportam da mesma forma lá |289| `CLAUDE_CODE_DISABLE_THINKING` | Defina como `1` para omitir completamente o parâmetro `thinking` das requisições de API. Esta é uma opção de compatibilidade para proxies e gateways que rejeitam o parâmetro. Em modelos que pensam por padrão, omitir o parâmetro significa que o modelo ainda pode pensar. Para desativar explicitamente o [pensamento estendido](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) na API da Anthropic, use `MAX_THINKING_TOKENS=0`. Nenhuma das duas variáveis desativa o pensamento no Opus 5.5, no Sonnet 5.5, no Haiku 5.5 ou nos modelos Fable, nos quais o pensamento não pode ser desativado. Em [provedores de terceiros](/docs/pt/third-party-integrations), `MAX_THINKING_TOKENS=0` também omite o parâmetro, então as duas variáveis se comportam da mesma forma nesses casos |

286| `CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT` | Defina como `1` para ignorar a [compactação automática](/docs/pt/costs#reduce-token-usage) proativa quando o Claude Code não reconhecer o ID do modelo, como um alias de [gateway de LLM](/docs/pt/llm-gateway). Sem esta variável, o Claude Code compacta na janela de contexto que presume para o ID. `CLAUDE_CODE_MAX_CONTEXT_TOKENS` pode corrigir a janela presumida em vez disso; consulte [Corrigir a janela para um ID de modelo de gateway ou personalizado](/docs/pt/model-config#correct-the-window-for-a-gateway-or-custom-model-id) para saber quando cada variável se aplica. Requer o Claude Code v2.1.223 ou posterior |290| `CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT` | Defina como `1` para ignorar a [compactação automática](/docs/pt/costs#reduce-token-usage) proativa quando o Claude Code não reconhece o ID do modelo, como um alias de [gateway de LLM](/docs/pt/llm-gateway). Sem esta variável, o Claude Code compacta na janela de contexto que presume para o ID. `CLAUDE_CODE_MAX_CONTEXT_TOKENS` pode corrigir a janela presumida; 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) para saber quando cada variável se aplica. Requer o Claude Code v2.1.223 ou posterior |

287| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Defina como `1` para desativar a rolagem virtual na [renderização em tela cheia](/docs/pt/fullscreen) e renderizar todas as mensagens da transcrição. Use isto se a rolagem no modo de tela cheia mostrar regiões em branco onde deveriam aparecer mensagens |291| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Defina como `1` para desativar a rolagem virtual na [renderização em tela cheia](/docs/pt/fullscreen) e renderizar todas as mensagens da transcrição. Use se a rolagem no modo de tela cheia mostrar regiões em branco onde as mensagens deveriam aparecer |

288| `CLAUDE_CODE_DISABLE_WEB_FETCH` | Defina como `1` para desativar a ferramenta [WebFetch](/docs/pt/tools-reference#webfetch-tool-behavior). A ferramenta [WebSearch](/docs/pt/tools-reference#websearch-tool-behavior) continua disponível. Requer o Claude Code v2.1.285 ou posterior |292| `CLAUDE_CODE_DISABLE_WEB_FETCH` | Defina como `1` para desativar a ferramenta [WebFetch](/docs/pt/tools-reference#webfetch-tool-behavior). A ferramenta [WebSearch](/docs/pt/tools-reference#websearch-tool-behavior) continua disponível. Requer o Claude Code v2.1.285 ou posterior |

289| `CLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHER` | Defina como `1` para iniciar os comandos da [ferramenta PowerShell](/docs/pt/tools-reference#powershell-tool) no Windows diretamente, em vez de por meio do inicializador `cmd.exe`. Por padrão, o inicializador permite que um comando do PowerShell [em execução em segundo plano](/docs/pt/tools-reference#background-commands) [seja transferido para o próximo processo da sessão](/docs/pt/agent-view#the-supervisor-process), como quando você [envia a sessão para segundo plano](/docs/pt/agent-view#from-inside-a-session). Se você definir a variável, um comando do PowerShell em segundo plano é interrompido quando o processo da sessão é encerrado. Comandos Bash não são afetados. Requer o Claude Code v2.1.269 ou posterior |293| `CLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHER` | Defina como `1` para iniciar os comandos da [ferramenta PowerShell](/docs/pt/tools-reference#powershell-tool) no Windows diretamente, em vez de por meio do inicializador `cmd.exe`. Por padrão, o inicializador permite que um comando PowerShell [em execução em segundo plano](/docs/pt/tools-reference#background-commands) [seja transferido para o próximo processo da sessão](/docs/pt/agent-view#the-supervisor-process), como quando você [envia a sessão para segundo plano](/docs/pt/agent-view#from-inside-a-session). Se você definir a variável, um comando PowerShell em segundo plano é interrompido quando o processo da sessão termina. Comandos Bash não são afetados. Requer o Claude Code v2.1.269 ou posterior |

290| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Defina como `1` para desativar os [workflows](/docs/pt/workflows#turn-workflows-off). Equivalente à configuração [`disableWorkflows`](/docs/pt/settings-reference#disableworkflows) |294| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Defina como `1` para desativar os [workflows](/docs/pt/workflows#turn-workflows-off). Equivalente à configuração [`disableWorkflows`](/docs/pt/settings-reference#disableworkflows) |

291| `CLAUDE_CODE_EFFORT_LEVEL` | Define o nível de esforço para modelos compatíveis. Valores: `low`, `medium`, `high`, `xhigh`, `max` ou `auto` para usar o padrão do modelo. Os níveis disponíveis dependem do modelo. Tem precedência sobre `--effort`, `/effort` e as configurações `modelSettings` e `effortLevel`. Um limite de [`maxEffortLevel`](/docs/pt/settings-reference#maxeffortlevel) ainda se aplica. Consulte [Ajustar o nível de esforço](/docs/pt/model-config#adjust-effort-level) |295| `CLAUDE_CODE_EFFORT_LEVEL` | Define o nível de esforço para os modelos compatíveis. Valores: `low`, `medium`, `high`, `xhigh`, `max` ou `auto` para usar o padrão do modelo. Os níveis disponíveis dependem do modelo. Tem precedência sobre `--effort`, `/effort` e as configurações `modelSettings` e `effortLevel`. Um limite [`maxEffortLevel`](/docs/pt/settings-reference#maxeffortlevel) ainda se aplica. Consulte [Ajustar o nível de esforço](/docs/pt/model-config#adjust-effort-level) |

292| `CLAUDE_CODE_EMIT_SESSION_STATE_EVENTS` | Defina como `1` para adicionar mensagens [`session_state_changed`](/docs/pt/agent-sdk/typescript#sdksessionstatechangedmessage), que carregam o estado da sessão, ao fluxo de mensagens. Requer o [Agent SDK](/docs/pt/agent-sdk/overview) ou `--print`, `--output-format stream-json` e `--verbose` |296| `CLAUDE_CODE_EMIT_SESSION_STATE_EVENTS` | Defina como `1` para adicionar mensagens [`session_state_changed`](/docs/pt/agent-sdk/typescript#sdksessionstatechangedmessage), que carregam o estado da sessão, ao fluxo de mensagens. Requer o [Agent SDK](/docs/pt/agent-sdk/overview) ou `--print`, `--output-format stream-json` e `--verbose` |

293| `CLAUDE_CODE_ENABLE_AUTO_MODE` | Aceita para compatibilidade com versões mais antigas e não tem efeito. O modo auto está disponível por padrão em todos os provedores, incluindo Amazon Bedrock, Agent Platform do Google Cloud, Microsoft Foundry e sessões conectadas do [Claude apps gateway](/docs/pt/claude-apps-gateway). Nas versões v2.1.158 a v2.1.206, era necessário definir esta variável como `1` para disponibilizar o [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) nesses provedores |297| `CLAUDE_CODE_ENABLE_AUTO_MODE` | Aceita por compatibilidade com versões mais antigas e não tem efeito. O modo auto está disponível por padrão em todos os provedores, incluindo Amazon Bedrock, Agent Platform do Google Cloud, Microsoft Foundry e sessões conectadas do [gateway de apps do Claude](/docs/pt/claude-apps-gateway). Da v2.1.158 à v2.1.206, definir esta variável como `1` era necessário para disponibilizar o [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) nesses provedores |

294| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Sobrescreve a disponibilidade do [resumo da sessão](/docs/pt/interactive-mode#session-recap). Defina como `0` para forçar a desativação dos resumos, independentemente da opção em `/config`. Defina como `1` para forçar a ativação dos resumos quando [`awaySummaryEnabled`](/docs/pt/settings-reference#awaysummaryenabled) for `false`. Tem precedência sobre a configuração e sobre a opção em `/config` |298| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Sobrescreve a disponibilidade do [resumo da sessão](/docs/pt/interactive-mode#session-recap). Defina como `0` para forçar a desativação dos resumos, independentemente da opção em `/config`. Defina como `1` para forçar a ativação dos resumos quando [`awaySummaryEnabled`](/docs/pt/settings-reference#awaysummaryenabled) for `false`. Tem precedência sobre a configuração e sobre a opção em `/config` |

295| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Defina como `1` para atualizar o estado dos plugins nos limites de turno no [modo não interativo](/docs/pt/headless) após a conclusão de uma instalação em segundo plano. Desativada por padrão porque a atualização altera o system prompt no meio da sessão, o que invalida o [cache de prompt](/docs/pt/prompt-caching) para aquele turno |299| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Defina como `1` para atualizar o estado dos plugins nos limites de turno no [modo não interativo](/docs/pt/headless) depois que uma instalação em segundo plano for concluída. Desativada por padrão porque a atualização altera o system prompt no meio da sessão, o que invalida o [cache de prompt](/docs/pt/prompt-caching) naquele turno |

296| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Defina como `1` para encaminhar a pesquisa de qualidade da sessão "How is Claude doing?" para o seu próprio [coletor OpenTelemetry](/docs/pt/monitoring-usage) quando o tráfego não essencial destinado à Anthropic estiver bloqueado. As avaliações da pesquisa são emitidas apenas como eventos OTEL para o coletor configurado. Nenhum dado da pesquisa é enviado à Anthropic nesse modo. Aplica-se quando `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_TELEMETRY` ou `DO_NOT_TRACK` está definida, e não tem efeito caso contrário. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` e a política de feedback de produto da organização têm precedência |300| `CLAUDE_CODE_ENABLE_CFC` | Defina como `1` para iniciar uma sessão da CLI com a [integração com o Chrome](/docs/pt/chrome) ativada, ou `0` para iniciá-la desativada. Tem precedência sobre a configuração [`claudeInChromeDefaultEnabled`](/docs/pt/settings-reference#claudeinchromedefaultenabled). As flags `--chrome` e `--no-chrome` têm precedência sobre ambas. O Claude Code [ignora `1` nas configurações de projeto e locais](/docs/pt/chrome#project-settings-can’t-turn-on-chrome) |

297| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | Controla se as entradas das chamadas de ferramenta são transmitidas pela API à medida que Claude as gera. Com isso desativado, uma entrada de ferramenta grande, como a gravação de um arquivo longo, chega somente depois que Claude termina de gerá-la, o que pode parecer um travamento. Ativada por padrão na Anthropic API. No Amazon Bedrock e na 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 de [gateway](/docs/pt/llm-gateway) |301| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Defina como `1` para encaminhar a pesquisa de qualidade de sessão "How is Claude doing?" ao seu próprio [coletor OpenTelemetry](/docs/pt/monitoring-usage) quando o tráfego não essencial destinado à Anthropic estiver bloqueado. As avaliações da pesquisa são emitidas apenas como eventos OTEL para o coletor configurado. Nenhum dado da pesquisa é enviado à Anthropic nesse modo. Aplica-se quando `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_TELEMETRY` ou `DO_NOT_TRACK` está definida, e não tem efeito caso contrário. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` e a política de feedback de produto da organização têm precedência |

298| `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` aponta para um gateway compatível com a Anthropic, como LiteLLM, Kong ou um proxy interno. Desativada por padrão porque, caso contrário, gateways apoiados por 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 de gateway](/docs/pt/server-managed-settings#platform-availability) |302| `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) |

303| `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) |

299| `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 |304| `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 |

300| `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á perto ou no limite de uso](/docs/pt/interactive-mode#when-claude-code-skips-suggestions). Defina como `true` para mantê-las ativadas até você atingir o limite. Requer Claude Code v2.1.238 ou posterior. Consulte [Sugestões de prompt](/docs/pt/interactive-mode#prompt-suggestions) |305| `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) |

301| `CLAUDE_CODE_ENABLE_TASKS` | Seleciona quais ferramentas de acompanhamento de tarefas o Claude Code fornece em [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 delas. Consulte [Lista de tarefas](/docs/pt/interactive-mode#task-list) |306| `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) |

302| `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) |307| `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) |

303| `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 Claude Code v2.1.233 ou posterior |308| `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 |

304| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | Tempo em milissegundos a aguardar depois que o loop de consultas fica ocioso antes de sair automaticamente. Útil para fluxos de trabalho automatizados e scripts que usam o modo SDK |309| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | Tempo em milissegundos a aguardar depois que o loop de consulta fica ocioso antes de sair automaticamente. Útil para fluxos de trabalho automatizados e scripts que usam o modo SDK |

305| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Defina como `1` para ativar [equipes de agentes](/docs/pt/agent-teams). As equipes de agentes são experimentais e estão desativadas por padrão |310| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Defina como `1` para ativar as [equipes de agentes](/docs/pt/agent-teams). As equipes de agentes são experimentais e ficam desativadas por padrão |

306| `CLAUDE_CODE_EXTRA_BODY` | Objeto JSON a ser mesclado no nível superior de todo corpo de requisição da API. Útil para passar parâmetros específicos do provedor que o Claude Code não expõe diretamente. Um valor exportado no seu shell também se aplica às [sessões em segundo plano](/docs/pt/agent-view) que você inicia com `claude agents` ou `--bg`. Antes da v2.1.206, as sessões em segundo plano ignoravam um valor exportado no shell e usavam qualquer cópia que o processo supervisor em segundo plano tivesse herdado |311| `CLAUDE_CODE_EXTRA_BODY` | Objeto JSON a ser mesclado no nível superior do corpo de cada requisição à API. Útil para passar parâmetros específicos do provedor que o Claude Code não expõe diretamente. Um valor exportado no seu shell também se aplica às [sessões em segundo plano](/docs/pt/agent-view) que você despacha com `claude agents` ou `--bg`. Antes da v2.1.206, as sessões em segundo plano ignoravam um valor exportado no shell e usavam a cópia que o processo supervisor em segundo plano tivesse herdado |

307| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Sobrescreve o limite padrão de tokens para leituras de arquivos. Útil quando você precisa ler arquivos maiores por completo |312| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Sobrescreve o limite padrão de tokens para leituras de arquivos. Útil quando você precisa ler arquivos maiores por completo |

308| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | Defina como `1` para forçar a persistência da transcrição, do histórico de prompts e do registro em `claude agents` mesmo quando este `claude` foi iniciado de dentro de outra sessão do Claude Code. Use quando um valor herdado de `CLAUDE_CODE_CHILD_SESSION`, por exemplo de uma sessão `screen` ou de um inicializador em segundo plano iniciado pela primeira vez pela ferramenta Bash do Claude Code, faz com que uma sessão genuinamente de nível superior seja classificada erroneamente como aninhada. A partir da v2.1.178, o Claude Code detecta o caso do tmux automaticamente e ignora o marcador herdado, então o tmux não precisa mais desta variável. Também respeitada na v2.1.169 e anteriores; não tem efeito na v2.1.170 e na v2.1.171, nas quais a detecção de sessão aninhada que ela sobrescreve foi removida |313| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | Defina como `1` para forçar a persistência da transcrição, o histórico de prompts e o registro em `claude agents` mesmo quando este `claude` foi iniciado de dentro de outra sessão do Claude Code. Use quando um valor herdado de `CLAUDE_CODE_CHILD_SESSION`, por exemplo de uma sessão do `screen` ou de um inicializador em segundo plano iniciado primeiro pela ferramenta Bash do Claude Code, fizer com que uma sessão genuinamente de nível superior seja classificada erroneamente como aninhada. A partir da v2.1.178, o Claude Code detecta o caso do tmux automaticamente e ignora o marcador herdado, então o tmux não precisa mais desta variável. Também respeitada na v2.1.169 e anteriores; não tem efeito na v2.1.170 e na v2.1.171, nas quais a detecção de sessão aninhada que ela sobrescreve foi removida |

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

310| `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 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. Diferentemente de `CLAUDE_CODE_NO_FLICKER`, que muda para a [renderização em tela cheia](/docs/pt/fullscreen), esta variável não altera o renderizador |315| `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 |

311| `CLAUDE_CODE_FORCE_TERMINAL_IMAGES` | Defina como `1` para desenhar [elementos `Image` de mods](/docs/pt/plugins/mods/reference#elements) como imagens quando 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 |316| `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 |

312| `CLAUDE_CODE_FORK_SUBAGENT` | Controla o [modo fork](/docs/pt/sub-agents#turn-fork-mode-on-or-off), que permite que Claude crie [subagentes bifurcados](/docs/pt/sub-agents#fork-the-current-conversation) por conta própria 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 todo tipo de sessão. Você pode executar `/subtask` com o modo fork ativado ou não. O padrão interativo requer Claude Code v2.1.232 ou posterior; em versões anteriores, defina a variável como `1` para ativar o modo fork |317| `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 |

313| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | Defina como `1` para emitir texto e blocos 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 pode passar a flag por conta própria. Diferentemente da flag, que sai 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 Claude Code v2.1.211 ou posterior |318| `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 |

314| `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 terceirizado 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 Anthropic API, na qual o Claude Code os envia por padrão. Requer Claude Code v2.1.273 ou posterior |319| `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 |

315| `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 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 Claude Code v2.1.269 ou posterior |320| `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 |

316| `CLAUDE_CODE_GIT_BASH_PATH` | Somente Windows: caminho para o executável do Git Bash (`bash.exe`). Use quando o Git Bash estiver instalado, mas não estiver no seu PATH. Se o caminho não existir ou o arquivo não se chamar `bash.exe`, `sh.exe`, `bash` ou `sh`, o Claude Code ignora a variável e detecta automaticamente o Git Bash como se ela não estivesse definida, registrando um aviso visível com `--debug`. Antes da v2.1.219, o Claude Code encerrava na inicialização quando o caminho não existia e usava qualquer arquivo existente como shell sem verificar se era bash ou sh. Consulte [Configuração no Windows](/docs/pt/setup#set-up-on-windows) |321| `CLAUDE_CODE_GIT_BASH_PATH` | Somente Windows: caminho para o executável do Git Bash (`bash.exe`). Use quando o Git Bash estiver instalado, mas não estiver no seu PATH. Se o caminho não existir ou o arquivo não se chamar `bash.exe`, `sh.exe`, `bash` ou `sh`, o Claude Code ignora a variável e detecta automaticamente o Git Bash como se ela não estivesse definida, registrando um aviso visível com `--debug`. Antes da v2.1.219, o Claude Code encerrava na inicialização quando o caminho não existia e usava qualquer arquivo existente como shell sem verificar se era bash ou sh. Consulte [Configuração no Windows](/docs/pt/setup#set-up-on-windows) |

317| `CLAUDE_CODE_GLOB_HIDDEN` | Defina como `false` para excluir dotfiles dos resultados quando Claude invoca a [ferramenta Glob](/docs/pt/tools-reference#glob-tool-behavior). Incluídos por padrão. Não afeta o preenchimento automático de arquivos com `@`, `ls`, Grep nem Read |322| `CLAUDE_CODE_GLOB_HIDDEN` | Defina como `false` para excluir dotfiles dos resultados quando o Claude invoca a [ferramenta Glob](/docs/pt/tools-reference#glob-tool-behavior). Incluídos por padrão. Não afeta o preenchimento automático de arquivos com `@`, `ls`, Grep ou Read |

318| `CLAUDE_CODE_GLOB_NO_IGNORE` | Defina como `false` para fazer a [ferramenta Glob](/docs/pt/tools-reference#glob-tool-behavior) respeitar os padrões do `.gitignore`. Por padrão, o Glob retorna todos os arquivos correspondentes, incluindo os ignorados pelo git. Não afeta o preenchimento automático de arquivos com `@`, que tem sua própria [configuração `respectGitignore`](/docs/pt/settings-reference#respectgitignore) |323| `CLAUDE_CODE_GLOB_NO_IGNORE` | Defina como `false` para fazer a [ferramenta Glob](/docs/pt/tools-reference#glob-tool-behavior) respeitar os padrões do `.gitignore`. Por padrão, o Glob retorna todos os arquivos correspondentes, incluindo os ignorados pelo git. Não afeta o preenchimento automático de arquivos com `@`, que tem sua própria [configuração `respectGitignore`](/docs/pt/settings-reference#respectgitignore) |

319| `CLAUDE_CODE_GLOB_TIMEOUT_SECONDS` | Timeout em segundos para a descoberta de arquivos da ferramenta Glob. O padrão é 20 segundos na maioria das plataformas e 60 segundos no WSL |324| `CLAUDE_CODE_GLOB_TIMEOUT_SECONDS` | Timeout em segundos para a descoberta de arquivos da ferramenta Glob. O padrão é 20 segundos na maioria das plataformas e 60 segundos no WSL |

320| `CLAUDE_CODE_GOAL_CHECKIN_MINUTES` | Quantos minutos o trabalho em segundo plano pode manter uma meta ativa aguardando antes que o Claude Code [peça a Claude para verificá-la](/docs/pt/goal#background-work-defers-evaluation). Padrão `30`. Defina `0` para desativar as verificações. Informe minutos inteiros em dígitos simples, no máximo `10080`, o que equivale a uma semana. O Claude Code trata qualquer outro valor como não definido e usa o padrão. Requer Claude Code v2.1.234 ou posterior |325| `CLAUDE_CODE_GOAL_CHECKIN_MINUTES` | Quantos minutos o trabalho em segundo plano pode manter uma meta ativa em espera antes que o Claude Code [peça ao Claude para verificá-la](/docs/pt/goal#background-work-defers-evaluation). Padrão `30`. Defina `0` para desativar as verificações. Informe minutos inteiros em dígitos simples, no máximo `10080`, que equivale a uma semana. O Claude Code trata qualquer outro valor como não definido e usa o padrão. Requer o Claude Code v2.1.234 ou posterior |

321| `CLAUDE_CODE_GZIP_REQUEST_BODIES` | Defina como `0` para desativar a compressão gzip dos corpos de requisição da Claude API, de telemetria e de publicação de [artefatos](/docs/pt/artifacts) enviados para `api.anthropic.com`. Por padrão, o Claude Code comprime corpos de requisição grandes em conexões diretas e deixa de comprimir quando você envia requisições por um proxy, configura um certificado de cliente ou define `NODE_EXTRA_CA_CERTS`. Use `0` se um [proxy de inspeção TLS](/docs/pt/network-config#ca-certificate-store) que o Claude Code não consegue detectar lidar incorretamente com requisições comprimidas |326| `CLAUDE_CODE_GZIP_REQUEST_BODIES` | Defina como `0` para desativar a compressão gzip dos corpos de requisições da API do Claude, de telemetria e de publicação de [artefatos](/docs/pt/artifacts) enviados para `api.anthropic.com`. Por padrão, o Claude Code comprime corpos de requisição grandes em conexões diretas e ignora a compressão quando você envia requisições por meio de um proxy, configura um certificado de cliente ou define `NODE_EXTRA_CA_CERTS`. Use `0` se um [proxy com inspeção de TLS](/docs/pt/network-config#ca-certificate-store) que o Claude Code não consegue detectar tratar incorretamente requisições comprimidas |

322| `CLAUDE_CODE_HIDE_CWD` | Defina como `1` para ocultar o diretório de trabalho no logotipo de inicialização. Útil para compartilhamentos de tela ou gravações em que o caminho expõe seu nome de usuário do sistema operacional |327| `CLAUDE_CODE_HIDE_CWD` | Defina como `1` para ocultar o diretório de trabalho no logotipo de inicialização. Útil para compartilhamentos de tela ou gravações em que o caminho expõe o seu nome de usuário do sistema operacional |

323| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | Sobrescreve o endereço de host usado para se conectar à extensão do IDE. Por padrão, o Claude Code detecta automaticamente o endereço correto, incluindo o roteamento do WSL para o Windows |328| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | Sobrescreve o endereço de host usado para se conectar à extensão do IDE. Por padrão, o Claude Code detecta automaticamente o endereço correto, incluindo o roteamento do WSL para o Windows |

324| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | Defina como `1` para pular a instalação automática de extensões de IDE. Equivalente a definir [`autoInstallIdeExtension`](/docs/pt/settings-reference#autoinstallideextension) como `false` |329| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | Defina como `1` para ignorar a instalação automática de extensões de IDE. Equivalente a definir [`autoInstallIdeExtension`](/docs/pt/settings-reference#autoinstallideextension) como `false` |

325| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | Defina como `1` para pular a validação das entradas do lockfile do IDE durante a conexão. Use quando a conexão automática não consegue encontrar seu IDE mesmo com ele em execução |330| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | Defina como `1` para ignorar a validação das entradas do lockfile do IDE durante a conexão. Use quando a conexão automática não encontrar o seu IDE mesmo com ele em execução |

326| `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` | Quantos [subagentes](/docs/pt/sub-agents#concurrent-subagent-limit) podem estar em execução em uma sessão antes que a ferramenta Agent se recuse a criar outro (padrão: 20). Aceita um número inteiro positivo em dígitos simples; qualquer outra coisa é ignorada, então a variável pode ajustar o limite, mas não desativá-lo. Requer Claude Code v2.1.217 ou posterior |331| `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` | Quantos [subagentes](/docs/pt/sub-agents#concurrent-subagent-limit) podem estar em execução em uma sessão antes que a ferramenta Agent se recuse a gerar outro (padrão: 20). Aceita um número inteiro positivo em dígitos simples; qualquer outro valor é ignorado, portanto a variável pode ajustar o limite, mas não desativá-lo. Requer o Claude Code v2.1.217 ou posterior |

327| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Sobrescreve o tamanho da janela de contexto que o Claude Code assume para o modelo ativo. A partir da v2.1.193, a forma como ela se aplica depende de como o Claude Code resolve o ID do modelo; 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). Use-a ao rotear para um modelo por meio de `ANTHROPIC_BASE_URL` cuja janela de contexto não corresponde ao tamanho integrado para o nome dele |332| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Sobrescreve o tamanho da janela de contexto que o Claude Code assume para o modelo ativo. A partir da v2.1.193, a forma como ela se aplica depende de como o Claude Code resolve o ID do modelo; 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). Use quando rotear para um modelo por meio de `ANTHROPIC_BASE_URL` cuja janela de contexto não corresponde ao tamanho interno para o seu nome |

328| `CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH` | Comprimento máximo, em caracteres, de cada descrição de ferramenta MCP e das instruções de cada servidor MCP que o Claude Code envia ao modelo (padrão: 2048). O Claude Code [trunca textos mais longos](/docs/pt/mcp#for-mcp-server-authors). Aceita um número inteiro positivo em dígitos simples. Qualquer outra coisa é ignorada e o padrão se aplica. Requer Claude Code v2.1.280 ou posterior |333| `CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH` | Comprimento máximo, em caracteres, de cada descrição de ferramenta MCP e das instruções de cada servidor MCP que o Claude Code envia ao modelo (padrão: 2048). O Claude Code [trunca textos mais longos](/docs/pt/mcp#for-mcp-server-authors). Aceita um número inteiro positivo em dígitos simples. Qualquer outro valor é ignorado e o padrão se aplica. Requer o Claude Code v2.1.280 ou posterior |

329| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Define o número máximo de tokens de saída para a maioria das requisições. Os padrões e limites variam por modelo; consulte [máximo de tokens de saída](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). O Claude Code reduz um valor acima do limite de um modelo para esse limite. Para um ID de modelo que o Claude Code não consegue resolver para um modelo conhecido, o padrão é 32000 e o limite é 128000. Aumentar esse valor reduz a janela de contexto efetiva disponível antes que a [compactação automática](/docs/pt/costs#reduce-token-usage) seja acionada |334| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Define o número máximo de tokens de saída para a maioria das requisições. Os padrões e limites variam por modelo; consulte [máximo de tokens de saída](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). O Claude Code reduz um valor acima do limite de um modelo para o limite. Para um ID de modelo que o Claude Code não consegue resolver para um modelo conhecido, o padrão é 32000 e o limite é 128000. Aumentar este valor reduz a janela de contexto efetiva disponível antes que a [compactação automática](/docs/pt/costs#reduce-token-usage) seja acionada |

330| `CLAUDE_CODE_MAX_RETRIES` | Sobrescreve o número de vezes que requisições de API com falha são tentadas novamente (padrão: 10). Limitado a 15 a partir da v2.1.186; a partir da v2.1.199, `CLAUDE_CODE_RETRY_WATCHDOG` aumenta o padrão e remove o limite. Para sessões não supervisionadas que precisam aguardar interrupções mais longas, defina `CLAUDE_CODE_RETRY_WATCHDOG` em vez disso |335| `CLAUDE_CODE_MAX_RETRIES` | Sobrescreve o número de vezes para tentar novamente requisições à API que falharam (padrão: 10). Limitado a 15 a partir da v2.1.186; a partir da v2.1.199, `CLAUDE_CODE_RETRY_WATCHDOG` aumenta o padrão e remove o limite. Para sessões não supervisionadas que precisam aguardar interrupções mais longas, defina `CLAUDE_CODE_RETRY_WATCHDOG` em vez disso |

331| `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` | Removida na v2.1.224 e agora sem efeito. Anteriormente limitava o número total de [subagentes](/docs/pt/sub-agents) que Claude podia criar com a ferramenta Agent em uma sessão (padrão: 200); criar além do limite falhava com `Subagent spawn limit reached`. O [limite de subagentes simultâneos](/docs/pt/sub-agents#concurrent-subagent-limit) e o [limite de profundidade](/docs/pt/sub-agents#let-subagents-spawn-their-own-subagents) ainda se aplicam |336| `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` | Removida na v2.1.224 e agora sem efeito. Anteriormente limitava o número total de [subagentes](/docs/pt/sub-agents) que o Claude podia gerar com a ferramenta Agent em uma sessão (padrão: 200); gerar além do limite falhava com `Subagent spawn limit reached`. O [limite de subagentes simultâneos](/docs/pt/sub-agents#concurrent-subagent-limit) e o [limite de profundidade](/docs/pt/sub-agents#let-subagents-spawn-their-own-subagents) ainda se aplicam |

332| `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, subagentes podem criar seus próprios subagentes, e um subagente na terceira camada não pode criar outros; defina `1` para desativar o aninhamento. Nas versões v2.1.217 a v2.1.218, o padrão era 1, então um subagente não podia criar 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 outra coisa é ignorada, então o limite pode ser ajustado, mas não removido. Requer Claude Code v2.1.217 ou posterior |337| `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 |

333| `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 |338| `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 |

334| `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 número inteiro positivo é rejeitado na inicialização com um erro, em vez de ser tratado como ausência de limite |339| `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 |

335| `CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION` | Limite de chamadas de [WebSearch](/docs/pt/tools-reference#session-search-limit) (padrão: 200). Quando Claude atinge o limite, novas chamadas de WebSearch retornam um aviso dizendo a ele para continuar com as informações que já reuniu. Aceita um número inteiro positivo sem limite superior. Qualquer outra coisa é ignorada 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 |340| `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 |

336| `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 |341| `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 |

337| `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 o envio automático para segundo plano. Requer Claude Code v2.1.212 ou posterior |342| `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 |

338| `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` | Quanto tempo, em milissegundos, o primeiro turno de uma sessão [não interativa](/docs/pt/headless) aguarda por servidores MCP que ainda estão se conectando, no lugar da [espera do primeiro turno](/docs/pt/agent-sdk/mcp#connection-timing) padrão. Quando definida, a espera abrange todos os servidores pendentes. Defina como `0` para pular 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 Claude Code v2.1.274 ou posterior |343| `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` | Por 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. 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 |

339| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | Timeout de inatividade em milissegundos para chamadas de ferramenta MCP. Quando um servidor MCP stdio, HTTP, SSE, WebSocket ou de [conector do claude.ai](/docs/pt/mcp#use-mcp-servers-from-claude-ai) não envia resposta nem notificação de progresso por esse tempo, a chamada de ferramenta é abortada com um erro em vez de aguardar o `MCP_TOOL_TIMEOUT` geral. Sobrescreve os padrões por transporte de 300000 (5 minutos) para servidores de rede e 1800000 (30 minutos) para servidores stdio. Defina como `0` para desativar a verificação de inatividade. Valores abaixo de 1000 são elevados para um segundo, e o valor é limitado ao `MCP_TOOL_TIMEOUT` efetivo. Um `timeout` por servidor em `.mcp.json` de pelo menos 1000 eleva a janela de inatividade desse servidor para pelo menos o valor de `timeout`. Não se aplica a servidores de IDE nem a servidores in-process do SDK. Requer Claude Code v2.1.187 ou posterior. Antes da v2.1.203, servidores stdio eram isentos do timeout de inatividade |344| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | Timeout de inatividade em milissegundos para chamadas de ferramentas MCP. Quando um servidor MCP stdio, HTTP, SSE, WebSocket ou de [conector do claude.ai](/docs/pt/mcp#use-mcp-servers-from-claude-ai) não envia nenhuma resposta nem notificação de progresso por esse tempo, a chamada de ferramenta é abortada com um erro em vez de aguardar o `MCP_TOOL_TIMEOUT` geral. Sobrescreve os padrões por transporte de 300000 (5 minutos) para servidores de rede e 1800000 (30 minutos) para servidores stdio. Defina como `0` para desativar a verificação de inatividade. Valores abaixo de 1000 são elevados para um segundo, e o valor é limitado ao `MCP_TOOL_TIMEOUT` efetivo. Um `timeout` por servidor em `.mcp.json` de pelo menos 1000 eleva a janela de inatividade desse servidor para pelo menos o valor de `timeout`. Não se aplica a servidores de IDE nem a servidores SDK em processo. Requer o Claude Code v2.1.187 ou posterior. Antes da v2.1.203, os servidores stdio estavam isentos do timeout de inatividade |

340| `CLAUDE_CODE_MESSAGING_SOCKET` | Definida pelo Claude Code, não por você: em sessões que vinculam um [socket de caixa de entrada](/docs/pt/cross-session-messaging#the-sessions-inbox-socket), o Claude Code exporta o caminho desse socket para hooks e comandos Bash quando vincula o socket. Em uma sessão que começa com as mensagens ativadas, o Claude Code vincula o socket antes que qualquer hook seja executado. Outras sessões na máquina entregam mensagens para esse caminho. Cada sessão exporta seu próprio socket em vez de um herdado de um processo pai, e as mensagens que chegam nele passam pelos [controles de entrada](/docs/pt/cross-session-messaging#control-inbound-messages) da sessão. Blocos `env` de configurações não podem defini-la. Requer Claude Code v2.1.224 ou posterior |345| `CLAUDE_CODE_MESSAGING_SOCKET` | Definida pelo Claude Code, não por você: em sessões que vinculam um [socket de caixa de entrada](/docs/pt/cross-session-messaging#the-sessions-inbox-socket), o Claude Code exporta o caminho desse socket para hooks e comandos Bash quando vincula o socket. Em uma sessão que começa com mensagens ativadas, o Claude Code vincula o socket antes de qualquer hook ser executado. Outras sessões na máquina entregam mensagens a este caminho. Cada sessão exporta seu próprio socket em vez de um herdado de um processo pai, e as mensagens que chegam nele passam pelos [controles de entrada](/docs/pt/cross-session-messaging#control-inbound-messages) da sessão. Blocos `env` de configurações não podem defini-la. Requer o Claude Code v2.1.224 ou posterior |

341| `CLAUDE_CODE_MESSAGING_TOKEN` | Definida pelo Claude Code, não por você: em sessões que vinculam um [socket de caixa de entrada](/docs/pt/cross-session-messaging#the-sessions-inbox-socket), o Claude Code exporta este token por sessão para hooks e comandos Bash junto com `CLAUDE_CODE_MESSAGING_SOCKET`. Um script que publica no socket pode enviar `{"type":"auth","token":"<token>"}` como sua primeira linha para provar que pertence à sessão. No Windows nativo, o Claude Code exige essa linha e fecha qualquer conexão que não comece com uma linha válida. As [regras de processo filho próprio](/docs/pt/cross-session-messaging#the-sessions-inbox-socket) dizem quando o Claude Code consulta o token. Cada sessão exporta seu próprio token, nunca um herdado de uma sessão pai. Blocos `env` de configurações não podem defini-la. Requer Claude Code v2.1.228 ou posterior |346| `CLAUDE_CODE_MESSAGING_TOKEN` | Definida pelo Claude Code, não por você: em sessões que vinculam um [socket de caixa de entrada](/docs/pt/cross-session-messaging#the-sessions-inbox-socket), o Claude Code exporta este token por sessão para hooks e comandos Bash junto com `CLAUDE_CODE_MESSAGING_SOCKET`. Um script que publica no socket pode enviar `{"type":"auth","token":"<token>"}` como primeira linha para provar que pertence à sessão. No Windows nativo, o Claude Code exige essa linha e fecha qualquer conexão que não comece com uma válida. As [regras de processo filho próprio](/docs/pt/cross-session-messaging#the-sessions-inbox-socket) dizem quando o Claude Code consulta o token. Cada sessão exporta seu próprio token, nunca um herdado de uma sessão pai. Blocos `env` de configurações não podem defini-la. Requer o Claude Code v2.1.228 ou posterior |

342| `CLAUDE_CODE_NATIVE_CURSOR` | Defina como `1` para mostrar o cursor do próprio terminal no ponto de inserção da entrada em vez de um bloco desenhado. O cursor respeita as configurações de piscar, formato e foco do terminal. Definir `0` tem o mesmo efeito que deixar a variável não definida, então isso não traz o bloco desenhado de volta em uma sessão na qual o cursor do próprio terminal já está ativado |347| `CLAUDE_CODE_NATIVE_CURSOR` | Defina como `1` para mostrar o cursor do próprio terminal no ponto de inserção em vez de um bloco desenhado. O cursor respeita as configurações de piscar, forma e foco do terminal. Definir `0` equivale a deixar a variável não definida, portanto não traz de volta o bloco desenhado em uma sessão em que o cursor do próprio terminal já está ativado |

343| `CLAUDE_CODE_NEW_INIT` | Defina como `1` para fazer o `/init` executar um fluxo de configuração interativo. O fluxo pergunta quais arquivos gerar, incluindo CLAUDE.md, skills e hooks, antes de explorar a base de código e gravá-los. Sem esta variável, o `/init` gera um CLAUDE.md automaticamente, sem perguntar |348| `CLAUDE_CODE_NEW_INIT` | Defina como `1` para fazer `/init` executar um fluxo de configuração interativo. O fluxo pergunta quais arquivos gerar, incluindo CLAUDE.md, skills e hooks, antes de explorar a base de código e gravá-los. Sem esta variável, `/init` gera um CLAUDE.md automaticamente sem perguntar |

344| `CLAUDE_CODE_NONBLOCKING_STDOUT` | Defina como `1` para gravar a saída do terminal por meio de um segundo descritor de arquivo não bloqueante, para que um terminal que para de ler, como um painel pausado do modo de controle do tmux ou uma conexão SSH travada, não possa congelar o Claude Code no meio da sessão. Aplica-se no macOS, Linux e WSL quando stdout é um terminal. Requer Claude Code v2.1.261 ou posterior |349| `CLAUDE_CODE_NONBLOCKING_STDOUT` | Defina como `1` para gravar a saída do terminal por meio de um segundo descritor de arquivo não bloqueante, para que um terminal que pare de ler, como um painel do tmux em modo de controle pausado ou uma conexão SSH travada, não congele o Claude Code no meio da sessão. Aplica-se no macOS, Linux e WSL quando o stdout é um terminal. Requer o Claude Code v2.1.261 ou posterior |

345| `CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES` | Limita quantas vezes o Claude Code reenvia uma [requisição sem streaming](/docs/pt/errors#streaming-response-ended-before-any-complete-data-was-received) que atinge o timeout. Com `0`, a requisição falha no primeiro timeout. Consulte [Ajustar o comportamento de novas tentativas](/docs/pt/errors#tune-retry-behavior) para o timeout. Requer Claude Code v2.1.285 ou posterior |350| `CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES` | Limita quantas vezes o Claude Code reenvia uma [requisição sem streaming](/docs/pt/errors#streaming-response-ended-before-any-complete-data-was-received) que atinge o timeout. Com `0`, a requisição falha no primeiro timeout. Consulte [Ajustar o comportamento de novas tentativas](/docs/pt/errors#tune-retry-behavior) para o timeout. Requer o Claude Code v2.1.285 ou posterior |

346| `CLAUDE_CODE_NO_FLICKER` | Defina como `1` para ativar a [renderização em tela cheia](/docs/pt/fullscreen), uma prévia de pesquisa que reduz a cintilação e mantém o uso de memória estável em conversas longas. Sobrescreve a configuração [`tui`](/docs/pt/settings-reference#tui); você também pode alternar com `/tui fullscreen` |351| `CLAUDE_CODE_NO_FLICKER` | Defina como `1` para ativar a [renderização em tela cheia](/docs/pt/fullscreen), uma prévia de pesquisa que reduz a cintilação e mantém a memória estável em conversas longas. Sobrescreve a configuração [`tui`](/docs/pt/settings-reference#tui); você também pode alternar com `/tui fullscreen` |

347| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | Token de atualização OAuth para autenticação no Claude.ai. Quando definida, `claude auth login` troca esse token diretamente em vez de abrir um navegador. Requer `CLAUDE_CODE_OAUTH_SCOPES`. Útil para provisionar a autenticação em ambientes automatizados |352| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | Token de atualização OAuth para autenticação no Claude.ai. Quando definida, `claude auth login` troca este token diretamente em vez de abrir um navegador. Requer `CLAUDE_CODE_OAUTH_SCOPES`. Útil para provisionar autenticação em ambientes automatizados |

348| `CLAUDE_CODE_OAUTH_SCOPES` | Escopos OAuth separados por espaço com os quais o token de atualização foi emitido, como `"user:profile user:inference user:sessions:claude_code"`. Obrigatória quando `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` está definida |353| `CLAUDE_CODE_OAUTH_SCOPES` | Escopos OAuth separados por espaço com os quais o token de atualização foi emitido, como `"user:profile user:inference user:sessions:claude_code"`. Obrigatória quando `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` está definida |

349| `CLAUDE_CODE_OAUTH_TOKEN` | Token de acesso OAuth para autenticação no claude.ai. Alternativa ao `/login` para o SDK e ambientes automatizados. Tem precedência sobre credenciais armazenadas no keychain. Gere um com [`claude setup-token`](/docs/pt/authentication#generate-a-long-lived-token). A menos que você execute [`/login`](/docs/pt/authentication#authentication-precedence), o Claude Code usa o token que você definiu durante toda a sessão. Para substituir um token expirado, gere um novo e reinicie |354| `CLAUDE_CODE_OAUTH_TOKEN` | Token de acesso OAuth para autenticação no claude.ai. Alternativa ao `/login` para o SDK e ambientes automatizados. Tem precedência sobre credenciais armazenadas no keychain. Gere um com [`claude setup-token`](/docs/pt/authentication#generate-a-long-lived-token). A menos que você execute [`/login`](/docs/pt/authentication#authentication-precedence), o Claude Code usa o token definido durante toda a sessão. Para substituir um token expirado, gere um novo e reinicie |

350| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | Removida na v2.1.160 e agora sem efeito. Anteriormente fixava o [modo rápido](/docs/pt/fast-mode) no Claude Opus 4.6 em vez do padrão atual. O Opus 4.6 não oferece mais suporte ao modo rápido |355| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | Removida na v2.1.160 e agora sem efeito. Anteriormente fixava o [modo rápido](/docs/pt/fast-mode) no Claude Opus 4.6 em vez do padrão atual. O Opus 4.6 não oferece mais suporte ao modo rápido |

351| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | Comprimento máximo dos atributos do OpenTelemetry que carregam conteúdo (respostas do modelo, conteúdo de ferramentas, system prompts, corpos brutos da API), incluindo o marcador de truncamento, em unidades de código UTF-16 (padrão: 61440, ou seja, 60 KB). Aumente-o apenas se o seu backend de telemetria aceitar valores de atributo maiores que 64 KB, ou reduza-o para diminuir o volume de telemetria. Requer Claude Code v2.1.214 ou posterior. Consulte [Monitoramento](/docs/pt/monitoring-usage) |356| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | Comprimento máximo de atributos do OpenTelemetry que carregam conteúdo (respostas do modelo, conteúdo de ferramentas, system prompts, corpos brutos da API), incluindo o marcador de truncamento, em unidades de código UTF-16 (padrão: 61440, ou seja, 60 KB). Aumente-o somente se o seu backend de telemetria aceitar valores de atributo maiores que 64 KB, ou reduza-o para diminuir o volume de telemetria. Requer o Claude Code v2.1.214 ou posterior. Consulte [Monitoramento](/docs/pt/monitoring-usage) |

352| `CLAUDE_CODE_OTEL_DIAG_STDERR` | Defina como `1` para gravar erros de diagnóstico do exportador OpenTelemetry no stderr. Por padrão, esses erros só aparecem com `--debug`, então um exportador mal configurado, como em uma colisão de porta do Prometheus, falharia silenciosamente. Requer Claude Code v2.1.179 ou posterior. Consulte [Monitoramento](/docs/pt/monitoring-usage) |357| `CLAUDE_CODE_OTEL_DIAG_STDERR` | Defina como `1` para gravar erros de diagnóstico do exportador OpenTelemetry no stderr. Por padrão, esses erros só aparecem com `--debug`, então um exportador mal configurado, como uma colisão de porta do Prometheus, falha silenciosamente. Requer o Claude Code v2.1.179 ou posterior. Consulte [Monitoramento](/docs/pt/monitoring-usage) |

353| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Timeout em milissegundos para descarregar spans pendentes do OpenTelemetry (padrão: 5000). Consulte [Monitoramento](/docs/pt/monitoring-usage) |358| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Timeout em milissegundos para descarregar spans pendentes do OpenTelemetry (padrão: 5000). Consulte [Monitoramento](/docs/pt/monitoring-usage) |

354| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervalo para atualizar cabeçalhos dinâmicos do OpenTelemetry, em milissegundos (padrão: 1740000 / 29 minutos). Consulte [Cabeçalhos dinâmicos](/docs/pt/monitoring-usage#dynamic-headers) |359| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervalo para atualizar cabeçalhos dinâmicos do OpenTelemetry, em milissegundos (padrão: 1740000 / 29 minutos). Consulte [Cabeçalhos dinâmicos](/docs/pt/monitoring-usage#dynamic-headers) |

355| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | Timeout em milissegundos para o exportador OpenTelemetry terminar no encerramento (padrão: 2000). Aumente-o se métricas forem descartadas na saída. Consulte [Monitoramento](/docs/pt/monitoring-usage) |360| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | Timeout em milissegundos para o exportador OpenTelemetry concluir no encerramento (padrão: 2000). Aumente se métricas forem descartadas na saída. Consulte [Monitoramento](/docs/pt/monitoring-usage) |

356| `CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS` | Atraso inicial em milissegundos, no lugar do padrão de 500, do backoff exponencial entre [novas tentativas automáticas](/docs/pt/errors#tune-retry-behavior) de uma requisição que a API rejeita com um erro `529` de sobrecarga. Aumente-o para distribuir as novas tentativas por uma janela mais longa quando a API estiver no limite de capacidade. Informe milissegundos inteiros de 500 a 32000 em dígitos simples; o Claude Code trata qualquer outro valor como não definido. Não tem efeito quando `CLAUDE_CODE_RETRY_WATCHDOG` está definida 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 |361| `CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS` | Atraso inicial em milissegundos, no lugar do padrão de 500, do backoff exponencial entre [novas tentativas automáticas](/docs/pt/errors#tune-retry-behavior) de uma requisição que a API rejeita com um erro `529` de sobrecarga. Aumente-o para distribuir as novas tentativas por uma janela mais longa quando a API estiver na capacidade máxima. Informe milissegundos inteiros de 500 a 32000 em dígitos simples; o Claude Code trata qualquer outro valor como não definido. Não tem efeito quando `CLAUDE_CODE_RETRY_WATCHDOG` está definida como `1`, ou quando a requisição rejeitada foi enviada no [modo rápido](/docs/pt/fast-mode#handle-rate-limits). Requer o Claude Code v2.1.292 ou posterior |

357| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | Defina como `1` para permitir que o Claude Code execute o comando de atualização do seu gerenciador de pacotes em segundo plano quando uma nova versão estiver disponível. Aplica-se a instalações via Homebrew e WinGet. Outros gerenciadores de pacotes continuam mostrando o comando de atualização sem executá-lo. Consulte [Atualizações automáticas](/docs/pt/setup#auto-updates) |362| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | Defina como `1` para permitir que o Claude Code execute o comando de atualização do seu gerenciador de pacotes em segundo plano quando uma nova versão estiver disponível. Aplica-se a instalações via Homebrew e WinGet. Outros gerenciadores de pacotes continuam mostrando o comando de atualização sem executá-lo. Consulte [Atualizações automáticas](/docs/pt/setup#auto-updates) |

358| `CLAUDE_CODE_PERFORCE_MODE` | Defina como `1` para ativar a proteção de gravação compatível com o Perforce. Quando definida, Edit, Write e NotebookEdit falham com uma dica `p4 edit <file>` se o arquivo de destino não tiver o bit de gravação do proprietário, que o Perforce remove dos arquivos sincronizados até que `p4 edit` os abra. Isso impede que o Claude Code contorne o rastreamento de alterações do Perforce |363| `CLAUDE_CODE_PERFORCE_MODE` | Defina como `1` para ativar a proteção contra gravação compatível com o Perforce. Quando definida, Edit, Write e NotebookEdit falham com uma dica `p4 edit <file>` se o arquivo de destino não tiver o bit de gravação do proprietário, que o Perforce remove nos arquivos sincronizados até que `p4 edit` os abra. Isso impede que o Claude Code contorne o controle de alterações do Perforce |

359| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | Sobrescreve o diretório raiz de plugins. Apesar do nome, isso define o diretório pai, não o cache em si: os marketplaces e o cache de plugins ficam em subdiretórios sob esse caminho. O padrão é `~/.claude/plugins` |364| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | Sobrescreve o diretório raiz dos plugins. Apesar do nome, isto define o diretório pai, não o cache em si: os marketplaces e o cache de plugins ficam em subdiretórios sob este caminho. O padrão é `~/.claude/plugins` |

360| `CLAUDE_CODE_PLUGIN_DIRS` | Diretórios de plugins a carregar para a sessão, cada um carregado da mesma forma que uma flag [`--plugin-dir`](/docs/pt/plugins/cli-reference#flags-that-load-a-plugin-for-one-session) o carrega. Separe vários caminhos com `:` no Unix ou `;` no Windows. Informe cada caminho como um caminho absoluto ou comece-o com `~`, porque o Claude Code ignora caminhos relativos. Requer Claude Code v2.1.280 ou posterior. Consulte [Carregar um plugin para uma sessão](/docs/pt/plugins/create#load-a-directory-or-archive-for-one-session) |365| `CLAUDE_CODE_PLUGIN_DIRS` | Diretórios de plugins a serem carregados na sessão, cada um carregado da mesma forma que uma flag [`--plugin-dir`](/docs/pt/plugins/cli-reference#flags-that-load-a-plugin-for-one-session) o carrega. Separe vários caminhos com `:` no Unix ou `;` no Windows. Informe cada caminho como um caminho absoluto ou comece-o com `~`, porque o Claude Code ignora caminhos relativos. Requer o Claude Code v2.1.280 ou posterior. Consulte [Carregar um plugin para uma sessão](/docs/pt/plugins/create#load-a-directory-or-archive-for-one-session) |

361| `CLAUDE_CODE_PLUGIN_DIR_WATCH` | Controla se o Claude Code recarrega um [mod](/docs/pt/plugins/mods/overview) quando os arquivos do mod mudam. O recarregamento se aplica a um mod que você carrega de um diretório com `--plugin-dir` e fica ativado por padrão em sessões interativas. Defina como `1` para ativá-lo também em sessões não interativas, ou `0` para desativá-lo em todas as sessões. Requer Claude Code v2.1.287 ou posterior. Consulte [configurações e variáveis de ambiente de mods](/docs/pt/plugins/mods/reference#settings-and-environment-variables) |366| `CLAUDE_CODE_PLUGIN_DIR_WATCH` | Controla se o Claude Code recarrega um [mod](/docs/pt/plugins/mods/overview) quando os arquivos do mod mudam. O recarregamento se aplica a um mod que você carrega de um diretório com `--plugin-dir` e fica ativado por padrão em sessões interativas. Defina como `1` para ativá-lo também em sessões não interativas, ou `0` para desativá-lo em todas as sessões. Requer o Claude Code v2.1.287 ou posterior. Consulte [configurações e variáveis de ambiente de mods](/docs/pt/plugins/mods/reference#settings-and-environment-variables) |

362| `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS` | Timeout em milissegundos para clonar ou atualizar um marketplace de plugins (padrão: 120000). Aumente esse valor para repositórios grandes ou conexões de rede lentas. Consulte [Git clone timed out](/docs/pt/plugins/troubleshooting#git-clone-timed-out-after-120s) |367| `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS` | Timeout em milissegundos para clonar ou atualizar um marketplace de plugins (padrão: 120000). Aumente este valor para repositórios grandes ou conexões de rede lentas. Consulte [Git clone timed out](/docs/pt/plugins/troubleshooting#git-clone-timed-out-after-120s) |

363| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | Defina como `1` para pular a tentativa de clonar novamente e continuar usando o checkout existente do marketplace quando uma atualização do marketplace não conseguir alcançar o remoto ou se autenticar nele. Útil em ambientes offline ou isolados (airgapped), nos quais clonar novamente falharia da mesma forma. Consulte [As atualizações do marketplace falham em ambientes offline](/docs/pt/plugins/troubleshooting#marketplace-updates-keep-failing-offline) |368| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | Defina como `1` para ignorar a tentativa de nova clonagem e continuar usando o checkout existente do marketplace quando uma atualização do marketplace não consegue alcançar o remoto ou se autenticar nele. Útil em ambientes offline ou isolados (airgapped) em que a nova clonagem falharia da mesma forma. Consulte [Atualizações do marketplace falham em ambientes offline](/docs/pt/plugins/troubleshooting#marketplace-updates-keep-failing-offline) |

364| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | Defina como `1` para clonar fontes no formato abreviado `owner/repo` do GitHub via HTTPS em vez de SSH. Aplica-se à instalação e atualização de plugins, e a `/plugin marketplace add` e `update`. Útil em runners de CI, contêineres ou qualquer ambiente sem uma chave SSH configurada para `github.com` |369| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | Defina como `1` para clonar fontes abreviadas `owner/repo` do GitHub via HTTPS em vez de SSH. Aplica-se à instalação e atualização de plugins e a `/plugin marketplace add` e `update`. Útil em runners de CI, contêineres ou qualquer ambiente sem uma chave SSH configurada para `github.com` |

365| `CLAUDE_CODE_PLUGIN_SEED_DIR` | Caminho para um ou mais diretórios seed de plugins somente leitura, separados por `:` no Unix ou `;` no Windows. Use isso para incluir um diretório de plugins pré-preenchido em uma imagem de contêiner. O Claude Code registra marketplaces a partir desses diretórios na inicialização e usa plugins previamente armazenados em cache sem clonar novamente. Consulte [Pré-preencher plugins para contêineres](/docs/pt/plugins/org#seed-containers-and-ci) |370| `CLAUDE_CODE_PLUGIN_SEED_DIR` | Caminho para um ou mais diretórios semente de plugins somente leitura, separados por `:` no Unix ou `;` no Windows. Use para incluir um diretório de plugins pré-preenchido em uma imagem de contêiner. O Claude Code registra os marketplaces desses diretórios na inicialização e usa plugins pré-armazenados em cache sem clonar novamente. Consulte [Pré-preencher plugins para contêineres](/docs/pt/plugins/org#seed-containers-and-ci) |

366| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | Defina como `1` para impedir que o Claude Code passe `-ExecutionPolicy Bypass` ao iniciar o PowerShell para chamadas de ferramenta, hooks e comandos da linha de status, e respeitar, em vez disso, a política de execução efetiva da máquina. Por padrão, o Claude Code ignora a política de execução no escopo do processo para que scripts `.ps1` e importações de módulos funcionem em instalações do Windows com o padrão Restricted. O bypass no escopo do processo nunca sobrescreve `MachinePolicy` ou `UserPolicy` da Group Policy, independentemente desta configuração |371| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | Defina como `1` para impedir que o Claude Code passe `-ExecutionPolicy Bypass` ao iniciar o PowerShell para chamadas de ferramenta, hooks e comandos da linha de status, e respeitar a política de execução efetiva da máquina. Por padrão, o Claude Code contorna a política de execução no escopo do processo para que scripts `.ps1` e importações de módulos funcionem em instalações do Windows com o padrão Restricted. O bypass no escopo do processo nunca sobrescreve `MachinePolicy` ou `UserPolicy` da Política de Grupo, independentemente desta configuração |

367| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | Limite máximo, em milissegundos, para a espera ociosa por trabalho em segundo plano, como subagentes e workflows, após o turno final no [modo não interativo](/docs/pt/headless#background-tasks-at-exit) com a flag `-p`. A espera ociosa recomeça cada vez que Claude usa um turno para lidar com um resultado em segundo plano. Padrão: `600000`, ou 10 minutos. Quando a espera ociosa atinge o limite, o Claude Code para de aguardar as tarefas em segundo plano restantes. Um comando em segundo plano em execução que a conversa principal iniciou mantém a execução aberta além desse limite. Defina como `0` para aguardar indefinidamente. Requer Claude Code v2.1.182 ou posterior |372| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | Teto em milissegundos para a espera ociosa por trabalho em segundo plano, como subagentes e fluxos de trabalho, após o turno final no [modo não interativo](/docs/pt/headless#background-tasks-at-exit) com a flag `-p`. A espera ociosa recomeça cada vez que o Claude usa um turno para tratar um resultado em segundo plano. Padrão: `600000`, ou 10 minutos. Quando a espera ociosa atinge o teto, o Claude Code para de aguardar as tarefas em segundo plano restantes. Um comando em segundo plano em execução iniciado pela conversa principal mantém a execução aberta além dele. Defina como `0` para aguardar indefinidamente. Requer o Claude Code v2.1.182 ou posterior |

368| `CLAUDE_CODE_PROCESS_WRAPPER` | Inicia os processos que o Claude Code cria a partir do seu próprio binário, como o serviço em segundo plano que hospeda as sessões do [agent view](/docs/pt/agent-view), por meio de um inicializador corporativo fornecido como um prefixo de argv, como `/opt/corp/launcher`. Defina-a no bloco `env` das configurações de usuário ou das [configurações gerenciadas](/docs/pt/managed-settings), não como um export do shell, para que o serviço em segundo plano desacoplado a herde; configurações de projeto e locais não podem defini-la. Equivalente à [configuração `processWrapper`](/docs/pt/settings-reference#processwrapper), que requer Claude Code v2.1.210 ou posterior; esta variável tem precedência quando ambas estão definidas. A extensão do VS Code configura seu próprio inicializador separadamente por meio da configuração `claudeProcessWrapper`. Ignorada no Windows. Consulte [Executar o Claude Code por trás de um inicializador corporativo](/docs/pt/corporate-launcher) para o formato do valor, o que o inicializador abrange e o contrato que o inicializador deve cumprir. Requer Claude Code v2.1.208 ou posterior |373| `CLAUDE_CODE_PROCESS_WRAPPER` | Inicia os processos que o Claude Code inicia a partir do seu próprio binário, como o serviço em segundo plano que hospeda as sessões da [visualização de agentes](/docs/pt/agent-view), por meio de um inicializador corporativo informado como um prefixo de argv, como `/opt/corp/launcher`. Defina-a no bloco `env` das configurações de usuário ou das [configurações gerenciadas](/docs/pt/managed-settings), não como uma exportação do shell, para que o serviço em segundo plano desanexado a herde; as configurações de projeto e locais não podem defini-la. Equivalente à [configuração `processWrapper`](/docs/pt/settings-reference#processwrapper), que requer o Claude Code v2.1.210 ou posterior; esta variável tem precedência quando ambas estão definidas. A extensão do VS Code configura seu próprio inicializador separadamente por meio da configuração `claudeProcessWrapper`. Ignorada no Windows. Consulte [Executar o Claude Code por trás de um inicializador corporativo](/docs/pt/corporate-launcher) para o formato do valor, o que o inicializador abrange e o contrato que o inicializador deve cumprir. Requer o Claude Code v2.1.208 ou posterior |

369| `CLAUDE_CODE_PROJECT_DIR_NAME` | Defina junto com `CLAUDE_CONFIG_DIR` para escolher o nome do diretório em `projects/` sob o qual o Claude Code armazena as transcrições e a memória automática dessa sessão, no lugar de um derivado do caminho do diretório de trabalho. Por exemplo, iniciar o Claude Code com `CLAUDE_CONFIG_DIR=/srv/tenant-a CLAUDE_CODE_PROJECT_DIR_NAME=work claude` as armazena em `/srv/tenant-a/projects/work/`. O Claude Code ignora esta variável quando `CLAUDE_CONFIG_DIR` não está definida e a lê apenas do ambiente a partir do qual você inicia o `claude`, nunca de um [bloco `env` de arquivo de configurações](#in-settings-files). Consulte [Nomear o diretório do projeto você mesmo](/docs/pt/sessions#name-the-project-directory-yourself). Requer Claude Code v2.1.234 ou posterior |374| `CLAUDE_CODE_PROJECT_DIR_NAME` | Defina junto com `CLAUDE_CONFIG_DIR` para escolher o nome do diretório em `projects/` no qual o Claude Code armazena as transcrições e a memória automática dessa sessão, no lugar de um derivado do caminho do diretório de trabalho. Por exemplo, iniciar o Claude Code com `CLAUDE_CONFIG_DIR=/srv/tenant-a CLAUDE_CODE_PROJECT_DIR_NAME=work claude` os armazena em `/srv/tenant-a/projects/work/`. O Claude Code ignora esta variável quando `CLAUDE_CONFIG_DIR` não está definida e a lê apenas do ambiente a partir do qual você inicia `claude`, nunca de um [bloco `env` de arquivo de configurações](#in-settings-files). Consulte [Nomear o diretório do projeto você mesmo](/docs/pt/sessions#name-the-project-directory-yourself). Requer o Claude Code v2.1.234 ou posterior |

370| `CLAUDE_CODE_PROMPT_CACHE_TTL` | Defina `5m` ou `1h`, os únicos valores que o Claude Code aceita, para escolher o [TTL do cache de prompt](/docs/pt/prompt-caching#cache-lifetime) da conversa principal: seus turnos interativos, de `-p` e do SDK, além dos auxiliares executados em linha com eles. Tem precedência sobre a configuração `promptCacheTtl` e sobre `ENABLE_PROMPT_CACHING_1H`, e `FORCE_PROMPT_CACHING_5M` a sobrescreve. A API cobra gravações de cache de 1 hora a uma taxa mais alta. Requer Claude Code v2.1.242 ou posterior |375| `CLAUDE_CODE_PROMPT_CACHE_TTL` | Defina `5m` ou `1h`, os únicos valores que o Claude Code aceita, para escolher o [TTL do cache de prompt](/docs/pt/prompt-caching#cache-lifetime) da conversa principal: seus turnos interativos, de `-p` e do SDK, além dos auxiliares executados junto com eles. Tem precedência sobre a configuração `promptCacheTtl` e sobre `ENABLE_PROMPT_CACHING_1H`, e `FORCE_PROMPT_CACHING_5M` a sobrescreve. A API cobra gravações de cache de 1 hora a uma tarifa mais alta. Requer o Claude Code v2.1.242 ou posterior |

371| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | Defina como `1` para propagar o contexto de rastreamento W3C quando `ANTHROPIC_BASE_URL` aponta para um proxy personalizado. A propagação abrange o cabeçalho `traceparent` em requisições ao modelo e a MCP HTTP e a variável de ambiente `TRACEPARENT` para subprocessos de Bash, PowerShell e hooks. Por padrão, a propagação é ativada apenas quando há conexão direta com a Anthropic API. Adicionada na v2.1.152. Consulte [Traces (beta)](/docs/pt/monitoring-usage#traces-beta) |376| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | Defina como `1` para propagar o contexto de rastreamento W3C quando `ANTHROPIC_BASE_URL` apontar para um proxy personalizado. A propagação abrange o cabeçalho `traceparent` em requisições ao modelo e a servidores MCP HTTP, e a variável de ambiente `TRACEPARENT` para subprocessos de Bash, PowerShell e hooks. Por padrão, a propagação só é ativada quando há conexão direta com a API da Anthropic. Adicionada na v2.1.152. Consulte [Traces (beta)](/docs/pt/monitoring-usage#traces-beta) |

372| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | Definida por plataformas host que incorporam o Claude Code e gerenciam o roteamento do provedor de modelos em nome dele. Quando definida, o Claude Code ignora variáveis de seleção de provedor, de endpoint e de autenticação, como `CLAUDE_CODE_USE_BEDROCK`, `ANTHROPIC_BASE_URL` e `ANTHROPIC_API_KEY`, em arquivos de configurações, para que as configurações do usuário não possam sobrescrever o roteamento do host. O Claude Code também ignora chaves de seleção de modelo, como `model`, `fallbackModel` e `modelOverrides`, nas [configurações gerenciadas](/docs/pt/managed-settings), qualquer que seja a fonte gerenciada que as entregue, para que a configuração de modelos do host tenha precedência sobre uma fixação de modelo gerenciada desatualizada. O Claude Code também ignora variáveis de seleção de modelo, como `ANTHROPIC_MODEL` e a família `ANTHROPIC_DEFAULT_*_MODEL`, em um bloco `env` gerenciado; uma allowlist [`availableModels`](/docs/pt/model-config#restrict-model-selection) nas configurações gerenciadas ainda se aplica, a menos que o host forneça a sua própria. O Claude Code também pula a desativação automática de telemetria que, de outra forma, aplica em provedores terceirizados como Amazon Bedrock, Claude Platform on AWS, Agent Platform do Google Cloud e Microsoft Foundry, para que a telemetria siga a desativação padrão por `DISABLE_TELEMETRY`. Consulte [Comportamentos padrão por provedor de API](/docs/pt/data-usage#default-behaviors-by-api-provider) |377| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | Definida por plataformas hospedeiras que incorporam o Claude Code e gerenciam o roteamento de provedores de modelo em seu nome. Quando definida, o Claude Code ignora variáveis de seleção de provedor, endpoint e autenticação, como `CLAUDE_CODE_USE_BEDROCK`, `ANTHROPIC_BASE_URL` e `ANTHROPIC_API_KEY`, em arquivos de configurações, de modo que as configurações de usuário não possam sobrescrever o roteamento do hospedeiro. O Claude Code também ignora chaves de seleção de modelo, como `model`, `fallbackModel` e `modelOverrides`, nas [configurações gerenciadas](/docs/pt/managed-settings), qualquer que seja a fonte gerenciada que as entregue, para que a configuração de modelo do hospedeiro tenha precedência sobre uma fixação de modelo gerenciada desatualizada. O Claude Code também ignora variáveis de seleção de modelo, como `ANTHROPIC_MODEL` e a família `ANTHROPIC_DEFAULT_*_MODEL`, em um bloco `env` gerenciado; uma allowlist [`availableModels`](/docs/pt/model-config#restrict-model-selection) nas configurações gerenciadas ainda se aplica, a menos que o hospedeiro forneça a sua própria. O Claude Code também ignora a desativação automática de telemetria que, de outra forma, aplica em provedores de terceiros como Amazon Bedrock, Claude Platform on AWS, Agent Platform do Google Cloud e Microsoft Foundry, de modo que a telemetria segue a desativação padrão via `DISABLE_TELEMETRY`. Consulte [Comportamentos padrão por provedor de API](/docs/pt/data-usage#default-behaviors-by-api-provider) |

373| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | Defina como `1` para permitir que o proxy faça a resolução de DNS em vez do chamador. Opcional para ambientes em que o proxy deve lidar com a resolução de nomes de host |378| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | Defina como `1` para permitir que o proxy faça a resolução de DNS em vez do chamador. Opcional para ambientes em que o proxy deve cuidar da resolução de nomes de host |

374| `CLAUDE_CODE_REMOTE` | Definida automaticamente como `true` quando o Claude Code está sendo executado como uma [sessão na nuvem](/docs/pt/claude-code-on-the-web). Leia-a a partir de um hook ou script de configuração para detectar se você está em uma sessão na nuvem |379| `CLAUDE_CODE_REMOTE` | Definida automaticamente como `true` quando o Claude Code está sendo executado como uma [sessão na nuvem](/docs/pt/claude-code-on-the-web). Leia-a em um hook ou script de configuração para detectar se você está em uma sessão na nuvem |

375| `CLAUDE_CODE_REMOTE_SESSION_ID` | Definida automaticamente em [sessões na nuvem](/docs/pt/claude-code-on-the-web) com o ID da sessão atual. Leia-a para construir um link de volta para a transcrição da sessão. Consulte [Vincular a saída de volta à sessão](/docs/pt/cloud-environments#link-output-back-to-the-session) |380| `CLAUDE_CODE_REMOTE_SESSION_ID` | Definida automaticamente em [sessões na nuvem](/docs/pt/claude-code-on-the-web) com o ID da sessão atual. Leia-a para construir um link de volta para a transcrição da sessão. Consulte [Vincular a saída de volta à sessão](/docs/pt/cloud-environments#link-output-back-to-the-session) |

376| `CLAUDE_CODE_RESTRICTED` | Defina como `1` para iniciar a sessão no modo restrito, o mesmo que passar [`--restricted`](/docs/pt/cli-reference#cli-flags). O Claude Code ignora esta variável no bloco `env` de um arquivo de configurações. Requer Claude Code v2.1.248 ou posterior |381| `CLAUDE_CODE_RESTRICTED` | Defina como `1` para iniciar a sessão no modo restrito, o mesmo que passar [`--restricted`](/docs/pt/cli-reference#cli-flags). O Claude Code ignora esta variável no bloco `env` de um arquivo de configurações. Requer o Claude Code v2.1.248 ou posterior |

377| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Defina como `1` para retomar automaticamente se a sessão anterior terminou no meio de um turno. Usada no modo SDK para que o modelo continue sem exigir que o SDK reenvie o prompt. Para desativar, remova a definição da variável ou defina-a como `0`. Para o painel de chat do VS Code, consulte [Continuar conversas após um recarregamento](/docs/pt/vs-code#continue-conversations-after-a-reload) |382| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Defina como `1` para retomar automaticamente se a sessão anterior terminou no meio de um turno. Usada no modo SDK para que o modelo continue sem exigir que o SDK reenvie o prompt. Para desativá-la, remova a definição da variável ou defina-a como `0`. Para o painel de chat do VS Code, consulte [Continuar conversas após um recarregamento](/docs/pt/vs-code#continue-conversations-after-a-reload) |

378| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | Idade máxima, em milissegundos, da última mensagem da transcrição para que uma sessão que terminou no meio de um turno continue automaticamente ao ser retomada. Quando a última mensagem é mais antiga que esse limite, o Claude Code pula a retomada automática de `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` e sua mensagem de continuação `CLAUDE_CODE_RESUME_PROMPT`, e a sessão começa ociosa para que você continue explicitamente. Não definida ou `0` significa sem limite, exceto que um turno cuja última requisição falhou com um erro de API só é retomado enquanto esse erro tiver menos de seis horas. Um valor positivo limita todos os turnos, incluindo esses; um valor negativo ou não numérico aplica um limite de uma hora. Scripts de inicialização para agentes de longa duração podem defini-la para que uma reinicialização com uma transcrição antiga não execute novamente um prompt obsoleto. O próprio Claude Code define um limite de uma hora quando reinicia uma sessão do [agent view](/docs/pt/agent-view) que travou e que herdou sua conversa de uma sessão interativa. Requer Claude Code v2.1.211 ou posterior |383| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | Idade máxima, em milissegundos, da última mensagem da transcrição para que uma sessão que terminou no meio de um turno continue automaticamente ao ser retomada. Quando a última mensagem é mais antiga que esse limite, o Claude Code ignora a retomada automática de `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` e sua mensagem de continuação `CLAUDE_CODE_RESUME_PROMPT`, e a sessão começa ociosa para que você continue explicitamente. Não definida ou `0` significa sem limite, exceto que um turno cuja última requisição falhou com um erro de API só é retomado enquanto esse erro tiver menos de seis horas. Um valor positivo limita todos os turnos, incluindo esses; um valor negativo ou não numérico aplica um limite de uma hora. Scripts de inicialização de agentes de longa duração podem defini-la para que uma reinicialização sobre uma transcrição antiga não execute novamente um prompt obsoleto. O próprio Claude Code define um limite de uma hora quando reinicia uma sessão da [visualização de agentes](/docs/pt/agent-view) que falhou e que herdou sua conversa de uma sessão interativa. Requer o Claude Code v2.1.211 ou posterior |

379| `CLAUDE_CODE_RESUME_PROMPT` | Sobrescreve a mensagem de continuação que o Claude Code envia a Claude quando `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` continua um turno interrompido em vez de reenviar seu prompt, ou quando você retoma uma [chamada de ferramenta adiada](/docs/pt/hooks#defer-a-tool-call-for-later) com `-p`. O padrão é `Continue from where you left off.`. Uma string vazia usa o padrão |384| `CLAUDE_CODE_RESUME_PROMPT` | Sobrescreve a mensagem de continuação que o Claude Code envia ao Claude quando `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` continua um turno interrompido em vez de reenviar seu prompt, ou quando você retoma uma [chamada de ferramenta adiada](/docs/pt/hooks#defer-a-tool-call-for-later) com `-p`. O padrão é `Continue from where you left off.`. Uma string vazia usa o padrão |

380| `CLAUDE_CODE_RETRY_WATCHDOG` | Defina como `1` para sessões não supervisionadas, como harnesses de avaliação, jobs de CI ou workers remotos. Tenta novamente erros de capacidade `429` e `529` indefinidamente em vez de falhar após `CLAUDE_CODE_MAX_RETRIES` tentativas. O Claude Code falha imediatamente quando uma requisição de velocidade padrão recebe um `429` que informa um limite de gastos ou créditos de uso esgotados, mesmo um vindo de um [limite de gastos do gateway](/docs/pt/errors#spend-limit-reached) que é redefinido segundo uma programação. Antes da v2.1.239, o watchdog tentava novamente esses erros indefinidamente. Para requisições no modo rápido, consulte [Lidar com rate limits](/docs/pt/fast-mode#handle-rate-limits). O watchdog aguarda até 5 minutos entre as tentativas, ou até que o limite seja redefinido quando a resposta traz um horário de redefinição do rate limit, para que uma sessão que atinge um limite de uso aguarde o restante da janela. Na v2.1.199 ou posterior, ele também aumenta a contagem padrão de novas tentativas para outros erros transitórios, como erros de servidor, timeouts e conexões interrompidas, para 300, aproximadamente três horas de backoff, e remove o limite de 15 em `CLAUDE_CODE_MAX_RETRIES` se você definir essa variável explicitamente. Requer Claude Code v2.1.186 ou posterior |385| `CLAUDE_CODE_RETRY_WATCHDOG` | Defina como `1` para sessões não supervisionadas, como harnesses de avaliação, jobs de CI ou workers remotos. Tenta novamente indefinidamente erros de capacidade `429` e `529` em vez de falhar após `CLAUDE_CODE_MAX_RETRIES` tentativas. O Claude Code falha imediatamente quando uma requisição de velocidade padrão recebe um `429` que informa um limite de gastos ou créditos de uso esgotados, mesmo que venha de um [limite de gastos do gateway](/docs/pt/errors#spend-limit-reached) que é redefinido em um cronograma. Antes da v2.1.239, o watchdog tentava novamente esses casos indefinidamente. Para requisições no modo rápido, consulte [Lidar com rate limits](/docs/pt/fast-mode#handle-rate-limits). O watchdog espera até 5 minutos entre as tentativas, ou até que o limite seja redefinido quando a resposta inclui um horário de redefinição do rate limit, de modo que uma sessão que atinge um limite de uso aguarda o restante da janela. Na v2.1.199 ou posterior, também aumenta o número padrão de novas tentativas para outros erros transitórios, como erros de servidor, timeouts e conexões interrompidas, para 300, aproximadamente três horas de backoff, e remove o limite de 15 em `CLAUDE_CODE_MAX_RETRIES` se você definir essa variável explicitamente. Requer o Claude Code v2.1.186 ou posterior |

381| `CLAUDE_CODE_SAFE_MODE` | Defina como `1` para iniciar no modo de segurança: CLAUDE.md, skills, plugins, hooks, servidores MCP, comandos e agentes personalizados, estilos de saída, workflows, temas personalizados, atalhos de teclado personalizados, comandos da linha de status e de sugestão de arquivos, servidores LSP e memória automática não são carregados, para solucionar problemas de uma configuração quebrada. A política de configurações gerenciadas ainda se aplica, incluindo hooks, linha de status e comandos de sugestão de arquivos configurados por política; plugins gerenciados, skills gerenciadas, CLAUDE.md gerenciado e servidores MCP configurados por política não. Equivalente a passar [`--safe-mode`](/docs/pt/cli-reference#cli-flags). Processos filhos iniciados diretamente herdam a variável |386| `CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS` | Tempo máximo, em milissegundos, que cada requisição à API passa aguardando erros `429` e `529` quando `CLAUDE_CODE_RETRY_WATCHDOG` está definida. Depois que esse tempo se esgota, o próximo erro desse tipo encerra a requisição. Informe um número inteiro positivo em dígitos simples, como `1800000` para 30 minutos. Quando não definida, a espera não tem limite. Requer o Claude Code v2.1.295 ou posterior |

382| `CLAUDE_CODE_SCRIPT_CAPS` | Objeto JSON que limita quantas vezes scripts específicos podem ser invocados por sessão quando `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` está definida. As chaves são substrings comparadas com o texto do comando; os valores são limites inteiros de chamadas. Por exemplo, `{"deploy.sh": 2}` permite que `deploy.sh` seja chamado no máximo duas vezes. A correspondência é baseada em substrings, então truques de expansão do shell como `./scripts/deploy.sh $(evil)` ainda contam para o limite. A multiplicação em tempo de execução via `xargs` ou `find -exec` não é detectada; este é um controle de defesa em profundidade |387| `CLAUDE_CODE_SAFE_MODE` | Defina como `1` para iniciar no modo seguro: CLAUDE.md, skills, plugins, hooks, servidores MCP, comandos e agentes personalizados, estilos de saída, fluxos de trabalho, temas personalizados, atalhos de teclado personalizados, comandos de linha de status e de sugestão de arquivos, servidores LSP e memória automática não são carregados, para solucionar problemas de uma configuração com defeito. A política de configurações gerenciadas ainda se aplica, incluindo hooks, linha de status e comandos de sugestão de arquivos configurados por política; plugins gerenciados, skills gerenciadas, CLAUDE.md gerenciado e servidores MCP configurados por política não. Equivalente a passar [`--safe-mode`](/docs/pt/cli-reference#cli-flags). Processos filhos iniciados diretamente herdam a variável |

383| `CLAUDE_CODE_SCROLL_SPEED` | Define o multiplicador de rolagem da roda do mouse na [renderização em tela cheia](/docs/pt/fullscreen#mouse-wheel-scrolling). Aceita qualquer valor positivo até 20, incluindo valores fracionários abaixo de 1, como `0.5`, para desacelerar a rolagem acelerada do trackpad e da roda em terminais que já amplificam eventos da roda. Defina como `3` para corresponder ao `vim` se o seu terminal envia um evento da roda por entalhe sem amplificação. Ignorada no terminal do IDE JetBrains, onde o Claude Code usa seu próprio tratamento de rolagem |388| `CLAUDE_CODE_SCRIPT_CAPS` | Objeto JSON que limita quantas vezes scripts específicos podem ser invocados por sessão quando `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` está definida. As chaves são substrings comparadas com o texto do comando; os valores são limites inteiros de chamadas. Por exemplo, `{"deploy.sh": 2}` permite que `deploy.sh` seja chamado no máximo duas vezes. A correspondência é baseada em substring, então truques de expansão do shell como `./scripts/deploy.sh $(evil)` ainda contam para o limite. O fan-out em tempo de execução via `xargs` ou `find -exec` não é detectado; este é um controle de defesa em profundidade |

384| `CLAUDE_CODE_SEND_FEEDBACK` | Defina como `0` para desativar o [feedback redigido por Claude](/docs/pt/tools-reference#sendfeedback-tool-behavior) em uma sessão. Defina como `1` para ativá-lo onde sua conta já tem acesso; a variável não pode conceder acesso por si só, e as outras opções que desativam o feedback, como `DISABLE_FEEDBACK_COMMAND` e o valor `off` da configuração [`feedbackDrafts`](/docs/pt/settings-reference#feedbackdrafts), ainda se aplicam |389| `CLAUDE_CODE_SCROLL_SPEED` | Define o multiplicador de rolagem da roda do mouse na [renderização em tela cheia](/docs/pt/fullscreen#mouse-wheel-scrolling). Aceita qualquer valor positivo até 20, incluindo valores fracionários abaixo de 1, como `0.5`, para desacelerar a rolagem acelerada do trackpad e da roda em terminais que já amplificam os eventos da roda. Defina como `3` para corresponder ao `vim` se o seu terminal enviar um evento de roda por clique sem amplificação. Ignorada no terminal dos IDEs JetBrains, onde o Claude Code usa seu próprio tratamento de rolagem |

385| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Sobrescreve o orçamento de tempo em milissegundos para hooks [SessionEnd](/docs/pt/hooks#sessionend). O valor também é o timeout para cada hook que não define seu próprio `timeout`. Aplica-se à saída da sessão, ao `/clear` e à troca de sessões via `/resume` interativo. Por padrão, o orçamento é de 1,5 segundo, elevado automaticamente para o maior `timeout` por hook configurado nos arquivos de configurações, até 60 segundos. Timeouts em hooks fornecidos por plugins não elevam o orçamento |390| `CLAUDE_CODE_SEND_FEEDBACK` | Defina como `0` para desativar o [feedback redigido pelo Claude](/docs/pt/tools-reference#sendfeedback-tool-behavior) em uma sessão. Defina como `1` para ativá-lo onde sua conta já tiver acesso; a variável não pode conceder acesso por si só, e as outras opções que desativam o feedback, como `DISABLE_FEEDBACK_COMMAND` e o valor `off` da configuração [`feedbackDrafts`](/docs/pt/settings-reference#feedbackdrafts), ainda se aplicam |

386| `CLAUDE_CODE_SESSION_ID` | Definida automaticamente com o ID da sessão atual em subprocessos das ferramentas Bash e PowerShell, em subprocessos de [comandos de hook](/docs/pt/hooks) e em subprocessos de [servidores MCP](/docs/pt/mcp) stdio. Para Bash, PowerShell e hooks, corresponde ao campo `session_id` na entrada JSON do hook e é atualizada no `/clear`. Um subprocesso de servidor MCP mantém o ID com o qual foi iniciado. Com `--resume <session-id>`, ele recebe o ID retomado, assim como os hooks e o Bash. Com `--continue` ou `--resume` sem um ID explícito, ele pode receber o ID inicial da inicialização. Use para correlacionar scripts e ferramentas externas com a sessão do Claude Code que os iniciou |391| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Sobrescreve o orçamento de tempo em milissegundos para hooks [SessionEnd](/docs/pt/hooks#sessionend). O valor também é o timeout de cada hook que não define seu próprio `timeout`. Aplica-se à saída da sessão, a `/clear` e à troca de sessões via `/resume` interativo. Por padrão, o orçamento é de 1,5 segundo, elevado automaticamente para o maior `timeout` por hook configurado nos arquivos de configurações, até 60 segundos. Timeouts de hooks fornecidos por plugins não aumentam o orçamento |

387| `CLAUDE_CODE_SHELL` | Define o shell que o Claude Code usa para executar comandos da ferramenta Bash. Aceita um caminho para um binário `bash` ou `zsh`, por exemplo `/opt/homebrew/bin/bash`. Outros shells, como `fish`, não são suportados. Se o valor não for um caminho funcional de `bash` ou `zsh`, o Claude Code o ignora e recorre à detecção automática. A detecção automática usa seu `$SHELL` quando ele aponta para `bash` ou `zsh`; caso contrário, escolhe o primeiro `zsh` e depois o primeiro `bash` funcionais encontrados no seu `PATH` e nos locais de instalação padrão |392| `CLAUDE_CODE_SESSION_ID` | Definida automaticamente com o ID da sessão atual nos subprocessos das ferramentas Bash e PowerShell, nos subprocessos de [comandos de hook](/docs/pt/hooks) e nos subprocessos de [servidores MCP](/docs/pt/mcp) stdio. Para Bash, PowerShell e hooks, corresponde ao campo `session_id` na entrada JSON do hook e é atualizada em `/clear`. Um subprocesso de servidor MCP mantém o ID com o qual foi iniciado. Em `--resume <session-id>`, ele recebe o ID retomado, correspondendo aos hooks e ao Bash. Em `--continue` ou `--resume` sem um ID explícito, ele pode receber o ID inicial da inicialização. Use para correlacionar scripts e ferramentas externas com a sessão do Claude Code que os iniciou |

388| `CLAUDE_CODE_SHELL_PREFIX` | Prefixo de comando que envolve os comandos de shell que o Claude Code inicia: chamadas da ferramenta Bash, comandos de [hooks](/docs/pt/hooks), comandos da [linha de status](/docs/pt/statusline) e comandos de inicialização de [servidores MCP](/docs/pt/mcp) stdio. Hooks do PowerShell e hooks no formato exec são executados sem o prefixo. Útil para log ou auditoria. Definir um caminho de executável simples, como `/path/to/logger.sh`, executa cada comando como `/path/to/logger.sh '<command>'`. O wrapper recebe a linha de comando como um único argumento entre aspas do shell em `$1`, então o wrapper deve reavaliar `$1` com um shell, por exemplo `exec bash -c "$1"`. Tratar `$1` como um caminho de executável simples quebra servidores MCP stdio que passam argumentos como `npx -y <package>`. Para chamadas da ferramenta Bash, `$1` contém a invocação completa do shell que o Claude Code monta, incluindo a configuração do ambiente, não apenas o comando que Claude executou |393| `CLAUDE_CODE_SHELL` | Define o shell que o Claude Code usa para executar os comandos da ferramenta Bash. Aceita um caminho para um binário `bash` ou `zsh`, por exemplo `/opt/homebrew/bin/bash`. Outros shells, como `fish`, não são suportados. Se o valor não for um caminho `bash` ou `zsh` funcional, o Claude Code o ignora e recorre à detecção automática. A detecção automática usa o seu `$SHELL` quando ele aponta para `bash` ou `zsh`; caso contrário, escolhe o primeiro `zsh` e depois `bash` funcional encontrado no seu `PATH` e nos locais de instalação padrão |

389| `CLAUDE_CODE_SIMPLE` | Defina como `1` para executar com um system prompt mínimo e apenas as ferramentas Bash, de leitura de arquivos e de edição de arquivos. As ferramentas MCP de `--mcp-config` continuam disponíveis. Desativa a descoberta automática de hooks, skills, comandos personalizados, subagentes, plugins instalados, servidores MCP, memória automática e CLAUDE.md. Skills em um diretório que você passa com `--add-dir` ainda são carregadas. Tokens OAuth e credenciais do keychain não são lidos, então a autenticação da Anthropic deve vir de `ANTHROPIC_API_KEY` ou de um `apiKeyHelper` em `--settings`. Equivalente a passar [`--bare`](/docs/pt/headless#start-faster-with-bare-mode) |394| `CLAUDE_CODE_SHELL_PREFIX` | Prefixo de comando que envolve os comandos de shell que o Claude Code inicia: chamadas da ferramenta Bash, comandos de [hook](/docs/pt/hooks), comandos da [linha de status](/docs/pt/statusline) e comandos de inicialização de [servidores MCP](/docs/pt/mcp) stdio. Hooks do PowerShell e hooks no formato exec são executados sem o prefixo. Útil para logging ou auditoria. Definir um caminho de executável simples, como `/path/to/logger.sh`, executa cada comando como `/path/to/logger.sh '<command>'`. O wrapper recebe a linha de comando como um único argumento entre aspas do shell em `$1`, então o wrapper deve reavaliar `$1` com um shell, por exemplo `exec bash -c "$1"`. Tratar `$1` como um caminho de executável simples quebra servidores MCP stdio que passam argumentos como `npx -y <package>`. Para chamadas da ferramenta Bash, `$1` contém a invocação completa do shell que o Claude Code monta, incluindo a configuração do ambiente, e não apenas o comando que o Claude executou |

390| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Escolhe entre o system prompt completo do Claude Code e um mais curto, com descrições de ferramentas abreviadas. Quando não definida, Haiku 4.5, Sonnet 5, Opus 4.7 e modelos anteriores dessas famílias usam o prompt completo por padrão, e modelos mais novos usam o mais curto. Defina como `1` para usar o prompt mais curto em qualquer modelo. Defina como `0`, `false`, `no` ou `off` para usar o prompt completo em qualquer modelo, mesmo quando um experimento ou uma configuração do servidor selecionaria o mais curto. Ambos os prompts mantêm o conjunto completo de ferramentas, hooks, servidores MCP e a descoberta de CLAUDE.md |395| `CLAUDE_CODE_SIMPLE` | Defina como `1` para executar com um system prompt mínimo e apenas as ferramentas Bash, de leitura de arquivos e de edição de arquivos. As ferramentas MCP de `--mcp-config` continuam disponíveis. Desativa a descoberta automática de hooks, skills, comandos personalizados, subagentes, plugins instalados, servidores MCP, memória automática e CLAUDE.md. Skills em um diretório que você passa com `--add-dir` continuam sendo carregadas. Tokens OAuth e credenciais do keychain não são lidos, então a autenticação na Anthropic deve vir de `ANTHROPIC_API_KEY` ou de um `apiKeyHelper` em `--settings`. Equivalente a passar [`--bare`](/docs/pt/headless#start-faster-with-bare-mode) |

396| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Escolhe entre o system prompt completo do Claude Code e um mais curto com descrições de ferramentas abreviadas. Quando não definida, o Haiku 4.5, o Sonnet 5, o Opus 4.7 e modelos anteriores dessas famílias usam o prompt completo por padrão, e os modelos mais novos usam o mais curto. Defina como `1` para usar o prompt mais curto em qualquer modelo. Defina como `0`, `false`, `no` ou `off` para usar o prompt completo em qualquer modelo, mesmo quando um experimento ou uma configuração do servidor selecionaria o mais curto. Qualquer um dos prompts mantém o conjunto completo de ferramentas, hooks, servidores MCP e a descoberta de CLAUDE.md |

391| `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` | Ignora a autenticação do lado do cliente para o [Claude Platform on AWS](/docs/pt/claude-platform-on-aws), para gateways que assinam as requisições por conta própria |397| `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` | Ignora a autenticação do lado do cliente para o [Claude Platform on AWS](/docs/pt/claude-platform-on-aws), para gateways que assinam as requisições por conta própria |

392| `CLAUDE_CODE_SKIP_AWS_CRED_CACHE` | Defina como `1` para desativar o cache em processo das credenciais resolvidas a partir da cadeia de provedores de credenciais padrão da AWS, para que o Claude Code resolva a cadeia a cada requisição de API. Com o cache desativado, um perfil baseado em SSO solicita credenciais ao IAM Identity Center a cada requisição. Consulte [cache de credenciais e timeout de resolução](/docs/pt/amazon-bedrock#credential-caching-and-resolution-timeout). Requer Claude Code v2.1.207 ou posterior |398| `CLAUDE_CODE_SKIP_AWS_CRED_CACHE` | Defina como `1` para desativar o cache em processo de credenciais resolvidas a partir da cadeia de provedores de credenciais padrão da AWS, para que o Claude Code resolva a cadeia a cada requisição à API. Com o cache desativado, um perfil baseado em SSO solicita credenciais ao IAM Identity Center a cada requisição. 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 |

393| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | Ignora a autenticação da AWS para o Amazon Bedrock (por exemplo, ao usar um gateway de LLM) |399| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | Ignora a autenticação da AWS para o Amazon Bedrock (por exemplo, ao usar um gateway de LLM) |

394| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` | Defina como `1` para tratar uma verificação de disponibilidade do [modo rápido](/docs/pt/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) com falha como disponível, para redes que bloqueiam a requisição direta da verificação para `api.anthropic.com`. O Claude Code ainda respeita uma resposta "disabled by your organization" |400| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` | Defina como `1` para tratar uma verificação de disponibilidade do [modo rápido](/docs/pt/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) que falhou como disponível, para redes que bloqueiam a requisição direta da verificação a `api.anthropic.com`. O Claude Code ainda respeita uma resposta "disabled by your organization" |

395| `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK` | Defina como `1` para pular a verificação de disponibilidade do [modo rápido](/docs/pt/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) no lado do cliente, para proxies que interceptam a requisição da verificação em vez de recusá-la. A API ainda rejeita requisições no modo rápido quando sua organização tem o modo rápido desativado |401| `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK` | Defina como `1` para ignorar a verificação de disponibilidade do [modo rápido](/docs/pt/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) do lado do cliente, para proxies que interceptam a requisição da verificação em vez de recusá-la. A API ainda rejeita requisições no modo rápido quando a sua organização tem o modo rápido desativado |

396| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | Ignora a autenticação do Azure para o Microsoft Foundry, para um proxy ou gateway que injeta seu próprio cabeçalho `Authorization`. O Claude Code envia requisições sem uma credencial do Azure e preserva o cabeçalho `Authorization` que você fornece, por exemplo por meio de `ANTHROPIC_CUSTOM_HEADERS`. Ignorada quando `ANTHROPIC_FOUNDRY_API_KEY` ou `ANTHROPIC_FOUNDRY_AUTH_TOKEN` está definida. Antes da v2.1.203, esta variável deixava o cliente do Microsoft Foundry incapaz de enviar requisições, a menos que uma chave de API também estivesse definida |402| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | Ignora a autenticação do Azure para o Microsoft Foundry, para um proxy ou gateway que injeta seu próprio cabeçalho `Authorization`. O Claude Code envia as requisições sem uma credencial do Azure e preserva o cabeçalho `Authorization` que você fornece, por exemplo por meio de `ANTHROPIC_CUSTOM_HEADERS`. Ignorada quando `ANTHROPIC_FOUNDRY_API_KEY` ou `ANTHROPIC_FOUNDRY_AUTH_TOKEN` está definida. Antes da v2.1.203, esta variável deixava o cliente do Microsoft Foundry incapaz de enviar requisições, a menos que uma chave de API também estivesse definida |

397| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | Ignora a autenticação da AWS para o Amazon Bedrock Mantle (por exemplo, ao usar um gateway de LLM) |403| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | Ignora a autenticação da AWS para o Amazon Bedrock Mantle (por exemplo, ao usar um gateway de LLM) |

398| `CLAUDE_CODE_SKIP_MODEL_ACCESS_MEMORY` | As [verificações de modelo na inicialização](/docs/pt/amazon-bedrock#startup-model-checks) no [Amazon Bedrock](/docs/pt/amazon-bedrock) e na [Agent Platform do Google Cloud](/docs/pt/google-vertex-ai) lembram nesta máquina, por até um dia, quais modelos elas descobriram que sua conta não pode invocar. Defina como `1` para desativar essa memória. Requer Claude Code v2.1.285 ou posterior |404| `CLAUDE_CODE_SKIP_MODEL_ACCESS_MEMORY` | As [verificações de modelo na inicialização](/docs/pt/amazon-bedrock#startup-model-checks) no [Amazon Bedrock](/docs/pt/amazon-bedrock) e no [Agent Platform do Google Cloud](/docs/pt/google-vertex-ai) lembram nesta máquina quais modelos elas constataram que sua conta não pode invocar, por até um dia. Defina como `1` para desativar essa memória. Requer o Claude Code v2.1.285 ou posterior |

399| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | Defina como `1` para não gravar o histórico de prompts e as transcrições de sessão em disco. Sessões iniciadas com esta variável definida não aparecem em `--resume`, `--continue` nem no histórico da seta para cima. Útil para sessões efêmeras executadas por script |405| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | Defina como `1` para não gravar o histórico de prompts e as transcrições de sessão em disco. Sessões iniciadas com esta variável definida não aparecem em `--resume`, `--continue` nem no histórico da seta para cima. Útil para sessões efêmeras executadas por scripts |

400| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Ignora a autenticação do Google para a Agent Platform do Google Cloud (por exemplo, ao usar um gateway de LLM) |406| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Ignora a autenticação do Google para o Agent Platform do Google Cloud (por exemplo, ao usar um gateway de LLM) |

401| `CLAUDE_CODE_STARTUP_FAILURE_RESULTS` | Defina como `1` para que uma sessão iniciada com `--output-format stream-json` grave uma [mensagem de resultado indicando por que o Claude Code se recusou a iniciar](/docs/pt/agent-sdk/typescript#startup_failure_reason) para falhas de inicialização que, de outra forma, terminam apenas com stderr. Requer Claude Code v2.1.274 ou posterior |407| `CLAUDE_CODE_STARTUP_FAILURE_RESULTS` | Defina como `1` para que uma sessão iniciada com `--output-format stream-json` grave uma [mensagem de resultado informando por que o Claude Code se recusou a iniciar](/docs/pt/agent-sdk/typescript#startup_failure_reason) para falhas de inicialização que, de outra forma, terminam apenas com o stderr. Requer o Claude Code v2.1.274 ou posterior |

402| `CLAUDE_CODE_STOP_HOOK_BLOCK_CAP` | Número máximo de vezes consecutivas que um hook [Stop](/docs/pt/hooks#stop) ou [SubagentStop](/docs/pt/hooks#subagentstop) pode impedir que o turno termine antes que o Claude Code o sobrescreva e encerre o turno mesmo assim (padrão: 8). Defina como `0` para desativar o limite. Aumente-o se o seu hook legitimamente precisar de mais iterações para resolver |408| `CLAUDE_CODE_STOP_HOOK_BLOCK_CAP` | Número máximo de vezes consecutivas que um hook [Stop](/docs/pt/hooks#stop) ou [SubagentStop](/docs/pt/hooks#subagentstop) pode impedir o término do turno antes que o Claude Code o sobrescreva e encerre o turno mesmo assim (padrão: 8). Defina como `0` para desativar o limite. Aumente-o se o seu hook legitimamente precisar de mais iterações para se resolver |

403| `CLAUDE_CODE_SUBAGENT_MODEL` | O modelo padrão para [subagentes](/docs/pt/sub-agents#choose-a-model), colegas de [equipes de agentes](/docs/pt/agent-teams#specify-teammates-and-models) e agentes de [workflow](/docs/pt/workflows) que não recebem um modelo de outra forma. Aceita um alias como `haiku` ou um nome completo de modelo. Duas fontes têm precedência sobre ela: um modelo que Claude passa ao criar o agente e um campo `model` na definição do agente, incluindo `inherit`. Para mudar isso, defina [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE`](/docs/pt/sub-agents#run-every-subagent-on-one-model). Consulte [Escolher um modelo](/docs/pt/sub-agents#choose-a-model) para a ordem completa. Defini-la como `inherit` é o mesmo que deixá-la não definida. Antes da v2.1.251, esta variável sobrescrevia tanto o modelo por invocação quanto o campo `model` da definição |409| `CLAUDE_CODE_SUBAGENT_MODEL` | O modelo padrão para [subagentes](/docs/pt/sub-agents#choose-a-model), colegas de [equipe de agentes](/docs/pt/agent-teams#specify-teammates-and-models) e agentes de [workflow](/docs/pt/workflows) que não recebem um modelo de outra forma. Aceita um alias como `haiku` ou um nome completo de modelo. Duas fontes têm precedência sobre ela: um modelo que o Claude passa ao gerar o agente e um campo `model` na definição do agente, incluindo `inherit`. Para mudar isso, defina [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE`](/docs/pt/sub-agents#run-every-subagent-on-one-model). Consulte [Escolher um modelo](/docs/pt/sub-agents#choose-a-model) para a ordem completa. Defini-la como `inherit` é o mesmo que deixá-la não definida. Antes da v2.1.251, esta variável sobrescrevia tanto o modelo por invocação quanto o campo `model` da definição |

404| `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` | Defina como `1` para forçar um único modelo em subagentes, colegas de equipe e agentes de workflow. [Executar todos os subagentes em um único modelo](/docs/pt/sub-agents#run-every-subagent-on-one-model) diz qual é esse modelo. Requer Claude Code v2.1.257 ou posterior |410| `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` | Defina como `1` para forçar um único modelo em subagentes, colegas de equipe e agentes de workflow. [Executar todos os subagentes em um único modelo](/docs/pt/sub-agents#run-every-subagent-on-one-model) informa qual é esse modelo. Requer o Claude Code v2.1.257 ou posterior |

405| `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL` | Defina `5m` ou `1h`, os únicos valores que o Claude Code aceita, para escolher o [TTL do cache de prompt](/docs/pt/prompt-caching#cache-lifetime) para requisições fora da conversa principal, como [subagentes](/docs/pt/sub-agents), workflows e trabalho em segundo plano. Tem precedência sobre a configuração `subagentPromptCacheTtl` e sobre `ENABLE_PROMPT_CACHING_1H`, e `FORCE_PROMPT_CACHING_5M` a sobrescreve. A API cobra gravações de cache de 1 hora a uma taxa mais alta. Requer Claude Code v2.1.242 ou posterior |411| `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL` | Defina `5m` ou `1h`, os únicos valores que o Claude Code aceita, para escolher o [TTL do cache de prompt](/docs/pt/prompt-caching#cache-lifetime) para requisições fora da conversa principal, como [subagentes](/docs/pt/sub-agents), fluxos de trabalho e trabalho em segundo plano. Tem precedência sobre a configuração `subagentPromptCacheTtl` e sobre `ENABLE_PROMPT_CACHING_1H`, e `FORCE_PROMPT_CACHING_5M` a sobrescreve. A API cobra gravações de cache de 1 hora a uma tarifa mais alta. Requer o Claude Code v2.1.242 ou posterior |

406| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Defina como `1` para remover credenciais dos ambientes dos subprocessos que o Claude Code inicia, como comandos Bash, hooks e servidores MCP stdio. A limpeza reconhece uma credencial pelo nome da variável ou pelo valor, e mantém os tokens do GitHub e as configurações de proxy. Consulte [O que a limpeza do ambiente de subprocessos remove](#what-the-subprocess-environment-scrub-removes). `claude-code-action` define isso automaticamente quando `allowed_non_write_users` está configurado |412| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Defina como `1` para remover credenciais dos ambientes dos subprocessos que o Claude Code inicia, como comandos Bash, hooks e servidores MCP stdio. A limpeza reconhece uma credencial pelo nome da variável ou pelo seu valor, e mantém os tokens do GitHub e as configurações de proxy. Consulte [O que a limpeza do ambiente de subprocessos remove](#what-the-subprocess-environment-scrub-removes). `claude-code-action` define esta variável automaticamente quando `allowed_non_write_users` está configurado |

407| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | Defina como `1` no modo não interativo (a flag `-p`) para aguardar a conclusão da instalação de plugins antes da primeira consulta. Sem isso, os plugins são instalados em segundo plano e podem não estar disponíveis no primeiro turno. Combine com `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` para limitar a espera |413| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | Defina como `1` no modo não interativo (a flag `-p`) para aguardar a conclusão da instalação de plugins antes da primeira consulta. Sem isso, os plugins são instalados em segundo plano e podem não estar disponíveis no primeiro turno. Combine com `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` para limitar a espera |

408| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Timeout em milissegundos para a instalação síncrona de plugins. Quando excedido, o Claude Code prossegue sem plugins e registra um erro em log. Sem padrão: sem esta variável, a instalação síncrona aguarda até ser concluída |414| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Timeout em milissegundos para a instalação síncrona de plugins. Quando excedido, o Claude Code prossegue sem os plugins e registra um erro em log. Sem padrão: sem esta variável, a instalação síncrona aguarda até a conclusão |

409| `CLAUDE_CODE_SYNC_SKILLS` | Defina como `1` no modo não interativo com a flag `-p` para fazer o Claude Code baixar as skills ativadas para sua conta do claude.ai nessa execução e aguardar a lista delas, até `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS`, antes de executar a primeira consulta. Requer autenticação no claude.ai. Sessões de terminal nas quais você faz login com sua conta do claude.ai [sincronizam essas skills](/docs/pt/skills#where-synced-skills-load) sem esta variável, então defina-a apenas quando uma execução `-p` precisar das suas skills atuais na primeira consulta |415| `CLAUDE_CODE_SYNC_SKILLS` | Defina como `1` no modo não interativo com a flag `-p` para fazer o Claude Code baixar as skills ativadas para a sua conta do claude.ai naquela execução e aguardar a lista delas, até `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS`, antes de executar a primeira consulta. Requer autenticação no claude.ai. Sessões de terminal em que você faz login com sua conta do claude.ai [sincronizam essas skills](/docs/pt/skills#where-synced-skills-load) sem esta variável, então defina-a apenas quando uma execução com `-p` precisar das suas skills atuais na primeira consulta |

410| `CLAUDE_CODE_SYNC_SKILLS_INSTALL_TIMEOUT_MS` | Timeout em milissegundos para a ressincronização de skills executada no meio da sessão quando um aplicativo criado com o [Agent SDK](/docs/pt/agent-sdk/typescript#query-object) recarrega as skills (padrão: 30000). Quando excedido, o recarregamento continua com as skills que já chegaram, e os downloads restantes terminam em segundo plano |416| `CLAUDE_CODE_SYNC_SKILLS_INSTALL_TIMEOUT_MS` | Timeout em milissegundos para a ressincronização de skills executada no meio da sessão quando um app construído com o [Agent SDK](/docs/pt/agent-sdk/typescript#query-object) recarrega as skills (padrão: 30000). Quando excedido, o recarregamento continua com as skills que já chegaram, e os downloads restantes terminam em segundo plano |

411| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | Timeout em milissegundos para a primeira consulta aguardar a lista inicial de skills quando `CLAUDE_CODE_SYNC_SKILLS` está definida (padrão: 5000). Quando excedido, a primeira consulta é executada com as skills que já chegaram. Os downloads terminam em segundo plano de qualquer forma, e Claude aguarda o download de uma skill quando a invoca |417| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | Timeout em milissegundos para a primeira consulta aguardar a lista inicial de skills quando `CLAUDE_CODE_SYNC_SKILLS` está definida (padrão: 5000). Quando excedido, a primeira consulta é executada com as skills que já chegaram. Os downloads terminam em segundo plano de qualquer forma, e o Claude aguarda o download de uma skill quando a invoca |

412| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | Defina como `false` para desativar o realce de sintaxe na saída de diff. Útil quando as cores interferem na configuração do seu terminal. Para desativar também o realce em blocos de código e pré-visualizações de arquivos, use a configuração [`syntaxHighlightingDisabled`](/docs/pt/settings-reference#syntaxhighlightingdisabled) |418| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | Defina como `false` para desativar o realce de sintaxe na saída de diff. Útil quando as cores interferem na configuração do seu terminal. Para desativar também o realce em blocos de código e pré-visualizações de arquivos, use a configuração [`syntaxHighlightingDisabled`](/docs/pt/settings-reference#syntaxhighlightingdisabled) |

413| `CLAUDE_CODE_TASK_LIST_ID` | Compartilha uma lista de tarefas entre sessões. Defina o mesmo ID em várias instâncias do Claude Code para coordenar uma lista de tarefas compartilhada, em [sessões que têm as ferramentas Task](/docs/pt/tools-reference#task-tool-availability). Consulte [Lista de tarefas](/docs/pt/interactive-mode#task-list) |419| `CLAUDE_CODE_TASK_LIST_ID` | Compartilha uma lista de tarefas entre sessões. Defina o mesmo ID em várias instâncias do Claude Code para coordenar em uma lista de tarefas compartilhada, em [sessões que têm as ferramentas Task](/docs/pt/tools-reference#task-tool-availability). Consulte [Lista de tarefas](/docs/pt/interactive-mode#task-list) |

414| `CLAUDE_CODE_TEAM_TEARDOWN_PARK_TIMEOUT_MS` | Sobrescreve, em milissegundos, quanto tempo uma sessão não interativa aguarda na saída até que sua [equipe de agentes](/docs/pt/agent-teams) termine de ser desmontada. Aceita de 1000 a 60000; um valor fora desse intervalo é ignorado e o padrão de 10000 se aplica. Requer Claude Code v2.1.206 ou posterior |420| `CLAUDE_CODE_TEAM_TEARDOWN_PARK_TIMEOUT_MS` | Sobrescreve, em milissegundos, quanto tempo uma sessão não interativa aguarda na saída até que sua [equipe de agentes](/docs/pt/agent-teams) termine de ser desmontada. Aceita de 1000 a 60000; um valor fora do intervalo é ignorado e o padrão de 10000 se aplica. Requer o Claude Code v2.1.206 ou posterior |

415| `CLAUDE_CODE_TMPDIR` | Sobrescreve o diretório temporário usado para arquivos temporários internos. O Claude Code acrescenta `/claude-{uid}/` a esse caminho no Unix, ou `/claude/` no Windows. Padrão: `/tmp` no macOS, `os.tmpdir()` no Linux e no Windows. No macOS e no Linux, subprocessos Bash em [sandbox](/docs/pt/sandboxing) recebem um `$TMPDIR` de fallback curto sob o padrão do sistema quando o valor que você definiu é um caminho longo, já que algumas ferramentas falham quando os caminhos temporários ficam longos demais. Comandos Bash fora da sandbox herdam o `$TMPDIR` do seu shell quando ele está definido. No Windows nativo, quando seu shell não define `$TMPDIR`, um comando Bash que referencia `$TMPDIR` recebe o valor que você definiu, ou `%TEMP%` quando você não definiu um. Os próprios arquivos temporários do Claude Code sempre usam o valor que você definiu. 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) |421| `CLAUDE_CODE_TMPDIR` | Sobrescreve o diretório temporário usado para arquivos temporários internos. O Claude Code acrescenta `/claude-{uid}/` a este caminho no Unix, ou `/claude/` no Windows. Padrão: `/tmp` no macOS, `os.tmpdir()` no Linux e no Windows. No macOS e no Linux, subprocessos Bash em [sandbox](/docs/pt/sandboxing) recebem um `$TMPDIR` de fallback curto sob o padrão do sistema quando a sua substituição é um caminho longo, já que algumas ferramentas falham quando os caminhos temporários ficam longos demais. Comandos Bash fora do sandbox herdam o `$TMPDIR` do seu shell quando ele está definido. No Windows nativo, quando o seu shell não define `$TMPDIR`, um comando Bash que referencia `$TMPDIR` recebe a sua substituição, ou `%TEMP%` quando você não definiu uma. Os próprios arquivos temporários do Claude Code sempre usam a sua substituição. 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) |

416| `CLAUDE_CODE_TMUX_TRUECOLOR` | Defina com qualquer valor não vazio, como `1`, para permitir saída truecolor de 24 bits dentro do tmux. **Defini-la como `0` ou `false` ainda permite truecolor**, diferentemente da maioria das variáveis de ativar/desativar; remova a definição da variável para restaurar a limitação a 256 cores. Por padrão, o Claude Code limita a saída a 256 cores quando `$TMUX` está definida, porque o tmux não repassa sequências de escape truecolor, a menos que seja configurado para isso. Defina-a depois de adicionar `set -ga terminal-overrides ',*:Tc'` ao seu `~/.tmux.conf`. Consulte [Configuração do terminal](/docs/pt/terminal-config) para outras configurações do tmux |422| `CLAUDE_CODE_TMUX_TRUECOLOR` | Defina com qualquer valor não vazio, como `1`, para permitir saída truecolor de 24 bits dentro do tmux. **Defini-la como `0` ou `false` ainda permite truecolor**, ao contrário da maioria das variáveis de ativar/desativar; remova a definição da variável para restaurar a limitação a 256 cores. Por padrão, o Claude Code limita a 256 cores quando `$TMUX` está definida, porque o tmux não repassa sequências de escape truecolor a menos que esteja configurado para isso. Defina-a depois de adicionar `set -ga terminal-overrides ',*:Tc'` ao seu `~/.tmux.conf`. Consulte [Configuração do terminal](/docs/pt/terminal-config) para outras configurações do tmux |

417| `CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE` | No Linux e no WSL, defina como uma lista separada por vírgulas dos tipos de processo que o Claude Code [exclui do limite de memória das ferramentas](/docs/pt/tools-reference#memory-limit-on-linux-and-wsl), como `mcp` ou `lsp`. Defina `none` para limitar todos os tipos, ou `all-new` para limitar apenas comandos das ferramentas Bash, PowerShell e Monitor. O Claude Code mantém os comandos das ferramentas Bash, PowerShell e Monitor sob o limite, independentemente do que você listar. Requer Claude Code v2.1.246 ou posterior |423| `CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE` | No Linux e no WSL, defina com uma lista separada por vírgulas dos tipos de processos que o Claude Code [exclui do limite de memória das ferramentas](/docs/pt/tools-reference#memory-limit-on-linux-and-wsl), como `mcp` ou `lsp`. Defina `none` para limitar todos os tipos, ou `all-new` para limitar apenas os comandos das ferramentas Bash, PowerShell e Monitor. O Claude Code mantém os comandos das ferramentas Bash, PowerShell e Monitor sob o limite independentemente do que você listar. Requer o Claude Code v2.1.246 ou posterior |

418| `CLAUDE_CODE_TOOL_MEMORY_LIMIT` | No Linux e no WSL, defina com um tamanho como `4G` para [limitar a memória que os comandos das ferramentas Bash e PowerShell podem usar](/docs/pt/tools-reference#memory-limit-on-linux-and-wsl), e também os comandos da ferramenta Monitor na v2.1.246 ou posterior. Escreva o tamanho em dígitos simples, sozinho para um número de bytes ou com um sufixo `K`, `M`, `G` ou `T`. Defina `0` ou `off` para desativar o limite. Depois que o primeiro processo iniciado pelo Claude Code tiver ativado ou desativado o limite, um valor alterado entra em vigor na próxima vez que você iniciar o `claude`. Requer Claude Code v2.1.233 ou posterior |424| `CLAUDE_CODE_TOOL_MEMORY_LIMIT` | No Linux e no WSL, defina com um tamanho como `4G` para [limitar a memória que os comandos das ferramentas Bash e PowerShell podem usar](/docs/pt/tools-reference#memory-limit-on-linux-and-wsl), e os comandos da ferramenta Monitor na v2.1.246 ou posterior. Escreva o tamanho em dígitos simples, sozinho para um número de bytes ou com um sufixo `K`, `M`, `G` ou `T`. Defina `0` ou `off` para desativar o limite. Depois que o primeiro processo iniciado pelo Claude Code tiver ativado ou desativado o limite, um valor alterado entra em vigor na próxima vez que você iniciar `claude`. Requer o Claude Code v2.1.233 ou posterior |

419| `CLAUDE_CODE_TRANSCRIPT_LOCAL_GC` | Defina como `1` para limitar o quanto o [arquivo de transcrição](/docs/pt/sessions#where-transcripts-are-stored) de uma sessão longa de `-p` ou do Agent SDK cresce. Após cada compactação, quando o arquivo é maior que 5 MB, o Claude Code remove o histórico anterior a essa compactação. Retomar a sessão restaura a mesma conversa, quer o arquivo tenha sido reduzido ou não. Defina-a no ambiente a partir do qual você inicia o Claude Code, já que um bloco `env` de configurações não pode ativá-la. Requer Claude Code v2.1.287 ou posterior |425| `CLAUDE_CODE_TRANSCRIPT_LOCAL_GC` | Defina como `1` para limitar o quanto o [arquivo de transcrição](/docs/pt/sessions#where-transcripts-are-stored) de uma sessão longa de `-p` ou do Agent SDK cresce. Após cada compactação, quando o arquivo ultrapassa 5 MB, o Claude Code remove o histórico anterior a essa compactação. Retomar a sessão restaura a mesma conversa, quer o arquivo tenha sido reduzido ou não. Defina-a no ambiente a partir do qual você inicia o Claude Code, já que um bloco `env` de configurações não pode ativá-la. Requer o Claude Code v2.1.287 ou posterior |

420| `CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS` | Prazo em milissegundos antes que o Claude Code cancele uma caixa de diálogo que ele encaminha a um cliente remoto, como um host de [Remote Control](/docs/pt/remote-control) ou do SDK, ou a caixa de diálogo de aprovação de uma [mensagem entre sessões retida](/docs/pt/cross-session-messaging#control-inbound-messages); prompts de permissão e perguntas de `AskUserQuestion` usam seus próprios fluxos e não são regidos por ela. No Claude Code v2.1.236 ou posterior, ela também limita o [prompt de consentimento de créditos de uso do Fable](/docs/pt/model-config#fable-and-usage-credits) exibido no meio da sessão em uma sessão que pode estar sendo executada sem supervisão. [Controlar mensagens de entrada](/docs/pt/cross-session-messaging#control-inbound-messages) e [sessões não interativas](/docs/pt/cross-session-messaging#non-interactive-sessions) cobrem as regras completas de expiração de mensagens retidas, incluindo os casos em que o prazo não se aplica. Sobrescreve a configuração [`dialogExpiry`](/docs/pt/settings-reference#dialogexpiry). `0` ou um valor negativo desativa o prazo. Ignorada nas [configurações de projeto e locais](/docs/pt/settings-reference#variables-claude-code-ignores-in-env) |426| `CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS` | Prazo em milissegundos antes que o Claude Code cancele uma caixa de diálogo que ele encaminha para um cliente remoto, como um host de [Remote Control](/docs/pt/remote-control) ou do SDK, ou a caixa de diálogo de aprovação de uma [mensagem entre sessões retida](/docs/pt/cross-session-messaging#control-inbound-messages); prompts de permissão e perguntas do `AskUserQuestion` usam seus próprios fluxos e não são regidos por ela. No Claude Code v2.1.236 ou posterior, ela também limita o [prompt de consentimento de créditos de uso do Fable](/docs/pt/model-config#fable-and-usage-credits) exibido no meio da sessão, em uma sessão que possa estar sendo executada sem supervisão. [Controlar mensagens recebidas](/docs/pt/cross-session-messaging#control-inbound-messages) e [sessões não interativas](/docs/pt/cross-session-messaging#non-interactive-sessions) abordam as regras completas de expiração de mensagens retidas, incluindo os casos em que o prazo não se aplica. Sobrescreve a configuração [`dialogExpiry`](/docs/pt/settings-reference#dialogexpiry). `0` ou um valor negativo desativa o prazo. Ignorada em [configurações de projeto e locais](/docs/pt/settings-reference#variables-claude-code-ignores-in-env) |

421| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | Usar o [Claude Platform on AWS](/docs/pt/claude-platform-on-aws) |427| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | Usar o [Claude Platform on AWS](/docs/pt/claude-platform-on-aws) |

422| `CLAUDE_CODE_USE_BEDROCK` | Usar o [Amazon Bedrock](/docs/pt/amazon-bedrock) |428| `CLAUDE_CODE_USE_BEDROCK` | Usar o [Amazon Bedrock](/docs/pt/amazon-bedrock) |

423| `CLAUDE_CODE_USE_FOUNDRY` | Usar o [Microsoft Foundry](/docs/pt/microsoft-foundry) |429| `CLAUDE_CODE_USE_FOUNDRY` | Usar o [Microsoft Foundry](/docs/pt/microsoft-foundry) |

424| `CLAUDE_CODE_USE_MANTLE` | Usar o [endpoint Mantle](/docs/pt/amazon-bedrock#use-the-mantle-endpoint) do Amazon Bedrock |430| `CLAUDE_CODE_USE_MANTLE` | Usar o [endpoint Mantle](/docs/pt/amazon-bedrock#use-the-mantle-endpoint) do Amazon Bedrock |

425| `CLAUDE_CODE_USE_NATIVE_FILE_SEARCH` | Defina como `1` para descobrir comandos personalizados, subagentes e estilos de saída usando as APIs de arquivo do Node.js em vez do ripgrep. Defina isso se o binário ripgrep incluído estiver indisponível ou bloqueado no seu ambiente. Não afeta as ferramentas Grep ou de busca de arquivos |431| `CLAUDE_CODE_USE_NATIVE_FILE_SEARCH` | Defina como `1` para descobrir comandos personalizados, subagentes e estilos de saída usando APIs de arquivo do Node.js em vez do ripgrep. Defina isso se o binário do ripgrep incluído estiver indisponível ou bloqueado no seu ambiente. Não afeta as ferramentas Grep ou de pesquisa de arquivos |

426| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | Controla a ferramenta PowerShell. No Windows sem Git Bash, a ferramenta é ativada automaticamente; defina como `0` para desativá-la. No Windows com Git Bash instalado, a ferramenta fica ativada por padrão para contas claude.ai e Console; defina como `1` para ativá-la em sessões do Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry, ou `0` para desativá-la. No Linux, macOS e WSL, defina como `1` para ativá-la, o que requer `pwsh` no seu `PATH`. Quando ativada no Windows, Claude pode executar comandos PowerShell nativamente em vez de passar pelo Git Bash. Consulte [Ferramenta PowerShell](/docs/pt/tools-reference#powershell-tool) |432| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | Controla a ferramenta PowerShell. No Windows sem Git Bash, a ferramenta é ativada automaticamente; defina como `0` para desativá-la. No Windows com Git Bash instalado, a ferramenta fica ativada por padrão para contas do claude.ai e do Console; defina como `1` para ativá-la em sessões do Amazon Bedrock, do Agent Platform do Google Cloud e do Microsoft Foundry, ou `0` para desativá-la. No Linux, macOS e WSL, defina como `1` para ativá-la, o que requer `pwsh` no seu `PATH`. Quando ativada no Windows, o Claude pode executar comandos do PowerShell nativamente em vez de passar pelo Git Bash. Consulte [Ferramenta PowerShell](/docs/pt/tools-reference#powershell-tool) |

427| `CLAUDE_CODE_USE_VERTEX` | Usar o [Google Cloud's Agent Platform](/docs/pt/google-vertex-ai) |433| `CLAUDE_CODE_USE_VERTEX` | Usar o [Agent Platform do Google Cloud](/docs/pt/google-vertex-ai) |

428| `CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS` | Defina como o número de milissegundos que o [WebFetch](/docs/pt/tools-reference#webfetch-tool-behavior) mantém em cache a resposta de cada URL buscada. O padrão é `900000`, que equivale a 15 minutos. Aceita apenas dígitos simples; `0`, um decimal ou qualquer outra grafia mantém o padrão. O Claude Code lê o valor uma vez por inicialização, portanto uma alteração em um bloco `env` das configurações se aplica na próxima vez que você iniciar o `claude`. Requer Claude Code v2.1.233 ou posterior |434| `CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS` | Defina como o número de milissegundos durante os quais o [WebFetch](/docs/pt/tools-reference#webfetch-tool-behavior) mantém em cache a resposta de cada URL buscada. O padrão é `900000`, que equivale a 15 minutos. Aceita apenas dígitos simples; `0`, um número decimal ou qualquer outra grafia mantém o padrão. O Claude Code lê o valor uma vez por inicialização, portanto uma alteração em um bloco `env` das configurações se aplica na próxima vez que você iniciar o `claude`. Requer Claude Code v2.1.233 ou posterior |

429| `CLAUDE_CODE_WEBFETCH_DEADLINE_MS` | Limite superior, em milissegundos, de quanto tempo o [WebFetch](/docs/pt/tools-reference#webfetch-tool-behavior) espera o download de uma página, incluindo quaisquer redirecionamentos que ele siga. Um download que não tenha sido concluído até lá falha com um erro de prazo. O padrão é `300000`, que equivale a cinco minutos. Defina como `0` para remover o limite. Aceita apenas dígitos simples; um decimal ou qualquer outra grafia mantém o padrão. Requer Claude Code v2.1.268 ou posterior |435| `CLAUDE_CODE_WEBFETCH_DEADLINE_MS` | Limite máximo, em milissegundos, de quanto tempo o [WebFetch](/docs/pt/tools-reference#webfetch-tool-behavior) espera o download de uma página, incluindo quaisquer redirecionamentos que ele segue. Um download que não tiver sido concluído até lá falha com um erro de prazo. O padrão é `300000`, que equivale a cinco minutos. Defina como `0` para remover o limite. Aceita apenas dígitos simples; um número decimal ou qualquer outra grafia mantém o padrão. Requer Claude Code v2.1.268 ou posterior |

430| `CLAUDE_CODE_WEB_SEARCH_REFILLS_PER_HOUR` | Taxa na qual o [limite de WebSearch](/docs/pt/tools-reference#session-search-limit) de uma sessão é reabastecido, em chamadas por hora. O padrão é `100` em uma sessão interativa no terminal. Em uma sessão [não interativa](/docs/pt/headless), o padrão é `0`, o que desativa o reabastecimento. Aceita apenas dígitos simples; qualquer outra grafia é interpretada como não definida. Requer Claude Code v2.1.290 ou posterior |436| `CLAUDE_CODE_WEB_SEARCH_REFILLS_PER_HOUR` | Taxa na qual o [limite de WebSearch](/docs/pt/tools-reference#session-search-limit) de uma sessão é reabastecido, em chamadas por hora. O padrão é `100` em uma sessão interativa no terminal. Em uma sessão [não interativa](/docs/pt/headless), o padrão é `0`, o que desativa o reabastecimento. Aceita apenas dígitos simples; qualquer outra grafia é tratada como não definida. Requer Claude Code v2.1.290 ou posterior |

431| `CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE` | Quando `CLAUDE_AUTO_BACKGROUND_TASKS` está definida como `1`, quanto tempo o Claude Code espera antes de cada lembrete para Claude verificar os [subagentes em segundo plano](/docs/pt/sub-agents#run-subagents-in-foreground-or-background) que ainda estão em execução. Aceita uma ou mais esperas separadas por vírgula, em segundos inteiros de `1` a `86400`, como `600` ou `600,1800,3600`. Cada valor é a espera antes do próximo lembrete, e o último valor se repete. Aceita apenas dígitos simples; qualquer outro valor ou grafia é interpretado como não definido. Quando não definida, não há lembretes. Requer Claude Code v2.1.283 ou posterior |437| `CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE` | Quando `CLAUDE_AUTO_BACKGROUND_TASKS` está definida como `1`, quanto tempo o Claude Code espera antes de cada lembrete para que o Claude verifique [subagentes em segundo plano](/docs/pt/sub-agents#run-subagents-in-foreground-or-background) que ainda estão em execução. Aceita uma ou mais esperas separadas por vírgula, em segundos inteiros de `1` a `86400`, como `600` ou `600,1800,3600`. Cada valor é a espera antes do próximo lembrete, e o último valor se repete. Aceita apenas dígitos simples; qualquer outro valor ou grafia é tratado como não definido. Quando não definida, não há lembretes. Requer Claude Code v2.1.283 ou posterior |

432| `CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS` | Quantos agentes uma única execução de [workflow](/docs/pt/workflows) executa ao mesmo tempo, de `1` a `256`. Por padrão, uma execução executa até 16 agentes ao mesmo tempo, menos quando o Claude Code tem menos CPUs disponíveis; chamadas `agent()` enfileiradas aguardam um slot livre. A transcrição de cada agente em execução permanece na memória do Claude Code, portanto valores mais altos aumentam o uso de memória. Aceita apenas dígitos simples; valores fora do intervalo e outras grafias mantêm o padrão. Requer Claude Code v2.1.269 ou posterior |438| `CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS` | Quantos agentes uma única execução de [workflow](/docs/pt/workflows) executa ao mesmo tempo, de `1` a `256`. Por padrão, uma execução executa até 16 agentes ao mesmo tempo, menos quando o Claude Code tem menos CPUs disponíveis; chamadas `agent()` na fila aguardam um espaço livre. A transcrição de cada agente em execução permanece na memória do Claude Code, portanto valores mais altos aumentam o uso de memória. Aceita apenas dígitos simples; valores fora do intervalo e outras grafias mantêm o padrão. Requer Claude Code v2.1.269 ou posterior |

433| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | Limite superior, em milissegundos, de quanto tempo um agente de [workflow](/docs/pt/workflows) espera que a primeira resposta de um irmão com o mesmo prefixo comece antes de enviar sua própria primeira requisição. Quando um fan-out inicia vários agentes que compartilham um [prefixo de cache de prompt](/docs/pt/workflows#prompt-caching-in-a-fan-out), o Claude Code retém todos exceto o primeiro agente por até esse tempo, para que os demais leiam o prefixo em cache em vez de cada um processá-lo sem cache. Padrão `5000`. Defina como `0` para desativar a espera. Quando `DISABLE_PROMPT_CACHING` está definida, os agentes nunca esperam. Requer Claude Code v2.1.229 ou posterior |439| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | Limite máximo, em milissegundos, de quanto tempo um agente de [workflow](/docs/pt/workflows) espera que a primeira resposta de um agente irmão com o mesmo prefixo comece antes de enviar sua própria primeira requisição. Quando um fan-out inicia vários agentes que compartilham um [prefixo de cache de prompt](/docs/pt/workflows#prompt-caching-in-a-fan-out), o Claude Code retém todos exceto o primeiro agente por até esse tempo, para que os demais leiam o prefixo em cache em vez de cada um processá-lo sem cache. Padrão `5000`. Defina como `0` para desativar a espera. Quando `DISABLE_PROMPT_CACHING` está definida, os agentes nunca esperam. Requer Claude Code v2.1.229 ou posterior |

434| `CLAUDE_CONFIG_DIR` | Sobrescreve o diretório de configuração (padrão: `~/.claude`). Todas as configurações, o histórico de sessões e os plugins são armazenados nesse caminho. Para credenciais, consulte [onde o Claude Code armazena credenciais](/docs/pt/authentication#credential-management). Útil para executar várias contas lado a lado: por exemplo, `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`. Defina-a no seu shell, nas configurações de usuário ou nas configurações gerenciadas. Em um arquivo de configurações, escreva o [caminho absoluto](#in-settings-files). Ignorada nas [configurações de projeto e locais](/docs/pt/settings-reference#variables-claude-code-ignores-in-env) |440| `CLAUDE_CONFIG_DIR` | Sobrescreve o diretório de configuração (padrão: `~/.claude`). Todas as configurações, o histórico de sessões e os plugins são armazenados nesse caminho. Para credenciais, consulte [onde o Claude Code armazena credenciais](/docs/pt/authentication#credential-management). Útil para executar várias contas lado a lado: por exemplo, `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`. Defina-a no seu shell, nas configurações de usuário ou nas configurações gerenciadas. Em um arquivo de configurações, escreva o [caminho absoluto](#in-settings-files). Ignorada em [configurações de projeto e locais](/docs/pt/settings-reference#variables-claude-code-ignores-in-env) |

435| `CLAUDE_DISABLE_ADOPT` | Defina como `1` para interromper o trabalho em segundo plano em andamento em vez de transferi-lo quando você coloca uma sessão em segundo plano pressionando `←` ou com [`/background`](/docs/pt/agent-view#from-inside-a-session). O Claude Code pede sua confirmação antes de colocar em segundo plano e, em seguida, interrompe as tarefas que, de outra forma, seriam transferidas. Requer Claude Code v2.1.195 ou posterior |441| `CLAUDE_DISABLE_ADOPT` | Defina como `1` para interromper o trabalho em segundo plano em andamento em vez de transferi-lo quando você coloca uma sessão em segundo plano pressionando `←` ou com [`/background`](/docs/pt/agent-view#from-inside-a-session). O Claude Code pede que você confirme antes de colocar em segundo plano e, em seguida, interrompe as tarefas que de outra forma seriam transferidas. Requer Claude Code v2.1.195 ou posterior |

436| `CLAUDE_EFFORT` | Definida automaticamente em subprocessos da ferramenta Bash e em comandos de hook como o [nível de esforço](/docs/pt/model-config#adjust-effort-level) em vigor quando o subprocesso é iniciado: `low`, `medium`, `high`, `xhigh` ou `max`. Corresponde ao campo `effort.level` passado aos [hooks](/docs/pt/hooks). Definida apenas quando o modelo atual suporta o parâmetro effort |442| `CLAUDE_EFFORT` | Definida automaticamente em subprocessos da ferramenta Bash e em comandos de hook com o [nível de esforço](/docs/pt/model-config#adjust-effort-level) em vigor quando o subprocesso é iniciado: `low`, `medium`, `high`, `xhigh` ou `max`. Corresponde ao campo `effort.level` passado para [hooks](/docs/pt/hooks). Definida apenas quando o modelo atual oferece suporte ao parâmetro de esforço |

437| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Defina como `1` para forçar a ativação do watchdog de inatividade de streaming em nível de byte, ou como `0` para forçar sua desativação. `0` também desativa o [prazo do primeiro byte](/docs/pt/network-config#streaming-idle-watchdogs) nas conexões em que esse prazo é aplicado. Quando não definida, o watchdog fica ativado por padrão para conexões diretas com a Anthropic API e com o [Claude Platform on AWS](/docs/pt/claude-platform-on-aws), e para respostas de streaming em conexões de [gateway](/docs/pt/gateways) alcançadas por meio de `ANTHROPIC_BASE_URL` ou `ANTHROPIC_AWS_BASE_URL`; antes da v2.1.222, ele não era executado nessas conexões de gateway, então o watchdog em nível de evento podia relatar um travamento ali mesmo enquanto pings de keep-alive estavam chegando. Para timeouts e como os temporizadores interagem, consulte [Watchdogs de inatividade de streaming](/docs/pt/network-config#streaming-idle-watchdogs) |443| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Defina como `1` para forçar a ativação do watchdog de ociosidade de streaming em nível de byte, ou defina como `0` para forçar sua desativação. `0` também desativa o [prazo do primeiro byte](/docs/pt/network-config#streaming-idle-watchdogs) nas conexões em que esse prazo é aplicado. Quando não definida, o watchdog fica ativado por padrão para conexões diretas com a API da Anthropic e com o [Claude Platform on AWS](/docs/pt/claude-platform-on-aws), e para respostas de streaming em conexões de [gateway](/docs/pt/gateways) acessadas por meio de `ANTHROPIC_BASE_URL` ou `ANTHROPIC_AWS_BASE_URL`; antes da v2.1.222, ele não era executado nessas conexões de gateway, então o watchdog em nível de evento podia relatar uma paralisação nelas mesmo enquanto pings de keep-alive estavam chegando. Para timeouts e como os temporizadores interagem, consulte [Watchdogs de ociosidade de streaming](/docs/pt/network-config#streaming-idle-watchdogs) |

438| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Defina como `1` para ativar o watchdog de inatividade de streaming em nível de byte nas respostas `vnd.amazon.eventstream` do Amazon Bedrock, o que também ativa o [prazo do primeiro byte](/docs/pt/network-config#streaming-idle-watchdogs) nas requisições de streaming do Bedrock. Desativado por padrão. Configure o timeout com `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |444| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Defina como `1` para ativar o watchdog de ociosidade de streaming em nível de byte em respostas `vnd.amazon.eventstream` do Amazon Bedrock, o que também ativa o [prazo do primeiro byte](/docs/pt/network-config#streaming-idle-watchdogs) em requisições de streaming do Bedrock. Desativado por padrão. Configure o timeout com `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |

439| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Defina como `0` para forçar a desativação do watchdog de inatividade de streaming em nível de evento, ou como `1` para forçar sua ativação. Quando não definida, o watchdog fica ativado por padrão para todos os provedores. Antes da v2.1.196, o padrão sem definição era controlado pelo servidor na Anthropic API direta e desativado nos outros provedores. Configure o timeout com `CLAUDE_STREAM_IDLE_TIMEOUT_MS`; para os outros temporizadores de travamento que são executados junto com este, consulte [Watchdogs de inatividade de streaming](/docs/pt/network-config#streaming-idle-watchdogs) |445| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Defina como `0` para forçar a desativação do watchdog de ociosidade de streaming em nível de evento, ou defina como `1` para forçar sua ativação. Quando não definida, o watchdog fica ativado por padrão para todos os provedores. Antes da v2.1.196, o padrão sem definição era controlado pelo servidor na API direta da Anthropic e desativado em outros provedores. Configure o timeout com `CLAUDE_STREAM_IDLE_TIMEOUT_MS`; para os outros temporizadores de paralisação executados junto com este, consulte [Watchdogs de ociosidade de streaming](/docs/pt/network-config#streaming-idle-watchdogs) |

440| `CLAUDE_ENV_FILE` | Caminho para um script de shell cujo conteúdo o Claude Code executa antes de cada comando Bash no mesmo processo de shell, de modo que os exports no arquivo fiquem visíveis para o comando. Use para manter a ativação de virtualenv ou conda entre comandos. Também preenchida dinamicamente pelos hooks [SessionStart](/docs/pt/hooks#persist-environment-variables), [Setup](/docs/pt/hooks#setup), [CwdChanged](/docs/pt/hooks#cwdchanged) e [FileChanged](/docs/pt/hooks#filechanged) |446| `CLAUDE_ENV_FILE` | Caminho para um script de shell cujo conteúdo o Claude Code executa antes de cada comando Bash no mesmo processo de shell, de modo que os exports no arquivo fiquem visíveis para o comando. Use para manter a ativação de virtualenv ou conda entre comandos. Também preenchida dinamicamente pelos hooks [SessionStart](/docs/pt/hooks#persist-environment-variables), [Setup](/docs/pt/hooks#setup), [CwdChanged](/docs/pt/hooks#cwdchanged) e [FileChanged](/docs/pt/hooks#filechanged) |

441| `CLAUDE_JOB_DIR` | Definida pelo Claude Code em cada [sessão em segundo plano](/docs/pt/agent-view) como o diretório `~/.claude/jobs/<id>` dessa sessão. Os comandos de shell que a sessão executa a herdam. Grave arquivos temporários em [`$CLAUDE_JOB_DIR/tmp`](/docs/pt/agent-view#where-state-is-stored). As chamadas `Write` e `Edit` de Claude nesse local não pedem permissão, e o diretório é removido quando a sessão é excluída |447| `CLAUDE_JOB_DIR` | Definida pelo Claude Code em cada [sessão em segundo plano](/docs/pt/agent-view) como o diretório `~/.claude/jobs/<id>` dessa sessão. Os comandos de shell que a sessão executa a herdam. Grave arquivos temporários em [`$CLAUDE_JOB_DIR/tmp`](/docs/pt/agent-view#where-state-is-stored). As chamadas `Write` e `Edit` do Claude nesse local não solicitam permissão, e o diretório é removido quando a sessão é excluída |

442| `CLAUDE_PID` | O Claude Code define esta variável como seu próprio ID de processo nos subprocessos que ele cria: comandos das ferramentas Bash e PowerShell e comandos de hook. No Linux, a integração de shell da ferramenta Bash a usa para recusar um padrão de `pkill` que corresponderia ao próprio processo do Claude Code; consulte [a referência de erros](/docs/pt/errors#pkill-pattern-matches-the-claude-code-process). Leia-a nos seus próprios scripts para identificar ou sinalizar deliberadamente o processo pai do Claude Code. Requer Claude Code v2.1.214 ou posterior |448| `CLAUDE_PID` | O Claude Code define esta variável com seu próprio ID de processo nos subprocessos que ele cria: comandos das ferramentas Bash e PowerShell e comandos de hook. No Linux, a integração de shell da ferramenta Bash a usa para recusar um padrão `pkill` que corresponderia ao próprio processo do Claude Code; consulte [a referência de erros](/docs/pt/errors#pkill-pattern-matches-the-claude-code-process). Leia-a em seus próprios scripts para identificar ou sinalizar deliberadamente o processo pai do Claude Code. Requer Claude Code v2.1.214 ou posterior |

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

444| `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` | Prazo em milissegundos para o primeiro byte de resposta de uma requisição de streaming, nas conexões em que o [prazo do primeiro byte](/docs/pt/network-config#streaming-idle-watchdogs) é aplicado. Para saber como o Claude Code o limita, o tempo extra que ele adiciona para corpos de requisição grandes e como ele escolhe o prazo quando você deixa esta variável sem definição, consulte [No response from API](/docs/pt/errors#no-response-from-api). Requer Claude Code v2.1.242 ou posterior |450| `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` | Prazo em milissegundos para o primeiro byte de resposta de uma requisição de streaming, nas conexões em que o [prazo do primeiro byte](/docs/pt/network-config#streaming-idle-watchdogs) é aplicado. Para saber como o Claude Code limita esse valor, o tempo extra que ele adiciona para corpos de requisição grandes e como ele escolhe o prazo quando você deixa esta variável sem definir, consulte [No response from API](/docs/pt/errors#no-response-from-api). Requer Claude Code v2.1.242 ou posterior |

445| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Timeout em milissegundos antes que os watchdogs de inatividade de streaming em nível de evento e de byte fechem uma conexão travada. Quando você define esta variável explicitamente, o mínimo é `300000` (5 minutos); valores menores são ajustados silenciosamente para absorver pausas de pensamento estendido e buffering de proxy, e o watchdog em nível de byte limita o valor a 30 minutos. `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` tem precedência sobre esta variável para o watchdog em nível de byte. Para os padrões sem definição de cada watchdog, consulte [Watchdogs de inatividade de streaming](/docs/pt/network-config#streaming-idle-watchdogs) |451| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Timeout em milissegundos antes que os watchdogs de ociosidade de streaming em nível de evento e de byte fechem uma conexão paralisada. Quando você define esta variável explicitamente, o mínimo é `300000` (5 minutos); valores menores são ajustados silenciosamente para absorver pausas de pensamento estendido e o buffering de proxy, e o watchdog em nível de byte limita o valor a 30 minutos. `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` tem precedência sobre esta variável para o watchdog em nível de byte. Para os padrões sem definição de cada watchdog, consulte [Watchdogs de ociosidade de streaming](/docs/pt/network-config#streaming-idle-watchdogs) |

446| `CLAUDE_SUBAGENT_BG_SHELL_MAX_MS` | Removida na v2.1.260 e agora sem efeito. Anteriormente limitava, em milissegundos, por quanto tempo um [comando de shell em segundo plano](/docs/pt/interactive-mode#background-bash-commands) iniciado por um [subagente](/docs/pt/sub-agents) podia ser executado, com um padrão de 60 minutos. Consulte [as regras de tempo de vida de comandos em segundo plano](/docs/pt/tools-reference#background-commands) |452| `CLAUDE_SUBAGENT_BG_SHELL_MAX_MS` | Removida na v2.1.260 e agora não tem efeito. Anteriormente limitava por quanto tempo um [comando de shell em segundo plano](/docs/pt/interactive-mode#background-bash-commands) iniciado por um [subagente](/docs/pt/sub-agents) podia ser executado, em milissegundos, com um padrão de 60 minutos. Consulte [as regras de tempo de vida de comandos em segundo plano](/docs/pt/tools-reference#background-commands) |

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

448| `DISABLE_AUTOUPDATER` | Defina como `1` para desativar atualizações automáticas em segundo plano. O `claude update` manual continua funcionando. Use `DISABLE_UPDATES` para bloquear ambos |454| `DISABLE_AUTOUPDATER` | Defina como `1` para desativar as atualizações automáticas em segundo plano. O `claude update` manual continua funcionando. Use `DISABLE_UPDATES` para bloquear ambos |

449| `DISABLE_AUTO_COMPACT` | Defina como `1` para desativar a compactação automática ao se aproximar do limite de contexto. O comando manual `/compact` permanece disponível. Use quando quiser controle explícito sobre quando a compactação ocorre. Sobrescreve a configuração [`autoCompactEnabled`](/docs/pt/settings-reference#autocompactenabled) |455| `DISABLE_AUTO_COMPACT` | Defina como `1` para desativar a compactação automática ao se aproximar do limite de contexto. O comando manual `/compact` continua disponível. Use quando quiser controle explícito sobre quando a compactação ocorre. Sobrescreve a configuração [`autoCompactEnabled`](/docs/pt/settings-reference#autocompactenabled) |

450| `DISABLE_COMPACT` | Defina como `1` para desativar toda a compactação: tanto a compactação automática quanto o comando manual `/compact` |456| `DISABLE_COMPACT` | Defina como `1` para desativar toda a compactação: tanto a compactação automática quanto o comando manual `/compact` |

451| `DISABLE_COST_WARNINGS` | Defina como `1` para desativar mensagens de aviso de custo |457| `DISABLE_COST_WARNINGS` | Defina como `1` para desativar mensagens de aviso de custo |

452| `DISABLE_DOCTOR_COMMAND` | Defina como `1` para ocultar a skill de verificação de configuração [`/doctor`](/docs/pt/commands#all-commands) e seu alias `/checkup`. Útil para implantações gerenciadas em que os usuários não devem executar diagnósticos de configuração a partir de uma sessão. Não afeta o comando de terminal `claude doctor`. Antes da v2.1.205, esta variável ocultava o comando da tela de diagnóstico `/doctor` |458| `DISABLE_DOCTOR_COMMAND` | Defina como `1` para ocultar a skill de verificação de configuração [`/doctor`](/docs/pt/commands#all-commands) e seu alias `/checkup`. Útil para implantações gerenciadas em que os usuários não devem executar diagnósticos de configuração a partir de uma sessão. Não afeta o comando de terminal `claude doctor`. Antes da v2.1.205, esta variável ocultava o comando da tela de diagnóstico `/doctor` |

453| `DISABLE_ERROR_REPORTING` | Defina como qualquer valor não vazio, como `1`, para desativar o relatório de erros. **Defini-la como `0` ou `false` ainda desativa**, ao contrário da maioria das variáveis liga/desliga; remova a definição da variável para reativar o relatório de erros |459| `DISABLE_ERROR_REPORTING` | Defina como qualquer valor não vazio, como `1`, para desativar o relatório de erros. **Defini-la como `0` ou `false` ainda desativa**, ao contrário da maioria das variáveis de ativar/desativar; remova a definição da variável para reativar o relatório de erros |

454| `DISABLE_EXTRA_USAGE_COMMAND` | Defina como `1` para ocultar o comando `/usage-credits`, que permite aos usuários comprar uso adicional além dos rate limits |460| `DISABLE_EXTRA_USAGE_COMMAND` | Defina como `1` para ocultar o comando `/usage-credits`, que permite aos usuários comprar uso adicional além dos rate limits |

455| `DISABLE_FEEDBACK_COMMAND` | Defina como `1` para desativar o comando `/feedback` e o [feedback redigido por Claude](/docs/pt/tools-reference#sendfeedback-tool-behavior). Também desativa `/bug` e `/share`, que enviam relatórios pelo mesmo caminho; antes da v2.1.212 eles eram aliases de `/feedback`, então o comando era desativado em todos os nomes. O nome antigo `DISABLE_BUG_COMMAND` também é aceito |461| `DISABLE_FEEDBACK_COMMAND` | Defina como `1` para desativar o comando `/feedback` e o [feedback redigido pelo Claude](/docs/pt/tools-reference#sendfeedback-tool-behavior). Também desativa `/bug` e `/share`, que enviam relatórios pelo mesmo caminho; antes da v2.1.212 eles eram aliases de `/feedback`, então o comando era desativado com qualquer nome. O nome mais antigo `DISABLE_BUG_COMMAND` também é aceito |

456| `DISABLE_GROWTHBOOK` | Defina como `1` ou `true` para desativar a busca de feature flags do GrowthBook e usar os padrões do código para todas as flags. Isso torna o [Remote Control](/docs/pt/remote-control#requirements) e os outros [recursos que precisam da busca de feature flags](#features-that-need-feature-flag-fetching) indisponíveis. Defini-la como `0` ou `false` mantém a busca ativada. O registro em log de eventos de telemetria permanece ativado, a menos que `DISABLE_TELEMETRY` também esteja definida |462| `DISABLE_GROWTHBOOK` | Defina como `1` ou `true` para desativar a busca de feature flags do GrowthBook e usar os padrões do código para cada flag. Isso torna indisponíveis o [Remote Control](/docs/pt/remote-control#requirements) e os outros [recursos que precisam da busca de feature flags](#features-that-need-feature-flag-fetching). Defini-la como `0` ou `false` mantém a busca ativada. O registro de eventos de telemetria permanece ativado, a menos que `DISABLE_TELEMETRY` também esteja definida |

457| `DISABLE_INSTALLATION_CHECKS` | Defina como `1` para desativar avisos de instalação. Use apenas ao gerenciar manualmente o local de instalação, pois isso pode mascarar problemas em instalações padrão |463| `DISABLE_INSTALLATION_CHECKS` | Defina como `1` para desativar os avisos de instalação. Use apenas ao gerenciar manualmente o local de instalação, pois isso pode mascarar problemas com instalações padrão |

458| `DISABLE_INSTALL_GITHUB_APP_COMMAND` | Defina como `1` para ocultar o comando `/install-github-app`. Já fica oculto ao usar provedores de terceiros (Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry) |464| `DISABLE_INSTALL_GITHUB_APP_COMMAND` | Defina como `1` para ocultar o comando `/install-github-app`. Já fica oculto ao usar provedores de terceiros (Amazon Bedrock, Agent Platform do Google Cloud ou Microsoft Foundry) |

459| `DISABLE_INTERLEAVED_THINKING` | Defina como `1` para impedir o envio do cabeçalho beta de interleaved-thinking. Útil quando seu gateway de LLM ou provedor não suporta [pensamento intercalado](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) |465| `DISABLE_INTERLEAVED_THINKING` | Defina como `1` para impedir o envio do cabeçalho beta de interleaved-thinking. Útil quando seu gateway de LLM ou provedor não oferece suporte a [pensamento intercalado](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) |

460| `DISABLE_LOGIN_COMMAND` | Defina como `1` para ocultar o comando `/login`. Útil quando a autenticação é gerenciada externamente por meio de chaves de API ou `apiKeyHelper` |466| `DISABLE_LOGIN_COMMAND` | Defina como `1` para ocultar o comando `/login`. Útil quando a autenticação é tratada externamente por meio de chaves de API ou `apiKeyHelper` |

461| `DISABLE_LOGOUT_COMMAND` | Defina como `1` para ocultar o comando `/logout` |467| `DISABLE_LOGOUT_COMMAND` | Defina como `1` para ocultar o comando `/logout` |

462| `DISABLE_PROMPT_CACHING` | Defina como `1` para desativar o [cache de prompt](/docs/pt/prompt-caching#disable-prompt-caching) para todos os modelos (tem precedência sobre as configurações por modelo) |468| `DISABLE_PROMPT_CACHING` | Defina como `1` para desativar o [cache de prompt](/docs/pt/prompt-caching#disable-prompt-caching) para todos os modelos (tem precedência sobre as configurações por modelo) |

463| `DISABLE_PROMPT_CACHING_FABLE` | Defina como `1` para desativar o cache de prompt para modelos Fable |469| `DISABLE_PROMPT_CACHING_FABLE` | Defina como `1` para desativar o cache de prompt para modelos Fable |

464| `DISABLE_PROMPT_CACHING_HAIKU` | Defina como `1` para desativar o cache de prompt para o [modelo Haiku padrão](/docs/pt/prompt-caching#disable-prompt-caching), onde quer que ele seja executado |470| `DISABLE_PROMPT_CACHING_HAIKU` | Defina como `1` para desativar o cache de prompt para o [modelo Haiku padrão](/docs/pt/prompt-caching#disable-prompt-caching), onde quer que ele seja executado |

465| `DISABLE_PROMPT_CACHING_OPUS` | Defina como `1` para desativar o cache de prompt para o [modelo Opus padrão](/docs/pt/prompt-caching#disable-prompt-caching) |471| `DISABLE_PROMPT_CACHING_OPUS` | Defina como `1` para desativar o cache de prompt para o [modelo Opus padrão](/docs/pt/prompt-caching#disable-prompt-caching) |

466| `DISABLE_PROMPT_CACHING_SONNET` | Defina como `1` para desativar o cache de prompt para o [modelo Sonnet padrão](/docs/pt/prompt-caching#disable-prompt-caching) |472| `DISABLE_PROMPT_CACHING_SONNET` | Defina como `1` para desativar o cache de prompt para o [modelo Sonnet padrão](/docs/pt/prompt-caching#disable-prompt-caching) |

467| `DISABLE_TELEMETRY` | Defina como qualquer valor não vazio, como `1`, para desativar a telemetria. **Defini-la como `0` ou `false` ainda desativa**, ao contrário da maioria das variáveis liga/desliga; remova a definição da variável para reativar a telemetria. Os eventos de telemetria não incluem dados do usuário, como código, caminhos de arquivo ou comandos Bash. Também desativa a [busca de feature flags](#features-that-need-feature-flag-fetching). Consulte [Desativar a telemetria para sua organização](/docs/pt/managed-settings#turn-telemetry-off-for-your-organization) |473| `DISABLE_TELEMETRY` | Defina como qualquer valor não vazio, como `1`, para desativar a telemetria. **Defini-la como `0` ou `false` ainda desativa**, ao contrário da maioria das variáveis de ativar/desativar; remova a definição da variável para reativar a telemetria. Os eventos de telemetria não incluem dados do usuário, como código, caminhos de arquivo ou comandos Bash. Também desativa a [busca de feature flags](#features-that-need-feature-flag-fetching). Consulte [Desativar a telemetria para sua organização](/docs/pt/managed-settings#turn-telemetry-off-for-your-organization) |

468| `DISABLE_UPDATES` | Defina como `1` para bloquear todas as atualizações, incluindo `claude update` e `claude install` manuais. Mais restritiva que `DISABLE_AUTOUPDATER`. Use ao distribuir o Claude Code pelos seus próprios canais quando os usuários não devem se autoatualizar |474| `DISABLE_UPDATES` | Defina como `1` para bloquear todas as atualizações, incluindo `claude update` e `claude install` manuais. Mais restritiva que `DISABLE_AUTOUPDATER`. Use ao distribuir o Claude Code pelos seus próprios canais quando os usuários não devem se atualizar por conta própria |

469| `DISABLE_UPGRADE_COMMAND` | Defina como `1` para ocultar o comando `/upgrade` |475| `DISABLE_UPGRADE_COMMAND` | Defina como `1` para ocultar o comando `/upgrade` |

470| `DO_NOT_TRACK` | Defina como `1` para desativar a telemetria, com o mesmo efeito de `DISABLE_TELEMETRY`, inclusive sobre a [busca de feature flags](#features-that-need-feature-flag-fetching). O Claude Code lê esta variável como um booleano padrão, portanto `0` mantém a telemetria ativada, e a respeita como a convenção entre ferramentas reconhecida por muitas CLIs de desenvolvimento |476| `DO_NOT_TRACK` | Defina como `1` para desativar a telemetria, com o mesmo efeito que `DISABLE_TELEMETRY`, inclusive sobre a [busca de feature flags](#features-that-need-feature-flag-fetching). O Claude Code lê esta variável como um booleano padrão, portanto `0` mantém a telemetria ativada, e a respeita como a convenção entre ferramentas reconhecida por muitas CLIs de desenvolvedor |

471| `ENABLE_BETA_TRACING_DETAILED` | Defina como `1`, e defina `BETA_TRACING_ENDPOINT` como o endpoint do seu coletor OTLP/HTTP, para ativar o [rastreamento beta detalhado](/docs/pt/monitoring-usage#traces-beta), que adiciona atributos de span com conteúdo e o span `claude_code.hook`. Sessões interativas da CLI também exigem que sua organização esteja na lista de permissões do beta. Ambas as variáveis são ignoradas nas [configurações de projeto e locais](/docs/pt/settings-reference#variables-claude-code-ignores-in-env) |477| `ENABLE_BETA_TRACING_DETAILED` | Defina como `1`, e defina `BETA_TRACING_ENDPOINT` com o endpoint do seu coletor OTLP/HTTP, para ativar o [rastreamento beta detalhado](/docs/pt/monitoring-usage#traces-beta), que adiciona atributos de span com conteúdo e o span `claude_code.hook`. Sessões interativas da CLI também exigem que sua organização esteja na lista de permissões do beta. Ambas as variáveis são ignoradas em [configurações de projeto e locais](/docs/pt/settings-reference#variables-claude-code-ignores-in-env) |

472| `ENABLE_CLAUDEAI_MCP_SERVERS` | Defina como `false` para impedir que o Claude Code busque [servidores MCP do claude.ai](/docs/pt/mcp#use-mcp-servers-from-claude-ai). Ativada por padrão para usuários conectados. Para desativar por projeto ou por organização, defina [`disableClaudeAiConnectors`](/docs/pt/settings-reference#disableclaudeaiconnectors) nas configurações |478| `ENABLE_CLAUDEAI_MCP_SERVERS` | Defina como `false` para impedir que o Claude Code busque [servidores MCP do claude.ai](/docs/pt/mcp#use-mcp-servers-from-claude-ai). Ativada por padrão para usuários conectados. Para desativar por projeto ou por organização, defina [`disableClaudeAiConnectors`](/docs/pt/settings-reference#disableclaudeaiconnectors) nas configurações |

473| `ENABLE_PROMPT_CACHING_1H` | Defina como `1` para solicitar um [TTL de cache de prompt](/docs/pt/prompt-caching#cache-lifetime) de 1 hora em vez do padrão de 5 minutos. Destinada a usuários de chave de API, [Amazon Bedrock](/docs/pt/amazon-bedrock), [Google Cloud's Agent Platform](/docs/pt/google-vertex-ai), [Microsoft Foundry](/docs/pt/microsoft-foundry) e [Claude Platform on AWS](/docs/pt/claude-platform-on-aws). Usuários de assinatura dentro do uso incluído recebem o TTL de 1 hora automaticamente na [conversa principal](/docs/pt/prompt-caching#which-ttl-each-request-gets). Usuários de assinatura que utilizam [créditos de uso](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) podem defini-la para manter o TTL de 1 hora. Gravações de cache de 1 hora são cobradas a uma taxa mais alta. Para escolher o TTL por grupo de requisições, use `CLAUDE_CODE_PROMPT_CACHE_TTL` e `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, que têm precedência sobre esta variável |479| `ENABLE_PROMPT_CACHING_1H` | Defina como `1` para solicitar um [TTL de cache de prompt](/docs/pt/prompt-caching#cache-lifetime) de 1 hora em vez do padrão de 5 minutos. Destinada a usuários de chave de API, do [Amazon Bedrock](/docs/pt/amazon-bedrock), do [Agent Platform do Google Cloud](/docs/pt/google-vertex-ai), do [Microsoft Foundry](/docs/pt/microsoft-foundry) e do [Claude Platform on AWS](/docs/pt/claude-platform-on-aws). Usuários de assinatura dentro do uso incluído recebem o TTL de 1 hora automaticamente na [conversa principal](/docs/pt/prompt-caching#which-ttl-each-request-gets). Usuários de assinatura que utilizam [créditos de uso](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) podem defini-la para manter o TTL de 1 hora. Gravações em cache de 1 hora são cobradas a uma taxa mais alta. Para escolher o TTL por grupo de requisições, use `CLAUDE_CODE_PROMPT_CACHE_TTL` e `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, que têm precedência sobre esta variável |

474| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Descontinuada. Use `ENABLE_PROMPT_CACHING_1H` |480| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Descontinuada. Use `ENABLE_PROMPT_CACHING_1H` em vez disso |

475| `ENABLE_TOOL_SEARCH` | Controla a [busca de ferramentas MCP](/docs/pt/mcp#scale-with-mcp-tool-search). Sem definição, o Claude Code adia todas as ferramentas MCP por padrão. Ele ainda as carrega antecipadamente em modelos do Google Cloud's Agent Platform anteriores à geração Claude 4.5, em uma implantação do Microsoft Foundry hospedada no Azure e quando `ANTHROPIC_BASE_URL` aponta para um host que não é first-party. `true` sempre adia e envia o cabeçalho beta, exceto nesses mesmos modelos do Agent Platform e implantações do Microsoft Foundry; as requisições falham em proxies que não suportam `tool_reference`. `auto` carrega antecipadamente quando as definições de ferramentas cabem em 10% do contexto. `auto:N` define um limite personalizado, como `auto:5` para 5%. `false` carrega todas as ferramentas antecipadamente. Um valor que você mesmo define é ignorado quando `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` está definida. Antes da v2.1.221, o Claude Code desativava a busca de ferramentas para todos os modelos no Google Cloud's Agent Platform, a menos que você definisse esta variável como `true` |481| `ENABLE_TOOL_SEARCH` | Controla o [MCP Tool Search](/docs/pt/mcp#scale-with-mcp-tool-search). Sem definição, o Claude Code adia todas as ferramentas MCP por padrão. Ele ainda as carrega antecipadamente em modelos do Agent Platform do Google Cloud anteriores à geração Claude 4.5, em uma implantação do Microsoft Foundry hospedada no Azure e quando `ANTHROPIC_BASE_URL` aponta para um host que não é first-party. `true` sempre adia e envia o cabeçalho beta, exceto nesses mesmos modelos do Agent Platform e implantações do Microsoft Foundry; as requisições falham em proxies que não oferecem suporte a `tool_reference`. `auto` carrega antecipadamente quando as definições de ferramentas cabem em 10% do contexto. `auto:N` define um limite personalizado, como `auto:5` para 5%. `false` carrega todas as ferramentas antecipadamente. Um valor definido por você é ignorado quando `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` está definida. Antes da v2.1.221, o Claude Code desativava a pesquisa de ferramentas para todos os modelos no Agent Platform do Google Cloud, a menos que você definisse esta variável como `true` |

476| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | Defina como qualquer valor não vazio, como `1`, para fazer o Claude Code parar de tentar novamente após erros de sobrecarga repetidos para todos os modelos quando nenhum modelo de fallback estiver configurado. **Defini-la como `0` ou `false` ainda ativa isso**, ao contrário da maioria das variáveis liga/desliga; remova a definição da variável para restaurar o comportamento padrão de novas tentativas. Sem ela, o Claude Code para de tentar novamente dessa forma em modelos que reconhece como Opus, Fable ou Mythos quando você se autentica com uma chave de API ou um [provedor de terceiros](/docs/pt/third-party-integrations) em vez de uma assinatura do Claude. No Claude Code v2.1.160 ou posterior, o Claude Code muda para sua [cadeia de modelos de fallback](/docs/pt/model-config#fallback-model-chains) configurada após erros de sobrecarga repetidos para qualquer modelo principal, portanto esta variável não afeta a mudança para um modelo de fallback |482| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | Defina como qualquer valor não vazio, como `1`, para fazer o Claude Code parar de tentar novamente em erros de sobrecarga repetidos para todos os modelos quando nenhum modelo de fallback estiver configurado. **Defini-la como `0` ou `false` ainda ativa isso**, ao contrário da maioria das variáveis de ativar/desativar; remova a definição da variável para restaurar o comportamento padrão de novas tentativas. Sem ela, o Claude Code para de tentar novamente dessa forma em modelos que reconhece como modelos Opus, Fable ou Mythos quando você se autentica com uma chave de API ou um [provedor de terceiros](/docs/pt/third-party-integrations) em vez de uma assinatura do Claude. No Claude Code v2.1.160 ou posterior, o Claude Code muda para sua [cadeia de modelos de fallback](/docs/pt/model-config#fallback-model-chains) configurada em erros de sobrecarga repetidos para qualquer modelo principal, portanto esta variável não afeta a mudança para um modelo de fallback |

477| `FORCE_AUTOUPDATE_PLUGINS` | Defina como `1` para forçar atualizações automáticas de plugins mesmo quando o atualizador automático principal estiver desativado por meio de `DISABLE_AUTOUPDATER` |483| `FORCE_AUTOUPDATE_PLUGINS` | Defina como `1` para forçar atualizações automáticas de plugins mesmo quando o atualizador automático principal estiver desativado via `DISABLE_AUTOUPDATER` |

478| `FORCE_HYPERLINK` | Defina como `1` para ativar hyperlinks OSC 8 clicáveis quando seu terminal os suporta, mas não é detectado automaticamente, ou `0` para desativá-los. Quando não definida, o Claude Code ativa hyperlinks somente quando detecta suporte do terminal. O Claude Code interpreta este valor como um número, não como um booleano, portanto um valor como `false`, `no` ou `off` ativa os hyperlinks em vez de desativá-los. O [badge de PR ou merge request](/docs/pt/interactive-mode#pr-review-status) no rodapé é renderizado como hyperlink mesmo quando o Claude Code não consegue detectar suporte do terminal, como via SSH. Defina `0` para renderizar o badge como texto simples |484| `FORCE_HYPERLINK` | Defina como `1` para ativar hyperlinks OSC 8 clicáveis quando seu terminal oferece suporte a eles, mas não é detectado automaticamente, ou `0` para desativá-los. Quando não definida, o Claude Code ativa hyperlinks apenas quando detecta suporte no terminal. O Claude Code interpreta este valor como um número, não como um booleano, portanto um valor como `false`, `no` ou `off` ativa hyperlinks em vez de desativá-los. O [badge de PR ou merge request](/docs/pt/interactive-mode#pr-review-status) no rodapé é renderizado como hyperlink mesmo quando o Claude Code não consegue detectar suporte no terminal, como via SSH. Defina `0` para renderizar o badge como texto simples |

479| `FORCE_PROMPT_CACHING_5M` | Defina como `1` para forçar o TTL de cache de prompt de 5 minutos mesmo quando o TTL de 1 hora seria aplicado. Sobrescreve `CLAUDE_CODE_PROMPT_CACHE_TTL`, `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, `ENABLE_PROMPT_CACHING_1H` e as configurações `promptCacheTtl` e `subagentPromptCacheTtl` |485| `FORCE_PROMPT_CACHING_5M` | Defina como `1` para forçar o TTL de cache de prompt de 5 minutos mesmo quando o TTL de 1 hora seria aplicado. Sobrescreve `CLAUDE_CODE_PROMPT_CACHE_TTL`, `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, `ENABLE_PROMPT_CACHING_1H` e as configurações `promptCacheTtl` e `subagentPromptCacheTtl` |

480| `HTTP_PROXY` | Especifica o servidor proxy HTTP para conexões de rede |486| `HTTP_PROXY` | Especifica o servidor proxy HTTP para conexões de rede |

481| `HTTPS_PROXY` | Especifica o servidor proxy HTTPS para conexões de rede |487| `HTTPS_PROXY` | Especifica o servidor proxy HTTPS para conexões de rede |

482| `IS_DEMO` | Defina como qualquer valor não vazio, como `1`, para ativar o modo de demonstração: oculta seu e-mail e o nome da organização do cabeçalho e da saída de `/status`, e pula o onboarding. **Defini-la como `0` ou `false` ainda ativa o modo de demonstração**, ao contrário da maioria das variáveis liga/desliga; remova a definição da variável para desativá-lo. Útil ao transmitir ou gravar uma sessão |488| `IS_DEMO` | Defina como qualquer valor não vazio, como `1`, para ativar o modo de demonstração: oculta seu e-mail e o nome da organização do cabeçalho e da saída de `/status`, e pula o onboarding. **Defini-la como `0` ou `false` ainda ativa o modo de demonstração**, ao contrário da maioria das variáveis de ativar/desativar; remova a definição da variável para desativá-lo. Útil ao transmitir ou gravar uma sessão |

483| `MAX_MCP_OUTPUT_TOKENS` | Número máximo de tokens permitidos nas respostas de ferramentas MCP (padrão: 25000). O Claude Code exibe um aviso quando a saída excede 10.000 tokens. Ferramentas que declaram [`anthropic/maxResultSizeChars`](/docs/pt/mcp#raise-the-limit-for-a-specific-tool) usam esse limite de caracteres para conteúdo de texto, mas o conteúdo de imagem dessas ferramentas continua sujeito a esta variável. Um resultado de texto bem-sucedido com mais de 50.000 caracteres de uma ferramenta sem essa anotação é [salvo em um arquivo](/docs/pt/mcp#mcp-output-limits-and-warnings) independentemente desta variável |489| `MAX_MCP_OUTPUT_TOKENS` | Número máximo de tokens permitidos em respostas de ferramentas MCP (padrão: 25000). O Claude Code exibe um aviso quando a saída excede 10.000 tokens. Ferramentas que declaram [`anthropic/maxResultSizeChars`](/docs/pt/mcp#raise-the-limit-for-a-specific-tool) usam esse limite de caracteres para conteúdo de texto, mas o conteúdo de imagem dessas ferramentas ainda está sujeito a esta variável. Um resultado de texto bem-sucedido com mais de 50.000 caracteres de uma ferramenta sem essa anotação é [salvo em um arquivo](/docs/pt/mcp#mcp-output-limits-and-warnings) independentemente desta variável |

484| `MAX_STRUCTURED_OUTPUT_RETRIES` | Número de tentativas que o Claude Code permite quando a resposta do modelo falha na validação contra o [`--json-schema`](/docs/pt/cli-reference#cli-flags) no modo não interativo com a flag `-p`; após essa quantidade de tentativas com falha sem saída válida, a execução falha. O mesmo limite se aplica quando a saída estruturada de um subagente de [workflow](/docs/pt/workflows) falha na validação. O padrão é 5, uma primeira tentativa mais quatro novas tentativas |490| `MAX_STRUCTURED_OUTPUT_RETRIES` | Número de tentativas que o Claude Code permite quando a resposta do modelo falha na validação contra o [`--json-schema`](/docs/pt/cli-reference#cli-flags) no modo não interativo com a flag `-p`; após essa quantidade de tentativas malsucedidas sem saída válida, a execução falha. O mesmo limite se aplica quando a saída estruturada de um subagente de [workflow](/docs/pt/workflows) falha na validação. O padrão é 5, uma primeira tentativa mais quatro novas tentativas |

485| `MAX_THINKING_TOKENS` | Orçamento fixo de tokens para o [pensamento estendido](https://platform.claude.com/docs/en/build-with-claude/extended-thinking). O Claude Code o limita a um token abaixo do máximo de tokens de saída da requisição e nunca abaixo de 1.024. Consulte `CLAUDE_CODE_MAX_OUTPUT_TOKENS` para saber como esse limite é definido. Quando não definida e o pensamento está ativado, os modelos com [raciocínio adaptativo](/docs/pt/model-config#adjust-effort-level) escolhem sua própria profundidade de pensamento, e os outros modelos usam o limite. Defina como `0` para desativar o pensamento na Anthropic API, exceto no Opus 5.5, Sonnet 5.5, Haiku 5.5 e nos modelos Fable, que não permitem desativar o pensamento. Em [provedores de terceiros](/docs/pt/third-party-integrations), `0` omite o parâmetro `thinking`. Com o pensamento desativado na Anthropic API, 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. Para um valor positivo, o Claude Code ignora o próprio número em modelos com raciocínio adaptativo, exceto quando `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` desativa o raciocínio adaptativo |491| `MAX_THINKING_TOKENS` | Orçamento fixo de tokens para [pensamento estendido](https://platform.claude.com/docs/en/build-with-claude/extended-thinking). O Claude Code o limita a um token abaixo do máximo de tokens de saída da requisição e nunca abaixo de 1.024. Consulte `CLAUDE_CODE_MAX_OUTPUT_TOKENS` para saber como esse limite é definido. Quando não definida e o pensamento está ativado, modelos com [raciocínio adaptativo](/docs/pt/model-config#adjust-effort-level) escolhem sua própria profundidade de pensamento, e outros modelos usam o limite. Defina como `0` para desativar o pensamento na API da Anthropic, exceto no Opus 5.5, Sonnet 5.5, Haiku 5.5 e nos modelos Fable, que não permitem desativar o pensamento. Em [provedores de terceiros](/docs/pt/third-party-integrations), `0` omite o parâmetro `thinking` em vez disso. 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. Para um valor positivo, o Claude Code ignora o próprio número em modelos com raciocínio adaptativo, exceto quando `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` desativa o raciocínio adaptativo |

486| `MCP_CLIENT_SECRET` | Client secret OAuth para servidores MCP que exigem [credenciais pré-configuradas](/docs/pt/mcp#use-pre-configured-oauth-credentials). Evita o prompt interativo ao adicionar um servidor com `--client-secret` |492| `MCP_CLIENT_SECRET` | Segredo de cliente OAuth para servidores MCP que exigem [credenciais pré-configuradas](/docs/pt/mcp#use-pre-configured-oauth-credentials). Evita o prompt interativo ao adicionar um servidor com `--client-secret` |

487| `MCP_CONNECTION_NONBLOCKING` | Controla se a inicialização espera que os servidores MCP se conectem antes da primeira consulta. A inicialização do MCP não é bloqueante por padrão: os servidores se conectam em segundo plano e suas ferramentas ficam disponíveis à medida que terminam. Defina como `0` para fazer o Claude Code esperar que os servidores se conectem antes da primeira consulta. Servidores configurados com [`alwaysLoad: true`](/docs/pt/mcp#exempt-a-server-from-deferral) ainda fazem a inicialização esperar de qualquer forma, exceto quando servidos a partir do [cache de descoberta](/docs/pt/mcp#server-status-detail), já que suas ferramentas precisam estar presentes quando o primeiro prompt é construído. No modo não interativo (`-p`) sem `--input-format stream-json`, o Claude Code também espera pelos servidores ainda pendentes antes do primeiro turno, independentemente desta variável. Quando você passa [`--mcp-config`](/docs/pt/cli-reference#cli-flags) explicitamente, a espera tem um prazo mais longo; consulte a entrada dessa flag para a exceção de servidores em cache |493| `MCP_CONNECTION_NONBLOCKING` | Controla se a inicialização espera os servidores MCP se conectarem antes da primeira consulta. A inicialização do MCP não é bloqueante por padrão: os servidores se conectam em segundo plano e suas ferramentas ficam disponíveis à medida que terminam. Defina como `0` para fazer o Claude Code esperar os servidores se conectarem antes da primeira consulta. Servidores configurados com [`alwaysLoad: true`](/docs/pt/mcp#exempt-a-server-from-deferral) ainda fazem a inicialização esperar de qualquer forma, exceto quando servidos a partir do [cache de descoberta](/docs/pt/mcp#server-status-detail), pois suas ferramentas precisam estar presentes quando o primeiro prompt é montado. No modo não interativo (`-p`) sem `--input-format stream-json`, o Claude Code também espera os servidores ainda pendentes antes do primeiro turno, independentemente desta variável. Quando você passa [`--mcp-config`](/docs/pt/cli-reference#cli-flags) explicitamente, a espera tem um prazo mais longo; consulte a entrada dessa flag para a exceção de servidores em cache |

488| `MCP_CONNECT_TIMEOUT_MS` | Quanto tempo a inicialização bloqueante do MCP espera, em milissegundos, pelo lote de conexões antes de capturar a lista de ferramentas (padrão: 5000). Aplica-se quando `MCP_CONNECTION_NONBLOCKING=0` ou para servidores marcados com [`alwaysLoad: true`](/docs/pt/mcp#exempt-a-server-from-deferral). Servidores ainda pendentes no prazo continuam se conectando em segundo plano. Distinta de `MCP_TIMEOUT`, que limita a tentativa de conexão de um servidor individual |494| `MCP_CONNECT_TIMEOUT_MS` | Quanto tempo a inicialização bloqueante do MCP espera, em milissegundos, pelo lote de conexões antes de capturar a lista de ferramentas (padrão: 5000). Aplica-se quando `MCP_CONNECTION_NONBLOCKING=0` ou para servidores marcados com [`alwaysLoad: true`](/docs/pt/mcp#exempt-a-server-from-deferral). Servidores ainda pendentes no prazo continuam se conectando em segundo plano. Diferente de `MCP_TIMEOUT`, que limita a tentativa de conexão de um servidor individual |

489| `MCP_DISCOVERY_CACHE` | Ativa ou desativa o [cache de descoberta do MCP](/docs/pt/mcp#server-status-detail). Com o cache ativado, um servidor HTTP ou SSE remoto que você já usou antes pode exibir o [status `cached`](/docs/pt/mcp#server-status-detail), e o Claude Code o conecta na primeira chamada de ferramenta em vez de na inicialização. O cache fica desativado por padrão, a menos que uma implantação gradual o tenha ativado para sua conta. Defina como `1` para ativá-lo, ou `0` para mantê-lo desativado mesmo quando a implantação o tiver ativado. Antes da v2.1.238, o cache ficava ativado por padrão. O status `cached` requer Claude Code v2.1.221 ou posterior |495| `MCP_DISCOVERY_CACHE` | Ativa ou desativa o [cache de descoberta do MCP](/docs/pt/mcp#server-status-detail). Com o cache ativado, um servidor HTTP ou SSE remoto que você já usou pode exibir o [status `cached`](/docs/pt/mcp#server-status-detail), e o Claude Code o conecta na sua primeira chamada de ferramenta em vez de na inicialização. O cache fica desativado por padrão, a menos que uma implantação gradual o tenha ativado para sua conta. Defina como `1` para ativá-lo, ou `0` para mantê-lo desativado mesmo quando a implantação gradual o tiver ativado. Antes da v2.1.238, o cache ficava ativado por padrão. O status `cached` requer Claude Code v2.1.221 ou posterior |

490| `MCP_DISCOVERY_CACHE_MAX_STALE_S` | Idade máxima, em segundos, de uma entrada do [cache de descoberta](/docs/pt/mcp#server-status-detail) (padrão: 14400, ou 4 horas). Em uma inicialização na qual a entrada é mais antiga que isso, o Claude Code a descarta e conecta o servidor na inicialização, como faz com o cache desativado. O Claude Code limita o valor a 7 dias. Antes da v2.1.238, o padrão era 86400, ou 24 horas, e o Claude Code não limitava o valor |496| `MCP_DISCOVERY_CACHE_MAX_STALE_S` | Idade máxima, em segundos, de uma entrada do [cache de descoberta](/docs/pt/mcp#server-status-detail) (padrão: 14400, ou 4 horas). Em uma inicialização em que a entrada é mais antiga que isso, o Claude Code a descarta e conecta o servidor na inicialização, como faz com o cache desativado. O Claude Code limita o valor a 7 dias. Antes da v2.1.238, o padrão era 86400, ou 24 horas, e o Claude Code não limitava o valor |

491| `MCP_DISCOVERY_CACHE_STRIKES` | Em uma inicialização na qual uma entrada do [cache de descoberta](/docs/pt/mcp#server-status-detail) é mais antiga que `MCP_DISCOVERY_CACHE_TTL_S`, o Claude Code a atualiza em segundo plano. Esta variável define quantas atualizações seguidas podem falhar antes que o Claude Code descarte a entrada e conecte o servidor na próxima inicialização (padrão: 1). Aumente-a se sua conexão de rede cair ocasionalmente, para que uma única atualização com falha não descarte a entrada. Requer Claude Code v2.1.238 ou posterior |497| `MCP_DISCOVERY_CACHE_STRIKES` | Em uma inicialização em que uma entrada do [cache de descoberta](/docs/pt/mcp#server-status-detail) é mais antiga que `MCP_DISCOVERY_CACHE_TTL_S`, o Claude Code a atualiza em segundo plano. Esta variável define quantas atualizações seguidas podem falhar antes que o Claude Code descarte a entrada e conecte o servidor na próxima inicialização (padrão: 1). Aumente-a se sua conexão de rede cair ocasionalmente, para que uma única atualização malsucedida não descarte a entrada. Requer Claude Code v2.1.238 ou posterior |

492| `MCP_DISCOVERY_CACHE_TTL_S` | Segundos durante os quais o Claude Code usa uma entrada do [cache de descoberta](/docs/pt/mcp#server-status-detail) sem atualizá-la (padrão: 900). Em uma inicialização na qual a entrada é mais antiga que isso, o Claude Code ainda a usa, mas a atualiza em segundo plano. Quando a entrada fica mais antiga que `MCP_DISCOVERY_CACHE_MAX_STALE_S`, o Claude Code a descarta. O Claude Code limita o valor a `MCP_DISCOVERY_CACHE_MAX_STALE_S`, que é 4 horas por padrão. Antes da v2.1.238, o Claude Code não limitava o valor |498| `MCP_DISCOVERY_CACHE_TTL_S` | Segundos durante os quais o Claude Code usa uma entrada do [cache de descoberta](/docs/pt/mcp#server-status-detail) sem atualizá-la (padrão: 900). Em uma inicialização em que a entrada é mais antiga que isso, o Claude Code ainda a usa, mas a atualiza em segundo plano. Quando a entrada fica mais antiga que `MCP_DISCOVERY_CACHE_MAX_STALE_S`, o Claude Code a descarta. O Claude Code limita o valor a `MCP_DISCOVERY_CACHE_MAX_STALE_S`, que é de 4 horas por padrão. Antes da v2.1.238, o Claude Code não limitava o valor |

493| `MCP_OAUTH_CALLBACK_PORT` | Porta fixa para o callback de redirecionamento OAuth, como alternativa a `--callback-port` ao adicionar um servidor MCP com [credenciais pré-configuradas](/docs/pt/mcp#use-pre-configured-oauth-credentials) |499| `MCP_OAUTH_CALLBACK_PORT` | Porta fixa para o callback de redirecionamento OAuth, como alternativa a `--callback-port` ao adicionar um servidor MCP com [credenciais pré-configuradas](/docs/pt/mcp#use-pre-configured-oauth-credentials) |

494| `MCP_PROTOCOL_NEGOTIATION` | Somente no [runtime de cliente MCP v2](/docs/pt/mcp#mcp-client-runtimes), define se o Claude Code sonda os servidores em busca da revisão 2026-07-28 do protocolo MCP. Defina `auto` para sondar servidores HTTP, de conector do claude.ai e stdio, ou `legacy` para não sondar nenhum. Com a variável não definida, o Claude Code sonda os servidores descritos em [Runtimes de cliente MCP](/docs/pt/mcp#mcp-client-runtimes). Qualquer outro valor é ignorado com um aviso no log de depuração. Requer Claude Code v2.1.221 ou posterior |500| `MCP_PROTOCOL_NEGOTIATION` | Apenas no [runtime de cliente MCP v2](/docs/pt/mcp#mcp-client-runtimes), define se o Claude Code sonda os servidores em busca da revisão de protocolo MCP 2026-07-28. Defina `auto` para sondar servidores HTTP, de conector do claude.ai e stdio, ou `legacy` para não sondar nenhum. Com a variável sem definição, o Claude Code sonda os servidores descritos em [Runtimes de cliente MCP](/docs/pt/mcp#mcp-client-runtimes). Qualquer outro valor é ignorado com um aviso no log de depuração. Requer Claude Code v2.1.221 ou posterior |

495| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | Número máximo de servidores MCP remotos (HTTP/SSE) a conectar em paralelo durante a inicialização (padrão: 20) |501| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | Número máximo de servidores MCP remotos (HTTP/SSE) a conectar em paralelo durante a inicialização (padrão: 20) |

496| `MCP_SDK_GENERATION` | Fixa com qual [runtime de cliente MCP](/docs/pt/mcp#mcp-client-runtimes) este processo se conecta aos servidores MCP: `v1`, construído sobre o MCP TypeScript SDK 1.x, ou `v2`, construído sobre o [MCP TypeScript SDK 2.0](https://ts.sdk.modelcontextprotocol.io/v2/). Sem a variável, o Claude Code usa o v2, a partir das versões listadas nessa seção. No Claude Code v2.1.221 ou posterior, o runtime v2 verifica o emissor que um servidor OAuth do MCP retorna em sua resposta de autorização e faz o login falhar com um erro que começa com `Issuer mismatch in authorization response` quando ele não corresponde. O runtime v1 não executa essa verificação. Se você definir um valor não reconhecido, o Claude Code o ignora e grava um aviso no log de depuração. O Claude Code lê o valor uma vez por processo. Requer Claude Code v2.1.218 ou posterior |502| `MCP_SDK_GENERATION` | Fixa qual [runtime de cliente MCP](/docs/pt/mcp#mcp-client-runtimes) este processo usa para se conectar a servidores MCP: `v1`, construído sobre o MCP TypeScript SDK 1.x, ou `v2`, construído sobre o [MCP TypeScript SDK 2.0](https://ts.sdk.modelcontextprotocol.io/v2/). Sem a variável, o Claude Code usa o v2, a partir das versões listadas nessa seção. No Claude Code v2.1.221 ou posterior, o runtime v2 verifica o emissor que um servidor OAuth do MCP retorna em sua resposta de autorização e faz o login falhar com um erro que começa com `Issuer mismatch in authorization response` quando ele não corresponde. O runtime v1 não executa essa verificação. Se você definir um valor não reconhecido, o Claude Code o ignora e grava um aviso no log de depuração. O Claude Code lê o valor uma vez por processo. Requer Claude Code v2.1.218 ou posterior |

497| `MCP_SERVER_CONNECTION_BATCH_SIZE` | Número máximo de servidores MCP locais (stdio) a conectar em paralelo durante a inicialização (padrão: 3) |503| `MCP_SERVER_CONNECTION_BATCH_SIZE` | Número máximo de servidores MCP locais (stdio) a conectar em paralelo durante a inicialização (padrão: 3) |

498| `MCP_TIMEOUT` | Timeout em milissegundos para a inicialização do servidor MCP (padrão: 30000, ou 30 segundos) |504| `MCP_TIMEOUT` | Timeout em milissegundos para a inicialização do servidor MCP (padrão: 30000, ou 30 segundos) |

499| `MCP_TOOL_TIMEOUT` | Timeout em milissegundos para a execução de ferramentas MCP (padrão: 100000000, cerca de 28 horas). Para um servidor HTTP, SSE ou de conector do claude.ai, cada requisição também atinge o timeout após 60 segundos por padrão; defina esta variável, ou o `timeout` por servidor, acima de 60000 para aumentar esse limite por requisição. Um valor menor ainda reduz o timeout geral de execução da ferramenta, mas mantém o limite por requisição em 60 segundos. Servidores stdio e WebSocket não têm temporizador por requisição. Um campo `timeout` por servidor em `.mcp.json` sobrescreve este valor para esse servidor. Um `timeout` por servidor de pelo menos 1000 também define a janela mínima de inatividade para as chamadas de ferramenta desse servidor, de modo que `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` nunca as interrompa antes; esse piso requer Claude Code v2.1.203 ou posterior. Para a variável de ambiente, valores abaixo de 1000 são elevados a um segundo; para o campo por servidor, valores abaixo de 1000 são ignorados |505| `MCP_TOOL_TIMEOUT` | Timeout em milissegundos para a execução de ferramentas MCP (padrão: 100000000, cerca de 28 horas). Para um servidor HTTP, SSE ou de conector do claude.ai, cada requisição também atinge o timeout após 60 segundos por padrão; defina esta variável, ou o `timeout` por servidor, acima de 60000 para aumentar esse limite por requisição. Um valor menor ainda encurta o timeout geral de execução da ferramenta, mas mantém o limite por requisição em 60 segundos. Servidores stdio e WebSocket não têm temporizador por requisição. Um campo `timeout` por servidor em `.mcp.json` sobrescreve este valor para esse servidor. Um `timeout` por servidor de pelo menos 1000 também define a janela mínima de ociosidade para as chamadas de ferramenta desse servidor, de modo que `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` nunca as interrompa antes; esse piso requer Claude Code v2.1.203 ou posterior. Para a variável de ambiente, valores abaixo de 1000 são arredondados para um segundo; para o campo por servidor, valores abaixo de 1000 são ignorados |

500| `NO_PROXY` | Lista de domínios e IPs para os quais as requisições serão enviadas diretamente, ignorando o proxy |506| `NO_PROXY` | Lista de domínios e IPs para os quais as requisições serão enviadas diretamente, ignorando o proxy |

501| `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` | Limite padrão do SDK do OpenTelemetry para o comprimento do valor de atributos. O Claude Code limita os atributos de telemetria com conteúdo ao menor valor entre este e `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`, para que o marcador de truncamento permaneça dentro do limite do SDK. O Claude Code lê as variantes `OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT` e `OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT` da mesma forma, e o menor valor definido se aplica a todos os sinais. Requer Claude Code v2.1.214 ou posterior. Consulte [Monitoramento](/docs/pt/monitoring-usage#common-configuration-variables) |507| `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` | Limite padrão do SDK do OpenTelemetry para o comprimento de valores de atributos. O Claude Code limita os atributos de telemetria com conteúdo ao menor valor entre este e `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`, para que o marcador de truncamento fique dentro do limite do SDK. O Claude Code lê as variantes `OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT` e `OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT` da mesma forma, e o menor valor definido se aplica a todos os sinais. Requer Claude Code v2.1.214 ou posterior. Consulte [Monitoramento](/docs/pt/monitoring-usage#common-configuration-variables) |

502| `OTEL_LOG_ASSISTANT_RESPONSES` | Defina como `1` para incluir o texto de resposta do modelo nos eventos de log `assistant_response` do OpenTelemetry. Quando não definida, o Claude Code usa o valor de `OTEL_LOG_USER_PROMPTS`. Defina como `0` para manter as respostas ocultadas mesmo quando `OTEL_LOG_USER_PROMPTS` estiver definida. 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). Requer Claude Code v2.1.193 ou posterior. Consulte [Monitoramento](/docs/pt/monitoring-usage#assistant-response-event) |508| `OTEL_LOG_ASSISTANT_RESPONSES` | Defina como `1` para incluir o texto da resposta do modelo nos eventos de log `assistant_response` do OpenTelemetry. Quando não definida, o Claude Code usa o valor de `OTEL_LOG_USER_PROMPTS`. Defina como `0` para manter as respostas ocultadas mesmo quando `OTEL_LOG_USER_PROMPTS` estiver definida. Defina-a no seu shell, nas configurações de usuário ou nas configurações gerenciadas. Ignorada em [configurações de projeto e locais](/docs/pt/settings-reference#variables-claude-code-ignores-in-env). Requer Claude Code v2.1.193 ou posterior. Consulte [Monitoramento](/docs/pt/monitoring-usage#assistant-response-event) |

503| `OTEL_LOG_MANAGED_SETTINGS` | Defina como `1` para adicionar as configurações gerenciadas ocultadas, e um digest SHA-256 das configurações antes da ocultação, aos eventos de log `managed_settings_resolved` do OpenTelemetry. Desativada por padrão. Defina-a no seu shell, nas configurações de usuário ou nas configurações gerenciadas; um valor nas configurações de projeto ou locais não a ativa. Requer Claude Code v2.1.274 ou posterior. Consulte [Monitoramento](/docs/pt/monitoring-usage#managed-settings-resolved-event) |509| `OTEL_LOG_MANAGED_SETTINGS` | Defina como `1` para adicionar as configurações gerenciadas ocultadas, e um digest SHA-256 das configurações antes da ocultação, aos eventos de log `managed_settings_resolved` do OpenTelemetry. Desativada por padrão. Defina-a no seu shell, nas configurações de usuário ou nas configurações gerenciadas; um valor nas configurações de projeto ou locais não a ativa. Requer Claude Code v2.1.274 ou posterior. Consulte [Monitoramento](/docs/pt/monitoring-usage#managed-settings-resolved-event) |

504| `OTEL_LOG_RAW_API_BODIES` | Emite o JSON de requisição e resposta da Anthropic Messages API como eventos de log `api_request_body` / `api_response_body`. Defina como `1` para corpos inline truncados no limite de conteúdo, ou `file:<dir>` para gravar corpos não truncados em disco e emitir um caminho `body_ref` em vez disso. `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` configura o limite de conteúdo, 60 KB por padrão. Desativada por padrão; os corpos incluem todo o histórico da conversa. 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#api-request-body-event) |510| `OTEL_LOG_RAW_API_BODIES` | Emite o JSON de requisição e resposta da Messages API da Anthropic como eventos de log `api_request_body` / `api_response_body`. Defina como `1` para corpos inline truncados no limite de conteúdo, ou `file:<dir>` para gravar corpos sem truncamento em disco e emitir um caminho `body_ref` em vez disso. `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` configura o limite de conteúdo, 60 KB por padrão. Desativada por padrão; os corpos incluem todo o histórico da conversa. Defina-a no seu shell, nas configurações de usuário ou nas configurações gerenciadas. Ignorada em [configurações de projeto e locais](/docs/pt/settings-reference#variables-claude-code-ignores-in-env). Consulte [Monitoramento](/docs/pt/monitoring-usage#api-request-body-event) |

505| `OTEL_LOG_TOOL_CONTENT` | Defina como `1` para incluir o conteúdo de ferramentas no evento de span `tool.output` do OpenTelemetry. Os atributos de span carregam conteúdo de ferramentas sob [seus próprios controles](/docs/pt/monitoring-usage#new-context-gates). Requer [rastreamento](/docs/pt/monitoring-usage#traces-beta). Desativada por padrão para proteger dados sensíveis. 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), exceto pelos valores de desativação que essa seção descreve. Consulte [Monitoramento](/docs/pt/monitoring-usage#tool-output-span-event) |511| `OTEL_LOG_TOOL_CONTENT` | Defina como `1` para incluir o conteúdo da ferramenta no evento de span `tool.output` do OpenTelemetry. Os atributos de span carregam o conteúdo da ferramenta sob [suas próprias condições](/docs/pt/monitoring-usage#new-context-gates). Requer [rastreamento](/docs/pt/monitoring-usage#traces-beta). Desativada por padrão para proteger dados sensíveis. Defina-a no seu shell, nas configurações de usuário ou nas configurações gerenciadas. Ignorada em [configurações de projeto e locais](/docs/pt/settings-reference#variables-claude-code-ignores-in-env), exceto pelos valores de desativação descritos nessa seção. Consulte [Monitoramento](/docs/pt/monitoring-usage#tool-output-span-event) |

506| `OTEL_LOG_TOOL_DETAILS` | Defina como `1` para incluir argumentos de entrada de ferramentas; nomes de servidores MCP; nomes de workflows criados pelo usuário; strings de erro brutas em falhas de ferramentas; a `category` de recusa em eventos `api_refusal`; nomes reais de agentes, skills, plugins e servidores MCP nas [métricas de custo e tokens](/docs/pt/monitoring-usage#cost-counter); e outros detalhes de ferramentas em métricas, traces e logs do OpenTelemetry. Desativada por padrão para proteger PII. 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), exceto pelos valores de desativação que essa seção descreve. Consulte [Monitoramento](/docs/pt/monitoring-usage) |512| `OTEL_LOG_TOOL_DETAILS` | Defina como `1` para incluir argumentos de entrada de ferramentas; nomes de servidores MCP; nomes de workflows criados pelo usuário; strings de erro brutas em falhas de ferramentas; a `category` de recusa em eventos `api_refusal`; nomes reais de agentes, skills, plugins e servidores MCP em [métricas de custo e tokens](/docs/pt/monitoring-usage#cost-counter); e outros detalhes de ferramentas em métricas, traces e logs do OpenTelemetry. Desativada por padrão para proteger PII. Defina-a no seu shell, nas configurações de usuário ou nas configurações gerenciadas. Ignorada em [configurações de projeto e locais](/docs/pt/settings-reference#variables-claude-code-ignores-in-env), exceto pelos valores de desativação descritos nessa seção. Consulte [Monitoramento](/docs/pt/monitoring-usage) |

507| `OTEL_LOG_USER_PROMPTS` | Defina como `1` para incluir o texto dos prompts do usuário em traces e logs do OpenTelemetry. Desativada por padrão (os prompts são ocultados). 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), exceto pelos valores de desativação que essa seção descreve. Consulte [Monitoramento](/docs/pt/monitoring-usage) |513| `OTEL_LOG_USER_PROMPTS` | Defina como `1` para incluir o texto do prompt do usuário em traces e logs do OpenTelemetry. Desativada por padrão (os prompts são ocultados). Defina-a no seu shell, nas configurações de usuário ou nas configurações gerenciadas. Ignorada em [configurações de projeto e locais](/docs/pt/settings-reference#variables-claude-code-ignores-in-env), exceto pelos valores de desativação descritos nessa seção. Consulte [Monitoramento](/docs/pt/monitoring-usage) |

508| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | Defina como `false` para excluir o UUID da conta dos atributos de métricas (padrão: incluído). Consulte [Monitoramento](/docs/pt/monitoring-usage) |514| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | Defina como `false` para excluir o UUID da conta dos atributos de métricas (padrão: incluído). Consulte [Monitoramento](/docs/pt/monitoring-usage) |

509| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | Defina como `true` para incluir o ponto de entrada da sessão nos atributos de métricas (padrão: excluído). Adicionada na v2.1.152. Consulte [Monitoramento](/docs/pt/monitoring-usage) |515| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | Defina como `true` para incluir o ponto de entrada da sessão nos atributos de métricas (padrão: excluído). Adicionada na v2.1.152. Consulte [Monitoramento](/docs/pt/monitoring-usage) |

510| `OTEL_METRICS_INCLUDE_REPOSITORY` | Defina como `true` para marcar métricas e eventos do OpenTelemetry com atributos `vcs.*` que identificam o repositório da sessão (padrão: excluído). Requer Claude Code v2.1.269 ou posterior. Consulte [Atributos de repositório](/docs/pt/monitoring-usage#repository-attributes) |516| `OTEL_METRICS_INCLUDE_REPOSITORY` | Defina como `true` para marcar métricas e eventos do OpenTelemetry com atributos `vcs.*` que identificam o repositório da sessão (padrão: excluído). Requer Claude Code v2.1.269 ou posterior. Consulte [Atributos de repositório](/docs/pt/monitoring-usage#repository-attributes) |

511| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | A partir da v2.1.161, o Claude Code anexa as chaves de `OTEL_RESOURCE_ATTRIBUTES` aos rótulos dos pontos de dados de métricas. Defina como `false` para excluí-las (padrão: incluídas). Consulte [Monitoramento](/docs/pt/monitoring-usage#multi-team-organization-support) |517| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | A partir da v2.1.161, o Claude Code anexa as chaves de `OTEL_RESOURCE_ATTRIBUTES` aos rótulos dos datapoints de métricas. Defina como `false` para excluí-las (padrão: incluídas). Consulte [Monitoramento](/docs/pt/monitoring-usage#multi-team-organization-support) |

512| `OTEL_METRICS_INCLUDE_SESSION_ID` | Defina como `false` para excluir o ID da sessão dos atributos de métricas (padrão: incluído). Consulte [Monitoramento](/docs/pt/monitoring-usage) |518| `OTEL_METRICS_INCLUDE_SESSION_ID` | Defina como `false` para excluir o ID da sessão dos atributos de métricas (padrão: incluído). Consulte [Monitoramento](/docs/pt/monitoring-usage) |

513| `OTEL_METRICS_INCLUDE_VERSION` | Defina como `true` para incluir a versão do Claude Code nos atributos de métricas (padrão: excluído). Consulte [Monitoramento](/docs/pt/monitoring-usage) |519| `OTEL_METRICS_INCLUDE_VERSION` | Defina como `true` para incluir a versão do Claude Code nos atributos de métricas (padrão: excluída). Consulte [Monitoramento](/docs/pt/monitoring-usage) |

514| `SLASH_COMMAND_TOOL_CHAR_BUDGET` | Sobrescreve o orçamento de caracteres para os metadados de skills exibidos à [ferramenta Skill](/docs/pt/skills#control-who-invokes-a-skill). O orçamento é dimensionado dinamicamente em 1% da janela de contexto, com um fallback de 8.000 caracteres. Nome legado mantido para compatibilidade com versões anteriores |520| `SLASH_COMMAND_TOOL_CHAR_BUDGET` | Sobrescreve o orçamento de caracteres para os metadados de skills exibidos para a [ferramenta Skill](/docs/pt/skills#control-who-invokes-a-skill). O orçamento escala dinamicamente em 1% da janela de contexto, com um fallback de 8.000 caracteres. Nome legado mantido para compatibilidade com versões anteriores |

515| `TASK_MAX_OUTPUT_LENGTH` | Removida na v2.1.277 e agora sem efeito, junto com a ferramenta `TaskOutput` que ela dimensionava. Anteriormente definia o número máximo de caracteres da saída de uma [tarefa em segundo plano](/docs/pt/tools-reference#background-commands) que a ferramenta `TaskOutput` mantinha. Claude agora lê o arquivo de saída de uma tarefa em segundo plano com `Read` |521| `TASK_MAX_OUTPUT_LENGTH` | Removida na v2.1.277 e agora não tem efeito, junto com a ferramenta `TaskOutput` cujo tamanho ela definia. Anteriormente definia o número máximo de caracteres da saída de uma [tarefa em segundo plano](/docs/pt/tools-reference#background-commands) que a ferramenta `TaskOutput` mantinha. O Claude lê o arquivo de saída de uma tarefa em segundo plano com `Read` em vez disso |

516| `USE_BUILTIN_RIPGREP` | Defina como `0` para usar o `rg` instalado no sistema em vez do `rg` incluído no Claude Code |522| `USE_BUILTIN_RIPGREP` | Defina como `0` para usar o `rg` instalado no sistema em vez do `rg` incluído no Claude Code |

517| `VERTEX_REGION_CLAUDE_3_5_HAIKU` | Sobrescreve a região para o Claude 3.5 Haiku ao usar o Google Cloud's Agent Platform |523| `VERTEX_REGION_CLAUDE_3_5_HAIKU` | Sobrescreve a região para o Claude 3.5 Haiku ao usar o Agent Platform do Google Cloud |

518| `VERTEX_REGION_CLAUDE_3_5_SONNET` | Sobrescreve a região para o Claude 3.5 Sonnet ao usar o Google Cloud's Agent Platform |524| `VERTEX_REGION_CLAUDE_3_5_SONNET` | Sobrescreve a região para o Claude 3.5 Sonnet ao usar o Agent Platform do Google Cloud |

519| `VERTEX_REGION_CLAUDE_3_7_SONNET` | Sobrescreve a região para o Claude 3.7 Sonnet ao usar o Google Cloud's Agent Platform |525| `VERTEX_REGION_CLAUDE_3_7_SONNET` | Sobrescreve a região para o Claude 3.7 Sonnet ao usar o Agent Platform do Google Cloud |

520| `VERTEX_REGION_CLAUDE_4_0_OPUS` | Sobrescreve a região para o Claude 4.0 Opus ao usar o Google Cloud's Agent Platform |526| `VERTEX_REGION_CLAUDE_4_0_OPUS` | Sobrescreve a região para o Claude 4.0 Opus ao usar o Agent Platform do Google Cloud |

521| `VERTEX_REGION_CLAUDE_4_0_SONNET` | Sobrescreve a região para o Claude 4.0 Sonnet ao usar o Google Cloud's Agent Platform |527| `VERTEX_REGION_CLAUDE_4_0_SONNET` | Sobrescreve a região para o Claude 4.0 Sonnet ao usar o Agent Platform do Google Cloud |

522| `VERTEX_REGION_CLAUDE_4_1_OPUS` | Sobrescreve a região para o Claude 4.1 Opus ao usar o Google Cloud's Agent Platform |528| `VERTEX_REGION_CLAUDE_4_1_OPUS` | Sobrescreve a região para o Claude 4.1 Opus ao usar o Agent Platform do Google Cloud |

523| `VERTEX_REGION_CLAUDE_4_5_OPUS` | Sobrescreve a região para o Claude Opus 4.5 ao usar o Google Cloud's Agent Platform |529| `VERTEX_REGION_CLAUDE_4_5_OPUS` | Sobrescreve a região para o Claude Opus 4.5 ao usar o Agent Platform do Google Cloud |

524| `VERTEX_REGION_CLAUDE_4_5_SONNET` | Sobrescreve a região para o Claude Sonnet 4.5 ao usar o Google Cloud's Agent Platform |530| `VERTEX_REGION_CLAUDE_4_5_SONNET` | Sobrescreve a região para o Claude Sonnet 4.5 ao usar o Agent Platform do Google Cloud |

525| `VERTEX_REGION_CLAUDE_4_6_OPUS` | Sobrescreve a região para o Claude Opus 4.6 ao usar o Google Cloud's Agent Platform |531| `VERTEX_REGION_CLAUDE_4_6_OPUS` | Sobrescreve a região para o Claude Opus 4.6 ao usar o Agent Platform do Google Cloud |

526| `VERTEX_REGION_CLAUDE_4_6_SONNET` | Sobrescreve a região para o Claude Sonnet 4.6 ao usar o Google Cloud's Agent Platform |532| `VERTEX_REGION_CLAUDE_4_6_SONNET` | Sobrescreve a região para o Claude Sonnet 4.6 ao usar o Agent Platform do Google Cloud |

527| `VERTEX_REGION_CLAUDE_4_7_OPUS` | Sobrescreve a região para o Claude Opus 4.7 ao usar o Google Cloud's Agent Platform |533| `VERTEX_REGION_CLAUDE_4_7_OPUS` | Sobrescreve a região para o Claude Opus 4.7 ao usar o Agent Platform do Google Cloud |

528| `VERTEX_REGION_CLAUDE_4_8_OPUS` | Sobrescreve a região para o Claude Opus 4.8 ao usar o Google Cloud's Agent Platform |534| `VERTEX_REGION_CLAUDE_4_8_OPUS` | Sobrescreve a região para o Claude Opus 4.8 ao usar o Agent Platform do Google Cloud |

529| `VERTEX_REGION_CLAUDE_5_5_OPUS` | Sobrescreve a região para o Claude Opus 5.5 ao usar o Google Cloud's Agent Platform. Adicionada na v2.1.280 |535| `VERTEX_REGION_CLAUDE_5_5_OPUS` | Sobrescreve a região para o Claude Opus 5.5 ao usar o Agent Platform do Google Cloud. Adicionada na v2.1.280 |

530| `VERTEX_REGION_CLAUDE_5_5_SONNET` | Sobrescreve a região para o Claude Sonnet 5.5 ao usar o Google Cloud's Agent Platform. Adicionada na v2.1.284 |536| `VERTEX_REGION_CLAUDE_5_5_SONNET` | Sobrescreve a região para o Claude Sonnet 5.5 ao usar o Agent Platform do Google Cloud. Adicionada na v2.1.284 |

531| `VERTEX_REGION_CLAUDE_5_OPUS` | Sobrescreve a região para o Claude Opus 5 ao usar o Google Cloud's Agent Platform. Adicionada na v2.1.219 |537| `VERTEX_REGION_CLAUDE_5_OPUS` | Sobrescreve a região para o Claude Opus 5 ao usar o Agent Platform do Google Cloud. Adicionada na v2.1.219 |

532| `VERTEX_REGION_CLAUDE_5_SONNET` | Sobrescreve a região para o Claude Sonnet 5 ao usar o Google Cloud's Agent Platform. Adicionada na v2.1.197 |538| `VERTEX_REGION_CLAUDE_5_SONNET` | Sobrescreve a região para o Claude Sonnet 5 ao usar o Agent Platform do Google Cloud. Adicionada na v2.1.197 |

533| `VERTEX_REGION_CLAUDE_FABLE_5` | Sobrescreve a região para o Claude Fable 5 ao usar o Google Cloud's Agent Platform. Adicionada na v2.1.170 |539| `VERTEX_REGION_CLAUDE_FABLE_5` | Sobrescreve a região para o Claude Fable 5 ao usar o Agent Platform do Google Cloud. Adicionada na v2.1.170 |

534| `VERTEX_REGION_CLAUDE_FABLE_5_1` | Sobrescreve a região para o Claude Fable 5.1 ao usar o Google Cloud's Agent Platform. Adicionada na v2.1.257 |540| `VERTEX_REGION_CLAUDE_FABLE_5_1` | Sobrescreve a região para o Claude Fable 5.1 ao usar o Agent Platform do Google Cloud. Adicionada na v2.1.257 |

535| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | Sobrescreve a região para o Claude Haiku 4.5 ao usar o Google Cloud's Agent Platform |541| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | Sobrescreve a região para o Claude Haiku 4.5 ao usar o Agent Platform do Google Cloud |

536| `VERTEX_REGION_CLAUDE_HAIKU_5_5` | Sobrescreve a região para o Claude Haiku 5.5 ao usar o Google Cloud's Agent Platform. Adicionada na v2.1.293 |542| `VERTEX_REGION_CLAUDE_HAIKU_5_5` | Sobrescreve a região para o Claude Haiku 5.5 ao usar o Agent Platform do Google Cloud. Adicionada na v2.1.293 |

537 543 

538As variáveis padrão de exportador do OpenTelemetry (`OTEL_METRICS_EXPORTER`, `OTEL_LOGS_EXPORTER`, `OTEL_EXPORTER_OTLP_ENDPOINT`, `OTEL_EXPORTER_OTLP_PROTOCOL`, `OTEL_EXPORTER_OTLP_HEADERS`, `OTEL_METRIC_EXPORT_INTERVAL`, `OTEL_RESOURCE_ATTRIBUTES` e variantes específicas de sinal) também são suportadas. Consulte [Monitoramento](/docs/pt/monitoring-usage) para detalhes de configuração.544As variáveis padrão de exportador do OpenTelemetry (`OTEL_METRICS_EXPORTER`, `OTEL_LOGS_EXPORTER`, `OTEL_EXPORTER_OTLP_ENDPOINT`, `OTEL_EXPORTER_OTLP_PROTOCOL`, `OTEL_EXPORTER_OTLP_HEADERS`, `OTEL_METRIC_EXPORT_INTERVAL`, `OTEL_RESOURCE_ATTRIBUTES` e variantes específicas de sinal) também são suportadas. Consulte [Monitoramento](/docs/pt/monitoring-usage) para detalhes de configuração.

539 545 

540Defina `CLAUDE_CODE_ENABLE_TELEMETRY` e as variáveis do OpenTelemetry que ativam a exportação, escolhem seu destino ou capturam conteúdo no seu shell, nas configurações de usuário ou nas configurações gerenciadas. O Claude Code [as ignora nas configurações de projeto e locais](/docs/pt/settings-reference#variables-claude-code-ignores-in-env), exceto pelos valores de desativação que essa seção descreve. `OTEL_RESOURCE_ATTRIBUTES` e as variáveis de intervalo de exportação, timeout e compressão, como `OTEL_METRIC_EXPORT_INTERVAL`, ainda se aplicam a partir das configurações de projeto e locais.546Defina `CLAUDE_CODE_ENABLE_TELEMETRY` e as variáveis do OpenTelemetry que ativam a exportação, escolhem seu destino ou capturam conteúdo no seu shell, nas configurações de usuário ou nas configurações gerenciadas. O Claude Code [as ignora nas configurações de projeto e locais](/docs/pt/settings-reference#variables-claude-code-ignores-in-env), exceto pelos valores de desativação descritos nessa seção. `OTEL_RESOURCE_ATTRIBUTES` e as variáveis de intervalo, timeout e compressão da exportação, como `OTEL_METRIC_EXPORT_INTERVAL`, ainda se aplicam a partir das configurações de projeto e locais.

541 547 

542<h2 id="what-the-subprocess-environment-scrub-removes">548<h2 id="what-the-subprocess-environment-scrub-removes">

543 O que a limpeza do ambiente de subprocessos remove549 O que a limpeza do ambiente de subprocessos remove


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

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

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

593* Fazer o Claude Code sondar servidores de conectores do claude.ai para a [revisão 2026-07-28 do protocolo MCP](/docs/pt/mcp#mcp-client-runtimes), a menos que você defina `MCP_PROTOCOL_NEGOTIATION=auto`

594* Obter a [ferramenta PowerShell](/docs/pt/tools-reference#powershell-tool) por padrão para contas do claude.ai e do Console no Windows com o Git Bash instalado; o Claude Code encaminha os comandos de shell pelo Git Bash, a menos que você defina `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`. No Windows sem o Git Bash, a ferramenta permanece ativada599* Obter a [ferramenta PowerShell](/docs/pt/tools-reference#powershell-tool) por padrão para contas do claude.ai e do Console no Windows com o Git Bash instalado; o Claude Code encaminha os comandos de shell pelo Git Bash, a menos que você defina `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`. No Windows sem o Git Bash, a ferramenta permanece ativada

595* Obter [feedback rascunhado pelo Claude](/docs/pt/tools-reference#sendfeedback-tool-behavior), que o Claude Code ativa por meio de uma flag buscada600* Obter [feedback rascunhado pelo Claude](/docs/pt/tools-reference#sendfeedback-tool-behavior), que o Claude Code ativa por meio de uma flag buscada

596* Fazer o Claude [tratar colagens grandes como texto colado em vez de digitado](/docs/pt/terminal-config#how-claude-treats-pasted-text); o conteúdo por trás de um placeholder `[Pasted text #N]` chega ao Claude sem marcação601* Fazer o Claude [tratar colagens grandes como texto colado em vez de digitado](/docs/pt/terminal-config#how-claude-treats-pasted-text); o conteúdo por trás de um placeholder `[Pasted text #N]` chega ao Claude sem marcação

errors.md +12 −59

Details

189| `<model> has safety measures that flagged this message for a cybersecurity topic` | [Request errors](#safety-measures-flagged-a-cybersecurity-topic) |189| `<model> has safety measures that flagged this message for a cybersecurity topic` | [Request errors](#safety-measures-flagged-a-cybersecurity-topic) |

190| `` Details: `[reasoning_extraction]` `` | [Request errors](#safeguards-flagged-a-request-for-claudes-reasoning) |190| `` Details: `[reasoning_extraction]` `` | [Request errors](#safeguards-flagged-a-request-for-claudes-reasoning) |

191| `API Error: Output blocked by content filtering policy` | [Request errors](#output-blocked-by-content-filtering-policy) |191| `API Error: Output blocked by content filtering policy` | [Request errors](#output-blocked-by-content-filtering-policy) |

192| `Installation was killed before it could finish (exit code 137)` | [Installation errors](#installation-was-killed-before-it-could-finish) |192| `Installation was killed before it could finish (exit code 137)` | [Troubleshoot installation and login](/docs/pt/troubleshoot-install#installation-was-killed-before-it-could-finish) |

193| `The connection dropped while downloading the update` | [Installation errors](#the-connection-dropped-while-downloading-the-update) |193| `The connection dropped while downloading the update` | [Troubleshoot installation and login](/docs/pt/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |

194| `Download timed out: exceeded the total deadline` | [Installation errors](#the-connection-dropped-while-downloading-the-update) |194| `Download timed out: exceeded the total deadline` | [Troubleshoot installation and login](/docs/pt/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |

195| `--bg and --print conflict` | [Command-line errors](#conflict-between-bg-and-print) |195| `--bg and --print conflict` | [Command-line errors](#conflict-between-bg-and-print) |

196| `Error: Cannot use both --append-subagent-system-prompt and --append-subagent-system-prompt-file. Please use only one.` | [Command-line errors](#conflict-between-a-system-prompt-flag-and-its-file-form) |196| `Error: Cannot use both --append-subagent-system-prompt and --append-subagent-system-prompt-file. Please use only one.` | [Command-line errors](#conflict-between-a-system-prompt-flag-and-its-file-form) |

197| `Cloud sessions cannot be created from a --restricted session` | [Command-line errors](#cloud-sessions-cannot-be-created-from-a-restricted-session) |197| `Cloud sessions cannot be created from a --restricted session` | [Command-line errors](#cloud-sessions-cannot-be-created-from-a-restricted-session) |


261| `Marketplace name impersonates an official Anthropic/Claude marketplace` | [Plugin errors](#claude-code-refuses-the-marketplace-name) |261| `Marketplace name impersonates an official Anthropic/Claude marketplace` | [Plugin errors](#claude-code-refuses-the-marketplace-name) |

262| `Marketplace "<name>" is already added from a different source` | [Plugin errors](#marketplace-is-already-added-from-a-different-source) |262| `Marketplace "<name>" is already added from a different source` | [Plugin errors](#marketplace-is-already-added-from-a-different-source) |

263| `"<name>" is another spelling of "<reserved>", a reserved marketplace name` | [Plugin errors](#marketplace-name-is-another-spelling-of-a-reserved-name) |263| `"<name>" is another spelling of "<reserved>", a reserved marketplace name` | [Plugin errors](#marketplace-name-is-another-spelling-of-a-reserved-name) |

264| `Cannot add marketplace "<name>": Claude Code cannot install plugins from a marketplace with this name` | [Plugin troubleshooting](/docs/pt/plugins/troubleshooting#cannot-install-plugins-from-a-marketplace-with-this-name) |

264| `Marketplace "<name>" is added but ignored` | [Plugin troubleshooting](/docs/pt/plugins/troubleshooting#marketplace-is-added-but-ignored) |265| `Marketplace "<name>" is added but ignored` | [Plugin troubleshooting](/docs/pt/plugins/troubleshooting#marketplace-is-added-but-ignored) |

265| `Marketplace "<name>" is registered but was refused (see the debug log)` | [Plugin troubleshooting](/docs/pt/plugins/troubleshooting#marketplace-is-added-but-ignored) |266| `Marketplace "<name>" is registered but was refused (see the debug log)` | [Plugin troubleshooting](/docs/pt/plugins/troubleshooting#marketplace-is-added-but-ignored) |

266| `references ${user_config.*} in a shell-form command` | [Plugin errors](#plugin-command-references-user-config) |267| `references ${user_config.*} in a shell-form command` | [Plugin errors](#plugin-command-references-user-config) |


269| `Plugin archive integrity check failed` | [Plugin errors](#plugin-archive-integrity-check-failed) |270| `Plugin archive integrity check failed` | [Plugin errors](#plugin-archive-integrity-check-failed) |

270| `An npm plugin source must name a registry package` | [Plugin troubleshooting](/docs/pt/plugins/troubleshooting#an-npm-plugin-source-must-name-a-registry-package) |271| `An npm plugin source must name a registry package` | [Plugin troubleshooting](/docs/pt/plugins/troubleshooting#an-npm-plugin-source-must-name-a-registry-package) |

271| `The packages it lists are not installed` / `The packages it lists were not installed, because` | [Plugin troubleshooting](/docs/pt/plugins/troubleshooting#the-packages-it-lists-are-not-installed) |272| `The packages it lists are not installed` / `The packages it lists were not installed, because` | [Plugin troubleshooting](/docs/pt/plugins/troubleshooting#the-packages-it-lists-are-not-installed) |

273| `does not load (...), so Claude Code ignores the whole file` | [Plugin troubleshooting](/docs/pt/plugins/troubleshooting#does-not-load-so-claude-code-ignores-the-whole-file) |

272| `path escapes plugin directory` | [Plugin errors](#path-escapes-plugin-directory) |274| `path escapes plugin directory` | [Plugin errors](#path-escapes-plugin-directory) |

273| `path could not be checked` | [Plugin errors](#path-could-not-be-checked) |275| `path could not be checked` | [Plugin errors](#path-could-not-be-checked) |

274| `its marketplace entry path does not stay inside the marketplace directory` | [Plugin errors](#marketplace-entry-path-does-not-stay-inside-the-marketplace-directory) |276| `its marketplace entry path does not stay inside the marketplace directory` | [Plugin errors](#marketplace-entry-path-does-not-stay-inside-the-marketplace-directory) |


279| `"<plugin>" was not uninstalled: it is still switched on in <file>` | [Plugin errors](#plugin-was-not-uninstalled) |281| `"<plugin>" was not uninstalled: it is still switched on in <file>` | [Plugin errors](#plugin-was-not-uninstalled) |

280| `"<plugin>" was not uninstalled: <file> is there and could not be read` | [Plugin errors](#plugin-was-not-uninstalled) |282| `"<plugin>" was not uninstalled: <file> is there and could not be read` | [Plugin errors](#plugin-was-not-uninstalled) |

281| `Plugin "<plugin>" was not uninstalled: installed_plugins.json` | [Plugin troubleshooting](/docs/pt/plugins/troubleshooting#installed-plugins-json-holds-a-record-this-version-cannot-read) |283| `Plugin "<plugin>" was not uninstalled: installed_plugins.json` | [Plugin troubleshooting](/docs/pt/plugins/troubleshooting#installed-plugins-json-holds-a-record-this-version-cannot-read) |

284| `Plugin directory does not exist: <path>` | [Plugin troubleshooting](/docs/pt/plugins/troubleshooting#plugin-directory-does-not-exist) |

282| `Error: No such tool available: <tool name>` | [Tool errors](#no-such-tool-available) |285| `Error: No such tool available: <tool name>` | [Tool errors](#no-such-tool-available) |

283| `would be spawned with zero tools — refusing` | [Tool errors](#agent-would-be-spawned-with-zero-tools) |286| `would be spawned with zero tools — refusing` | [Tool errors](#agent-would-be-spawned-with-zero-tools) |

284| `File is covered by a Read deny rule in your permission settings` | [Tool errors](#file-is-covered-by-a-read-deny-rule) |287| `File is covered by a Read deny rule in your permission settings` | [Tool errors](#file-is-covered-by-a-read-deny-rule) |


386* Um erro de servidor ou resposta sobrecarregada que chega depois que Claude terminou de pensar, mas antes de ter iniciado qualquer texto ou chamada de ferramenta. Claude Code tenta novamente um erro de servidor nesse ponto até duas vezes. Antes da v2.1.284, Claude Code encerrava o turno com o erro nesse ponto.389* Um erro de servidor ou resposta sobrecarregada que chega depois que Claude terminou de pensar, mas antes de ter iniciado qualquer texto ou chamada de ferramenta. Claude Code tenta novamente um erro de servidor nesse ponto até duas vezes. Antes da v2.1.284, Claude Code encerrava o turno com o erro nesse ponto.

387* Conexões perdidas. Quando uma conexão cai no meio de uma requisição antes de Claude ter completado qualquer parte de sua resposta, incluindo seu pensamento, Claude Code reemite a requisição com o mesmo backoff e o turno continua, mesmo que algum texto já tivesse começado a ser transmitido. Quando cai depois que Claude terminou de pensar mas antes de ter iniciado qualquer texto ou chamada de ferramenta, Claude Code em vez disso reemite a requisição até duas vezes em rápida sucessão, e encerra o turno com `Connection lost before a response was produced` se a conexão continuar caindo nesse ponto.390* Conexões perdidas. Quando uma conexão cai no meio de uma requisição antes de Claude ter completado qualquer parte de sua resposta, incluindo seu pensamento, Claude Code reemite a requisição com o mesmo backoff e o turno continua, mesmo que algum texto já tivesse começado a ser transmitido. Quando cai depois que Claude terminou de pensar mas antes de ter iniciado qualquer texto ou chamada de ferramenta, Claude Code em vez disso reemite a requisição até duas vezes em rápida sucessão, e encerra o turno com `Connection lost before a response was produced` se a conexão continuar caindo nesse ponto.

388* Uma conexão que Claude Code detecta que foi quebrada pelo seu computador entrando em modo de suspensão no meio de uma requisição. Claude Code a conta como uma conexão perdida sob as regras acima; uma vez que o rótulo de nova tentativa nomeia a razão específica, ele exibe `Connection lost while your computer was asleep`, e se o turno terminar depois que Claude terminou de pensar mas antes de qualquer texto ou chamada de ferramenta, a mensagem exibe `Your computer went to sleep before a response was produced`.391* Uma conexão que Claude Code detecta que foi quebrada pelo seu computador entrando em modo de suspensão no meio de uma requisição. Claude Code a conta como uma conexão perdida sob as regras acima; uma vez que o rótulo de nova tentativa nomeia a razão específica, ele exibe `Connection lost while your computer was asleep`, e se o turno terminar depois que Claude terminou de pensar mas antes de qualquer texto ou chamada de ferramenta, a mensagem exibe `Your computer went to sleep before a response was produced`.

389* Um fluxo de resposta travado, quando os cabeçalhos de resposta chegaram mas nenhuma parte da resposta do Claude chegou, ou quando Claude terminou de pensar mas não iniciou qualquer texto ou chamada de ferramenta: Claude Code aborta a conexão travada e reemite a requisição no máximo uma vez, fora do orçamento de 10 tentativas acima. Se a resposta travar uma segunda vez depois que Claude terminou de pensar mas antes de qualquer texto ou chamada de ferramenta, Claude Code encerra o turno com `The response stalled before a response was produced`.392* Um fluxo de resposta travado, quando os cabeçalhos de resposta chegaram mas nenhuma parte da resposta do Claude chegou, ou quando Claude terminou de pensar mas não iniciou qualquer texto ou chamada de ferramenta: Claude Code aborta a conexão travada e transmite a requisição novamente no máximo uma vez. Se a resposta travar uma segunda vez depois que Claude terminou de pensar mas antes de qualquer texto ou chamada de ferramenta, Claude Code encerra o turno com `The response stalled before a response was produced`.

390* Uma requisição de streaming que a API nunca responde com cabeçalhos de resposta, em uma conexão onde o [prazo de primeiro byte é executado](/docs/pt/network-config#streaming-idle-watchdogs): Claude Code a aborta no prazo e a reenvia no máximo uma vez por requisição de modelo, dentro do orçamento de tentativas, depois encerra o turno com [No response from API](#no-response-from-api) se essa tentativa também ficar sem resposta. Em outras conexões, a requisição aguarda `API_TIMEOUT_MS`. Quando você define `CLAUDE_CODE_RETRY_WATCHDOG`, o limite de uma nova tentativa não se aplica.393* Uma requisição de streaming que a API nunca responde com cabeçalhos de resposta, em uma conexão onde o [prazo de primeiro byte é executado](/docs/pt/network-config#streaming-idle-watchdogs): Claude Code a aborta no prazo e a reenvia no máximo uma vez por requisição de modelo, dentro do orçamento de tentativas, depois encerra o turno com [No response from API](#no-response-from-api) se essa tentativa também ficar sem resposta. Em outras conexões, a requisição aguarda `API_TIMEOUT_MS`. Quando você define `CLAUDE_CODE_RETRY_WATCHDOG`, o limite de uma nova tentativa não se aplica.

391* Uma resposta de streaming que o filtro de conteúdo de saída da API interrompe antes de Claude ter terminado de pensar ou iniciado qualquer texto ou chamada de ferramenta. Claude Code reenvia a requisição uma vez, dentro do orçamento de tentativas, e mostra [Output blocked by content filtering policy](#output-blocked-by-content-filtering-policy) se o filtro também interromper a segunda resposta.394* Uma resposta de streaming que o filtro de conteúdo de saída da API interrompe antes de Claude ter terminado de pensar ou iniciado qualquer texto ou chamada de ferramenta. Claude Code reenvia a requisição uma vez, dentro do orçamento de tentativas, e mostra [Output blocked by content filtering policy](#output-blocked-by-content-filtering-policy) se o filtro também interromper a segunda resposta.

392* Throttles 429 temporários, mas não o `429` de limite de gastos de um gateway, que não é um throttle; veja [Spend limit reached](#spend-limit-reached).395* Throttles 429 temporários, mas não o `429` de limite de gastos de um gateway, que não é um throttle; veja [Spend limit reached](#spend-limit-reached).


2910* Reformule sua última mensagem ou tome uma abordagem diferente2913* Reformule sua última mensagem ou tome uma abordagem diferente

2911* Para voltar a um checkpoint antes do turno que acionou o bloqueio, pressione Esc duas vezes ou execute `/rewind`. Veja [Checkpointing](/docs/pt/checkpointing)2914* Para voltar a um checkpoint antes do turno que acionou o bloqueio, pressione Esc duas vezes ou execute `/rewind`. Veja [Checkpointing](/docs/pt/checkpointing)

2912 2915 

2913<h2 id="installation-errors">

2914 Erros de instalação

2915</h2>

2916 

2917Esses erros aparecem durante a instalação ou atualização do Claude Code, a partir do [script de instalação](/docs/pt/setup#install-claude-code), `claude install`, ou `claude update`. Para problemas de `command not found`, PATH, permissão e TLS durante a configuração, consulte [Solucionar problemas de instalação e login](/docs/pt/troubleshoot-install).

2918 

2919<h3 id="installation-was-killed-before-it-could-finish">

2920 A instalação foi interrompida antes de ser concluída

2921</h3>

2922 

2923O script de instalação relata quando a etapa `claude install` é encerrada por um sinal. No Linux, o código de saída 137 significa que o processo recebeu SIGKILL, e em um host com pouca memória, geralmente é o killer de falta de memória (OOM) do kernel. O script imprime esta explicação e sai com o código 137:

2924 

2925```text theme={null}

2926Installation was killed before it could finish (exit code 137). This usually means the system ran out of memory.

2927Claude Code needs roughly 512MB of free memory to install. Free up memory, then run this script again.

2928```

2929 

2930Para qualquer outro sinal fatal, e para o código de saída 137 no macOS, o script imprime `Installation was killed before it could finish (exit code <N>)` com o código de saída real e omite a explicação de falta de memória. A mensagem vem do script de instalação que macOS e Linux usam, que também cobre instalações dentro do WSL; os scripts de instalação nativos do Windows nunca a imprimem. Antes da v2.1.200, o script saía apenas com a linha `Killed` nua do shell.

2931 

2932**O que fazer:**

2933 

2934* Interrompa outros processos para liberar memória e execute novamente o instalador

2935* Adicione espaço de swap ou mude para uma instância maior. Consulte [Install killed on low-memory Linux servers](/docs/pt/troubleshoot-install#install-killed-on-low-memory-linux-servers) para os comandos do arquivo de swap.

2936 

2937<h3 id="the-connection-dropped-while-downloading-the-update">

2938 A conexão foi interrompida durante o download da atualização

2939</h3>

2940 

2941A conexão com o servidor de download foi fechada enquanto `claude install` ou `claude update` estava buscando o binário do Claude Code, e as tentativas de repetição não se recuperaram. Claude Code tenta novamente o download quando a conexão cai, a transferência trava ou o arquivo baixado falha em sua soma de verificação, até três tentativas no total. Um erro HTTP concluído, como um 404, não é repetido porque o servidor já respondeu. Antes da v2.1.202, uma única conexão interrompida falhava no download imediatamente com o erro nú `aborted` em vez de tentar novamente.

2942 

2943```text theme={null}

2944The connection dropped while downloading the update (attempt 3/3: aborted). Check your network — proxies sometimes cut off large downloads.

2945```

2946 

2947O texto entre parênteses nomeia qual tentativa falhou e o erro de rede subjacente. `claude update` precede a mensagem com `Error: Failed to install native update` no stderr.

2948 

2949Um download que permanece conectado mas não é concluído em 10 minutos falha com `Download timed out: exceeded the total deadline` em vez disso. Claude Code não tenta novamente um download que expirou, porque uma conexão muito lenta para terminar dentro do prazo não terminará em uma tentativa imediata novamente. As etapas abaixo se aplicam a ambas as mensagens.

2950 

2951Um proxy ou gateway pode fechar uma transferência longa antes de ser concluída, e o binário do Claude Code é um download grande.

2952 

2953**O que fazer:**

2954 

2955* Execute `claude update` novamente. Em uma rede caso contrário saudável, o download geralmente é bem-sucedido na próxima execução. Para a mensagem de tempo limite, execute-a novamente de uma rede mais rápida ou menos limitada.

2956* Se sua rede exigir um proxy, defina `HTTPS_PROXY` antes de executar o instalador ou `claude update`. Consulte [Check network connectivity](/docs/pt/troubleshoot-install#check-network-connectivity).

2957* Se um proxy corporativo continuar fechando a transferência, peça à sua equipe de rede para permitir o download completo de `downloads.claude.ai`. Consulte [Network access requirements](/docs/pt/network-config#network-access-requirements).

2958* Execute `claude doctor` do seu shell para diagnósticos de instalação

2959 

2960<h2 id="command-line-errors">2916<h2 id="command-line-errors">

2961 Erros de linha de comando2917 Erros de linha de comando

2962</h2>2918</h2>


4064 Marketplace is already added from a different source4020 Marketplace is already added from a different source

4065</h3>4021</h3>

4066 4022 

4067Você confirmou adicionar um marketplace através de [`/plugin install <plugin> --marketplace <source>`](/docs/pt/plugins/install#add-a-marketplace-and-install-in-one-command), e o catálogo que Claude Code buscou dessa fonte nomeia a si mesmo igual a um marketplace que você já adicionou de uma fonte diferente. Claude Code mantém o marketplace existente em vez de substituí-lo, e o plugin não é instalado.4023Você indicou uma nova fonte de marketplace com [`--marketplace <source>` no comando de instalação](/docs/pt/plugins/install#add-a-marketplace-and-install-in-one-command), em uma sessão ou a partir do seu shell. O catálogo que Claude Code buscou dessa fonte tem o mesmo nome de um marketplace que você já adicionou de uma fonte diferente. Claude Code mantém o marketplace existente em vez de substituí-lo, e o plugin não é instalado.

4068 4024 

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

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


4079 Plugin command references user\_config in a shell command4035 Plugin command references user\_config in a shell command

4080</h3>4036</h3>

4081 4037 

4082Um hook de plugin, [monitor](/docs/pt/plugins/components#monitors), ou comando MCP [`headersHelper`](/docs/pt/mcp#use-dynamic-headers-for-custom-authentication) referencia uma opção de plugin `${user_config.KEY}` [plugin option](/docs/pt/plugins/manifest-reference#user-configuration), e a string substituída seria passada para um shell. Um valor configurado contendo `$(...)`, backticks, ou `;` seria executado como código lá, então Claude Code recusa iniciar o componente em vez de substituir o valor. A verificação é executada no modelo de comando, então o erro aparece mesmo quando nenhum valor está configurado ainda. Antes da v2.1.207, o valor era substituído no comando shell.4038Um hook de plugin, [monitor](/docs/pt/plugins/components#monitors), ou comando MCP [`headersHelper`](/docs/pt/mcp#use-dynamic-headers-for-custom-authentication) referencia uma `${user_config.KEY}` [opção de plugin](/docs/pt/plugins/manifest-reference#user-configuration), e a string substituída seria passada para um shell. Um valor configurado contendo `$(...)`, backticks, ou `;` seria executado como código lá, então Claude Code recusa iniciar o componente em vez de substituir o valor. A verificação é executada no modelo de comando, então o erro aparece mesmo quando nenhum valor está configurado ainda. Antes da v2.1.207, o valor era substituído no comando shell.

4083 4039 

4084A redação depende de qual superfície referenciou a opção. Um hook de forma shell relata:4040A redação depende de qual superfície referenciou a opção. Um hook de forma shell relata:

4085 4041 


4226 4182 

4227Claude Code mantém os marketplaces de plugin que você adicionou em um arquivo de registro em `~/.claude/plugins/known_marketplaces.json`. Um comando de plugin que precisa do registro, como `claude plugin install`, falha com uma de duas mensagens quando Claude Code não consegue usar o arquivo:4183Claude Code mantém os marketplaces de plugin que você adicionou em um arquivo de registro em `~/.claude/plugins/known_marketplaces.json`. Um comando de plugin que precisa do registro, como `claude plugin install`, falha com uma de duas mensagens quando Claude Code não consegue usar o arquivo:

4228 4184 

4229* `Failed to load marketplace configuration`: o arquivo não é JSON válido, ou não pode ser lido. Um arquivo vazio falha dessa forma também.4185* `Failed to load marketplace configuration`: o arquivo existe, mas não é JSON válido ou não pode ser lido. Um arquivo vazio falha dessa forma também.

4230* `Marketplace configuration file is corrupted`: o arquivo é JSON válido mas seu conteúdo não corresponde ao esquema do registro.4186* `Marketplace configuration file is corrupted`: o arquivo é JSON válido mas seu conteúdo não corresponde ao esquema do registro.

4231 4187 

4232Um arquivo ausente não é uma falha: Claude Code o trata como um registro sem marketplaces.

4233 

4234Com um arquivo vazio, `claude plugin install` relata:4188Com um arquivo vazio, `claude plugin install` relata:

4235 4189 

4236```text theme={null}4190```text theme={null}


4819 Esta sessão não tem transcrição salva4773 Esta sessão não tem transcrição salva

4820</h3>4774</h3>

4821 4775 

4822Você conectou a uma [sessão em background](/docs/pt/agent-view) parada que foi colocada em background de outra conversa com `←` ou `/background` e parada antes de sua primeira resposta terminar. Até que essa primeira resposta termine, a conversa ainda vive apenas na sessão de onde foi colocada em background, portanto `claude attach` recusa iniciar a sessão parada em vez de começar uma conversa em branco sob o mesmo ID de sessão. A mensagem termina com o comando `claude respawn` para esta sessão:4776Você se conectou a uma sessão que você [moveu para background](/docs/pt/agent-view#from-inside-a-session) com `←` ou `/background` e que parou antes de executar um turno próprio. Claude Code não conseguiu encontrar a conversa de onde você a moveu, portanto a sessão não tem nada para retomar. A mensagem termina com o comando `claude respawn` para esta sessão:

4823 4777 

4824```text theme={null}4778```text theme={null}

4825This session has no saved transcript — it was stopped before its first response finished. If it was backgrounded from another conversation, that one is still intact; `claude respawn <id>` starts this one fresh.4779This session has no saved transcript — it was stopped before its first response finished. If it was backgrounded from another conversation, that one is still intact; `claude respawn <id>` starts this one fresh.


4829 4783 

4830**O que fazer:**4784**O que fazer:**

4831 4785 

4832* A conversa que você colocou em background está intacta: retome-a com [`claude --resume`](/docs/pt/sessions) ou continue trabalhando nela4786* Para iniciar a sessão parada do zero, execute `claude respawn <id>` com o ID da mensagem, ou pressione `Enter` duas vezes na sua linha na agent view

4833* Para iniciar a sessão parada do zero mesmo assim, execute `claude respawn <id>` com o ID da mensagem, ou pressione `Enter` duas vezes na sua linha na agent view

4834* Se a sessão terminou uma resposta e você ainda vê essa recusa em uma versão anterior à v2.1.214, uma pasta ilegível em `~/.claude/projects` poderia fazer a varredura de transcrição perder a conversa salva; atualize para v2.1.214 ou posterior, que tolera pastas ilegíveis durante a varredura4787* Se a sessão terminou uma resposta e você ainda vê essa recusa em uma versão anterior à v2.1.214, uma pasta ilegível em `~/.claude/projects` poderia fazer a varredura de transcrição perder a conversa salva; atualize para v2.1.214 ou posterior, que tolera pastas ilegíveis durante a varredura

4835 4788 

4836<h3 id="this-session-is-running-in-another-terminal">4789<h3 id="this-session-is-running-in-another-terminal">

glossary.md +2 −2

Details

465 465 

466Um comando, `/teleport`, que puxa uma sessão Claude Code na nuvem para seu terminal local. Claude busca o branch, carrega o histórico de conversa e retoma do último estado da sessão na nuvem. A direção reversa é `--cloud`, que envia uma tarefa local para executar na nuvem.466Um comando, `/teleport`, que puxa uma sessão Claude Code na nuvem para seu terminal local. Claude busca o branch, carrega o histórico de conversa e retoma do último estado da sessão na nuvem. A direção reversa é `--cloud`, que envia uma tarefa local para executar na nuvem.

467 467 

468Saiba mais: [Da nuvem para o terminal](/docs/pt/claude-code-on-the-web#from-cloud-to-terminal)468Saiba mais: [Continuar uma sessão na nuvem no seu terminal](/docs/pt/claude-code-on-the-web#from-cloud-to-terminal)

469 469 

470<h3 id="tool">470<h3 id="tool">

471 Tool471 Tool


511 Worktree isolation511 Worktree isolation

512</h3>512</h3>

513 513 

514Um modo de isolamento que executa Claude em um git worktree separado em `.claude/worktrees/`, habilitado com a flag `-w` ou `isolation: worktree` na config de subagent. Alterações ficam em um branch separado em um diretório separado, para que agentes paralelos não sobrescrevam os arquivos uns dos outros.514Um modo de isolamento que executa Claude em um git worktree separado em `.claude/worktrees/`, habilitado com a flag `-w` ou `isolation: worktree` na config de subagente. Alterações ficam em um branch separado em um diretório separado, para que cada agente paralelo edite sua própria cópia dos arquivos.

515 515 

516Saiba mais: [Run parallel sessions with git worktrees](/docs/pt/worktrees)516Saiba mais: [Run parallel sessions with git worktrees](/docs/pt/worktrees)

517 517 

goal.md +1 −1

Details

127claude -p "/goal CHANGELOG.md has an entry for every PR merged this week"127claude -p "/goal CHANGELOG.md has an entry for every PR merged this week"

128```128```

129 129 

130Com a saída de texto padrão, nada é impresso até que a execução termine, portanto um objetivo que executa muitos turnos pode parecer travado. Adicione `--output-format stream-json --verbose` para emitir cada mensagem conforme o loop é executado.130Com a saída de texto padrão, a resposta final de Claude é impressa quando o loop termina, portanto um objetivo que executa muitos turnos pode parecer travado. Adicione `--output-format stream-json --verbose` para emitir cada mensagem conforme o loop é executado.

131 131 

132Interrompa o processo com Ctrl+C para parar um objetivo não interativo antes que ele seja resolvido.132Interrompa o processo com Ctrl+C para parar um objetivo não interativo antes que ele seja resolvido.

133 133 

headless.md +16 −14

Details

20 Uso básico20 Uso básico

21</h2>21</h2>

22 22 

23Adicione o sinalizador `-p` (ou `--print`) a qualquer comando `claude` para executá-lo de forma não interativa. Nem todas as [opções de CLI](/docs/pt/cli-reference) se combinam com `-p`. Claude Code rejeita `--bg` e rejeita `--cloud` com uma descrição de tarefa, com um erro nomeando o conflito; `--cloud` com um ID de sessão e `-p` em vez disso [enfileira uma mensagem nessa sessão na nuvem](/docs/pt/claude-code-on-the-web#send-follow-ups-from-the-cli) e sai. As opções que você combinará com `-p` geralmente incluem:23Adicione a flag `-p` (ou `--print`) a qualquer comando `claude` para executá-lo de forma não interativa. Nem todas as [opções de CLI](/docs/pt/cli-reference) se combinam com `-p`. Claude Code rejeita `--bg` e rejeita `--cloud` com uma descrição de tarefa, com um erro nomeando o conflito; `--cloud` com um ID de sessão e `-p` em vez disso [enfileira uma mensagem nessa sessão na nuvem](/docs/pt/claude-code-on-the-web#send-follow-ups-from-the-cli) e sai. As opções que você combinará com `-p` geralmente incluem:

24 24 

25* `--continue` para [continuar conversas](#continue-conversations)25* `--continue` para [continuar conversas](#continue-conversations)

26* `--allowedTools` para [aprovar ferramentas automaticamente](#auto-approve-tools)26* `--allowedTools` para [aprovar ferramentas automaticamente](#auto-approve-tools)


32claude -p "What does the auth module do?"32claude -p "What does the auth module do?"

33```33```

34 34 

35Claude Code sai com código 0 em caso de sucesso e com um código diferente de zero quando a execução falha, para que seus scripts possam ramificar no status de saída. Se você passar um sinalizador inválido, Claude Code relata o erro para stderr antes do início da execução. Quando uma falha ocorre dentro da execução, como autenticação ausente, Claude Code imprime a falha como resultado em stdout.35Claude Code sai com código 0 em caso de sucesso e com um código diferente de zero quando a execução falha, para que seus scripts possam tomar decisões com base no status de saída. Se você passar uma flag inválida, Claude Code relata o erro para stderr antes do início da execução. Quando uma falha ocorre dentro da execução, como autenticação ausente, Claude Code imprime a falha como resultado em stdout.

36 36 

37<h3 id="start-faster-with-bare-mode">37<h3 id="start-faster-with-bare-mode">

38 Comece mais rápido com modo bare38 Comece mais rápido com modo bare

39</h3>39</h3>

40 40 

41Adicione `--bare` para reduzir o tempo de inicialização pulando a descoberta automática de hooks, skills, comandos personalizados, [subagentos](/docs/pt/sub-agents), plugins instalados, servidores MCP, memória automática e CLAUDE.md. Sem ele, `claude -p` carrega o mesmo [contexto](/docs/pt/how-claude-code-works#the-context-window) que uma sessão interativa carregaria, incluindo qualquer coisa configurada no diretório de trabalho ou `~/.claude`.41Adicione `--bare` para reduzir o tempo de inicialização pulando a descoberta automática de hooks, skills, comandos personalizados, [subagentes](/docs/pt/sub-agents), plugins instalados, servidores MCP, memória automática e CLAUDE.md. Sem ele, `claude -p` carrega o mesmo [contexto](/docs/pt/how-claude-code-works#the-context-window) que uma sessão interativa carregaria, incluindo qualquer coisa configurada no diretório de trabalho ou `~/.claude`.

42 42 

43O modo bare é útil para CI e scripts onde você precisa do mesmo resultado em cada máquina. Um hook no `~/.claude` de um colega de trabalho ou um servidor MCP no `.mcp.json` do projeto não serão executados, porque o modo bare nunca os lê. Um diretório que você nomeia com `--add-dir` é uma exceção parcial: o modo bare carrega skills de sua pasta `.claude/skills/`, mas ainda pula suas pastas `.claude/commands/` e `.claude/agents/`. [Skills de diretórios adicionais](/docs/pt/skills#skills-from-additional-directories) cobre o que carrega e o que não carrega.43O modo bare é útil para CI e scripts onde você precisa do mesmo resultado em cada máquina. Um hook no `~/.claude` de um colega de trabalho ou um servidor MCP no `.mcp.json` do projeto não serão executados, porque o modo bare nunca os lê. Um diretório que você nomeia com `--add-dir` é uma exceção parcial: o modo bare carrega skills de sua pasta `.claude/skills/`, mas ainda pula suas pastas `.claude/commands/` e `.claude/agents/`. [Skills de diretórios adicionais](/docs/pt/skills#skills-from-additional-directories) cobre o que carrega e o que não carrega.

44 44 

45Sem `--bare`, uma sessão `-p` executa os hooks no `settings.json` de um projeto e conecta os servidores em seu `.mcp.json`, mesmo em uma pasta que você nunca confiou. Uma sessão `-p` não mostra nenhum diálogo de confiança de workspace e nenhum prompt de aprovação por servidor. [O que é executado antes de você confiar em uma pasta](/docs/pt/permissions#what-runs-before-you-trust-a-folder) cobre cada tipo de conteúdo de repositório sob `-p` e como mantê-lo fora.45Sem `--bare`, uma sessão `-p` executa os hooks no `.claude/settings.json` de um projeto e conecta os servidores em seu `.mcp.json`, mesmo em uma pasta que você nunca confiou. Uma sessão `-p` não mostra nenhum diálogo de confiança de workspace e nenhum prompt de aprovação por servidor. [O que é executado antes de você confiar em uma pasta](/docs/pt/permissions#what-runs-before-you-trust-a-folder) cobre cada tipo de conteúdo de repositório sob `-p` e como mantê-lo fora.

46 46 

47Este exemplo executa uma tarefa de resumo única em modo bare e pré-aprova a ferramenta Read para que a chamada seja concluída sem um prompt de permissão. Defina `ANTHROPIC_API_KEY` antes de executá-lo, porque o modo bare não usa seu login de assinatura:47Este exemplo executa uma tarefa de resumo única em modo bare e pré-aprova a ferramenta Read para que a chamada seja concluída sem um prompt de permissão. Defina `ANTHROPIC_API_KEY` antes de executá-lo, porque o modo bare não usa seu login de assinatura:

48 48 


52 52 

53No modo bare, Claude Code nunca lê credenciais OAuth ou o keychain do sistema. Para a API Anthropic, defina `ANTHROPIC_API_KEY` no ambiente, com uma chave criada no [Claude Console](https://platform.claude.com), ou forneça um `apiKeyHelper` no JSON `--settings`. Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry continuam a ler suas próprias credenciais de provedor como de costume.53No modo bare, Claude Code nunca lê credenciais OAuth ou o keychain do sistema. Para a API Anthropic, defina `ANTHROPIC_API_KEY` no ambiente, com uma chave criada no [Claude Console](https://platform.claude.com), ou forneça um `apiKeyHelper` no JSON `--settings`. Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry continuam a ler suas próprias credenciais de provedor como de costume.

54 54 

55No modo bare Claude tem acesso às ferramentas Bash, leitura de arquivo e edição de arquivo. Passe qualquer contexto que você precise com um sinalizador:55No modo bare Claude tem acesso às ferramentas Bash, leitura de arquivo e edição de arquivo. Passe qualquer contexto que você precise com uma flag:

56 56 

57| Para carregar | Use |57| Para carregar | Use |

58| - | - |58| - | - |

59| Adições de prompt do sistema | `--append-system-prompt`, `--append-system-prompt-file` |59| Adições ao system prompt | `--append-system-prompt`, `--append-system-prompt-file` |

60| Configurações | `--settings <file-or-json>` |60| Configurações | `--settings <file-or-json>` |

61| Servidores MCP | `--mcp-config <file-or-json>` |61| Servidores MCP | `--mcp-config <file-or-json>` |

62| [Agentes personalizados](/docs/pt/sub-agents#choose-the-subagent-scope) | `--agents <file-or-json>` |62| [Agentes personalizados](/docs/pt/sub-agents#choose-the-subagent-scope) | `--agents <file-or-json>` |


84 84 

85A execução aguarda trabalho em segundo plano, como comandos em segundo plano, subagentes e fluxos de trabalho, observações do Monitor e despertares pendentes do `/loop`:85A execução aguarda trabalho em segundo plano, como comandos em segundo plano, subagentes e fluxos de trabalho, observações do Monitor e despertares pendentes do `/loop`:

86 86 

87* **[Comandos em segundo plano](/docs/pt/tools-reference#background-commands)**: para um comando que a conversa principal iniciou, por exemplo um servidor de desenvolvimento ou um build em modo de observação, a execução aguarda até que o comando saia ou atinja seu [limite de tempo](/docs/pt/tools-reference#time-limit-for-background-commands). Claude então faz mais um turno com o resultado, e o resultado desse turno se torna o último da execução, que é o que as saídas `text` e `json` imprimem. Enquanto o comando é executado, o limite de 10 minutos não encerra a espera.87* **[Comandos em segundo plano](/docs/pt/tools-reference#background-commands)**: para um comando que a conversa principal iniciou, por exemplo um servidor de desenvolvimento ou um build em modo de observação, a execução aguarda até que o comando saia ou atinja seu [limite de tempo](/docs/pt/tools-reference#time-limit-for-background-commands). Claude então faz mais um turno com o resultado. Enquanto o comando é executado, o limite de 10 minutos não encerra a espera.

88* **[Subagentes](/docs/pt/sub-agents) e fluxos de trabalho em segundo plano**: a execução permanece aberta até que esse trabalho seja concluído, porque seu resultado faz parte da saída final.88* **[Subagentes](/docs/pt/sub-agents) e fluxos de trabalho em segundo plano**: a execução permanece aberta até que esse trabalho seja concluído, porque seu resultado faz parte da saída final.

89* **Observações do [Monitor](/docs/pt/tools-reference#monitor-tool)**: a execução aguarda até que a observação expire ou o limite de 10 minutos encerre a espera, o que vier primeiro. Enquanto aguarda, Claude continua respondendo ao que a observação relata. Por padrão, uma observação expira cinco minutos após Claude iniciá-la.89* **Observações do [Monitor](/docs/pt/tools-reference#monitor-tool)**: a execução aguarda até que a observação atinja o timeout ou o limite de 10 minutos encerre a espera, o que vier primeiro. Enquanto aguarda, Claude continua respondendo ao que a observação relata. Por padrão, uma observação atinge o timeout cinco minutos após Claude iniciá-la.

90* **Despertares pendentes**: em uma execução cujo prompt você passou como texto em vez de com `--input-format stream-json`, quando Claude agendou um [despertar de `/loop` com ritmo próprio](/docs/pt/scheduled-tasks#let-claude-choose-the-interval), a execução aguarda cada despertar disparar e executa sua iteração até que o [loop termine](/docs/pt/scheduled-tasks#stop-a-loop), mesmo além do limite de 10 minutos.90* **Despertares pendentes**: em uma execução cujo prompt você passou como texto em vez de com `--input-format stream-json`, quando Claude agendou um [despertar de `/loop` com ritmo próprio](/docs/pt/scheduled-tasks#let-claude-choose-the-interval), a execução aguarda cada despertar disparar e executa sua iteração até que o [loop termine](/docs/pt/scheduled-tasks#stop-a-loop), mesmo além do limite de 10 minutos.

91 91 

92Se a execução atingir seu limite de [`--max-budget-usd`](/docs/pt/cli-reference#cli-flags), Claude Code para o trabalho em segundo plano restante em vez de aguardar.92Se a execução atingir seu limite de [`--max-budget-usd`](/docs/pt/cli-reference#cli-flags), Claude Code para o trabalho em segundo plano restante em vez de aguardar.

93 93 

94Quando o trabalho em segundo plano inicia outro turno, a execução imprime o resultado de cada turno com a saída `text` padrão e o resultado do último turno com a saída `json`. Antes da v2.1.295, a execução imprimia apenas o resultado do último turno também com a saída `text`.

95 

94<h3 id="stop-a-run-with-sigterm">96<h3 id="stop-a-run-with-sigterm">

95 Parar uma execução com SIGTERM97 Parar uma execução com SIGTERM

96</h3>98</h3>

97 99 

98Se você parar uma execução de `claude -p` com SIGTERM, por exemplo com `kill` ou de um supervisor de processo, Claude Code sai com código 143. Claude Code deixa a volta que estava em progresso inacabada e não registra nenhum resultado para ela. Para encerrar a volta em vez disso, envie SIGINT ou chame `interrupt()` do Agent SDK, antes de parar o processo.100Se você parar uma execução de `claude -p` com SIGTERM, por exemplo com `kill` ou de um supervisor de processo, Claude Code sai com código 143. Claude Code deixa o turno que estava em progresso inacabado e não registra nenhum resultado para ele. Para encerrar o turno em vez disso, envie SIGINT ou chame `interrupt()` do Agent SDK, antes de parar o processo.

99 101 

100No SIGTERM, Claude Code encerra a árvore de processos de qualquer comando Bash que ainda está em execução. Claude Code então executa [hooks `SessionEnd`](/docs/pt/hooks#sessionend) e sai. Ao sair, Claude Code não inicia nenhuma nova chamada de ferramenta, não envia nenhuma nova solicitação de modelo e não executa nenhum hook além de `SessionEnd`. Se a execução estava no meio de um comando ou aguardando uma resposta a um prompt de permissão quando o sinal chegou, Claude Code trata essa etapa da seguinte forma:102No SIGTERM, Claude Code encerra a árvore de processos de qualquer comando Bash que ainda está em execução. Claude Code então executa [hooks `SessionEnd`](/docs/pt/hooks#sessionend) e sai. Ao sair, Claude Code não inicia nenhuma nova chamada de ferramenta, não envia nenhuma nova requisição ao modelo e não executa nenhum hook além de `SessionEnd`. Se a execução estava no meio de um comando ou aguardando um prompt de permissão quando o sinal chegou, Claude Code trata essa etapa da seguinte forma:

101 103 

102* **Executando um comando**: Claude Code registra o comando como eliminado na sessão.104* **Executando um comando**: Claude Code registra o comando como eliminado na sessão.

103* **Aguardando uma resposta a um prompt de permissão**: se você enviar SIGTERM para o processo, Claude Code deixa o prompt sem resposta. Se seu programa fechar a sessão através do Agent SDK, o SDK encerra a entrada de Claude Code antes de enviar qualquer sinal, e Claude Code cancela o prompt assim que a entrada termina.105* **Aguardando uma resposta a um prompt de permissão**: se você enviar SIGTERM para o processo, Claude Code deixa o prompt sem resposta. Se seu programa fechar a sessão através do Agent SDK, o SDK encerra a entrada de Claude Code antes de enviar qualquer sinal, e Claude Code cancela o prompt assim que a entrada termina.

104 106 

105Quando você [retoma a sessão](#continue-conversations), Claude Code deixa a volta que estava em progresso inacabada e seu próximo prompt conduz a conversa. Para fazer com que Claude Code continue a volta inacabada ao retomar, defina [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN=1`](/docs/pt/env-vars).107Quando você [retoma a sessão](#continue-conversations), Claude Code deixa o turno interrompido como está, e seu próximo prompt conduz a conversa. Para fazer com que Claude Code continue o turno interrompido ao retomar, defina [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN=1`](/docs/pt/env-vars).

106 108 

107<h3 id="if-the-working-directory-is-deleted">109<h3 id="if-the-working-directory-is-deleted">

108 Se o diretório de trabalho for excluído110 Se o diretório de trabalho for excluído

109</h3>111</h3>

110 112 

111Se o diretório de trabalho de uma sessão `claude -p` ou Agent SDK for excluído durante a sessão, a sessão continua em execução. Quando uma volta começa enquanto o diretório está faltando, Claude Code emite uma [mensagem de aviso](/docs/pt/agent-sdk/typescript#sdkinformationalmessage) na saída `stream-json`, e os comandos shell falham até que o diretório exista novamente.113Se o diretório de trabalho de uma sessão `claude -p` ou Agent SDK for excluído durante a sessão, a sessão continua em execução. Quando um turno começa enquanto o diretório está faltando, Claude Code emite uma [mensagem de aviso](/docs/pt/agent-sdk/typescript#sdkinformationalmessage) na saída `stream-json`, e os comandos shell falham até que o diretório exista novamente.

112 114 

113<h2 id="examples">115<h2 id="examples">

114 Exemplos116 Exemplos


262| `type` | `"system"` | tipo de mensagem |264| `type` | `"system"` | tipo de mensagem |

263| `subtype` | `"api_retry"` | identifica isso como um evento de repetição |265| `subtype` | `"api_retry"` | identifica isso como um evento de repetição |

264| `attempt` | inteiro | número da tentativa atual, começando em 1 |266| `attempt` | inteiro | número da tentativa atual, começando em 1 |

265| `max_retries` | inteiro | total de repetições permitidas para a causa dessa falha, que pode ser menor que o orçamento de toda a sessão |267| `max_retries` | inteiro | total de novas tentativas permitidas para a causa dessa falha |

266| `retry_delay_ms` | inteiro | milissegundos até a próxima tentativa |268| `retry_delay_ms` | inteiro | milissegundos até a próxima tentativa |

267| `error_status` | inteiro ou nulo | código de status HTTP da tentativa falhada, ou `null` quando a tentativa não obteve resposta HTTP da API |269| `error_status` | inteiro ou nulo | código de status HTTP da tentativa falhada, ou `null` quando a tentativa não obteve resposta HTTP da API |

268| `no_response` | objeto, opcional | presente apenas quando a tentativa falhada obteve [nenhum cabeçalho de resposta a tempo](/docs/pt/errors#no-response-from-api). `waited_ms` é quanto tempo essa tentativa aguardou e `retry_wait_ms` é quanto tempo a repetição aguardará. Nesses eventos, `max_retries` reflete a uma repetição que essa causa normalmente obtém, não o orçamento de toda a sessão. Requer Claude Code v2.1.261 ou posterior |270| `no_response` | objeto, opcional | presente apenas quando a tentativa falhada obteve [nenhum cabeçalho de resposta a tempo](/docs/pt/errors#no-response-from-api). `waited_ms` é quanto tempo essa tentativa aguardou e `retry_wait_ms` é quanto tempo a repetição aguardará. Requer Claude Code v2.1.261 ou posterior |

269| `error` | string | categoria de erro: `authentication_failed`, `oauth_org_not_allowed`, `account_on_hold`, `billing_error`, `rate_limit`, `overloaded`, `invalid_request`, `model_not_found`, `server_error`, `max_output_tokens`, `cloud_credential_error`, ou `unknown` |271| `error` | string | categoria de erro: `authentication_failed`, `oauth_org_not_allowed`, `account_on_hold`, `billing_error`, `rate_limit`, `overloaded`, `invalid_request`, `model_not_found`, `server_error`, `max_output_tokens`, `cloud_credential_error`, ou `unknown` |

270| `uuid` | string | identificador único do evento |272| `uuid` | string | identificador único do evento |

271| `session_id` | string | sessão à qual o evento pertence |273| `session_id` | string | sessão à qual o evento pertence |

hipaa-setup.md +3 −0

Details

139}139}

140```140```

141 141 

142Para um `managed-settings.json` mais completo, com sandboxing, uma allowlist de rede, proteções de credenciais e retenção de dados locais, consulte `settings-hipaa.json` e `README-hipaa.md` no [repositório de exemplos de configurações](https://github.com/anthropics/claude-code/tree/main/examples/settings).

143 

142<h4 id="what-each-key-does">144<h4 id="what-each-key-does">

143 O que cada chave faz145 O que cada chave faz

144</h4>146</h4>


306 308 

307* [Configurar o Cowork (modo local) para uma organização preparada para HIPAA](https://claude.com/docs/cowork/hipaa-setup)309* [Configurar o Cowork (modo local) para uma organização preparada para HIPAA](https://claude.com/docs/cowork/hipaa-setup)

308* [Implantar configurações gerenciadas](/docs/pt/managed-settings)310* [Implantar configurações gerenciadas](/docs/pt/managed-settings)

311* [Exemplo de configurações HIPAA](https://github.com/anthropics/claude-code/tree/main/examples/settings)

309* [Configuração de rede empresarial](/docs/pt/network-config)312* [Configuração de rede empresarial](/docs/pt/network-config)

310* [Retenção zero de dados](/docs/pt/zero-data-retention)313* [Retenção zero de dados](/docs/pt/zero-data-retention)

311* [Jurídico e conformidade](/docs/pt/legal-and-compliance)314* [Jurídico e conformidade](/docs/pt/legal-and-compliance)

hooks.md +124 −35

Details

476| `async` | não | Se `true`, executa em background sem bloquear. Consulte [Executar hooks em background](#run-hooks-in-the-background) |476| `async` | não | Se `true`, executa em background sem bloquear. Consulte [Executar hooks em background](#run-hooks-in-the-background) |

477| `asyncRewake` | não | Se `true`, executa em background e acorda Claude na saída do código 2. O stderr do hook, ou stdout se stderr estiver vazio, é mostrado ao Claude como um [lembrete do sistema](/docs/pt/glossary#system-reminder) para que possa reagir a uma falha de background de longa duração |477| `asyncRewake` | não | Se `true`, executa em background e acorda Claude na saída do código 2. O stderr do hook, ou stdout se stderr estiver vazio, é mostrado ao Claude como um [lembrete do sistema](/docs/pt/glossary#system-reminder) para que possa reagir a uma falha de background de longa duração |

478| `shell` | não | Shell a usar para este hook. Aceita `"bash"` ou `"powershell"`. Padrão é `"bash"`, ou `"powershell"` no Windows quando Git Bash não está instalado. Definir `"powershell"` executa o comando via PowerShell no Windows. Não requer `CLAUDE_CODE_USE_POWERSHELL_TOOL` já que hooks geram PowerShell diretamente. Ignorado quando `args` é definido |478| `shell` | não | Shell a usar para este hook. Aceita `"bash"` ou `"powershell"`. Padrão é `"bash"`, ou `"powershell"` no Windows quando Git Bash não está instalado. Definir `"powershell"` executa o comando via PowerShell no Windows. Não requer `CLAUDE_CODE_USE_POWERSHELL_TOOL` já que hooks geram PowerShell diretamente. Ignorado quando `args` é definido |

479| `onFailure` | não | O que acontece com a ação quando o hook falha: `"continue"`, o padrão, ou `"block"`. Consulte [Bloquear a ação quando um hook falha](#block-the-action-when-a-hook-fails). Requer Claude Code v2.1.295 ou posterior |

479 480 

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

481 482 


533| `url` | sim | URL para enviar a solicitação POST |534| `url` | sim | URL para enviar a solicitação POST |

534| `headers` | não | Cabeçalhos HTTP adicionais como pares chave-valor. Valores suportam interpolação de variável de ambiente usando sintaxe `$VAR_NAME` ou `${VAR_NAME}`. Apenas variáveis listadas em `allowedEnvVars` são resolvidas |535| `headers` | não | Cabeçalhos HTTP adicionais como pares chave-valor. Valores suportam interpolação de variável de ambiente usando sintaxe `$VAR_NAME` ou `${VAR_NAME}`. Apenas variáveis listadas em `allowedEnvVars` são resolvidas |

535| `allowedEnvVars` | não | Lista de nomes de variáveis de ambiente que podem ser interpoladas em valores de cabeçalho. Referências a variáveis não listadas são substituídas por strings vazias. Obrigatório para qualquer interpolação de variável de ambiente funcionar |536| `allowedEnvVars` | não | Lista de nomes de variáveis de ambiente que podem ser interpoladas em valores de cabeçalho. Referências a variáveis não listadas são substituídas por strings vazias. Obrigatório para qualquer interpolação de variável de ambiente funcionar |

537| `onFailure` | não | O que acontece com a ação quando o hook falha: `"continue"`, o padrão, ou `"block"`. Consulte [Bloquear a ação quando um hook falha](#block-the-action-when-a-hook-fails). Requer Claude Code v2.1.295 ou posterior |

536 538 

537Claude Code envia a [entrada JSON](#hook-input-and-output) do hook como corpo da solicitação POST com `Content-Type: application/json`. O corpo da resposta usa o mesmo [formato de saída JSON](#json-output) que hooks de comando.539Claude Code envia a [entrada JSON](#hook-input-and-output) do hook como corpo da solicitação POST com `Content-Type: application/json`. O corpo da resposta usa o mesmo [formato de saída JSON](#json-output) que hooks de comando.

538 540 


821 Saída de código de saída823 Saída de código de saída

822</h3>824</h3>

823 825 

824O código de saída do seu comando de hook diz ao Claude Code se a ação deve prosseguir, ser bloqueada ou ser ignorada. O código de saída não atua sozinho. Claude Code lê [campos de saída JSON](#json-output) de stdout em cada código de saída, não apenas 0, e para eventos que usam o modelo de decisão padrão, um objeto analisado que passa na validação de esquema entra em vigor ao lado do código. O bloqueio da saída 2 é o único resultado que JSON não pode substituir.826O 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:

825 827 

826Duas tabelas possuem as exceções por evento: [Comportamento de código de saída 2 por evento](#exit-code-2-behavior-per-event) diz o que códigos de saída fazem para cada evento, e [Controle de decisão](#decision-control) diz quais campos de decisão cada evento honra. Campos universais como `systemMessage` funcionam na maioria dos eventos e são listados na tabela [Saída JSON](#json-output).828* **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.

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

830* **Erro não-bloqueador**: seu hook sai com qualquer outro código, ou falha de alguma outra forma, como não iniciar ou imprimir JSON inválido. A ação prossegue, e em eventos como `PreToolUse` você vê um aviso `<hook name> hook error` na transcrição. Se você quiser que um hook com falha bloqueie a ação, defina [`onFailure: "block"`](#block-the-action-when-a-hook-fails).

831 

832O que seu hook imprime em stdout pode mudar o resultado. Por exemplo, se um hook `PreToolUse` sai com 1 mas imprime JSON que passa na validação, a execução é um sucesso e os campos JSON decidem o que acontece. Para encontrar o resultado do seu hook em um evento como `PreToolUse`, combine o que ele imprimiu em stdout na primeira coluna com seu código de saída no topo:

833 

834| Stdout | Saída 0 | Saída 2 | Qualquer outro código de saída |

835| :- | :- | :- | :- |

836| Objeto JSON que passa na [validação de esquema](#json-output) | Sucesso. Os campos se aplicam | Erro bloqueador. Claude Code ainda lê os campos, mas eles não podem sobrescrever o bloqueio | Sucesso. Claude Code ignora o código de saída, e apenas os campos decidem. Com [`onFailure: "block"`](#block-the-action-when-a-hook-fails), isso conta como uma falha |

837| JSON que [não pode ser analisado](#exit-code-0) ou falha na validação de esquema | Erro não-bloqueador. O aviso carrega a mensagem de análise ou validação | Erro bloqueador. Seu stderr é a razão | Erro não-bloqueador. O aviso carrega a mensagem de análise ou validação |

838| [Texto simples](#exit-code-0), ou nada | Sucesso | Erro bloqueador. Seu stderr é a razão | Erro não-bloqueador. O aviso carrega a primeira linha do seu stderr |

839 

840Alguns eventos têm suas próprias regras:

841 

842* **`WorktreeCreate`**: qualquer código de saída diferente de zero faz a criação de worktree falhar, não importa o que seu JSON diga.

843* **`WorktreeRemove`**: qualquer código de saída diferente de zero faz a remoção de worktree falhar se o diretório ainda existir depois.

844* **`Stop`, `SubagentStop`, `TaskCompleted` e o hook `UserPromptSubmit` de um plugin**: quando seu hook sai com 2 sem nada em stdout e seu stderr diz que um arquivo está ausente, como `No such file or directory`, Claude Code trata a execução como um erro não-bloqueador.

845* **`Elicitation` e `ElicitationResult`**: Claude Code aplica seu `hookSpecificOutput` quando seu hook sai com 0, e o ignora em qualquer outro código de saída.

846* **Eventos que descartam a saída do hook, como `StopFailure`**: Claude Code ignora seu JSON em qualquer código de saída, exceto campos de efeito colateral como `terminalSequence`, que ainda disparam.

847 

848Para verificar o que o código de saída 2 faz no seu evento, consulte [Comportamento de código de saída 2 por evento](#exit-code-2-behavior-per-event). Para verificar quais campos de decisão ele honra, consulte [Controle de decisão](#decision-control).

827 849 

828<h4 id="exit-code-0">850<h4 id="exit-code-0">

829 Código de saída 0851 Código de saída 0


835 857 

836Se Claude Code lê seu stdout como [saída JSON](#json-output) ou como texto simples depende de como ele começa e termina, ignorando espaço em branco ao redor:858Se Claude Code lê seu stdout como [saída JSON](#json-output) ou como texto simples depende de como ele começa e termina, ignorando espaço em branco ao redor:

837 859 

838* **Começa com `{` e termina com `}`**: Claude Code o analisa como JSON. Quando a saída é duas ou mais linhas que cada uma analisa como JSON por conta própria, e nenhuma linha é um objeto [saída JSON](#json-output) que define um campo, Claude Code trata toda a saída como texto simples. Quando uma dessas linhas define um campo, toda a saída é uma falha de análise, descrita abaixo.860* **Começa com `{` e termina com `}`**: Claude Code o analisa como JSON. Quando a saída é duas ou mais linhas que cada uma analisa como JSON por conta própria, e nenhuma linha é um objeto [saída JSON](#json-output) que define um campo, Claude Code trata toda a saída como texto simples. Quando uma dessas linhas define um campo, toda a saída é uma falha de análise.

839* **Começa com `{` mas não termina com `}`**: Claude Code o trata como texto simples.861* **Começa com `{` mas não termina com `}`**: Claude Code o trata como texto simples.

840* **Começa com qualquer outra coisa**: Claude Code o trata como texto simples, um array JSON ou uma string JSON entre aspas incluída.862* **Começa com qualquer outra coisa**: Claude Code o trata como texto simples, um array JSON ou uma string JSON entre aspas incluída.

841 863 

842Para eventos que usam o modelo de decisão padrão, saída 0 com um objeto analisado que falha na validação de esquema é um erro não-bloqueador: a ação prossegue, e a transcrição mostra um aviso `<hook name> hook error` com a mensagem de validação. O mesmo acontece em qualquer código de saída diferente de 2, enquanto [saída 2 ainda bloqueia](#exit-code-2).864Quando Claude Code tenta analisar seu stdout como JSON e não consegue, ou o objeto analisado falha na [validação de esquema](#json-output), a execução é 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.

843 

844Para eventos que usam o modelo de decisão padrão, quando Claude Code tenta analisar seu stdout como JSON e não consegue, ele relata um erro não-bloqueador em cada código de saída diferente de 2. A transcrição mostra um aviso `<hook name> hook error` com a mensagem de análise. Nos eventos que adicionam stdout em texto simples como contexto, Claude Code não adiciona o texto. Antes de v2.1.248, Claude Code tratava esse stdout como texto simples.

845 865 

846Stderr de um hook que sai 0 vai apenas para o log de debug, nunca para a transcrição, e Claude nunca vê. Para lê-lo você mesmo, ative [debug logging](#debug-hooks). Para exibir um aviso para Claude de um hook `PostToolUse` ou `PostToolUseFailure`, saia 2 em vez disso para que [Claude veja o stderr](#exit-code-2-behavior-per-event) mesmo que a ferramenta já tenha executado.866Claude 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.

847 867 

848<h4 id="exit-code-2">868<h4 id="exit-code-2">

849 Código de saída 2869 Código de saída 2

850</h4>870</h4>

851 871 

852Saída 2 significa um erro bloqueador. Em [eventos que podem bloquear](#exit-code-2-behavior-per-event), saída 2 bloqueia se você imprime JSON ou não: até mesmo um JSON `permissionDecision` de `"allow"` não pode substituir. Claude Code ainda lê qualquer [saída JSON](#json-output) válida em stdout. Em `Elicitation` e `ElicitationResult`, o `hookSpecificOutput` de um hook exit-2 é ignorado.872Saia com código 2 para bloquear a ação. Em [eventos que podem bloquear](#exit-code-2-behavior-per-event), Claude Code interrompe a ação: um hook `PreToolUse` bloqueia a chamada de ferramenta, por exemplo, e um hook `UserPromptSubmit` rejeita o prompt.

853 873 

854A mensagem de bloqueio é a razão da decisão de bloqueio do seu JSON quando faz uma, e seu texto stderr caso contrário. O que o bloqueio faz varia por evento: `PreToolUse` bloqueia a chamada da ferramenta, `UserPromptSubmit` rejeita o prompt, e assim por diante. [Comportamento de código de saída 2 por evento](#exit-code-2-behavior-per-event) lista o efeito para cada evento, e cada seção de evento diz onde a mensagem vai.874A mensagem que acompanha o bloqueio é o stderr do seu hook. Se seu hook também imprimiu JSON que toma uma decisão de bloqueio, Claude Code usa a razão dessa decisão em vez disso.

855 875 

856Um hook que sai 2 enquanto imprime JSON que falha na validação de esquema [saída JSON](#json-output) ainda bloqueia: Claude Code usa stderr como a razão de bloqueio e registra a falha de validação no log de debug. Antes de v2.1.214, Claude Code tratava essa combinação como um erro não-bloqueador e a ação prosseguia.876A saída 2 bloqueia mesmo quando seu hook imprime JSON:

877 

878* **JSON que passa na validação de esquema**: Claude Code ainda lê os campos de [saída JSON](#json-output), mas eles não podem sobrescrever o bloqueio. Nem mesmo um `permissionDecision` de `"allow"` deixa a ação passar. Em `Elicitation` e `ElicitationResult`, o `hookSpecificOutput` de um hook exit-2 é ignorado.

879* **JSON que falha na validação de esquema**: o hook ainda bloqueia. Claude Code usa seu stderr como a razão de bloqueio e registra a falha de validação no log de debug.

857 880 

858Este script bloqueia comandos `rm` saindo 2 e deixa cada outro comando para o fluxo de permissão normal:881Este script bloqueia comandos `rm` saindo 2 e deixa cada outro comando para o fluxo de permissão normal:

859 882 


871exit 0 # Sem decisão: o fluxo de permissão normal se aplica894exit 0 # Sem decisão: o fluxo de permissão normal se aplica

872```895```

873 896 

897Com este script registrado como um hook `PreToolUse` em `Bash`, um comando que começa com `rm` é bloqueado, e Claude recebe o stderr do hook como o erro da ferramenta, prefixado com o nome do evento, o nome da ferramenta e o comando do hook:

898 

899```text theme={null}

900PreToolUse:Bash hook error: [${CLAUDE_PROJECT_DIR}/.claude/hooks/no-rm.sh]: Blocked: rm commands are not allowed

901```

902 

874<h4 id="other-exit-codes">903<h4 id="other-exit-codes">

875 Outros códigos de saída904 Outros códigos de saída

876</h4>905</h4>

877 906 

878Qualquer outro código de saída não bloqueia por conta própria para a maioria dos eventos de hook. O que acontece depende de seu stdout:907Quando seu hook sai com um código diferente de 0 ou 2 e imprime texto simples ou nada em stdout, a execução é um [erro não-bloqueador](#exit-code-output). 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. Por 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:

879 908 

880* Com um objeto analisado que passa na validação de esquema, para eventos que usam o modelo de decisão padrão, Claude Code ignora o código de saída e apenas o JSON decide o resultado:909```text theme={null}

881 * Cada campo que o evento suporta é honrado, incluindo `permissionDecision`, `additionalContext`, `updatedInput` e `systemMessage`, e o hook não é relatado como um erro.910Failed with non-blocking status code: something broke

882 * [Controle de decisão](#decision-control) lista os campos de decisão por evento; campos universais como `systemMessage` seguem a tabela [Saída JSON](#json-output).911```

883* Com um objeto analisado que falha na validação de esquema, para eventos que usam o modelo de decisão padrão, é o mesmo erro não-bloqueador que [na saída 0](#exit-code-0): a ação prossegue, e o aviso `<hook name> hook error` carrega a mensagem de validação.

884* Com stdout que Claude Code [tenta analisar como JSON](#exit-code-0) e não consegue, Claude Code relata o mesmo erro não-bloqueador que na saída 0 para eventos que usam o modelo de decisão padrão. A ação prossegue, e o aviso carrega a mensagem de análise.

885* Com stdout que Claude Code [trata como texto simples](#exit-code-0), ou com stdout vazio, é um erro não-bloqueador para a maioria dos eventos de hook: a ação prossegue, e a transcrição mostra um aviso `<hook name> hook error` seguido pela primeira linha de stderr, prefixado com `Failed with non-blocking status code:`. Para capturar o stderr completo, ative [debug logging](#debug-hooks).

886 912 

887Eventos fora do modelo de decisão padrão mantêm suas próprias linhas na [tabela por evento](#exit-code-2-behavior-per-event): `WorktreeCreate` falha na criação em qualquer saída não-zero não importa o que seu JSON diz, e eventos que descartam saída de hook inteiramente, como `StopFailure`, ignoram seu JSON em cada código de saída, além de campos de efeito colateral como `terminalSequence`, que ainda disparam.913Para capturar o stderr completo em vez de sua primeira linha, ative [debug logging](#debug-hooks).

888 914 

889Um hook que não consegue iniciar cai no mesmo balde não-bloqueador. Quando o caminho do script não existe ou não é executável, o shell sai com um código como 127 e você vê o mesmo aviso com a mensagem do interpretador, por exemplo `Failed with non-blocking status code: /bin/sh: /path/to/hook.sh: No such file or directory`. Para a maioria dos eventos de hook, a ação prossegue. Quando você configura um hook de política, observe este aviso em sua primeira execução: um caminho digitado incorretamente em `settings.json` deixa o portão silenciosamente desabilitado.915Um 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 `Failed with non-blocking status code: /bin/sh: /path/to/hook.sh: No such file or directory`. Quando 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 em vez disso, defina [`onFailure: "block"`](#block-the-action-when-a-hook-fails).

890 916 

891<Warning>917<Warning>

892 Para a maioria dos eventos de hook, código de saída 2 é o único código de saída que bloqueia apenas através do código. Sem JSON válido em stdout, Claude Code trata código de saída 1 como um erro não-bloqueador e prossegue com a ação, mesmo que 1 seja o código de falha Unix convencional. Se seu hook se destina a impor uma política, use `exit 2`. Os eventos de worktree diferem: qualquer código de saída não-zero de `WorktreeCreate` aborta a criação de worktree, e qualquer código de saída não-zero de `WorktreeRemove` faz a remoção de worktree falhar se o diretório ainda existir depois.918 Sem JSON válido em stdout, Claude Code trata código de saída 1 como um erro não-bloqueador, mesmo que 1 seja o código de falha Unix convencional. Se seu hook se destina a impor uma política, use `exit 2`.

893</Warning>919</Warning>

894 920 

895<h4 id="timeouts">921<h4 id="timeouts">


900 926 

901Em [`PreModelSwitch`](#premodelswitch), um hook cancelado em seu timeout bloqueia a mudança de modelo. Em `PreToolUse`, as duas famílias de hook diferem:927Em [`PreModelSwitch`](#premodelswitch), um hook cancelado em seu timeout bloqueia a mudança de modelo. Em `PreToolUse`, as duas famílias de hook diferem:

902 928 

903* Um hook `command`, `http` ou `mcp_tool` expirado não bloqueia a chamada da ferramenta. 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.929* Um hook `command`, `http` ou `mcp_tool` expirado não bloqueia a chamada da ferramenta. 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).

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

905 931 

932<h4 id="block-the-action-when-a-hook-fails">

933 Bloquear a ação quando um hook falha

934</h4>

935 

936Na maioria dos eventos, quando um hook falha ou atinge o timeout, Claude Code ainda executa a ação, portanto um hook de política com um caminho errado ou um script que trava deixa tudo passar. Para bloquear a ação em vez disso, defina `"onFailure": "block"` em um hook `command` ou `http`. O valor padrão é `"continue"`. Requer Claude Code v2.1.295 ou posterior.

937 

938Este hook `PreToolUse` em `.claude/settings.json` executa um script do projeto antes de cada comando Bash, e bloqueia o comando se o script falhar:

939 

940```json theme={null}

941{

942 "hooks": {

943 "PreToolUse": [

944 {

945 "matcher": "Bash",

946 "hooks": [

947 {

948 "type": "command",

949 "command": "node",

950 "args": ["${CLAUDE_PROJECT_DIR}/.claude/hooks/check-command.js"],

951 "onFailure": "block"

952 }

953 ]

954 }

955 ]

956 }

957}

958```

959 

960Para testá-lo, deixe `check-command.js` ausente e peça a Claude para executar um comando Bash como `ls`. Claude Code bloqueia a chamada, e o erro inclui `failed; blocking because onFailure is "block"` seguido pela própria saída de erro do node, reduzida aqui a uma linha:

961 

962```text theme={null}

963PreToolUse:Bash hook error: [node ${CLAUDE_PROJECT_DIR}/.claude/hooks/check-command.js]: failed; blocking because onFailure is "block"

964Error: Cannot find module '/path/to/project/.claude/hooks/check-command.js'

965```

966 

967Após um timeout, a mensagem diz `timed out` em vez de `failed`. Sem `onFailure` definido, o mesmo script ausente é um erro não-bloqueador e `ls` é executado.

968 

969Cada um destes conta como uma falha:

970 

971* **Não consegue iniciar**: um hook de comando falha ao iniciar, por exemplo porque o script ou executável não existe

972* **Código de saída diferente de 0 ou 2**: conta para um hook de comando mesmo que ele tenha impresso JSON que permite a ação, como `permissionDecision: "allow"`. Para retornar uma decisão JSON, saia com 0

973* **Erro HTTP**: a conexão de um hook HTTP falha, ou o status da resposta não é 2xx

974* **Timeout**: o hook atinge seu [`timeout`](#common-fields)

975* **Saída inválida**: a saída JSON [não pode ser analisada](#exit-code-0) ou falha na [validação de esquema](#json-output). Para um hook HTTP, um corpo 2xx que não é vazio nem um objeto JSON também conta. Stdout em texto simples de um hook de comando não é uma falha

976 

977Com `"block"` definido, uma falha faz o que o [código de saída 2 faz nesse evento](#exit-code-2-behavior-per-event), exceto em `PermissionRequest`, onde ela nega a solicitação. Por exemplo, uma falha em `PreToolUse` bloqueia a chamada de ferramenta e uma falha em `UserPromptSubmit` bloqueia o prompt.

978 

979O campo não tem efeito nestes hooks:

980 

981* **Hooks `Stop`, `SubagentStop`, `TaskCompleted` e `TeammateIdle`**: o código de saída 2 nesses eventos manda Claude de volta para continuar trabalhando, e Claude não consegue reparar um hook que não executa

982* **Hooks de comando em segundo plano**: hooks de comando que definem [`async` ou `asyncRewake`](#run-hooks-in-the-background)

983 

906<h4 id="exit-code-2-behavior-per-event">984<h4 id="exit-code-2-behavior-per-event">

907 Comportamento de código de saída 2 por evento985 Comportamento de código de saída 2 por evento

908</h4>986</h4>


960* **Falha de conexão**: erro não-bloqueador, execução continua1038* **Falha de conexão**: erro não-bloqueador, execução continua

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

962 1040 

963Diferentemente de hooks de comando, hooks HTTP não podem sinalizar um erro bloqueador apenas através de códigos de status. 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 apropriados.1041Hooks HTTP não podem sinalizar um erro bloqueador apenas através do código de status: um status não-2xx ou uma conexão com falha é um [erro não-bloqueador](#exit-code-output). 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 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).

964 1042 

965<h3 id="json-output">1043<h3 id="json-output">

966 Saída JSON1044 Saída JSON


1237 Controle de decisão do SessionStart1315 Controle de decisão do SessionStart

1238</h4>1316</h4>

1239 1317 

1240O Claude Code adiciona ao contexto do Claude o stdout que ele [trata como texto simples](#exit-code-0). Além dos [campos de saída JSON](#json-output) disponíveis para todos os hooks, você pode retornar estes campos específicos do evento:1318Um hook SessionStart pode adicionar contexto para o Claude, fornecer a primeira mensagem do usuário, definir o título da sessão, observar arquivos e recarregar skills. Retorne o campo correspondente a cada um, além dos [campos de saída JSON](#json-output) disponíveis para todos os hooks:

1241 1319 

1242| Campo | Descrição |1320| Campo | Descrição |

1243| :- | :- |1321| :- | :- |

1244| `additionalContext` | String adicionada ao contexto do Claude no início da conversa, antes do primeiro prompt. Consulte [Adicionar contexto para o Claude](#add-context-for-claude) para saber como o texto é entregue e o que colocar nele |1322| `additionalContext` | String adicionada ao contexto do Claude no início da conversa, antes do primeiro prompt. Consulte [Adicionar contexto para o Claude](#add-context-for-claude) para saber como o texto é entregue e o que colocar nele |

1245| `initialUserMessage` | String usada como a primeira mensagem do usuário da sessão. Aplica-se no [modo não interativo](/docs/pt/headless) com a flag `-p`, onde se torna o primeiro turno mesmo que nenhum prompt seja fornecido. Se um prompt for fornecido, ele vem como o próximo turno. Ao contrário de `additionalContext`, que se anexa a um turno existente, isto cria o turno |1323| `initialUserMessage` | String usada como a primeira mensagem do usuário da sessão, no [modo não interativo](/docs/pt/headless) com a flag `-p`. Ela se torna o primeiro turno mesmo que você não passe nenhum prompt. Um prompt que você passar vem em seguida como o próximo turno |

1246| `sessionTitle` | Define o título da sessão, com o mesmo efeito de `/rename`. Use para nomear sessões automaticamente a partir da pasta de inicialização, do branch do git ou do nome do worktree. Aplica-se quando `source` é `"startup"`, `"resume"` ou `"fork"`; ignorado em `"clear"` e `"compact"` |1324| `sessionTitle` | Define o título da sessão, com o mesmo efeito de `/rename`. Aplica-se quando `source` é `"startup"`, `"resume"` ou `"fork"` |

1247| `watchPaths` | Array de caminhos absolutos a observar para eventos [FileChanged](#filechanged) durante esta sessão |1325| `watchPaths` | Array de caminhos absolutos a observar para eventos [FileChanged](#filechanged) durante esta sessão |

1248| `reloadSkills` | Booleano. Quando `true`, o Claude Code examina novamente os diretórios de [skills](/docs/pt/skills) e comandos após a conclusão dos hooks SessionStart, para que as skills instaladas pelo hook fiquem disponíveis na mesma sessão, a partir do primeiro prompt |1326| `reloadSkills` | Booleano. Quando `true`, o Claude Code verifica novamente os diretórios de [skills](/docs/pt/skills) e comandos após a conclusão dos hooks SessionStart. Consulte [Recarregar skills que um hook instala](#reload-skills-that-a-hook-installs) |

1327 

1328Esta saída adiciona contexto e nomeia a sessão:

1249 1329 

1250```json theme={null}1330```json theme={null}

1251{1331{


1257}1337}

1258```1338```

1259 1339 

1260Como o stdout simples já chega ao Claude neste evento, um hook que apenas carrega contexto pode imprimir diretamente no stdout sem montar JSON. Use o formato JSON quando precisar combinar contexto com outros campos, como `sessionTitle`.1340Um hook que apenas adiciona contexto pode imprimi-lo sem construir JSON, porque o Claude Code adiciona o [stdout em texto simples](#exit-code-0) de um hook SessionStart ao contexto do Claude.

1341 

1342Se o hook SessionStart do seu plugin fornecer `initialUserMessage` ou `sessionTitle`, instale o plugin antes de a sessão começar. O Claude Code ignora ambos os campos de um plugin cuja instalação termina depois que os hooks SessionStart já foram executados.

1343 

1344<h4 id="reload-skills-that-a-hook-installs">

1345 Recarregar skills que um hook instala

1346</h4>

1347 

1348Para disponibilizar na mesma sessão as skills que um hook SessionStart instala, retorne `reloadSkills`. A descoberta de skills normalmente é executada antes de os hooks SessionStart terminarem, então, sem isso, arquivos que um hook grava em `~/.claude/skills/` ou `.claude/skills/` podem estar ausentes quando o primeiro prompt for executado.

1261 1349 

1262Use `reloadSkills` quando um hook SessionStart instalar ou atualizar skills. A descoberta de skills normalmente é executada antes de os hooks SessionStart terminarem, então arquivos que o hook grava em `~/.claude/skills/` ou `.claude/skills/` só apareceriam na próxima sessão. Este exemplo sincroniza um repositório de skills compartilhado e solicita a nova varredura:1350Este exemplo sincroniza um repositório compartilhado de skills e solicita a nova verificação:

1263 1351 

1264```bash theme={null}1352```bash theme={null}

1265#!/bin/bash1353#!/bin/bash


1270echo '{"hookSpecificOutput": {"hookEventName": "SessionStart", "reloadSkills": true}}'1358echo '{"hookSpecificOutput": {"hookEventName": "SessionStart", "reloadSkills": true}}'

1271```1359```

1272 1360 

1273A URL do repositório é um espaço reservado; substitua-a pelo seu próprio repositório de skills. Com o espaço reservado, o clone falha e imprime uma mensagem `fatal:` no stderr. O stderr de um hook SessionStart que sai com 0 é apenas informativo, portanto a solicitação de `reloadSkills` ainda se aplica.1361A URL do repositório é um espaço reservado. Substitua-a pelo seu próprio repositório de skills.

1274 1362 

1275<h4 id="persist-environment-variables">1363<h4 id="persist-environment-variables">

1276 Persistir variáveis de ambiente1364 Persistir variáveis de ambiente


1419 1507 

1420Os hooks `UserPromptSubmit` têm um timeout padrão de 30 segundos para os tipos `command`, `http` e `mcp_tool`, menor que o padrão de 600 segundos desses tipos na maioria dos outros eventos. Como este hook é executado antes de cada prompt e bloqueia o processamento do modelo até terminar, um hook travado paralisa a sessão. Se seu hook precisar de mais tempo, defina o campo `timeout` na entrada do hook.1508Os hooks `UserPromptSubmit` têm um timeout padrão de 30 segundos para os tipos `command`, `http` e `mcp_tool`, menor que o padrão de 600 segundos desses tipos na maioria dos outros eventos. Como este hook é executado antes de cada prompt e bloqueia o processamento do modelo até terminar, um hook travado paralisa a sessão. Se seu hook precisar de mais tempo, defina o campo `timeout` na entrada do hook.

1421 1509 

1422Exceto por um hook de comando que você executa com [`async: true`](#run-hooks-in-the-background), um hook `UserPromptSubmit` de comando, HTTP ou ferramenta MCP que atinge seu timeout é cancelado e sua saída, incluindo qualquer `additionalContext`, é descartada. O prompt ainda chega ao Claude sem esse contexto. A transcrição mostra um aviso com o nome do hook, o timeout que foi atingido e que a saída foi descartada.1510Com exceção de um hook de comando que você executa com [`async: true`](#run-hooks-in-the-background), um hook `UserPromptSubmit` de comando, HTTP ou ferramenta MCP 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.

1423 1511 

1424Um [hook de callback do Agent SDK](/docs/pt/agent-sdk/hooks) em `UserPromptSubmit` que atinge seu timeout bloqueia o prompt com uma mensagem que nomeia o hook e o timeout, porque um callback nesse ponto 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.1512Um [hook de callback do Agent SDK](/docs/pt/agent-sdk/hooks) em `UserPromptSubmit` que atinge seu timeout bloqueia o prompt com uma mensagem que nomeia o hook e o timeout, porque um callback nesse ponto 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.

1425 1513 


1860| :- | :- | :- | :- |1948| :- | :- | :- | :- |

1861| `url` | string | `"https://example.com/api"` | URL de onde buscar o conteúdo |1949| `url` | string | `"https://example.com/api"` | URL de onde buscar o conteúdo |

1862| `prompt` | string | `"Extract the API endpoints"` | Prompt a ser executado sobre o conteúdo buscado |1950| `prompt` | string | `"Extract the API endpoints"` | Prompt a ser executado sobre o conteúdo buscado |

1951| `offset` | number | `100000` | Número opcional de caracteres a pular a partir do início da página. O Claude o define para continuar lendo uma página longa. Exige o Claude Code v2.1.290 ou posterior |

1863 1952 

1864<h5 id="websearch">1953<h5 id="websearch">

1865 WebSearch1954 WebSearch


2112| `message` | Apenas para `"deny"`: informa ao Claude por que a permissão foi negada |2201| `message` | Apenas para `"deny"`: informa ao Claude por que a permissão foi negada |

2113| `interrupt` | Apenas para `"deny"`: se `true`, interrompe o Claude |2202| `interrupt` | Apenas para `"deny"`: se `true`, interrompe o Claude |

2114 2203 

2115Um hook que sai com 2 sem um objeto `decision` deixa o fluxo de permissão inalterado, e seu stderr é descartado. Apenas o objeto `decision` pode conceder ou negar a solicitação.2204Um hook que sai com código 2 sem um objeto `decision` deixa o fluxo de permissão inalterado, e seu stderr é descartado. Para conceder ou negar a solicitação, retorne o objeto `decision`.

2116 2205 

2117```json theme={null}2206```json theme={null}

2118{2207{


2678 Controle de decisão de TaskCreated2767 Controle de decisão de TaskCreated

2679</h4>2768</h4>

2680 2769 

2681Um hook TaskCreated pode bloquear a criação de duas maneiras. Em ambos os casos, o Claude Code exclui a tarefa e retorna sua mensagem ao Claude como o erro da ferramenta. O Claude Code ignora `continue: false` deste evento e o Claude continua trabalhando.2770Um hook TaskCreated pode bloquear a criação com o código de saída 2 ou com uma decisão JSON. De qualquer forma, o Claude Code exclui a tarefa e retorna sua mensagem ao Claude como o erro da ferramenta. O Claude Code ignora `continue: false` deste evento e o Claude continua trabalhando.

2682 2771 

2683* **Código de saída 2**: o Claude Code retorna o texto do stderr como a mensagem.2772* **Código de saída 2**: o Claude Code retorna o texto do stderr como a mensagem.

2684* **JSON `{"decision": "block", "reason": "..."}`**: o Claude Code retorna `reason` como a mensagem.2773* **JSON `{"decision": "block", "reason": "..."}`**: o Claude Code retorna `reason` como a mensagem.


3561 3650 

3562O Claude Code mostra ao usuário qualquer `systemMessage` que o seu hook retorne, independentemente da decisão, então um hook de relatório de custo pode retornar `{"systemMessage": "..."}` e sair com 0.3651O Claude Code mostra ao usuário qualquer `systemMessage` que o seu hook retorne, independentemente da decisão, então um hook de relatório de custo pode retornar `{"systemMessage": "..."}` e sair com 0.

3563 3652 

3564Um hook PreModelSwitch que não responde antes do seu timeout bloqueia a troca. No [PreToolUse](#timeouts), por outro lado, um hook de comando que atinge o timeout deixa a chamada de ferramenta continuar. O timeout padrão para este evento é de 30 segundos. O `PreModelSwitch` executa apenas hooks `command`, `http` e `mcp_tool`, então os padrões de `prompt` e `agent` não se aplicam.3653Um hook PreModelSwitch que não responde antes do seu timeout bloqueia a troca. Para saber o que um timeout faz em outros eventos, consulte [Timeouts](#timeouts). O timeout padrão para este evento é de 30 segundos. O `PreModelSwitch` executa apenas hooks `command`, `http` e `mcp_tool`, portanto os padrões de `prompt` e `agent` não se aplicam.

3565 3654 

3566Um hook que sai com um código diferente de 0 ou 2 e não imprime nenhuma decisão JSON não bloqueia: o Claude Code mostra seu stderr e aplica a troca, conforme descrito em [Outros códigos de saída](#other-exit-codes).3655Um hook que sai com um código diferente de 0 ou 2 e não imprime nenhuma decisão JSON é um erro não bloqueante, conforme descrito em [Outros códigos de saída](#other-exit-codes).

3567 3656 

3568<h3 id="postmodelswitch">3657<h3 id="postmodelswitch">

3569 PostModelSwitch3658 PostModelSwitch


4279Hooks assíncronos têm restrições adicionais comparados a hooks síncronos:4368Hooks assíncronos têm restrições adicionais comparados a hooks síncronos:

4280 4369 

4281* Saída de hook é entregue no próximo turno de conversa. Se a sessão está ociosa, a resposta espera até a próxima interação do usuário. Exceção: um hook `asyncRewake` que sai com código 2 acorda Claude imediatamente mesmo quando a sessão está ociosa.4370* Saída de hook é entregue no próximo turno de conversa. Se a sessão está ociosa, a resposta espera até a próxima interação do usuário. Exceção: um hook `asyncRewake` que sai com código 2 acorda Claude imediatamente mesmo quando a sessão está ociosa.

4282* Cada execução cria um processo em background separado. Não há desduplicação através de múltiplos disparos do mesmo hook assíncrono.4371* Cada execução cria um processo em background separado.

4283 4372 

4284<h2 id="security-considerations">4373<h2 id="security-considerations">

4285 Considerações de segurança4374 Considerações de segurança

hooks-guide.md +14 −11

Details

242 242 

243Para testar o hook, peça ao Claude para adicionar uma linha com strings entre aspas simples a um arquivo JavaScript, depois abra o arquivo: com as configurações padrão do Prettier, o hook as reescreve para aspas duplas.243Para testar o hook, peça ao Claude para adicionar uma linha com strings entre aspas simples a um arquivo JavaScript, depois abra o arquivo: com as configurações padrão do Prettier, o hook as reescreve para aspas duplas.

244 244 

245Quando o hook é bem-sucedido, Claude Code não mostra nada na conversa. Para confirmar que o hook foi executado, verifique se o arquivo editado foi reformatado, ou consulte [Técnicas de depuração](#debug-techniques).245Quando o hook é bem-sucedido, Claude Code não mostra nada na conversa. Para confirmar que o hook foi executado, verifique se o arquivo editado foi reformatado, ou consulte [Verificar o que um hook fez](#check-what-a-hook-did).

246 246 

247Para reformatar um arquivo específico de qualquer forma que ele mude, incluindo quando um comando `Bash` o reescreve, use um hook [FileChanged](/docs/pt/hooks#filechanged) em vez disso.247Para reformatar um arquivo específico de qualquer forma que ele mude, incluindo quando um comando `Bash` o reescreve, use um hook [FileChanged](/docs/pt/hooks#filechanged) em vez disso.

248 248 


979}979}

980```980```

981 981 

982O endpoint deve retornar um corpo de resposta JSON usando o mesmo [formato de saída](/docs/pt/hooks#json-output) que hooks de comando. Para bloquear uma chamada de ferramenta, retorne uma resposta 2xx com os campos `hookSpecificOutput` apropriados. Códigos de status HTTP sozinhos não podem bloquear ações.982Seu endpoint responde com um corpo JSON no mesmo [formato de saída](/docs/pt/hooks#json-output) que hooks de comando, e o Claude Code também verifica o status da resposta:

983 

984* **Status 2xx**: para bloquear uma chamada de ferramenta, retorne os campos `hookSpecificOutput` apropriados no corpo.

985* **Qualquer outro status, ou se a requisição falhar**: o Claude Code reporta um [erro não bloqueante](/docs/pt/hooks#exit-code-output) e permite que a ação continue. Para fazer com que um endpoint com falha bloqueie a ação, defina [`onFailure: "block"`](/docs/pt/hooks#block-the-action-when-a-hook-fails) no hook.

983 986 

984Valores de header suportam interpolação de variável de ambiente usando sintaxe `$VAR_NAME` ou `${VAR_NAME}`. Apenas variáveis listadas no array `allowedEnvVars` são resolvidas; todas as outras referências `$VAR` permanecem vazias.987Valores de header suportam interpolação de variável de ambiente usando sintaxe `$VAR_NAME` ou `${VAR_NAME}`. Apenas variáveis listadas no array `allowedEnvVars` são resolvidas; todas as outras referências `$VAR` permanecem vazias.

985 988 


1103 1106 

1104Quando seu hook retorna `permissionDecision` ou `additionalContext` no nível superior em vez de dentro de `hookSpecificOutput`, o JSON ainda analisa, e Claude Code ignora os campos deslocados sem reportar um erro. Para ver quais campos foram ignorados, inicie Claude Code com `claude --debug` e procure no [log de debug](/docs/pt/hooks#debug-hooks) por `Hook JSON output had unrecognized keys`.1107Quando seu hook retorna `permissionDecision` ou `additionalContext` no nível superior em vez de dentro de `hookSpecificOutput`, o JSON ainda analisa, e Claude Code ignora os campos deslocados sem reportar um erro. Para ver quais campos foram ignorados, inicie Claude Code com `claude --debug` e procure no [log de debug](/docs/pt/hooks#debug-hooks) por `Hook JSON output had unrecognized keys`.

1105 1108 

1106<h3 id="debug-techniques">1109<h3 id="check-what-a-hook-did">

1107 Técnicas de debug1110 Verificar o que um hook fez

1108</h3>1111</h3>

1109 1112 

1110Pressione `Ctrl+O` para abrir a visualização de transcrição para verificar o resultado de uma execução de hook:1113Pressione `Ctrl+O` para abrir a visualização de transcrição e procure o resultado do hook:

1111 1114 

1112* **Execução bem-sucedida**: você não vê nada, a menos que o JSON do hook superficialize algo, como `systemMessage` ou feedback de Stop hook.1115* **Sucesso**: você não vê nada, a menos que o JSON do hook exiba algo, como `systemMessage` ou feedback de Stop hook.

1113 * Para confirmar que um hook executou, verifique seu efeito, como um arquivo reformatado, ou ative logging de debug conforme descrito abaixo e dispare o hook novamente1116 * Para confirmar que o hook executou, verifique seu efeito, como um arquivo reformatado

1114* **Erro de bloqueio**: na maioria dos eventos você vê o feedback do hook. Quando o JSON do hook fez uma decisão de bloqueio, o feedback é a razão dessa decisão; caso contrário é a stderr do hook. Em alguns eventos, como `ConfigChange` e `Elicitation`, um bloqueio não superficializa nenhuma mensagem.1117* **Erro de bloqueio**: na maioria dos eventos você vê a mensagem que acompanhou o bloqueio, por exemplo `Blocked: rm commands are not allowed`. Em alguns eventos, como `ConfigChange` e `Elicitation`, você não vê nenhuma mensagem. [Código de saída 2](/docs/pt/hooks#exit-code-2) explica de onde vem a mensagem.

1115* **Erro de não-bloqueio**: a ação prosseguiu, e você vê um aviso `<hook name> hook error` com uma explicação breve, como a primeira linha de stderr prefixada com `Failed with non-blocking status code:`, ou uma mensagem de validação ou análise JSON.1118* **Erro de não-bloqueio**: você vê um aviso `<hook name> hook error` com uma explicação breve, como a primeira linha de stderr após `Failed with non-blocking status code:`, ou uma mensagem de validação ou análise JSON. A ação prosseguiu.

1116 1119 

1117Quais combinações de código de saída e JSON produzem cada resultado, incluindo as exceções por evento, é definido na seção [Saída de código de saída](/docs/pt/hooks#exit-code-output) da referência.1120Para consultar o resultado de um código de saída e stdout específicos, incluindo as exceções por evento, veja [Saída de código de saída](/docs/pt/hooks#exit-code-output) na referência.

1118 1121 

1119Para detalhes de execução completos incluindo quais hooks corresponderam, seus códigos de saída, stdout e stderr, leia o log de debug. Inicie Claude Code com `claude --debug-file /tmp/claude.log` para escrever em um caminho conhecido, depois `tail -f /tmp/claude.log` em outro terminal. Se você iniciou sem essa flag, execute `/debug` no meio da sessão para habilitar logging e encontrar o caminho do log.1122Para detalhes de execução completos incluindo códigos de saída, stdout e stderr dos hooks, leia o log de debug. Inicie Claude Code com `claude --debug-file /tmp/claude.log` para escrever em um caminho conhecido, depois `tail -f /tmp/claude.log` em outro terminal. Se você iniciou sem essa flag, execute `/debug` no meio da sessão para habilitar logging e encontrar o caminho do log.

1120 1123 

1121<h2 id="learn-more">1124<h2 id="learn-more">

1122 Saiba mais1125 Saiba mais

Details

216| `^` | Primeiro caractere não em branco |216| `^` | Primeiro caractere não em branco |

217| `gg` | Início da entrada |217| `gg` | Início da entrada |

218| `G` | Início da última linha |218| `G` | Início da última linha |

219| `f{char}` | Pular para a próxima ocorrência do caractere |219| `f{char}` | Pular para a próxima ocorrência do caractere na linha atual |

220| `F{char}` | Pular para a ocorrência anterior do caractere |220| `F{char}` | Pular para a ocorrência anterior do caractere na linha atual |

221| `t{char}` | Pular para logo antes da próxima ocorrência do caractere |221| `t{char}` | Pular para logo antes da próxima ocorrência do caractere na linha atual |

222| `T{char}` | Pular para logo após a ocorrência anterior do caractere |222| `T{char}` | Pular para logo após a ocorrência anterior do caractere na linha atual |

223| `;` | Repetir o último movimento f/F/t/T |223| `;` | Repetir o último movimento f/F/t/T |

224| `,` | Repetir o último movimento f/F/t/T em ordem inversa |224| `,` | Repetir o último movimento f/F/t/T em ordem inversa |

225| `/` | Abrir busca de histórico reverso, igual a `Ctrl+R`. O prompt de busca vazio mostra uma dica: pressione `Esc` depois `i` depois `/` para abrir o menu de comando |225| `/` | Abrir busca de histórico reverso, igual a `Ctrl+R`. O prompt de busca vazio mostra uma dica: pressione `Esc` depois `i` depois `/` para abrir o menu de comando |


239| `dd` | Deletar linha |239| `dd` | Deletar linha |

240| `D` | Deletar até o fim da linha |240| `D` | Deletar até o fim da linha |

241| `dw`/`de`/`db` | Deletar palavra/até o fim/para trás |241| `dw`/`de`/`db` | Deletar palavra/até o fim/para trás |

242| `df{char}`/`dt{char}` | Deletar até e incluindo, ou até, a próxima ocorrência de um caractere |242| `df{char}`/`dt{char}` | Deletar até e incluindo, ou até, a próxima ocorrência de um caractere na linha atual |

243| `dj`/`dk` | Deletar a linha atual e a linha abaixo ou acima |243| `dj`/`dk` | Deletar a linha atual e a linha abaixo ou acima |

244| `dgg`/`dG` | Deletar da linha atual até a primeira ou última linha |244| `dgg`/`dG` | Deletar da linha atual até a primeira ou última linha |

245| `d0`/`c0`/`y0` | Deletar, mudar ou yankar do cursor de volta ao início da linha. Requer Claude Code v2.1.281 ou posterior |245| `d0`/`c0`/`y0` | Deletar, mudar ou yankar do cursor de volta ao início da linha. Requer Claude Code v2.1.281 ou posterior |


859* Um `#123` isolado859* Um `#123` isolado

860* Um caminho GitLab aninhado como `group/subgroup/project#123`860* Um caminho GitLab aninhado como `group/subgroup/project#123`

861* Qualquer referência dentro de um intervalo de código ou bloco de código861* Qualquer referência dentro de um intervalo de código ou bloco de código

862* Qualquer referência em uma resposta com mais de cerca de 1.000 linhas ou 100.000 caracteres

862 863 

863Claude Code constrói o link para o host do repositório que identifica a partir de seu git remote, não para o repositório que a referência nomeia:864Claude Code constrói o link para o host do repositório que identifica a partir de seu git remote, não para o repositório que a referência nomeia:

864 865 

jetbrains.md +8 −4

Details

55 Uso55 Uso

56</h2>56</h2>

57 57 

58<h3 id="from-your-ide">58<span id="from-your-ide" />

59 Do Seu IDE59 

60<h3 id="run-claude-code-from-your-ide">

61 Executar Claude Code a partir do seu IDE

60</h3>62</h3>

61 63 

62Execute `claude` do terminal integrado do seu IDE, e todos os recursos de integração estarão ativos.64Execute `claude` do terminal integrado do seu IDE, e todos os recursos de integração estarão ativos.

63 65 

64<h3 id="from-external-terminals">66<span id="from-external-terminals" />

65 De Terminais Externos67 

68<h3 id="connect-from-an-external-terminal">

69 Conectar a partir de um terminal externo

66</h3>70</h3>

67 71 

68Use o comando `/ide` em qualquer terminal externo para conectar Claude Code ao seu JetBrains IDE e ativar todos os recursos:72Use o comando `/ide` em qualquer terminal externo para conectar Claude Code ao seu JetBrains IDE e ativar todos os recursos:

Details

79 79 

80Modelos iniciais para Jamf, Iru, Intune e Group Policy estão no [repositório de exemplos MDM](https://github.com/anthropics/claude-code/tree/main/examples/mdm).80Modelos iniciais para Jamf, Iru, Intune e Group Policy estão no [repositório de exemplos MDM](https://github.com/anthropics/claude-code/tree/main/examples/mdm).

81 81 

82Se sua organização tiver a [configuração HIPAA](/docs/pt/hipaa-setup#deploy-managed-settings) aplicada, consulte `settings-hipaa.json` e `README-hipaa.md` no [repositório de exemplos de configurações](https://github.com/anthropics/claude-code/tree/main/examples/settings) para um `managed-settings.json` mais completo com sandboxing, uma allowlist de rede, proteções de credenciais e retenção local de dados.

83 

82Para servidores MCP gerenciados, que você implanta junto com qualquer um destes através de `managed-mcp.json` ou fornece através da chave [`managedMcpServers`](/docs/pt/settings-reference#managedmcpservers), consulte [Configuração MCP gerenciada](/docs/pt/managed-mcp).84Para servidores MCP gerenciados, que você implanta junto com qualquer um destes através de `managed-mcp.json` ou fornece através da chave [`managedMcpServers`](/docs/pt/settings-reference#managedmcpservers), consulte [Configuração MCP gerenciada](/docs/pt/managed-mcp).

83 85 

84<h3 id="where-and-when-a-policy-applies">86<h3 id="where-and-when-a-policy-applies">

mcp.md +18 −10

Details

181 181 

182Cada um é uma das entradas que as quatro opções em [Instalando servidores MCP](#installing-mcp-servers) usam. Encontre a forma que você tem abaixo para transformá-la no comando que Claude Code aceita. Cada comando escreve no [escopo local](#local-scope) a menos que você adicione `--scope project` ou `--scope user`.182Cada um é uma das entradas que as quatro opções em [Instalando servidores MCP](#installing-mcp-servers) usam. Encontre a forma que você tem abaixo para transformá-la no comando que Claude Code aceita. Cada comando escreve no [escopo local](#local-scope) a menos que você adicione `--scope project` ou `--scope user`.

183 183 

184<h4 id="from-a-url">184<span id="from-a-url" />

185 De uma URL185 

186<h4 id="add-a-server-from-a-url">

187 Adicionar um servidor a partir de uma URL

186</h4>188</h4>

187 189 

188Uma URL significa que o servidor é remoto. Para um endpoint `https://`, adicione-o com `--transport http`, ou siga a [Opção 2](#option-2-add-a-remote-sse-server) quando as instruções disserem que o endpoint usa SSE. Para um endpoint `wss://`, use a [Opção 4](#option-4-add-a-remote-websocket-server) em vez disso, já que `--transport` não aceita `ws`:190Uma URL significa que o servidor é remoto. Para um endpoint `https://`, adicione-o com `--transport http`, ou siga a [Opção 2](#option-2-add-a-remote-sse-server) quando as instruções disserem que o endpoint usa SSE. Para um endpoint `wss://`, use a [Opção 4](#option-4-add-a-remote-websocket-server) em vez disso, já que `--transport` não aceita `ws`:


193 195 

194Se as instruções também fornecerem uma chave de API ou cabeçalho de token, passe-o com `--header` como mostrado na [Opção 1](#option-1-add-a-remote-http-server).196Se as instruções também fornecerem uma chave de API ou cabeçalho de token, passe-o com `--header` como mostrado na [Opção 1](#option-1-add-a-remote-http-server).

195 197 

196<h4 id="from-an-npx-uvx-or-binary-command">198<span id="from-an-npx-uvx-or-binary-command" />

197 De um comando `npx`, `uvx`, ou binário199 

200<h4 id="add-a-server-from-an-npx-uvx-or-binary-command">

201 Adicionar um servidor a partir de um comando `npx`, `uvx`, ou binário

198</h4>202</h4>

199 203 

200Um comando de inicialização significa que o servidor é executado como um processo stdio local. Coloque o comando inteiro após `--`, para que Claude Code passe sinalizadores como `-y` para o comando que inicia o servidor em vez de lê-los como suas próprias opções. Passe quaisquer variáveis de ambiente que as instruções peçam com `--env`, após o nome do servidor e antes de `--`:204Um comando de inicialização significa que o servidor é executado como um processo stdio local. Coloque o comando inteiro após `--`, para que Claude Code passe sinalizadores como `-y` para o comando que inicia o servidor em vez de lê-los como suas próprias opções. Passe quaisquer variáveis de ambiente que as instruções peçam com `--env`, após o nome do servidor e antes de `--`:


205 209 

206A [Opção 3](#option-3-add-a-local-stdio-server) cobre o separador `--` completamente.210A [Opção 3](#option-3-add-a-local-stdio-server) cobre o separador `--` completamente.

207 211 

208<h4 id="from-an-mcpservers-json-block">212<span id="from-an-mcpservers-json-block" />

209 De um bloco JSON `mcpServers`213 

214<h4 id="add-a-server-from-an-mcpservers-json-block">

215 Adicionar um servidor a partir de um bloco JSON `mcpServers`

210</h4>216</h4>

211 217 

212Um bloco `mcpServers` escrito para outro cliente MCP, como Claude Desktop, usa a chave wrapper e a forma de entrada que Claude Code lê. Passe `claude mcp add-json` o objeto dentro de `mcpServers`, não o wrapper. Duas entradas precisam de um reparo primeiro:218Um bloco `mcpServers` escrito para outro cliente MCP, como Claude Desktop, usa a chave wrapper e a forma de entrada que Claude Code lê. Passe `claude mcp add-json` o objeto dentro de `mcpServers`, não o wrapper. Duas entradas precisam de um reparo primeiro:


367 373 

368No v2, Claude Code também:374No v2, Claude Code também:

369 375 

370* Pergunta aos servidores HTTP e stdio se eles suportam a revisão mais recente, e a usa com aqueles que suportam. Em sessões onde ele busca sinalizadores de recurso, ele também pergunta aos servidores conectores claude.ai. Ele se conecta a todos os outros servidores como v1 faz.376* Pergunta aos servidores HTTP, stdio e conectores claude.ai se eles suportam a revisão mais recente, e a usa com aqueles que suportam. Ele se conecta a todos os outros servidores como v1 faz.

371* Recebe notificações `list_changed` de servidores na revisão mais recente sobre um [stream que mantém aberto](#notification-streams-on-the-v2-runtime).377* Recebe notificações `list_changed` de servidores na revisão mais recente sobre um [stream que mantém aberto](#notification-streams-on-the-v2-runtime).

372* Não registra um servidor de [canal](#push-messages-with-channels) que se conecta na revisão mais recente, porque essa revisão não pode carregar mensagens de canal.378* Não registra um servidor de [canal](#push-messages-with-channels) que se conecta na revisão mais recente, porque essa revisão não pode carregar mensagens de canal.

373* Falha em um [login OAuth MCP](#authenticate-with-remote-mcp-servers) cuja resposta de autorização nomeia um emissor inesperado.379* Falha em um [login OAuth MCP](#authenticate-with-remote-mcp-servers) cuja resposta de autorização nomeia um emissor inesperado.


891 Autenticar a partir da linha de comando897 Autenticar a partir da linha de comando

892</h3>898</h3>

893 899 

894O comando `claude mcp login <name>` executa o fluxo OAuth de um servidor configurado diretamente do seu shell, para que você não precise abrir o painel `/mcp` dentro de uma sessão.900O comando `claude mcp login <name>` executa o fluxo OAuth de um servidor configurado diretamente do seu shell, para que você não precise abrir o painel `/mcp` dentro de uma sessão. Para um conector claude.ai, siga [Autorizar um conector novamente a partir do seu shell](/docs/pt/remote-control#authorize-a-connector-again-from-your-shell).

895 901 

896```bash theme={null}902```bash theme={null}

897claude mcp login sentry903claude mcp login sentry


1581 A busca de ferramentas não é suportada em implantações do Microsoft Foundry [hospedadas no Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options), que a rejeitam no lado do servidor: Claude Code detecta a rejeição e carrega as ferramentas MCP antecipadamente para essa implantação. [`ENABLE_TOOL_SEARCH`](#configure-tool-search) não pode sobrescrever isso, pois a rejeição vem da implantação em si.1587 A busca de ferramentas não é suportada em implantações do Microsoft Foundry [hospedadas no Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options), que a rejeitam no lado do servidor: Claude Code detecta a rejeição e carrega as ferramentas MCP antecipadamente para essa implantação. [`ENABLE_TOOL_SEARCH`](#configure-tool-search) não pode sobrescrever isso, pois a rejeição vem da implantação em si.

1582</Note>1588</Note>

1583 1589 

1584<h3 id="for-mcp-server-authors">1590<span id="for-mcp-server-authors" />

1585 Para autores de servidores MCP1591 

1592<h3 id="tool-search-for-mcp-server-authors">

1593 Busca de ferramentas para autores de servidores MCP

1586</h3>1594</h3>

1587 1595 

1588Se você está construindo um servidor MCP, o campo de instruções do servidor se torna mais útil com a busca de ferramentas ativada. As instruções do servidor ajudam Claude a entender quando procurar por suas ferramentas, de forma semelhante a como [skills](/docs/pt/skills) funcionam.1596Se você está construindo um servidor MCP, o campo de instruções do servidor se torna mais útil com a busca de ferramentas ativada. As instruções do servidor ajudam Claude a entender quando procurar por suas ferramentas, de forma semelhante a como [skills](/docs/pt/skills) funcionam.

Details

599 599 

600Em sessões conectadas a um [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway) através de `/login`, a CLI marca as exportações com a identidade autenticada: `user.id` é o assunto do IdP, `user.email` é o email conectado, e `user.groups` carrega a associação de grupo do IdP como uma string separada por vírgulas. Cada exportação também carrega `identity.source: gateway-oidc`. A identidade do gateway é aplicada por último, então as chaves `user.*` e `identity.*` definidas através de `OTEL_RESOURCE_ATTRIBUTES` são ignoradas nessas sessões.600Em sessões conectadas a um [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway) através de `/login`, a CLI marca as exportações com a identidade autenticada: `user.id` é o assunto do IdP, `user.email` é o email conectado, e `user.groups` carrega a associação de grupo do IdP como uma string separada por vírgulas. Cada exportação também carrega `identity.source: gateway-oidc`. A identidade do gateway é aplicada por último, então as chaves `user.*` e `identity.*` definidas através de `OTEL_RESOURCE_ATTRIBUTES` são ignoradas nessas sessões.

601 601 

602<Note>

603 Eventos que o Claude Code registra antes de um desenvolvedor fazer login não trazem a identidade do gateway. Quando o Claude Code abre uma sessão desconectada do gateway, por exemplo depois que [o gateway encerra o login](/docs/pt/errors#cloud-gateway-session-expired), os eventos de inicialização registrados antes do login trazem o `user.id` anônimo e nenhum `identity.source`. Eles incluem [`managed_settings_resolved`](#managed-settings-resolved-event), [`plugin_loaded`](#plugin-loaded-event) e [`mcp_server_connection`](#mcp-server-connection-event).

604</Note>

605 

602Para os atributos de identidade em sessões Claude Desktop e Cowork que se conectam através de um gateway, veja a [referência de telemetria do gateway](/docs/pt/claude-apps-gateway-config#telemetry).606Para os atributos de identidade em sessões Claude Desktop e Cowork que se conectam através de um gateway, veja a [referência de telemetria do gateway](/docs/pt/claude-apps-gateway-config#telemetry).

603 607 

604Os eventos incluem adicionalmente os seguintes atributos. Estes nunca são anexados a métricas porque causariam cardinalidade ilimitada:608Os eventos incluem adicionalmente os seguintes atributos. Estes nunca são anexados a métricas porque causariam cardinalidade ilimitada:


917* `error`: Mensagem de erro921* `error`: Mensagem de erro

918* `status_code`: Código de status HTTP como um número. Ausente para erros não-HTTP como falhas de conexão.922* `status_code`: Código de status HTTP como um número. Ausente para erros não-HTTP como falhas de conexão.

919* `duration_ms`: Duração da requisição em milissegundos923* `duration_ms`: Duração da requisição em milissegundos

920* `attempt`: Número total de tentativas feitas, incluindo a requisição inicial (`1` significa que nenhuma retentativa ocorreu)924* `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

921* `request_id`: ID de requisição de API, como `"req_011..."`, descrito em [Atributos de correlação de eventos](#event-correlation-attributes).925* `request_id`: ID de requisição de API, como `"req_011..."`, descrito em [Atributos de correlação de eventos](#event-correlation-attributes).

922* `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 posterior926* `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 posterior

923* `speed`: `"fast"` ou `"normal"`, indicando se o modo rápido estava ativo927* `speed`: `"fast"` ou `"normal"`, indicando se o modo rápido estava ativo


1190 1194 

1191Registrado quando Claude Code resolve uma menção `@` em um prompt. Nem toda menção emite um evento: caminhos de saída antecipada como negações de permissão, arquivos superdimensionados, anexos de referência PDF e falhas de listagem de diretório retornam sem registrar.1195Registrado quando Claude Code resolve uma menção `@` em um prompt. Nem toda menção emite um evento: caminhos de saída antecipada como negações de permissão, arquivos superdimensionados, anexos de referência PDF e falhas de listagem de diretório retornam sem registrar.

1192 1196 

1197Cada vez que o Claude Code lê um prompt, ele registra no máximo 100 eventos com `mention_type` igual a `"agent"` e 100 com `"mcp_resource"`. Menções além de qualquer um desses limites ainda são resolvidas, mas não emitem evento.

1198 

1193**Nome do Evento**: `claude_code.at_mention`1199**Nome do Evento**: `claude_code.at_mention`

1194 1200 

1195**Atributos**:1201**Atributos**:


1528 1534 

1529Claude 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.1535Claude 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.

1530 1536 

1531O atributo `attempt` no evento registra o número total 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.1537O 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.

1532 1538 

1533Quando a solicitação esgota todas as tentativas em um erro transitório, `attempt` é igual a um a mais do que esse limite efetivo: 11 por padrão, e nunca mais de 16 a menos que o watchdog esteja definido. Um valor menor indica um erro não retentável, como uma resposta `400`, ou uma causa com seu próprio orçamento de tentativas menor. Por exemplo, Claude Code retenta uma falha ao carregar credenciais da AWS ou Google Cloud no máximo duas vezes.1539Quando 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.

1540 

1541Um valor menor ainda pode significar que as novas tentativas se esgotaram: `attempt` recomeça a partir de `1` cada vez que Claude Code reenvia a requisição após uma falha de streaming.

1534 1542 

1535Para distinguir uma sessão que se recuperou de uma que travou, agrupe eventos por `session.id` e verifique se um evento `api_request` posterior existe após o erro.1543Para distinguir uma sessão que se recuperou de uma que travou, agrupe eventos por `session.id` e verifique se um evento `api_request` posterior existe após o erro.

1536 1544 


1699 1707 

1700Sua escolha de backends de métricas, logs e rastreamentos determina os tipos de análises que você pode realizar:1708Sua escolha de backends de métricas, logs e rastreamentos determina os tipos de análises que você pode realizar:

1701 1709 

1702<h3 id="for-metrics">1710<span id="for-metrics" />

1703 Para métricas1711 

1712<h3 id="backends-for-metrics">

1713 Backends para métricas

1704</h3>1714</h3>

1705 1715 

1706* **Bancos de dados de série temporal**: Cálculos de taxa, métricas agregadas1716* **Bancos de dados de série temporal**: Cálculos de taxa, métricas agregadas

1707* **Armazenamentos colunares**: Consultas complexas, análise de usuário único1717* **Armazenamentos colunares**: Consultas complexas, análise de usuário único

1708* **Plataformas de observabilidade completas**: Consultas avançadas, visualização, alertas1718* **Plataformas de observabilidade completas**: Consultas avançadas, visualização, alertas

1709 1719 

1710<h3 id="for-events/logs">1720<span id="for-events/logs" />

1711 Para eventos/logs1721 

1722<h3 id="backends-for-events-and-logs">

1723 Backends para eventos e logs

1712</h3>1724</h3>

1713 1725 

1714* **Sistemas de agregação de logs**: Busca de texto completo, análise de logs1726* **Sistemas de agregação de logs**: Busca de texto completo, análise de logs

1715* **Armazenamentos colunares**: Análise de eventos estruturados1727* **Armazenamentos colunares**: Análise de eventos estruturados

1716* **Plataformas de observabilidade completas**: Correlação entre métricas e eventos1728* **Plataformas de observabilidade completas**: Correlação entre métricas e eventos

1717 1729 

1718<h3 id="for-traces">1730<span id="for-traces" />

1719 Para rastreamentos1731 

1732<h3 id="backends-for-traces">

1733 Backends para rastreamentos

1720</h3>1734</h3>

1721 1735 

1722Escolha um backend que suporte armazenamento de rastreamento distribuído e correlação de span:1736Escolha um backend que suporte armazenamento de rastreamento distribuído e correlação de span:

Details

91| `-y, --yes` | Aceite o comando de instalação exibido sem o prompt `Run this command now?`. Ignorado quando o comando é executado dentro de uma sessão Claude Code, como da ferramenta Bash ou um hook. Requer Claude Code v2.1.229 ou posterior |91| `-y, --yes` | Aceite o comando de instalação exibido sem o prompt `Run this command now?`. Ignorado quando o comando é executado dentro de uma sessão Claude Code, como da ferramenta Bash ou um hook. Requer Claude Code v2.1.229 ou posterior |

92| `--accept-command <sha256>` | Aceite o comando de instalação exibido cujo `sha256` uma execução anterior [`--json`](#plugin-json-result) relatou em `shownCommand`, no lugar de `-y`. Não pode ser combinado com `-y`. Veja [Aceitar um comando de instalação exibido](#accept-a-displayed-install-command). Requer Claude Code v2.1.271 ou posterior |92| `--accept-command <sha256>` | Aceite o comando de instalação exibido cujo `sha256` uma execução anterior [`--json`](#plugin-json-result) relatou em `shownCommand`, no lugar de `-y`. Não pode ser combinado com `-y`. Veja [Aceitar um comando de instalação exibido](#accept-a-displayed-install-command). Requer Claude Code v2.1.271 ou posterior |

93| `--json` | Imprima o resultado como um objeto JSON na última linha de stdout em vez da mensagem legível por humanos, para uso em scripts. Veja [Formato de resultado JSON](#plugin-json-result). Requer Claude Code v2.1.268 ou posterior |93| `--json` | Imprima o resultado como um objeto JSON na última linha de stdout em vez da mensagem legível por humanos, para uso em scripts. Veja [Formato de resultado JSON](#plugin-json-result). Requer Claude Code v2.1.268 ou posterior |

94| `--marketplace <source>` | Instale `<plugin>`, dado por seu nome simples, a partir do marketplace em `<source>`, adicionando o marketplace primeiro se você ainda não o adicionou. Veja [Adicionar um marketplace e instalar em um único comando](/docs/pt/plugins/install#add-a-marketplace-and-install-in-one-command). Requer Claude Code v2.1.292 ou posterior |

94 95 

95Execute `claude plugin install --help` em seu shell para ver todas as opções que sua versão suporta.96Execute `claude plugin install --help` em seu shell para ver todas as opções que sua versão suporta.

96 97 

Details

185 185 

186Você pode carregar um plugin para uma única sessão de três maneiras: de um diretório ou arquivo `.zip` no disco com `--plugin-dir`, de uma URL com `--plugin-url`, ou de uma variável de ambiente quando você não pode adicionar uma flag. Cada plugin carrega apenas para essa sessão, e nada é escrito em suas configurações para ele. Quando você edita os arquivos do plugin durante a sessão, execute `/reload-plugins` para carregar as alterações.186Você pode carregar um plugin para uma única sessão de três maneiras: de um diretório ou arquivo `.zip` no disco com `--plugin-dir`, de uma URL com `--plugin-url`, ou de uma variável de ambiente quando você não pode adicionar uma flag. Cada plugin carrega apenas para essa sessão, e nada é escrito em suas configurações para ele. Quando você edita os arquivos do plugin durante a sessão, execute `/reload-plugins` para carregar as alterações.

187 187 

188<h4 id="from-a-directory-or-zip">188<span id="from-a-directory-or-zip" />

189 De um diretório ou `.zip`189 

190<h4 id="load-a-plugin-from-a-directory-or-zip">

191 Carregar um plugin de um diretório ou `.zip`

190</h4>192</h4>

191 193 

192Quando você inicia `claude` a partir de seu shell, passe `--plugin-dir` com o diretório raiz do plugin ou um arquivo `.zip` dele. Repita a flag para carregar vários plugins:194Quando você inicia `claude` a partir de seu shell, passe `--plugin-dir` com o diretório raiz do plugin ou um arquivo `.zip` dele. Repita a flag para carregar vários plugins:


196```198```

197 199 

198<h4 id="load-a-folder-of-plugins">200<h4 id="load-a-folder-of-plugins">

199 De uma pasta de plugins201 Carregar uma pasta de plugins

200</h4>202</h4>

201 203 

202Para carregar vários plugins de um lugar, passe uma pasta que os contenha, como `--plugin-dir ./plugins`. Carregar uma pasta de plugins requer Claude Code v2.1.265 ou posterior.204Para carregar vários plugins de um lugar, passe uma pasta que os contenha, como `--plugin-dir ./plugins`. Carregar uma pasta de plugins requer Claude Code v2.1.265 ou posterior.


212 214 

213Uma mensagem aparece na sessão para cada uma dessas alterações. Se carregar ou descarregar um plugin no meio da conversa [invalidaria o cache de prompt](/docs/pt/prompt-caching#enabling-or-disabling-a-plugin), a alteração é mantida em vez disso, e a mensagem diz a você para executar `/reload-plugins` para aplicá-la.215Uma mensagem aparece na sessão para cada uma dessas alterações. Se carregar ou descarregar um plugin no meio da conversa [invalidaria o cache de prompt](/docs/pt/prompt-caching#enabling-or-disabling-a-plugin), a alteração é mantida em vez disso, e a mensagem diz a você para executar `/reload-plugins` para aplicá-la.

214 216 

215<h4 id="fetch-an-archive-from-a-url-for-one-session">217<span id="fetch-an-archive-from-a-url-for-one-session" />

216 De uma URL218 

219<h4 id="load-a-plugin-from-a-url">

220 Carregar um plugin de uma URL

217</h4>221</h4>

218 222 

219Quando você inicia `claude` a partir de seu shell, passe `--plugin-url` com o endereço de um arquivo `.zip`, como um artefato de compilação que seu CI publica:223Quando você inicia `claude` a partir de seu shell, passe `--plugin-url` com o endereço de um arquivo `.zip`, como um artefato de compilação que seu CI publica:


228 232 

229Se Claude Code não conseguir buscar o arquivo, ou o arquivo for inválido, ele inicia sem o plugin e registra um erro de carregamento de plugin que você pode revisar na aba **Errors** do gerenciador `/plugin`.233Se Claude Code não conseguir buscar o arquivo, ou o arquivo for inválido, ele inicia sem o plugin e registra um erro de carregamento de plugin que você pode revisar na aba **Errors** do gerenciador `/plugin`.

230 234 

231<h4 id="from-an-environment-variable">235<span id="from-an-environment-variable" />

232 De uma variável de ambiente236 

237<h4 id="load-plugins-from-an-environment-variable">

238 Carregar plugins de uma variável de ambiente

233</h4>239</h4>

234 240 

235Para carregar plugins em uma sessão onde você não pode adicionar a flag `--plugin-dir`, liste seus caminhos absolutos na variável de ambiente [`CLAUDE_CODE_PLUGIN_DIRS`](/docs/pt/env-vars#variables) em vez disso. Claude Code carrega cada caminho como carrega um caminho `--plugin-dir`. Esses plugins carregam além de qualquer um que você passe com `--plugin-dir`. [As configurações de projeto e local não podem definir essa variável](/docs/pt/settings-reference#variables-claude-code-ignores-in-env). `CLAUDE_CODE_PLUGIN_DIRS` requer Claude Code v2.1.280 ou posterior.241Para carregar plugins em uma sessão onde você não pode adicionar a flag `--plugin-dir`, liste seus caminhos absolutos na variável de ambiente [`CLAUDE_CODE_PLUGIN_DIRS`](/docs/pt/env-vars#variables) em vez disso. Claude Code carrega cada caminho como carrega um caminho `--plugin-dir`. Esses plugins carregam além de qualquer um que você passe com `--plugin-dir`. [As configurações de projeto e local não podem definir essa variável](/docs/pt/settings-reference#variables-claude-code-ignores-in-env). `CLAUDE_CODE_PLUGIN_DIRS` requer Claude Code v2.1.280 ou posterior.

Details

413 How users accept a headersHelper command413 How users accept a headersHelper command

414</h3>414</h3>

415 415 

416Um usuário aceita o comando de uma entrada de plugin cada vez que instala ou atualiza apenas esse plugin. Eles fazem isso a partir da própria visualização do plugin em `/plugin` ou com `claude plugin install` ou `claude plugin update`. Claude Code mostra o comando e a URL do archive, e executa o comando apenas depois que o usuário aceita.416Um usuário aceita o comando de uma entrada de plugin cada vez que instala ou atualiza apenas esse plugin. Claude Code mostra o comando e a URL do archive, e executa o comando apenas depois que o usuário aceita.

417 

418Os usuários podem instalar ou atualizar o plugin dentro de uma sessão do Claude Code em um terminal, em seu shell sem nenhuma sessão em execução, ou na extensão do VS Code:

419 

420* **Sessão no terminal**: a partir da própria visualização do plugin em `/plugin`.

421* **Shell**: com `claude plugin install` ou `claude plugin update`.

422* **Extensão do VS Code**: a partir da [caixa de diálogo **Manage plugins**](/docs/pt/vs-code#manage-plugins), com a versão 2.1.290 ou posterior da extensão.

417 423 

418Em um shell não-interativo, passe [`--yes`](/docs/pt/plugins/cli-reference#plugin-install) para aceitar o comando. Para aceitar apenas o comando que uma execução anterior `--json` exibiu, passe [`--accept-command`](/docs/pt/plugins/cli-reference#plugin-install) com o `sha256` que a execução relatou.424Em um shell não-interativo, passe [`--yes`](/docs/pt/plugins/cli-reference#plugin-install) para aceitar o comando. Para aceitar apenas o comando que uma execução anterior `--json` exibiu, passe [`--accept-command`](/docs/pt/plugins/cli-reference#plugin-install) com o `sha256` que a execução relatou.

419 425 

420Claude Code executa apenas o comando que mostrou, para a URL do archive que mostrou. Se o comando da entrada ou a URL do archive mudaram no meio, Claude Code recusa a instalação ou atualização. Uma mudança na string de consulta sozinha não conta.426Claude Code executa apenas o comando que mostrou, para a URL do archive que mostrou. Se o comando da entrada ou a URL do archive mudaram no meio, Claude Code recusa a instalação ou atualização. Uma mudança na string de consulta sozinha não conta, exceto na extensão do VS Code ou com `--accept-command`.

421 427 

422<h3 id="installs-and-updates-that-refuse-the-command-instead-of-asking">428<h3 id="installs-and-updates-that-refuse-the-command-instead-of-asking">

423 Installs and updates that refuse a command instead of asking429 Installs and updates that refuse a command instead of asking

Details

189 189 

190* **Scope**: escopo de usuário por padrão. Passe `--scope project` ou `--scope local` para alterá-lo.190* **Scope**: escopo de usuário por padrão. Passe `--scope project` ou `--scope local` para alterá-lo.

191* **Quando os plugins carregam**: plugins que ele instala carregam na próxima vez que você inicia o Claude Code, ou quando você executa `/reload-plugins` em uma sessão que já está aberta.191* **Quando os plugins carregam**: plugins que ele instala carregam na próxima vez que você inicia o Claude Code, ou quando você executa `/reload-plugins` em uma sessão que já está aberta.

192* **O marketplace deve ser adicionado primeiro**: em uma máquina onde ninguém abriu uma sessão interativa do Claude Code ainda, o marketplace oficial não está registrado, então um script que instala a partir dele executa `claude plugin marketplace add anthropics/claude-plugins-official` antes da instalação.192* **O marketplace em uma máquina nova**: em uma máquina onde ninguém abriu uma sessão interativa do Claude Code ainda, o marketplace oficial não está registrado, então um script que instala a partir dele executa `claude plugin marketplace add anthropics/claude-plugins-official` antes da instalação. Veja [Adicionar e instalar do seu shell](#add-and-install-from-your-shell).

193 193 

194```bash theme={null}194```bash theme={null}

195claude plugin install formatter@your-org --scope project195claude plugin install formatter@your-org --scope project


232 Adicionar um marketplace e instalar em um comando232 Adicionar um marketplace e instalar em um comando

233</h3>233</h3>

234 234 

235Para instalar um plugin de um marketplace que você ainda não adicionou, execute `/plugin install` em uma sessão do Claude Code e nomeie a fonte do marketplace com `--marketplace`. Requer Claude Code v2.1.275 ou posterior.235Para instalar um plugin de um marketplace que você ainda não adicionou, nomeie a fonte do marketplace com `--marketplace` no comando de instalação, em uma sessão ou no seu shell. A fonte aceita [as mesmas formas que `/plugin marketplace add`](#add-a-marketplace), como GitHub `owner/repo`, uma URL git ou um caminho local. Dê o nome do plugin por si só, sem um sufixo `@marketplace`.

236 

237<h4 id="add-and-install-in-a-session">

238 Adicionar e instalar em uma sessão

239</h4>

240 

241Execute `/plugin install` em uma sessão do Claude Code com o plugin e a fonte. Requer Claude Code v2.1.275 ou posterior. Em uma sessão, a fonte não pode conter espaços.

236 242 

237```text theme={null}243```text theme={null}

238/plugin install deploy-helper --marketplace your-org/plugins244/plugin install deploy-helper --marketplace your-org/plugins

239```245```

240 246 

241A fonte aceita [as mesmas formas que `/plugin marketplace add`](#add-a-marketplace), como GitHub `owner/repo`, uma URL git ou um caminho local, exceto que não pode conter espaços. Dê o nome do plugin por si só, sem um sufixo `@marketplace`.

242 

243Se você ainda não adicionou esse marketplace, o Claude Code mostra a fonte que resolveu e pede que você confirme antes de adicioná-lo. Uma vez que o marketplace é adicionado, os detalhes do plugin abrem e você escolhe um [escopo de instalação](#install-a-plugin). Se a fonte corresponder a um marketplace que você já adicionou, o Claude Code pula a confirmação e abre os detalhes do plugin nesse marketplace.247Se você ainda não adicionou esse marketplace, o Claude Code mostra a fonte que resolveu e pede que você confirme antes de adicioná-lo. Uma vez que o marketplace é adicionado, os detalhes do plugin abrem e você escolhe um [escopo de instalação](#install-a-plugin). Se a fonte corresponder a um marketplace que você já adicionou, o Claude Code pula a confirmação e abre os detalhes do plugin nesse marketplace.

244 248 

249<h4 id="add-and-install-from-your-shell">

250 Adicionar e instalar no seu shell

251</h4>

252 

253No seu shell, sem iniciar uma sessão, execute `claude plugin install` com o plugin e a fonte. Requer Claude Code v2.1.292 ou posterior.

254 

255```bash theme={null}

256claude plugin install deploy-helper --marketplace your-org/plugins

257```

258 

259O comando do shell adiciona o marketplace sem uma etapa de confirmação. Um marketplace que você já adicionou a partir dessa fonte é reutilizado. Um novo é adicionado sob as mesmas [verificações de política da organização](/docs/pt/plugins/org#restrict-what-users-can-install) que `claude plugin marketplace add`, e é declarado nas suas configurações de usuário mesmo quando você passa `--scope project`.

260 

261Se você ainda não adicionou esse marketplace, o comando imprime `Successfully added marketplace: <name> (declared in user settings)` e depois [instala o plugin](#install-from-your-shell).

262 

245<h3 id="add-a-private-marketplace">263<h3 id="add-a-private-marketplace">

246 Adicionar um marketplace privado264 Adicionar um marketplace privado

247</h3>265</h3>

Details

185| Coloca `official` ao lado de `claude` ou `anthropic`, como `official-claude-tools` | Erro |185| Coloca `official` ao lado de `claude` ou `anthropic`, como `official-claude-tools` | Erro |

186| Tem `claude`, `anthropic` ou `anthropics` como uma palavra inteira em qualquer outro lugar, como `mcp-for-claude` | Aviso |186| Tem `claude`, `anthropic` ou `anthropics` como uma palavra inteira em qualquer outro lugar, como `mcp-for-claude` | Aviso |

187 187 

188A mensagem de erro é `Plugin name "<name>" is reserved: it passes as one of Anthropic's own`, e o aviso é `Plugin name "<name>" reads as one of Anthropic's own`. `claude plugin init` e `claude plugin tag` recusam um nome que gera o erro. Apenas esses comandos verificam o nome. Claude Code ainda instala e carrega um plugin cujo nome eles recusam.188A mensagem de erro é `Plugin name "<name>" is reserved: it passes as one of Anthropic's own`, e o aviso é `Plugin name "<name>" reads as one of Anthropic's own`. `claude plugin init` e `claude plugin tag` recusam um nome que gera o erro. Claude Code ainda instala e carrega um plugin cujo nome eles recusam.

189 189 

190<h3 id="displayname">190<h3 id="displayname">

191 `displayName`191 `displayName`

Details

64 64 

65| Field | Type | Description |65| Field | Type | Description |

66| :- | :- | :- |66| :- | :- | :- |

67| `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. 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) |67| `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) |

68| `owner` | object | Informações do mantenedor. `name` é obrigatório; `email` e `url` são opcionais |68| `owner` | object | Informações do mantenedor. `name` é obrigatório; `email` e `url` são opcionais |

69| `plugins` | array | [Plugin entries](#plugin-entries). Cada entrada é validada por conta própria, então uma entrada inválida não falha o marketplace |69| `plugins` | array | [Plugin entries](#plugin-entries). Cada entrada é validada por conta própria, então uma entrada inválida não falha o marketplace |

70| `$schema` | string | URL do JSON Schema para preenchimento automático do editor. Ignorado no tempo de carregamento |70| `$schema` | string | URL do JSON Schema para preenchimento automático do editor. Ignorado no tempo de carregamento |

Details

138| `$.mcp.call` | Chama uma ferramenta em um servidor MCP conectado, sob as regras de permissão da sessão |138| `$.mcp.call` | Chama uma ferramenta em um servidor MCP conectado, sob as regras de permissão da sessão |

139| `$.model.complete` | Usa o plano ou chave de API do usuário para chamadas de modelo |139| `$.model.complete` | Usa o plano ou chave de API do usuário para chamadas de modelo |

140| `$.prompt.submit` | Envia um prompt e pode enviá-lo como as próprias palavras do usuário |140| `$.prompt.submit` | Envia um prompt e pode enviá-lo como as próprias palavras do usuário |

141| `$.session.send` | Envia uma mensagem que outra sessão ou subagente do Claude lê |141| `$.session.send` | Envia uma mensagem que o Claude de outra sessão, de um subagente ou de um [colega de equipe](/docs/pt/agent-teams) lê |

142 142 

143Na linha `hooks:`, [`tool.call`](/docs/pt/plugins/mods/reference#tools) e [`prompt.submit`](/docs/pt/plugins/mods/reference#prompts-and-what-claude-reads) significam que o mod vê cada chamada de ferramenta e cada prompt, e pode mudá-los. [`session.append`](/docs/pt/plugins/mods/reference#session) significa que o mod pode reescrever cada linha da conversa antes de ser armazenada. [`ui.render{component=AskUserQuestion}`](/docs/pt/plugins/mods/interface#change-what-claude-code-already-draws) significa que o mod pode redesenhar o diálogo que Claude usa para fazer uma pergunta ao usuário. `tool.check` significa que o mod pode aprovar ou negar uma chamada de ferramenta antes de um prompt de permissão aparecer. [Saiba o que acontece por padrão](#know-what-happens-by-default) lista quais de suas regras e hooks têm precedência sobre sua resposta.143Na linha `hooks:`, [`tool.call`](/docs/pt/plugins/mods/reference#tools) e [`prompt.submit`](/docs/pt/plugins/mods/reference#prompts-and-what-claude-reads) significam que o mod vê cada chamada de ferramenta e cada prompt, e pode mudá-los. [`session.append`](/docs/pt/plugins/mods/reference#session) significa que o mod pode reescrever cada linha da conversa antes de ser armazenada. [`ui.render{component=AskUserQuestion}`](/docs/pt/plugins/mods/interface#change-what-claude-code-already-draws) significa que o mod pode redesenhar o diálogo que Claude usa para fazer uma pergunta ao usuário. `tool.check` significa que o mod pode aprovar ou negar uma chamada de ferramenta antes de um prompt de permissão aparecer. [Saiba o que acontece por padrão](#know-what-happens-by-default) lista quais de suas regras e hooks têm precedência sobre sua resposta.

144 144 

Details

79 Chame um modelo79 Chame um modelo

80</h2>80</h2>

81 81 

82Um mod pode fazer uma pergunta a um modelo por conta própria, fora da conversa, para um pequeno trabalho como classificar ou resumir um pedaço de texto. `$.model.complete` envia um prompt para um modelo com as credenciais da sua sessão e resolve para a resposta. Ele não tem histórico de conversa.82Um mod pode enviar suas próprias requisições a um modelo para um pequeno trabalho como classificar ou resumir texto. `$.model.complete` envia seu prompt isoladamente, e `$.model.fork({ prompt })` envia a conversa atual com seu prompt no final.

83 

84Esta tabela compara o que cada requisição contém:

85 

86| Na requisição | `$.model.complete` | `$.model.fork` |

87| :- | :- | :- |

88| Modelo | O `model` que você passa | O modelo da sessão |

89| System prompt | Um breve [bloco de atribuição](/docs/pt/llm-gateway-protocol#system-prompt-attribution-block), seguido do seu `system`, se você passar um | O system prompt da sessão |

90| Mensagens | Uma mensagem de usuário, o seu `prompt` | A conversa até o momento, seguida do seu `prompt` como mensagem de usuário |

91| CLAUDE.md e outro contexto do projeto | Não incluído | Incluído, como na última requisição da conversa |

92| Ferramentas | Nenhuma | As ferramentas de Claude, que o modelo não pode chamar |

93 

94Um fork repete a última requisição da conversa, então a Claude API serve a maior parte dela a partir do [cache de prompt](/docs/pt/prompt-caching) enquanto a conversa ainda estiver em cache.

95 

96Ambas as chamadas usam as credenciais da sessão, então são cobradas no plano, na chave de API ou no provedor de nuvem do usuário. [Os tipos para seu build](/docs/pt/plugins/mods/create#get-the-types-for-your-build) documentam todos os métodos de `$.model`.

97 

98<h3 id="send-one-prompt">

99 Envie um prompt

100</h3>

101 

102Passe `model` e `prompt` para `$.model.complete`. `prompt` torna-se a mensagem do usuário. Para dar instruções ao modelo, como um papel ou um formato de saída, passe também `system`, que se torna o system prompt.

83 103 

84Este hook responde a um comando `/triage`, [registrado como um comando](#add-a-command), pedindo a um pequeno modelo para rotular o texto digitado após ele:104Este hook responde a um comando `/triage`, [registrado como um comando](#add-a-command), pedindo a um pequeno modelo para rotular o texto digitado após ele:

85 105 


100})120})

101```121```

102 122 

103Quando você executa `/triage the export button does nothing`, o mod envia esse texto para o modelo e imprime sua resposta, como `Label: bug`. A conversa de Claude não faz parte da solicitação. Quando o modelo não responde, o rótulo é `unknown`.123Quando você executa `/triage the export button does nothing`, o mod envia esse texto para o modelo e imprime sua resposta, como `Label: bug`. Quando o modelo não responde, o rótulo é `unknown`.

124 

125Uma falha da Claude API não rejeita a chamada, então verifique `r.isAnswered` e leia `r.reason` quando for `false`. A chamada rejeita para uma requisição que Claude Code não enviará, como um modelo que sua organização bloqueia.

126 

127[Os tipos para seu build](/docs/pt/plugins/mods/create#get-the-types-for-your-build) listam as outras opções, como `effort`, e os [limites](/docs/pt/plugins/mods/reference#limits) fornecem o padrão de `maxTokens`.

128 

129<h3 id="use-prompt-caching">

130 Use o cache de prompt

131</h3>

132 

133`$.model.complete` oferece suporte ao [cache de prompt](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) da Claude API. A API armazena em cache o início de uma requisição, chamado de prefixo, até um [ponto de interrupção de cache](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#explicit-cache-breakpoints) que você define. Quando todas as chamadas começam com o mesmo conteúdo estático longo, como instruções ou material de referência, defina um ponto de interrupção no final desse conteúdo. As chamadas seguintes então o leem do cache em vez de pagar o preço integral de entrada por ele.

134 

135Para definir um ponto de interrupção, passe `prompt` como um array de blocos `{ text }` em vez de uma string e adicione `cache: true` ao último bloco do conteúdo estático. Claude Code envia esse bloco com o campo `cache_control` da API. `system` aceita a mesma forma de array. Para decidir entre eles, consulte [Escolha entre `prompt` e `system`](#choose-between-prompt-and-system).

136 

137<Note>

138 Arrays de blocos exigem Claude Code v2.1.292 ou posterior. Versões anteriores rejeitam um array em `prompt` com um erro que termina com `takes { model, prompt } (host check)` e deixam um array em `system` fora da requisição.

139</Note>

140 

141Esta versão do [hook `/triage`](#send-one-prompt) envia um longo conjunto de regras de rotulagem antes do texto a rotular, com um ponto de interrupção após as regras. `RULES` é uma string sua:

142 

143```javascript theme={null}

144on('command.run', { command: 'triage' }, async ($, e) => {

145 const r = await $.model.complete({

146 model: 'haiku',

147 prompt: [

148 // Identical on every call, so it forms the cached prefix

149 { text: RULES, cache: true },

150 // Changes on every call, so it goes after the breakpoint

151 { text: e.args },

152 ],

153 })

154 return { text: 'Label: ' + (r.isAnswered ? r.text.trim() : 'unknown') }

155})

156```

157 

158O TTL e o número de pontos de interrupção têm estes limites:

159 

160* **TTL**: uma entrada de cache dura cinco minutos após seu último uso. O TTL vem das configurações do Claude Code do usuário, não da chamada. Para uma hora, defina [`subagentPromptCacheTtl`](/docs/pt/prompt-caching#choose-the-ttl-yourself) como `1h`.

161* **Pontos de interrupção por requisição**: a API aceita [até quatro](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#when-to-use-multiple-breakpoints), e um a mais retorna como um `api-error` em `r.reason`

162 

163<h4 id="choose-between-prompt-and-system">

164 Escolha entre `prompt` e `system`

165</h4>

166 

167Coloque o conteúdo estático que suas chamadas compartilham no início de `prompt`, a menos que você saiba que suas requisições vão diretamente para a Claude API:

168 

169* **Diretamente para a Claude API, com uma chave de API ou uma assinatura do Claude**: qualquer um dos campos funciona

170* **Por meio de [Amazon Bedrock](/docs/pt/amazon-bedrock), [Claude Platform on AWS](/docs/pt/claude-platform-on-aws), [Agent Platform do Google Cloud](/docs/pt/google-vertex-ai), [Microsoft Foundry](/docs/pt/microsoft-foundry) ou um [gateway de LLM](/docs/pt/llm-gateway)**: use `prompt`. Claude Code inicia o system prompt com um [bloco de atribuição](/docs/pt/llm-gateway-protocol#system-prompt-attribution-block) cuja impressão digital vem do início da mensagem do usuário. O endpoint `api.anthropic.com` remove esse bloco antes do cache. Outros endpoints o recebem como parte do prompt, então um ponto de interrupção em `system` pode falhar quando `prompt` começa de forma diferente.

171* **Em um mod que outras pessoas executam**: use `prompt`, porque você não escolhe o provedor delas

172 

173`system` vem antes de `prompt` no prefixo, então um ponto de interrupção em `prompt` também cobre `system`, e uma chamada com um `system` diferente não encontra o cache.

104 174 

105Uma falha da Claude API não rejeita a chamada, então verifique `r.isAnswered` e leia `r.reason` quando for `false`. A chamada rejeita para uma requisição que Claude Code não enviará, como um modelo que sua organização bloqueia. [Os tipos para seu build](/docs/pt/plugins/mods/create#get-the-types-for-your-build) listam as outras opções, como `effort`, e os [limites](/docs/pt/plugins/mods/reference#limits) fornecem o padrão `maxTokens`.175<h4 id="check-for-cache-hits">

176 Verifique acertos de cache

177</h4>

106 178 

107`$.model.fork({ prompt })` faz uma pergunta sobre a conversa atual, com o mesmo modelo e prompt do sistema, então a Claude API serve a maior parte dela do cache de prompt.179O resultado de `$.model.complete` tem um objeto `usage` com os [campos de cache](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#tracking-cache-performance) da API. `usage.cache_creation_input_tokens` conta os tokens que a chamada gravou no cache, e `usage.cache_read_input_tokens` conta os tokens que ela leu do cache. Espere uma gravação na primeira chamada e leituras nas chamadas seguintes dentro do TTL.

108 180 

109Essas chamadas usam o plano ou chave de API do usuário.181Se todas as chamadas gravam e nenhuma lê, o prefixo difere entre as chamadas ou as chamadas estão mais espaçadas do que o TTL. Para um prefixo que difere, consulte [Escolha entre `prompt` e `system`](#choose-between-prompt-and-system).

182 

183Se ambos os campos permanecem em zero em chamadas que o modelo respondeu, nada foi armazenado em cache. Verifique cada uma destas causas:

184 

185* **O prefixo é curto demais**: a API não armazena em cache um prefixo abaixo do [comprimento mínimo](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#cache-limitations) do modelo e não retorna nenhum erro

186* **O cache de prompt está desativado**: quando uma [variável `DISABLE_PROMPT_CACHING`](/docs/pt/prompt-caching#disable-prompt-caching) se aplica ao modelo, Claude Code remove os pontos de interrupção e envia o texto sem cache

187* **Seu gateway remove `cache_control`**: um gateway pode [remover o campo e ainda assim retornar sucesso](/docs/pt/prompt-caching#where-the-cache-lives)

188* **Outro mod reescreve o início do texto**: Claude Code então o [envia sem pontos de interrupção](#what-a-model-complete-hook-receives)

189 

190<h3 id="what-a-model-complete-hook-receives">

191 O que um hook `model.complete` recebe

192</h3>

193 

194Se você usar um hook no evento [`model.complete`](/docs/pt/plugins/mods/reference#mods-api-calls) para inspecionar ou alterar as requisições de outros mods, leia o texto destes campos:

195 

196* **`e.prompt`**: sempre uma string. Quando o chamador passou um array, é o texto dos blocos concatenado em ordem.

197* **`e.system`**: uma string construída da mesma forma, ou ausente quando o chamador não passou `system`

198* **`e.promptBlocks` e `e.systemBlocks`**: os arrays do chamador, cada um presente quando o chamador passou um array para aquele campo

199 

200Claude Code envia as strings que seu hook passa para `next` e usa os arrays que você passa junto com elas para posicionar os [pontos de interrupção de cache](#use-prompt-caching). Ele mantém os blocos iniciais que ainda correspondem ao início da string, com seus pontos de interrupção, e envia o restante da string sem ponto de interrupção. Por exemplo, `next({ ...e, prompt: e.prompt + NOTE })` mantém os pontos de interrupção do chamador, e um hook que altera o início de `prompt` os remove.

110 201 

111<h2 id="run-work-in-the-background">202<h2 id="run-work-in-the-background">

112 Execute trabalho em segundo plano203 Execute trabalho em segundo plano


140| Chamada | O que o usuário vê |231| Chamada | O que o usuário vê |

141| :- | :- |232| :- | :- |

142| `$.ui.status(text)` | Uma linha sob o prompt que permanece até você alterá-la. Começa com `⚠` e o nome do mod, como em `⚠ my-mod: checks: 3 passing`. |233| `$.ui.status(text)` | Uma linha sob o prompt que permanece até você alterá-la. Começa com `⚠` e o nome do mod, como em `⚠ my-mod: checks: 3 passing`. |

143| `$.ui.toast(text)` | Uma notificação toast no canto superior direito, com o nome do mod acima do texto, que desaparece após alguns segundos |234| `$.ui.toast(text)` | Uma notificação toast com o nome do mod que desaparece após alguns segundos. É uma caixa no canto superior direito na [renderização em tela cheia](/docs/pt/fullscreen) e uma linha à direita sob o prompt no renderizador clássico. |

144| `$.ui.log(text)` | Uma linha fraca na transcrição que Claude não lê. Começa com `●` e o nome do mod, como em `● my-mod: build finished`. |235| `$.ui.log(text)` | Uma linha fraca na transcrição que Claude não lê. Começa com `●` e o nome do mod, como em `● my-mod: build finished`. |

145 236 

146<h3 id="start-a-turn-from-a-background-job">237<h3 id="start-a-turn-from-a-background-job">


159 Envie e receba mensagens entre sessões250 Envie e receba mensagens entre sessões

160</h2>251</h2>

161 252 

162Um mod pode enviar uma mensagem em texto simples para outra de suas sessões ou para um dos subagentes desta sessão e observar as mensagens que chegam e saem. `$.session.send({ to, text })` envia uma, a mesma entrega que a ferramenta SendMessage faz. `to` é `{ sessionId }` para uma sessão, `{ agentId }` para um subagente de `$.agent.list()` ou o endereço de string de onde uma mensagem recebida veio. A chamada resolve uma vez que a mensagem é enfileirada, com `{ isDelivered: true }`. Quando nada foi entregue, ela resolve com `{ isDelivered: false, reason }`, e `reason` diz por quê.253Um mod pode enviar uma mensagem em texto simples para outra de suas sessões, para um dos subagentes desta sessão ou para um colega de equipe em sua [equipe de agentes](/docs/pt/agent-teams). Ele também pode observar as mensagens que chegam e saem.

254 

255Para enviar uma, chame `$.session.send({ to, text })`, que faz a mesma entrega que a ferramenta SendMessage faz. Defina `to` de acordo com quem recebe a mensagem:

256 

257* **Outra de suas sessões**: `{ sessionId }`

258* **Um subagente ou colega de equipe**: `{ agentId }`, com um id de `$.agent.list()`

259* **O remetente de uma mensagem que você recebeu**: o endereço de string de onde essa mensagem veio

260 

261A chamada resolve uma vez que a mensagem é enfileirada, com `{ isDelivered: true }`. Quando nada foi entregue, ela resolve com `{ isDelivered: false, reason }`, e `reason` diz por quê.

163 262 

164Este hook responde a um comando `/ping`, [registrado como um comando](#add-a-command), pedindo à sessão cujo id você digita após ele um status:263Este hook responde a um comando `/ping`, [registrado como um comando](#add-a-command), pedindo à sessão cujo id você digita após ele um status:

165 264 

Details

281 Obtenha definições de tipo para sua versão281 Obtenha definições de tipo para sua versão

282</h3>282</h3>

283 283 

284Cada vez que o Claude Code carrega ou recarrega um mod de um diretório que você passa a `--plugin-dir`, ou um mod [que Claude escreveu para você](#ask-claude-for-a-mod), ele escreve arquivos de declaração TypeScript, terminando em `.d.ts`, em `.claude-plugin/types/` dentro do diretório do mod. Eles descrevem os eventos exatos, métodos da API de mods e elementos na versão do Claude Code que você está executando, então seu editor pode autocompletar e verificar tipos em seus hooks. Para navegar pelas declarações online, leia [`mods/types/claude-code.d.ts`](https://github.com/anthropics/claude-code/blob/main/mods/types/claude-code.d.ts) no repositório do Claude Code, cuja primeira linha nomeia a versão que a escreveu. O diretório contém estes arquivos:284Quando o Claude Code carrega um mod de `--plugin-dir` em uma sessão interativa, ou um mod [que Claude escreveu para você](#ask-claude-for-a-mod), ele escreve arquivos de declaração TypeScript no diretório `.claude-plugin/types/` do mod. Eles descrevem os eventos exatos, métodos da API de mods e elementos na versão do Claude Code que você está executando, então seu editor pode autocompletar e verificar tipos em seus hooks. O diretório contém estes arquivos:

285 285 

286| Caminho | O que declara |286| Caminho | O que declara |

287| :- | :- |287| :- | :- |

Details

145 145 

146Depois que o Claude edita ou escreve um arquivo `.mdx`, uma linha esmaecida na transcrição indica o nome do arquivo. Nada é registrado em log para outro tipo de arquivo, nem para uma chamada que foi recusada ou falhou. A visão do Claude sobre a chamada não muda, porque o hook retorna o resultado que recebeu.146Depois que o Claude edita ou escreve um arquivo `.mdx`, uma linha esmaecida na transcrição indica o nome do arquivo. Nada é registrado em log para outro tipo de arquivo, nem para uma chamada que foi recusada ou falhou. A visão do Claude sobre a chamada não muda, porque o hook retorna o resultado que recebeu.

147 147 

148Para alterar uma chamada, passe argumentos alterados para `next`. Para tentar novamente uma chamada, chame `next(e)` outra vez: um hook que vê `isError` no primeiro resultado pode executar a ferramenta uma segunda vez e retornar esse resultado. Para responder você mesmo a uma chamada, retorne um objeto com um campo `result`, como `{ result: 'Skipped by my-mod' }`, sem chamar `next`. Quando você faz isso, nenhum prompt de permissão aparece e a ferramenta não é executada, então o resultado que você retorna é tudo o que o Claude fica sabendo sobre o que aconteceu.148Seu hook também pode alterar uma chamada, tentar novamente, respondê-la ele mesmo ou reter seu resultado:

149 

150* **Alterar a chamada**: passe argumentos alterados para `next`.

151* **Tentar novamente a chamada**: chame `next(e)` outra vez. Um hook que vê `isError` no primeiro resultado pode executar a ferramenta uma segunda vez e retornar esse resultado.

152* **Responder você mesmo à chamada**: retorne um objeto com um campo `result`, sem chamar `next`, e, para uma ferramenta integrada, dê a `result` o formato que o próprio resultado dessa ferramenta tem [nos tipos do seu build](/docs/pt/plugins/mods/create#get-the-types-for-your-build). Nenhum prompt de permissão aparece e a ferramenta não é executada, então o resultado que você retorna é tudo o que o Claude fica sabendo sobre o que aconteceu.

153* **Reter o resultado do Claude**: retorne `{ deny: reason }` depois de `await next(e)`. O Claude lê o seu motivo no lugar do que `next` retornou. Quando a ferramenta foi executada, o deny impede que o Claude veja seu resultado e não desfaz nada do que a ferramenta fez. Quando a ferramenta foi executada com sucesso, o motivo vem depois de uma nota como `Bash ran, and a plugin withheld its result:`.

149 154 

150Os hooks nas [configurações gerenciadas](/docs/pt/server-managed-settings) da sua organização são executados antes do hook `tool.call` de qualquer mod, e um bloqueio de um deles é definitivo.155Os hooks nas [configurações gerenciadas](/docs/pt/server-managed-settings) da sua organização são executados antes do hook `tool.call` de qualquer mod, e um bloqueio de um deles é definitivo.

151 156 


225 230 

226| Para fazer isto | Retorne isto |231| Para fazer isto | Retorne isto |

227| :- | :- |232| :- | :- |

228| Reescrever o prompt. A mensagem na transcrição mostra o novo texto. | `next({ ...e, text: newText })` |233| Reescrever o prompt. A transcrição e o seu [histórico de prompts](/docs/pt/interactive-mode#command-history) mostram o novo texto. | `next({ ...e, text: newText })` |

229| Adicionar texto que só o Claude lê, depois do prompt | `next({ ...e, context: [...(e.context ?? []), extraText] })` |234| Adicionar texto que só o Claude lê, depois do prompt | `next({ ...e, context: [...(e.context ?? []), extraText] })` |

230| Impedir que o prompt seja enviado | `{ drop: 'the reason' }` |235| Impedir que o prompt seja enviado | `{ drop: 'the reason' }` |

231 236 


245 250 

246Quando você envia um prompt como `open a PR for this change`, sua mensagem aparece igual na transcrição, e o Claude também lê uma linha como `Current branch: feature/auth` depois dela. Um prompt que não menciona um pull request passa sem alterações, e `git` não é executado.251Quando você envia um prompt como `open a PR for this change`, sua mensagem aparece igual na transcrição, e o Claude também lê uma linha como `Current branch: feature/auth` depois dela. Um prompt que não menciona um pull request passa sem alterações, e `git` não é executado.

247 252 

248Para impedir um prompt, retorne `{ drop: 'the reason' }` sem chamar `next`. Se o seu hook retornar um `drop` depois que sua chamada `next(e)` deixou o prompt passar, o turno ainda é executado, e o hook [falha](#handle-a-hook-that-fails) com uma mensagem que inclui `a drop after its next() was answered`.253Para impedir um prompt, retorne `{ drop: 'the reason' }` sem chamar `next`. O texto volta para a entrada de prompt do usuário, e ele vê `Prompt dropped by a hook:` seguido do seu motivo, então dirija o motivo a ele. Se o seu hook retornar um `drop` depois que sua chamada `next(e)` deixou o prompt passar, o turno ainda é executado, e o hook [falha](#handle-a-hook-that-fails) com uma mensagem que inclui `a drop after its next() was answered`.

249 254 

250[Outros eventos](/docs/pt/plugins/mods/reference#prompts-and-what-claude-reads) cobrem o restante do que o Claude lê: `prompt.section` para cada seção do system prompt, `prompt.context` para o contexto enviado com a primeira mensagem e `skill.prompt` para o texto de uma skill. Texto desses hooks que muda entre requisições [invalida o cache de prompt](/docs/pt/prompt-caching).255[Outros eventos](/docs/pt/plugins/mods/reference#prompts-and-what-claude-reads) cobrem o restante do que o Claude lê: `prompt.section` para cada seção do system prompt, `prompt.context` para o contexto enviado com a primeira mensagem e `skill.prompt` para o texto de uma skill. Texto desses hooks que muda entre requisições [invalida o cache de prompt](/docs/pt/prompt-caching).

251 256 


281 286 

282`result.usage` contém as contagens de tokens que a API do Claude informa para uma requisição, mais o `model` que respondeu: `input_tokens`, `output_tokens`, `cache_read_input_tokens` e `cache_creation_input_tokens`. O hook também é executado para as requisições de subagentes, então verifique `e.agentId` quando quiser apenas a conversa principal.287`result.usage` contém as contagens de tokens que a API do Claude informa para uma requisição, mais o `model` que respondeu: `input_tokens`, `output_tokens`, `cache_read_input_tokens` e `cache_creation_input_tokens`. O hook também é executado para as requisições de subagentes, então verifique `e.agentId` quando quiser apenas a conversa principal.

283 288 

289Para ver as chamadas de ferramenta que a própria API executou durante a requisição, como chamadas à [ferramenta advisor](/docs/pt/advisor), leia `result.serverToolUses`. O Claude Code não executa essas chamadas, então nenhum hook `tool.call` ou `tool.check` é disparado para elas. O campo está ausente quando a resposta não tem chamadas desse tipo, e requer o Claude Code v2.1.290 ou posterior.

290 

284<h3 id="hook-the-settings-hook-events">291<h3 id="hook-the-settings-hook-events">

285 Tratar os eventos de hooks de configuração292 Tratar os eventos de hooks de configuração

286</h3>293</h3>


369* **`tool.check`**: retorne `{ decision: 'deny', reason: 'the reason' }`376* **`tool.check`**: retorne `{ decision: 'deny', reason: 'the reason' }`

370* **`plugin.register`**: retorne `{ refuse: 'the reason' }`, como [Recuse mods quando sua verificação falhar](/docs/pt/plugins/mods/admin#refuse-mods-when-your-check-fails) mostra377* **`plugin.register`**: retorne `{ refuse: 'the reason' }`, como [Recuse mods quando sua verificação falhar](/docs/pt/plugins/mods/admin#refuse-mods-when-your-check-fails) mostra

371 378 

379Em `tool.call`, um `deny` retornado após `next` ser resolvido [retém o resultado, impedindo que chegue a Claude](#guard-or-change-a-tool-call).

380 

372<h2 id="next-steps">381<h2 id="next-steps">

373 Próximos passos382 Próximos passos

374</h2>383</h2>

Details

10 10 

11Este mapa mostra onde um mod pode desenhar em uma sessão de terminal:11Este mapa mostra onde um mod pode desenhar em uma sessão de terminal:

12 12 

13<img src="https://mintcdn.com/claude-code/dgiVO_Od1X1faduV/images/mods-screen-map.svg?fit=max&auto=format&n=dgiVO_Od1X1faduV&q=85&s=5fda26b6609c62b68c6f9e528c1590ea" className="dark:hidden" alt="Mapa de uma sessão de terminal Claude Code. Um mod pode adicionar um painel como uma barra lateral à direita, um toast no canto superior direito da transcrição, uma linha de log na transcrição, uma faixa acima do prompt e uma linha de status sob o prompt. Um mod pode redesenhar mensagens, linhas de chamada de ferramenta e o spinner. O prompt é do próprio Claude Code." width="600" height="336" data-path="images/mods-screen-map.svg" />13<img src="https://mintcdn.com/claude-code/dgiVO_Od1X1faduV/images/mods-screen-map.svg?fit=max&auto=format&n=dgiVO_Od1X1faduV&q=85&s=5fda26b6609c62b68c6f9e528c1590ea" className="dark:hidden" alt="Mapa de uma sessão de terminal Claude Code com renderização em tela cheia. Um mod pode adicionar um painel como uma barra lateral à direita, um toast no canto superior direito da transcrição, uma linha de log na transcrição, uma faixa acima do prompt e uma linha de status sob o prompt. Um mod pode redesenhar mensagens, linhas de chamada de ferramenta e o spinner. O prompt é do próprio Claude Code." width="600" height="336" data-path="images/mods-screen-map.svg" />

14 14 

15<img src="https://mintcdn.com/claude-code/dgiVO_Od1X1faduV/images/mods-screen-map-dark.svg?fit=max&auto=format&n=dgiVO_Od1X1faduV&q=85&s=5b4161581a1bd2c0450b0c8b57bc1225" className="hidden dark:block" alt="Mapa de uma sessão de terminal Claude Code. Um mod pode adicionar um painel como uma barra lateral à direita, um toast no canto superior direito da transcrição, uma linha de log na transcrição, uma faixa acima do prompt e uma linha de status sob o prompt. Um mod pode redesenhar mensagens, linhas de chamada de ferramenta e o spinner. O prompt é do próprio Claude Code." width="600" height="336" data-path="images/mods-screen-map-dark.svg" />15<img src="https://mintcdn.com/claude-code/dgiVO_Od1X1faduV/images/mods-screen-map-dark.svg?fit=max&auto=format&n=dgiVO_Od1X1faduV&q=85&s=5b4161581a1bd2c0450b0c8b57bc1225" className="hidden dark:block" alt="Mapa de uma sessão de terminal Claude Code com renderização em tela cheia. Um mod pode adicionar um painel como uma barra lateral à direita, um toast no canto superior direito da transcrição, uma linha de log na transcrição, uma faixa acima do prompt e uma linha de status sob o prompt. Um mod pode redesenhar mensagens, linhas de chamada de ferramenta e o spinner. O prompt é do próprio Claude Code." width="600" height="336" data-path="images/mods-screen-map-dark.svg" />

16 16 

17Em um terminal mais estreito, o painel fica acima do prompt em vez de ao lado da transcrição.17Em um terminal mais estreito, o painel fica acima do prompt em vez de ao lado da transcrição.

18 18 


324| `title` | O rótulo da aba do painel quando mais de um painel está aberto |324| `title` | O rótulo da aba do painel quando mais de um painel está aberto |

325| `focus` | Solicita [foco do teclado](#know-which-keys-your-mod-can-receive) |325| `focus` | Solicita [foco do teclado](#know-which-keys-your-mod-can-receive) |

326| `closeOnEscape` | Faz Esc fechar o painel |326| `closeOnEscape` | Faz Esc fechar o painel |

327| `holdToasts` | Mantém toasts, os pequenos avisos de [`$.ui.toast`](/docs/pt/plugins/mods/api#show-something-without-starting-a-turn), até o painel fechar |327| `holdToasts` | No terminal, retém toasts enquanto este painel é o que está sendo exibido. Consulte [Reter toasts atrás de um diálogo](#hold-toasts-behind-a-dialog). |

328| `rows` | A altura para pedir quando o painel fica acima do prompt. O padrão é um terço do espaço. |328| `rows` | A altura para pedir quando o painel fica acima do prompt. O padrão é um terço do espaço. |

329| `columns` | A largura para pedir quando o painel fica ao lado da transcrição |329| `columns` | A largura para pedir quando o painel fica ao lado da transcrição |

330 330 


337 337 

338Para deixar um comando abrir o painel enquanto o Claude está trabalhando, adicione `immediate: true` quando você [registra o comando](/docs/pt/plugins/mods/api#add-a-command). Sem isso, um comando digitado durante um turno espera o turno terminar.338Para deixar um comando abrir o painel enquanto o Claude está trabalhando, adicione `immediate: true` quando você [registra o comando](/docs/pt/plugins/mods/api#add-a-command). Sem isso, um comando digitado durante um turno espera o turno terminar.

339 339 

340<h4 id="hold-toasts-behind-a-dialog">

341 Reter toasts atrás de um diálogo

342</h4>

343 

344Passe `holdToasts: true` para `$.ui.open` quando o painel for um diálogo que o usuário responde e deixa, para que toasts não apareçam enquanto ele decide. No terminal, a retenção dura enquanto esse painel é o que está sendo exibido, e um toast disparado nesse tempo espera até a retenção terminar.

345 

346O Claude Code retém os toasts de outros mods e suas próprias notificações de curta duração, assim como os que seu mod dispara com [`$.ui.toast`](/docs/pt/plugins/mods/api#show-something-without-starting-a-turn). Deixe o campo de fora em um painel que permanece aberto, para que o usuário continue vendo-os.

347 

340<h4 id="when-a-pane-waits-for-a-wider-terminal">348<h4 id="when-a-pane-waits-for-a-wider-terminal">

341 Quando um painel espera por um terminal mais amplo349 Quando um painel espera por um terminal mais amplo

342</h4>350</h4>

Details

64| :- | :- | :- |64| :- | :- | :- |

65| [`tool.call`](/docs/pt/plugins/mods/events#guard-or-change-a-tool-call) | Uma ferramenta está prestes a ser executada | `next(e)`, `{ deny: reason }` ou `{ result }` |65| [`tool.call`](/docs/pt/plugins/mods/events#guard-or-change-a-tool-call) | Uma ferramenta está prestes a ser executada | `next(e)`, `{ deny: reason }` ou `{ result }` |

66| [`tool.check`](/docs/pt/plugins/mods/events#where-settings-hooks-run-in-the-order) | O Claude Code decide se uma chamada de ferramenta pode ser executada, após os hooks `tool.call` e `PreToolUse`. `next(e)` resolve para a decisão a que chegaram as regras, o modo de permissão e esses hooks. | `{ decision }`, que é `allow`, `ask` ou `deny` |66| [`tool.check`](/docs/pt/plugins/mods/events#where-settings-hooks-run-in-the-order) | O Claude Code decide se uma chamada de ferramenta pode ser executada, após os hooks `tool.call` e `PreToolUse`. `next(e)` resolve para a decisão a que chegaram as regras, o modo de permissão e esses hooks. | `{ decision }`, que é `allow`, `ask` ou `deny` |

67| `tool.describe` | Uma vez para cada ferramenta, quando sua descrição é enviada pela primeira vez ao Claude | `{ description }`, opcionalmente com `isDeferred` definido como `true` para colocar a ferramenta por trás da [busca de ferramentas](/docs/pt/mcp#scale-with-mcp-tool-search) ou `false` para carregá-la antecipadamente |67| `tool.describe` | Uma vez para cada ferramenta, quando sua descrição é enviada pela primeira vez ao Claude. Uma segunda vez para uma ferramenta MCP quando o Claude a carrega por meio da [busca de ferramentas](/docs/pt/mcp#scale-with-mcp-tool-search), com `e.description` definido como o texto que o Claude lê para a ferramenta carregada. | `{ description }`, opcionalmente com `isDeferred` definido como `true` para colocar a ferramenta por trás da busca de ferramentas ou `false` para carregá-la antecipadamente |

68 68 

69<h4 id="agent-and-organization-fields-on-tool-check">69<h4 id="agent-and-organization-fields-on-tool-check">

70 Campos de agente e de organização em `tool.check`70 Campos de agente e de organização em `tool.check`


133| `session.end` | A sessão termina, ou `/clear`, `/resume` ou `/branch` é executado. `e.reason` é `clear`, `resume`, `logout`, `prompt_input_exit` ou `other`. `/branch` informa `resume`. | `next(e)` |133| `session.end` | A sessão termina, ou `/clear`, `/resume` ou `/branch` é executado. `e.reason` é `clear`, `resume`, `logout`, `prompt_input_exit` ou `other`. `/branch` informa `resume`. | `next(e)` |

134| `session.compact` | A conversa está prestes a ser compactada | `{ skip: reason }` |134| `session.compact` | A conversa está prestes a ser compactada | `{ skip: reason }` |

135| [`session.receive`](/docs/pt/plugins/mods/api#send-and-receive-messages-between-sessions), [`session.send`](/docs/pt/plugins/mods/api#send-and-receive-messages-between-sessions) | Uma mensagem chega de, ou está prestes a ir para, outro agente ou sessão. Consulte [Enviar e receber mensagens entre sessões](/docs/pt/plugins/mods/api#send-and-receive-messages-between-sessions). | `{ consumed: reason }` para `receive`, `{ isDelivered: false, reason }` para `send` |135| [`session.receive`](/docs/pt/plugins/mods/api#send-and-receive-messages-between-sessions), [`session.send`](/docs/pt/plugins/mods/api#send-and-receive-messages-between-sessions) | Uma mensagem chega de, ou está prestes a ir para, outro agente ou sessão. Consulte [Enviar e receber mensagens entre sessões](/docs/pt/plugins/mods/api#send-and-receive-messages-between-sessions). | `{ consumed: reason }` para `receive`, `{ isDelivered: false, reason }` para `send` |

136| `session.append` | Uma vez para cada linha que a conversa mantém, como um prompt, um bloco de resposta, um resultado de ferramenta ou um aviso, antes de ser armazenada | `next({ ...e, message })` para reescrever o `content` da linha |136| `session.append` | Uma vez para cada linha que a conversa mantém, como um prompt, um bloco de resposta, um resultado de ferramenta ou um aviso, antes de ser armazenada | `next({ ...e, message })` com um `message.content` alterado, para reescrever os blocos de texto da linha ou o `content` de um bloco `tool_result` nela |

137| `session.attach`, `session.detach` | Outro aplicativo se conecta à sessão ou se desconecta dela | `next(e)` |137| `session.attach`, `session.detach` | Outro aplicativo se conecta à sessão ou se desconecta dela | `next(e)` |

138| `session.measure` | Após cada turno e quando o percentual usado de um limite do plano muda | `next(e)` |138| `session.measure` | Após cada turno e quando o percentual usado de um limite do plano muda | `next(e)` |

139 139 


209| [`$.ui`](/docs/pt/plugins/mods/interface#pick-where-to-draw) | `resolve`, `invalidate`, `open`, `close`, `panes`, `focus`, `scroll`, `toast`, `status`, `log`, `notice`, `ask`, `copy`, `selection`, `blit` |209| [`$.ui`](/docs/pt/plugins/mods/interface#pick-where-to-draw) | `resolve`, `invalidate`, `open`, `close`, `panes`, `focus`, `scroll`, `toast`, `status`, `log`, `notice`, `ask`, `copy`, `selection`, `blit` |

210| [`$.command`](/docs/pt/plugins/mods/api#add-a-command) | `register`, `run`, `list` |210| [`$.command`](/docs/pt/plugins/mods/api#add-a-command) | `register`, `run`, `list` |

211| [`$.tool`](/docs/pt/plugins/mods/api#add-a-tool) | `register`, `call`, `check`, `list` |211| [`$.tool`](/docs/pt/plugins/mods/api#add-a-tool) | `register`, `call`, `check`, `list` |

212| `$.agent` | `register`, `spawn`, `list` |212| `$.agent` | `register`, `spawn`, `list`. `list()` retorna os subagentes e colegas de equipe desta sessão, cada um com um `status` de `pending`, `running`, `waiting`, `idle`, `completed`, `failed` ou `killed`, sendo que `idle` e `waiting` exigem o Claude Code v2.1.289 ou posterior. |

213| [`$.model`](/docs/pt/plugins/mods/api#call-a-model) | `complete`, `fork`, `classify` |213| [`$.model`](/docs/pt/plugins/mods/api#call-a-model) | `complete`, `fork`, `classify` |

214| [`$.prompt`](/docs/pt/plugins/mods/api#start-a-turn-from-a-background-job) | `submit`, `read`, `fill`, `suggest`, `compose`. O Claude lê o texto de `submit({ text })` após uma frase que indica o seu mod como remetente. `submit({ text, asUser: true })` envia o texto como se fossem palavras do próprio usuário, sem essa frase. |214| [`$.prompt`](/docs/pt/plugins/mods/api#start-a-turn-from-a-background-job) | `submit`, `read`, `fill`, `suggest`, `compose`. O Claude lê o texto de `submit({ text })` após uma frase que indica o seu mod como remetente. `submit({ text, asUser: true })` envia o texto como se fossem palavras do próprio usuário, sem essa frase. |

215| `$.turn` | `abort` |215| `$.turn` | `abort` |


317| Timeout de `$.process.run` | 30 segundos por padrão, no máximo 10 minutos |317| Timeout de `$.process.run` | 30 segundos por padrão, no máximo 10 minutos |

318| `maxTokens` de `$.model.complete` | 1024 por padrão, até 64.000 ou o limite de saída do modelo |318| `maxTokens` de `$.model.complete` | 1024 por padrão, até 64.000 ou o limite de saída do modelo |

319| `$.fs.read` e `$.fs.write` | 4 MiB para um arquivo |319| `$.fs.read` e `$.fs.write` | 4 MiB para um arquivo |

320| O motivo de `drop` de um hook ou o motivo de `deny` de `config.set` | 4.096 caracteres. O final de um motivo mais longo é cortado, e o drop ou deny ainda se aplica. O corte requer o Claude Code v2.1.292 ou posterior e, em versões anteriores, o hook [falha](/docs/pt/plugins/mods/events#handle-a-hook-that-fails) em vez disso. |

320| Texto em uma árvore | Os primeiros 100.000 caracteres são desenhados |321| Texto em uma árvore | Os primeiros 100.000 caracteres são desenhados |

321| O `language` ou `path` de um `Code`, o `value` de uma opção de `Select` ou o `module` de um `Client` | 10.000 caracteres. Se algum for mais longo, o Claude Code [desenha sua própria versão do site](/docs/pt/plugins/mods/interface#build-a-tree-from-elements). |322| O `language` ou `path` de um `Code`, o `value` de uma opção de `Select` ou o `module` de um `Client` | 10.000 caracteres. Se algum for mais longo, o Claude Code [desenha sua própria versão do site](/docs/pt/plugins/mods/interface#build-a-tree-from-elements). |

322| O `href` de um `Link` | 2.048 caracteres. Um `href` mais longo impede que a árvore inteira seja desenhada. |323| O `href` de um `Link` | 2.048 caracteres. Um `href` mais longo impede que a árvore inteira seja desenhada. |


325| Redesenhos de `$.ui.invalidate('ui.render')` | Limitados a 10 por segundo, ou 30 no terminal para o painel visível, a faixa expandida e a linha de dica abaixo do prompt. Chamadas que chegam antes disso são agrupadas. |326| Redesenhos de `$.ui.invalidate('ui.render')` | Limitados a 10 por segundo, ou 30 no terminal para o painel visível, a faixa expandida e a linha de dica abaixo do prompt. Chamadas que chegam antes disso são agrupadas. |

326| `$.ui.toast` | Exibido por 4 segundos, a menos que você passe `{ timeoutMs }` |327| `$.ui.toast` | Exibido por 4 segundos, a menos que você passe `{ timeoutMs }` |

327| Um painel aberto sem que o usuário tenha pedido | Posicionado a partir de 144 colunas do terminal, 110 depois que o usuário o tiver aberto uma vez |328| Um painel aberto sem que o usuário tenha pedido | Posicionado a partir de 144 colunas do terminal, 110 depois que o usuário o tiver aberto uma vez |

329| Escopos, como funções, blocos e loops, aninhados uns dentro dos outros em um arquivo de um módulo de hooks | 2.000 |

328| Nomes de comandos, ferramentas, tipos de subagente e painéis | Letras, dígitos, `_` e `-`, até 64 caracteres |330| Nomes de comandos, ferramentas, tipos de subagente e painéis | Letras, dígitos, `_` e `-`, até 64 caracteres |

329| Um teste do `claude plugin test` | 5 segundos, a menos que o teste defina `timeoutMs` |331| Um teste do `claude plugin test` | 5 segundos, a menos que o teste defina `timeoutMs` |

330 332 

Details

110* `returned neither { value } nor { deny }`: um stub para uma chamada de mods API retornou um valor simples, o que faz o teste falhar110* `returned neither { value } nor { deny }`: um stub para uma chamada de mods API retornou um valor simples, o que faz o teste falhar

111* `no implementation for` seguido por um nome: seu mod fez essa chamada e nenhum stub a responde111* `no implementation for` seguido por um nome: seu mod fez essa chamada e nenhum stub a responde

112 112 

113O kit também exporta mocks em memória que respondem um namespace inteiro para você. `mock.clock(on)` responde [`$.clock`](/docs/pt/plugins/mods/api#run-work-in-the-background), `mock.store(on, { count: 7 })` responde `$.store` de um armazenamento que começa com essas entradas, e `mock.env(on, { CI: 'true' })` responde `$.env.get` dessas variáveis. `mock.clock` retorna um relógio simulado que seu teste avança, então um teste de um temporizador não espera. `mock.store` não retorna nada, então para verificar o que seu mod salvou, escreva os dois stubs `store` você mesmo como o [drawing test](#test-a-drawing) faz.113O kit também exporta mocks prontos para o relógio, o armazenamento, as variáveis de ambiente e as linhas anexadas à conversa:

114 

115* **`mock.clock(on)`**: responde [`$.clock`](/docs/pt/plugins/mods/api#run-work-in-the-background) e retorna um relógio simulado que seu teste avança, então um teste de um temporizador não espera.

116* **`mock.store(on, { count: 7 })`**: responde `$.store` de um armazenamento que começa com essas entradas. Não retorna nada, então para verificar o que seu mod salvou, escreva os dois stubs `store` você mesmo como o [drawing test](#test-a-drawing) faz.

117* **`mock.env(on, { CI: 'true' })`**: responde `$.env.get` dessas variáveis.

118* **`mock.session(on)`**: retorna uma sessão simulada cujo método `appended()` lista as linhas que seu mod adicionou com [`$.session.append`](/docs/pt/plugins/mods/reference#session), da mais antiga para a mais recente; requer Claude Code v2.1.293 ou posterior.

114 119 

115<h3 id="follow-the-test-kit’s-rules">120<h3 id="follow-the-test-kit’s-rules">

116 Seguir as regras do test kit121 Seguir as regras do test kit


168 Procurar o que um stub retorna173 Procurar o que um stub retorna

169</h3>174</h3>

170 175 

171Cada chamada de mods API que seu mod faz em um teste precisa de um stub que responda no lugar do Claude Code, exceto as poucas que o kit responde por si: chamadas [`$.ui.invalidate`](/docs/pt/plugins/mods/interface#redraw-when-something-changes) e [`$.state`](/docs/pt/plugins/mods/interface#keep-state). Para chamadas `$.clock`, use `mock.clock(on)`, ou seu `$.clock.now()` do mod falha com `no implementation for clock.now`.176Cada chamada de mods API que seu mod faz em um teste precisa de um stub que responda no lugar do Claude Code, exceto as poucas que o kit responde por si: chamadas [`$.ui.invalidate`](/docs/pt/plugins/mods/interface#redraw-when-something-changes), [`$.state`](/docs/pt/plugins/mods/interface#keep-state) e `$.session.append`. Para chamadas `$.clock`, use `mock.clock(on)`, ou seu `$.clock.now()` do mod falha com `no implementation for clock.now`.

172 177 

173Esta tabela lista as que mods usam mais. A primeira coluna é a chamada que seu mod faz ou o evento que passa com `next(e)`. A segunda é a função para passar para `on` sob esse nome, então a linha `$.store.get` se torna `on('store.get', ($, e) => ({ value: saved.get(e.key) }))`. Um `'...'` em um stub marca texto para você preencher:178Esta tabela lista as que mods usam mais. A primeira coluna é a chamada que seu mod faz ou o evento que passa com `next(e)`. A segunda é a função para passar para `on` sob esse nome, então a linha `$.store.get` se torna `on('store.get', ($, e) => ({ value: saved.get(e.key) }))`. Um `'...'` em um stub marca texto para você preencher:

174 179 

Details

116 116 

117Defina ou altere o valor. O final da linha nomeia sua entrada `pluginConfigs` em `settings.json`.117Defina ou altere o valor. O final da linha nomeia sua entrada `pluginConfigs` em `settings.json`.

118 118 

119<h3 id="code-nested-too-deep-to-scan-more-than-2000-scopes">

120 `code nested too deep to scan: more than 2000 scopes`

121</h3>

122 

123A linha começa com o nome do mod, depois `hooks module did not load:`, o arquivo e `code nested too deep to scan: more than 2000 scopes`. Um arquivo em um módulo de hooks não pode aninhar escopos, como funções, blocos e loops, com mais de [2.000 níveis de profundidade](/docs/pt/plugins/mods/reference#limits). [`claude plugin validate`](/docs/pt/plugins/mods/create#check-what-claude-code-reads-from-your-mod) informa o mesmo motivo.

124 

125Reescreva o código para que seus escopos fiquem menos profundamente aninhados.

126 

119<h3 id="no-mod-loads-in-a-directory-you-opened-for-the-first-time">127<h3 id="no-mod-loads-in-a-directory-you-opened-for-the-first-time">

120 Nenhum mod carrega em um diretório que você abriu pela primeira vez128 Nenhum mod carrega em um diretório que você abriu pela primeira vez

121</h3>129</h3>


132 140 

133Inicie sem a flag.141Inicie sem a flag.

134 142 

143<h3 id="claude-code-stops-asking-to-enable-hot-reloading">

144 Claude Code para de perguntar se deve ativar o recarregamento dinâmico

145</h3>

146 

147Claude escreve um mod em uma sessão interativa, nada carrega, e Claude Code não pergunta novamente [se deve ativar o recarregamento dinâmico](/docs/pt/plugins/mods/create#ask-claude-for-a-mod). Se a pergunta terminar três vezes sem que uma resposta seja escolhida, o recarregamento dinâmico permanece desativado. Por exemplo, a pergunta termina dessa forma quando você define [`askUserQuestionTimeout`](/docs/pt/settings-reference#askuserquestiontimeout) e o tempo passa antes de você responder. Essa configuração se aplica aqui porque Claude Code pergunta no mesmo [diálogo de pergunta que `AskUserQuestion` usa](/docs/pt/tools-reference#question-auto-continue-timeout). Uma pergunta que você mesmo descarta não conta para as três.

148 

149Para executar o mod, [copie seu diretório para fora da pasta de mods](/docs/pt/plugins/mods/create#use-the-mod-in-other-sessions) e, em seguida, no seu shell, inicie uma nova sessão com `--plugin-dir`, como em `claude --plugin-dir ~/mods/git-branch`.

150 

135<h2 id="a-hook-is-skipped-or-a-mod-is-unloaded">151<h2 id="a-hook-is-skipped-or-a-mod-is-unloaded">

136 Um hook é ignorado ou um mod é descarregado152 Um hook é ignorado ou um mod é descarregado

137</h2>153</h2>


209 Um desenho não aparece ou responde225 Um desenho não aparece ou responde

210</h2>226</h2>

211 227 

212O mod carregou e seu painel, banda ou controles não se comportam como você espera.228O mod carregou e seu painel, banda, toast ou controles não se comportam como você espera.

213 229 

214<h3 id="a-pane-or-band-is-empty-or-shows-claude-code’s-usual-content">230<h3 id="a-pane-or-band-is-empty-or-shows-claude-code’s-usual-content">

215 Um painel ou banda está vazio ou mostra o conteúdo usual de Claude Code231 Um painel ou banda está vazio ou mostra o conteúdo usual de Claude Code


247 263 

248Abra o painel a partir de um comando ou botão, ou verifique o resultado `isPlaced` da chamada. Veja [Abrir um painel no momento certo](/docs/pt/plugins/mods/interface#open-a-pane-at-the-right-time).264Abra o painel a partir de um comando ou botão, ou verifique o resultado `isPlaced` da chamada. Veja [Abrir um painel no momento certo](/docs/pt/plugins/mods/interface#open-a-pane-at-the-right-time).

249 265 

266<h3 id="a-toast-doesn’t-appear">

267 Um toast não aparece

268</h3>

269 

270Seu mod chama [`$.ui.toast`](/docs/pt/plugins/mods/api#show-something-without-starting-a-turn) em uma sessão interativa do terminal e você não vê o toast. Para confirmar que a chamada foi executada, procure no [log de depuração](#read-the-debug-log) uma linha com o nome do seu mod e o texto do toast, como em `$.ui.toast (first-mod): build finished`. Depois, verifique causas como estas:

271 

272* **A linha da chamada está ausente**: procure uma linha que diga por que Claude Code recusou a chamada, como em `first-mod: $.ui.toast dropped: timeoutMs is a whole number of ms, 1 to 60000`.

273* **Um painel está retendo os toasts**: seu mod ou outro passou [`holdToasts`](/docs/pt/plugins/mods/interface#hold-toasts-behind-a-dialog) ao abrir o painel que está sendo exibido. Feche o painel para encerrar a retenção. Se o painel for seu e deve permanecer aberto, remova `holdToasts` da chamada `$.ui.open` dele e abra o painel novamente.

274* **O toast está abaixo do prompt**: no [renderizador clássico](/docs/pt/fullscreen#enable-fullscreen-rendering), olhe à direita, abaixo do prompt. Um toast ali é uma linha que começa com o nome do mod, em vez de uma caixa no canto superior direito.

275* **Seu mod gerou um toast mais recente**: no renderizador clássico, um toast mais recente do seu mod pode tomar o lugar de um que está sendo exibido ou aguardando para ser exibido. O log de depuração tem outra linha para o toast mais antigo, que termina com `gave way, cut short` quando ele estava sendo exibido, ou `gave way, unseen` quando nunca apareceu. Para mostrar as duas mensagens, coloque-as em um único toast.

276* **O tempo do toast esgotou antes de ser desenhado**: na renderização em tela cheia, Claude Code desenha no máximo três toasts por vez, então o tempo de um toast pode se esgotar antes de ele ser desenhado. O log de depuração tem outra linha para esse toast, que termina com `left the stack, never drawn`. Quando seu mod gerar vários ao mesmo tempo, coloque as mensagens em um único toast.

277 

278Antes da v2.1.290, Claude Code descartava um toast gerado dentro de dois segundos após o último que exibiu para o seu mod, e a linha do log de depuração para o toast descartado dizia `within 2000ms of the last; dropped`.

279 

250<h3 id="hotkeys-do-nothing">280<h3 id="hotkeys-do-nothing">

251 Hotkeys não fazem nada281 Hotkeys não fazem nada

252</h3>282</h3>

Details

110}110}

111```111```

112 112 

113Em seu shell, execute `claude plugin validate .` no repositório para verificar o arquivo antes de fazer push.113Em seu shell, execute `claude plugin validate .` no repositório antes de fazer push. Para saber o que a execução verifica, veja [Validar um diretório](/docs/pt/plugins/cli-reference#validate-a-directory).

114 114 

115[Criar um marketplace](/docs/pt/plugins/create-marketplace) cobre o layout com vários plugins em um repositório.115[Criar um marketplace](/docs/pt/plugins/create-marketplace) cobre o layout com vários plugins em um repositório.

116 116 


129* Adicione o marketplace uma vez: `claude plugin marketplace add your-org/your-marketplace`, onde o argumento é um atalho GitHub `owner/repo`, uma URL ou um caminho129* Adicione o marketplace uma vez: `claude plugin marketplace add your-org/your-marketplace`, onde o argumento é um atalho GitHub `owner/repo`, uma URL ou um caminho

130* Instale o plugin: `claude plugin install deploy-helper@your-marketplace`130* Instale o plugin: `claude plugin install deploy-helper@your-marketplace`

131* Ou faça ambos de dentro de uma sessão: `/plugin install deploy-helper --marketplace your-org/your-marketplace`. Requer Claude Code v2.1.275 ou posterior. Veja [Adicione um marketplace e instale em um comando](/docs/pt/plugins/install#add-a-marketplace-and-install-in-one-command)131* Ou faça ambos de dentro de uma sessão: `/plugin install deploy-helper --marketplace your-org/your-marketplace`. Requer Claude Code v2.1.275 ou posterior. Veja [Adicione um marketplace e instale em um comando](/docs/pt/plugins/install#add-a-marketplace-and-install-in-one-command)

132* Ou faça ambos a partir do shell em um único comando: `claude plugin install deploy-helper --marketplace your-org/your-marketplace`. Requer Claude Code v2.1.292 ou posterior

132 133 

133<h3 id="ship-updates-to-users">134<h3 id="ship-updates-to-users">

134 Envie atualizações aos usuários135 Envie atualizações aos usuários

Details

163 `Invalid marketplace source format`163 `Invalid marketplace source format`

164</h3>164</h3>

165 165 

166Você executou `/plugin marketplace add <source>` ou `claude plugin marketplace add <source>`, e Claude Code respondeu `Invalid marketplace source format. Try: owner/repo, https://..., or ./path`.166Você executou `/plugin marketplace add <source>`, `claude plugin marketplace add <source>` ou `claude plugin install <plugin> --marketplace <source>`, e Claude Code respondeu `Invalid marketplace source format. Try: owner/repo, https://..., or ./path`.

167 167 

168Claude Code aceita uma fonte em uma destas formas:168Claude Code aceita uma fonte em uma destas formas:

169 169 


237* **Você é o proprietário do marketplace**: coloque o arquivo nesse local e re-adicione o marketplace237* **Você é o proprietário do marketplace**: coloque o arquivo nesse local e re-adicione o marketplace

238* **Alguém mais o hospeda**: peça ao proprietário pela fonte exata que eles publicam238* **Alguém mais o hospeda**: peça ao proprietário pela fonte exata que eles publicam

239 239 

240<h3 id="cannot-install-plugins-from-a-marketplace-with-this-name">

241 `Cannot add marketplace "<name>": Claude Code cannot install plugins from a marketplace with this name`

242</h3>

243 

244Você adicionou um marketplace, e o [`name`](/docs/pt/plugins/marketplace-reference#top-level-fields) no seu `marketplace.json` não é válido como a parte após `@` em um [ID de plugin](/docs/pt/plugins/loading#find-where-a-plugin-came-from) como `my-plugin@my-marketplace`. Claude Code recusa a adição e não registra nada.

245 

246O resto da mensagem declara a regra para o nome. Neste exemplo, `_internal` quebra a regra ao começar com `_`:

247 

248```text theme={null}

249Cannot add marketplace "_internal": Claude Code cannot install plugins from a marketplace with this name. Each part of a plugin id (plugin@marketplace) may use only the letters a-z and A-Z, digits, ".", "_" and "-", and must start with a letter or digit. The name is set by "name" in the marketplace's marketplace.json; ask its maintainer to change it.

250```

251 

252Dê ao marketplace um nome que se encaixe nessa regra, depois adicione-o novamente:

253 

254* **Você é o proprietário do marketplace**: altere `name` em `marketplace.json`, por exemplo para `internal-tools`

255* **Alguém mais o hospeda**: peça ao proprietário para alterar o nome

256 

257Antes da v2.1.295, Claude Code relatava a adição neste exemplo como bem-sucedida.

258 

240<h3 id="ssh-authentication-failed-or-https-authentication-failed">259<h3 id="ssh-authentication-failed-or-https-authentication-failed">

241 `SSH authentication failed` or `HTTPS authentication failed`260 `SSH authentication failed` or `HTTPS authentication failed`

242</h3>261</h3>


568 `Marketplace "<name>" is already added from a different source`587 `Marketplace "<name>" is already added from a different source`

569</h3>588</h3>

570 589 

571Você confirmou adicionar um marketplace através de [`/plugin install <plugin> --marketplace <source>`](/docs/pt/plugins/install#add-a-marketplace-and-install-in-one-command), e o catálogo que Claude Code buscou dessa fonte tem o mesmo nome que um marketplace que você já adicionou a partir de uma fonte diferente. Claude Code mantém o marketplace existente em vez de substituí-lo, e o plugin não é instalado.590Você nomeou uma nova fonte de marketplace com [`--marketplace <source>` no comando de instalação](/docs/pt/plugins/install#add-a-marketplace-and-install-in-one-command), em uma sessão ou a partir do seu shell. O catálogo que Claude Code buscou dessa fonte tem o mesmo nome que um marketplace que você já adicionou a partir de uma fonte diferente. Claude Code mantém o marketplace existente em vez de substituí-lo, e o plugin não é instalado.

572 591 

573A mensagem completa se parece com isto:592A mensagem completa se parece com isto:

574 593 


786 805 

787Claude Code copia os registros inutilizáveis para o arquivo `.set-aside` e os descarta da lista. Claude Code nunca lê as cópias de volta, e as cópias envelhecem no cronograma [`cleanupPeriodDays`](/docs/pt/settings-reference#cleanupperioddays).806Claude Code copia os registros inutilizáveis para o arquivo `.set-aside` e os descarta da lista. Claude Code nunca lê as cópias de volta, e as cópias envelhecem no cronograma [`cleanupPeriodDays`](/docs/pt/settings-reference#cleanupperioddays).

788 807 

808<h3 id="does-not-load-so-claude-code-ignores-the-whole-file">

809 `does not load (...), so Claude Code ignores the whole file`

810</h3>

811 

812O comando funcionou. O arquivo de configurações que o aviso nomeia tem um erro, então Claude Code ignora o arquivo inteiro, incluindo qualquer coisa que o comando escreveu nele, até que você o corrija.

813 

814Corrija o erro que o aviso nomeia. Para um valor que Claude Code não aceita, [Fix a broken settings file](/docs/pt/settings#fix-a-broken-settings-file) explica como. Depois execute o comando novamente se a alteração dele não estiver mais no arquivo.

815 

816O aviso segue a linha de sucesso de `claude plugin install`, `enable`, `disable` ou `claude plugin marketplace add` no seu shell:

817 

818```text theme={null}

819⚠ /home/user/.claude/settings.json does not load (its "permissions" is not valid), so Claude Code ignores the whole file, including anything this command wrote there. Fix the file, then run this command again if its change is missing. If a newer Claude Code wrote the file, update Claude Code instead.

820```

821 

822O texto entre parênteses nomeia o erro:

823 

824* **`its "<key>" is not valid`**: a configuração entre aspas contém um valor que Claude Code não aceita. Consulte a configuração na [referência de configurações](/docs/pt/settings-reference) para ver os valores que ela aceita. Quando mais de um valor falha, o texto nomeia a primeira configuração e conta as outras, como em `its "permissions" and 1 other value are not valid`.

825* **`it is not a JSON object`**: o nível superior do arquivo não é um objeto JSON, como um arquivo cujo nível superior é um array.

826 

789<h3 id="a-plugin-you-disabled-still-loads">827<h3 id="a-plugin-you-disabled-still-loads">

790 `Disabled in ~/.claude/settings.json but still loads`828 `Disabled in ~/.claude/settings.json but still loads`

791</h3>829</h3>


812 850 

813Se sua organização pré-instala plugins para você, ela o faz através de configurações gerenciadas em vez disso. Veja [Pre-install and require plugins](/docs/pt/plugins/org#pre-install-and-require-plugins).851Se sua organização pré-instala plugins para você, ela o faz através de configurações gerenciadas em vez disso. Veja [Pre-install and require plugins](/docs/pt/plugins/org#pre-install-and-require-plugins).

814 852 

853<h3 id="a-plugin-stays-installed-after-plugin-uninstall-on-windows">

854 A plugin stays installed after `plugin uninstall` on Windows

855</h3>

856 

857No Windows, você executa `claude plugin uninstall` no escopo de projeto ou local e ele relata sucesso, mas `claude plugin list` ou `/plugin` ainda lista o plugin.

858 

859`installed_plugins.json` continha dois registros de instalação do plugin para a pasta do projeto, cada um escrevendo o caminho da pasta de forma diferente, e uma desinstalação remove apenas um deles. Para verificar, execute `claude plugin list --json` no seu shell. A linha restante do plugin tem um `projectPath` que escreve a pasta de forma diferente de onde você executou a desinstalação, como `c:\work\app` para `C:\work\app`.

860 

861Execute o mesmo comando de desinstalação novamente, com o mesmo `--scope`, a partir da mesma pasta. A segunda execução não encontra nenhum registro sob sua própria grafia do caminho, então remove aquele sob a outra grafia. Para uma instalação com escopo de projeto:

862 

863```shell theme={null}

864claude plugin uninstall <name>@<marketplace> --scope project

865```

866 

867Depois execute `claude plugin list --json` novamente para confirmar que a linha sumiu.

868 

869Antes da v2.1.295, a segunda execução falha com `Plugin "<name>" is not installed in project scope`. Execute `claude update` e depois execute a desinstalação novamente.

870 

815<h3 id="failed-to-load-hooks-from-and-hooks-that-dont-fire">871<h3 id="failed-to-load-hooks-from-and-hooks-that-dont-fire">

816 `Failed to load hooks from <path>` and hooks that don't fire872 `Failed to load hooks from <path>` and hooks that don't fire

817</h3>873</h3>


835 891 

836Se o stderr mostra o caminho do plugin cortado em um espaço, o comando em forma de shell do hook usa `${CLAUDE_PLUGIN_ROOT}` fora de aspas e o caminho de instalação contém um espaço. Envolva a variável em aspas duplas ou use [exec form](/docs/pt/hooks#exec-form-and-shell-form). Para encontrar a variável sem aspas, execute `claude plugin validate` no diretório do plugin e procure por seu [aviso de aspas](/docs/pt/plugins/manifest-reference#quoting-and-path-separators).892Se o stderr mostra o caminho do plugin cortado em um espaço, o comando em forma de shell do hook usa `${CLAUDE_PLUGIN_ROOT}` fora de aspas e o caminho de instalação contém um espaço. Envolva a variável em aspas duplas ou use [exec form](/docs/pt/hooks#exec-form-and-shell-form). Para encontrar a variável sem aspas, execute `claude plugin validate` no diretório do plugin e procure por seu [aviso de aspas](/docs/pt/plugins/manifest-reference#quoting-and-path-separators).

837 893 

894Se o aviso diz `Failed to run: Plugin directory does not exist: <path>`, veja [`Plugin directory does not exist`](#plugin-directory-does-not-exist).

895 

838Para qualquer outro erro, execute o comando do hook você mesmo a partir do diretório do plugin para ver a saída completa, ou capture o stderr completo com [debug logging](/docs/pt/hooks#debug-hooks).896Para qualquer outro erro, execute o comando do hook você mesmo a partir do diretório do plugin para ver a saída completa, ou capture o stderr completo com [debug logging](/docs/pt/hooks#debug-hooks).

839 897 

840<h4 id="a-plugin-hook-blocks-a-tool-call-or-prompt">898<h4 id="a-plugin-hook-blocks-a-tool-call-or-prompt">


869 </Step>927 </Step>

870</Steps>928</Steps>

871 929 

930<h3 id="plugin-directory-does-not-exist">

931 `Plugin directory does not exist: <path>`

932</h3>

933 

934Execute `/reload-plugins` no prompt do Claude Code primeiro, mesmo que a mensagem diga para reinstalar. O hook de um plugin falha com `Failed to run: Plugin directory does not exist: <path> (<plugin> — run /plugin to reinstall)`, e o hook não é executado, quando o diretório a partir do qual sua sessão carregou os hooks do plugin não existe mais no disco. [`Plugin directory not found at path: <path>`](#plugin-directory-not-found-at-path) é uma mensagem diferente, sobre uma entrada de marketplace.

935 

936O reload carrega os hooks do plugin a partir de seu diretório atual. A falha é mostrada uma vez por sessão para cada evento e comando de hook, então o hook ficar silencioso não confirma a correção. Leia a saída do reload em vez disso:

937 

938* **`Reloaded:` sem linha de erros**: os hooks do plugin não apontam mais para o diretório ausente

939* **`N errors during load. Run /plugin for details.`**: abra a aba **Errors** em `/plugin` e siga a entrada desta página para a mensagem que ela mostra

940* **Uma linha que termina com `Run /reload-plugins --force to apply.`**: nada foi recarregado, e os hooks continuam falhando. Execute `/reload-plugins --force` no prompt do Claude Code

941 

872<h3 id="invalid-mcp-server-config-for-and-mcp-servers-that-dont-start">942<h3 id="invalid-mcp-server-config-for-and-mcp-servers-that-dont-start">

873 `Invalid MCP server config for "<server>"` and MCP servers that don't start943 `Invalid MCP server config for "<server>"` and MCP servers that don't start

874</h3>944</h3>


1063 1133 

1064Você executou `claude plugin validate <path>`, ou `/plugin validate <path>` em uma sessão, e imprimiu `Found N errors` e `Validation failed`, depois saiu com código 1.1134Você executou `claude plugin validate <path>`, ou `/plugin validate <path>` em uma sessão, e imprimiu `Found N errors` e `Validation failed`, depois saiu com código 1.

1065 1135 

1066O validador lê o manifesto no caminho que você fornece: `.claude-plugin/plugin.json` para um diretório de plugin, ou `.claude-plugin/marketplace.json` para um diretório de marketplace. Para um marketplace, ele prefixa problemas no manifesto próprio de uma entrada com o índice de entrada, como `plugins[1] plugin.json → json: ...`.1136O validador lê o manifesto no caminho que você fornece: `.claude-plugin/plugin.json` para um diretório de plugin, `.claude-plugin/marketplace.json` para um diretório de marketplace, ou ambos para um diretório que contém ambos. Para um marketplace, ele prefixa problemas no manifesto próprio de uma entrada com o índice de entrada, como `plugins[1] plugin.json → json: ...`. Antes da v2.1.289, Claude Code validava um diretório que contém ambos apenas como um marketplace.

1067 1137 

1068A tabela cobre as mensagens que param a validação e dois avisos, `No frontmatter block found` e `Unknown field '<key>'`, que a param apenas quando você passa `--strict`. Outros avisos, como uma descrição faltando, não estão listados.1138A tabela cobre as mensagens que param a validação e dois avisos, `No frontmatter block found` e `Unknown field '<key>'`, que a param apenas quando você passa `--strict`. Outros avisos, como uma descrição faltando, não estão listados.

1069 1139 

remote-control.md +54 −21

Details

364 Limitações364 Limitações

365</h2>365</h2>

366 366 

367* **Uma sessão remota por processo interativo**: fora do modo servidor, cada instância do Claude Code suporta uma sessão remota por vez. Use [modo servidor](#start-a-remote-control-session) para executar múltiplas sessões simultâneas a partir de um único processo.367* **Uma sessão remota por processo interativo**: fora do modo servidor, cada instância do Claude Code suporta uma sessão remota por vez. Use o [modo servidor](#start-a-remote-control-session) para executar várias sessões simultâneas a partir de um único processo.

368* **O processo local deve continuar em execução**: Remote Control é executado como um processo local. Se você fechar o terminal, sair do aplicativo Desktop ou VS Code, ou de outra forma parar o processo `claude`, a sessão fica offline até que você [a traga de volta](#resume-sessions-after-stopping-the-server). Se você executar `claude` a partir de um terminal em uma máquina remota, inicie-o dentro de `tmux` ou `screen` para manter a sessão em execução após desconectar do SSH.368* **O processo local deve continuar em execução**: o Remote Control é executado como um processo local. Se você fechar o terminal, sair do aplicativo Desktop ou do VS Code, ou de outra forma interromper o processo `claude`, a sessão fica offline até que você [a traga de volta](#resume-sessions-after-stopping-the-server). Se você executar `claude` a partir de um terminal em uma máquina remota, inicie-o dentro do `tmux` ou `screen` para manter a sessão em execução depois de se desconectar do SSH.

369* **Sessões travadas em modo servidor**: se uma sessão servida por `claude remote-control` travar, envie uma mensagem para ela a partir de um dispositivo conectado. Claude Code a serve novamente. Você não precisa reiniciar o servidor. Requer Claude Code v2.1.238 ou posterior.369* **Sessões que falharam no modo servidor**: se uma sessão servida por `claude remote-control` falhar, envie uma mensagem a ela a partir de um dispositivo conectado. O Claude Code volta a servi-la. Você não precisa reiniciar o servidor. Requer Claude Code v2.1.238 ou posterior.

370* **Recusas HTTP 403 em uma sessão conectada**: uma vez que uma sessão interativa está conectada, Claude Code continua tentando novamente por até três minutos quando algo entre sua máquina e os servidores da Anthropic responde com HTTP 403, o que pode acontecer após uma mudança de VPN ou rede. Se as recusas durarem mais tempo, Claude Code se desconecta e o motivo nomeia o que recusou: uma borda de rede, ou um proxy, VPN ou firewall em sua própria rede.370* **Recusas HTTP 403 em uma sessão conectada**: depois que uma sessão interativa está conectada, o Claude Code continua tentando novamente por até três minutos quando algo entre sua máquina e os servidores da Anthropic responde com HTTP 403, como pode acontecer após uma mudança de VPN ou de rede. Se as recusas durarem mais, o Claude Code se desconecta, e o motivo indica o que recusou: uma borda de rede, ou um proxy, VPN ou firewall na sua própria rede.

371* **Interrupção de rede estendida**: se sua máquina estiver ligada mas não conseguir alcançar a rede, o que você faz a seguir depende do modo:371* **Interrupção prolongada da rede**: se sua máquina estiver ativa, mas não conseguir acessar a rede, o que você faz em seguida depende do modo:

372 * **Modo servidor**: Claude Code desiste após aproximadamente 10 minutos e o processo `claude remote-control` sai. Execute `claude remote-control` novamente para iniciar uma nova sessão.372 * **Modo servidor**: o Claude Code desiste após cerca de 10 minutos e o processo `claude remote-control` é encerrado. Execute `claude remote-control` novamente para iniciar uma nova sessão.

373 * **Sessão interativa**: continue trabalhando localmente. Claude Code tenta novamente enquanto a interrupção durar e se reconecta automaticamente quando a rede retorna.373 * **Sessão interativa**: continue trabalhando localmente. O Claude Code tenta novamente enquanto durar a interrupção e se reconecta sozinho quando a rede volta.

374* **Anexos que não são baixados**: se um arquivo que você anexa a partir do seu telefone ou navegador não puder ser baixado para sua máquina, Claude ainda recebe sua mensagem e os arquivos que foram baixados. No lugar dos arquivos ausentes, Claude Code adiciona uma nota como `[1 of 3 attachments did not arrive]` à mensagem.374* **Anexos que não são baixados**: se um arquivo que você anexa pelo celular ou navegador não puder ser baixado para sua máquina, o Claude ainda recebe sua mensagem e os arquivos que foram baixados. No lugar dos arquivos ausentes, o Claude Code adiciona uma nota como `[1 of 3 attachments did not arrive]` à mensagem.

375* **Falhas de heartbeats de presença**: se uma sessão interativa se desconectar com `could not reach the Remote Control server for about 30 minutes`, execute `/remote-control` para se reconectar.375* **Falha nos heartbeats de presença**: se uma sessão interativa se desconectar com `could not reach the Remote Control server for about 30 minutes`, execute `/remote-control` para se reconectar.

376* **Diálogos encaminhados expiram**: Claude Code mantém prompts de permissão e perguntas `AskUserQuestion` abertas até que você as responda. Quando Claude Code encaminha outro tipo de diálogo para a sessão remota, como o prompt de escolha de modelo mostrado após uma recusa de segurança, ele aguarda cinco minutos por padrão, depois fecha o diálogo e continua com o padrão sem ação do diálogo. Defina [`dialogExpiry`](/docs/pt/settings-reference#dialogexpiry) para ajustar ou desabilitar o prazo. Requer Claude Code v2.1.224 ou posterior.376* **Diálogos encaminhados expiram**: o Claude Code mantém os prompts de permissão e as perguntas de `AskUserQuestion` abertos até que você os responda. Quando o Claude Code encaminha outro tipo de diálogo para a sessão remota, como o prompt de escolha de modelo exibido após uma recusa de segurança, ele aguarda cinco minutos por padrão, depois fecha o diálogo e continua com o padrão sem ação do diálogo. Defina [`dialogExpiry`](/docs/pt/settings-reference#dialogexpiry) para ajustar ou desativar o prazo. Requer Claude Code v2.1.224 ou posterior.

377* **O prompt de consentimento de créditos de uso do Fable não é encaminhado**: Claude Code mostra o prompt de consentimento de créditos de uso do [Fable](/docs/pt/model-config#fable-and-usage-credits) no meio da sessão apenas onde a sessão é executada, não em seu dispositivo. Quando a sessão é executada em um terminal e ninguém lá responde antes de Claude Code fechar o prompt, o turno termina sem enviar a requisição; veja [O prompt para confirmar não foi respondido](/docs/pt/errors#the-prompt-to-confirm-went-unanswered).377* **O prompt de consentimento de créditos de uso do Fable não é encaminhado**: o Claude Code exibe o [prompt de consentimento de créditos de uso do Fable](/docs/pt/model-config#fable-and-usage-credits) no meio da sessão apenas onde a sessão é executada, não no seu dispositivo. Quando a sessão é executada em um terminal e ninguém responde ali antes que o Claude Code feche o prompt, o turno termina sem enviar a requisição; consulte [The prompt to confirm went unanswered](/docs/pt/errors#the-prompt-to-confirm-went-unanswered).

378* **Alguns comandos são apenas locais**: comandos que só são executados na interface do terminal, como `/plugin` ou `/resume`, funcionam apenas a partir da CLI local, independentemente de você passar um argumento ou não. `/claude-api` também não está disponível quando você o digita em dispositivos móveis ou na web. Claude ainda pode [carregar essa skill por conta própria](/docs/pt/skills#work-on-claude-api-projects) nesses casos. Os seguintes funcionam em dispositivos móveis e web:378* **Alguns comandos são apenas locais**: comandos que só são executados na interface do terminal, como `/plugin` ou `/resume`, funcionam apenas a partir da CLI local, quer você passe um argumento ou não. `/claude-api` também fica indisponível quando você o digita pelo celular ou pela web. O Claude ainda pode [carregar essa skill por conta própria](/docs/pt/skills#work-on-claude-api-projects) nesses ambientes. Os seguintes funcionam pelo celular e pela web:

379 * Comandos de saída de texto: `/compact`, `/clear`, `/context`, `/usage`, `/exit`, `/usage-credits`, `/recap` e `/reload-plugins`. `/usage-credits` imprime a URL de faturamento em vez de abrir um navegador. `/reload-plugins` funciona apenas quando a sessão é executada em um terminal interativo; uma sessão sem um a recusa.379 * Comandos de saída de texto: `/compact`, `/clear`, `/context`, `/usage`, `/exit`, `/usage-credits`, `/recap` e `/reload-plugins`. `/usage-credits` imprime o URL de faturamento em vez de abrir um navegador. `/reload-plugins` funciona apenas quando a sessão é executada em um terminal interativo; uma sessão sem um terminal o recusa.

380 * `/model`, `/effort`, `/fast`, `/color` e `/rename`: passe o valor como um argumento, por exemplo `/model sonnet` ou `/effort high`. De dispositivos móveis e web, `/model` e `/effort` usam o argumento no lugar do seletor de terminal ou controle deslizante.380 * `/model`, `/effort`, `/fast`, `/color` e `/rename`: passe o valor como argumento, por exemplo `/model sonnet` ou `/effort high`. Pelo celular e pela web, `/model` e `/effort` recebem o argumento no lugar do seletor ou do controle deslizante do terminal.

381 * `/mcp`: a partir do aplicativo móvel, retorna um resumo de texto do status do servidor em vez de abrir o seletor. Na web, `/mcp` por si só abre um diretório de [conectores claude.ai](/docs/pt/mcp#use-mcp-servers-from-claude-ai) em vez de retornar o resumo. Os [subcomandos](/docs/pt/commands#all-commands) `reconnect`, `enable` e `disable` funcionam em ambos. `/mcp reconnect` sem um nome de servidor tenta novamente todos os servidores que falharam ou precisam de autenticação.381 * `/mcp`: pelo aplicativo móvel, retorna um resumo em texto do status dos servidores em vez de abrir o seletor. Na web, `/mcp` sozinho abre um diretório de [conectores do claude.ai](/docs/pt/mcp#use-mcp-servers-from-claude-ai) em vez de retornar o resumo. Os [subcomandos](/docs/pt/commands#all-commands) `reconnect`, `enable` e `disable` funcionam em ambos quando a sessão é executada em um terminal interativo. `/mcp reconnect` sem nome de servidor tenta novamente cada servidor que falhou ou que precisa de autenticação. Para autorizar um conector do claude.ai sem o seletor, consulte [Autorizar um conector novamente a partir do seu shell](#authorize-a-connector-again-from-your-shell).

382 * `/config`: a partir do aplicativo móvel, passe `key=value` para definir uma configuração, ou execute-o sem argumento para listar as chaves que você pode definir. Na web, `/config` abre em vez disso a seção Claude Code de suas configurações, e ignora o texto após o comando.382 * `/config`: pelo aplicativo móvel, passe `key=value` para definir uma configuração, ou execute-o sem argumento para listar as chaves que você pode definir. Na web, `/config` abre a seção do Claude Code das suas configurações e ignora o texto após o comando.

383 * Em Team e Enterprise, `/usage-credits` de dispositivos móveis ou web não envia uma [solicitação de créditos de uso para seu administrador](/docs/pt/costs#add-usage-credits-to-your-subscription). O envio requer uma confirmação que aparece apenas na CLI interativa, então o comando diz para você executá-lo lá.383 * Nos planos Team e Enterprise, `/usage-credits` pelo celular ou pela web não envia uma [solicitação de créditos de uso ao seu administrador](/docs/pt/costs#add-usage-credits-to-your-subscription). O envio requer uma confirmação que aparece apenas na CLI interativa, então o comando informa que você deve executá-lo lá.

384 * `/autocompact`, a partir de v2.1.221: passe o tamanho da janela como um argumento, por exemplo `/autocompact 500k`. Sem argumento, ele imprime o tamanho da janela atual como texto em vez de abrir o diálogo que o comando mostra em uma sessão de terminal.384 * `/autocompact`, a partir da v2.1.221: passe o tamanho da janela como argumento, por exemplo `/autocompact 500k`. Sem argumento, ele imprime o tamanho atual da janela como texto em vez de abrir o diálogo que o comando exibe em uma sessão de terminal.

385 * `/advisor`, a partir de v2.1.260: passe o modelo como um argumento, por exemplo `/advisor opus`, ou passe `off` para desativar o advisor. Ambas as formas se aplicam apenas à sessão atual e deixam seu padrão salvo inalterado. Sem argumento, ele imprime o advisor atual como texto em vez de abrir o seletor.385 * `/advisor`, a partir da v2.1.260: passe o modelo como argumento, por exemplo `/advisor opus`, ou passe `off` para desativar o advisor. Ambas as formas se aplicam apenas à sessão atual e deixam seu padrão salvo inalterado. Sem argumento, ele imprime o advisor atual como texto em vez de abrir o seletor.

386 * `/output-style`, a partir de v2.1.269: passe o nome do estilo como um argumento, por exemplo `/output-style concise`, ou execute-o sem argumento para listar os estilos. De dispositivos móveis e web, você pode listar e selecionar apenas [estilos integrados](/docs/pt/output-styles#built-in-output-styles). Para usar um [estilo personalizado](/docs/pt/output-styles#create-a-custom-output-style), selecione-o na sessão em si.386 * `/output-style`, a partir da v2.1.269: passe o nome do estilo como argumento, por exemplo `/output-style concise`, ou execute-o sem argumento para listar os estilos. Pelo celular e pela web, você pode listar e selecionar apenas [estilos integrados](/docs/pt/output-styles#built-in-output-styles). Para usar um [estilo personalizado](/docs/pt/output-styles#create-a-custom-output-style), selecione-o na própria sessão.

387 * `/focus`, a partir de v2.1.281: passe `on` ou `off` como um argumento, por exemplo `/focus on`, ou execute-o sem argumento para alternar a [visualização de foco](/docs/pt/commands#all-commands). Ambas as formas se aplicam apenas à sessão atual e deixam sua seleção salva inalterada.387 * `/focus`, a partir da v2.1.281: passe `on` ou `off` como argumento, por exemplo `/focus on`, ou execute-o sem argumento para alternar a [visualização de foco](/docs/pt/commands#all-commands). Ambas as formas se aplicam apenas à sessão atual e deixam sua seleção salva inalterada.

388 

389<h2 id="authorize-a-connector-again-from-your-shell">

390 Autorizar um conector novamente a partir do seu shell

391</h2>

392 

393Quando um conector do claude.ai precisa de autenticação em uma sessão que você conduz pelo Remote Control, o painel `/mcp` não está disponível no aplicativo móvel nem na web. Obtenha o link de autorização em um terminal na máquina onde a sessão é executada e, em seguida, abra o link no dispositivo que você está usando. Você não pode executar o comando a partir do aplicativo móvel nem da web. Uma linha que você envia de lá começando com `!` vai para o Claude como uma mensagem e não é executada no [modo shell](/docs/pt/interactive-mode#shell-mode-with-prefix).

394 

395<Steps>

396 <Step title="Obter o link de autorização">

397 Em um terminal na máquina onde a sessão é executada, por exemplo via SSH, execute `claude mcp login` com o nome do conector entre aspas. O nome de um conector começa com `claude.ai`, como `claude.ai Slack` para o conector do Slack. O comando a seguir obtém o link para o conector do Slack:

398 

399 ```bash theme={null}

400 claude mcp login "claude.ai Slack" --no-browser

401 ```

402 

403 O comando imprime um link do claude.ai e é encerrado. Abra o link no seu navegador e conclua a autorização no claude.ai. `--no-browser` impede que o comando abra um navegador nessa máquina, que pode não ser o dispositivo que você está usando.

404 </Step>

405 

406 <Step title="Usar o conector em uma sessão">

407 Inicie uma nova sessão ou reconecte o conector na sessão que já está em execução:

408 

409 * **Nova sessão**: uma sessão que você inicia após a autorização se conecta ao conector sem nenhuma etapa adicional.

410 * **Sessão em execução**: execute `/mcp reconnect` com o mesmo nome e sem aspas, no prompt do Claude Code ou a partir do aplicativo móvel ou da web. Para verificar se a sua sessão aceita o comando a partir de lá, consulte a entrada `/mcp` em [quais comandos funcionam no celular e na web](#limitations).

411 

412 O comando a seguir reconecta o conector do Slack:

413 

414 ```text theme={null}

415 /mcp reconnect claude.ai Slack

416 ```

417 

418 No terminal, o Claude Code imprime `Successfully reconnected to claude.ai Slack`. No aplicativo móvel ou na web, a resposta é `Reconnected "claude.ai Slack".`

419 </Step>

420</Steps>

388 421 

389<h2 id="troubleshooting">422<h2 id="troubleshooting">

390 Solução de problemas423 Solução de problemas

Details

191 Jitter191 Jitter

192</h3>192</h3>

193 193 

194Para evitar que cada sessão atinja a API no mesmo momento de tempo real, o agendador adiciona um deslocamento determinístico aos tempos de disparo:194Uma tarefa agendada pode ser executada em um horário diferente do que seu agendamento indica. Se as tarefas de todas as sessões fossem executadas exatamente no horário agendado, muitas delas chamariam a API no mesmo momento, então Claude Code desloca o horário de execução de cada tarefa. Tarefas recorrentes são executadas com atraso, e tarefas únicas agendadas para a hora cheia ou a meia hora são executadas um pouco mais cedo.

195 195 

196* Tarefas recorrentes disparam até 30 minutos após o horário agendado (ou até metade do intervalo, para tarefas que são executadas com mais frequência que por hora). Um trabalho por hora agendado para `:00` pode disparar em qualquer lugar até `:30`.196<h4 id="how-late-a-recurring-task-runs">

197* Tarefas únicas agendadas para o topo ou fundo da hora disparam até 90 segundos mais cedo.197 Quanto atraso uma tarefa recorrente tem

198</h4>

198 199 

199O deslocamento é derivado do ID da tarefa, portanto a mesma tarefa sempre obtém o mesmo deslocamento. Se o tempo exato for importante, escolha um minuto que não seja `:00` ou `:30`, por exemplo `3 9 * * *` em vez de `0 9 * * *`, e o jitter único não será aplicado.200Quando você cria uma tarefa recorrente, Claude Code atribui a ela um atraso fixo e adiciona esse atraso a cada execução. O atraso é calculado a partir do ID da tarefa, portanto a mesma tarefa é executada com o mesmo número de minutos de atraso todas as vezes, inclusive quando a sessão está ociosa e nada mais está em execução.

201 

202Tarefas executadas com mais frequência recebem atrasos menores, e 30 minutos é o maior atraso que uma tarefa pode receber. Estes são os intervalos de atraso para alguns agendamentos comuns:

203 

204| A tarefa é executada | O atraso fica entre |

205| :- | :- |

206| A cada 10 minutos | 0 e 5 minutos |

207| A cada 30 minutos | 0 e 15 minutos |

208| A cada hora, ou com menos frequência, como diariamente | 0 e 30 minutos |

209 

210Por exemplo, `7,37 * * * *` agenda uma tarefa para `:07` e `:37`, que estão a 30 minutos de distância, então seu atraso fica em algum ponto entre 0 e 15 minutos. Se o atraso dessa tarefa for de 14 minutos, ela é executada às `:21` e `:51` de cada hora. Alterar o agendamento para um minuto diferente move o horário de execução, e um atraso ainda é adicionado a ele.

211 

212<h4 id="when-a-one-shot-task-runs-early">

213 Quando uma tarefa única é executada mais cedo

214</h4>

215 

216Uma tarefa única agendada para `:00` ou `:30` é executada até 90 segundos mais cedo. Claude Code não desloca uma tarefa única agendada para qualquer outro minuto, então, quando o horário for importante, agende-a fora da hora cheia e da meia hora: `3 9 * * *` em vez de `0 9 * * *`.

200 217 

201<h3 id="seven-day-expiry">218<h3 id="seven-day-expiry">

202 Expiração de sete dias219 Expiração de sete dias

Details

74 74 

75Você pode estender cada camada [adicionando suas próprias regras](#add-your-own-rules). As verificações integradas não podem ser removidas individualmente, mas você pode [desabilitar cada camada](#disable-or-uninstall) independentemente.75Você pode estender cada camada [adicionando suas próprias regras](#add-your-own-rules). As verificações integradas não podem ser removidas individualmente, mas você pode [desabilitar cada camada](#disable-or-uninstall) independentemente.

76 76 

77<h3 id="on-each-file-edit">77<span id="on-each-file-edit" />

78 Em cada edição de arquivo78 

79<h3 id="checks-on-each-file-edit">

80 Verificações em cada edição de arquivo

79</h3>81</h3>

80 82 

81Quando Claude escreve em um arquivo, o plugin verifica o novo conteúdo em busca de padrões conhecidos arriscados. Esta é uma correspondência de padrão sem chamada de modelo, portanto não adiciona custo de uso.83Quando Claude escreve em um arquivo, o plugin verifica o novo conteúdo em busca de padrões conhecidos arriscados. Esta é uma correspondência de padrão sem chamada de modelo, portanto não adiciona custo de uso.


91 93 

92Você pode [adicionar seus próprios padrões](#add-custom-per-edit-patterns) a esta camada com um arquivo `security-patterns.yaml`.94Você pode [adicionar seus próprios padrões](#add-custom-per-edit-patterns) a esta camada com um arquivo `security-patterns.yaml`.

93 95 

94<h3 id="at-the-end-of-each-turn">96<span id="at-the-end-of-each-turn" />

95 No final de cada turno97 

98<h3 id="checks-at-the-end-of-each-turn">

99 Verificações no final de cada turno

96</h3>100</h3>

97 101 

98Um turno é uma rodada de Claude respondendo: você envia uma mensagem, Claude trabalha e responde, e o turno termina. Após cada turno, o plugin calcula um git diff de tudo que mudou na árvore de trabalho durante o turno, incluindo alterações das ferramentas de edição de Claude, comandos Bash e subagentos, e o envia para uma revisão Claude separada focada em segurança. A revisão é executada em segundo plano, portanto a resposta de Claude não é atrasada. Se a revisão encontrar problemas, Claude é re-solicitado com as descobertas e as aborda como um acompanhamento.102Um turno é uma rodada de Claude respondendo: você envia uma mensagem, Claude trabalha e responde, e o turno termina. Após cada turno, o plugin calcula um git diff de tudo que mudou na árvore de trabalho durante o turno, incluindo alterações das ferramentas de edição de Claude, comandos Bash e subagentos, e o envia para uma revisão Claude separada focada em segurança. A revisão é executada em segundo plano, portanto a resposta de Claude não é atrasada. Se a revisão encontrar problemas, Claude é re-solicitado com as descobertas e as aborda como um acompanhamento.


107 111 

108Você vê tanto a descoberta quanto a resolução de Claude diretamente em sua sessão. A revisão cobre até 30 arquivos alterados por turno e é acionada no máximo três vezes seguidas antes de ceder de volta para você.112Você vê tanto a descoberta quanto a resolução de Claude diretamente em sua sessão. A revisão cobre até 30 arquivos alterados por turno e é acionada no máximo três vezes seguidas antes de ceder de volta para você.

109 113 

110<h3 id="on-each-commit-or-push-claude-makes">114<span id="on-each-commit-or-push-claude-makes" />

111 Em cada commit ou push que Claude faz115 

116<h3 id="checks-on-each-commit-or-push-claude-makes">

117 Verificações em cada commit ou push que Claude faz

112</h3>118</h3>

113 119 

114Quando Claude executa `git commit` ou `git push` através de sua ferramenta Bash, o plugin executa uma revisão agêntica mais profunda da alteração em segundo plano. Esta revisão lê o código circundante, incluindo chamadores, sanitizadores e arquivos relacionados, para decidir se uma descoberta é real antes de relatá-la. O contexto extra mantém falsos positivos baixos em padrões que parecem perigosos isoladamente, mas são seguros em seu repositório.120Quando Claude executa `git commit` ou `git push` através de sua ferramenta Bash, o plugin executa uma revisão agêntica mais profunda da alteração em segundo plano. Esta revisão lê o código circundante, incluindo chamadores, sanitizadores e arquivos relacionados, para decidir se uma descoberta é real antes de relatá-la. O contexto extra mantém falsos positivos baixos em padrões que parecem perigosos isoladamente, mas são seguros em seu repositório.

Details

403 403 

404* O [arquivo MCP gerenciado](/docs/pt/managed-mcp) de escopo enterprise em seu caminho padrão do sistema: `/etc/claude-code/managed-mcp.json` em hosts de runner Linux, `/Library/Application Support/ClaudeCode/managed-mcp.json` em hosts macOS. Use-o para frotas restritas em que apenas servidores listados pelo administrador podem ser carregados. Consulte [controle exclusivo com managed-mcp.json](/docs/pt/managed-mcp#exclusive-control-with-managed-mcp-json) para as regras de precedência. Quando esse arquivo está no host do runner, o Claude Code ignora os servidores MCP que o plano de controle da Anthropic entrega a uma sessão, incluindo conectores do claude.ai, e os nomeia em um aviso no stderr do processo filho da sessão, que o runner registra no nível de log `debug`. Antes da v2.1.229, essas sessões encerravam na inicialização com `You cannot dynamically configure MCP servers when an enterprise MCP config is present`.404* O [arquivo MCP gerenciado](/docs/pt/managed-mcp) de escopo enterprise em seu caminho padrão do sistema: `/etc/claude-code/managed-mcp.json` em hosts de runner Linux, `/Library/Application Support/ClaudeCode/managed-mcp.json` em hosts macOS. Use-o para frotas restritas em que apenas servidores listados pelo administrador podem ser carregados. Consulte [controle exclusivo com managed-mcp.json](/docs/pt/managed-mcp#exclusive-control-with-managed-mcp-json) para as regras de precedência. Quando esse arquivo está no host do runner, o Claude Code ignora os servidores MCP que o plano de controle da Anthropic entrega a uma sessão, incluindo conectores do claude.ai, e os nomeia em um aviso no stderr do processo filho da sessão, que o runner registra no nível de log `debug`. Antes da v2.1.229, essas sessões encerravam na inicialização com `You cannot dynamically configure MCP servers when an enterprise MCP config is present`.

405* A chave [`managedMcpServers`](/docs/pt/settings-reference#managedmcpservers) nas [configurações gerenciadas](/docs/pt/managed-settings) no host do runner: fornece servidores HTTP e SSE sem assumir controle exclusivo, de modo que os servidores das outras fontes ainda são carregados. Requer o Claude Code v2.1.259 ou posterior.405* A chave [`managedMcpServers`](/docs/pt/settings-reference#managedmcpservers) nas [configurações gerenciadas](/docs/pt/managed-settings) no host do runner: fornece servidores HTTP e SSE sem assumir controle exclusivo, de modo que os servidores das outras fontes ainda são carregados. Requer o Claude Code v2.1.259 ou posterior.

406* `<repo>/.mcp.json`: escopo de projeto. Faça commit do arquivo no repositório; seus servidores são aprovados automaticamente em sessões na nuvem.406* `<repo>/.mcp.json`: escopo de projeto. Faça commit do arquivo no repositório; seus servidores são aprovados automaticamente em sessões na nuvem. Em uma sessão com vários repositórios, [no máximo o arquivo de um repositório é carregado](#repository-settings-in-sessions-with-several-repositories).

407 407 

408Quando a entrega de conectores está habilitada para sua organização, o plano de controle da Anthropic entrega os conectores que você configurou no claude.ai para sessões criadas interativamente por meio de configuração MCP fornecida pelo servidor, roteada através de `api.anthropic.com`. Sessões criadas programaticamente, como [despachos pela CLI](/docs/pt/self-hosted-environments-testing#run-the-test-loop), não recebem a entrega de conectores; forneça servidores MCP a elas por meio de qualquer uma das outras fontes listadas nesta seção. O token OAuth do processo filho não carrega um escopo para buscar conectores diretamente, então o processo filho não tenta fazer essa busca por conta própria; a entrega é conduzida pelo servidor.408Quando a entrega de conectores está habilitada para sua organização, o plano de controle da Anthropic entrega os conectores que você configurou no claude.ai para sessões criadas interativamente por meio de configuração MCP fornecida pelo servidor, roteada através de `api.anthropic.com`. Sessões criadas programaticamente, como [despachos pela CLI](/docs/pt/self-hosted-environments-testing#run-the-test-loop), não recebem a entrega de conectores; forneça servidores MCP a elas por meio de qualquer uma das outras fontes listadas nesta seção. O token OAuth do processo filho não carrega um escopo para buscar conectores diretamente, então o processo filho não tenta fazer essa busca por conta própria; a entrega é conduzida pelo servidor.

409 409 


542exit 0542exit 0

543```543```

544 544 

545O hook solicita a Claude fazer commit e push antes da sessão terminar, e fica silencioso quando o diretório não é um repositório git ou não tem remoto.545O hook solicita a Claude fazer commit e push antes da sessão terminar, e fica silencioso quando o diretório não é um repositório git ou não tem remoto. Para uma sessão com vários repositórios, consulte [o que `$CLAUDE_PROJECT_DIR` nomeia](#repository-settings-in-sessions-with-several-repositories).

546 546 

547<h2 id="permissions-and-tool-approval">547<h2 id="permissions-and-tool-approval">

548 Permissions and tool approval548 Permissions and tool approval


571 571 

572Defina `SELF_HOSTED_RUNNER_HOST_CONFIG_DIR` para semear de um caminho diferente, ou aponte-o para um diretório vazio para desabilitar a semeadura.572Defina `SELF_HOSTED_RUNNER_HOST_CONFIG_DIR` para semear de um caminho diferente, ou aponte-o para um diretório vazio para desabilitar a semeadura.

573 573 

574`.claude/settings.json` confirmado no repositório se sobrepõe como configurações de projeto. Sessões também leem [`managed-settings.json`](/docs/pt/settings#where-settings-live) do caminho de sistema padrão em sua imagem do runner. Se suas chaves se aplicam ao lado de [server-managed settings](/docs/pt/server-managed-settings) segue [como Claude Code combina fontes gerenciadas](/docs/pt/managed-settings#how-claude-code-combines-managed-sources): por padrão, quando sua organização entrega quaisquer chaves gerenciadas pelo servidor, sessões ignoram o arquivo da imagem do runner além das [chaves que Claude Code lê de cada fonte de administrador](/docs/pt/managed-settings#keys-read-from-every-admin-source), como o bloco `env`, os locks de sandbox, os caminhos binários de sandbox e `forceRemoteSettingsRefresh`. Consulte [settings precedence](/docs/pt/settings#settings-precedence).574O `.claude/settings.json` com commit no repositório se sobrepõe como configurações de projeto. Em uma sessão com vários repositórios, [no máximo o arquivo de um repositório tem efeito](#repository-settings-in-sessions-with-several-repositories). Sessões também leem [`managed-settings.json`](/docs/pt/settings#where-settings-live) do caminho de sistema padrão em sua imagem do runner. Se suas chaves se aplicam ao lado de [server-managed settings](/docs/pt/server-managed-settings) segue [como Claude Code combina fontes gerenciadas](/docs/pt/managed-settings#how-claude-code-combines-managed-sources): por padrão, quando sua organização entrega quaisquer chaves gerenciadas pelo servidor, sessões ignoram o arquivo da imagem do runner além das [chaves que Claude Code lê de cada fonte de administrador](/docs/pt/managed-settings#keys-read-from-every-admin-source), como o bloco `env`, os locks de sandbox, os caminhos binários de sandbox e `forceRemoteSettingsRefresh`. Consulte [settings precedence](/docs/pt/settings#settings-precedence).

575 575 

576Quando o plano de controle da Anthropic fornece uma sessão com [Claude Code hooks](/docs/pt/hooks), o runner os instala ao lado, não sobre, sua própria configuração. Requer Claude Code v2.1.229 ou posterior.576Quando o plano de controle da Anthropic fornece uma sessão com [Claude Code hooks](/docs/pt/hooks), o runner os instala ao lado, não sobre, sua própria configuração. Requer Claude Code v2.1.229 ou posterior.

577 577 


583 583 

584O snapshot do `~/.claude/` do host feito pelo runner deixa de fora o diretório `projects/`. O local de armazenamento padrão da memória automática fica sob esse diretório. Se você colocar arquivos de memória lá, o runner não os semeia nas sessões, e eles não ativam a memória automática.584O snapshot do `~/.claude/` do host feito pelo runner deixa de fora o diretório `projects/`. O local de armazenamento padrão da memória automática fica sob esse diretório. Se você colocar arquivos de memória lá, o runner não os semeia nas sessões, e eles não ativam a memória automática.

585 585 

586<h3 id="repository-settings-in-sessions-with-several-repositories">

587 Repository settings in sessions with several repositories

588</h3>

589 

590Em uma sessão com vários repositórios, o Claude Code lê as configurações de projeto do diretório em que a sessão inicia, então no máximo o `.claude/settings.json` de um repositório tem efeito como configurações de projeto. Um hook definido no arquivo de outro repositório não é executado, uma regra deny nele não se aplica, e seu `env` não é definido.

591 

592* **`--capacity 1`, o padrão, com o checkout integrado**: a sessão inicia no primeiro repositório de sua lista de repositórios. O `.claude/settings.json` desse repositório tem efeito como configurações de projeto e seu `.mcp.json` é carregado, e os dos outros repositórios não.

593* **Um `--capacity` acima de um, ou um [hook `checkout`](#checkout)**: a sessão inicia em um diretório por sessão que contém os checkouts. Nenhum `.claude/settings.json` de repositório tem efeito como configurações de projeto, nenhum `.mcp.json` de repositório é carregado, e [`$CLAUDE_PROJECT_DIR`](/docs/pt/hooks#reference-scripts-by-path) em um comando de hook é esse diretório, não um checkout.

594 

595O `CLAUDE.md` e as skills de cada repositório são carregados onde quer que a sessão inicie. O runner passa cada repositório para o Claude Code como um [diretório adicional](/docs/pt/permissions#additional-directories-grant-file-access-not-configuration), então o Claude Code também lê as chaves `enabledPlugins` e `extraKnownMarketplaces` do `.claude/settings.json` de cada repositório.

596 

597Para executar um hook ou aplicar uma regra de permissão em todas as sessões, coloque-o em `~/.claude/settings.json` no host do runner. O runner [semeia o arquivo do host em cada sessão](#how-each-session’s-config-is-assembled), onde quer que a sessão inicie. Escreva um caminho em uma regra `Read` ou `Edit` como um [padrão](/docs/pt/permissions#read-and-edit) absoluto `//` ou relativo ao diretório home `~/`, porque outros padrões se ancoram na origem das configurações ou no diretório atual.

598 

586<h3 id="repository-committed-permission-rules">599<h3 id="repository-committed-permission-rules">

587 Repository-committed permission rules600 Repository-committed permission rules

588</h3>601</h3>

Details

87 87 

88 Como hooks executam comandos shell, os usuários em sessões interativas veem uma [caixa de diálogo de aprovação de segurança](#security-approval-dialogs) antes de Claude Code aplicá-los.88 Como hooks executam comandos shell, os usuários em sessões interativas veem uma [caixa de diálogo de aprovação de segurança](#security-approval-dialogs) antes de Claude Code aplicá-los.

89 89 

90 Para configurar o classificador do [modo automático](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) para que ele saiba quais repositórios, buckets e domínios sua organização confia, entregue um bloco `autoMode` da mesma forma; veja [Configurar modo automático](/docs/pt/auto-mode-config) para saber como as entradas `autoMode` afetam o que o classificador bloqueia e avisos importantes sobre os campos `environment`, `allow`, `soft_deny` e `hard_deny`.90 Para configurar o classificador do [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) para que ele saiba quais repositórios, buckets e domínios sua organização confia, entregue um bloco `autoMode` da mesma forma; veja [Configurar modo auto](/docs/pt/auto-mode-config) para saber como as entradas `autoMode` afetam o que o classificador bloqueia e avisos importantes sobre os campos `environment`, `allow`, `soft_deny` e `hard_deny`.

91 </Step>91 </Step>

92 92 

93 <Step title="Salvar e implantar">93 <Step title="Salvar e implantar">

94 Salve suas alterações. Os clientes do Claude Code recebem as configurações atualizadas na próxima inicialização ou ciclo de polling por hora.94 Salve suas alterações. Os clientes do Claude Code recebem as configurações atualizadas na próxima inicialização ou ciclo de polling por hora.

95 

96 O editor verifica seu JSON em relação ao esquema JSON publicado para as configurações do Claude Code. Se encontrar um problema em um JSON que pode ser analisado, ele exibe um aviso e renomeia o botão de salvar. O rótulo é **Update with errors** quando já há configurações salvas, e **Add with errors** quando ainda não há configurações salvas. Esse botão ainda salva, porque um aviso de esquema não bloqueia o salvamento.

97 

98 O esquema [pode ficar defasado em relação às versões mais recentes](/docs/pt/settings#edit-a-settings-file), então o editor pode sinalizar uma chave ou valor que a [referência de configurações](/docs/pt/settings-reference#all-settings) documenta. Claude Code recebe as chaves e valores que você salvou e executa [sua própria validação](#invalid-entries-in-delivered-settings) quando os carrega.

95 </Step>99 </Step>

96</Steps>100</Steps>

97 101 

settings.md +2 −2

Details

521 521 

522Em uma sessão [Cowork](https://claude.com/docs/cowork/overview) que é executada em sua máquina no aplicativo Claude Desktop, o Claude Code não busca configurações gerenciadas pelo servidor do console de administração claude.ai, e lê a política implantada em seu dispositivo a menos que a configuração Claude Desktop da sua organização defina `requireCoworkFullVmSandbox`. [Onde e quando uma política se aplica](/docs/pt/managed-settings#where-and-when-a-policy-applies) cobre Cowork e sessões na nuvem.522Em uma sessão [Cowork](https://claude.com/docs/cowork/overview) que é executada em sua máquina no aplicativo Claude Desktop, o Claude Code não busca configurações gerenciadas pelo servidor do console de administração claude.ai, e lê a política implantada em seu dispositivo a menos que a configuração Claude Desktop da sua organização defina `requireCoworkFullVmSandbox`. [Onde e quando uma política se aplica](/docs/pt/managed-settings#where-and-when-a-policy-applies) cobre Cowork e sessões na nuvem.

523 523 

524Se você é o administrador, [Configure o Claude Code para sua organização](/docs/pt/admin-setup) o guia através da escolha do que impor, e [Implante configurações gerenciadas](/docs/pt/managed-settings) cobre entrega e como confirmar que uma política está em vigor.524Se você é o administrador, [Configure o Claude Code para sua organização](/docs/pt/admin-setup) o guia através da escolha do que impor, e [Implante configurações gerenciadas](/docs/pt/managed-settings) cobre entrega e como confirmar que uma política está em vigor. Para o aviso que o editor de configurações gerenciadas no console de administração claude.ai pode mostrar, veja [Configurar configurações gerenciadas pelo servidor](/docs/pt/server-managed-settings#configure-server-managed-settings).

525 525 

526<h2 id="change-a-setting">526<h2 id="change-a-setting">

527 Altere uma configuração527 Altere uma configuração


809 809 

810Uma [sessão em nuvem](/docs/pt/claude-code-on-the-web) é executada em um [ambiente em nuvem](/docs/pt/cloud-environments) em um clone fresco do seu repositório, não em sua máquina. Isso muda quais configurações a alcançam:810Uma [sessão em nuvem](/docs/pt/claude-code-on-the-web) é executada em um [ambiente em nuvem](/docs/pt/cloud-environments) em um clone fresco do seu repositório, não em sua máquina. Isso muda quais configurações a alcançam:

811 811 

812* **Configurações compartilhadas de projeto** (`.claude/settings.json`): lidas em uma sessão com um repositório, porque o arquivo faz parte do clone e a sessão começa dentro dele. Confirme uma configuração lá para aplicá-la nessas sessões. Uma sessão com vários repositórios começa acima dos clones e lê apenas as chaves `enabledPlugins` e `extraKnownMarketplaces` do `.claude/settings.json` de cada repositório, não regras de permissão, hooks, `env` ou outras chaves. Os marketplaces e plugins que essas duas chaves declaram ainda [não carregam em uma sessão em nuvem](/docs/pt/cloud-environments#what-carries-over-from-your-setup).812* **Configurações compartilhadas de projeto** (`.claude/settings.json`): lidas em uma sessão com um repositório, porque o arquivo faz parte do clone e a sessão começa dentro dele. Faça commit de uma configuração lá para aplicá-la nessas sessões. Em um ambiente hospedado pela Anthropic, uma sessão com vários repositórios começa acima dos clones e lê apenas as chaves `enabledPlugins` e `extraKnownMarketplaces` do `.claude/settings.json` de cada repositório, não regras de permissão, hooks, `env` ou outras chaves. Os marketplaces e plugins que essas duas chaves declaram ainda [não carregam em uma sessão na nuvem](/docs/pt/cloud-environments#what-carries-over-from-your-setup). Para um ambiente auto-hospedado, consulte [quais configurações de repositório se aplicam](/docs/pt/self-hosted-environments-configuration#repository-settings-in-sessions-with-several-repositories).

813* **Configurações de usuário e projeto local** (`~/.claude/settings.json` e `.claude/settings.local.json`): não lidas. Ambas permanecem em sua máquina, e o arquivo local não está no clone.813* **Configurações de usuário e projeto local** (`~/.claude/settings.json` e `.claude/settings.local.json`): não lidas. Ambas permanecem em sua máquina, e o arquivo local não está no clone.

814* **Configurações gerenciadas**: um arquivo `managed-settings.json` ou perfil MDM em seu dispositivo não alcança uma sessão em nuvem. As [configurações gerenciadas pelo servidor](/docs/pt/server-managed-settings) da sua organização alcançam; [cobertura de superfície](/docs/pt/model-config#surface-coverage) lista quais sessões em nuvem as recebem. Um [ambiente auto-hospedado](/docs/pt/self-hosted-environments) também lê o arquivo de configurações gerenciadas em sua imagem de runner. [Como o Claude Code combina fontes gerenciadas](/docs/pt/managed-settings#how-claude-code-combines-managed-sources) diz quando esse arquivo se aplica.814* **Configurações gerenciadas**: um arquivo `managed-settings.json` ou perfil MDM em seu dispositivo não alcança uma sessão em nuvem. As [configurações gerenciadas pelo servidor](/docs/pt/server-managed-settings) da sua organização alcançam; [cobertura de superfície](/docs/pt/model-config#surface-coverage) lista quais sessões em nuvem as recebem. Um [ambiente auto-hospedado](/docs/pt/self-hosted-environments) também lê o arquivo de configurações gerenciadas em sua imagem de runner. [Como o Claude Code combina fontes gerenciadas](/docs/pt/managed-settings#how-claude-code-combines-managed-sources) diz quando esse arquivo se aplica.

815* **`/config`**: no seu navegador em claude.ai/code, abre a seção Claude Code de suas configurações claude.ai em vez de alterar um valor. Para alterar uma configuração para uma sessão em nuvem, defina uma [variável de ambiente](/docs/pt/cloud-environments#set-environment-variables) no ambiente, ou em uma sessão com um repositório, confirme a chave no `.claude/settings.json` desse repositório.815* **`/config`**: no seu navegador em claude.ai/code, abre a seção Claude Code de suas configurações claude.ai em vez de alterar um valor. Para alterar uma configuração para uma sessão em nuvem, defina uma [variável de ambiente](/docs/pt/cloud-environments#set-environment-variables) no ambiente, ou em uma sessão com um repositório, confirme a chave no `.claude/settings.json` desse repositório.

setup.md +20 −10

Details

638 638 

639Para remover Claude Code, siga as instruções para seu método de instalação. Se `claude` ainda for executado depois, você provavelmente tem uma segunda instalação ou um alias de shell residual de um instalador mais antigo. Consulte [Verificar instalações conflitantes](/docs/pt/troubleshoot-install#check-for-conflicting-installations) para encontrá-lo e removê-lo.639Para remover Claude Code, siga as instruções para seu método de instalação. Se `claude` ainda for executado depois, você provavelmente tem uma segunda instalação ou um alias de shell residual de um instalador mais antigo. Consulte [Verificar instalações conflitantes](/docs/pt/troubleshoot-install#check-for-conflicting-installations) para encontrá-lo e removê-lo.

640 640 

641<h3 id="native-installation">641<span id="native-installation" />

642 Instalação nativa642 

643<h3 id="uninstall-a-native-installation">

644 Desinstalar uma instalação nativa

643</h3>645</h3>

644 646 

645Remova o binário Claude Code e os arquivos de versão:647Remova o binário Claude Code e os arquivos de versão:


660 </Tab>662 </Tab>

661</Tabs>663</Tabs>

662 664 

663<h3 id="homebrew-installation">665<span id="homebrew-installation" />

664 Instalação do Homebrew666 

667<h3 id="uninstall-with-homebrew">

668 Desinstalar com Homebrew

665</h3>669</h3>

666 670 

667Remova o cask do Homebrew que você instalou. Se você instalou o cask estável:671Remova o cask do Homebrew que você instalou. Se você instalou o cask estável:


676brew uninstall --cask claude-code@latest680brew uninstall --cask claude-code@latest

677```681```

678 682 

679<h3 id="winget-installation">683<span id="winget-installation" />

680 Instalação do WinGet684 

685<h3 id="uninstall-with-winget">

686 Desinstalar com WinGet

681</h3>687</h3>

682 688 

683Remova o pacote WinGet:689Remova o pacote WinGet:


686winget uninstall Anthropic.ClaudeCode692winget uninstall Anthropic.ClaudeCode

687```693```

688 694 

689<h3 id="apt-/-dnf-/-apk">695<span id="apt-/-dnf-/-apk" />

690 apt / dnf / apk696 

697<h3 id="uninstall-with-apt-dnf-or-apk">

698 Desinstalar com apt, dnf ou apk

691</h3>699</h3>

692 700 

693Remova o pacote e a configuração do repositório:701Remova o pacote e a configuração do repositório:


716 </Tab>724 </Tab>

717</Tabs>725</Tabs>

718 726 

719<h3 id="npm">727<span id="npm" />

720 npm728 

729<h3 id="uninstall-with-npm">

730 Desinstalar com npm

721</h3>731</h3>

722 732 

723Remova o pacote npm global:733Remova o pacote npm global:

skills.md +2 −0

Details

94| `migrate` | Atualize seu código Claude API existente para um modelo mais recente | Anterior a v2.1.221 |94| `migrate` | Atualize seu código Claude API existente para um modelo mais recente | Anterior a v2.1.221 |

95| `upgrade` | Mova a dependência do SDK Anthropic do seu projeto através de uma versão principal, atualmente o pacote Python `anthropic` de 0.x para 1.x | v2.1.236 ou posterior |95| `upgrade` | Mova a dependência do SDK Anthropic do seu projeto através de uma versão principal, atualmente o pacote Python `anthropic` de 0.x para 1.x | v2.1.236 ou posterior |

96| `managed-agents-onboard` | Percorra a criação de um novo Managed Agent | Anterior a v2.1.221 |96| `managed-agents-onboard` | Percorra a criação de um novo Managed Agent | Anterior a v2.1.221 |

97| `managed-agents-onboard <url>` | Crie o Managed Agent que a página na URL descreve, como uma página na [documentação de Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) | v2.1.290 ou posterior |

98| `managed-agents-onboard <quickstart-name>` | Crie um dos modelos de início rápido do Console, como `deep-researcher`. Se você fornecer uma palavra que não seja o nome de um modelo, Claude lista os nomes válidos | v2.1.290 ou posterior |

97| `prompt-audit` | Sinalize instruções escritas para modelos mais antigos em seus prompts, skills e descrições de ferramentas e proponha correções como um diff | v2.1.221 ou posterior |99| `prompt-audit` | Sinalize instruções escritas para modelos mais antigos em seus prompts, skills e descrições de ferramentas e proponha correções como um diff | v2.1.221 ou posterior |

98| `cost-optimize` | Perfil onde o gasto da Claude API do seu projeto vai e proponha economias de opções como prompt caching, redução de tokens de entrada e saída desnecessários, processamento em lote, esforço e escolha de modelo, uma alteração por vez | v2.1.247 ou posterior |100| `cost-optimize` | Perfil onde o gasto da Claude API do seu projeto vai e proponha economias de opções como prompt caching, redução de tokens de entrada e saída desnecessários, processamento em lote, esforço e escolha de modelo, uma alteração por vez | v2.1.247 ou posterior |

99| `build-eval` | Construa um conjunto de avaliação para seu aplicativo alimentado por Claude | v2.1.259 ou posterior |101| `build-eval` | Construa um conjunto de avaliação para seu aplicativo alimentado por Claude | v2.1.259 ou posterior |

sub-agents.md +4 −2

Details

609O modo de permissão da conversa principal decide se o Claude Code usa o valor que você definiu:609O modo de permissão da conversa principal decide se o Claude Code usa o valor que você definiu:

610 610 

611* Quando a conversa principal está em `bypassPermissions`, `acceptEdits` ou no [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode), o subagente é executado nesse mesmo modo e o Claude Code ignora o `permissionMode` que você definiu. No modo auto, o classificador avalia as chamadas de ferramenta do subagente com as regras de bloqueio e de permissão da conversa principal. Quando o subagente termina, o classificador também revisa seu trabalho e seu relatório final antes que o relatório seja entregue, conforme descrito em [Como o modo auto lida com subagentes](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode).611* Quando a conversa principal está em `bypassPermissions`, `acceptEdits` ou no [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode), o subagente é executado nesse mesmo modo e o Claude Code ignora o `permissionMode` que você definiu. No modo auto, o classificador avalia as chamadas de ferramenta do subagente com as regras de bloqueio e de permissão da conversa principal. Quando o subagente termina, o classificador também revisa seu trabalho e seu relatório final antes que o relatório seja entregue, conforme descrito em [Como o modo auto lida com subagentes](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode).

612* Quando a conversa principal está no modo `default`, `dontAsk` ou `plan`, o subagente é executado no modo de permissão que você definiu, exceto `bypassPermissions`. Um subagente que declara `bypassPermissions` mantém, em vez disso, o modo da conversa principal. A exceção de `bypassPermissions` requer o Claude Code v2.1.267 ou posterior.612* Quando a conversa principal está no modo `default`, `dontAsk` ou `plan`, o subagente é executado no modo de permissão que você definiu. Em vez disso, ele mantém o modo de permissão da conversa principal nestes casos:

613 * Você define `bypassPermissions`. A exceção de `bypassPermissions` requer o Claude Code v2.1.267 ou posterior.

614 * Você define `auto` e o [modo auto não está disponível](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) para o subagente, como quando um arquivo de configurações define [`disableAutoMode`](/docs/pt/settings-reference#disableautomode) ou o modelo do subagente não suporta o modo auto.

613 615 

614`permissionMode` aceita estes valores, e `manual` como alias para `default`:616`permissionMode` aceita estes valores, e `manual` como alias para `default`:

615 617 


640Implement API endpoints. Follow the conventions and patterns from the preloaded skills.642Implement API endpoints. Follow the conventions and patterns from the preloaded skills.

641```643```

642 644 

643O conteúdo completo de cada skill listada é injetado no contexto do subagente na inicialização. Este campo controla quais skills são pré-carregadas, e não quais skills o subagente pode acessar: sem ele, o subagente ainda pode descobrir e invocar skills de projeto, de usuário e de plugin por meio da ferramenta Skill durante a execução. Para impedir totalmente que um subagente invoque skills, omita `Skill` da lista [`tools`](#available-tools) ou adicione-a a `disallowedTools`.645O conteúdo completo de cada skill listada é injetado no contexto do subagente na inicialização, até os primeiros 32 nomes distintos da lista. Este campo controla quais skills são pré-carregadas, e não quais skills o subagente pode acessar: sem ele, o subagente ainda pode descobrir e invocar skills de projeto, de usuário e de plugin por meio da ferramenta Skill durante a execução. Para impedir totalmente que um subagente invoque skills, omita `Skill` da lista [`tools`](#available-tools) ou adicione-a a `disallowedTools`.

644 646 

645Você não pode pré-carregar skills que definem [`disable-model-invocation: true`](/docs/pt/skills#control-who-invokes-a-skill), pois o pré-carregamento usa o mesmo conjunto de skills que o Claude pode invocar. Isso inclui a skill integrada `/verify`, que o Claude não pode executar por conta própria.647Você não pode pré-carregar skills que definem [`disable-model-invocation: true`](/docs/pt/skills#control-who-invokes-a-skill), pois o pré-carregamento usa o mesmo conjunto de skills que o Claude pode invocar. Isso inclui a skill integrada `/verify`, que o Claude não pode executar por conta própria.

646 648 

Details

666 666 

667* WebFetch recusa `localhost` e qualquer outro nome de host sem um ponto, como um nome de intranet simples, antes de fazer uma solicitação. O [erro que retorna](/docs/pt/errors#webfetch-cannot-fetch-localhost) diz a Claude para alcançar servidores locais com `curl` através do Bash.667* WebFetch recusa `localhost` e qualquer outro nome de host sem um ponto, como um nome de intranet simples, antes de fazer uma solicitação. O [erro que retorna](/docs/pt/errors#webfetch-cannot-fetch-localhost) diz a Claude para alcançar servidores locais com `curl` através do Bash.

668* URLs HTTP são automaticamente atualizadas para HTTPS.668* URLs HTTP são automaticamente atualizadas para HTTPS.

669* Páginas grandes são truncadas para um limite de caracteres fixo antes do processamento.669* WebFetch lê até 100.000 caracteres do conteúdo de uma página por chamada. No Claude Code v2.1.290 ou posterior, o resultado para uma página mais longa informa a Claude quanto ficou sem ser lido, para que Claude possa buscar a próxima parte.

670* 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.670* 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.

671* 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.671* 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.

672* 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.672* 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.

Details

6 6 

7> Corrija erros de comando não encontrado, PATH, permissão, rede e autenticação ao instalar ou fazer login no Claude Code.7> Corrija erros de comando não encontrado, PATH, permissão, rede e autenticação ao instalar ou fazer login no Claude Code.

8 8 

9Se a instalação falhar ou você não conseguir fazer login, encontre seu erro abaixo. Para problemas de tempo de execução após o Claude Code estar funcionando, consulte [Troubleshooting](/docs/pt/troubleshooting). Para problemas de configuração, como configurações não sendo aplicadas ou hooks não disparando, consulte [Debug your configuration](/docs/pt/debug-your-config).9Se a instalação falhar ou você não conseguir fazer login, encontre seu erro abaixo. Para problemas de tempo de execução após o Claude Code estar funcionando, consulte [Solução de problemas](/docs/pt/troubleshooting). Para problemas de configuração, como configurações não sendo aplicadas ou hooks não disparando, consulte [Depurar sua configuração](/docs/pt/debug-your-config).

10 10 

11<h2 id="find-your-error">11<h2 id="find-your-error">

12 Encontre seu erro12 Encontre seu erro


17| O que você vê | Solução |17| O que você vê | Solução |

18| :- | :- |18| :- | :- |

19| `command not found: claude` ou `'claude' is not recognized` | [Corrija seu PATH](#command-not-found-claude-after-installation) |19| `command not found: claude` ou `'claude' is not recognized` | [Corrija seu PATH](#command-not-found-claude-after-installation) |

20| `Native installation exists but ... is not in your PATH` | [Adicione o diretório de instalação ao seu PATH](#verify-your-path) |

21| `INFO: Could not find files for the given pattern(s).` de `where.exe claude` | [Verifique se o Claude Code está instalado](#check-for-conflicting-installations) |

22| `zsh: permission denied: /Users/you/.zshrc` ou `bash: /home/you/.bashrc: Permission denied` | [Torne seu arquivo de configuração do shell gravável](#permission-denied-when-adding-to-your-path) |

20| `syntax error near unexpected token '<'` | [O script de instalação retorna HTML](#install-script-returns-html-instead-of-a-shell-script) |23| `syntax error near unexpected token '<'` | [O script de instalação retorna HTML](#install-script-returns-html-instead-of-a-shell-script) |

24| `< was unexpected at this time` no CMD | [O script de instalação retorna HTML](#install-script-returns-html-instead-of-a-shell-script) |

25| `The term 'System.Xml.XmlDocument' is not recognized` | [O script de instalação retorna HTML](#install-script-returns-html-instead-of-a-shell-script) |

21| `curl: (22) The requested URL returned error: 403` | [O script de instalação retornou 403](#install-script-returns-html-instead-of-a-shell-script) |26| `curl: (22) The requested URL returned error: 403` | [O script de instalação retornou 403](#install-script-returns-html-instead-of-a-shell-script) |

22| `curl: (23)` ou `curl: (56) Failure writing output to destination` | [Verifique a conectividade ou use um instalador alternativo](#curl-56-failure-writing-output-to-destination) |27| `curl: (23)` ou `curl: (56) Failure writing output to destination` | [Verifique a conectividade ou use um instalador alternativo](#curl-56-failure-writing-output-to-destination) |

23| `Killed` durante a instalação no Linux, ou `Installation was killed before it could finish (exit code 137)` | [Libere memória ou adicione espaço de troca](#install-killed-on-low-memory-linux-servers) |28| `Killed` durante a instalação no Linux | [Libere memória ou adicione espaço de troca](#install-killed-on-low-memory-linux-servers) |

29| `Installation was killed before it could finish` | [Libere memória e execute novamente o instalador](#installation-was-killed-before-it-could-finish) |

24| `Raw mode is not supported` durante a instalação | [Execute novamente o instalador](#raw-mode-is-not-supported-during-install) |30| `Raw mode is not supported` durante a instalação | [Execute novamente o instalador](#raw-mode-is-not-supported-during-install) |

25| `EACCES: permission denied` durante a instalação | [Corrija as permissões do diretório de instalação](#permission-errors-during-installation) |31| `EACCES: permission denied` durante a instalação | [Corrija as permissões do diretório de instalação](#permission-errors-during-installation) |

26| `TLS connect error` ou `SSL/TLS secure channel` | [Atualize os certificados CA](#tls-or-ssl-connection-errors) |32| `TLS connect error` ou `SSL/TLS secure channel` | [Atualize os certificados CA](#tls-or-ssl-connection-errors) |

33| `CRYPT_E_NO_REVOCATION_CHECK` ou `CRYPT_E_REVOCATION_OFFLINE` | [Contorne verificações de revogação bloqueadas](#tls-or-ssl-connection-errors) |

27| `Failed to fetch version` ou não consegue alcançar o servidor de download | [Verifique as configurações de rede e proxy](#check-network-connectivity) |34| `Failed to fetch version` ou não consegue alcançar o servidor de download | [Verifique as configurações de rede e proxy](#check-network-connectivity) |

35| `The connection dropped while downloading the update` ou `Download timed out: exceeded the total deadline` | [Execute a atualização novamente ou configure seu proxy](#the-connection-dropped-while-downloading-the-update) |

28| `irm is not recognized` ou `The token '&&' is not a valid statement separator` | [Use o comando correto para seu shell](#wrong-install-command-on-windows) |36| `irm is not recognized` ou `The token '&&' is not a valid statement separator` | [Use o comando correto para seu shell](#wrong-install-command-on-windows) |

29| `Cask 'claude-code' is unavailable: No Cask with this name exists` | [Atualize o Homebrew](#homebrew-cask-unavailable-or-outdated) |37| `Cask 'claude-code' is unavailable: No Cask with this name exists` | [Atualize o Homebrew](#homebrew-cask-unavailable-or-outdated) |

38| `Cask 'claude-code@latest' is not installed` | [Atualize o cask que você instalou](#cask-is-not-installed) |

30| `'bash' is not recognized as the name of a cmdlet` | [Use o comando do instalador do Windows](#wrong-install-command-on-windows) |39| `'bash' is not recognized as the name of a cmdlet` | [Use o comando do instalador do Windows](#wrong-install-command-on-windows) |

31| `A parameter cannot be found that matches parameter name 'fsSL'` | [Use o comando do instalador do Windows](#wrong-install-command-on-windows) |40| `A parameter cannot be found that matches parameter name 'fsSL'` | [Use o comando do instalador do Windows](#wrong-install-command-on-windows) |

32| `Claude Code on Windows requires either Git for Windows (for bash) or PowerShell` | [Instale um shell](#claude-code-on-windows-requires-either-git-for-windows-for-bash-or-powershell) |41| `Claude Code on Windows requires either Git for Windows (for bash) or PowerShell` | [Instale um shell](#claude-code-on-windows-requires-either-git-for-windows-for-bash-or-powershell) |


82 curl.exe -sI https://downloads.claude.ai/claude-code-releases/latest91 curl.exe -sI https://downloads.claude.ai/claude-code-releases/latest

83 ```92 ```

84 93 

85 O PowerShell cria um alias de `curl` para `Invoke-WebRequest`, que rejeita os sinalizadores `-sI`, então chame `curl.exe` explicitamente.94 O PowerShell cria um alias de `curl` para `Invoke-WebRequest`, que rejeita as flags `-sI`, então chame `curl.exe` explicitamente.

86 </Tab>95 </Tab>

87</Tabs>96</Tabs>

88 97 


91* `403`: geralmente um proxy ou filtro de rede bloqueando o host, ou Claude Code [não está disponível em sua região](https://www.anthropic.com/supported-countries)100* `403`: geralmente um proxy ou filtro de rede bloqueando o host, ou Claude Code [não está disponível em sua região](https://www.anthropic.com/supported-countries)

92* `5xx`: geralmente um problema temporário de serviço; aguarde alguns minutos e tente novamente101* `5xx`: geralmente um problema temporário de serviço; aguarde alguns minutos e tente novamente

93 102 

94Se você não vir nenhuma saída, `Could not resolve host`, ou um tempo limite de conexão, sua rede está bloqueando a conexão. Causas comuns:103Se você não vir nenhuma saída, `Could not resolve host`, ou um timeout de conexão, sua rede está bloqueando a conexão. Causas comuns:

95 104 

96* Firewalls corporativos ou proxies bloqueando `downloads.claude.ai`105* Firewalls corporativos ou proxies bloqueando `downloads.claude.ai`

97* Restrições de rede regional: tente uma VPN ou rede alternativa106* Restrições de rede regional: tente uma VPN ou rede alternativa


125 134 

126Se a instalação foi bem-sucedida mas você recebe um erro `command not found` ou `not recognized` ao executar `claude`, o diretório de instalação não está em seu PATH. Seu shell procura por programas em diretórios listados em PATH, e o instalador coloca `claude` em `~/.local/bin/claude` no macOS/Linux ou `%USERPROFILE%\.local\bin\claude.exe` no Windows.135Se a instalação foi bem-sucedida mas você recebe um erro `command not found` ou `not recognized` ao executar `claude`, o diretório de instalação não está em seu PATH. Seu shell procura por programas em diretórios listados em PATH, e o instalador coloca `claude` em `~/.local/bin/claude` no macOS/Linux ou `%USERPROFILE%\.local\bin\claude.exe` no Windows.

127 136 

137O instalador detecta esse caso e o relata em `Setup notes:` em sua saída: `Native installation exists but ~/.local/bin is not in your PATH.` no macOS e Linux, ou `Native installation exists but C:\Users\you\.local\bin is not in your PATH.` no Windows. Ele imprime a correção junto com essa nota, mas não altera o PATH por conta própria.

138 

128<Note>139<Note>

129 A [extensão VS Code](/docs/pt/vs-code) não coloca `claude` neste local. Ela agrupa uma cópia privada da CLI dentro do diretório da extensão para seu próprio painel de chat e não a adiciona ao PATH. Se você tiver instalado apenas a extensão, `~/.local/bin/claude` não existirá. Execute a [instalação autônoma](/docs/pt/setup) para usar `claude` a partir de um terminal, depois continue abaixo.140 A [extensão VS Code](/docs/pt/vs-code) não coloca `claude` neste local. Ela agrupa uma cópia privada da CLI dentro do diretório da extensão para seu próprio painel de chat e não a adiciona ao PATH. Se você tiver instalado apenas a extensão, `~/.local/bin/claude` não existirá. Execute a [instalação autônoma](/docs/pt/setup) para usar `claude` a partir de um terminal, depois continue abaixo.

130</Note>141</Note>

131 142 

132Verifique se o diretório de instalação está em seu PATH listando suas entradas de PATH e filtrando por `local/bin`:143Primeiro verifique se o programa está lá, depois verifique se a pasta dele está em seu PATH. A correção do PATH é permanente, então você a aplica uma única vez. Escolha a aba da sua plataforma e execute os comandos dela: no seu terminal no macOS e Linux, ou no PowerShell ou Prompt de Comando no Windows.

133 144 

134<Tabs>145<Tabs>

135 <Tab title="macOS/Linux">146 <Tab title="macOS/Linux">

147 Verifique se o instalador colocou o programa no lugar:

148 

149 ```bash theme={null}

150 ls -la ~/.local/bin/claude

151 ```

152 

153 * **`No such file or directory`**: não há instalação nativa. Se você não instalou o Claude Code de outra forma, como com npm, Homebrew ou um gerenciador de pacotes do Linux, [instale o Claude Code](/docs/pt/setup#install-claude-code). Se você o instalou de outra forma, consulte [Verifique se há instalações conflitantes](#check-for-conflicting-installations).

154 * **Uma listagem do arquivo**: o programa está lá. Verifique seu PATH em seguida.

155 

156 Liste suas entradas de PATH e filtre pela pasta de instalação:

157 

136 ```bash theme={null}158 ```bash theme={null}

137 echo $PATH | tr ':' '\n' | grep -Fx "$HOME/.local/bin"159 echo $PATH | tr ':' '\n' | grep -Fx "$HOME/.local/bin"

138 ```160 ```

139 161 

140 Se isso imprimir `/Users/you/.local/bin` ou `/home/you/.local/bin`, o diretório está em seu PATH e você pode pular para [Verifique se há instalações conflitantes](#check-for-conflicting-installations). Se não houver saída, adicione-o à sua configuração de shell.162 Se isso imprimir `/Users/you/.local/bin` ou `/home/you/.local/bin`, o diretório está em seu PATH e você pode pular para [Verifique se há instalações conflitantes](#check-for-conflicting-installations). Se não houver saída, adicione-o à sua configuração de shell com os dois comandos para o seu shell. O comando `echo` salva a configuração para todo novo terminal, e `source` a aplica à janela em que você está. O comando `echo` não imprime nada quando é bem-sucedido.

141 163 

142 Para Zsh, o padrão no macOS:164 Para Zsh, o padrão no macOS:

143 165 


162 184 

163 Alternativamente, feche e reabra seu terminal.185 Alternativamente, feche e reabra seu terminal.

164 186 

187 Se o comando `echo` imprimir `permission denied`, consulte [`permission denied` ao adicionar ao seu PATH](#permission-denied-when-adding-to-your-path).

188 

165 Para outros shells como fish ou Nushell, adicione `~/.local/bin` ao seu PATH usando a sintaxe de configuração do seu próprio shell, depois reinicie seu terminal.189 Para outros shells como fish ou Nushell, adicione `~/.local/bin` ao seu PATH usando a sintaxe de configuração do seu próprio shell, depois reinicie seu terminal.

166 190 

167 Verifique se a correção funcionou:191 Verifique se a correção funcionou:


169 ```bash theme={null}193 ```bash theme={null}

170 claude --version194 claude --version

171 ```195 ```

196 

197 Se `claude` ainda não for encontrado, verifique estas causas:

198 

199 * **O terminal é anterior à alteração**: uma janela que já estava aberta mantém seu PATH antigo, e um terminal dentro de um editor recebe seu PATH do editor. Abra uma nova janela, ou feche e reabra o editor.

200 * **A linha não foi salva**: execute `grep -n '.local/bin' ~/.zshrc`, usando o nome de arquivo do seu shell. Ele imprime a linha com seu número de linha quando a linha está lá. Se não imprimir nada, execute os dois comandos de PATH novamente.

201 * **A linha foi para o arquivo de outro shell**: execute `echo $0` para ver seu shell e, em seguida, execute os dois comandos de PATH para esse shell.

172 </Tab>202 </Tab>

173 203 

174 <Tab title="Windows PowerShell">204 <Tab title="Windows PowerShell">

205 Verifique se o instalador colocou o programa no lugar:

206 

207 ```powershell theme={null}

208 Test-Path "$env:USERPROFILE\.local\bin\claude.exe"

209 ```

210 

211 * **`False`**: não há instalação nativa. Se você não instalou o Claude Code de outra forma, como com npm ou WinGet, [instale o Claude Code](/docs/pt/setup#install-claude-code). Se você o instalou de outra forma, consulte [Verifique se há instalações conflitantes](#check-for-conflicting-installations).

212 * **`True`**: o programa está lá. Verifique seu PATH em seguida.

213 

214 Liste suas entradas de PATH e filtre pela pasta de instalação:

215 

175 ```powershell theme={null}216 ```powershell theme={null}

176 $env:PATH -split ';' | Select-String '\.local\\bin'217 $env:PATH -split ';' | Select-String '\.local\\bin'

177 ```218 ```

178 219 

179 Se não houver saída, adicione o diretório de instalação ao seu User PATH:220 Se isso imprimir `C:\Users\you\.local\bin`, o diretório está em seu PATH e você pode pular para [Verifique se há instalações conflitantes](#check-for-conflicting-installations). Se não houver saída, adicione o diretório de instalação ao seu User PATH:

180 221 

181 ```powershell theme={null}222 ```powershell theme={null}

182 $currentPath = [Environment]::GetEnvironmentVariable('PATH', 'User')223 $currentPath = [Environment]::GetEnvironmentVariable('PATH', 'User')


190 ```powershell theme={null}231 ```powershell theme={null}

191 claude --version232 claude --version

192 ```233 ```

234 

235 Se `claude` ainda não for encontrado em um novo terminal, verifique estas causas:

236 

237 * **O terminal é executado dentro de um editor**: ele recebe seu PATH do editor, então feche e reabra o editor.

238 * **A alteração não foi salva**: execute `[Environment]::GetEnvironmentVariable('PATH', 'User')` e procure por `.local\bin` no PATH que ele imprime. Se estiver ausente, execute os dois comandos novamente.

193 </Tab>239 </Tab>

194 240 

195 <Tab title="Windows CMD">241 <Tab title="Windows CMD">

242 Verifique se o instalador colocou o programa no lugar:

243 

244 ```batch theme={null}

245 dir "%USERPROFILE%\.local\bin\claude.exe"

246 ```

247 

248 * **`File Not Found` ou `The system cannot find the path specified.`**: não há instalação nativa. Se você não instalou o Claude Code de outra forma, como com npm ou WinGet, [instale o Claude Code](/docs/pt/setup#install-claude-code). Se você o instalou de outra forma, consulte [Verifique se há instalações conflitantes](#check-for-conflicting-installations).

249 * **Uma listagem de `claude.exe`**: o programa está lá. Verifique seu PATH em seguida.

250 

251 Liste suas entradas de PATH e filtre pela pasta de instalação:

252 

196 ```batch theme={null}253 ```batch theme={null}

197 echo %PATH% | findstr /i "local\bin"254 echo %PATH% | findstr /i "local\bin"

198 ```255 ```


204 ```batch theme={null}261 ```batch theme={null}

205 claude --version262 claude --version

206 ```263 ```

264 

265 Se `claude` ainda não for encontrado em um novo terminal, um terminal dentro de um editor recebe seu PATH do editor, então feche e reabra o editor também.

207 </Tab>266 </Tab>

208</Tabs>267</Tabs>

209 268 


221 which -a claude280 which -a claude

222 ```281 ```

223 282 

224 Se isso não imprimir nada, nenhum `claude` está em seu PATH ainda. Volte para [Verifique seu PATH](#verify-your-path).283 Se isso imprimir `claude not found`, uma linha `no claude in` ou nada, nenhum `claude` está em seu PATH. As próximas verificações mostram se algum está instalado.

225 284 

226 Verifique os três locais de onde um binário `claude` pode vir. `~/.local/bin/claude` é o instalador nativo, `~/.claude/local/` é uma instalação npm local legada criada por versões antigas do Claude Code, e a lista npm global mostra uma instalação `-g`:285 Verifique os três locais de onde um binário `claude` pode vir. `~/.local/bin/claude` é o instalador nativo, `~/.claude/local/` é uma instalação npm local legada criada por versões antigas do Claude Code, e a lista npm global mostra uma instalação `-g`:

227 286 


240 ```bash theme={null}299 ```bash theme={null}

241 npm -g ls @anthropic-ai/claude-code 2>/dev/null300 npm -g ls @anthropic-ai/claude-code 2>/dev/null

242 ```301 ```

302 

303 Se `ls -la ~/.local/bin/claude` imprimiu `No such file or directory`, não há instalação nativa. Se você não instalou o Claude Code de outra forma, como com npm, Homebrew ou um gerenciador de pacotes do Linux, [instale o Claude Code](/docs/pt/setup#install-claude-code). Se `~/.local/bin/claude` existe mas `which -a claude` não o listou, a pasta não está em seu PATH: consulte [Verifique seu PATH](#verify-your-path).

243 </Tab>304 </Tab>

244 305 

245 <Tab title="Windows PowerShell">306 <Tab title="Windows PowerShell">


249 where.exe claude310 where.exe claude

250 ```311 ```

251 312 

313 Se isso imprimir `INFO: Could not find files for the given pattern(s).`, nenhum `claude` está em seu PATH.

314 

252 Verifique se o instalador nativo colocou um binário:315 Verifique se o instalador nativo colocou um binário:

253 316 

254 ```powershell theme={null}317 ```powershell theme={null}

255 Test-Path "$env:USERPROFILE\.local\bin\claude.exe"318 Test-Path "$env:USERPROFILE\.local\bin\claude.exe"

256 ```319 ```

320 

321 * **`True`**: a instalação nativa está lá. Se `where.exe` não encontrou nada, a pasta dela não está em seu PATH: consulte [Verifique seu PATH](#verify-your-path).

322 * **`False`**: não há instalação nativa. Se você não instalou o Claude Code de outra forma, como com npm ou WinGet, [instale o Claude Code](/docs/pt/setup#install-claude-code).

257 </Tab>323 </Tab>

258</Tabs>324</Tabs>

259 325 


368 Install script returns HTML instead of a shell script434 Install script returns HTML instead of a shell script

369</h3>435</h3>

370 436 

371Ao executar o comando de instalação, você pode ver um destes erros:437O comando de instalação falha com um destes erros quando o que ele baixou não é o script de instalação.

438 

439**Bash ou Zsh**: o erro cita a primeira linha da página retornada.

372 440 

373```text theme={null}441```text theme={null}

374bash: line 1: syntax error near unexpected token `<'442bash: line 1: syntax error near unexpected token `<'

375bash: line 1: `<!DOCTYPE html>'443bash: line 1: `<!DOCTYPE html>'

376```444```

377 445 

378No PowerShell, o mesmo problema aparece como erros de análise apontando para a página retornada, com `iex` tentando executar HTML e CSS como PowerShell:446**PowerShell, erros de análise**: os erros apontam para a página retornada, com `iex` tentando executar HTML e CSS como PowerShell.

379 447 

380```text theme={null}448```text theme={null}

381iex : At line:1 char:2310449iex : At line:1 char:2310


384...452...

385```453```

386 454 

387A redação varia com a versão do PowerShell e o idioma do sistema: você pode ver `Missing expression after unary operator '--'` ou um `ParserError` com `ParseException` em vez disso. Tags HTML ou CSS no texto entre aspas identificam essa falha. Se você baixar com `-OutFile install.ps1` em vez disso, o arquivo salvo é a mesma página da web, então isso não ajuda.455A redação varia com a versão do PowerShell e o idioma do sistema: você pode ver `Missing expression after unary operator '--'` ou um `ParserError` com `ParseException` em vez disso. Tags HTML ou CSS no texto citado identificam essa falha. Se você baixar com `-OutFile install.ps1` em vez disso, o arquivo salvo é a mesma página da web, então isso também não ajuda.

388 456 

389Dependendo de como a solicitação foi roteada, você pode ver um 403 sem corpo HTML:457**PowerShell, `System.Xml.XmlDocument`**: o erro nomeia esse tipo em vez de citar a página.

458 

459```text theme={null}

460System.Xml.XmlDocument : The term 'System.Xml.XmlDocument' is not recognized as the name of a cmdlet, function, script

461file, or operable program.

462```

463 

464Quando `irm` consegue analisar a resposta como XML, ele retorna um objeto XML em vez de texto, e `iex` então tenta executar o nome do tipo desse objeto como um comando. O script de instalação é código PowerShell e não pode ser analisado como XML, então esse erro também significa que a resposta foi algo diferente do script. A redação em torno do nome do tipo varia com a versão do PowerShell e o idioma do sistema, mas `System.Xml.XmlDocument` em si permanece o mesmo, então procure pelo nome do tipo.

465 

466**CMD**: você vê este erro, seguido pelo HTML da página retornada.

467 

468```text theme={null}

469< was unexpected at this time.

470 

471C:\Users\you><!DOCTYPE html>...

472```

473 

474A primeira linha aparece no idioma do seu sistema, então procure o HTML que vem depois dela.

475 

476**Um 403 sem página**: dependendo de como a requisição foi roteada, o curl relata um status 403 sem corpo HTML.

390 477 

391```text theme={null}478```text theme={null}

392curl: (22) The requested URL returned error: 403479curl: (22) The requested URL returned error: 403

393```480```

394 481 

395Todos esses significam que a URL de instalação retornou uma página HTML ou um status de erro em vez do script de instalação. Se a página HTML disser "App unavailable in region," Claude Code não está disponível em seu país. Consulte [supported countries](https://www.anthropic.com/supported-countries).482Todos esses significam que a URL de instalação retornou uma página da web, um documento XML ou um status de erro em vez do script de instalação. Se a saída de erro citar "App unavailable in region," Claude Code não está disponível em seu país. Consulte [supported countries](https://www.anthropic.com/supported-countries).

396 483 

397Um 403 simples sem corpo frequentemente tem a mesma causa, mas também pode vir de um proxy corporativo ou firewall bloqueando o download. Se você estiver em um país suportado e ainda vir o 403, trabalhe através de [Check network connectivity](#check-network-connectivity) antes de tentar os instaladores alternativos abaixo, já que esses alcançam os mesmos hosts.484Um 403 simples sem corpo frequentemente tem a mesma causa, mas também pode vir de um proxy corporativo ou firewall bloqueando o download. Se você estiver em um país suportado e ainda vir o 403, trabalhe através de [Check network connectivity](#check-network-connectivity) antes de tentar os instaladores alternativos abaixo, já que esses alcançam os mesmos hosts.

398 485 


400 487 

401**Soluções:**488**Soluções:**

402 489 

4031. **Use um método de instalação alternativo**:4901. **Tente novamente após alguns minutos**: o problema é frequentemente temporário. Aguarde e tente o comando original novamente.

491 

4922. **Use um método de instalação alternativo**: diferentemente de uma instalação nativa, uma instalação via Homebrew ou WinGet [não se atualiza automaticamente por padrão](/docs/pt/setup#auto-updates).

404 493 

405 No macOS, instale via Homebrew:494 No macOS, instale via Homebrew:

406 495 


416 505 

417 Depois execute `claude --version` para confirmar: o comando imprime um número de versão como `2.1.211 (Claude Code)`. Se o shell relatar que `claude` não foi encontrado, abra uma nova janela de terminal e tente novamente: a sessão em que você instalou mantém seu antigo `PATH`.506 Depois execute `claude --version` para confirmar: o comando imprime um número de versão como `2.1.211 (Claude Code)`. Se o shell relatar que `claude` não foi encontrado, abra uma nova janela de terminal e tente novamente: a sessão em que você instalou mantém seu antigo `PATH`.

418 507 

4192. **Tente novamente após alguns minutos**: o problema é frequentemente temporário. Aguarde e tente o comando original novamente.

420 

421<h3 id="command-not-found-claude-after-installation">508<h3 id="command-not-found-claude-after-installation">

422 `command not found: claude` after installation509 `command not found: claude` after installation

423</h3>510</h3>


435 522 

436Caso contrário, consulte [Verify your PATH](#verify-your-path) para a correção em cada plataforma.523Caso contrário, consulte [Verify your PATH](#verify-your-path) para a correção em cada plataforma.

437 524 

525<h3 id="permission-denied-when-adding-to-your-path">

526 `permission denied` when adding to your PATH

527</h3>

528 

529Se o comando `echo` que adiciona `~/.local/bin` ao seu PATH imprimir `zsh: permission denied: /Users/you/.zshrc` ou `bash: /home/you/.bashrc: Permission denied`, seu usuário não pode escrever nesse arquivo e nada foi salvo. No seu terminal, verifique quem é o proprietário do arquivo, usando o nome do arquivo do seu shell no lugar de `~/.zshrc`:

530 

531```bash theme={null}

532ls -l ~/.zshrc

533```

534 

535O terceiro campo da saída é o proprietário.

536 

537* **O proprietário é outro usuário, como `root`**: assuma a propriedade com `sudo chown $(whoami) ~/.zshrc`, o que requer direitos de administrador.

538* **O proprietário é você**: o arquivo é somente leitura. Torne-o gravável com `chmod u+w ~/.zshrc`.

539 

540Depois execute novamente os dois comandos de PATH para o seu shell em [Verify your PATH](#verify-your-path).

541 

438<h3 id="curl-56-failure-writing-output-to-destination">542<h3 id="curl-56-failure-writing-output-to-destination">

439 `curl: (56) Failure writing output to destination`543 `curl: (56) Failure writing output to destination`

440</h3>544</h3>


456 560 

457Se Homebrew instalar uma versão mais antiga do Claude Code do que você espera, o mesmo índice desatualizado é geralmente a causa. O cask `claude-code` rastreia o canal estável e é tipicamente cerca de uma semana atrás da versão mais recente; para a versão mais recente execute `brew install --cask claude-code@latest` em vez disso. Consulte [Configure release channel](/docs/pt/setup#configure-release-channel) para a diferença entre os dois casks.561Se Homebrew instalar uma versão mais antiga do Claude Code do que você espera, o mesmo índice desatualizado é geralmente a causa. O cask `claude-code` rastreia o canal estável e é tipicamente cerca de uma semana atrás da versão mais recente; para a versão mais recente execute `brew install --cask claude-code@latest` em vez disso. Consulte [Configure release channel](/docs/pt/setup#configure-release-channel) para a diferença entre os dois casks.

458 562 

563<h3 id="cask-is-not-installed">

564 `Cask 'claude-code@latest' is not installed`

565</h3>

566 

567O Homebrew oferece dois casks, `claude-code` e `claude-code@latest`. Executar `brew upgrade --cask claude-code@latest` quando esse cask não é o que está instalado imprime `Error: Cask 'claude-code@latest' is not installed.` Para ver qual cask você tem, execute isto no seu terminal:

568 

569```bash theme={null}

570brew list --cask | grep claude-code

571```

572 

573Atualize o cask que ele imprimir. Se não imprimir nada, nenhum dos casks está instalado.

574 

459<h3 id="tls-or-ssl-connection-errors">575<h3 id="tls-or-ssl-connection-errors">

460 TLS or SSL connection errors576 TLS or SSL connection errors

461</h3>577</h3>


467* PowerShell's `Could not create SSL/TLS secure channel`583* PowerShell's `Could not create SSL/TLS secure channel`

468* PowerShell's `Could not establish trust relationship for the SSL/TLS secure channel`584* PowerShell's `Could not establish trust relationship for the SSL/TLS secure channel`

469 585 

586Para `CRYPT_E_NO_REVOCATION_CHECK` ou `CRYPT_E_REVOCATION_OFFLINE`, vá para a etapa 4.

587 

470**Soluções:**588**Soluções:**

471 589 

4721. **Atualize seus certificados CA do sistema**:5901. **Atualize seus certificados CA do sistema**:


479 597 

480 No macOS, o curl do sistema usa o armazenamento de confiança do Keychain; atualizar o macOS em si atualiza os certificados raiz.598 No macOS, o curl do sistema usa o armazenamento de confiança do Keychain; atualizar o macOS em si atualiza os certificados raiz.

481 599 

4822. **No Windows, ative TLS 1.2** no PowerShell antes de executar o instalador:6002. **No Windows PowerShell 5.1, ative TLS 1.2**:

483 ```powershell theme={null}601 ```powershell theme={null}

484 [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12602 [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

603 ```

604 Depois execute o instalador na mesma janela:

605 ```powershell theme={null}

485 irm https://claude.ai/install.ps1 | iex606 irm https://claude.ai/install.ps1 | iex

486 ```607 ```

487 608 

4883. **Verifique se há interferência de proxy ou firewall**: proxies corporativos que realizam inspeção TLS podem causar esses erros, incluindo `unable to get local issuer certificate` e `SELF_SIGNED_CERT_IN_CHAIN`. Para a etapa de instalação, faça o download de instalação confiar em seu CA corporativo:6093. **Verifique se há interferência de proxy ou firewall**: proxies corporativos que realizam inspeção TLS podem causar esses erros, incluindo `unable to get local issuer certificate` e `SELF_SIGNED_CERT_IN_CHAIN`. Para a etapa de instalação, faça o download de instalação confiar no CA do seu proxy corporativo:

489 610 

490 <Tabs>611 <Tabs>

491 <Tab title="macOS/Linux">612 <Tab title="macOS/Linux">


503 </Tab>624 </Tab>

504 </Tabs>625 </Tabs>

505 626 

506 Para o Claude Code em si uma vez instalado, defina `NODE_EXTRA_CA_CERTS` para que as solicitações de API confiem no mesmo pacote:627 Para o Claude Code em si uma vez instalado, defina `NODE_EXTRA_CA_CERTS` para que as requisições de API confiem no mesmo pacote:

507 628 

508 <Tabs>629 <Tabs>

509 <Tab title="macOS/Linux">630 <Tab title="macOS/Linux">


525 ```batch theme={null}646 ```batch theme={null}

526 curl --ssl-revoke-best-effort -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd647 curl --ssl-revoke-best-effort -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

527 ```648 ```

528 Quando os downloads do próprio script atingem os mesmos erros, ele os tenta novamente com verificação de revogação de melhor esforço automaticamente, então o sinalizador é necessário apenas no comando que você executa. A verificação de melhor esforço tolera um servidor de revogação inacessível mas ainda rejeita um certificado que é conhecido por ser revogado, correspondendo a como os navegadores lidam com revogação. Você também pode evitar completamente a verificação de revogação do curl executando o instalador PowerShell do PowerShell, que baixa através do .NET e não falha quando o servidor de revogação está inacessível:649 Quando os downloads do próprio script atingem os mesmos erros, ele os tenta novamente com verificação de revogação de melhor esforço automaticamente, então a flag é necessária apenas no comando que você executa. A verificação de melhor esforço tolera um servidor de revogação inacessível mas ainda rejeita um certificado que é conhecido por ser revogado, correspondendo a como os navegadores lidam com revogação. Você também pode evitar completamente a verificação de revogação do curl executando o instalador PowerShell do PowerShell, que baixa através do .NET e não falha quando o servidor de revogação está inacessível:

529 ```powershell theme={null}650 ```powershell theme={null}

530 irm https://claude.ai/install.ps1 | iex651 irm https://claude.ai/install.ps1 | iex

531 ```652 ```


537 658 

538O instalador não conseguiu alcançar o servidor de download. Isso normalmente significa que `downloads.claude.ai` está bloqueado em sua rede. Consulte [Check network connectivity](#check-network-connectivity).659O instalador não conseguiu alcançar o servidor de download. Isso normalmente significa que `downloads.claude.ai` está bloqueado em sua rede. Consulte [Check network connectivity](#check-network-connectivity).

539 660 

661<h3 id="the-connection-dropped-while-downloading-the-update">

662 The connection dropped while downloading the update

663</h3>

664 

665A conexão com o servidor de download foi encerrada enquanto `claude install` ou `claude update` baixava o binário do Claude Code, e as novas tentativas não se recuperaram. O Claude Code tenta novamente o download quando a conexão cai, a transferência trava ou o arquivo baixado falha na verificação de checksum, até três tentativas no total. Um erro HTTP concluído, como um 404, não gera nova tentativa porque o servidor já respondeu. Antes da v2.1.202, uma única queda de conexão fazia o download falhar imediatamente com o erro simples `aborted` em vez de tentar novamente.

666 

667```text theme={null}

668The connection dropped while downloading the update (attempt 3/3: aborted). Check your network — proxies sometimes cut off large downloads.

669```

670 

671O texto entre parênteses indica qual tentativa falhou e o erro de rede subjacente. `claude update` precede a mensagem com `Error: Failed to install native update` no stderr.

672 

673Um download que permanece conectado mas não termina em 10 minutos falha com `Download timed out: exceeded the total deadline` em vez disso. O Claude Code não tenta novamente um download que excedeu o tempo limite, porque uma conexão lenta demais para terminar dentro do prazo também não terminará em uma nova tentativa imediata. As etapas abaixo se aplicam às duas mensagens.

674 

675Um proxy ou gateway pode encerrar uma transferência longa antes que ela termine, e o binário do Claude Code é um download grande.

676 

677**O que fazer:**

678 

679* Execute `claude update` novamente. Em uma rede de resto saudável, o download geralmente é bem-sucedido na próxima execução. Para a mensagem de tempo limite excedido, execute-o novamente a partir de uma rede mais rápida ou menos limitada.

680* Se sua rede exigir um proxy, defina `HTTPS_PROXY` antes de executar o instalador ou `claude update`. Consulte [Check network connectivity](#check-network-connectivity).

681* Se um proxy corporativo continuar encerrando a transferência, peça à sua equipe de rede para permitir o download completo de `downloads.claude.ai`. Consulte [Network access requirements](/docs/pt/network-config#network-access-requirements).

682* Execute `claude doctor` no seu shell para obter diagnósticos de instalação

683 

540<h3 id="wrong-install-command-on-windows">684<h3 id="wrong-install-command-on-windows">

541 Wrong install command on Windows685 Wrong install command on Windows

542</h3>686</h3>


562 irm https://claude.ai/install.ps1 | iex706 irm https://claude.ai/install.ps1 | iex

563 ```707 ```

564 708 

565* **`A parameter cannot be found that matches parameter name 'fsSL'`**: você executou o instalador macOS/Linux `curl -fsSL ... | bash` no Windows PowerShell, onde `curl` é um alias para `Invoke-WebRequest` e rejeita os sinalizadores `-fsSL`. Use o instalador PowerShell em vez disso:709* **`A parameter cannot be found that matches parameter name 'fsSL'`**: você executou o instalador macOS/Linux `curl -fsSL ... | bash` no Windows PowerShell, onde `curl` é um alias para `Invoke-WebRequest` e rejeita as flags `-fsSL`. Use o instalador PowerShell em vez disso:

566 ```powershell theme={null}710 ```powershell theme={null}

567 irm https://claude.ai/install.ps1 | iex711 irm https://claude.ai/install.ps1 | iex

568 ```712 ```


682 826 

6833. **Use uma instância maior** se possível. Claude Code requer pelo menos 4 GB de RAM.8273. **Use uma instância maior** se possível. Claude Code requer pelo menos 4 GB de RAM.

684 828 

829<h3 id="installation-was-killed-before-it-could-finish">

830 Installation was killed before it could finish

831</h3>

832 

833O script de instalação informa quando a etapa `claude install` é encerrada por um sinal. No Linux, o código de saída 137 significa que o processo recebeu SIGKILL e, em um host com pouca memória, geralmente é o assassino de falta de memória (OOM) do kernel. O script imprime esta explicação e sai com código 137:

834 

835```text theme={null}

836Installation was killed before it could finish (exit code 137). This usually means the system ran out of memory.

837Claude Code needs roughly 512MB of free memory to install. Free up memory, then run this script again.

838```

839 

840Para qualquer outro sinal fatal, e para o código de saída 137 no macOS, o script imprime `Installation was killed before it could finish (exit code <N>)` com o código de saída real e omite a explicação sobre falta de memória. A mensagem vem do script de instalação que o macOS e o Linux usam, que também abrange instalações dentro do WSL; os scripts de instalação nativos do Windows nunca a imprimem. Antes da v2.1.200, o script saía apenas com a linha simples `Killed` do shell.

841 

842**O que fazer:**

843 

844* Encerre outros processos para liberar memória e depois execute o instalador novamente

845* Adicione espaço de swap ou mude para uma instância maior. Consulte [Install killed on low-memory Linux servers](#install-killed-on-low-memory-linux-servers) para os comandos do arquivo de swap.

846 

685<h3 id="install-hangs-in-docker">847<h3 id="install-hangs-in-docker">

686 Install hangs in Docker848 Install hangs in Docker

687</h3>849</h3>


696 RUN curl -fsSL https://claude.ai/install.sh | bash858 RUN curl -fsSL https://claude.ai/install.sh | bash

697 ```859 ```

698 860 

6992. **Aumente a memória do Docker** se usar Docker Desktop. Construir contêineres compartilha a memória alocada para a máquina virtual Docker Desktop, então abra **Settings > Resources** no Docker Desktop, aumente o limite de memória e execute novamente a compilação.8612. **Aumente a memória do Docker** se usar Docker Desktop. Os contêineres de build compartilham a memória alocada para a máquina virtual do Docker Desktop, então abra **Settings > Resources** no Docker Desktop, aumente o limite de memória e execute o build novamente.

700 862 

701<h3 id="raw-mode-is-not-supported-during-install">863<h3 id="raw-mode-is-not-supported-during-install">

702 `Raw mode is not supported` during install864 `Raw mode is not supported` during install


775 937 

776**Se `CLAUDE_CODE_GIT_BASH_PATH` estiver definido para o caminho correto e o arquivo existir** mas Claude Code ainda não o usar, verifique o nome do arquivo primeiro. Claude Code aceita apenas um arquivo nomeado `bash.exe`, `sh.exe`, `bash` ou `sh`; com qualquer outro nome, como o inicializador `git-bash.exe` do Git for Windows, ele ignora a variável e auto-detecta Git Bash como se não estivesse definida, registrando um aviso visível com `--debug`. Um caminho que não existe recebe o mesmo fallback e aviso. Antes da v2.1.219, Claude Code usava qualquer arquivo existente como o shell sem verificar seu nome, e saía na inicialização com `Claude Code was unable to find CLAUDE_CODE_GIT_BASH_PATH path` quando o caminho não existia.938**Se `CLAUDE_CODE_GIT_BASH_PATH` estiver definido para o caminho correto e o arquivo existir** mas Claude Code ainda não o usar, verifique o nome do arquivo primeiro. Claude Code aceita apenas um arquivo nomeado `bash.exe`, `sh.exe`, `bash` ou `sh`; com qualquer outro nome, como o inicializador `git-bash.exe` do Git for Windows, ele ignora a variável e auto-detecta Git Bash como se não estivesse definida, registrando um aviso visível com `--debug`. Um caminho que não existe recebe o mesmo fallback e aviso. Antes da v2.1.219, Claude Code usava qualquer arquivo existente como o shell sem verificar seu nome, e saía na inicialização com `Claude Code was unable to find CLAUDE_CODE_GIT_BASH_PATH path` quando o caminho não existia.

777 939 

778Se o nome do arquivo estiver correto, software de segurança de endpoint como AppLocker, políticas de restrição de software de Política de Grupo ou agentes EDR podem estar interferindo. Peça à sua equipe de TI para colocar na lista de permissões `claude.exe` e os processos que ele gera, incluindo `cmd.exe` e `bash.exe`, em sua política de proteção de endpoint.940Se o nome do arquivo estiver correto, software de segurança de endpoint como AppLocker, políticas de restrição de software de Política de Grupo ou agentes EDR podem estar interferindo. Peça à sua equipe de TI para adicionar à allowlist `claude.exe` e os processos que ele gera, incluindo `cmd.exe` e `bash.exe`, em sua política de proteção de endpoint.

779 941 

780<h3 id="claude-code-does-not-support-32-bit-windows">942<h3 id="claude-code-does-not-support-32-bit-windows">

781 Claude Code does not support 32-bit Windows943 Claude Code does not support 32-bit Windows


884wsl --set-version <DistroName> 21046wsl --set-version <DistroName> 2

885```1047```

886 1048 

887Se você precisar ficar em WSL1, invoque o binário através do vinculador dinâmico. Adicione esta função a `~/.bashrc` dentro do WSL, substituindo o caminho se seu diretório inicial for diferente:1049Se você precisar ficar em WSL1, invoque o binário através do vinculador dinâmico. Adicione esta função a `~/.bashrc` dentro do WSL, substituindo o caminho se seu diretório pessoal for diferente:

888 1050 

889```bash theme={null}1051```bash theme={null}

890claude() {1052claude() {


964Verifique as seguintes causas:1126Verifique as seguintes causas:

965 1127 

966* **Dependências opcionais estão desabilitadas.** Remova `--omit=optional` do seu comando npm install, `--no-optional` do pnpm, ou `--ignore-optional` do yarn, e verifique que `.npmrc` não define `optional=false`. Depois reinstale. O binário nativo é entregue apenas como uma dependência opcional, então não há fallback JavaScript se for ignorado, e executar `install.cjs` novamente não consegue colocar um binário que nunca foi baixado.1128* **Dependências opcionais estão desabilitadas.** Remova `--omit=optional` do seu comando npm install, `--no-optional` do pnpm, ou `--ignore-optional` do yarn, e verifique que `.npmrc` não define `optional=false`. Depois reinstale. O binário nativo é entregue apenas como uma dependência opcional, então não há fallback JavaScript se for ignorado, e executar `install.cjs` novamente não consegue colocar um binário que nunca foi baixado.

967* **Scripts de instalação estão desabilitados.** `--ignore-scripts` e algumas configurações pnpm ignoram a etapa postinstall mas ainda baixam o pacote de plataforma. Execute `node node_modules/@anthropic-ai/claude-code/install.cjs` como a mensagem sugere, ou reinstale sem o sinalizador. Se postinstall não conseguir executar em seu ambiente, `node node_modules/@anthropic-ai/claude-code/cli-wrapper.cjs` encontra o pacote baixado e o inicia, ao custo de um processo Node extra em cada inicialização. Se o wrapper imprimir `Could not find native binary package` em vez disso, o pacote de plataforma nunca foi baixado, então corrija a causa de dependências opcionais acima primeiro.1129* **Scripts de instalação estão desabilitados.** `--ignore-scripts` e algumas configurações pnpm ignoram a etapa postinstall mas ainda baixam o pacote de plataforma. Execute `node node_modules/@anthropic-ai/claude-code/install.cjs` como a mensagem sugere, ou reinstale sem a flag. Se postinstall não conseguir executar em seu ambiente, `node node_modules/@anthropic-ai/claude-code/cli-wrapper.cjs` encontra o pacote baixado e o inicia, ao custo de um processo Node extra em cada inicialização. Se o wrapper imprimir `Could not find native binary package` em vez disso, o pacote de plataforma nunca foi baixado, então corrija a causa de dependências opcionais acima primeiro.

968* **Plataforma não suportada.** Binários pré-compilados são publicados para `darwin-arm64`, `darwin-x64`, `linux-x64`, `linux-arm64`, `linux-x64-musl`, `linux-arm64-musl`, `win32-x64` e `win32-arm64`. Claude Code não envia um binário para outras plataformas; consulte os [system requirements](/docs/pt/setup#system-requirements). No FreeBSD, o instalador relata a plataforma como não suportada. Antes da v2.1.205, ele tratava FreeBSD como Linux e baixava um binário que não conseguia executar.1130* **Plataforma não suportada.** Binários pré-compilados são publicados para `darwin-arm64`, `darwin-x64`, `linux-x64`, `linux-arm64`, `linux-x64-musl`, `linux-arm64-musl`, `win32-x64` e `win32-arm64`. Claude Code não envia um binário para outras plataformas; consulte os [system requirements](/docs/pt/setup#system-requirements). No FreeBSD, o instalador relata a plataforma como não suportada. Antes da v2.1.205, ele tratava FreeBSD como Linux e baixava um binário que não conseguia executar.

969* **Espelho npm corporativo está faltando os pacotes de plataforma.** Certifique-se de que seu registro espelha todos os oito pacotes `@anthropic-ai/claude-code-*` de plataforma além do pacote meta.1131* **Espelho npm corporativo está faltando os pacotes de plataforma.** Certifique-se de que seu registro espelha todos os oito pacotes `@anthropic-ai/claude-code-*` de plataforma além do pacote meta.

970 1132 


991 rm -rf "$(npm root -g)/@anthropic-ai/claude-code"1153 rm -rf "$(npm root -g)/@anthropic-ai/claude-code"

992 ```1154 ```

993 1155 

994 Depois remova qualquer diretório temporário restante. Se zsh imprimir `no matches found`, não havia nenhum para remover:1156 Depois remova qualquer diretório temporário restante. Se Zsh imprimir `no matches found`, não havia nenhum para remover:

995 1157 

996 ```bash theme={null}1158 ```bash theme={null}

997 rm -rf "$(npm root -g)/@anthropic-ai/.claude-code-"*1159 rm -rf "$(npm root -g)/@anthropic-ai/.claude-code-"*

Details

11| Sintoma | Acesse |11| Sintoma | Acesse |

12| :- | :- |12| :- | :- |

13| `command not found`, falha na instalação, problemas de PATH, `EACCES`, erros de TLS | [Solucionar problemas de instalação e login](/docs/pt/troubleshoot-install) |13| `command not found`, falha na instalação, problemas de PATH, `EACCES`, erros de TLS | [Solucionar problemas de instalação e login](/docs/pt/troubleshoot-install) |

14| O download da atualização ou da instalação falha com `The connection dropped while downloading the update` ou `aborted` | [Referência de erros](/docs/pt/errors#the-connection-dropped-while-downloading-the-update) |14| O download da atualização ou da instalação falha com `The connection dropped while downloading the update` ou `aborted` | [Solucionar problemas de instalação e login](/docs/pt/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |

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) |

ultrareview.md +6 −6

Details

56 Revisar uma pull request56 Revisar uma pull request

57</h3>57</h3>

58 58 

59Para revisar uma pull request do GitHub em vez de uma branch local, passe o número da PR:59Para revisar um pull request em `github.com` em vez de um branch local, passe o número do PR:

60 60 

61```text theme={null}61```text theme={null}

62/code-review ultra 123462/code-review ultra 1234


64 64 

65O comando também aceita `#1234`, `PR 1234` e URLs de PR coladas; uma URL colada deve apontar para o repositório em seu diretório atual.65O comando também aceita `#1234`, `PR 1234` e URLs de PR coladas; uma URL colada deve apontar para o repositório em seu diretório atual.

66 66 

67No modo PR, o sandbox remoto clona a pull request diretamente do host em vez de agrupar sua árvore de trabalho local. O modo PR funciona com repositórios em `github.com` e em instâncias do [GitHub Enterprise Server](/docs/pt/github-enterprise-server) que um proprietário conectou ao Claude Code.67O modo PR requer um repositório em `github.com`. Para um repositório em uma instância do [GitHub Enterprise Server](/docs/pt/github-enterprise-server), execute `/code-review ultra` sem um número de PR para revisar seu branch local em vez disso.

68 68 

69Para repositórios em `github.com`, o sandbox clona com a conta do GitHub conectada à sua conta Claude, portanto a conta deve ser capaz de ler o repositório da PR.69No modo PR, o sandbox na nuvem clona o pull request de `github.com` em vez de carregar sua árvore de trabalho. Ele usa a conta do GitHub conectada à sua conta Claude, portanto essa conta precisa de acesso de leitura ao repositório.

70 70 

71Execute [`/web-setup`](/docs/pt/web-quickstart#connect-from-your-terminal) para conectar seu login do GitHub CLI à sua conta Claude.71Execute [`/web-setup`](/docs/pt/web-quickstart#connect-from-your-terminal) para conectar seu login do GitHub CLI à sua conta Claude.

72 72 


74 Postar descobertas na pull request74 Postar descobertas na pull request

75</h3>75</h3>

76 76 

77No Claude Code v2.1.227 ou posterior, quando você revisa uma pull request em `github.com`, você pode fazer com que Claude poste as descobertas concluídas na PR como um único comentário simples de sua própria conta GitHub. O comentário não é uma revisão ou uma aprovação, e termina com uma nota "Gerado por Claude Code". Quando você revisa uma branch ou uma pull request do GitHub Enterprise Server, Claude Code mostra as descobertas em sua sessão apenas.77No Claude Code v2.1.227 ou posterior, quando você revisa um pull request em `github.com`, você pode fazer com que Claude poste as descobertas concluídas no PR como um único comentário simples de sua própria conta GitHub. O comentário não é uma revisão ou uma aprovação, e termina com uma nota "Generated by Claude Code". Quando você revisa um branch, Claude Code mostra as descobertas apenas em sua sessão.

78 78 

79Claude Code nunca posta a menos que você escolha nessa execução, e `--no-post` é o padrão. Postar é uma escolha que você faz para cada execução:79Claude Code nunca posta a menos que você escolha nessa execução, e `--no-post` é o padrão. Postar é uma escolha que você faz para cada execução:

80 80 


106Claude Code trata seu texto como uma nota apenas quando tem mais de uma palavra e não é um nome de branch ou referência de PR. Ele lê uma única palavra como um nome de branch ou referência de PR, portanto um nome de branch digitado incorretamente recebe o erro de branch mais próximo de [Revisar contra uma base diferente](#review-against-a-different-base) em vez de iniciar com uma nota. Se seu texto combinar uma referência de PR com outras palavras, como `check PR 123 again`, Claude Code também não inicia; ele pede que você execute novamente com apenas o número da PR para revisar essa PR, ou sem a referência para revisar sua branch atual.106Claude Code trata seu texto como uma nota apenas quando tem mais de uma palavra e não é um nome de branch ou referência de PR. Ele lê uma única palavra como um nome de branch ou referência de PR, portanto um nome de branch digitado incorretamente recebe o erro de branch mais próximo de [Revisar contra uma base diferente](#review-against-a-different-base) em vez de iniciar com uma nota. Se seu texto combinar uma referência de PR com outras palavras, como `check PR 123 again`, Claude Code também não inicia; ele pede que você execute novamente com apenas o número da PR para revisar essa PR, ou sem a referência para revisar sua branch atual.

107 107 

108<Tip>108<Tip>

109 Se seu repositório for muito grande para agrupar, Claude Code o solicita a usar o modo PR. Envie sua branch e abra uma PR de rascunho, depois execute `/code-review ultra <PR-number>`.109 Se seu repositório for muito grande para agrupar, Claude Code pede que você use o modo PR em vez disso. Para um repositório em `github.com`, envie seu branch e abra um PR de rascunho, depois execute `/code-review ultra <PR-number>`.

110</Tip>110</Tip>

111 111 

112<h3 id="diff-limits-and-fallbacks">112<h3 id="diff-limits-and-fallbacks">


173claude ultrareview origin/main173claude ultrareview origin/main

174```174```

175 175 

176Sem argumentos, o subcomando revisa o diff entre sua branch atual e a branch padrão, com o mesmo [fallback de repositório inteiro](#diff-limits-and-fallbacks) que `/code-review ultra` quando não existe base de mesclagem. Passe um número de PR para revisar uma pull request, ou uma branch base para revisar em relação a ela; o [tratamento de branch base](#review-against-a-different-base) corresponde ao comando interativo.176Sem argumentos, o subcomando revisa o diff entre sua branch atual e a branch padrão, com o mesmo [fallback de repositório inteiro](#diff-limits-and-fallbacks) que `/code-review ultra` quando não existe base de mesclagem. Passe um número de PR para [revisar um pull request no `github.com`](#review-a-pull-request), ou uma branch base para revisar em relação a ela; o [tratamento de branch base](#review-against-a-different-base) corresponde ao comando interativo.

177 177 

178Você consente com o fallback de repositório inteiro e com o aviso de faturamento e termos quando executa o subcomando, portanto a execução começa sem aguardar entrada. Executar você mesmo é o que conta como consentimento. Quando Claude executa o subcomando para você, por exemplo através da ferramenta Bash, Claude Code recusa a revisão de repositório inteiro.178Você consente com o fallback de repositório inteiro e com o aviso de faturamento e termos quando executa o subcomando, portanto a execução começa sem aguardar entrada. Executar você mesmo é o que conta como consentimento. Quando Claude executa o subcomando para você, por exemplo através da ferramenta Bash, Claude Code recusa a revisão de repositório inteiro.

179 179 

vs-code.md +2 −0

Details

166* **Favoritos**: passe o mouse sobre uma resposta e clique em **Bookmark response** para salvá-la, ou clique em **Remove bookmark** em uma resposta salva para removê-la.166* **Favoritos**: passe o mouse sobre uma resposta e clique em **Bookmark response** para salvá-la, ou clique em **Remove bookmark** em uma resposta salva para removê-la.

167 167 

168 Para revisar as respostas salvas, abra o painel Bookmarks: clique no ícone de favorito na parte superior do painel do Claude Code, selecione **Bookmarks** na seção Context do menu de comandos ou digite `/bookmarks`. Requer Claude Code v2.1.286 ou posterior.168 Para revisar as respostas salvas, abra o painel Bookmarks: clique no ícone de favorito na parte superior do painel do Claude Code, selecione **Bookmarks** na seção Context do menu de comandos ou digite `/bookmarks`. Requer Claude Code v2.1.286 ou posterior.

169* **Arquivos que o Claude envia para você**: quando a sessão está conectada ao [Remote Control](/docs/pt/remote-control#start-a-remote-control-session) e o Claude envia arquivos para você com a [ferramenta `SendUserFile`](/docs/pt/tools-reference), a conversa mostra uma linha como **Sent report.md, chart.png**. Clique no nome de um arquivo para abri-lo no editor.

169* **Context indicator**: the prompt box shows how much of Claude's context window you're using. Claude automatically compacts when needed, or you can run `/compact` manually.170* **Context indicator**: the prompt box shows how much of Claude's context window you're using. Claude automatically compacts when needed, or you can run `/compact` manually.

170* **Prompt cache clock**: a clock icon next to the context indicator estimates how much time the conversation's [prompt cache](/docs/pt/prompt-caching) has left before it expires. It counts down from the cache's five-minute or one-hour [lifetime](/docs/pt/prompt-caching#cache-lifetime), and each response that uses the cache restarts the countdown. Apart from compaction, the [actions that invalidate the cache](/docs/pt/prompt-caching#actions-that-invalidate-the-cache) don't reset the clock, so it can still show minutes left after you switch models.171* **Prompt cache clock**: a clock icon next to the context indicator estimates how much time the conversation's [prompt cache](/docs/pt/prompt-caching) has left before it expires. It counts down from the cache's five-minute or one-hour [lifetime](/docs/pt/prompt-caching#cache-lifetime), and each response that uses the cache restarts the countdown. Apart from compaction, the [actions that invalidate the cache](/docs/pt/prompt-caching#actions-that-invalidate-the-cache) don't reset the clock, so it can still show minutes left after you switch models.

171 * Until the countdown runs out, the icon shows the minutes left, such as **12m**.172 * Until the countdown runs out, the icon shows the minutes left, such as **12m**.


597| `useCtrlEnterToSend` | `false` | Use Ctrl/Cmd+Enter em vez de Enter para enviar prompts |598| `useCtrlEnterToSend` | `false` | Use Ctrl/Cmd+Enter em vez de Enter para enviar prompts |

598| `scrollToBottomOnSend` | `true` | Rolar a conversa para o final quando você enviar uma mensagem. Quando desativado, a conversa permanece onde você a deixou. Requer Claude Code v2.1.275 ou posterior |599| `scrollToBottomOnSend` | `true` | Rolar a conversa para o final quando você enviar uma mensagem. Quando desativado, a conversa permanece onde você a deixou. Requer Claude Code v2.1.275 ou posterior |

599| `showMessageTimestamps` | `true` | Mostrar quando cada mensagem foi enviada. Uma linha de data marca onde o dia muda. Requer Claude Code v2.1.284 ou posterior. Antes da v2.1.290, o padrão era `false` |600| `showMessageTimestamps` | `true` | Mostrar quando cada mensagem foi enviada. Uma linha de data marca onde o dia muda. Requer Claude Code v2.1.284 ou posterior. Antes da v2.1.290, o padrão era `false` |

601| `spinnerVerbs` | `{"mode": "append", "verbs": []}` | Definir os verbos pelos quais o spinner da conversa alterna enquanto um turno é executado, com os mesmos campos `mode` e `verbs` do [`spinnerVerbs`](/docs/pt/settings-reference#spinnerverbs) da CLI. |

600| `enableNewConversationShortcut` | `false` | Ativar Cmd/Ctrl+N para iniciar uma nova conversa |602| `enableNewConversationShortcut` | `false` | Ativar Cmd/Ctrl+N para iniciar uma nova conversa |

601| `enableReopenClosedSessionShortcut` | `true` | Use Cmd/Ctrl+Shift+T para reabrir a aba de sessão Claude fechada mais recentemente. Quando a última aba fechada não era uma sessão Claude, o atalho executa o comando normal de reabrir editor fechado do VS Code. |603| `enableReopenClosedSessionShortcut` | `true` | Use Cmd/Ctrl+Shift+T para reabrir a aba de sessão Claude fechada mais recentemente. Quando a última aba fechada não era uma sessão Claude, o atalho executa o comando normal de reabrir editor fechado do VS Code. |

602| `archiveInactiveSessions` | `14` | [Arquivar uma sessão automaticamente](#resume-past-conversations) após este número de dias sem atividade: `1`, `2`, `7` ou `14`. Defina `0` para desativar. Requer Claude Code v2.1.265 ou posterior |604| `archiveInactiveSessions` | `14` | [Arquivar uma sessão automaticamente](#resume-past-conversations) após este número de dias sem atividade: `1`, `2`, `7` ou `14`. Defina `0` para desativar. Requer Claude Code v2.1.265 ou posterior |

workflows.md +27 −1

Details

354 354 

355O corpo é JavaScript simples com `await` no nível superior. `agent()` gera um subagente, `pipeline()` executa um por item em uma lista, e `parallel()` executa um conjunto de tarefas de agente ao mesmo tempo e aguarda todas elas.355O corpo é JavaScript simples com `await` no nível superior. `agent()` gera um subagente, `pipeline()` executa um por item em uma lista, e `parallel()` executa um conjunto de tarefas de agente ao mesmo tempo e aguarda todas elas.

356 356 

357Uma chamada `agent()` é resolvida para `null` se você a interromper no meio da execução ou se ela atingir um erro de API irrecuperável. `pipeline()` mantém cada `null` na matriz de resultados, e é por isso que o exemplo termina com `.filter(Boolean)` para descartar essas entradas.357Uma chamada `agent()` é resolvida para `null` se você a interromper no meio da execução ou se ela atingir um erro de API irrecuperável. `pipeline()` mantém cada `null` na matriz de resultados, e é por isso que o exemplo termina com `.filter(Boolean)` para descartar essas entradas, incluindo a posição de [um agente que travou em todas as tentativas](#when-an-agent-stalls-and-restarts).

358 358 

359No [modo automático](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode), o prompt que seu script passa para `agent()` não conta como uma solicitação sua quando o classificador revisa as ações desse subagente, porque Claude Code o marca como texto que o script calculou.359No [modo automático](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode), o prompt que seu script passa para `agent()` não conta como uma solicitação sua quando o classificador revisa as ações desse subagente, porque Claude Code o marca como texto que o script calculou.

360 360 


463* O limite é redefinido dentro de 24 horas. Um limite semanal pode ser redefinido mais adiante.463* O limite é redefinido dentro de 24 horas. Um limite semanal pode ser redefinido mais adiante.

464* A execução ainda não aguardou duas vezes. Quando atinge o limite pela terceira vez, o agente falha.464* A execução ainda não aguardou duas vezes. Quando atinge o limite pela terceira vez, o agente falha.

465 465 

466<h3 id="when-an-agent-stalls-and-restarts">

467 Quando um agente trava e reinicia

468</h3>

469 

470Um agente cuja saída para de chegar por tempo suficiente começa novamente a partir do mesmo prompt. Em [`/workflows`](#watch-the-run), seu nome ganha um sufixo `(retry 1)` e seu detalhe mostra `attempt 2 (stalled)`. A reinicialização é automática, então você não precisa fazer nada.

471 

472A nova tentativa começa sem a transcrição da tentativa travada. Arquivos que a tentativa travada já alterou permanecem alterados, e os tokens que ela gastou permanecem no total da execução. A janela de travamento é quanto tempo Claude Code aguarda por saída de um agente antes de encerrar a tentativa. O tempo que o agente passa aguardando suas próprias chamadas de ferramenta ou uma [redefinição do limite de uso](#when-a-run-hits-your-usage-limit) não conta para a janela de travamento.

473 

474Um agente reinicia no máximo cinco vezes, contando qualquer reinicialização que você solicite com `r`. Se a sexta tentativa também travar, a chamada `agent()` falha, e o início do erro diz o motivo:

475 

476* `agent stalled on all 6 attempts`: todas as tentativas passaram a janela inteira sem saída. Se o trabalho do agente o mantém em silêncio por tanto tempo, aumente a janela

477* `agent lost its reply on all 6 attempts`: o stream de resposta de cada tentativa ficou em silêncio e Claude Code desistiu de aguardá-lo. Aumentar a janela de travamento não ajuda, já que um [watchdog de inatividade de streaming](/docs/pt/network-config#streaming-idle-watchdogs) encerrou a resposta primeiro e `CLAUDE_STREAM_IDLE_TIMEOUT_MS` define o timeout desse watchdog

478* `agent abandoned after 6 attempts`: as tentativas terminaram de maneiras diferentes, que o erro lista em ordem

479 

480Para dar a um agente mais tempo para produzir saída antes que a janela termine:

481 

482* **Um agente**: passe `stallMs` em milissegundos na sua chamada `agent()`, como `agent(prompt, { stallMs: 1800000 })` para 30 minutos

483* **Todos os agentes**: defina [`CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`](/docs/pt/env-vars#variables), que também se aplica a subagentes fora de fluxos de trabalho

484 

485Se a execução continua após a falha depende de como seu script chamou o agente:

486 

487* **Dentro de [`parallel()` ou `pipeline()`](#what-the-saved-script-looks-like)**: a execução prossegue com `null` no lugar do resultado do agente

488* **Aguardado diretamente**: a execução termina com o erro

489 

490Para tentar novamente, peça a Claude para relançar o fluxo de trabalho. [Retomar após uma pausa](#resume-after-a-pause) cobre o que é executado novamente.

491 

466<h3 id="cost">492<h3 id="cost">

467 Custo493 Custo

468</h3>494</h3>

worktrees.md +1 −1

Details

104* **Redirecionamentos git**: Claude Code bloqueia um comando Bash ou Monitor que redireciona git para o checkout principal. O redirecionamento pode vir através de `git -C`, `--git-dir`, uma variável `GIT_DIR` ou `GIT_WORK_TREE`, ou um `cd` para o checkout principal antes de executar git.104* **Redirecionamentos git**: Claude Code bloqueia um comando Bash ou Monitor que redireciona git para o checkout principal. O redirecionamento pode vir através de `git -C`, `--git-dir`, uma variável `GIT_DIR` ou `GIT_WORK_TREE`, ou um `cd` para o checkout principal antes de executar git.

105* **Forma do comando**: Claude Code bloqueia um comando Bash ou Monitor quando não pode verificar do texto do comando que qualquer git que o comando executa fica dentro da worktree. Isso acontece, por exemplo, quando o nome do comando é computado em tempo de execução, quando a sintaxe não pode ser analisada, ou quando uma expansão como `${!name}` ou `${ command; }` poderia executar um comando que o texto não especifica. Claude Code diz a Claude como reescrever o comando recusado, como dividi-lo em comandos simples e separados. Você não pode desativar essa verificação.105* **Forma do comando**: Claude Code bloqueia um comando Bash ou Monitor quando não pode verificar do texto do comando que qualquer git que o comando executa fica dentro da worktree. Isso acontece, por exemplo, quando o nome do comando é computado em tempo de execução, quando a sintaxe não pode ser analisada, ou quando uma expansão como `${!name}` ou `${ command; }` poderia executar um comando que o texto não especifica. Claude Code diz a Claude como reescrever o comando recusado, como dividi-lo em comandos simples e separados. Você não pode desativar essa verificação.

106 106 

107Essas verificações leem o caminho que uma edição visa, o diretório em que um comando é executado e o texto do comando. Nenhuma delas rastreia quais arquivos um comando de shell escreve, então um comando que escreve no checkout principal sem executar git lá, como `cp` ou um redirecionamento do shell, não é recusado por elas. Claude Code trata esse comando como qualquer outro comando de shell, então se ele é executado ou pede sua confirmação depende do seu [modo de permissão](/docs/pt/permission-modes) e das suas regras.107Essas verificações leem o caminho que uma edição visa, o diretório em que um comando é executado e o texto do comando. Nenhuma delas rastreia quais arquivos um comando de shell escreve, então um comando que escreve no checkout principal sem executar git lá, como `cp` ou um redirecionamento do shell, não é recusado por elas. Claude Code trata esse comando como qualquer outro comando de shell sob suas configurações de [permissões](/docs/pt/permissions) e [sandboxing](/docs/pt/sandboxing).

108 108 

109As verificações se aplicam ao repositório de onde você iniciou Claude Code. Elas também cobrem o checkout principal que uma worktree vinculada está vinculada de. Para comandos PowerShell, Claude Code aplica apenas a verificação de diretório de trabalho.109As verificações se aplicam ao repositório de onde você iniciou Claude Code. Elas também cobrem o checkout principal que uma worktree vinculada está vinculada de. Para comandos PowerShell, Claude Code aplica apenas a verificação de diretório de trabalho.

110 110