SpyBara
Go Premium

Documentation 2026-10-26 22:57 UTC to 2026-10-27 22:59 UTC

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

79| `Permission Required:` | Um prompt de permissão aguardando sua resposta |79| `Permission Required:` | Um prompt de permissão aguardando sua resposta |

80| `Cost:` | O resumo de custo da sessão quando Claude Code sai, se sua conta [mostra custos](https://code.claude.com/docs/pt/costs.md) |80| `Cost:` | O resumo de custo da sessão quando Claude Code sai, se sua conta [mostra custos](https://code.claude.com/docs/pt/costs.md) |

81 81 

82Claude Code mantém o cursor do terminal no acento de entrada, para que o comando de leitura de linha atual do seu leitor de tela leia o prompt que você está editando.82Claude Code mantém o cursor do terminal no acento de entrada, para que o comando de leitura de linha atual do seu leitor de tela leia o prompt que você está editando. Conforme você digita no final da linha de entrada, ou pressiona `Backspace` lá, Claude Code escreve apenas os caracteres que mudam. Seu leitor de tela ecoa apenas esses caracteres.

83 

84Conforme você digita no final da linha de entrada, ou pressiona `Backspace` lá, Claude Code escreve apenas os caracteres que mudam. Seu leitor de tela ecoa apenas esses caracteres.

85 83 

86Quando você deleta uma palavra ou uma linha com um dos [atalhos de edição de texto](https://code.claude.com/docs/pt/interactive-mode.md#text-editing), Claude Code anuncia o texto deletado:84Quando você deleta uma palavra ou uma linha com um dos [atalhos de edição de texto](https://code.claude.com/docs/pt/interactive-mode.md#text-editing), Claude Code anuncia o texto deletado:

87 85 

admin-setup.md +1 −0

Details

191* [Server-managed settings](https://code.claude.com/docs/pt/server-managed-settings.md): entregar política gerenciada a partir do console de administração Claude191* [Server-managed settings](https://code.claude.com/docs/pt/server-managed-settings.md): entregar política gerenciada a partir do console de administração Claude

192* [All settings](https://code.claude.com/docs/pt/settings-reference.md): cada chave de configuração, com local de arquivo e um exemplo192* [All settings](https://code.claude.com/docs/pt/settings-reference.md): cada chave de configuração, com local de arquivo e um exemplo

193* [Which value Claude Code uses](https://code.claude.com/docs/pt/settings.md#which-value-claude-code-uses): as regras de precedência entre configurações gerenciadas, de projeto, locais e de usuário193* [Which value Claude Code uses](https://code.claude.com/docs/pt/settings.md#which-value-claude-code-uses): as regras de precedência entre configurações gerenciadas, de projeto, locais e de usuário

194* [Manage plugins for your organization](https://code.claude.com/docs/pt/plugins/org.md): instale plugins compartilhados em todas as máquinas por meio de configurações gerenciadas

194* [Monorepos and large repos](https://code.claude.com/docs/pt/large-codebases.md): padrões de configuração por diretório para organizações implantando em um monorepo195* [Monorepos and large repos](https://code.claude.com/docs/pt/large-codebases.md): padrões de configuração por diretório para organizações implantando em um monorepo

195* [Amazon Bedrock](https://code.claude.com/docs/pt/amazon-bedrock.md), [Google Cloud's Agent Platform](https://code.claude.com/docs/pt/google-vertex-ai.md), [Microsoft Foundry](https://code.claude.com/docs/pt/microsoft-foundry.md): implantação específica do provedor196* [Amazon Bedrock](https://code.claude.com/docs/pt/amazon-bedrock.md), [Google Cloud's Agent Platform](https://code.claude.com/docs/pt/google-vertex-ai.md), [Microsoft Foundry](https://code.claude.com/docs/pt/microsoft-foundry.md): implantação específica do provedor

196* [Claude Enterprise Administrator Guide](https://claude.com/resources/tutorials/claude-enterprise-administrator-guide): SSO, SCIM, gerenciamento de assentos e playbook de implementação197* [Claude Enterprise Administrator Guide](https://claude.com/resources/tutorials/claude-enterprise-administrator-guide): SSO, SCIM, gerenciamento de assentos e playbook de implementação

Details

41 41 

42Foram quatro voltas: três com chamadas de ferramentas, uma resposta final apenas com texto.42Foram quatro voltas: três com chamadas de ferramentas, uma resposta final apenas com texto.

43 43 

44Você pode limitar o loop com `max_turns` / `maxTurns`, que conta apenas voltas de uso de ferramentas. Por exemplo, `max_turns=2` no loop acima teria parado antes da etapa de edição. Você também pode usar `max_budget_usd` / `maxBudgetUsd` para limitar voltas com base em um limite de gastos.44Você pode limitar o loop com `max_turns` / `maxTurns`. Conte cada turno com chamadas de ferramenta, mais um para a resposta final apenas com texto. Sem esse turno extra, a execução termina com uma `ResultMessage` do subtipo `error_max_turns` e sem resposta final. Por exemplo, `max_turns=2` no loop acima teria parado antes da etapa de edição. Você também pode usar `max_budget_usd` / `maxBudgetUsd` para limitar turnos com base em um limite de gastos.

45 45 

46Sem limites, o loop é executado até que Claude termine por conta própria, o que é bom para tarefas bem definidas, mas pode ser longo em prompts abertos ("melhore esta base de código"). Definir um orçamento é um bom padrão para agentes em produção. Veja [Voltas e orçamento](#turns-and-budget) abaixo para a referência de opções.46Sem limites, o loop é executado até que Claude termine por conta própria, o que é bom para tarefas bem definidas, mas pode ser longo em prompts abertos ("melhore esta base de código"). Definir um orçamento é um bom padrão para agentes em produção. Veja [Voltas e orçamento](#turns-and-budget) abaixo para a referência de opções.

47 47 


191 191 

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

193| :- | :- | :- |193| :- | :- | :- |

194| Max turns (`max_turns` / `maxTurns`) | Máximo de rodadas de uso de ferramentas | Sem limite |194| Max turns (`max_turns` / `maxTurns`) | Número máximo de [turnos](#turns-and-messages) | Sem limite |

195| Max budget (`max_budget_usd` / `maxBudgetUsd`) | Gasto estimado no qual o loop para | Sem limite |195| Max budget (`max_budget_usd` / `maxBudgetUsd`) | Gasto estimado no qual o loop para | Sem limite |

196 196 

197Quando 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`](https://code.claude.com/docs/pt/agent-sdk/python#claudeagentoptions) / [`Options`](https://code.claude.com/docs/pt/agent-sdk/typescript#options) para sintaxe.197Quando 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`](https://code.claude.com/docs/pt/agent-sdk/python#claudeagentoptions) / [`Options`](https://code.claude.com/docs/pt/agent-sdk/typescript#options) para sintaxe.

Details

161 161 

162Ambos os idiomas têm os mesmos setters:162Ambos os idiomas têm os mesmos setters:

163 163 

164* **`setModel()` / `set_model()`**: alterna o modelo. Chame-o sem modelo para alternar para o [modelo padrão do Claude Code](https://code.claude.com/docs/pt/model-config.md#default-model-setting) em vez do `model` que você passou nas opções.164* **`setModel()` / `set_model()`**: alterna o modelo. Chame-o sem modelo para alternar para o [modelo padrão do Claude Code](https://code.claude.com/docs/pt/model-config.md#default-model-setting) em vez do `model` que você passou nas opções. Se a sessão estiver no modo auto e você alternar para um modelo que o modo auto não suporta, a sessão muda para o modo `default`. Para retornar ao modo auto, consulte [Modo auto (`auto`)](https://code.claude.com/docs/pt/agent-sdk/permissions#auto-mode-auto).

165* **`setPermissionMode()` / `set_permission_mode()`**: alterna o modo de permissão165* **`setPermissionMode()` / `set_permission_mode()`**: alterna o modo de permissão

166 166 

167TypeScript também tem `applyFlagSettings()` e `updateSettings()`:167TypeScript também tem `applyFlagSettings()` e `updateSettings()`:

Details

192 192 

193O contêiner precisa do tempo de execução de linguagem do seu SDK:193O contêiner precisa do tempo de execução de linguagem do seu SDK:

194 194 

195* Python 3.10+ para o SDK Python, ou Node.js 18+ para o SDK TypeScript195* Python 3.10+ para o SDK Python, ou Node.js 18.14+ para o SDK TypeScript

196* Tanto o SDK TypeScript quanto o Python agrupam um binário nativo Claude Code para a maioria das instalações, e a CLI gerada não precisa de uma instalação separada do Node.js. Consulte a [nota de instalação do quickstart](https://code.claude.com/docs/pt/agent-sdk/quickstart.md) para as instalações que precisam de uma instalação separada do Claude Code nativo.196* Tanto o SDK TypeScript quanto o Python agrupam um binário nativo Claude Code para a maioria das instalações, e a CLI gerada não precisa de uma instalação separada do Node.js. Consulte a [nota de instalação do quickstart](https://code.claude.com/docs/pt/agent-sdk/quickstart.md) para as instalações que precisam de uma instalação separada do Claude Code nativo.

197 197 

198O binário agrupado é fixado à versão do pacote SDK, portanto atualizar o SDK é como você atualiza a CLI. O SDK segue semver: aceite versões de patch continuamente e revise o changelog do [TypeScript](https://github.com/anthropics/claude-agent-sdk-typescript/blob/main/CHANGELOG.md) ou [Python](https://github.com/anthropics/claude-agent-sdk-python/blob/main/CHANGELOG.md) antes de aceitar uma versão menor.198O binário agrupado é fixado à versão do pacote SDK, portanto atualizar o SDK é como você atualiza a CLI. O SDK segue semver: aceite versões de patch continuamente e revise o changelog do [TypeScript](https://github.com/anthropics/claude-agent-sdk-typescript/blob/main/CHANGELOG.md) ou [Python](https://github.com/anthropics/claude-agent-sdk-python/blob/main/CHANGELOG.md) antes de aceitar uma versão menor.


335 335 

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

337| - | - |337| - | - |

338| Sem timeout de sessão de nível superior | Uma sessão não expira por conta própria. Defina `maxTurns` em TypeScript ou `max_turns` em Python para limitar quantas rodadas de uso de ferramentas o agente realiza antes de parar. |338| Sem timeout de sessão de nível superior | Uma sessão não expira por conta própria. Defina `maxTurns` em TypeScript ou `max_turns` em Python para limitar quantos [turnos](https://code.claude.com/docs/pt/agent-sdk/agent-loop.md#turns-and-messages) o agente realiza antes de parar. |

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

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

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

Details

425 425 

426Defina `includeGitInstructions` como `false` para excluir as instruções integradas de commit e pull request, que fazem parte da descrição da ferramenta Bash e chegam ao Claude mesmo com um `systemPrompt` personalizado. Com o padrão mínimo, um `systemPrompt` personalizado ou um agente personalizado de thread principal que tenha seu próprio prompt, no entanto, a sessão começa sem o snapshot de status git.426Defina `includeGitInstructions` como `false` para excluir as instruções integradas de commit e pull request, que fazem parte da descrição da ferramenta Bash e chegam ao Claude mesmo com um `systemPrompt` personalizado. Com o padrão mínimo, um `systemPrompt` personalizado ou um agente personalizado de thread principal que tenha seu próprio prompt, no entanto, a sessão começa sem o snapshot de status git.

427 427 

428Se você definir `CLAUDE_CODE_DISABLE_ATTACHMENTS`, Claude Code também envia menções de arquivo `@` como texto simples em vez de expandi-las no conteúdo do arquivo. A lista de subagentes disponíveis e notificações de tarefas em segundo plano ainda chegam. Para impedir apenas que menções de arquivo `@` sejam expandidas, defina [`CLAUDE_CODE_DISABLE_FILE_MENTIONS=1`](https://code.claude.com/docs/pt/env-vars#variables) em vez disso, no Claude Code v2.1.299 ou posterior. Claude então recebe os caminhos mencionados mais uma nota para lê-los com suas ferramentas de arquivo.428* Se você definir `CLAUDE_CODE_DISABLE_ATTACHMENTS`, Claude Code também envia menções de arquivo `@` como texto simples em vez de expandi-las no conteúdo do arquivo. A lista de subagentes disponíveis e notificações de tarefas em segundo plano ainda chegam.

429* Para impedir apenas que menções de arquivo `@` sejam expandidas, defina [`CLAUDE_CODE_DISABLE_FILE_MENTIONS=1`](https://code.claude.com/docs/pt/env-vars#variables) em vez disso, no Claude Code v2.1.299 ou posterior. Claude então recebe os caminhos mencionados mais uma nota para lê-los com suas ferramentas de arquivo, e seus hooks `PreToolUse` veem cada leitura de arquivo como uma chamada de ferramenta.

429 430 

430O exemplo a seguir é para um agente que carrega suas próprias regras de commit em `append`. Ele define ambas as chaves `attribution` como strings vazias para remover o trailer e rodapé, e desativa `includeGitInstructions` para que as instruções de fluxo de trabalho de commit do próprio Claude Code não compitam com as suas:431O exemplo a seguir é para um agente que carrega suas próprias regras de commit em `append`. Ele define ambas as chaves `attribution` como strings vazias para remover o trailer e rodapé, e desativa `includeGitInstructions` para que as instruções de fluxo de trabalho de commit do próprio Claude Code não compitam com as suas:

431 432 

Details

43Aplique o [modo de permissão](#permission-modes) ativo:43Aplique o [modo de permissão](#permission-modes) ativo:

44 44 

45* No modo `bypassPermissions`, Claude Code aprova tudo que chega a esta etapa, exceto [remoções de caminho crítico](https://code.claude.com/docs/pt/permission-modes.md#critical-paths) reconhecidas e comandos Bash sinalizados com [`Dangerous rm operation not ruled out`](https://code.claude.com/docs/pt/permission-modes#dangerous-rm-operation-not-ruled-out), que passam para a próxima etapa.45* No modo `bypassPermissions`, Claude Code aprova tudo que chega a esta etapa, exceto [remoções de caminho crítico](https://code.claude.com/docs/pt/permission-modes.md#critical-paths) reconhecidas e comandos Bash sinalizados com [`Dangerous rm operation not ruled out`](https://code.claude.com/docs/pt/permission-modes#dangerous-rm-operation-not-ruled-out), que passam para a próxima etapa.

46 * Para executar essas remoções sem prompt, consulte [Desativar o prompt de remoção de caminho crítico](https://code.claude.com/docs/pt/permission-modes.md#turn-off-the-critical-path-removal-prompt-in-bypasspermissions-mode).

46* No modo `acceptEdits`, Claude Code aprova as operações de arquivo listadas em [Modo Accept edits](#accept-edits-mode-acceptedits).47* No modo `acceptEdits`, Claude Code aprova as operações de arquivo listadas em [Modo Accept edits](#accept-edits-mode-acceptedits).

47* No modo `plan`, Claude Code envia ferramentas de edição de arquivo para seu callback `canUseTool` independentemente das regras de permissão.48* No modo `plan`, Claude Code envia ferramentas de edição de arquivo para seu callback `canUseTool` independentemente das regras de permissão.

48* Em outros modos, a solicitação passa para a próxima etapa.49* Em outros modos, a solicitação passa para a próxima etapa.


305> `allowed_tools` não restringe este modo. Cada ferramenta é aprovada, não apenas as que você listou. Estes controles ainda se aplicam:306> `allowed_tools` não restringe este modo. Cada ferramenta é aprovada, não apenas as que você listou. Estes controles ainda se aplicam:

306>307>

307> * Regras de negação, regras explícitas `ask` e hooks são avaliados antes da verificação de modo e ainda podem bloquear uma ferramenta.308> * Regras de negação, regras explícitas `ask` e hooks são avaliados antes da verificação de modo e ainda podem bloquear uma ferramenta.

308> * Ferramentas de conector [que sua organização definiu como `ask`](https://code.claude.com/docs/pt/mcp#organization-controls-on-connector-tools), ferramentas que exigem interação do usuário e [remoções de caminhos críticos](https://code.claude.com/docs/pt/permission-modes.md#critical-paths) reconhecidas ainda caem para seu callback `canUseTool`. A verificação que reconhece essas remoções [pode deixar passar alguns comandos](https://code.claude.com/docs/pt/permission-modes.md#critical-paths). Fora de uma [sessão na nuvem](https://code.claude.com/docs/pt/claude-code-on-the-web.md), chamadas a ferramentas personalizadas que sua aplicação [marca como `always_ask`](https://code.claude.com/docs/pt/agent-sdk/custom-tools#require-approval-for-specific-tools) também caem para o callback.309> * Ferramentas de conector [que sua organização definiu como `ask`](https://code.claude.com/docs/pt/mcp#organization-controls-on-connector-tools), ferramentas que exigem interação do usuário e [remoções de caminhos críticos](https://code.claude.com/docs/pt/permission-modes.md#critical-paths) reconhecidas ainda caem para seu callback `canUseTool`. A verificação que reconhece essas remoções [pode deixar passar alguns comandos](https://code.claude.com/docs/pt/permission-modes.md#critical-paths), e você pode [desativar o prompt de remoção de caminho crítico](https://code.claude.com/docs/pt/permission-modes.md#turn-off-the-critical-path-removal-prompt-in-bypasspermissions-mode). Fora de uma [sessão na nuvem](https://code.claude.com/docs/pt/claude-code-on-the-web.md), chamadas a ferramentas personalizadas que sua aplicação [marca como `always_ask`](https://code.claude.com/docs/pt/agent-sdk/custom-tools#require-approval-for-specific-tools) também caem para o callback.

309> * Os [salvaguardas de mensagens entre sessões](https://code.claude.com/docs/pt/permission-modes.md#skip-all-checks-with-bypasspermissions-mode) ainda se aplicam.310> * Os [salvaguardas de mensagens entre sessões](https://code.claude.com/docs/pt/permission-modes.md#skip-all-checks-with-bypasspermissions-mode) ainda se aplicam.

310 311 

311#### Modo plano (`plan`)312#### Modo plano (`plan`)

Details

880| `continue_conversation` | `bool` | `False` | Continuar a conversa mais recente |880| `continue_conversation` | `bool` | `False` | Continuar a conversa mais recente |

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

882| `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 |882| `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 |

883| `max_turns` | `int \| None` | `None` | Máximo de turnos agênticos (rodadas de uso de ferramentas) |883| `max_turns` | `int \| None` | `None` | Máximo de [turnos](https://code.claude.com/docs/pt/agent-sdk/agent-loop.md#turns-and-messages) agênticos |

884| `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](https://code.claude.com/docs/pt/agent-sdk/agent-loop.md#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](https://code.claude.com/docs/pt/agent-sdk/cost-tracking.md) |884| `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](https://code.claude.com/docs/pt/agent-sdk/agent-loop.md#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](https://code.claude.com/docs/pt/agent-sdk/cost-tracking.md) |

885| `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](https://code.claude.com/docs/pt/permissions.md#bash-rule-limits). Veja [Permissões](https://code.claude.com/docs/pt/agent-sdk/permissions.md#allow-and-deny-rules) |885| `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](https://code.claude.com/docs/pt/permissions.md#bash-rule-limits). Veja [Permissões](https://code.claude.com/docs/pt/agent-sdk/permissions.md#allow-and-deny-rules) |

886| `enable_file_checkpointing` | `bool` | `False` | Ativar rastreamento de alterações de arquivo para retrocesso. Veja [Checkpointing de arquivo](https://code.claude.com/docs/pt/agent-sdk/file-checkpointing.md) |886| `enable_file_checkpointing` | `bool` | `False` | Ativar rastreamento de alterações de arquivo para retrocesso. Veja [Checkpointing de arquivo](https://code.claude.com/docs/pt/agent-sdk/file-checkpointing.md) |


2568 2568 

2569### Agent2569### Agent

2570 2570 

2571**Nome da ferramenta:** `Agent`. O nome anterior `Task` ainda é aceito como alias, e a lista `tools` na [`SystemMessage`](#systemmessage) de inicialização relata essa ferramenta como `Task` para compatibilidade com versões anteriores.2571**Nome da ferramenta:** `Agent`. O nome anterior `Task` ainda é aceito como alias quando essa ferramenta está disponível para a sessão.

2572 

2573A lista `tools` na [`SystemMessage`](#systemmessage) de inicialização relata essa ferramenta como `Task` para compatibilidade com versões anteriores.

2572 2574 

2573**Entrada:**2575**Entrada:**

2574 2576 


3642| `deniedDomains` | `list[str]` | `[]` | Nomes de domínio que processos em sandbox não podem acessar. Tem precedência sobre `allowedDomains` |3644| `deniedDomains` | `list[str]` | `[]` | Nomes de domínio que processos em sandbox não podem acessar. Tem precedência sobre `allowedDomains` |

3643| `allowManagedDomainsOnly` | `bool` | `False` | Apenas configurações gerenciadas: quando definido em configurações gerenciadas, ignore `allowedDomains` e `WebFetch(domain:...)` regras de permissão de fontes de configurações não gerenciadas. Não tem efeito quando definido via opções SDK |3645| `allowManagedDomainsOnly` | `bool` | `False` | Apenas configurações gerenciadas: quando definido em configurações gerenciadas, ignore `allowedDomains` e `WebFetch(domain:...)` regras de permissão de fontes de configurações não gerenciadas. Não tem efeito quando definido via opções SDK |

3644| `allowUnixSockets` | `list[str]` | `[]` | Apenas macOS: caminhos de socket Unix que processos podem acessar, como o socket Docker. Ignorado no Linux |3646| `allowUnixSockets` | `list[str]` | `[]` | Apenas macOS: caminhos de socket Unix que processos podem acessar, como o socket Docker. Ignorado no Linux |

3645| `allowAllUnixSockets` | `bool` | `False` | Permite acesso a todos os sockets Unix |3647| `allowAllUnixSockets` | `bool` | `False` | Permite acesso a todos os sockets Unix e, no Linux, a sockets de VM (`AF_VSOCK`) |

3646| `allowLocalBinding` | `bool` | `False` | Permite que processos se vinculem a portas locais (por exemplo, para servidores dev) |3648| `allowLocalBinding` | `bool` | `False` | Permite que processos se vinculem a portas locais (por exemplo, para servidores dev) |

3647| `allowMachLookup` | `list[str]` | `[]` | Apenas macOS: nomes de serviço XPC/Mach para permitir. Suporta um curinga à direita |3649| `allowMachLookup` | `list[str]` | `[]` | Apenas macOS: nomes de serviço XPC/Mach para permitir. Suporta um curinga à direita |

3648| `httpProxyPort` | `int` | `None` | Porta de proxy HTTP para solicitações de rede |3650| `httpProxyPort` | `int` | `None` | Porta de proxy HTTP para solicitações de rede |

Details

16 16 

17## Pré-requisitos17## Pré-requisitos

18 18 

19* **Node.js 18+** ou **Python 3.10+**19* **Node.js 18.14+** ou **Python 3.10+**

20* Uma **conta Anthropic**. Se você não tiver uma, [inscreva-se aqui](https://platform.claude.com/).20* Uma **conta Anthropic**. Se você não tiver uma, [inscreva-se aqui](https://platform.claude.com/).

21 21 

22## Configuração22## Configuração

Details

118 118 

119### Lidar com um stream interrompido119### Lidar com um stream interrompido

120 120 

121Se um stream for interrompido no meio de uma mensagem, como quando você interrompe o turno ou a conexão cai, você ainda recebe o `message_stop` dessa mensagem antes que o turno termine. Um bloco de texto ou de pensamento interrompido também recebe seu `content_block_stop`. Uma chamada de ferramenta interrompida não recebe, portanto, se `message_stop` chegar enquanto o bloco de uma chamada de ferramenta ainda estiver aberto, trate a entrada dessa chamada como incompleta.121Se um stream for interrompido no meio de uma mensagem, você ainda recebe o `message_stop` dessa mensagem antes que o turno termine. As causas de um stream interrompido incluem um turno interrompido, uma conexão que caiu e um fallback para uma requisição sem streaming. `content_block_stop` e `message_delta` podem estar ausentes antes desse `message_stop`:

122 

123* **`content_block_stop`**: chega para o bloco que estava aberto, a menos que esse bloco seja uma chamada de ferramenta. Se `message_stop` chegar enquanto o bloco de uma chamada de ferramenta ainda estiver aberto, trate a entrada dessa chamada como incompleta.

124* **`message_delta`**: chega quando você interrompe o turno e pode estar ausente após uma conexão que caiu ou um fallback para uma requisição sem streaming, portanto não espere por ele em uma mensagem interrompida.

122 125 

123Antes do Claude Code v2.1.290, um stream interrompido podia encerrar o turno sem `message_stop`, de modo que uma resposta que você renderiza a partir de eventos de stream podia continuar sendo exibida como em andamento. O Agent SDK para TypeScript inclui o Claude Code v2.1.290 ou posterior a partir da v0.3.290, e o Agent SDK para Python a partir da v0.2.164. Se uma resposta continuar sendo exibida como em andamento após o término do turno, atualize o SDK.126Antes do Claude Code v2.1.290, um stream interrompido podia encerrar o turno sem `message_stop`, de modo que uma resposta que você renderiza a partir de eventos de stream podia continuar sendo exibida como em andamento. O Agent SDK para TypeScript inclui o Claude Code v2.1.290 ou posterior a partir da v0.3.290, e o Agent SDK para Python a partir da v0.2.164. Se uma resposta continuar sendo exibida como em andamento após o término do turno, atualize o SDK.

124 127 

Details

105 105 

106Retorna uma `Promise<`[`WarmQuery`](#warmquery)`>` que é resolvida assim que o subprocesso é gerado e completa seu handshake de inicialização.106Retorna uma `Promise<`[`WarmQuery`](#warmquery)`>` que é resolvida assim que o subprocesso é gerado e completa seu handshake de inicialização.

107 107 

108Das mensagens [`hook_progress`](#sdkhookprogressmessage) que um hook `SessionStart` ou `Setup` emite antes de o handshake ser concluído, você recebe apenas a mais recente, que contém toda a saída do hook até o momento. `startup()` retém essa mensagem, a mensagem [`hook_started`](#sdkhookstartedmessage) do hook e qualquer outra coisa que o subprocesso emitir antes de o handshake ser concluído. As mensagens retidas chegam a você assim que você chama `.query()` no `WarmQuery` e itera o resultado.

109 

108#### Exemplo110#### Exemplo

109 111 

110Chame `startup()` cedo, por exemplo no boot da aplicação, depois chame `.query()` no handle retornado assim que um prompt estiver pronto. Isso move a geração do subprocesso e inicialização para fora do caminho crítico.112Chame `startup()` cedo, por exemplo no boot da aplicação, depois chame `.query()` no handle retornado assim que um prompt estiver pronto. Isso move a geração do subprocesso e inicialização para fora do caminho crítico.


524| `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`](https://code.claude.com/docs/pt/settings-reference#policyhelper) fornece configurações gerenciadas. Os valores mesclados passam por um filtro somente restritivo; [Restringir configurações do processo pai](https://code.claude.com/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`](https://code.claude.com/docs/pt/env-vars) tem, em vez disso, três chaves lidas diretamente deste payload: sua [configuração de modelo](https://code.claude.com/docs/pt/model-config.md#restrict-model-selection) no Claude Code v2.1.222 ou posterior, [`modelPricing`](https://code.claude.com/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 |526| `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`](https://code.claude.com/docs/pt/settings-reference#policyhelper) fornece configurações gerenciadas. Os valores mesclados passam por um filtro somente restritivo; [Restringir configurações do processo pai](https://code.claude.com/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`](https://code.claude.com/docs/pt/env-vars) tem, em vez disso, três chaves lidas diretamente deste payload: sua [configuração de modelo](https://code.claude.com/docs/pt/model-config.md#restrict-model-selection) no Claude Code v2.1.222 ou posterior, [`modelPricing`](https://code.claude.com/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 |

525| `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](https://code.claude.com/docs/pt/agent-sdk/agent-loop.md#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](https://code.claude.com/docs/pt/agent-sdk/cost-tracking.md) |527| `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](https://code.claude.com/docs/pt/agent-sdk/agent-loop.md#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](https://code.claude.com/docs/pt/agent-sdk/cost-tracking.md) |

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

527| `maxTurns` | `number` | `undefined` | Máximo de turnos agênticos (idas e voltas de uso de ferramentas) |529| `maxTurns` | `number` | `undefined` | Máximo de [turnos](https://code.claude.com/docs/pt/agent-sdk/agent-loop.md#turns-and-messages) agênticos |

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

529| `model` | `string` | Padrão da CLI | Alias do modelo Claude ou nome completo do modelo. Consulte [valores aceitos e IDs específicos de provedores](https://code.claude.com/docs/pt/model-config.md#available-models) |531| `model` | `string` | Padrão da CLI | Alias do modelo Claude ou nome completo do modelo. Consulte [valores aceitos e IDs específicos de provedores](https://code.claude.com/docs/pt/model-config.md#available-models) |

530| `onElicitation` | `(request: ElicitationRequest, options: { signal: AbortSignal }) => Promise<ElicitationResult>` | `undefined` | Callback para lidar com requisições de elicitação MCP. Chamado quando um servidor MCP solicita entrada do usuário e nenhum hook a trata primeiro. Quando não fornecido, requisições de elicitação não tratadas são recusadas automaticamente |532| `onElicitation` | `(request: ElicitationRequest, options: { signal: AbortSignal }) => Promise<ElicitationResult>` | `undefined` | Callback para lidar com requisições de elicitação MCP. Chamado quando um servidor MCP solicita entrada do usuário e nenhum hook a trata primeiro. Quando não fornecido, requisições de elicitação não tratadas são recusadas automaticamente |


1403 };1405 };

1404```1406```

1405 1407 

1408Se você retornar `allow` com mais de 4.096 itens em `updatedPermissions`, o Claude Code trata o resultado como inválido e nega a chamada de ferramenta. Cada atualização conta como um item, assim como cada entrada na sua lista `rules` ou `directories`. A mensagem de negação termina com `updatedPermissions may hold at most 4096 updates, rules and directories in all`. Para que a chamada seja permitida, retorne 4.096 itens ou menos.

1409 

1406### `ToolConfig`1410### `ToolConfig`

1407 1411 

1408Configuração do comportamento das ferramentas integradas.1412Configuração do comportamento das ferramentas integradas.


1464 1468 

1465#### `McpSdkServerConfigWithInstance`1469#### `McpSdkServerConfigWithInstance`

1466 1470 

1467A configuração para um servidor MCP em processo, um que [`createSdkMcpServer()`](#createsdkmcpserver) cria e que é executado dentro do processo da sua aplicação. É o objeto que `createSdkMcpServer()` retorna, mais uma lista opcional `tools` de entradas [`McpServerToolPolicy`](#mcpservertoolpolicy) que você mesmo adiciona. Para exigir aprovação para chamadas a uma das ferramentas do servidor, ou para negá-las, adicione uma entrada que nomeie a ferramenta.1471Configuração de um servidor MCP em processo. É o que [`createSdkMcpServer()`](#createsdkmcpserver) retorna, mais uma lista `tools` opcional de entradas [`McpServerToolPolicy`](#mcpservertoolpolicy) que você adiciona.

1468 1472 

1469```typescript theme={null}1473```typescript theme={null}

1470type McpSdkServerConfigWithInstance = {1474type McpSdkServerConfigWithInstance = {


1476};1480};

1477```1481```

1478 1482 

1479Para definir uma política, espalhe o objeto que `createSdkMcpServer()` retorna em um novo objeto em `mcpServers` e adicione a lista `tools` a esse novo objeto. A opção `tools` do próprio `createSdkMcpServer()` é uma lista diferente, que contém as definições das ferramentas e não aceita entradas de política. A lista de políticas requer o Agent SDK v0.3.301 ou posterior, e [`McpServerToolPolicy`](#mcpservertoolpolicy) descreve o que cada valor de `permission_policy` faz.1483Para exigir aprovação para chamadas a uma das ferramentas do servidor, ou negá-las, adicione uma entrada de política que nomeie a ferramenta. Espalhe o que `createSdkMcpServer()` retorna em um objeto sob `mcpServers` e coloque a entrada em uma lista `tools` nesse objeto, porque a opção `tools` da função aceita definições de ferramentas e não entradas de política. A lista de políticas requer o Agent SDK v0.3.301 ou posterior, e [`McpServerToolPolicy`](#mcpservertoolpolicy) descreve o que cada valor de `permission_policy` faz.

1480 1484 

1481Este exemplo pré-aprova todas as ferramentas do servidor `records` com um curinga em `allowedTools` e, em seguida, marca `delete_record` como `always_ask` para que as chamadas a ela cheguem a `canUseTool` mesmo assim. Com a anotação `destructiveHint: true`, a chamada ainda chega ao callback se a sessão for executada no modo `auto`, em que o [classificador](https://code.claude.com/docs/pt/permission-modes.md#eliminate-prompts-with-auto-mode) do modo auto poderia aprová-la de outra forma.1485Neste script, um curinga em `allowedTools` pré-aprova todas as ferramentas do servidor `records`, mas `delete_record` está marcada como `always_ask`, então as chamadas a ela vão para `canUseTool` mesmo assim. Com a anotação `destructiveHint: true`, a chamada ainda chega ao callback se a sessão for executada no modo `auto`, onde o [classificador](https://code.claude.com/docs/pt/permission-modes.md#eliminate-prompts-with-auto-mode) do modo auto poderia, de outra forma, aprová-la.

1482 1486 

1483```typescript theme={null}1487```typescript theme={null}

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


1517}1521}

1518```1522```

1519 1523 

1520Quando o Claude chama a ferramenta, o script imprime `Approval requested for mcp__records__delete_record` antes de a ferramenta `delete_record` ser executada, embora a entrada de `allowedTools` fosse, de outra forma, aprovar a chamada.1524Quando o Claude chama `delete_record`, o script imprime `Approval requested for mcp__records__delete_record`.

1521 1525 

1522Para alterar ou remover a política de uma ferramenta enquanto a sessão está em execução, passe a configuração do servidor com um novo valor de `tools` para [`setMcpServers()`](#mcpsetserversresult). O valor de `tools` que você passa entra em vigor a partir da próxima chamada do Claude às ferramentas desse servidor:1526Para alterar ou remover a política de uma ferramenta enquanto a sessão está em execução, passe a configuração do servidor com um novo valor de `tools` para [`setMcpServers()`](#mcpsetserversresult). O valor de `tools` que você passa entra em vigor a partir da próxima chamada do Claude às ferramentas desse servidor:

1523 1527 


1556 1560 

1557##### Modos de permissão que podem aprovar uma chamada `always_ask`1561##### Modos de permissão que podem aprovar uma chamada `always_ask`

1558 1562 

1559Nos modos `auto`, `plan` e `bypassPermissions`, uma chamada a uma ferramenta marcada como [`always_ask`](#permission-policy-values) pode ser aprovada antes de chegar ao seu callback `canUseTool`. Encontre o modo da sua sessão nesta lista para ver quando essa aprovação acontece e o que definir para que a chamada chegue ao seu callback mesmo assim:1563Nos modos `auto`, `plan` e `bypassPermissions`, uma chamada a uma ferramenta marcada como [`always_ask`](#permission-policy-values) pode ser aprovada antes de chegar ao seu callback `canUseTool`.

1560 1564 

1561* **`auto`**: o [classificador](https://code.claude.com/docs/pt/permission-modes.md#eliminate-prompts-with-auto-mode) do modo auto revisa a chamada e pode permiti-la. Para fazer com que todas as chamadas cheguem ao seu callback no modo `auto`, defina `destructiveHint: true` nas [anotações](#toolannotations) da ferramenta1565* **`auto`**: o [classificador](https://code.claude.com/docs/pt/permission-modes.md#eliminate-prompts-with-auto-mode) do modo auto revisa a chamada e pode permiti-la. Para fazer com que todas as chamadas cheguem ao seu callback no modo `auto`, defina `destructiveHint: true` nas [anotações](#toolannotations) da ferramenta

1562* **`plan`**: enquanto o [modo auto estiver disponível](https://code.claude.com/docs/pt/permission-modes.md#eliminate-prompts-with-auto-mode) para a sessão, as chamadas a uma ferramenta `always_ask` anotada com `readOnlyHint: true` vão para o classificador do modo auto, que pode permiti-las. As chamadas a outras ferramentas `always_ask` chegam ao seu callback. Para fazer com que as chamadas de uma ferramenta somente leitura também cheguem ao seu callback, adicione `destructiveHint: true` às anotações dessa ferramenta junto com `readOnlyHint: true`. Como alternativa, defina [`useAutoModeDuringPlan`](https://code.claude.com/docs/pt/settings-reference#useautomodeduringplan) como `false`, o que desativa o classificador durante o planejamento1566* **`plan`**: enquanto o [modo auto estiver disponível](https://code.claude.com/docs/pt/permission-modes.md#eliminate-prompts-with-auto-mode) para a sessão, as chamadas a uma ferramenta `always_ask` anotada com `readOnlyHint: true` vão para o classificador do modo auto, que pode permiti-las. As chamadas a outras ferramentas `always_ask` chegam ao seu callback. Para fazer com que as chamadas de uma ferramenta somente leitura também cheguem ao seu callback, adicione `destructiveHint: true` às anotações dessa ferramenta junto com `readOnlyHint: true`. Como alternativa, defina [`useAutoModeDuringPlan`](https://code.claude.com/docs/pt/settings-reference#useautomodeduringplan) como `false`, o que desativa o classificador durante o planejamento


1692 1696 

1693`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.1697`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.

1694 1698 

1695`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](https://code.claude.com/docs/pt/agent-sdk/subagents.md#resume-subagents). O campo requer o Agent SDK v0.3.292 ou posterior.1699`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) e em outros eventos de tarefa desse subagente, e não muda quando o subagente é [retomado](https://code.claude.com/docs/pt/agent-sdk/subagents.md#resume-subagents). Em mensagens de um [subagente aninhado](https://code.claude.com/docs/pt/sub-agents.md#let-subagents-spawn-their-own-subagents), ele nomeia o subagente aninhado, e não o subagente que o criou. O campo requer Agent SDK v0.3.292 ou posterior.

1696 1700 

1697Associe 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.1701Associe 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.

1698 1702 


3273 3277 

3274### Agent3278### Agent

3275 3279 

3276**Nome da ferramenta:** `Agent`. O nome anterior `Task` ainda é aceito como um alias, e o array `tools` na mensagem de inicialização [`SDKSystemMessage`](#sdksystemmessage) atualmente lista essa ferramenta como `Task` para compatibilidade com versões anteriores.3280**Nome da ferramenta:** `Agent`. O nome anterior `Task` ainda é aceito como um alias quando essa ferramenta está disponível para a sessão.

3281 

3282O array `tools` na mensagem de inicialização [`SDKSystemMessage`](#sdksystemmessage) lista essa ferramenta como `Task` para compatibilidade com versões anteriores.

3277 3283 

3278> [!NOTE]3284> [!NOTE]

3279>3285>


4010 4016 

4011### Agent4017### Agent

4012 4018 

4013**Nome da ferramenta:** `Agent`. O nome anterior `Task` ainda é aceito como um alias, e o array `tools` na mensagem de inicialização [`SDKSystemMessage`](#sdksystemmessage) atualmente lista essa ferramenta como `Task` para compatibilidade com versões anteriores.4019**Nome da ferramenta:** `Agent`. O nome anterior `Task` ainda é aceito como um alias quando essa ferramenta está disponível para a sessão.

4014 4020 

4015```typescript theme={null}4021```typescript theme={null}

4016type AgentOutput =4022type AgentOutput =


5210 5216 

5211#### Quando o `_meta.ui` de uma ferramenta contém apenas `visibility`5217#### Quando o `_meta.ui` de uma ferramenta contém apenas `visibility`

5212 5218 

5213Se seu servidor declara `ui.resourceUri` para uma ferramenta, mas o `_meta.ui` que sua aplicação recebe contém apenas `visibility`, o objeto `ui` que o servidor enviou falhou em uma das verificações do Claude Code. Claude Code verifica `ui` e `ui/resourceUri` separadamente, então uma chave pode chegar à sua aplicação quando a outra falha. Compare o `_meta` na resposta `tools/list` do seu servidor com as verificações de cada chave:5219Se seu servidor declara `ui.resourceUri` para uma ferramenta, mas o `_meta.ui` que sua aplicação recebe contém apenas `visibility`, o objeto `ui` que o servidor enviou falhou em uma das verificações do Claude Code. Compare o `_meta` na resposta `tools/list` do seu servidor com as verificações de cada chave:

5214 5220 

5215* **`ui`**: chega à sua aplicação inalterado, incluindo quaisquer membros além de `resourceUri` e `visibility`, se todas as três verificações forem aprovadas:5221* **`ui`**: chega à sua aplicação inalterado, incluindo quaisquer membros além de `resourceUri` e `visibility`, se todas as três verificações forem aprovadas:

5216 5222 


5553 5559 

5554Claude Code entrega esta mensagem, [`SDKHookProgressMessage`](#sdkhookprogressmessage) e [`SDKHookResponseMessage`](#sdkhookresponsemessage) para o fluxo de mensagens imediatamente, incluindo enquanto um hook `SessionStart` ou `Setup` ainda está em execução durante a inicialização da sessão. Claude Code v2.1.169 através de v2.1.203 entregou estas mensagens em um lote após um hook `SessionStart` ou `Setup` ser concluído; v2.1.204 restaurou a entrega ao vivo.5560Claude Code entrega esta mensagem, [`SDKHookProgressMessage`](#sdkhookprogressmessage) e [`SDKHookResponseMessage`](#sdkhookresponsemessage) para o fluxo de mensagens imediatamente, incluindo enquanto um hook `SessionStart` ou `Setup` ainda está em execução durante a inicialização da sessão. Claude Code v2.1.169 através de v2.1.203 entregou estas mensagens em um lote após um hook `SessionStart` ou `Setup` ser concluído; v2.1.204 restaurou a entrega ao vivo.

5555 5561 

5562Se você iniciar a sessão com [`startup()`](#startup), essas mensagens chegam a você assim que você chamar `.query()` e iterar o resultado.

5563 

5556```typescript theme={null}5564```typescript theme={null}

5557type SDKHookStartedMessage = {5565type SDKHookStartedMessage = {

5558 type: "system";5566 type: "system";


6072| `allowManagedDomainsOnly` | `boolean` | `false` | Apenas configurações gerenciadas. Quando definido em [configurações gerenciadas](https://code.claude.com/docs/pt/managed-settings.md), apenas entradas `allowedDomains` e regras de permissão `WebFetch(domain:...)` de configurações gerenciadas são honradas, e entradas de permissão de configurações de usuário, projeto ou local são ignoradas. Do SDK, passe-o através da opção [`managedSettings`](#options) |6080| `allowManagedDomainsOnly` | `boolean` | `false` | Apenas configurações gerenciadas. Quando definido em [configurações gerenciadas](https://code.claude.com/docs/pt/managed-settings.md), apenas entradas `allowedDomains` e regras de permissão `WebFetch(domain:...)` de configurações gerenciadas são honradas, e entradas de permissão de configurações de usuário, projeto ou local são ignoradas. Do SDK, passe-o através da opção [`managedSettings`](#options) |

6073| `allowLocalBinding` | `boolean` | `false` | Permitir que processos se vinculem a portas locais (por exemplo, para servidores de desenvolvimento) |6081| `allowLocalBinding` | `boolean` | `false` | Permitir que processos se vinculem a portas locais (por exemplo, para servidores de desenvolvimento) |

6074| `allowUnixSockets` | `string[]` | `[]` | Caminhos de socket Unix que processos podem acessar (por exemplo, socket Docker) |6082| `allowUnixSockets` | `string[]` | `[]` | Caminhos de socket Unix que processos podem acessar (por exemplo, socket Docker) |

6075| `allowAllUnixSockets` | `boolean` | `false` | Permitir acesso a todos os sockets Unix |6083| `allowAllUnixSockets` | `boolean` | `false` | Permitir acesso a todos os sockets Unix e, no Linux, a sockets de VM (`AF_VSOCK`) |

6076| `httpProxyPort` | `number` | `undefined` | Porta de proxy HTTP para requisições de rede |6084| `httpProxyPort` | `number` | `undefined` | Porta de proxy HTTP para requisições de rede |

6077| `socksProxyPort` | `number` | `undefined` | Porta de proxy SOCKS para requisições de rede |6085| `socksProxyPort` | `number` | `undefined` | Porta de proxy SOCKS para requisições de rede |

6078 6086 

agent-view.md +8 −2

Details

320 320 

321#### Trazer de volta uma sessão passada321#### Trazer de volta uma sessão passada

322 322 

323Para trazer uma sessão de volta no Claude Code v2.1.212 ou posterior, digite `/resume` na [entrada de despacho](#dispatch-an-agent-from-agent-view). Um seletor abre com sessões passadas do repositório a partir do qual você abriu agent view, mais recentes primeiro, incluindo sessões que você deletou da lista. Sessões que já têm uma linha não são listadas. Pressione `Enter` para retomar a sessão selecionada como uma sessão em background, para que ela se rejunte à lista como uma linha.323Para trazer uma sessão de volta, digite `/resume` na [entrada de despacho](#dispatch-an-agent-from-agent-view). Um seletor abre com sessões passadas do repositório a partir do qual você abriu agent view, mais recentes primeiro, incluindo sessões que você deletou da lista. Sessões que já têm uma linha não são listadas. Pressione `Enter` para retomar a sessão selecionada como uma sessão em background, para que ela se rejunte à lista como uma linha.

324 324 

325`/resume` falha com `isn't available in agent view` quando:325`/resume` falha com `isn't available in agent view` quando:

326 326 


410* `/logout` desconecta você410* `/logout` desconecta você

411* `/model`, `/effort` e `/fast` definem [com o que as sessões que você despachar em seguida começam](#set-the-model-effort-and-fast-mode). `/effort` e `/fast` requerem Claude Code v2.1.299 ou posterior.411* `/model`, `/effort` e `/fast` definem [com o que as sessões que você despachar em seguida começam](#set-the-model-effort-and-fast-mode). `/effort` e `/fast` requerem Claude Code v2.1.299 ou posterior.

412* `/login` abre o diálogo de entrada para que você possa entrar novamente sem anexar a uma sessão412* `/login` abre o diálogo de entrada para que você possa entrar novamente sem anexar a uma sessão

413* Um `/resume` simples, ou seu alias `/continue`, abre um seletor das sessões passadas do repositório para [trazer uma de volta](#bring-back-a-past-session) como uma sessão em segundo plano. Requer Claude Code v2.1.212 ou posterior413* Um `/resume` simples, ou seu alias `/continue`, abre um seletor das sessões passadas do repositório para [trazer uma de volta](#bring-back-a-past-session) como uma sessão em segundo plano

414 414 

415Skills, seus próprios comandos e built-ins que expandem prompts, como `/init`, são enviados para uma nova sessão em segundo plano como seu primeiro prompt. A dica `isn't available in agent view` significa que o comando built-in que você digitou não foi executado. Para executá-lo, [anexe a uma sessão](#attach-to-a-session) e digite-o lá. Tudo o que você digitou permanece na entrada ao lado da dica para que você possa editá-lo.415Skills, seus próprios comandos e built-ins que expandem prompts, como `/init`, são enviados para uma nova sessão em segundo plano como seu primeiro prompt. A dica `isn't available in agent view` significa que o comando built-in que você digitou não foi executado. Para executá-lo, [anexe a uma sessão](#attach-to-a-session) e digite-o lá. Tudo o que você digitou permanece na entrada ao lado da dica para que você possa editá-lo.

416 416 


454 454 

455Quando a [visualização de agentes está desativada](#turn-off-agent-view), `/fork` inicia um [subagente bifurcado](https://code.claude.com/docs/pt/sub-agents.md#fork-the-current-conversation) em vez de copiar a sessão.455Quando a [visualização de agentes está desativada](#turn-off-agent-view), `/fork` inicia um [subagente bifurcado](https://code.claude.com/docs/pt/sub-agents.md#fork-the-current-conversation) em vez de copiar a sessão.

456 456 

457##### Enviar um prompt à cópia e abrir sua sessão

458 

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

458 460 

459A confirmação `/fork` é uma linha mostrando o estado da cópia, como `session running`, o nome de sua linha de visualização de agentes e seu ID de sessão para `claude attach`. Clique no nome para mudar para a cópia: essa sessão vai para o segundo plano, o mesmo que pressionar `←`, e a visualização de agentes abre a sessão da cópia.461A confirmação `/fork` é uma linha mostrando o estado da cópia, como `session running`, o nome de sua linha de visualização de agentes e seu ID de sessão para `claude attach`. Clique no nome para mudar para a cópia: essa sessão vai para o segundo plano, o mesmo que pressionar `←`, e a visualização de agentes abre a sessão da cópia.

460 462 

463##### Onde a cópia é executada

464 

461Exceto quando a cópia [edita no local](#how-file-edits-are-isolated), Claude Code a instrui a criar seu próprio worktree antes de fazer alterações de código. Fora de um repositório git, apenas uma cópia movida para fora de um worktree criado por hook recebe a instrução; sem um [`WorktreeCreate` hook](https://code.claude.com/docs/pt/hooks#worktreecreate), a cópia edita no local. Uma cópia movida para fora de seu worktree também é instruída a nunca editar, executar comandos em ou entrar nesse worktree, qualquer que seja a configuração de isolamento.465Exceto quando a cópia [edita no local](#how-file-edits-are-isolated), Claude Code a instrui a criar seu próprio worktree antes de fazer alterações de código. Fora de um repositório git, apenas uma cópia movida para fora de um worktree criado por hook recebe a instrução; sem um [`WorktreeCreate` hook](https://code.claude.com/docs/pt/hooks#worktreecreate), a cópia edita no local. Uma cópia movida para fora de seu worktree também é instruída a nunca editar, executar comandos em ou entrar nesse worktree, qualquer que seja a configuração de isolamento.

462 466 

463Onde a cópia começa depende de onde a sessão atual está em execução:467Onde a cópia começa depende de onde a sessão atual está em execução:


467* Quando você iniciou a sessão dentro de um worktree vinculado de um repositório que tem uma árvore de trabalho principal, a cópia começa nessa árvore de trabalho principal, com a mesma regra de worktree próprio, mas sem instrução de branch. A confirmação termina com `runs in the origin tree` aqui também.471* Quando você iniciou a sessão dentro de um worktree vinculado de um repositório que tem uma árvore de trabalho principal, a cópia começa nessa árvore de trabalho principal, com a mesma regra de worktree próprio, mas sem instrução de branch. A confirmação termina com `runs in the origin tree` aqui também.

468* Uma sessão iniciada dentro de um worktree de um layout de repositório bare não tem árvore de trabalho principal para retornar, portanto a cópia permanece onde está, e a confirmação termina com `edits this checkout`. A mesma nota aparece quando o isolamento de worktree está [desativado](#how-file-edits-are-isolated) em uma sessão que não está dentro de um worktree vinculado, porque a cópia então edita os arquivos que você tem abertos.472* Uma sessão iniciada dentro de um worktree de um layout de repositório bare não tem árvore de trabalho principal para retornar, portanto a cópia permanece onde está, e a confirmação termina com `edits this checkout`. A mesma nota aparece quando o isolamento de worktree está [desativado](#how-file-edits-are-isolated) em uma sessão que não está dentro de um worktree vinculado, porque a cópia então edita os arquivos que você tem abertos.

469 473 

474##### Sessões que não podem ser bifurcadas

475 

470Sessões iniciadas com flags de inicialização que a cópia não herdaria, como um system prompt substituído ou uma allowlist `--tools`, não podem ser bifurcadas; Claude Code diz isso em vez de fazer uma cópia parcial. Uma sessão despachada a partir da visualização de agentes é bifurcada normalmente: a cópia é iniciada com a mesma [definição de agente](https://code.claude.com/docs/pt/sub-agents.md) e instruções anexadas que a sessão da qual veio.476Sessões iniciadas com flags de inicialização que a cópia não herdaria, como um system prompt substituído ou uma allowlist `--tools`, não podem ser bifurcadas; Claude Code diz isso em vez de fazer uma cópia parcial. Uma sessão despachada a partir da visualização de agentes é bifurcada normalmente: a cópia é iniciada com a mesma [definição de agente](https://code.claude.com/docs/pt/sub-agents.md) e instruções anexadas que a sessão da qual veio.

471 477 

472#### O que é transferido quando você coloca em segundo plano478#### O que é transferido quando você coloca em segundo plano

agents.md +1 −1

Details

32 32 

33> [!NOTE]33> [!NOTE]

34>34>

35> Executar várias sessões ou subagentes simultaneamente multiplica o uso de tokens. Veja [Custos](https://code.claude.com/docs/pt/costs.md) para detalhes de uso e limite de taxa.35> Executar várias sessões ou subagentes simultaneamente multiplica o uso de tokens. Veja [Custos](https://code.claude.com/docs/pt/costs.md) para detalhes de uso e rate limit.

36 36 

37## Escolha uma abordagem37## Escolha uma abordagem

38 38 

Details

251| Modelo primário | Opus 5.5, por exemplo `us.anthropic.claude-opus-5-5` em uma região `us-*` |251| Modelo primário | Opus 5.5, por exemplo `us.anthropic.claude-opus-5-5` em uma região `us-*` |

252| Modelo pequeno/rápido | Sonnet 4.5, por exemplo `us.anthropic.claude-sonnet-4-5-20250929-v1:0` em uma região `us-*` |252| Modelo pequeno/rápido | Sonnet 4.5, por exemplo `us.anthropic.claude-sonnet-4-5-20250929-v1:0` em uma região `us-*` |

253 253 

254Antes da v2.1.280, o modelo primário no Amazon Bedrock era padrão para Opus 5 e o alias `opus` resolveu para Opus 5 a partir da v2.1.219.

255 

254Tarefas em segundo plano, como geração de título de sessão, usam o modelo pequeno/rápido, normalmente um modelo da classe Haiku. No Amazon Bedrock, Claude Code usa o modelo Sonnet padrão para tarefas em segundo plano porque Haiku pode não estar habilitado em todas as contas ou regiões. Duas seleções mudam qual modelo as carrega:256Tarefas em segundo plano, como geração de título de sessão, usam o modelo pequeno/rápido, normalmente um modelo da classe Haiku. No Amazon Bedrock, Claude Code usa o modelo Sonnet padrão para tarefas em segundo plano porque Haiku pode não estar habilitado em todas as contas ou regiões. Duas seleções mudam qual modelo as carrega:

255 257 

256* Quando você seleciona um modelo primário com `--model`, `ANTHROPIC_MODEL` ou a configuração `model`, as tarefas em segundo plano usam esse modelo. Quando Claude Code inicia a sessão no modelo que você define com [`ANTHROPIC_DEFAULT_MODEL`](https://code.claude.com/docs/pt/model-config#set-a-default-model-for-new-sessions), as tarefas em segundo plano usam esse modelo também. Definir `ANTHROPIC_DEFAULT_OPUS_MODEL` sem `ANTHROPIC_DEFAULT_SONNET_MODEL` também conta como uma seleção, porque o modelo Sonnet integrado pode não estar habilitado em uma conta que direciona seu próprio Opus.258* Quando você seleciona um modelo primário com `--model`, `ANTHROPIC_MODEL` ou a configuração `model`, as tarefas em segundo plano usam esse modelo. Quando Claude Code inicia a sessão no modelo que você define com [`ANTHROPIC_DEFAULT_MODEL`](https://code.claude.com/docs/pt/model-config#set-a-default-model-for-new-sessions), as tarefas em segundo plano usam esse modelo também. Definir `ANTHROPIC_DEFAULT_OPUS_MODEL` sem `ANTHROPIC_DEFAULT_SONNET_MODEL` também conta como uma seleção, porque o modelo Sonnet integrado pode não estar habilitado em uma conta que direciona seu próprio Opus.


260>262>

261> Os modelos Opus têm um preço por token mais alto do que os modelos Sonnet, portanto, se você não fixar um modelo primário, será cobrado à taxa Opus. Para usar Sonnet 4.5 como o modelo primário, defina `ANTHROPIC_MODEL` para seu ID de modelo completo. Uma implantação que direciona o padrão com `ANTHROPIC_DEFAULT_SONNET_MODEL` e não define `ANTHROPIC_DEFAULT_OPUS_MODEL` mantém seu modelo Sonnet direcionado como o padrão.263> Os modelos Opus têm um preço por token mais alto do que os modelos Sonnet, portanto, se você não fixar um modelo primário, será cobrado à taxa Opus. Para usar Sonnet 4.5 como o modelo primário, defina `ANTHROPIC_MODEL` para seu ID de modelo completo. Uma implantação que direciona o padrão com `ANTHROPIC_DEFAULT_SONNET_MODEL` e não define `ANTHROPIC_DEFAULT_OPUS_MODEL` mantém seu modelo Sonnet direcionado como o padrão.

262 264 

263Antes da v2.1.280, o modelo primário no Amazon Bedrock era padrão para Opus 5 e o alias `opus` resolveu para Opus 5 a partir da v2.1.219. Na v2.1.207 através v2.1.218, o modelo primário no Amazon Bedrock era padrão para Opus 4.8 e o alias `opus` resolveu para Opus 4.8.

264 

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

266 266 

267```bash theme={null}267```bash theme={null}

artifacts.md +2 −2

Details

95 95 

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

97 97 

98* **`Enter`**: abre-o no seu navegador quando ele já está anexado à sessão atual e o anexa quando não está. Antes da v2.1.216, `Enter` o abria no seu navegador98* **`Enter`**: abre-o no seu navegador quando ele já está anexado à sessão atual e o anexa quando não está

99* **`o`**: abre-o no seu navegador99* **`o`**: abre-o no seu navegador

100* **`c`**: copia seu link100* **`c`**: copia seu link

101* **`d`**: fora de uma [sessão na nuvem](https://code.claude.com/docs/pt/claude-code-on-the-web.md), exclui permanentemente um artefato que você possui após sua confirmação. O link dele deixa de funcionar para todos, incluindo você101* **`d`**: fora de uma [sessão na nuvem](https://code.claude.com/docs/pt/claude-code-on-the-web.md), exclui permanentemente um artefato que você possui após sua confirmação. O link dele deixa de funcionar para todos, incluindo você


225 225 

226Quando uma página com suporte de conectores é renderizada mas suas seções ao vivo permanecem vazias para um visualizador em sua organização, trabalhe através dessas causas:226Quando uma página com suporte de conectores é renderizada mas suas seções ao vivo permanecem vazias para um visualizador em sua organização, trabalhe através dessas causas:

227 227 

228* **O visualizador não conectou o conector**: conectores são por conta, então cada visualizador precisa de sua própria conexão para cada conector que a página chama. Ele pode adicionar um em **Settings > Connectors** em claude.ai e depois recarregar a página.228* **O visualizador não conectou o conector**: conectores são por conta, então cada visualizador precisa de sua própria conexão para cada conector que a página chama. Ele pode adicionar um em [**Customize > Connectors**](https://claude.ai/customize/connectors) em claude.ai e depois recarregar a página.

229* **O visualizador recusou a solicitação de permissão**: uma recusa dura pelo resto desse carregamento de página. Recarregar a página traz a solicitação de permissão de volta.229* **O visualizador recusou a solicitação de permissão**: uma recusa dura pelo resto desse carregamento de página. Recarregar a página traz a solicitação de permissão de volta.

230* **As chamadas de conectores estão desativadas para a organização**: um Proprietário controla o [toggle **Enable artifact connectors**](#control-connector-calls-from-artifacts) nas configurações de administrador.230* **As chamadas de conectores estão desativadas para a organização**: um Proprietário controla o [toggle **Enable artifact connectors**](#control-connector-calls-from-artifacts) nas configurações de administrador.

231* **A página chama nomes de ferramentas que o conector não expõe**: as seções afetadas permanecem vazias para todos, incluindo você. Isso pode acontecer quando uma página nomeia as ferramentas individuais atrás de um conector estilo gateway que expõe apenas algumas de suas próprias ferramentas. Peça a Claude para corrigir os nomes das ferramentas que a página chama e publicá-la novamente.231* **A página chama nomes de ferramentas que o conector não expõe**: as seções afetadas permanecem vazias para todos, incluindo você. Isso pode acontecer quando uma página nomeia as ferramentas individuais atrás de um conector estilo gateway que expõe apenas algumas de suas próprias ferramentas. Peça a Claude para corrigir os nomes das ferramentas que a página chama e publicá-la novamente.

best-practices.md +417 −355

Details

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

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

4 4 

5# Melhores práticas para Claude Code5# Boas práticas para Claude Code

6 6 

7> Dicas e padrões para aproveitar ao máximo o Claude Code, desde a configuração do seu ambiente até o dimensionamento em sessões paralelas.7> Aproveite mais o Claude Code: diga ao Claude o que ele não consegue ver, dê a ele uma verificação para executar e imponha as regras que não podem ter exceções.

8 8 

9Claude Code é um ambiente de codificação agentic. Diferentemente de um chatbot que responde perguntas e espera, Claude Code pode ler seus arquivos, executar comandos, fazer alterações e trabalhar autonomamente através de problemas enquanto você observa, redireciona ou se afasta completamente.9O Claude Code é construído de forma que, na maioria dos casos, seu primeiro prompt simples em uma sessão nova já faz a coisa certa, sem nenhuma configuração da sua parte.

10 10 

11Isso muda a forma como você trabalha. Em vez de escrever código você mesmo e pedir ao Claude para revisá-lo, você descreve o que deseja e Claude descobre como construir. Claude explora, planeja e implementa.11Por exemplo:

12 12 

13Mas essa autonomia ainda vem com uma curva de aprendizado. Claude trabalha dentro de certas restrições que você precisa entender.13* Para permitir que comandos sejam executados com segurança sem que você aprove cada um, novas sessões de terminal e VS Code começam no [modo auto](https://code.claude.com/docs/pt/permission-modes.md#eliminate-prompts-with-auto-mode), em que um classificador revisa qualquer coisa arriscada antes de ser executada.

14* Para manter sua conversa principal focada enquanto trabalho independente acontece em paralelo, Claude delega a subagentes e só consulta você quando precisa.

15* Para manter uma sessão longa funcionando sem que você precise gerenciá-la, sua conversa é compactada automaticamente antes que a janela de contexto se encha.

14 16 

15Este guia cobre padrões que se mostraram eficazes nas equipes internas da Anthropic e para engenheiros usando Claude Code em vários codebases, linguagens e ambientes. Para saber como o loop agentic funciona, consulte [How Claude Code works](https://code.claude.com/docs/pt/how-claude-code-works.md).17Esta página aborda o que fazer quando os padrões não são suficientes. Isso geralmente acontece quando seu projeto tem conhecimento, regras ou restrições que Claude não consegue ver apenas pelo código:

16 18 

17***19* Um processo de deploy que existe apenas na cabeça de alguém

20* Um arquivo que nunca deve ser lido

21* Uma verificação que precisa passar antes que qualquer coisa seja considerada concluída

22* Um orçamento que você precisa respeitar

18 23 

19A maioria das melhores práticas é baseada em uma restrição: a janela de contexto do Claude se enche rapidamente e o desempenho se degrada conforme ela se enche.24Nenhum padrão pode saber essas coisas sobre o seu projeto, então é aqui que uma pequena quantidade de configuração da sua parte compensa.

20 25 

21A janela de contexto do Claude contém toda a sua conversa, incluindo cada mensagem, cada arquivo que Claude lê e cada saída de comando. No entanto, isso pode se encher rapidamente. Uma única sessão de depuração ou exploração de codebase pode gerar e consumir dezenas de milhares de tokens.26Quando uma sessão não sai como você esperava, quase sempre é por um destes motivos:

22 27 

23Isso importa porque o desempenho do LLM se degrada conforme o contexto se enche. Quando a janela de contexto está ficando cheia, Claude pode começar a "esquecer" instruções anteriores ou cometer mais erros. A janela de contexto é o recurso mais importante a gerenciar. Para ver como uma sessão se enche na prática, [assista a um passo a passo interativo](https://code.claude.com/docs/pt/context-window.md) do que é carregado na inicialização e quanto cada leitura de arquivo custa. Rastreie o uso de contexto continuamente com uma [custom status line](https://code.claude.com/docs/pt/statusline.md), e veja [Reduce token usage](https://code.claude.com/docs/pt/costs.md#reduce-token-usage) para estratégias de redução do uso de tokens.28* Claude construiu algo diferente do que você tinha em mente, ou precisa redescobrir o mesmo fato no início de cada sessão. Falta a ele informação que não consegue obter lendo o repositório. Consulte [Diga ao Claude o que ele não consegue ver](#tell-claude-what-it-cant-see).

29* Claude disse que tinha terminado e não tinha exatamente, geralmente porque não tinha como verificar o próprio trabalho. Consulte [Dê ao Claude uma verificação para executar](#give-claude-a-check-to-run).

30* Claude fez algo que nunca deve acontecer neste repositório, ou pulou uma etapa que sempre deve acontecer. Um prompt sozinho não consegue garantir nenhuma dessas coisas. Consulte [Imponha as regras que não podem ter exceções](#enforce-the-rules-that-cant-have-exceptions).

31* Claude acertou, mas levou mais tempo, tokens ou prompts de permissão do que a tarefa valia. Consulte [Altere um padrão](#change-a-default).

24 32 

25***33[Deixe Claude trabalhar sem você](#let-claude-run-without-you) aplica os mesmos quatro pontos a execuções desacompanhadas, e [O que você pode parar de fazer](#what-you-can-stop-doing) lista os conselhos que os modelos atuais tornaram desnecessários.

26 34 

27## Dê ao Claude uma forma de verificar seu trabalho35> [!NOTE]

28 

29> [!TIP]

30>36>

31> Dê ao Claude uma verificação que ele possa executar: testes, uma compilação, uma captura de tela para comparar. É a diferença entre uma sessão que você observa e uma que você pode deixar sozinha.37> A configuração para uma equipe inteira está em uma página separada: [Configure o Claude Code para sua organização](https://code.claude.com/docs/pt/admin-setup.md).

32 38 

33Claude para quando o trabalho parece pronto. Sem uma verificação que ele possa executar, "parece pronto" é o único sinal disponível, e você se torna o loop de verificação: cada erro espera por você notar. Dê ao Claude algo que produz um resultado de sucesso ou falha, e o loop se fecha por conta própria. Claude faz o trabalho, executa a verificação, lê o resultado e itera até que a verificação passe.39## Instruções determinísticas e não determinísticas

34 40 

35A verificação é qualquer coisa que retorna um sinal que Claude pode ler na conversa: um conjunto de testes, um código de saída de compilação, um linter, um script que compara a saída com um fixture, ou uma [captura de tela do navegador](https://code.claude.com/docs/pt/chrome.md) comparada com um design. Execute [`/verify`](https://code.claude.com/docs/pt/skills#run-and-verify-your-app) você mesmo após a verificação do Claude passar para confirmar a alteração contra o aplicativo em execução.41Toda instrução que você dá ao Claude Code é de um destes tipos:

36 42 

37| Estratégia | Antes | Depois |431. Não determinística: você escreve a instrução, e Claude (o modelo) a lê. Pode ser seu prompt, o `CLAUDE.md` ou uma skill. O modelo então decide o que fazer com essa informação. Ele geralmente segue seus comandos, e os modelos atuais são bons em entender sua intenção sem muito contexto, mas não há *garantia* de que ele seguirá suas instruções. Ele ainda pode decidir não fazer certas coisas, ou fazer outras.

38| - | - | - |442. Determinística: você configura a instrução, e o Claude Code (o harness) *precisa* executá-la. Pode ser um hook, uma regra deny ou uma configuração gerenciada. O Claude Code aplica isso sempre, não importa o que o modelo tenha decidido fazer.

39| **Forneça critérios de verificação** | *"implemente uma função que valida endereços de email"* | *"escreva uma função validateEmail. exemplos de casos de teste: [user@example.com](mailto:user@example.com) é verdadeiro, inválido é falso, [user@.com](mailto:user@.com) é falso. execute os testes após implementar"* |

40| **Verifique mudanças de UI visualmente** | *"faça o dashboard parecer melhor"* | *"\[cole captura de tela] implemente este design. tire uma captura de tela do resultado e compare com o original. liste as diferenças e corrija-as"* |

41| **Aborde as causas raiz, não os sintomas** | *"a compilação está falhando"* | *"a compilação falha com este erro: \[cole erro]. corrija-o e verifique se a compilação é bem-sucedida. aborde a causa raiz, não suprima o erro"* |

42 45 

43Depois que a verificação existe, decida o quão rigorosamente ela controla a parada:46A maioria das coisas no Claude Code existe nas duas formas:

44 47 

45* **Em um único prompt**: peça ao Claude para executar a verificação e iterar na mesma mensagem, como na tabela acima.48| | Não determinística (Claude decide) | Determinística (Claude Code impõe) |

46* **Em toda uma sessão**: defina a verificação como uma [condição `/goal`](https://code.claude.com/docs/pt/goal). Um avaliador separado a verifica novamente após cada turno e Claude continua trabalhando até que a meta seja resolvida. Se Claude ficar preso, Claude Code eventualmente para a execução com a meta ainda definida — veja [como a avaliação de /goal funciona](https://code.claude.com/docs/pt/goal.md#how-evaluation-works).49| :- | :- | :- |

47* **Como um gate determinístico**: um [hook Stop](https://code.claude.com/docs/pt/hooks.md#stop) executa sua verificação como um script e bloqueia o turno de terminar até que passe. [Stop input](https://code.claude.com/docs/pt/hooks.md#stop-input) cobre o limite em bloqueios consecutivos.50| O que fazer | Seu prompt, `CLAUDE.md`, skills que Claude escolhe por conta própria | Hooks, e quais skills só você pode iniciar |

48* **Por uma segunda opinião**: um [subagente de verificação](https://code.claude.com/docs/pt/sub-agents.md) ou um [fluxo de trabalho dinâmico](https://code.claude.com/docs/pt/workflows.md) que verifica suas próprias descobertas tem um modelo fresco tentando refutar o resultado, para que o agente que faz o trabalho não seja o que o avalia.51| O que ele pode tocar | O classificador do modo auto | Regras deny, o sandbox em [modo estrito](https://code.claude.com/docs/pt/sandboxing.md#turn-off-the-retry-with-strict-sandbox-mode), configurações gerenciadas |

52| Quando está concluído | Um pedido de evidências, `/goal`, `/code-review` | Testes, typecheck, um hook `Stop`, CI |

53| Quanto ele gasta | Nível de esforço, o próprio ritmo do Claude | `--max-turns` ou [`--max-budget-usd`](https://code.claude.com/docs/pt/cli-reference) com `-p`, um [limite de gastos](https://code.claude.com/docs/pt/costs.md) que você definiu |

54| Quem tem a palavra final | O resumo do Claude sobre o que ele fez | Proteção de branch, uma pessoa que aprova o merge |

49 55 

50Cada etapa troca configuração por atenção. A versão de prompt funciona em qualquer tarefa hoje. As versões `/goal` e Stop hook são o que permite que uma execução desatendida termine corretamente sem você.56Na maioria das vezes, você quer que Claude decida. Quase toda diretriz tem exceções, e os modelos atuais são bons em ler o código à sua frente e julgar se uma diretriz se encaixa na situação. Com o código real à sua frente, Claude geralmente está em melhor posição para tomar essa decisão do que uma regra que você escreveu com antecedência.

51 57 

52Tenha Claude mostrar evidências em vez de afirmar sucesso: a saída do teste, o comando que executou e o que retornou, ou uma captura de tela do resultado. Revisar evidências é mais rápido do que executar novamente a verificação você mesmo, e funciona para sessões que você não estava observando.58O tipo determinístico é para quando você quer garantir que certas coisas *sempre* aconteçam (ou nunca aconteçam), não importa o que o modelo decida. Não precisa ser nada dramático. O modo auto já [bloqueia as coisas dramáticas](https://code.claude.com/docs/pt/permission-modes.md#what-the-classifier-blocks-by-default), como um deploy em produção ou um force push sobre o trabalho de alguém. Geralmente é algo específico do *seu* projeto, e pode ser tão específico quanto você quiser:

53 59 

54***60* Nunca edite o cliente gerado em `src/gen/`

61* Sempre execute o script de cabeçalho de licença depois de criar um arquivo

55 62 

56## Explore primeiro, depois planeje, depois codifique63Você poderia ter escrito qualquer uma dessas como uma linha no `CLAUDE.md` ou no seu prompt, e Claude a seguiria quase sempre. Mas não importa com que força você a formule, se Claude segue essa linha em um determinado turno ainda é decisão do Claude.

57 64 

58> [!TIP]65> [!TIP]

59>66>

60> Separe pesquisa e planejamento da implementação para evitar resolver o problema errado.67> Se você continua adicionando ênfase a uma linha do `CLAUDE.md` e Claude ainda a ignora, isso é sinal de que a linha pertence a um hook. O inverso também vale: se você tem hooks para coisas que são apenas preferências, exclua-os e deixe Claude decidir.

61 68 

62Deixar Claude pular direto para codificação pode produzir código que resolve o problema errado. Use [plan mode](https://code.claude.com/docs/pt/permission-modes.md#analyze-before-you-edit-with-plan-mode) para separar exploração de execução.69## Diga ao Claude o que ele não consegue ver

63 70 

64O fluxo de trabalho recomendado tem quatro fases:71> [!TIP]

72>

73> Escreva apenas o que Claude não consegue encontrar lendo o repositório, ou o que ele gastaria tempo redescobrindo a cada sessão.

65 74 

66**1. Explore**75Claude começa toda tarefa lendo seu código, e os modelos atuais são *muito* bons nisso. Eles encontram a estrutura de arquivos, suas convenções, seu framework de testes e como os componentes existentes são construídos, geralmente mais rápido do que você conseguiria explicar. Isso significa que Claude já sabe a maior parte do que você poderia ficar tentado a escrever para ele.

67 76 

68Entre em plan mode pressionando `Shift+Tab` até a barra de status mostrar `⏸ plan mode on`, ou inicie a sessão com `claude --permission-mode plan`. Claude lê arquivos e responde perguntas sem fazer alterações.77O que ele não consegue encontrar é a informação que nunca esteve no repositório:

69 78 

70```txt title="claude (plan mode)" wrap theme={null}79* Uma decisão que sua equipe tomou em uma reunião

71read /src/auth and understand how we handle sessions and login.80* Um processo de deploy que existe na cabeça de uma pessoa

72also look at how we manage environment variables for secrets.81* A variável de ambiente de que seus testes de integração precisam

73```

74 82 

75**2. Plan**83Também há informação que *está* no repositório, mas exige alguns minutos de investigação para ser encontrada, e Claude precisa refazer essa investigação no início de cada sessão.

76 84 

77Peça ao Claude para criar um plano de implementação detalhado.85Um bom teste antes de escrever qualquer coisa para Claude:

78 86 

79```txt title="claude (plan mode)" wrap theme={null}871. Ele conseguiria encontrar isso lendo o código?

80I want to add Google OAuth. What files need to change?882. Ele de fato iria procurar?

81What's the session flow? Create a plan.

82```

83 89 

84Pressione `Ctrl+G` para abrir o plano no seu editor de texto para edição direta antes de Claude prosseguir.90Se ambas as respostas forem sim, deixe de fora.

85 91 

86**3. Implement**92### Escreva um prompt específico

87 93 

88Saia de plan mode aprovando o plano ou pressionando `Shift+Tab`, depois deixe Claude codificar, verificando contra seu plano.94Um prompt específico ajuda pelo mesmo motivo, porque dá ao Claude informação que ele ainda não tem. Se você nomear o arquivo, descrever o sintoma e disser logo de início como é o "corrigido", geralmente você se poupa de uma rodada de correções depois.

89 95 

90```txt title="claude" wrap theme={null}96O mesmo vale para uma preferência entre duas abordagens razoáveis: Claude não consegue ler isso no código, então, se você se importa com qual ele escolhe, diga logo de início.

91implement the OAuth flow from your plan. write tests for the

92callback handler, run the test suite and fix any failures.

93```

94 97 

95**4. Commit**98| Em vez de | Tente |

99| :- | :- |

100| *"corrija o bug de login"* | *"usuários relatam que o login falha depois que a sessão expira. veja a atualização de token em src/auth/, escreva um teste que falha reproduzindo o problema, depois corrija"* |

101| *"adicione um widget de calendário"* | *"siga o padrão em HotDogWidget.php e construa um widget de calendário que permita escolher um mês e paginar entre anos. sem novas bibliotecas"* |

96 102 

97Peça ao Claude para fazer commit com uma mensagem descritiva e criar um PR.103Se você já tem o que Claude precisa, entregue em vez de descrever:

98 104 

99```txt title="claude" wrap theme={null}105* Um arquivo: digite `@` e o caminho para [incluir o conteúdo do arquivo](https://code.claude.com/docs/pt/common-workflows.md#reference-files-and-directories) na sua mensagem.

100commit with a descriptive message and open a PR106* Uma imagem: cole a captura de tela do design ou do erro no prompt.

101```107* Saída de comando: canalize a partir do seu shell com `cat error.log | claude -p "what's going on here"`.

102 108 

103Plan mode é útil, mas também adiciona sobrecarga.109Frases como `think step by step` ou `be thorough` são texto comum de prompt, e não palavras-chave. O principal controle de quão intensamente Claude pensa é o [nível de esforço](https://code.claude.com/docs/pt/model-config.md#adjust-effort-level), abordado em [Altere o modelo e o esforço](#change-the-model-and-effort). Formulações assim ainda podem dar um empurrão em Claude dentro da configuração de esforço, mas não o levam além dela.

104 110 

105Para tarefas onde o escopo é claro e a correção é pequena (como corrigir um erro de digitação, adicionar uma linha de log ou renomear uma variável) peça ao Claude para fazer isso diretamente.111Uma frase que ainda ajuda é `be ambitious`. Claude tende a interpretar um pedido de forma conservadora e construir a menor coisa que o satisfaça, já que não consegue ver o quanto você esperava. Quando você quiser a versão mais completa, com os casos extremos tratados e os desdobramentos naturais incluídos, diga isso:

106 112 

107O planejamento é mais útil quando você está incerto sobre a abordagem, quando a mudança modifica vários arquivos ou quando você não está familiarizado com o código sendo modificado. Se você pudesse descrever o diff em uma frase, pule o plano.113```text theme={null}

114build the settings page from the mockup. be ambitious: empty and error states, the save flow wired up, keyboard navigation, not just the layout

115```

108 116 

109***117Isso informa Claude sobre o escopo, que só você conhece, e não sobre o quanto pensar.

110 118 

111## Forneça contexto específico em seus prompts119E quando você está explorando em vez de corrigir algo específico, um prompt vago como `what would you improve in this file?` é perfeitamente aceitável. Você vai corrigir um pouco mais ao longo do caminho, e essa é a troca.

112 120 

113> [!TIP]121### Faça um brainstorming com Claude primeiro

114>

115> Quanto mais precisas suas instruções, menos correções você precisará.

116 122 

117Claude pode inferir intenção, mas não pode ler sua mente. Referencie arquivos específicos, mencione restrições e aponte para padrões de exemplo.123Quando você ainda não sabe exatamente o que quer, não precisa resolver tudo antes de escrever o prompt. Em vez disso, peça ao Claude para entrevistar você:

118 124 

119| Estratégia | Antes | Depois |125```text theme={null}

120| - | - | - |126I want to add rate limiting to the public API but haven't thought it through yet. Interview me until you could write the spec, then write it to SPEC.md.

121| **Escopo a tarefa.** Especifique qual arquivo, qual cenário e preferências de teste. | *"adicione testes para foo.py"* | *"escreva um teste para foo.py cobrindo o caso extremo onde o usuário está desconectado. evite mocks."* |127```

122| **Aponte para fontes.** Dirija Claude para a fonte que pode responder uma pergunta. | *"por que ExecutionFactory tem uma API tão estranha?"* | *"procure no histórico git do ExecutionFactory e resuma como sua API chegou a ser assim"* |

123| **Referencie padrões existentes.** Aponte Claude para padrões em seu codebase. | *"adicione um widget de calendário"* | *"veja como os widgets existentes são implementados na página inicial para entender os padrões. HotDogWidget.php é um bom exemplo. siga o padrão para implementar um novo widget de calendário que permite ao usuário selecionar um mês e paginar para frente/trás para escolher um ano. construa do zero sem bibliotecas além das já usadas no codebase."* |

124| **Descreva o sintoma.** Forneça o sintoma, a localização provável e como "corrigido" se parece. | *"corrija o bug de login"* | *"usuários relatam que o login falha após timeout de sessão. verifique o fluxo de autenticação em src/auth/, especialmente atualização de token. escreva um teste falhando que reproduz o problema, depois corrija-o"* |

125 128 

126Prompts vagos podem ser úteis quando você está explorando e pode se dar ao luxo de corrigir o curso. Um prompt como `"o que você melhoraria neste arquivo?"` pode revelar coisas que você não teria pensado em perguntar.129Claude volta com perguntas de múltipla escolha sobre as partes que você ainda não definiu: limites por usuário versus por chave, o que acontece com requisições acima do limite, o que está fora do escopo. Ele continua perguntando até que as respostas formem uma especificação.

127 130 

128### Forneça conteúdo rico131Depois que o `SPEC.md` existir, inicie uma sessão nova para construir a partir dele, para que a construção comece com um contexto limpo e uma definição escrita de concluído. Ele também é o arquivo para o qual você vai apontar o revisor mais tarde, em [Dê ao Claude uma verificação para executar](#give-claude-a-check-to-run).

129 132 

130> [!TIP]133### Mantenha o CLAUDE.md curto

131>

132> Use `@` para referenciar arquivos, cole capturas de tela/imagens ou canalize dados diretamente.

133 134 

134Você pode fornecer dados ricos ao Claude de várias maneiras:135O Claude Code carrega o [`CLAUDE.md`](https://code.claude.com/docs/pt/memory) em toda sessão, o que significa que cada linha nele ocupa um pouco da atenção do Claude em *toda* tarefa, seja relevante ou não. Por isso o arquivo funciona melhor quando contém apenas o que Claude não conseguiria deduzir a partir do próprio código:

135 136 

136* **Referencie arquivos com `@`** em vez de descrever onde o código vive. Claude lê o arquivo antes de responder.137* Como confirmar o trabalho neste repositório: os comandos exatos de teste, typecheck e lint, e como executar um único arquivo de teste

137* **Cole imagens diretamente**. Copie/cole ou arraste e solte imagens no prompt.138* Lugares onde o código engana: um padrão antigo que está em todo lugar, mas que código novo não deve copiar, ou um diretório que parece não usado, mas é

138* **Forneça URLs** para documentação e referências de API. Use `/permissions` para adicionar à allowlist domínios frequentemente usados.139* Decisões que não estão no repositório: qual helper de erro a equipe escolheu, como os deploys funcionam, o que precisa de revisão de migração

139* **Canalize dados** executando `cat error.log | claude -p "explain this error"` para enviar conteúdos de arquivo diretamente.140* Qualquer coisa que você já precisou corrigir duas vezes

140* **Deixe Claude buscar o que precisa**. Diga ao Claude para puxar contexto ele mesmo usando comandos Bash, ferramentas MCP ou lendo arquivos.

141 141 

142***142Um `CLAUDE.md` que passa nesse teste continua curto:

143 143 

144## Configure seu ambiente144```markdown CLAUDE.md theme={null}

145# Commands

146- Install: pnpm install

147- Run one test file: pnpm vitest run path/to/file.test.ts

148- Typecheck: pnpm tsc --noEmit

145 149 

146Alguns passos de configuração tornam Claude Code significativamente mais eficaz em todas as suas sessões. Para uma visão geral completa dos recursos de extensão e quando usar cada um, consulte [Extend Claude Code](https://code.claude.com/docs/pt/features-overview.md).150# Conventions

151- Use the error helpers in src/lib/errors.ts, never throw raw strings

152- src/legacy/ is still live but don't copy its patterns into new code

147 153 

148### Escreva um CLAUDE.md eficaz154# Gotchas

155- Integration tests need DATABASE_URL set, see .env.example

156```

149 157 

150> [!TIP]158Em uma sessão, execute `/context` para confirmar que Claude carregou o arquivo.

151>

152> Execute `/init` para gerar um arquivo CLAUDE.md inicial baseado na estrutura do seu projeto atual, depois refine ao longo do tempo.

153 159 

154CLAUDE.md é um arquivo especial que Claude lê no início de cada conversa. Inclua comandos Bash, estilo de código e regras de fluxo de trabalho. Isso dá ao Claude contexto persistente que ele não pode inferir apenas do código.160Observe que a linha de typecheck é apenas o comando. Claude precisa conhecer o comando para poder verificar o próprio trabalho à medida que avança. Se você também quiser que o Claude Code *imponha* um typecheck aprovado antes que Claude termine, isso é tarefa para um [hook `Stop`](#enforce-the-check-with-a-stop-hook). Uma linha como `Always typecheck before you finish` neste arquivo funciona na maioria das vezes, não em todas.

155 161 

156Não há formato obrigatório para arquivos CLAUDE.md, mas mantenha-o curto e legível para humanos. Por exemplo:162Você não precisa escrever o arquivo do zero:

157 163 

158```markdown CLAUDE.md theme={null}164* `/init` gera uma versão inicial a partir da sua base de código. A partir daí, o trabalho é principalmente remover linhas. O [guia de memória](https://code.claude.com/docs/pt/memory.md#write-effective-instructions) recomenda ficar abaixo de 200.

159# Code style165* `/doctor` sugere cortes para qualquer coisa que Claude [já consegue deduzir a partir do código](https://code.claude.com/docs/pt/memory.md#my-claude-md-is-too-large).

160- Use ES modules (import/export) syntax, not CommonJS (require)166* `/doctor prompt-audit` sinaliza instruções que foram escritas para modelos mais antigos, que apontam para arquivos que não existem mais ou que [se contradizem](https://code.claude.com/docs/pt/memory.md#audit-your-instruction-files).

161- Destructure imports when possible (eg. import { foo } from 'bar')

162 167 

163# Workflow168Suas preferências pessoais vão no `CLAUDE.local.md` em vez do `CLAUDE.md`, e você adiciona esse arquivo ao `.gitignore` para que ele fique fora do repositório.

164- Be sure to typecheck when you're done making a series of code changes

165- Prefer running single tests, and not the whole test suite, for performance

166```

167 169 

168Execute `/context` para confirmar que Claude carregou o arquivo. CLAUDE.md é carregado a cada sessão, então inclua apenas coisas que se aplicam amplamente. Para conhecimento de domínio ou fluxos de trabalho que são apenas relevantes às vezes, use [skills](https://code.claude.com/docs/pt/skills.md) em vez disso. Claude os carrega sob demanda sem inchar cada conversa.170> [!NOTE]

171>

172> Se Claude continua ignorando uma linha que *está* no `CLAUDE.md`, adicionar IMPORTANT provavelmente não vai resolver. Ou o arquivo cresceu tanto que a linha se perde, ou a linha é uma regra que não pode ter exceções e, nesse caso, pertence a um [hook](#enforce-the-rules-that-cant-have-exceptions).

169 173 

170Mantenha-o conciso. Para cada linha, pergunte: *"Remover isso causaria Claude cometer erros?"* Se não, corte. Arquivos CLAUDE.md inchados causam Claude ignorar suas instruções reais!174### Restrinja regras a uma parte da base de código

171 175 

172| ✅ Inclua | ❌ Exclua |176Se uma regra importa apenas em uma parte da base de código, coloque-a em [`.claude/rules/`](https://code.claude.com/docs/pt/memory#path-specific-rules) com um filtro `paths:` para que ela só seja carregada quando Claude estiver de fato trabalhando ali. Por exemplo, este `.claude/rules/api.md` é carregado para arquivos TypeScript em `src/api/`:

173| - | - |

174| Comandos Bash que Claude não pode adivinhar | Qualquer coisa que Claude possa descobrir lendo código |

175| Regras de estilo de código que diferem dos padrões | Convenções de linguagem padrão que Claude já conhece |

176| Instruções de teste e executores de teste preferidos | Documentação detalhada de API (link para docs em vez disso) |

177| Etiqueta de repositório (nomenclatura de branch, convenções de PR) | Informações que mudam frequentemente |

178| Decisões arquitetônicas específicas do seu projeto | Explicações longas ou tutoriais |

179| Peculiaridades do ambiente de desenvolvedor (variáveis env obrigatórias) | Descrições arquivo por arquivo do codebase |

180| Armadilhas comuns ou comportamentos não óbvios | Práticas auto-evidentes como "escreva código limpo" |

181 177 

182Se Claude continua fazendo algo que você não quer apesar de ter uma regra contra isso, o arquivo provavelmente é muito longo e a regra está sendo perdida. Se Claude faz perguntas que são respondidas em CLAUDE.md, a redação pode ser ambígua. Trate CLAUDE.md como código: revise-o quando as coisas dão errado, poda-o regularmente e teste mudanças observando se o comportamento do Claude realmente muda. Para um CLAUDE.md verificado, execute [`/doctor`](https://code.claude.com/docs/pt/commands#all-commands) e Claude propõe cortes para conteúdo que pode derivar do codebase.178```markdown .claude/rules/api.md theme={null}

179---

180paths:

181 - "src/api/**/*.ts"

182---

183- Validate request bodies with the zod schemas in src/api/schemas/, don't hand-roll checks

184- Every new endpoint needs an entry in openapi.yaml, CI fails without it

185```

183 186 

184Se Claude continua pulando uma instrução, adicione ênfase como "IMPORTANTE" apenas naquela linha. Se você enfatizar muitas linhas, nenhuma delas se destaca. Verifique CLAUDE.md no git para que sua equipe possa contribuir. O arquivo aumenta em valor ao longo do tempo.187### Coloque os procedimentos da equipe em skills

185 188 

186Arquivos CLAUDE.md podem importar arquivos adicionais usando a sintaxe `@path/to/import`. Para regras de importação e onde arquivos CLAUDE.md podem viver, consulte [CLAUDE.md files](https://code.claude.com/docs/pt/memory.md#claude-md-files).189Um modelo mais capaz sabe mais sobre engenharia, mas não sabe como a *sua* equipe faz um release, o que diz o seu runbook de incidentes ou como você quer que a documentação de API seja escrita. Esse tipo de conhecimento vai em uma [skill](https://code.claude.com/docs/pt/skills.md): um procedimento ou um conhecimento da equipe salvo em `.claude/skills/<name>/SKILL.md`.

187 190 

188### Configure permissões191Skills também pesam menos no contexto do que o `CLAUDE.md` para esse tipo de coisa. Para uma skill que Claude pode iniciar por conta própria, ele vê o nome e a descrição em toda sessão, mas só [lê o arquivo completo](https://code.claude.com/docs/pt/skills.md#skill-content-lifecycle) quando a tarefa exige. Um procedimento de release longo em uma skill não pesa na sua correção de bug não relacionada como pesaria no `CLAUDE.md`.

189 192 

190> [!TIP]193> [!NOTE]

191>194>

192> Para obter menos prompts sem abrir mão do controle, pré-aprove as ferramentas em que você confia com `/permissions` e deixe comandos em sandbox executarem sem perguntar com `/sandbox`. Mude para modo Manual quando quiser aprovar edições e comandos você mesmo.195> A regra do `CLAUDE.md` também se aplica às skills: escreva apenas o que Claude não consegue encontrar sozinho.

193 196 

194Com Claude Code v2.1.283 ou posterior, modo auto é o [modo de permissão inicial integrado](https://code.claude.com/docs/pt/permission-modes.md#eliminate-prompts-with-auto-mode) para sessões interativas de terminal e VS Code: um modelo classificador separado revisa a maioria das ações em vez de você e bloqueia apenas o que parece arriscado, como escalação de escopo, infraestrutura desconhecida ou ações impulsionadas por conteúdo hostil. Em versões anteriores, modo auto é o modo de permissão inicial integrado apenas em planos Pro, Max e Team.197Para um fluxo de trabalho com efeitos colaterais, como de fato fazer esse release, adicione `disable-model-invocation: true`. Claude então [não consegue iniciar a skill por conta própria](https://code.claude.com/docs/pt/skills.md#control-who-invokes-a-skill), e ela só é executada quando você mesmo digita `/release`. Salva como `.claude/skills/release/SKILL.md`, ela poderia ser assim:

195 198 

196No modo Manual, Claude Code pergunta antes de ações que podem modificar seu sistema: gravações de arquivo, comandos Bash, ferramentas MCP. Isso é seguro mas tedioso. Após a décima aprovação você está clicando sem revisar. Duas ferramentas cortam essas interrupções no modo Manual e se aplicam também no modo auto:199```markdown .claude/skills/release/SKILL.md theme={null}

200---

201name: release

202description: Cut a new release. Bumps the version, writes the changelog entry, tags it and pushes the tag so CI can publish.

203disable-model-invocation: true

204---

2051. Make sure you're on main with a clean tree. If not, stop and ask.

2062. Run `pnpm changeset version` and commit the result.

2073. Summarize the PRs merged since the last tag into CHANGELOG.md, one line each, user-facing changes only.

2084. Tag `v<new version>` and push the tag. CI publishes from there, never publish from your machine.

209```

197 210 

198* **Listas de permissões**: permita ferramentas específicas que você sabe que são seguras, como `npm run lint` ou `git commit`211### Conecte as ferramentas de que Claude precisa

199* **Sandboxing**: ative isolamento em nível de SO que restringe acesso ao sistema de arquivos e rede, permitindo Claude trabalhar mais livremente dentro de limites definidos

200 212 

201Leia mais sobre [permission modes](https://code.claude.com/docs/pt/permission-modes.md), [permission rules](https://code.claude.com/docs/pt/permissions.md) e [sandboxing](https://code.claude.com/docs/pt/sandboxing.md).213Parte do que Claude não consegue ver está inteiramente em outro sistema, como seu rastreador de issues ou seu painel de erros. Se esse sistema tem uma CLI, geralmente esse é o caminho mais fácil. Com o `gh` instalado e autenticado, por exemplo, Claude abre pull requests e lê comentários de revisão sem nenhuma explicação sua. Para uma CLI que ele nunca viu, apontá-lo para `--help` é suficiente.

202 214 

203### Use ferramentas CLI215Para sistemas sem CLI, existe o [MCP](https://code.claude.com/docs/pt/mcp.md). Você adiciona um servidor a partir do seu shell:

204 216 

205> [!TIP]217```bash theme={null}

206>218claude mcp add --transport http notion https://mcp.notion.com/mcp

207> Diga ao Claude Code para usar ferramentas CLI como `gh`, `aws`, `gcloud` e `sentry-cli` ao interagir com serviços externos.219```

220 

221O servidor então aparece em `/mcp` dentro de uma sessão. Servidores conectados adicionam os nomes de suas ferramentas e instruções ao contexto mesmo quando você não os está usando, então vale a pena [desativar ali os que você não precisa](https://code.claude.com/docs/pt/mcp.md#disable-a-server-without-removing-it).

222 

223E se você trabalha em uma linguagem tipada, um [plugin de inteligência de código](https://code.claude.com/docs/pt/plugins/code-intelligence.md) permite que Claude vá direto a uma definição em vez de ler vários arquivos para encontrá-la.

208 224 

209Ferramentas CLI são a forma mais eficiente em contexto de interagir com serviços externos. Se você usa GitHub, instale o CLI `gh`. Claude sabe como usá-lo para criar issues, abrir pull requests e ler comentários. Sem `gh`, Claude ainda pode usar a API do GitHub, mas requisições não autenticadas frequentemente atingem limites de taxa.225## Dê ao Claude uma verificação para executar

210 226 

211Claude também é eficaz em aprender ferramentas CLI que não conhece. Tente prompts como `Use 'foo-cli-tool --help' to learn about foo tool, then use it to solve A, B, C.`227Claude para quando o trabalho parece pronto. Se ele não tem nada para executar que diga se o trabalho de fato *está* pronto, "parece pronto" é tudo o que ele tem como base. Na prática, isso faz de você o conjunto de testes, e cada erro fica ali até que você por acaso o perceba.

212 228 

213### Conecte MCP servers229Se você der a ele algo que retorne sucesso ou falha, Claude pode fechar esse loop sozinho. Ele faz a alteração, executa a verificação e, se algo quebrou, lê a saída e corrige antes de executar a verificação de novo.

214 230 

215> [!TIP]231> [!TIP]

216>232>

217> Execute `claude mcp add` com um nome de servidor e URL ou comando para conectar ferramentas externas como Notion, Figma ou seu banco de dados. Por exemplo: `claude mcp add --transport http notion https://mcp.notion.com/mcp`.233> Dê ao Claude algo que ele possa executar e que retorne sucesso ou falha. Com isso, ele consegue seguir sozinho e você não precisa ficar observando.

218 234 

219Com [MCP servers](https://code.claude.com/docs/pt/mcp.md), você pode pedir ao Claude para implementar recursos de rastreadores de issues, consultar bancos de dados, analisar dados de monitoramento, integrar designs do Figma e automatizar fluxos de trabalho.235A verificação pode ser quase qualquer coisa, desde que Claude consiga ler o resultado:

220 236 

221### Configure hooks237* Um arquivo de teste

238* O código de saída de um build

239* Um linter

240* Um script que compara a saída com um fixture

241* Uma [captura de tela do navegador](https://code.claude.com/docs/pt/chrome.md) ao lado do mockup

222 242 

223> [!TIP]243Se seu repositório já tem uma dessas, a linha mais útil do seu `CLAUDE.md` é o comando que a executa.

224>

225> Use hooks para ações que devem acontecer toda vez com zero exceções.

226 244 

227[Hooks](https://code.claude.com/docs/pt/hooks-guide.md) executam scripts automaticamente em pontos específicos do fluxo de trabalho do Claude. Diferentemente de instruções CLAUDE.md que são consultivas, hooks são determinísticos e garantem que a ação aconteça.245O quão rigorosa você torna a verificação depende de você. As opções vão de Claude decidir por si mesmo até o Claude Code impor a verificação:

228 246 

229Claude pode escrever hooks para você. Tente prompts como *"Write a hook that runs eslint after every file edit"* ou *"Write a hook that blocks writes to the migrations folder."* Edite `.claude/settings.json` diretamente para configurar hooks manualmente, e execute `/hooks` para navegar o que está configurado.247* No prompt: `run the auth tests after, and keep going until they pass`. Claude decide por si mesmo quando está satisfeito. Isso funciona para qualquer tarefa, hoje, sem configuração.

248* Como meta: [`/goal all tests in tests/auth pass and lint is clean`](https://code.claude.com/docs/pt/goal) define uma condição que um modelo separado verifica em relação à conversa após cada turno, e Claude continua até que ela seja atendida. Raramente você precisa disso na sessão. Isso importa em execuções longas em segundo plano, nas quais Claude às vezes termina um turno com um resumo de progresso enquanto ainda há itens em aberto, e a meta o manda de volta ao trabalho.

249* Como um hook Stop: um [hook `Stop`](https://code.claude.com/docs/pt/hooks#stop) executa seu script sempre que Claude tenta encerrar o turno e manda Claude de volta ao trabalho se o script sair com código 2. Este é imposto pelo Claude Code (o harness), então o turno não termina até que o typecheck passe ou o [limite de bloqueios](https://code.claude.com/docs/pt/hooks.md#stop-input) seja atingido. Há um [exemplo mais abaixo](#enforce-the-check-with-a-stop-hook).

250* Por alguém que não escreveu o código: no terminal, [`/code-review`](https://code.claude.com/docs/pt/code-review-local) revisa o diff em um subagente novo que nunca viu sua conversa. Ele não é influenciado pelo raciocínio que produziu o código.

230 251 

231### Crie skills252Qualquer que seja a opção, peça ao Claude *evidências*: o comando que ele executou e a saída, ou a captura de tela. "Todos os testes passam", por si só, diz muito pouco, e ler a saída é mais rápido do que executar a verificação de novo você mesmo. Para uma sessão que você não estava observando, também é a única evidência que você tem.

232 253 

233> [!TIP]254> [!TIP]

234>255>

235> Crie arquivos `SKILL.md` em `.claude/skills/` para dar ao Claude conhecimento de domínio e fluxos de trabalho reutilizáveis.256> Depois que Claude disser que terminou, você também pode executar [`/verify`](https://code.claude.com/docs/pt/skills#run-and-verify-your-app) na sessão, o que faz Claude compilar e executar o aplicativo e olhar o resultado. Isso detecta o tipo de problema que testes e typechecks deixam passar.

236 257 

237[Skills](https://code.claude.com/docs/pt/skills.md) estendem o conhecimento do Claude com informações específicas do seu projeto, equipe ou domínio. Claude as aplica automaticamente quando relevante, ou você pode invocá-las diretamente com `/skill-name`.258### Revise em relação à sua especificação

238 259 

239Crie uma skill adicionando um diretório com um `SKILL.md` para `.claude/skills/`:260Se você prefere que a revisão verifique o trabalho em relação ao seu plano em vez de procurar bugs em geral, escreva você mesmo o prompt de revisão:

240 261 

241```markdown .claude/skills/api-conventions/SKILL.md theme={null}262```text theme={null}

242name: api-conventions263use a subagent to review the rate limiter diff against SPEC.md, check every requirement is implemented and the listed edge cases have tests, report gaps that affect correctness and skip style

243description: REST API design conventions for our services

244# API Conventions

245- Use kebab-case for URL paths

246- Use camelCase for JSON properties

247- Always include pagination for list endpoints

248- Version APIs in the URL path (/v1/, /v2/)

249```264```

250 265 

251Skills também podem definir fluxos de trabalho reutilizáveis que você invoca diretamente:266> [!NOTE]

252 267>

253```markdown .claude/skills/fix-issue/SKILL.md theme={null}268> Não remova a parte `skip style` desse prompt. Um revisor a quem se pede para encontrar problemas sempre vai encontrar *alguma coisa*. Se você corrigir cada apontamento, acaba com camadas extras de abstração e testes para casos que não podem acontecer.

254name: fix-issue269 

255description: Fix a GitHub issue270### Imponha a verificação com um hook Stop

256disable-model-invocation: true271 

257Analyze and fix the GitHub issue: $ARGUMENTS.272A versão em hook `Stop` da regra de typecheck são algumas linhas em `.claude/settings.json`. O código de saída 2 é o que bloqueia a parada. O que quer que o comando imprima no stderr volta para Claude como o motivo pelo qual ele ainda não pode terminar, e é por isso que a saída do compilador é redirecionada para lá:

258 273 

2591. Use `gh issue view` to get the issue details274```json .claude/settings.json theme={null}

2602. Understand the problem described in the issue275{

2613. Search the codebase for relevant files276 "hooks": {

2624. Implement the necessary changes to fix the issue277 "Stop": [

2635. Write and run tests to verify the fix278 {

2646. Ensure code passes linting and type checking279 "hooks": [

2657. Create a descriptive commit message280 { "type": "command", "command": "pnpm tsc --noEmit 1>&2 || exit 2" }

2668. Push and create a PR281 ]

282 }

283 ]

284 }

285}

267```286```

268 287 

269Execute `/fix-issue 1234` para invocá-la. Use `disable-model-invocation: true` para fluxos de trabalho com efeitos colaterais que você quer disparar manualmente.288Para ver funcionando, peça ao Claude uma alteração que quebre um tipo: em vez de terminar, ele recebe de volta os erros do compilador e continua até que o `tsc` passe. Se o hook bloquear [oito paradas seguidas](https://code.claude.com/docs/pt/hooks.md#stop-input) sem nenhuma chamada de ferramenta entre elas, o Claude Code sobrescreve o próximo bloqueio e encerra o turno. Para aumentar o limite, defina [`CLAUDE_CODE_STOP_HOOK_BLOCK_CAP`](https://code.claude.com/docs/pt/env-vars).

270 289 

271### Crie subagents personalizados290## Imponha as regras que não podem ter exceções

272 291 

273> [!TIP]292> [!TIP]

274>293>

275> Defina assistentes especializados em `.claude/agents/` que Claude pode delegar para tarefas isoladas.294> Se algo precisa acontecer sempre, transforme em um hook, uma regra deny ou uma configuração gerenciada. O `CLAUDE.md` é para diretrizes, e Claude pode decidir que uma diretriz não se aplica.

276 295 

277[Subagents](https://code.claude.com/docs/pt/sub-agents.md) executam em seu próprio contexto com seu próprio conjunto de ferramentas permitidas. Eles são úteis para tarefas que leem muitos arquivos ou precisam de foco especializado sem poluir sua conversa principal.296Pense em três regras que você talvez tenha no `CLAUDE.md` hoje: `Never read .env`, `Always run the formatter after editing`, `Don't touch the migrations folder`. Claude vai segui-las quase sempre. Para as poucas em que "quase" não é suficiente, tire-as do `CLAUDE.md` e coloque-as em uma configuração que o próprio Claude Code (o harness) aplica. A partir daí, o resultado não depende do que o modelo lembra ou decide.

278 297 

279```markdown .claude/agents/security-reviewer.md theme={null}298### Imponha etapas com hooks

280name: security-reviewer299 

281description: Reviews code for security vulnerabilities300[Hooks](https://code.claude.com/docs/pt/hooks-guide.md) executam algo seu em pontos fixos do loop do Claude: antes ou depois de uma chamada de ferramenta, quando Claude tenta parar, quando uma sessão começa e assim por diante. Esse algo pode ser:

282tools: Read, Grep, Glob, Bash301 

283model: opus302* Um comando de shell (o caso mais comum)

284You are a senior security engineer. Review code for:303* Um POST para um endpoint HTTP

285- Injection vulnerabilities (SQL, XSS, command injection)304* Uma chamada de ferramenta em um dos seus servidores MCP

286- Authentication and authorization flaws305* Um [hook `prompt` ou `agent`](https://code.claude.com/docs/pt/hooks#hook-handler-fields), que deixa um modelo decidir

287- Secrets or credentials in code306 

288- Insecure data handling307Um hook `prompt` ou `agent` pede a *outro modelo* que decida, então também não é determinístico. Para imposição real, use um hook `command` ou `http` e adicione [`onFailure: "block"`](https://code.claude.com/docs/pt/hooks#block-the-action-when-a-hook-fails) se a ação também deve ser interrompida quando o próprio hook falhar ou atingir o tempo limite. Para um hook que verifica commits em busca de segredos, por exemplo, é melhor bloquear o commit do que deixá-lo passar sem verificação enquanto o scanner está fora do ar.

308 

309Aqui está a regra do formatador como um hook `PostToolUse`. Ele é executado após cada `Edit` ou `Write`, e se Claude se lembra da regra deixa de importar, porque não é Claude quem a executa:

289 310 

290Provide specific line references and suggested fixes.311```json .claude/settings.json theme={null}

312{

313 "hooks": {

314 "PostToolUse": [

315 {

316 "matcher": "Edit|Write",

317 "hooks": [

318 { "type": "command", "command": "npx prettier --write --ignore-unknown \"$(jq -r '.tool_input.file_path')\"" }

319 ]

320 }

321 ]

322 }

323}

291```324```

292 325 

293Diga ao Claude para usar subagents explicitamente: *"Use a subagent to review this code for security issues."*326Para verificar o hook, peça ao Claude para adicionar uma linha mal indentada a um arquivo que o Prettier formata. O arquivo salvo volta com a indentação corrigida.

294 327 

295### Instale plugins328A regra de migrações se torna um [hook `PreToolUse`](https://code.claude.com/docs/pt/hooks-guide#block-edits-to-protected-files) que sai com código 2 para qualquer caminho em `migrations/`. Você não precisa escrevê-lo: `write a hook that blocks edits to the migrations folder` funciona como prompt, e `/hooks` mostra o resultado. Mas não exagere: um hook é para uma regra com *zero* exceções, e `Prefer named exports` tem muitas, então essa fica no `CLAUDE.md`.

296 329 

297> [!TIP]330### Limite o acesso com regras de permissão e o sandbox

298>

299> Execute `/plugin` para navegar no marketplace. Plugins adicionam skills, ferramentas e integrações sem configuração.

300 331 

301[Plugins](https://code.claude.com/docs/pt/plugins/overview.md) agrupam skills, hooks, subagents e MCP servers em uma única unidade instalável da comunidade e Anthropic. Se você trabalha com uma linguagem tipada, instale um [code intelligence plugin](https://code.claude.com/docs/pt/plugins/code-intelligence.md) para dar ao Claude navegação de símbolo precisa e detecção automática de erros após edições.332[Regras de permissão](https://code.claude.com/docs/pt/permissions.md) decidem o que Claude pode executar, ler e buscar. Regras `deny` valem em todos os modos de permissão, incluindo auto e `bypassPermissions`, e é exatamente por isso que a regra do `.env` pertence a esse lugar:

302 333 

303Para orientação sobre escolher entre skills, subagents, hooks e MCP, consulte [Extend Claude Code](https://code.claude.com/docs/pt/features-overview.md#match-features-to-your-goal).334```json .claude/settings.json theme={null}

335{

336 "permissions": {

337 "allow": ["Bash(pnpm tsc --noEmit)"],

338 "ask": ["Bash(git push *)"],

339 "deny": ["Read(./.env)", "Read(./.env.local)", "Read(./secrets/**)"]

340 }

341}

342```

304 343 

305***344Com isso salvo, perguntar ao Claude o que há no `.env` falha, tanto pela ferramenta `Read` quanto por `cat .env`.

306 345 

307## Comunique-se efetivamente346Regras correspondem a chamadas de ferramenta, não a intenções, então vale a pena saber onde estão os limites:

308 347 

309Faça ao Claude as perguntas que faria a outro engenheiro, e para recursos maiores deixe Claude entrevistá-lo e escrever uma especificação antes de começar a implementar.348* A regra `Read` *pega* `cat .env`, porque o Claude Code reconhece os [comandos comuns de leitura de arquivos](https://code.claude.com/docs/pt/permissions.md#read-and-edit).

349* Ela não pega um script que abre o arquivo.

350* Uma regra deny de `WebFetch` para um domínio não faz nada quanto a um `curl` para esse mesmo domínio, a menos que o sandbox esteja ativado.

310 351 

311### Faça perguntas sobre o codebase352Para um limite em nível de sistema operacional sobre acesso ao sistema de arquivos ou à rede, ative o [sandbox](https://code.claude.com/docs/pt/sandboxing.md) com `/sandbox` em uma sessão. Ele confina os comandos de shell do Claude no macOS, Linux e WSL2 e [também aplica suas regras deny de `Read` e regras `WebFetch(domain:...)`](https://code.claude.com/docs/pt/sandboxing#permission-rules), então, para qualquer coisa relacionada a segurança, você quer os dois.

312 353 

313> [!TIP]354Por padrão, Claude ainda pode pedir para tentar novamente um comando bloqueado fora do sandbox, e esse pedido passa pelo fluxo normal de permissão. O [modo estrito do sandbox](https://code.claude.com/docs/pt/sandboxing.md#turn-off-the-retry-with-strict-sandbox-mode), na aba **Overrides** do `/sandbox`, desativa essa nova tentativa.

355 

356> [!WARNING]

314>357>

315> Faça ao Claude perguntas que você faria a um engenheiro sênior.358> O modo auto é um modelo classificador julgando cada ação, e não uma regra rígida. Ele é bom nisso, mas, como qualquer julgamento, pode errar. Você também pode ajustar o que ele considera arriscado, e sua organização pode desativá-lo completamente, então suas regras de "nunca" pertencem a regras deny ou hooks.

359 

360### Escolha a quem uma regra se aplica

316 361 

317Ao se integrar a um novo codebase, use Claude Code para aprendizado e exploração. Você pode fazer ao Claude o mesmo tipo de perguntas que faria a outro engenheiro:362O lugar onde uma regra fica decide a quem ela se aplica:

318 363 

319* Como funciona o logging?364* `.claude/settings.local.json` e `~/.claude/settings.json` são só seus. Quando você seleciona **Yes, and don't ask again** para um comando, o Claude Code salva essa regra no arquivo local.

320* Como faço um novo endpoint de API?365* `.claude/settings.json` e os hooks nele pertencem ao repositório. Depois que você faz commit deles, eles se aplicam a todos que trabalham no repositório. As regras deny dele se aplicam imediatamente. As regras `allow` dele esperam até que cada pessoa aceite o [diálogo de confiança](https://code.claude.com/docs/pt/permissions.md#what-runs-before-you-trust-a-folder) daquela pasta, e a [confiança do workspace](https://code.claude.com/docs/pt/hooks.md#workspace-trust) também decide quando os hooks dele começam a ser executados na máquina de cada pessoa.

321* O que `async move { ... }` faz na linha 134 de `foo.rs`?366* [Configurações gerenciadas](https://code.claude.com/docs/pt/managed-settings.md) pertencem à organização. Elas vêm do console de administração, de MDM ou de um arquivo `managed-settings.json`, e nenhum arquivo de configurações pessoal pode sobrescrevê-las, o que as torna o único lugar para a política de uma equipe de segurança. Se você é a pessoa que as define, consulte [Configure o Claude Code para sua organização](https://code.claude.com/docs/pt/admin-setup.md).

322* Quais casos extremos `CustomerOnboardingFlowImpl` trata?

323* Por que este código chama `foo()` em vez de `bar()` na linha 333?

324 367 

325Usar Claude Code dessa forma é um fluxo de trabalho de integração eficaz, melhorando o tempo de ramp-up e reduzindo carga em outros engenheiros. Nenhum prompt especial necessário: faça perguntas diretamente.368Qualquer que seja o escopo, mantenha pequeno o conjunto imposto. Todo hook e toda regra deny ocasionalmente vão disparar quando não deveriam, e alguém precisa manter cada um. Se algum dia você se vir com quarenta deles, a maioria provavelmente são preferências que Claude poderia ter ponderado sozinho.

326 369 

327### Deixe Claude entrevistá-lo370## Altere um padrão

328 371 

329> [!TIP]372> [!TIP]

330>373>

331> Para recursos maiores, deixe Claude entrevistá-lo primeiro. Comece com um prompt mínimo e peça ao Claude para entrevistá-lo usando a ferramenta `AskUserQuestion`.374> Os padrões são bons o suficiente para serem deixados como estão até que uma tarefa custe mais tempo, tokens ou interrupções do que deveria. Quando isso acontecer, execute `/usage` na sessão para ver para onde foi.

332 375 

333Claude pergunta sobre coisas que você pode não ter considerado ainda, incluindo implementação técnica, UI/UX, casos extremos e tradeoffs. Substitua `[brief description]` pela sua funcionalidade antes de enviar o prompt.376Uma sessão nova já toma algumas decisões por você:

334 377 

335```text wrap theme={null}378* Sessões interativas de terminal e VS Code começam no modo auto.

336I want to build [brief description]. Interview me in detail using the AskUserQuestion tool.379* Ela executa o [Claude Opus 5.5 com esforço médio](https://code.claude.com/docs/pt/model-config.md#default-model-setting) na maioria dos planos e provedores.

380* Ela delega trabalho a subagentes quando vê motivo para isso.

381* Ela compacta a conversa à medida que cresce.

337 382 

338Ask about technical implementation, UI/UX, edge cases, concerns, and tradeoffs. Don't ask obvious questions, dig into the hard parts I might not have considered.383Na maior parte do tempo você nunca pensa nisso. Quando uma tarefa custa mais do que deveria, um desses quatro geralmente é o motivo.

339 384 

340Keep interviewing until we've covered everything, then write a complete spec to SPEC.md.385### Altere o modo de permissão

341```

342 386 

343Uma vez que o spec está completo, comece uma nova sessão para executá-lo. A nova sessão tem contexto limpo focado inteiramente em implementação, e você tem um spec escrito para referenciar.387As duas extremidades da faixa de permissões têm um custo:

344 388 

345Os specs mais úteis são autossuficientes: eles nomeiam os arquivos e interfaces envolvidos, declaram o que está fora do escopo, e terminam com uma etapa de verificação de ponta a ponta que prova que o recurso funciona. O tempo gasto tornando o spec preciso compensa mais do que o tempo gasto observando a implementação.389* **Modo Manual**: você mesmo aprova cada edição e cada comando que não seja somente leitura. É seguro, mas depois do décimo prompt você começa a aprovar sem ler, e nada avança enquanto você está longe do teclado.

390* **`bypassPermissions`**: aprova tudo o que suas regras deny e ask não cobrem, o que só faz sentido em um contêiner descartável.

346 391 

347***392O [modo auto](https://code.claude.com/docs/pt/permission-modes.md#eliminate-prompts-with-auto-mode) fica entre os dois, e é nele que as sessões interativas de terminal e VS Code [começam](https://code.claude.com/docs/pt/permission-modes.md#which-mode-a-session-starts-in). Claude trabalha sem parar para aprovações rotineiras, e um modelo classificador separado verifica as ações em [uma ordem fixa](https://code.claude.com/docs/pt/permission-modes.md#how-the-classifier-evaluates-actions) antes que sejam executadas. Ele se concentra [nas coisas que você gostaria que uma pessoa interrompesse](https://code.claude.com/docs/pt/permission-modes.md#what-the-classifier-blocks-by-default):

348 393 

349## Gerencie sua sessão394* `curl | bash`

395* Deploys e migrações em produção

396* Force pushes sobre o trabalho de outras pessoas

397* Dados sensíveis enviados a endpoints externos

398* Ações que parecem guiadas por conteúdo que Claude leu e não por você

350 399 

351Conversas são persistentes e reversíveis. Use isso a seu favor!400Quando ele bloqueia algo, você recebe uma notificação e a ação aparece em **Recently denied** no `/permissions`, onde você pode tentar novamente com uma aprovação manual. Após [três bloqueios seguidos](https://code.claude.com/docs/pt/permission-modes.md#when-auto-mode-falls-back) (ou vinte no total), o modo auto pausa e volta a perguntar a você.

352 401 

353### Corrija o curso cedo e frequentemente402Nada disso substitui seus controles determinísticos, porque ele é executado *depois* deles. Regras deny e ask e hooks `PreToolUse` se aplicam antes que o classificador veja qualquer coisa, então uma regra deny bloqueia no modo auto exatamente como em qualquer outro lugar. O sandbox ainda confina os [comandos de shell que ele envolve](https://code.claude.com/docs/pt/sandboxing.md#what-runs-outside-the-sandbox).

354 403 

355> [!TIP]404> [!NOTE]

356>405>

357> Corrija Claude assim que notar que está saindo do caminho.406> Você também pode dizer `don't push until I've reviewed` na conversa, e o classificador [trata isso como um sinal de bloqueio](https://code.claude.com/docs/pt/permission-modes.md#boundaries-you-state-in-conversation). Ainda assim é um modelo lendo a transcrição, e a frase pode se perder quando a conversa é compactada, então qualquer coisa importante pertence a uma regra deny.

407 

408O problema oposto é o classificador interromper repetidamente algo que é rotineiro no seu ambiente. Em vez de aprovar manualmente toda vez, adicione isso a `autoMode.allow` ou descreva sua infraestrutura confiável na [configuração do modo auto](https://code.claude.com/docs/pt/auto-mode-config.md). Ela é escrita em inglês simples em vez de padrões, e [`/auto-mode-setup`](https://code.claude.com/docs/pt/auto-mode-config#generate-environment-entries) pode redigir a parte `environment` para você a partir do seu projeto e das sessões recentes:

409 

410```json ~/.claude/settings.json theme={null}

411{

412 "autoMode": {

413 "environment": [

414 "$defaults",

415 "Source control: github.com/example-org and every repo under it",

416 "Trusted internal domains: *.internal.example.com"

417 ],

418 "allow": [

419 "$defaults",

420 "Deploying to the staging namespace is fine, it's isolated from production and resets nightly"

421 ]

422 }

423}

424```

358 425 

359Os melhores resultados vêm de loops de feedback apertados. Embora Claude ocasionalmente resolva problemas perfeitamente na primeira tentativa, corrigi-lo rapidamente geralmente produz melhores soluções mais rápido.426> [!WARNING]

427>

428> Mantenha `"$defaults"` em todas as listas que você definir, porque sem ele suas entradas *substituem* as regras integradas daquela lista em vez de se somarem a elas. Para `environment` e `allow`, você perderia o contexto e as exceções integrados, e uma lista `soft_deny` sem ele descarta os bloqueios integrados de force pushes e deploys em produção.

429>

430> O bloco `autoMode` também precisa ficar em `~/.claude/settings.json` e não no projeto, porque o classificador ignora `autoMode` nas configurações do projeto.

360 431 

361* **`Esc`**: pare Claude no meio da ação com a tecla `Esc`. O contexto é preservado, então você pode redirecionar.432Se você prefere ver cada edição e comando antes que aconteçam, `Shift+Tab` na sessão alterna entre os modos de permissão, incluindo o Manual, ou comece com `claude --permission-mode manual` a partir do seu shell. E se o Manual passar a perguntar com muita frequência, `/fewer-permission-prompts` examina suas transcrições recentes em busca de chamadas Bash e MCP somente leitura comuns e as adiciona a uma allowlist em `.claude/settings.json`.

362* **`Esc + Esc` ou `/rewind`**: pressione `Esc` duas vezes ou execute `/rewind` para abrir o menu de rewind e restaurar conversa e estado de código anterior, ou resumir a partir de uma mensagem selecionada.

363* **`"Undo that"`**: peça ao Claude para reverter suas alterações.

364* **`/clear`**: redefina contexto entre tarefas não relacionadas. Sessões longas com contexto irrelevante podem reduzir desempenho.

365 433 

366Se você corrigiu Claude mais de duas vezes no mesmo problema em uma sessão, o contexto está poluído com abordagens falhadas. Execute `/clear` e comece de novo com um prompt mais específico que incorpore o que você aprendeu. Uma sessão limpa com um prompt melhor quase sempre supera uma sessão longa com correções acumuladas.434### Altere o modelo e o esforço

367 435 

368### Gerencie contexto agressivamente436O [esforço](https://code.claude.com/docs/pt/model-config.md#adjust-effort-level) é o principal controle de quanto tempo Claude pensa, e substitui a maior parte do que as pessoas costumavam fazer com a formulação do prompt. Claude Opus 5.5, Sonnet 5.5 e Haiku 5.5 usam `medium` por padrão, o que é bastante para trabalho cotidiano de funcionalidades com escopo claro. As situações em que você o mudaria, com `/effort` na sessão:

369 437 

370> [!TIP]438* Aumente com `/effort high` ou `/effort xhigh` quando acertar depende de casos fáceis de passar despercebidos. Pense em um bug em código que você não escreveu, um teste instável ou uma mudança de esquema em que Claude precisa encontrar todos os leitores do formato antigo. Claude então verifica mais casos extremos e valida mais do próprio trabalho antes de responder, e é aí que vão o tempo e os tokens extras.

371>439* Diminua com `/effort low` quando você estiver indo e voltando rapidamente e revisando cada resultado de qualquer forma: brainstorming, um primeiro esboço, uma renomeação em alguns arquivos. Claude entrega um ponto de partida mais cedo e, como você está guiando cada passo, a deliberação extra não mudaria muito além da espera.

372> Execute `/clear` entre tarefas não relacionadas para redefinir contexto.440* Reserve `max` para um problema difícil que você quer que Claude resolva sem você, como caçar uma vulnerabilidade de segurança. Em tarefas comuns ele tende a pensar demais, então você paga mais por uma resposta que pode não ser melhor do que `high` teria dado.

441* Quando só a próxima mensagem precisa disso, como uma pergunta complicada no meio de um trabalho de resto rotineiro, coloque [`ultrathink`](https://code.claude.com/docs/pt/model-config#use-ultrathink-for-one-off-deep-reasoning) nesse prompt em vez de alterar a configuração.

373 442 

374Claude Code compacta automaticamente o histórico de conversa quando você se aproxima dos limites de contexto, o que preserva código e decisões importantes enquanto libera espaço.443Quanto ao modelo em si, o Opus 5.5 padrão lida bem com a maior parte da programação e o Sonnet custa menos em trabalho rotineiro. O [Claude Fable 5.1](https://code.claude.com/docs/pt/model-config.md#work-with-fable) está disponível quando você o seleciona explicitamente com `/model fable`, e o Haiku é uma boa opção para subagentes que fazem tarefas simples. [Configuração de modelo](https://code.claude.com/docs/pt/model-config.md) tem a lista completa por plano e provedor.

375 444 

376Durante sessões longas, a janela de contexto do Claude pode se encher com conversa irrelevante, conteúdos de arquivo e comandos. Isso pode reduzir desempenho e às vezes distrair Claude.445### Saiba quanto custam os subagentes

377 446 

378* Use `/clear` frequentemente entre tarefas para redefinir a janela de contexto inteiramente447Claude delega a [subagentes](https://code.claude.com/docs/pt/sub-agents.md) por conta própria:

379* Quando auto compaction dispara, Claude resume o que importa mais, incluindo padrões de código, estados de arquivo e decisões-chave

380* Para mais controle, execute `/compact <instructions>`, como `/compact Focus on the API changes`

381* Para compactar apenas parte da conversa, use `Esc + Esc` ou `/rewind`, selecione um checkpoint de mensagem e escolha **Summarize from here** ou **Summarize up to here**. O primeiro condensa mensagens daquele ponto em diante enquanto mantém contexto anterior intacto; o segundo condensa mensagens anteriores enquanto mantém as recentes em cheio. Veja [o menu de rewind com opções de sumarização](https://code.claude.com/docs/pt/checkpointing.md#rewind-and-summarize).

382* Customize comportamento de compaction em CLAUDE.md com instruções como `"When compacting, always preserve the full list of modified files and any test commands"` para garantir que contexto crítico sobreviva à sumarização

383* Para perguntas que não precisam ficar em contexto, use [`/btw`](https://code.claude.com/docs/pt/interactive-mode#side-questions-with-%2Fbtw). A resposta nunca entra no histórico de conversa, então você pode verificar um detalhe sem crescer contexto.

384 448 

385### Use subagents para investigação449* Buscas amplas na base de código vão para o agente Explore integrado.

450* Tarefas paralelas são [bifurcadas](https://code.claude.com/docs/pt/sub-agents.md#fork-the-current-conversation) enquanto o modo fork está ativado (o padrão).

451* Os subagentes que ele inicia são executados em segundo plano por padrão, então sua conversa principal continua avançando.

386 452 

387> [!TIP]453Raramente você precisa pedir qualquer coisa disso, mas ajuda saber o que você está recebendo e quanto custa.

388>

389> Delegue pesquisa com `"use subagents to investigate X"`. Eles exploram em um contexto separado, mantendo sua conversa principal limpa para implementação.

390 454 

391Como contexto é sua restrição fundamental, use subagents para manter pesquisa fora dele. Quando Claude pesquisa um codebase ele lê muitos arquivos, todos os quais consomem seu contexto. Subagents executam em janelas de contexto separadas e relatam resumos:455Subagentes compensam nestas situações:

392 456 

393```text wrap theme={null}457* Executar partes independentes do trabalho ao mesmo tempo, para que a tarefa inteira termine mais cedo

394Use subagents to investigate how our authentication system handles token458* Manter saídas longas, como uma execução completa de testes ou uma busca ampla, fora da sua conversa principal, onde de outra forma seriam carregadas pelo resto da sessão

395refresh, and whether we have any existing OAuth utilities I should reuse.459* Obter um revisor que não viu como o código foi escrito

396```460* Dar a uma tarefa menos ferramentas do que a sessão principal tem, como um revisor que pode ler, mas não editar

397 461 

398Você também pode usar subagents para verificação após Claude implementar algo. Veja [Adicione uma etapa de revisão adversarial](#add-an-adversarial-review-step).462O que eles custam é principalmente tokens, já que cada subagente envia as próprias requisições e elas contam no mesmo uso da sua conversa principal. Às vezes também custa tempo: um subagente novo primeiro precisa reunir contexto que sua conversa já tinha, então pode acabar sendo *mais lento* do que fazer a tarefa onde você está.

399 463 

400### Rewind com checkpoints464E, por padrão, é o mesmo modelo (ou um menor) na mesma tarefa. Você ganha paralelismo ou um novo par de olhos, mas não uma resposta mais inteligente.

401 465 

402> [!TIP]466Para gastar menos com eles:

403>

404> Cada prompt que você envia que inicia um turno cria um checkpoint. Você pode restaurar conversa, código ou ambos para qualquer checkpoint anterior.

405 467 

406Claude automaticamente faz snapshots de arquivos antes de cada mudança para que um checkpoint possa restaurá-los. Pressione Escape duas vezes ou execute `/rewind` para abrir o menu de rewind. Você pode restaurar apenas conversa, restaurar apenas código, restaurar ambos ou resumir a partir de uma mensagem selecionada. Veja [Checkpointing](https://code.claude.com/docs/pt/checkpointing.md) para detalhes.468* Defina [`model: haiku`](https://code.claude.com/docs/pt/sub-agents#choose-a-model) na definição de um subagente se o trabalho dele for simples, como coletar os arquivos que importam um módulo ou verificar links na documentação. Esse tipo de tarefa não precisa do modelo maior, e o Haiku custa muito menos por requisição.

469* Peça resumos curtos de volta, para que vinte resultados não encham seu contexto de qualquer forma.

470* Verifique `/usage` para ver qual parcela do seu uso cada tipo de subagente consome, para saber quais estão valendo o custo.

471* Dê a um subagente personalizado em `.claude/agents/` apenas `tools: Read, Grep, Glob`. Agora ele é um revisor que não consegue editar nada, e esse limite é imposto pelo Claude Code em vez de solicitado em um prompt.

407 472 

408Em vez de planejar cuidadosamente cada movimento, você pode dizer ao Claude para tentar algo arriscado. Se não funcionar, rewind e tente uma abordagem diferente. Checkpoints são salvos com a conversa, então você pode fechar seu terminal, retomar a sessão depois e ainda fazer rewind.473Esse revisor é um arquivo curto, `.claude/agents/reviewer.md`:

409 474 

410> [!WARNING]475```markdown .claude/agents/reviewer.md theme={null}

411>476---

412> Checkpoints apenas rastreiam mudanças feitas através das ferramentas de edição de arquivo do Claude. Mudanças feitas através de comandos Bash ou processos externos não são capturadas. Isso não é um substituto para git.477name: reviewer

478description: Reviews changed files against the spec they were built from. Use after implementing a feature, before opening the PR.

479tools: Read, Grep, Glob

480---

481You're reviewing code you didn't write. Compare the changed files against the spec you're given,

482check that every requirement is implemented and the listed edge cases have tests,

483and report only the gaps that affect correctness. Skip style.

484```

413 485 

414### Retome conversas486Peça ao Claude para `have the reviewer compare the rate limiter against SPEC.md` e as lacunas voltam para sua sessão, onde Claude pode corrigi-las.

415 487 

416> [!TIP]488### Reduza custo e contexto

417>

418> Nomeie sessões com `/rename` e trate-as como branches: cada fluxo de trabalho obtém seu próprio contexto persistente.

419 489 

420Claude Code salva conversas localmente, então quando uma tarefa abrange múltiplas sessões você não tem que re-explicar o contexto. Execute [`claude --continue`](https://code.claude.com/docs/pt/sessions#resume-a-session) para continuar de onde parou, ou `claude --resume` para escolher de uma lista. Dê às sessões nomes descritivos como `oauth-migration` para que você possa encontrá-las depois. Veja [Gerencie sessões](https://code.claude.com/docs/pt/sessions.md) para o conjunto completo de controles de resume, branch e nomeação.490Com uma janela de 1M de tokens na maioria dos modelos atuais e a compactação perto do topo dela, raramente você vai ficar sem contexto. Ainda assim, você pode *pagar* por contexto de que não precisa. Cada requisição envia a conversa inteira, então uma sessão que acumulou três tarefas não relacionadas relê as três em cada turno da quarta. Isso tem [desconto enquanto o cache está quente](https://code.claude.com/docs/pt/costs.md#why-usage-climbs-in-a-long-session) e preço cheio depois que ele expira.

421 491 

422***492[`/usage`](https://code.claude.com/docs/pt/costs) é o primeiro lugar para olhar. No Pro, Max, Team e Enterprise, ele detalha seu uso por skill, subagente, plugin e servidor MCP. Ele também sinaliza padrões como contexto longo ou falhas frequentes de cache quando um deles passa de 10% do seu uso. A partir daí, as correções habituais:

423 493 

424## Automatize e dimensione494* `/clear` entre tarefas não relacionadas. Não custa nada e significa que a próxima tarefa não continua pagando pelo histórico da anterior. `/clear oauth-migration` dá nome à sessão que você está deixando, para que você possa voltar a ela depois.

495* `/compact` com um foco, como `/compact keep the API changes and the test commands`. Em uma sessão longa, o `/compact` é ele próprio uma requisição grande, já que lê a conversa inteira para resumi-la, e ainda mais depois que o cache expirou.

496* Fique de olho no trabalho em segundo plano: um `/loop`, a verificação de uma meta após cada turno e os próprios subagentes do Claude continuam enviando requisições enquanto você não está digitando.

425 497 

426Uma vez que você é eficaz com um Claude, multiplique sua saída com sessões paralelas, modo não-interativo e padrões de fan-out.498> [!NOTE]

499>

500> O [cache de prompt](https://code.claude.com/docs/pt/prompt-caching.md) dura cerca de uma hora em uma assinatura e cinco minutos com uma chave de API, provedor de nuvem ou créditos de uso. Subagentes ficam com cinco minutos, a menos que você altere isso.

501>

502> No cache de uma hora, uma sessão com mais de cerca de 200K tokens que fica ociosa é compactada pouco antes de o cache expirar, então depois do almoço você continua a partir de um resumo. Se você não precisa do histórico, uma sessão nova ainda custa menos.

427 503 

428### Execute modo não-interativo504## Conduza a sessão

429 505 

430> [!TIP]506> [!TIP]

431>507>

432> Use `claude -p "prompt"` em CI, pre-commit hooks ou scripts. Adicione `--output-format stream-json --verbose` para saída JSON em streaming.508> Observe o primeiro minuto, pressione `Esc` no momento em que Claude se desviar e, após duas correções que não funcionaram, execute `/clear` e escreva um prompt melhor em vez de uma terceira.

433 509 

434Com `claude -p "your prompt"`, você pode executar Claude não-interativamente, sem um prompt interativo. A execução ainda cria uma sessão retomável a menos que você passe `--no-session-persistence`. [Modo não-interativo](https://code.claude.com/docs/pt/headless.md) é como você integra Claude em pipelines CI, pre-commit hooks ou qualquer fluxo de trabalho automatizado. Os formatos de saída permitem que você analise resultados programaticamente: texto simples, JSON ou JSON em streaming.510Nenhuma configuração substitui observar o primeiro minuto e intervir quando Claude segue para onde você não pretendia. Há poucos controles para isso, e vale a pena conhecê-los de cor:

435 511 

436```bash theme={null}512* `Esc` interrompe Claude no meio de uma ação e mantém tudo até aquele ponto, para que você possa redirecionar sem perder trabalho.

437# One-off queries513* `/rewind`, ou `Esc` duas vezes em um prompt vazio, abre o [menu de rewind](https://code.claude.com/docs/pt/checkpointing.md#rewind-and-summarize), onde você retorna o código, a conversa ou ambos a um prompt anterior. Isso torna de baixo risco tentar primeiro a abordagem mais ousada e voltar se não der certo. O mesmo menu também pode resumir parte da conversa quando ela ficou desatualizada.

438claude -p "Explain what this project does"514* `/clear` recomeça. Se você corrigiu a mesma coisa duas vezes e ainda está errado, uma terceira correção basicamente aumenta uma conversa que já contém duas tentativas fracassadas que Claude continua relendo. `/clear` mais um novo prompt que incorpore o que você aprendeu funciona melhor quase sempre.

439 

440# Structured output for scripts

441claude -p "List all API endpoints" --output-format json

442 515 

443# Streaming for real-time processing516> [!WARNING]

444claude -p "Analyze this log file" --output-format stream-json --verbose517>

445```518> Checkpoints cobrem os arquivos que Claude editou com as próprias ferramentas de arquivo na sua conversa principal, então um arquivo tocado apenas por um comando Bash [não é restaurado](https://code.claude.com/docs/pt/checkpointing.md#bash-command-changes-not-tracked). Eles funcionam junto com o git, e não o substituem.

446 519 

447O primeiro comando imprime texto simples. O formato `json` retorna um único objeto JSON com um campo `result`. O formato `stream-json` imprime um objeto JSON por linha, começando com um evento init.520Dois controles menores: [`/btw`](https://code.claude.com/docs/pt/interactive-mode#side-questions-with-%2Fbtw) responde a uma pergunta rápida sem adicionar nada ao histórico. E para trabalhos que duram vários dias, `/rename oauth-migration` na sessão dá nome a ela, para que [`claude --resume oauth-migration`](https://code.claude.com/docs/pt/sessions#resume-by-session-id-or-name) a partir do seu shell a retome depois, incluindo os checkpoints. `claude --continue` retoma a mais recente.

448 521 

449### Execute múltiplas sessões Claude522## Deixe Claude trabalhar sem você

450 523 

451> [!TIP]524> [!TIP]

452>525>

453> Execute múltiplas sessões Claude em paralelo para acelerar desenvolvimento, executar experimentos isolados ou iniciar fluxos de trabalho complexos.526> Antes de uma execução ficar desacompanhada, certifique-se de que ela sabe como é o concluído, consegue verificar o próprio trabalho e só pode tocar no que deve. Dê a ela um limite de turnos ou de gastos, e faça uma pessoa aprovar o resultado no final.

454 

455Escolha a abordagem paralela que se adequa a quanto de coordenação você quer fazer por conta própria, e adicione mensagens quando as sessões precisarem passar descobertas entre elas:

456 527 

457* [Worktrees](https://code.claude.com/docs/pt/worktrees.md): execute sessões CLI separadas em checkouts git isolados para que edições não colidam528Tudo nesta página importa um pouco mais quando você não está por perto para pegar erros. Enquanto você está observando, Claude não ter alguma parte do contexto não é grande coisa: você percebe em uma ou duas mensagens e avisa. Em uma execução que você iniciou antes de ir dormir, ninguém avisa, e você descobre na manhã seguinte que ele passou a noite inteira construindo sobre uma suposição errada.

458* [Mensagens entre sessões](https://code.claude.com/docs/pt/cross-session-messaging.md): deixe as sessões que você executa passar descobertas uma para a outra

459* [Aplicativo desktop](https://code.claude.com/docs/pt/desktop.md#work-in-parallel-with-sessions): gerencie múltiplas sessões locais visualmente, cada uma em seu próprio worktree

460* [Claude Code na web](https://code.claude.com/docs/pt/claude-code-on-the-web.md): execute sessões na nuvem, em infraestrutura gerenciada pela Anthropic por padrão

461* [Visualização de agente](https://code.claude.com/docs/pt/agent-view.md): pesquisa em visualização prévia. Execute `claude agents` para despachar sessões que continuam executando em background e observe-as de uma tela

462* [Equipes de agentes](https://code.claude.com/docs/pt/agent-teams.md): experimental e desabilitado por padrão. Coordenação automatizada de múltiplas sessões com tarefas compartilhadas, mensagens e um líder de equipe

463 529 

464Além de paralelizar trabalho, múltiplas sessões habilitam fluxos de trabalho focados em qualidade. Um contexto fresco melhora revisão de código já que Claude não será enviesado para código que acabou de escrever.530Antes de deixar uma tarefa sendo executada sozinha, vale a pena passar por estas cinco perguntas com essa tarefa específica em mente:

465 531 

466Por exemplo, use um padrão Writer/Reviewer:5321. Ela sabe como é o concluído? Uma condição de meta, um arquivo de especificação ou um teste que falha e precisa passar.

5332. Ela consegue verificar o próprio trabalho? O conjunto de testes, um hook `Stop`, algum tipo de etapa de revisão.

5343. No que ela pode tocar? Regras de permissão, `dontAsk`, o sandbox, um worktree, o único branch para o qual ela pode fazer push.

5354. O que a interrompe? `--max-turns`, `--max-budget-usd`, um limite de gastos.

5365. Para onde vai o resultado, e quem aprova? Um PR, um comentário ou um resumo, e então uma pessoa aprovando o merge, o deploy ou qualquer outra coisa que não possa ser desfeita.

467 537 

468| Session A (Writer) | Session B (Reviewer) |538Depois que começa, Claude leva uma tarefa longa até o fim sozinho. As partes que continuam com você são iniciá-la, decidir o que "concluído" significa desta vez e aprovar o merge no final.

469| - | - |

470| `Implement a rate limiter for our API endpoints` | |

471| | `Review the rate limiter implementation in @src/middleware/rateLimiter.ts. Look for edge cases, race conditions, and consistency with our existing middleware patterns.` |

472| `Here's the review feedback: [Session B output]. Address these issues.` | |

473 539 

474Você pode fazer algo similar com testes: ter um Claude escrever testes, depois outro escrever código para passá-los.540### Execute Claude a partir de um script

475 541 

476### Fan out entre arquivos542[`claude -p "prompt"`](https://code.claude.com/docs/pt/headless) executa uma vez e sai, e é assim que o Claude Code acaba em jobs de CI, hooks do git e loops de shell.

477 

478> [!TIP]

479>

480> Faça loop através de tarefas chamando `claude -p` para cada uma. Use `--allowedTools` para pré-aprovar ferramentas para operações em lote.

481 543 

482Para grandes migrações ou análises, você pode distribuir trabalho entre muitas invocações Claude paralelas. Execute [`/batch <instruction>`](https://code.claude.com/docs/pt/commands#all-commands) para ter Claude dividir a mudança entre 5 a 30 subagentes. Cada subagente trabalha em seu próprio worktree. Para conduzir o fan-out a partir de seu próprio script em vez disso, faça loop sobre `claude -p`:544Em um script, você quase sempre vai querer mais algumas flags:

483 545 

484**1. Generate a task list**546* [`--bare`](https://code.claude.com/docs/pt/headless#start-faster-with-bare-mode) ignora hooks, skills, plugins, servidores MCP e arquivos `CLAUDE.md`, tanto os do repositório quanto os da máquina, para que a execução faça a mesma coisa onde quer que seja executada. Ela também nunca toca no seu login do claude.ai: a autenticação vem de `ANTHROPIC_API_KEY`, de um `apiKeyHelper` no arquivo que você passa com `--settings` ou das credenciais do seu provedor de nuvem.

547* `--append-system-prompt`, `--mcp-config` e `--settings` passam explicitamente o que a execução *de fato* precisa.

548* `--allowedTools` pré-aprova as ferramentas dela, e [`--permission-mode dontAsk`](https://code.claude.com/docs/pt/permission-modes#allow-only-pre-approved-tools-with-dontask-mode) recusa qualquer outra coisa que teria gerado um prompt.

549* `--output-format json` fornece um único objeto de resultado para analisar, e `stream-json` com `--verbose` transmite eventos à medida que acontecem.

485 550 

486Tenha Claude escrever a lista de arquivos que precisam ser migrados para um arquivo, para que o loop na próxima etapa possa lê-la, com um prompt como `list all 2,000 Python files that need migrating and save the list to files.txt`551Juntando tudo, fica assim:

487 

488**2. Write a script to loop through the list**

489 552 

490```bash theme={null}553```bash theme={null}

491for file in $(cat files.txt); do554for file in $(cat files.txt); do

492 claude -p "Migrate $file from Python 2 to Python 3. Return OK or FAIL." \555 claude --bare -p "Migrate $file to the new logger API and commit. Reply OK or FAIL." \

493 --allowedTools "Edit,Bash(git commit *)" \556 --allowedTools "Read,Edit,Bash(git add *),Bash(git commit *)" \

494 --permission-mode dontAsk557 --permission-mode dontAsk \

558 --max-turns 20

495done559done

496```560```

497 561 

498**3. Teste em alguns arquivos, depois execute em todos eles**562Quando uma execução termina, Claude responde `OK` ou `FAIL`, e uma execução que atinge o limite de turnos sai com um erro. Teste primeiro em três arquivos, veja o que dá errado, corrija o prompt e depois execute o resto.

499 

500Refine seu prompt baseado no que dá errado com os primeiros 2-3 arquivos, depois execute no conjunto completo. A flag `--allowedTools` pré-aprova as ferramentas de que a migração precisa. [`--permission-mode dontAsk`](https://code.claude.com/docs/pt/permission-modes#allow-only-pre-approved-tools-with-dontask-mode) nega qualquer outra coisa que precisaria de aprovação, o que importa quando você está executando sem supervisão, embora um [mod](https://code.claude.com/docs/pt/plugins/mods/overview.md) que você instalou ainda possa aprovar algumas dessas chamadas.

501 563 

502Você também pode integrar Claude em pipelines de dados/processamento existentes:564O modo auto também funciona com `-p` se você passar `--permission-mode auto`. Em uma execução não interativa, um bloqueio do classificador nega aquela ação específica e Claude continua, e bloqueios repetidos não pausam a execução como acontece em um terminal. Leia [como os limites se aplicam nesse caso](https://code.claude.com/docs/pt/permission-modes.md#repeated-block-thresholds) antes de depender disso.

503 565 

504```bash theme={null}566### Inicie execuções por agendamento ou por evento

505claude -p "<your prompt>" --output-format json | your_command

506```

507 567 

508### Execute autonomamente com auto mode568Depois que uma execução começa, Claude consegue cuidar do resto sozinho. A única coisa que ele não consegue é decidir *começar*, então algo precisa fazer isso: você, um timer ou um evento como uma verificação de CI que falhou ou um novo PR.

509 569 

510Para execução ininterrupta com verificações de segurança em background, use [auto mode](https://code.claude.com/docs/pt/permission-modes.md#eliminate-prompts-with-auto-mode). Um modelo classificador revisa comandos antes de serem executados, bloqueando escalação de escopo, infraestrutura desconhecida e ações impulsionadas por conteúdo hostil enquanto deixa trabalho rotineiro prosseguir sem prompts.570Dentro de uma sessão aberta, isso é o [`/loop`](https://code.claude.com/docs/pt/scheduled-tasks#run-a-prompt-repeatedly-with-%2Floop), que repete um prompt em um intervalo:

511 571 

512```bash theme={null}572```text theme={null}

513claude --permission-mode auto -p "fix all lint errors"573/loop 15m check CI on this branch, and if it's red pull the failing job's log, fix it and push

514```574```

515 575 

516Quando o classificador repetidamente bloqueia ações em uma execução não-interativa com a flag `-p`, Claude Code não para a execução. Veja [when auto mode falls back](https://code.claude.com/docs/pt/permission-modes.md#when-auto-mode-falls-back) para o que acontece em vez disso e para os limites.576Cada execução é mais um turno na mesma sessão, então não deixe um rodando em uma conversa longa. Para qualquer coisa que deva acontecer enquanto seu laptop está fechado, [`/schedule`](https://code.claude.com/docs/pt/routines#create-from-the-cli) configura uma [tarefa agendada na nuvem](https://code.claude.com/docs/pt/routines.md) que é executada por timer. Ela precisa de um login do claude.ai em vez de uma chave de API. Você pode adicionar um gatilho de evento do GitHub pedindo ao Claude, ou um gatilho de API em [claude.ai/code/routines](https://claude.ai/code/routines).

517 

518### Adicione uma etapa de revisão adversarial

519 577 

520> [!TIP]578> [!WARNING]

521>579>

522> Antes de tratar uma tarefa como concluída, tenha um subagente revisar o diff em um contexto fresco e relatar lacunas.580> Antes de deixar uma tarefa agendada na nuvem sendo executada, proteja o `main` com uma [regra de branch do GitHub que a tarefa não consiga contornar](https://code.claude.com/docs/pt/routines.md#repositories-and-branch-permissions). E observe as primeiras execuções de qualquer coisa nova antes de confiar nela sem supervisão.

523 

524Quanto mais tempo Claude trabalha sem supervisão, mais uma verificação independente importa antes de você contar o trabalho como concluído. Um revisor executando em um contexto fresco de [subagente](https://code.claude.com/docs/pt/sub-agents.md) vê apenas o diff e os critérios que você fornece, não o raciocínio que produziu a mudança, então avalia o resultado em seus próprios termos.

525 581 

526Para uma verificação de correção, execute a skill [`/code-review`](https://code.claude.com/docs/pt/commands) incluída, que revisa o diff atual para bugs em um subagente fresco e retorna descobertas para a sessão. Para verificar o diff contra seu plano em vez disso, escreva o prompt de revisão você mesmo. Nomeie o trabalho a verificar, o plano a verificar contra e o que conta como uma descoberta:582### Execute sessões em paralelo

527 583 

528```text wrap theme={null}584Quando você tem trabalhos separados acontecendo ao mesmo tempo, dê a cada um o próprio checkout para que as edições não colidam. [`claude -w feature-auth`](https://code.claude.com/docs/pt/worktrees#start-claude-in-a-worktree) inicia uma sessão em um novo worktree, o [aplicativo desktop](https://code.claude.com/docs/pt/desktop.md#work-in-parallel-with-sessions) executa várias dessas lado a lado, e as [sessões na nuvem](https://code.claude.com/docs/pt/claude-code-on-the-web.md) as executam na nuvem em vez de na sua máquina.

529Use a subagent to review the rate limiter diff against PLAN.md. Check that

530every requirement is implemented, the listed edge cases have tests, and

531nothing outside the task's scope changed. Report gaps, not style preferences.

532```

533 585 

534Como o revisor executa como um subagente, a sessão implementadora recebe as lacunas diretamente e pode corrigi-las e revisar novamente sem você copiar descobertas entre janelas.586Um worktree é um checkout novo, o que significa que arquivos ignorados pelo git, como o `.env`, não estão lá e as dependências não estão instaladas. Para o primeiro caso, liste os arquivos ignorados pelo git de que você precisa em um [`.worktreeinclude`](https://code.claude.com/docs/pt/worktrees#copy-gitignored-files-into-worktrees) na raiz do repositório (mesma sintaxe do `.gitignore`) e o Claude Code os copia para todo worktree que criar:

535 587 

536Um revisor solicitado a encontrar lacunas geralmente relatará algumas, mesmo quando o trabalho é sólido, porque é isso que foi pedido para fazer. Perseguir cada descoberta leva a over-engineering: camadas de abstração extras, código defensivo e testes para casos que não podem acontecer. Diga ao revisor para sinalizar apenas lacunas que afetam correção ou os requisitos declarados, e trate o resto como opcional.588```text .worktreeinclude theme={null}

589.env

590.env.local

591config/dev-credentials.json

592```

537 593 

538***594Mantenha apenas arquivos pequenos: ele copia em vez de criar links, então colocar `node_modules` ali significaria uma cópia completa por worktree. Para diretórios grandes, há a configuração [`worktree.symlinkDirectories`](https://code.claude.com/docs/pt/settings-reference#worktree-symlinkdirectories), ou mantenha o comando de instalação no `CLAUDE.md` para que Claude o execute sempre que começar em um novo checkout.

539 595 

540## Evite padrões de falha comuns596Raramente você precisa limpar qualquer coisa disso você mesmo:

541 597 

542Estes são erros comuns. Reconhecê-los cedo economiza tempo:598* Quando você sai de uma sessão de worktree sem nome, o Claude Code [remove o worktree](https://code.claude.com/docs/pt/worktrees.md#clean-up-worktrees) se não houver nada nele. Para uma sessão com nome, ou uma com alterações, ele pergunta o que fazer.

599* Worktrees de subagentes desaparecem quando o subagente termina sem alterações.

600* Worktrees de subagentes e de sessões em segundo plano que acabam ficando para trás são removidos quando ficam mais antigos que `cleanupPeriodDays` e não contêm trabalho.

543 601 

544* **A sessão da pia da cozinha.** Você começa com uma tarefa, depois pergunta ao Claude algo não relacionado, depois volta para a primeira tarefa. Contexto está cheio de informação irrelevante.602> [!NOTE]

545 > **Correção**: `/clear` entre tarefas não relacionadas.603>

546* **Corrigindo repetidamente.** Claude faz algo errado, você corrige, ainda está errado, você corrige novamente. Contexto está poluído com abordagens falhadas.604> Uma execução `claude -p --worktree` é uma que você mesmo limpa, já que ela sai sem perguntar. Remova esses worktrees com `git worktree remove <path>` e, se o git recusar porque o worktree está bloqueado, execute `git worktree unlock <path>` primeiro.

547 > **Correção**: Após duas correções falhadas, `/clear` e escreva um prompt inicial melhor incorporando o que você aprendeu.

548* **O CLAUDE.md sobre-especificado.** Se seu CLAUDE.md é muito longo, Claude ignora metade dele porque regras importantes se perdem no ruído.

549 > **Correção**: Poda impiedosamente. Se Claude já faz algo corretamente sem a instrução, delete-a ou converta-a para um hook.

550* **A lacuna confiança-depois-verificação.** Claude produz uma implementação que parece plausível mas não trata casos extremos.

551 > **Correção**: Sempre forneça verificação (testes, scripts, capturas de tela). Se você não pode verificar, não envie.

552* **A exploração infinita.** Você pede ao Claude para "investigar" algo sem escopá-lo. Claude lê centenas de arquivos, enchendo o contexto.

553 > **Correção**: Escopo investigações estreitamente ou use subagents para que a exploração não consuma seu contexto principal.

554 605 

555***606Para uma grande alteração mecânica em muitos arquivos, [`/batch migrate every handler to the v2 response helpers`](https://code.claude.com/docs/pt/commands) divide o trabalho em 5 a 30 unidades e mostra o plano. Depois, executa cada unidade no próprio worktree e abre um PR para ela. A partir do seu shell, [`claude agents`](https://code.claude.com/docs/pt/agent-view) (ainda em prévia de pesquisa) oferece uma única tela para tudo o que está sendo executado em segundo plano na sua máquina.

556 607 

557## Desenvolva sua intuição608Uma segunda sessão também é o revisor independente mais fácil que você pode conseguir. Uma sessão escreve o rate limiter, outra revisa `@src/middleware/rateLimiter.ts` sem ter acompanhado a escrita, e você cola os apontamentos de volta na primeira. Mesma ideia do `/code-review`, com você levando as mensagens.

558 609 

559Os padrões neste guia não são gravados em pedra. Eles são pontos de partida que funcionam bem em geral, mas podem não ser ótimos para cada situação.610## O que você pode parar de fazer

560 611 

561Às vezes você *deveria* deixar contexto acumular porque você está profundo em um problema complexo e o histórico é valioso. Às vezes você deveria pular planejamento e deixar Claude descobrir porque a tarefa é exploratória. Às vezes um prompt vago é exatamente certo porque você quer ver como Claude interpreta o problema antes de constrangê-lo.612Cada um destes foi um bom conselho quando foi escrito. A maioria eram soluções alternativas para algo que o modelo ainda não conseguia fazer de forma confiável, e os modelos já alcançaram isso. Se alguns ainda são hábitos, veja por que é seguro abandoná-los.

562 613 

563Preste atenção ao que funciona. Quando Claude produz saída ótima, note o que você fez: a estrutura do prompt, o contexto que você forneceu, o modo que você estava. Quando Claude luta, pergunte por quê. O contexto era muito barulhento? O prompt muito vago? A tarefa muito grande para uma passagem?614| O conselho antigo | Por que não vale mais |

615| :- | :- |

616| A janela de contexto é sua principal restrição, gerencie-a agressivamente | A maioria dos modelos atuais tem uma janela de 1M de tokens e a compactação acontece sozinha, então ficar sem contexto é raro. `/clear` entre tarefas ainda vale a pena, porque um contexto focado produz respostas melhores e custa menos. |

617| Adicione IMPORTANT ou MAIÚSCULAS a instruções que Claude continua ignorando | Modelos mais antigos às vezes precisavam da ênfase. Os atuais seguem uma linha escrita de forma simples, e acumular ênfase faz principalmente Claude aplicar a regra em excesso. Se for uma regra que não pode ser flexibilizada, transforme-a em um hook ou uma regra deny. Se a linha está se perdendo em um arquivo longo, o arquivo precisa ser mais curto. |

618| Use subagentes para proteger sua janela de contexto | Ficar sem contexto raramente é o problema hoje em dia. Subagentes continuam ótimos para trabalho paralelo, para manter saídas ruidosas fora do seu caminho e para revisão independente, mas cada um desses custa tokens extras. |

619| Delegue a um subagente para obter uma resposta melhor | Entregar a mesma tarefa a um subagente não torna a resposta melhor. Um revisor novo ajuda, porque não viu seu raciocínio, o que é diferente de delegar. |

620| `think hard`, `think harder`, `be thorough` no prompt | O esforço é o controle para isso. Essas frases são texto comum de prompt que dá um empurrão em Claude dentro da configuração de esforço, e não palavras-chave que a aumentam. `ultrathink` ainda funciona: ele pede raciocínio mais profundo naquele único turno sem mexer na sua configuração de esforço. |

621| Diga ao Claude para continuar, repetir até terminar, não ser preguiçoso | Os modelos atuais geralmente levam uma tarefa combinada até o fim sem que precisem ser mandados, e linhas assim têm mais chance de causar excesso de trabalho do que de resolver uma parada. Dar ao Claude uma verificação para passar é diferente, e ainda vale a pena. Se uma execução parar antes da hora, diga `continue`, e para execuções que ninguém está observando, `/goal` ou um hook `Stop` impõe isso. |

622| Descreva sua arquitetura e estrutura de arquivos no `CLAUDE.md` | Claude lê o repositório sozinho. Escreva apenas o que não está lá. |

564 623 

565Ao longo do tempo, você desenvolverá intuição que nenhum guia pode capturar. Você saberá quando ser específico e quando ser aberto, quando planejar e quando explorar, quando limpar contexto e quando deixá-lo acumular.624Se qualquer outro conselho nesta página algum dia começar a parecer trabalho inútil, isso provavelmente é sinal de que ele também pertence a esta tabela.

566 625 

567## Recursos relacionados626## Recursos relacionados

568 627 

569* [How Claude Code works](https://code.claude.com/docs/pt/how-claude-code-works.md): o loop agentic, ferramentas e gerenciamento de contexto628* [Como o Claude Code funciona](https://code.claude.com/docs/pt/how-claude-code-works.md): o loop, as ferramentas e o que é carregado na inicialização

570* [Extend Claude Code](https://code.claude.com/docs/pt/features-overview.md): skills, hooks, MCP, subagents e plugins629* [Explore a janela de contexto](https://code.claude.com/docs/pt/context-window.md): o que ocupa espaço em uma sessão e quando é carregado

571* [Common workflows](https://code.claude.com/docs/pt/common-workflows.md): receitas passo a passo para depuração, teste, PRs e mais630* [Estenda o Claude Code](https://code.claude.com/docs/pt/features-overview.md): a escolha entre skills, hooks, MCP, subagentes e plugins

572* [CLAUDE.md](https://code.claude.com/docs/pt/memory.md): armazene convenções de projeto e contexto persistente631* [Escolha um modo de permissão](https://code.claude.com/docs/pt/permission-modes.md) e [Configure permissões](https://code.claude.com/docs/pt/permissions.md)

632* [Gerencie custos de forma eficaz](https://code.claude.com/docs/pt/costs.md)

633* [Execute o Claude Code programaticamente](https://code.claude.com/docs/pt/headless.md) e [Automatize o trabalho com tarefas agendadas na nuvem](https://code.claude.com/docs/pt/routines.md)

634* Para líderes de equipe e administradores: [Configure o Claude Code para sua organização](https://code.claude.com/docs/pt/admin-setup.md)

chrome.md +1 −1

Details

43 43 

44Em organizações Enterprise que têm HIPAA habilitado, o Claude in Chrome fica desativado por padrão, e um [Owner](https://code.claude.com/docs/pt/server-managed-settings.md#access-control) pode ativá-lo em [**Organization settings > Claude in Chrome**](https://claude.ai/admin-settings/browser-extension). Seu Business Associate Agreement (BAA) com a Anthropic não cobre dados enviados a sites de terceiros através do Claude in Chrome. Consulte o [Guia de Implementação](https://trust.anthropic.com/resources?s=l1wrssd9hsbi4gak0tp5a6\&name=%5Banthropic%5D-hipaa-ready-offering-implementation-guide) para obter uma lista de Serviços Elegíveis.44Em organizações Enterprise que têm HIPAA habilitado, o Claude in Chrome fica desativado por padrão, e um [Owner](https://code.claude.com/docs/pt/server-managed-settings.md#access-control) pode ativá-lo em [**Organization settings > Claude in Chrome**](https://claude.ai/admin-settings/browser-extension). Seu Business Associate Agreement (BAA) com a Anthropic não cobre dados enviados a sites de terceiros através do Claude in Chrome. Consulte o [Guia de Implementação](https://trust.anthropic.com/resources?s=l1wrssd9hsbi4gak0tp5a6\&name=%5Banthropic%5D-hipaa-ready-offering-implementation-guide) para obter uma lista de Serviços Elegíveis.

45 45 

46A integração com Chrome também requer fazer login com `/login`. Se você se autenticar com uma chave de API ou um token de longa duração de [`claude setup-token`](https://code.claude.com/docs/pt/authentication#generate-a-long-lived-token), Claude Code mantém a integração com Chrome desativada, mesmo quando você passa `--chrome`, porque a extensão do navegador não consegue se autenticar com essas credenciais. Antes da v2.1.216, essas sessões poderiam ativar a integração com Chrome, mas cada tentativa de conexão com a extensão do navegador falhava com um erro 403.46A integração com Chrome também requer fazer login com `/login`. Se você se autenticar com uma chave de API ou um token de longa duração de [`claude setup-token`](https://code.claude.com/docs/pt/authentication#generate-a-long-lived-token), Claude Code mantém a integração com Chrome desativada, mesmo quando você passa `--chrome`. A extensão do navegador não consegue se autenticar com essas credenciais.

47 47 

48> [!NOTE]48> [!NOTE]

49>49>

Details

996 996 

997[Memória de aprovação](https://code.claude.com/docs/pt/server-managed-settings.md#approval-memory) explica quanto tempo uma aprovação dura e quando a caixa de diálogo aparece novamente.997[Memória de aprovação](https://code.claude.com/docs/pt/server-managed-settings.md#approval-memory) explica quanto tempo uma aprovação dura e quando a caixa de diálogo aparece novamente.

998 998 

999O Claude Code aplica algumas variáveis de `env` entregues sem mostrar ao desenvolvedor a caixa de diálogo de aprovação, como configurações de seleção de modelo e limites numéricos. Outras variáveis entregues podem exigir a aprovação do desenvolvedor antes de entrar em vigor; um valor não vazio de proxy, de URL base ou de `OTEL_EXPORTER_OTLP_ENDPOINT` sempre exige. Quando uma variável entregue precisa de aprovação, a caixa de diálogo a nomeia.999O Claude Code aplica algumas variáveis `env` entregues sem mostrar ao desenvolvedor a caixa de diálogo de aprovação, como configurações de seleção de modelo e limites numéricos. Outras variáveis entregues podem exigir a aprovação do desenvolvedor; um valor não vazio de proxy, URL base ou `OTEL_EXPORTER_OTLP_ENDPOINT` sempre exige. Quando uma variável entregue precisa de aprovação, a caixa de diálogo a nomeia. [Variáveis de ambiente e a caixa de diálogo de aprovação](https://code.claude.com/docs/pt/server-managed-settings.md#environment-variables-and-the-approval-dialog) tem os detalhes, incluindo quatro opções de privacidade cujo valor entregue decide se precisam de aprovação.

1000 

1001[Variáveis de ambiente e a caixa de diálogo de aprovação](https://code.claude.com/docs/pt/server-managed-settings.md#environment-variables-and-the-approval-dialog) traz os detalhes, incluindo quatro opções de privacidade cujo valor entregue decide se precisam de aprovação. Antes da v2.1.218, o Claude Code aplicava menos variáveis sem perguntar ao desenvolvedor, então mais variáveis entregues acionavam a caixa de diálogo.

1002 1000 

1003A configuração de [telemetria](#telemetry) do gateway envia `OTEL_EXPORTER_OTLP_ENDPOINT`, então definir `telemetry.forward_to` aciona a caixa de diálogo em cada cliente interativo. A caixa de diálogo protege a máquina do desenvolvedor contra um gateway comprometido ou hostil, não a organização contra o desenvolvedor.1001A configuração de [telemetria](#telemetry) do gateway envia `OTEL_EXPORTER_OTLP_ENDPOINT`, então definir `telemetry.forward_to` aciona a caixa de diálogo em cada cliente interativo. A caixa de diálogo protege a máquina do desenvolvedor contra um gateway comprometido ou hostil, não a organização contra o desenvolvedor.

1004 1002 

Details

264* **O passo a passo completo, incluindo criação de PR**: consulte [Revisar e iterar](https://code.claude.com/docs/pt/web-quickstart.md#review-and-iterate)264* **O passo a passo completo, incluindo criação de PR**: consulte [Revisar e iterar](https://code.claude.com/docs/pt/web-quickstart.md#review-and-iterate)

265* **Fazer Claude monitorar o PR para falhas de CI e comentários de revisão automaticamente**: consulte [Corrigir automaticamente pull requests](#auto-fix-pull-requests)265* **Fazer Claude monitorar o PR para falhas de CI e comentários de revisão automaticamente**: consulte [Corrigir automaticamente pull requests](#auto-fix-pull-requests)

266 266 

267#### Solucionar problemas de um arquivo ausente na visualização de diff

268 

269Um arquivo que você esperava pode estar ausente da lista de arquivos da visualização de diff quando ela compara com o branch base, quer a sessão tenha enviado alterações ou não:

270 

271* **Nenhuma alteração enviada ainda**: a lista contém as edições do próprio Claude, mas não as alterações feitas por comandos que Claude executou, como um formatador

272* **Alterações enviadas**: a lista contém os commits enviados, mas não as alterações feitas após o último push

273 

274Para adicionar uma alteração ausente à lista, peça a Claude para fazer commit e push.

275 

267### Gerenciar contexto276### Gerenciar contexto

268 277 

269As sessões na nuvem suportam [comandos integrados](https://code.claude.com/docs/pt/commands.md) que produzem saída de texto. Comandos que só funcionam na interface do terminal, como `/plugin` ou `/resume`, não estão disponíveis. Comandos que abrem um seletor ou painel no terminal se comportam de forma diferente nas sessões na nuvem:278As sessões na nuvem suportam [comandos integrados](https://code.claude.com/docs/pt/commands.md) que produzem saída de texto. Comandos que só funcionam na interface do terminal, como `/plugin` ou `/resume`, não estão disponíveis. Comandos que abrem um seletor ou painel no terminal se comportam de forma diferente nas sessões na nuvem:

270 279 

271* **`/model`, `/effort`, `/color` e `/rename`**: passe o valor como um argumento, por exemplo `/model sonnet`, em vez de abrir o seletor do terminal ou controle deslizante. Os formulários de argumento seguem as [notas de disponibilidade](https://code.claude.com/docs/pt/commands.md#all-commands) de cada comando.280* **`/model`, `/effort`, `/color` e `/rename`**: passe o valor como um argumento, por exemplo `/model sonnet`, em vez de abrir o seletor do terminal ou controle deslizante. Os formulários de argumento seguem as [notas de disponibilidade](https://code.claude.com/docs/pt/commands.md#all-commands) de cada comando.

272* **`/fast`**: alterna o [modo rápido](https://code.claude.com/docs/pt/fast-mode.md#use-fast-mode-in-cloud-sessions) para a sessão quando o modo rápido está [disponível em sua conta](https://code.claude.com/docs/pt/fast-mode.md#requirements). Requer Claude Code v2.1.271 ou posterior no ambiente da sessão.281* **`/fast`**: alterna o [modo rápido](https://code.claude.com/docs/pt/fast-mode.md#use-fast-mode-in-cloud-sessions) para a sessão quando o modo rápido está [disponível em sua conta](https://code.claude.com/docs/pt/fast-mode.md#requirements). Requer Claude Code v2.1.271 ou posterior no ambiente da sessão.

273* **`/config`**: no seu navegador em claude.ai/code, abre a seção Claude Code de suas configurações em vez de definir um valor. Para alterar uma configuração para uma sessão na nuvem, defina uma [variável de ambiente](https://code.claude.com/docs/pt/cloud-environments.md#set-environment-variables) no ambiente. Em uma sessão com um repositório fora das threads de um [projeto](https://code.claude.com/docs/pt/claude-projects.md), faça commit da chave no `.claude/settings.json` desse repositório em vez disso. [Configurações em sessões na nuvem](https://code.claude.com/docs/pt/settings.md#settings-in-cloud-sessions) lista o que cada sessão lê.282* **`/config`**: no seu navegador em claude.ai/code, abre **Settings > Code** ou **Settings > Claude Code** em vez de definir um valor. Para alterar uma configuração para uma sessão na nuvem, defina uma [variável de ambiente](https://code.claude.com/docs/pt/cloud-environments.md#set-environment-variables) no ambiente. Em uma sessão com um repositório fora das threads de um [projeto](https://code.claude.com/docs/pt/claude-projects.md), faça commit da chave no `.claude/settings.json` desse repositório em vez disso. [Configurações em sessões na nuvem](https://code.claude.com/docs/pt/settings.md#settings-in-cloud-sessions) lista o que cada sessão lê.

274 283 

275Para gerenciamento de contexto em uma sessão na nuvem fora das [threads de um projeto](https://code.claude.com/docs/pt/claude-projects.md#choose-models-and-let-claude-manage-context):284Para gerenciamento de contexto em uma sessão na nuvem fora das [threads de um projeto](https://code.claude.com/docs/pt/claude-projects.md#choose-models-and-let-claude-manage-context):

276 285 


337* **Acesso ao repositório**: a verificação não está habilitada por padrão346* **Acesso ao repositório**: a verificação não está habilitada por padrão

338* **Conteúdo sensível**: verifique sua sessão antes de compartilhar. As sessões podem conter código e credenciais de repositórios privados do GitHub347* **Conteúdo sensível**: verifique sua sessão antes de compartilhar. As sessões podem conter código e credenciais de repositórios privados do GitHub

339 348 

340Para exigir que os destinatários tenham acesso ao repositório ou para ocultar seu nome de sessões compartilhadas, vá para [**Settings > Claude Code > Sharing settings**](https://claude.ai/settings/claude-code).349Para exigir que os destinatários tenham acesso ao repositório ou para ocultar seu nome de sessões compartilhadas, abra Settings em claude.ai e, em seguida:

350 

351* **Se o menu Settings mostrar Code em vez de Claude Code**: vá para [**Privacy**](https://claude.ai/settings/data-privacy-controls), que contém essas configurações

352* **Caso contrário**: vá para [**Claude Code > Sharing settings**](https://claude.ai/settings/claude-code)

341 353 

342### Arquivar sessões354### Arquivar sessões

343 355 

Details

95 95 

96Claude Platform on AWS usa os mesmos IDs de modelo que a API Claude direta.96Claude Platform on AWS usa os mesmos IDs de modelo que a API Claude direta.

97 97 

98Os aliases padrão `fable`, `opus`, `sonnet` e `haiku` resolvem para os padrões integrados do Claude Code para Claude Platform on AWS, que podem ficar atrás da versão mais recente. Sem `ANTHROPIC_DEFAULT_OPUS_MODEL`, o alias `opus` resolve para Opus 5.5. Antes da v2.1.280, ele resolvia para Opus 5 a partir da v2.1.219 e para Opus 4.8 a partir da v2.1.207.98Os aliases padrão `fable`, `opus`, `sonnet` e `haiku` resolvem para os padrões integrados do Claude Code para Claude Platform on AWS, que podem ficar atrás da versão mais recente. Sem `ANTHROPIC_DEFAULT_OPUS_MODEL`, o alias `opus` resolve para Opus 5.5. Antes da v2.1.280, ele resolvia para Opus 5 a partir da v2.1.219.

99 99 

100Se você implantar Claude Code para uma equipe, fixe os IDs de modelo explicitamente para que um novo lançamento não mova todos de uma vez:100Se você implantar Claude Code para uma equipe, fixe os IDs de modelo explicitamente para que um novo lançamento não mova todos de uma vez:

101 101 

Details

70Você cria e usa projects em [claude.ai/code](https://claude.ai/code), na aba Code do aplicativo desktop, ou no aplicativo móvel Claude para [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) e [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude). No navegador e no aplicativo desktop existem duas maneiras de iniciar um projeto:70Você cria e usa projects em [claude.ai/code](https://claude.ai/code), na aba Code do aplicativo desktop, ou no aplicativo móvel Claude para [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) e [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude). No navegador e no aplicativo desktop existem duas maneiras de iniciar um projeto:

71 71 

72* **Do zero**, quando você sabe o fluxo de trabalho que deseja que Claude execute: abra o diálogo **New project** e nomeie-o. [Iniciar um novo projeto do zero](#start-a-new-project-from-scratch) percorre o diálogo.72* **Do zero**, quando você sabe o fluxo de trabalho que deseja que Claude execute: abra o diálogo **New project** e nomeie-o. [Iniciar um novo projeto do zero](#start-a-new-project-from-scratch) percorre o diálogo.

73* **De uma sessão na nuvem que já está fazendo o trabalho**: no menu dessa sessão na barra lateral, escolha **Move to project** e depois **Continue as new project**. Claude propõe a configuração do projeto a partir do que a sessão estava fazendo. Veja [Iniciar a partir de uma sessão na nuvem existente](#start-from-an-existing-cloud-session).73* **De uma sessão na nuvem que já está fazendo o trabalho**: no menu dessa sessão na barra lateral, escolha **Continue in project** e depois **Continue as new project**. Claude propõe a configuração do projeto a partir do que a sessão estava fazendo. Veja [Iniciar a partir de uma sessão na nuvem existente](#start-from-an-existing-cloud-session).

74 74 

75De qualquer forma, [verifique os pré-requisitos](#check-the-prerequisites) primeiro.75De qualquer forma, [verifique os pré-requisitos](#check-the-prerequisites) primeiro.

76 76 


113 113 

114### Iniciar a partir de uma sessão existente114### Iniciar a partir de uma sessão existente

115 115 

116Se uma sessão na nuvem que você mesmo iniciou está fazendo trabalho que pertence a um projeto, abra o menu dela na barra lateral e escolha **Move to project**, depois escolha no submenu:116Se uma sessão na nuvem que você mesmo iniciou está fazendo trabalho que pertence a um projeto, abra o menu dela na barra lateral e escolha **Continue in project**, depois escolha no submenu:

117 117 

118* Escolha **Continue as new project** para criar um novo projeto a partir da sessão. O projeto abre, e Claude lê a sessão e posta **Setup recommendations** na conversa do projeto para você confirmar. A sessão original permanece na sua lista de sessões. Se estava no meio de um turno, ela continua em execução, então pare-a você mesmo se não quiser que ambas trabalhem ao mesmo tempo.118* Escolha **Continue as new project** para criar um novo projeto a partir da sessão. O projeto abre, e Claude lê a sessão e posta **Setup recommendations** na conversa do projeto para você confirmar. A sessão original permanece na sua lista de sessões. Se estava no meio de um turno, ela continua em execução, então pare-a você mesmo se não quiser que ambas trabalhem ao mesmo tempo.

119* Escolha um dos seus projetos existentes para trazer o trabalho da sessão para esse projeto. Esse projeto abre, e uma mensagem enviada em seu nome pede a Claude para ler a sessão e continuar de onde parou. A sessão original permanece na sua lista de sessões, inalterada.119* Escolha um dos seus projetos existentes para trazer o trabalho da sessão para esse projeto. Esse projeto abre, e uma mensagem enviada em seu nome pede a Claude para ler a sessão e continuar de onde parou. A sessão original permanece na sua lista de sessões, inalterada.


262 262 

263No computador que tem a pasta que a tarefa precisa, disponibilize-a através de Remote Control de uma de duas maneiras. Ambas precisam de Claude Code v2.1.280 ou posterior naquele computador.263No computador que tem a pasta que a tarefa precisa, disponibilize-a através de Remote Control de uma de duas maneiras. Ambas precisam de Claude Code v2.1.280 ou posterior naquele computador.

264 264 

265* **No aplicativo desktop Claude**: abra **Settings > Claude Code**, ative **Use this computer from your phone and claude.ai** e adicione a pasta à lista sob esse switch. As threads podem ser executadas neste computador enquanto o aplicativo está aberto.265* **No aplicativo desktop Claude**: abra **Settings > Code** ou **Settings > Claude Code** e ative **Use this computer from your phone and claude.ai**. Adicione a pasta à lista sob esse switch. As threads podem ser executadas neste computador enquanto o aplicativo está aberto.

266* **Em um terminal**: execute `claude remote-control` na pasta e deixe-a funcionando. Em um repositório git, adicione `--spawn worktree` para dar a cada thread lá seu próprio [worktree](https://code.claude.com/docs/pt/worktrees.md) em vez da pasta em si.266* **Em um terminal**: execute `claude remote-control` na pasta e deixe-a funcionando. Em um repositório git, adicione `--spawn worktree` para dar a cada thread lá seu próprio [worktree](https://code.claude.com/docs/pt/worktrees.md) em vez da pasta em si.

267 267 

268**2. Peça a tarefa com Work locally**268**2. Peça a tarefa com Work locally**


275 275 

276A thread é executada em [modo auto](https://code.claude.com/docs/pt/permission-modes.md#eliminate-prompts-with-auto-mode), então Claude executa comandos e edita arquivos naquela pasta sem pedir a você cada vez. Se o modo auto não estiver disponível ou estiver desligado no Claude Code daquele computador, a thread é executada sem ele, e qualquer prompt de permissão que ela levanta aguarda sua resposta na thread, como [Desbloquear uma thread aguardando aprovação](#unblock-a-thread-waiting-on-approval) descreve.276A thread é executada em [modo auto](https://code.claude.com/docs/pt/permission-modes.md#eliminate-prompts-with-auto-mode), então Claude executa comandos e edita arquivos naquela pasta sem pedir a você cada vez. Se o modo auto não estiver disponível ou estiver desligado no Claude Code daquele computador, a thread é executada sem ele, e qualquer prompt de permissão que ela levanta aguarda sua resposta na thread, como [Desbloquear uma thread aguardando aprovação](#unblock-a-thread-waiting-on-approval) descreve.

277 277 

278Enquanto a thread é executada, um ícone de laptop em seu cabeçalho mostra se seu computador está conectado. Clique nele para ver qual pasta a thread está usando ou para desligar a conexão. A thread pausa enquanto esse computador está dormindo, e para se o aplicativo desktop ou `claude remote-control` sair. [Perda de contato com sua pasta](#lost-contact-with-your-folder) cobre como colocá-lo funcionando novamente. No aplicativo desktop, ative **Keep this computer awake for Remote Control** em **Settings > Claude Code** para impedir que o computador durma por conta própria.278Enquanto a thread é executada, um ícone de laptop em seu cabeçalho mostra se seu computador está conectado. Clique nele para ver qual pasta a thread está usando ou para desligar a conexão. A thread pausa enquanto esse computador está dormindo, e para se o aplicativo desktop ou `claude remote-control` sair.

279 

280* **Para colocar a thread funcionando novamente**: consulte [Perda de contato com sua pasta](#lost-contact-with-your-folder)

281* **Para impedir que o computador durma por conta própria**: no aplicativo desktop, ative **Keep this computer awake for Remote Control** em **Settings > Code** ou **Settings > Claude Code**

279 282 

280Um projeto não pode executar uma thread no seu computador enquanto [**Require trusted devices**](https://code.claude.com/docs/pt/remote-control.md#trusted-devices) está ativado para sua conta.283Um projeto não pode executar uma thread no seu computador enquanto [**Require trusted devices**](https://code.claude.com/docs/pt/remote-control.md#trusted-devices) está ativado para sua conta.

281 284 


427Vários recursos Claude Code permitem que mais de uma sessão funcione ao mesmo tempo, então executar trabalho em paralelo não é por si só para que um projeto serve. Em um projeto, Claude inicia e rastreia as sessões em vez de você, e cada uma começa a partir das mesmas instruções. É assim que cada recurso vizinho se conecta a um projeto:430Vários recursos Claude Code permitem que mais de uma sessão funcione ao mesmo tempo, então executar trabalho em paralelo não é por si só para que um projeto serve. Em um projeto, Claude inicia e rastreia as sessões em vez de você, e cada uma começa a partir das mesmas instruções. É assim que cada recurso vizinho se conecta a um projeto:

428 431 

429* **Claude Tag**: [Claude Tag](https://claude.com/docs/claude-tag/overview) é Claude nos canais Slack da sua equipe, em planos Team e Enterprise. Qualquer pessoa em um canal pode dar trabalho a ele, todos no canal veem e o direcionam, e usa conexões que um admin configurou para esse canal. Um projeto é seu: você é o único que envia trabalho a ele ou vê suas threads, usa seu próprio acesso GitHub e connectors, e está em Pro e Max. [Como Claude Tag difere de Cowork e Claude Code](https://claude.com/docs/claude-tag/concepts/how-it-works#how-claude-tag-differs-from-cowork-and-claude-code) tem o lado a lado.432* **Claude Tag**: [Claude Tag](https://claude.com/docs/claude-tag/overview) é Claude nos canais Slack da sua equipe, em planos Team e Enterprise. Qualquer pessoa em um canal pode dar trabalho a ele, todos no canal veem e o direcionam, e usa conexões que um admin configurou para esse canal. Um projeto é seu: você é o único que envia trabalho a ele ou vê suas threads, usa seu próprio acesso GitHub e connectors, e está em Pro e Max. [Como Claude Tag difere de Cowork e Claude Code](https://claude.com/docs/claude-tag/concepts/how-it-works#how-claude-tag-differs-from-cowork-and-claude-code) tem o lado a lado.

430* **Sessões na nuvem**: cada thread é uma [sessão na nuvem](https://code.claude.com/docs/pt/claude-code-on-the-web.md), a menos que você peça a Claude para executá-la na sua máquina. De qualquer forma, Claude inicia e rastreia em vez de você. Você também pode trazer o trabalho de uma sessão na nuvem que você mesmo iniciou para um projeto: escolha [**Move to project**](#start-from-an-existing-cloud-session) no menu da barra lateral dessa sessão.433* **Sessões na nuvem**: cada thread é uma [sessão na nuvem](https://code.claude.com/docs/pt/claude-code-on-the-web.md), a menos que você peça a Claude para executá-la na sua máquina. De qualquer forma, Claude inicia e rastreia em vez de você. Você também pode trazer o trabalho de uma sessão na nuvem que você mesmo iniciou para um projeto: escolha [**Continue in project**](#start-from-an-existing-cloud-session) no menu da barra lateral dessa sessão.

431* **Tarefas agendadas**: quando você pede trabalho agendado em um projeto, Claude cria uma [tarefa agendada na nuvem](https://code.claude.com/docs/pt/routines.md) que é executada como threads nesse projeto e aparece em sua aba **Scheduled tasks**. Tarefas agendadas que você cria fora de um projeto continuam funcionando por conta própria.434* **Tarefas agendadas**: quando você pede trabalho agendado em um projeto, Claude cria uma [tarefa agendada na nuvem](https://code.claude.com/docs/pt/routines.md) que é executada como threads nesse projeto e aparece em sua aba **Scheduled tasks**. Tarefas agendadas que você cria fora de um projeto continuam funcionando por conta própria.

432* **Remote Control**: [Remote Control](https://code.claude.com/docs/pt/remote-control.md) 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).435* **Remote Control**: [Remote Control](https://code.claude.com/docs/pt/remote-control.md) 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).

433* **Sessões locais e agent view**: uma sessão que você mesmo inicia em seu terminal, IDE ou no ambiente local do aplicativo desktop fica fora dos seus projetos, embora você possa [trazer o trabalho dela para um deles](#start-from-an-existing-cloud-session). [Agent view](https://code.claude.com/docs/pt/agent-view.md) é 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.436* **Sessões locais e agent view**: uma sessão que você mesmo inicia em seu terminal, IDE ou no ambiente local do aplicativo desktop fica fora dos seus projetos, embora você possa [trazer o trabalho dela para um deles](#start-from-an-existing-cloud-session). [Agent view](https://code.claude.com/docs/pt/agent-view.md) é 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.


445* Você não pode adicionar a um projeto uma sessão que você mesmo iniciou em sua máquina, embora possa [trazer o trabalho dela para um projeto](#start-from-an-existing-cloud-session). Um projeto alcança sua máquina [executando uma thread lá através de Remote Control](#run-a-thread-on-your-own-computer), e essa seção lista o que é necessário.448* Você não pode adicionar a um projeto uma sessão que você mesmo iniciou em sua máquina, embora possa [trazer o trabalho dela para um projeto](#start-from-an-existing-cloud-session). Um projeto alcança sua máquina [executando uma thread lá através de Remote Control](#run-a-thread-on-your-own-computer), e essa seção lista o que é necessário.

446* O sandbox de uma thread em nuvem pausa entre voltas e retoma quando a thread continua. Se o sandbox não puder ser retomado, a thread continua de um clone fresco, então mudanças não confirmadas podem ser perdidas. Em tarefas longas, peça a Claude para confirmar e enviar trabalho em progresso.449* O sandbox de uma thread em nuvem pausa entre voltas e retoma quando a thread continua. Se o sandbox não puder ser retomado, a thread continua de um clone fresco, então mudanças não confirmadas podem ser perdidas. Em tarefas longas, peça a Claude para confirmar e enviar trabalho em progresso.

447* Um projeto pertence a um usuário. Você não pode compartilhar um projeto ou suas threads com outro usuário, e transcrições de thread não têm a opção de compartilhamento que outras sessões em nuvem têm. Não há controles de nível de organização para projetos durante o beta.450* Um projeto pertence a um usuário. Você não pode compartilhar um projeto ou suas threads com outro usuário, e transcrições de thread não têm a opção de compartilhamento que outras sessões em nuvem têm. Não há controles de nível de organização para projetos durante o beta.

448* Uma thread pertence ao único project que a iniciou. Você não pode mover ou copiar uma thread para outro project, ou movê-la para ficar sozinha. [**Move to project**](#start-from-an-existing-cloud-session) vai apenas na outra direção: traz o trabalho de uma sessão em nuvem para um project. Você não pode mesclar dois projects em um.451* Uma thread pertence ao único projeto que a iniciou. Você não pode mover ou copiar uma thread para outro projeto, ou movê-la para ficar sozinha. [**Continue in project**](#start-from-an-existing-cloud-session) vai apenas na outra direção: traz o trabalho de uma sessão na nuvem para um projeto. Você não pode mesclar dois projetos em um.

449 452 

450## Solução de problemas453## Solução de problemas

451 454 


489 492 

490### Perda de contato com sua pasta493### Perda de contato com sua pasta

491 494 

492Uma thread em execução no seu computador mostra isso quando a sessão Claude Code lá parou de responder, geralmente porque o computador entrou em modo de suspensão ou o aplicativo desktop ou `claude remote-control` saiu. Acorde o computador, e se o aplicativo desktop ou `claude remote-control` não estiver mais em execução lá, inicie-o novamente: reabra o aplicativo e confirme que **Use this computer from your phone and claude.ai** ainda está ativado em **Settings > Claude Code**, ou execute `claude remote-control` novamente na mesma pasta.495Uma thread em execução no seu computador mostra isso quando a sessão Claude Code lá parou de responder, geralmente porque o computador entrou em modo de suspensão ou o aplicativo desktop ou `claude remote-control` saiu. Acorde o computador. Se o aplicativo desktop ou `claude remote-control` não estiver mais em execução lá, inicie-o novamente:

496 

497* **Aplicativo desktop**: reabra o aplicativo e confirme que **Use this computer from your phone and claude.ai** ainda está ativado em **Settings > Code** ou **Settings > Claude Code**

498* **Terminal**: execute `claude remote-control` novamente na mesma pasta

493 499 

494### Outras mensagens500### Outras mensagens

495 501 

Details

71* Em uma sessão de terminal, em que `/code-review` executa a revisão como um [subagente bifurcado](https://code.claude.com/docs/pt/skills.md#run-skills-in-a-subagent)71* Em uma sessão de terminal, em que `/code-review` executa a revisão como um [subagente bifurcado](https://code.claude.com/docs/pt/skills.md#run-skills-in-a-subagent)

72* Em uma execução com `-p` com saída em texto ou JSON72* Em uma execução com `-p` com saída em texto ou JSON

73 73 

74Em um aplicativo host que solicita a lista de descobertas, como o [aplicativo desktop](https://code.claude.com/docs/pt/desktop.md#review-your-code), o Claude relata as descobertas da revisão por meio da [ferramenta `ReportFindings`](https://code.claude.com/docs/pt/tools-reference). O relatório aparece como uma lista de descobertas, e cada entrada mostra a localização do arquivo, um resumo de uma frase e uma tag de categoria como `correctness` quando a descoberta tiver uma. Uma requisição do host se aplica a todos os níveis de esforço e requer o Claude Code v2.1.218 ou posterior.74Em um aplicativo host que solicita a lista de descobertas, como o [aplicativo desktop](https://code.claude.com/docs/pt/desktop.md#review-your-code), o Claude relata as descobertas da revisão por meio da [ferramenta `ReportFindings`](https://code.claude.com/docs/pt/tools-reference) em vez disso. O relatório aparece como uma lista de descobertas, e cada entrada mostra a localização do arquivo, um resumo de uma frase e uma tag de categoria como `correctness` quando a descoberta tiver uma. Uma requisição do host se aplica a todos os níveis de esforço.

75 75 

76Quando o Claude corrige as descobertas relatadas mais adiante na sessão, ele as relata novamente. O Claude Code então marca cada descoberta na lista atualizada como corrigida, ignorada ou sem necessidade de alteração.76Quando o Claude corrige as descobertas relatadas mais adiante na sessão, ele as relata novamente. O Claude Code então marca cada descoberta na lista atualizada como corrigida, ignorada ou sem necessidade de alteração.

77 77 


104Após o nível de esforço e as flags, o Claude Code lê o restante da linha como o alvo da revisão. O argumento `ultra` muda essa interpretação:104Após o nível de esforço e as flags, o Claude Code lê o restante da linha como o alvo da revisão. O argumento `ultra` muda essa interpretação:

105 105 

106* **Com `ultra`**: o Claude Code lê uma única palavra como um branch base ou número de PR. Um texto mais longo que não nomeia um branch ou PR se torna [uma nota anexada à revisão](https://code.claude.com/docs/pt/ultrareview.md#pass-a-request-in-plain-words). `/code-review ultra check my auth changes` revisa seu branch atual, e o Claude relaciona as descobertas à sua nota.106* **Com `ultra`**: o Claude Code lê uma única palavra como um branch base ou número de PR. Um texto mais longo que não nomeia um branch ou PR se torna [uma nota anexada à revisão](https://code.claude.com/docs/pt/ultrareview.md#pass-a-request-in-plain-words). `/code-review ultra check my auth changes` revisa seu branch atual, e o Claude relaciona as descobertas à sua nota.

107* **Sem `ultra`**: tudo o que sobra é o alvo da revisão, mesmo quando começa com outro nome de comando. `/code-review /fix-issue 123` revisa com `/fix-issue 123` como texto do alvo, em vez de carregar `/fix-issue` como uma segunda [skill empilhada](https://code.claude.com/docs/pt/skills.md#stack-several-skills-in-one-message). Antes da v2.1.218, um comando empilhado após `/code-review` era expandido como sua própria skill.107* **Sem `ultra`**: tudo o que sobra é o alvo da revisão, mesmo quando começa com outro nome de comando. `/code-review /fix-issue 123` revisa com `/fix-issue 123` como texto do alvo, em vez de carregar `/fix-issue` como uma segunda [skill empilhada](https://code.claude.com/docs/pt/skills.md#stack-several-skills-in-one-message).

108 108 

109## Executar em primeiro plano109## Executar em primeiro plano

110 110 


114* Defina [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](https://code.claude.com/docs/pt/env-vars) como `1`, o que também desativa outros recursos de tarefas em segundo plano114* Defina [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](https://code.claude.com/docs/pt/env-vars) como `1`, o que também desativa outros recursos de tarefas em segundo plano

115* Execute `/code-review` novamente enquanto uma revisão anterior ainda estiver em andamento115* Execute `/code-review` novamente enquanto uma revisão anterior ainda estiver em andamento

116 116 

117Antes da v2.1.218, a revisão era executada dentro da sua conversa.

118 

119## Deixe o Claude iniciar a revisão117## Deixe o Claude iniciar a revisão

120 118 

121O Claude pode iniciar `/code-review` por conta própria, sem que você digite o comando:119O Claude pode iniciar `/code-review` por conta própria, sem que você digite o comando:

commands.md +3 −3

Details

37* **[Skill](https://code.claude.com/docs/pt/skills.md#bundled-skills)**: uma skill incluída. Funciona como skills que você escreve: um prompt entregue ao Claude.37* **[Skill](https://code.claude.com/docs/pt/skills.md#bundled-skills)**: uma skill incluída. Funciona como skills que você escreve: um prompt entregue ao Claude.

38 * `/verify` é executado apenas quando você o invoca. Antes da v2.1.215, Claude também podia executar `/verify` por conta própria.38 * `/verify` é executado apenas quando você o invoca. Antes da v2.1.215, Claude também podia executar `/verify` por conta própria.

39* **[Workflow](https://code.claude.com/docs/pt/workflows.md#bundled-workflows)**: um [workflow dinâmico](https://code.claude.com/docs/pt/workflows.md) incluído que distribui trabalho entre muitos subagentes e é executado em segundo plano.39* **[Workflow](https://code.claude.com/docs/pt/workflows.md#bundled-workflows)**: um [workflow dinâmico](https://code.claude.com/docs/pt/workflows.md) incluído que distribui trabalho entre muitos subagentes e é executado em segundo plano.

40 * `/deep-research` é executado apenas quando você o invoca. Antes da v2.1.218, Claude também podia iniciá-lo por conta própria.40 * `/deep-research` é executado apenas quando você o invoca.

41 41 

42Para adicionar seus próprios comandos, consulte [skills](https://code.claude.com/docs/pt/skills.md).42Para adicionar seus próprios comandos, consulte [skills](https://code.claude.com/docs/pt/skills.md).

43 43 


54| `/agents` | Imprime um lembrete para pedir ao Claude que crie ou gerencie [subagentes](https://code.claude.com/docs/pt/sub-agents.md), ou para editar `.claude/agents/` ou `~/.claude/agents/` diretamente. Na v2.1.197 e anterior, abre uma interface interativa para criar e gerenciar configurações de subagentes |54| `/agents` | Imprime um lembrete para pedir ao Claude que crie ou gerencie [subagentes](https://code.claude.com/docs/pt/sub-agents.md), ou para editar `.claude/agents/` ou `~/.claude/agents/` diretamente. Na v2.1.197 e anterior, abre uma interface interativa para criar e gerenciar configurações de subagentes |

55| `/artifact-capabilities` | **[Skill](https://code.claude.com/docs/pt/skills.md#bundled-skills).** Carregue a referência para os recursos de tempo de execução que um [artefato](https://code.claude.com/docs/pt/artifacts.md) publicado pode usar, como [chamar seus conectores](https://code.claude.com/docs/pt/artifacts.md#pull-live-data-with-mcp-connectors) ou [oferecer um download de arquivo](https://code.claude.com/docs/pt/artifacts.md#offer-a-file-download), incluindo quais você tem. Claude normalmente o carrega por conta própria antes de construir uma página que usa um. Disponível onde [artefatos](https://code.claude.com/docs/pt/artifacts.md#availability) estão |55| `/artifact-capabilities` | **[Skill](https://code.claude.com/docs/pt/skills.md#bundled-skills).** Carregue a referência para os recursos de tempo de execução que um [artefato](https://code.claude.com/docs/pt/artifacts.md) publicado pode usar, como [chamar seus conectores](https://code.claude.com/docs/pt/artifacts.md#pull-live-data-with-mcp-connectors) ou [oferecer um download de arquivo](https://code.claude.com/docs/pt/artifacts.md#offer-a-file-download), incluindo quais você tem. Claude normalmente o carrega por conta própria antes de construir uma página que usa um. Disponível onde [artefatos](https://code.claude.com/docs/pt/artifacts.md#availability) estão |

56| `/artifact-diagramming` | **[Skill](https://code.claude.com/docs/pt/skills.md#bundled-skills).** Carregue orientação de diagramação para Claude seguir em [artefatos](https://code.claude.com/docs/pt/artifacts.md): quando um diagrama ajuda, o que desenhar e como escrever SVG inline que permanece legível em temas claros e escuros. Requer Claude Code v2.1.221 ou posterior |56| `/artifact-diagramming` | **[Skill](https://code.claude.com/docs/pt/skills.md#bundled-skills).** Carregue orientação de diagramação para Claude seguir em [artefatos](https://code.claude.com/docs/pt/artifacts.md): quando um diagrama ajuda, o que desenhar e como escrever SVG inline que permanece legível em temas claros e escuros. Requer Claude Code v2.1.221 ou posterior |

57| `/artifacts` | Liste os [artefatos](https://code.claude.com/docs/pt/artifacts.md#find-an-artifact-again) que você possui ou que são compartilhados com você, depois anexe um à sessão, abra-o no seu navegador ou copie seu link. Disponível onde [artefatos](https://code.claude.com/docs/pt/artifacts.md#availability) estão. Requer Claude Code v2.1.208 ou posterior; anexar com `Enter` requer v2.1.216 |57| `/artifacts` | Liste os [artefatos](https://code.claude.com/docs/pt/artifacts.md#find-an-artifact-again) que você possui ou que são compartilhados com você, depois anexe um à sessão, abra-o no seu navegador ou copie seu link. Disponível onde [artefatos](https://code.claude.com/docs/pt/artifacts.md#availability) estão |

58| `/auto-mode-setup` | [Rascunhe entradas `autoMode.environment`](https://code.claude.com/docs/pt/auto-mode-config#generate-environment-entries) do seu projeto e sessões recentes, depois revise o rascunho e salve-o nas suas configurações de usuário. Em um plano Pro, Max ou Team, requer Claude Code v2.1.228 ou posterior, ou v2.1.233 ou posterior no Windows nativo. Em um plano Enterprise ou com uma chave de API do Claude Console, requer v2.1.283 ou posterior. Se o comando estiver ausente, consulte [`/auto-mode-setup` retorna "Unknown command"](https://code.claude.com/docs/pt/auto-mode-config#auto-mode-setup-returns-unknown-command) |58| `/auto-mode-setup` | [Rascunhe entradas `autoMode.environment`](https://code.claude.com/docs/pt/auto-mode-config#generate-environment-entries) do seu projeto e sessões recentes, depois revise o rascunho e salve-o nas suas configurações de usuário. Em um plano Pro, Max ou Team, requer Claude Code v2.1.228 ou posterior, ou v2.1.233 ou posterior no Windows nativo. Em um plano Enterprise ou com uma chave de API do Claude Console, requer v2.1.283 ou posterior. Se o comando estiver ausente, consulte [`/auto-mode-setup` retorna "Unknown command"](https://code.claude.com/docs/pt/auto-mode-config#auto-mode-setup-returns-unknown-command) |

59| `/autocompact [auto\|<tokens>]` | Defina a janela de compactação automática: o quão cheia fica a janela de contexto antes de Claude Code compactar automaticamente. Passe um tamanho como `500k`, ou `auto` para retornar à janela ajustada para seu modelo. Claude Code salva o valor nas configurações de usuário e o aplica à sessão atual. Consulte [Defina a janela de compactação automática](https://code.claude.com/docs/pt/model-config.md#set-the-auto-compact-window) para valores aceitos e o que a sobrescreve. Sem um argumento, abre um diálogo que mostra a janela atual. Requer Claude Code v2.1.221 ou posterior |59| `/autocompact [auto\|<tokens>]` | Defina a janela de compactação automática: o quão cheia fica a janela de contexto antes de Claude Code compactar automaticamente. Passe um tamanho como `500k`, ou `auto` para retornar à janela ajustada para seu modelo. Claude Code salva o valor nas configurações de usuário e o aplica à sessão atual. Consulte [Defina a janela de compactação automática](https://code.claude.com/docs/pt/model-config.md#set-the-auto-compact-window) para valores aceitos e o que a sobrescreve. Sem um argumento, abre um diálogo que mostra a janela atual. Requer Claude Code v2.1.221 ou posterior |

60| `/autofix-pr [prompt]` | Inicie uma [sessão na nuvem](https://code.claude.com/docs/pt/claude-code-on-the-web.md#auto-fix-pull-requests) que monitora o PR do branch atual e envia correções quando o CI falha ou revisores deixam comentários. Detecta o PR aberto do seu branch em checkout com `gh pr view`; para monitorar um PR diferente, primeiro faça checkout do branch dele. Por padrão, a sessão na nuvem é instruída a corrigir todas as falhas de CI e comentários de revisão; passe um prompt para dar instruções diferentes, por exemplo `/autofix-pr only fix lint and type errors`. Requer a CLI `gh` e acesso a [sessões na nuvem](https://code.claude.com/docs/pt/claude-code-on-the-web.md) |60| `/autofix-pr [prompt]` | Inicie uma [sessão na nuvem](https://code.claude.com/docs/pt/claude-code-on-the-web.md#auto-fix-pull-requests) que monitora o PR do branch atual e envia correções quando o CI falha ou revisores deixam comentários. Detecta o PR aberto do seu branch em checkout com `gh pr view`; para monitorar um PR diferente, primeiro faça checkout do branch dele. Por padrão, a sessão na nuvem é instruída a corrigir todas as falhas de CI e comentários de revisão; passe um prompt para dar instruções diferentes, por exemplo `/autofix-pr only fix lint and type errors`. Requer a CLI `gh` e acesso a [sessões na nuvem](https://code.claude.com/docs/pt/claude-code-on-the-web.md) |


85| `/desktop` | Continue a sessão atual no aplicativo Claude Code Desktop. Requer macOS ou Windows x64 e uma assinatura Claude. Alias: `/app` |85| `/desktop` | Continue a sessão atual no aplicativo Claude Code Desktop. Requer macOS ou Windows x64 e uma assinatura Claude. Alias: `/app` |

86| `/diff` | Revise as mudanças em sua árvore de trabalho, incluindo as edições que Claude fez até agora. Consulte [Revise mudanças com /diff](https://code.claude.com/docs/pt/interactive-mode.md#review-changes-with-%2Fdiff) |86| `/diff` | Revise as mudanças em sua árvore de trabalho, incluindo as edições que Claude fez até agora. Consulte [Revise mudanças com /diff](https://code.claude.com/docs/pt/interactive-mode.md#review-changes-with-%2Fdiff) |

87| `/doctor [prompt-audit [path]]` | **[Skill](https://code.claude.com/docs/pt/skills.md#bundled-skills).** Execute uma verificação de configuração que diagnostica problemas de instalação, configurações, extensões e `CLAUDE.md` e propõe correções que Claude aplica depois que você confirma. Para o que a verificação cobre, ou para auditar suas instruções com `prompt-audit` em vez disso, consulte [Verifique sua configuração com `/doctor`](https://code.claude.com/docs/pt/skills#check-your-setup-with-/doctor). O subcomando `prompt-audit` requer Claude Code v2.1.283 ou posterior. Alias: `/checkup` |87| `/doctor [prompt-audit [path]]` | **[Skill](https://code.claude.com/docs/pt/skills.md#bundled-skills).** Execute uma verificação de configuração que diagnostica problemas de instalação, configurações, extensões e `CLAUDE.md` e propõe correções que Claude aplica depois que você confirma. Para o que a verificação cobre, ou para auditar suas instruções com `prompt-audit` em vez disso, consulte [Verifique sua configuração com `/doctor`](https://code.claude.com/docs/pt/skills#check-your-setup-with-/doctor). O subcomando `prompt-audit` requer Claude Code v2.1.283 ou posterior. Alias: `/checkup` |

88| `/effort [level\|auto\|status\|ultracode [on\|off]]` | Defina o [nível de esforço](https://code.claude.com/docs/pt/model-config.md#adjust-effort-level): `low` a `xhigh`, `max`, ou `auto`; `status` o imprime. `ultracode` ou `ultracode on` ativa [ultracode](https://code.claude.com/docs/pt/workflows.md#let-claude-decide-with-ultracode) para a sessão no nível atual, e `ultracode off` o desativa; a chave [`ultracode`](https://code.claude.com/docs/pt/settings-reference#ultracode) persiste. `max` é apenas de sessão. Os argumentos `on` e `off` e manter o nível atual requerem Claude Code v2.1.284 ou posterior. Antes da v2.1.284, `/effort ultracode` definia a sessão para `xhigh`, e `/effort ultracode off` falhava com `Invalid argument`. Execute-o enquanto Claude está respondendo e, uma vez que você confirme o [aviso de cache](https://code.claude.com/docs/pt/prompt-caching.md#changing-effort-level), se Claude Code mostrar um, Claude Code aplica o novo nível à próxima requisição nesse turno. 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](https://code.claude.com/docs/pt/env-vars.md#features-that-need-feature-flag-fetching), como em um [provedor de terceiros](https://code.claude.com/docs/pt/third-party-integrations.md). Funciona em `-p` |88| `/effort [level\|auto\|status\|ultracode [on\|off]]` | Defina o [nível de esforço](https://code.claude.com/docs/pt/model-config.md#adjust-effort-level): `low` a `xhigh`, `max`, ou `auto`; `status` o imprime. `ultracode` ou `ultracode on` ativa [ultracode](https://code.claude.com/docs/pt/workflows.md#let-claude-decide-with-ultracode) para a sessão, e `ultracode off` o desativa; a chave [`ultracode`](https://code.claude.com/docs/pt/settings-reference#ultracode) persiste. `max` é apenas de sessão. Os argumentos `on` e `off` requerem Claude Code v2.1.284 ou posterior. Se você executar `/effort` enquanto Claude está trabalhando, consulte [quando o novo nível começa](https://code.claude.com/docs/pt/model-config.md#when-a-new-effort-level-starts). Funciona em `-p` na v2.1.205 ou posterior |

89| `/exit` | Saia da CLI. Em uma [sessão em segundo plano](https://code.claude.com/docs/pt/agent-view.md#attach-to-a-session) anexada, isso desanexa e a sessão continua em execução. Alias: `/quit` |89| `/exit` | Saia da CLI. Em uma [sessão em segundo plano](https://code.claude.com/docs/pt/agent-view.md#attach-to-a-session) anexada, isso desanexa e a sessão continua em execução. Alias: `/quit` |

90| `/export [filename]` | Exporte a conversa atual como texto simples. Com um nome de arquivo, escreve diretamente nesse arquivo. Sem, abre um diálogo para copiar para a área de transferência ou salvar em um arquivo |90| `/export [filename]` | Exporte a conversa atual como texto simples. Com um nome de arquivo, escreve diretamente nesse arquivo. Sem, abre um diálogo para copiar para a área de transferência ou salvar em um arquivo |

91| `/fast [on\|off]` | Alterne o [modo rápido](https://code.claude.com/docs/pt/fast-mode.md) ativado ou desativado. Execute-o enquanto Claude está respondendo e Claude Code alterna o modo rápido sem esperar que o turno termine, embora o turno em execução termine na sua velocidade original. 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](https://code.claude.com/docs/pt/env-vars.md#features-that-need-feature-flag-fetching). A disponibilidade em modo não interativo com `-p` é limitada; consulte [Alterne o modo rápido](https://code.claude.com/docs/pt/fast-mode.md#toggle-fast-mode) |91| `/fast [on\|off]` | Alterne o [modo rápido](https://code.claude.com/docs/pt/fast-mode.md) ativado ou desativado. Execute-o enquanto Claude está respondendo e Claude Code alterna o modo rápido sem esperar que o turno termine, embora o turno em execução termine na sua velocidade original. 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](https://code.claude.com/docs/pt/env-vars.md#features-that-need-feature-flag-fetching). A disponibilidade em modo não interativo com `-p` é limitada; consulte [Alterne o modo rápido](https://code.claude.com/docs/pt/fast-mode.md#toggle-fast-mode) |

computer-use.md +1 −1

Details

178| Recurso | Desktop | CLI |178| Recurso | Desktop | CLI |

179| :- | :- | :- |179| :- | :- | :- |

180| Plataformas | macOS e Windows | Apenas macOS |180| Plataformas | macOS e Windows | Apenas macOS |

181| Ativar | Alternar em **Settings > This computer > System** | Ativar `computer-use` em `/mcp` |181| Ativar | Alternar em [Settings](https://code.claude.com/docs/pt/desktop.md#enable-computer-use) | Ativar `computer-use` em `/mcp` |

182| Lista de aplicativos negados | Configurável em Settings | Ainda não disponível |182| Lista de aplicativos negados | Configurável em Settings | Ainda não disponível |

183| Alternância de auto-unhide | Opcional | Sempre ativado |183| Alternância de auto-unhide | Opcional | Sempre ativado |

184| Integração do Dispatch | Sessões geradas por Dispatch podem usar computer use | Não aplicável |184| Integração do Dispatch | Sessões geradas por Dispatch podem usar computer use | Não aplicável |

Details

70* [Estenda Claude Code](https://code.claude.com/docs/pt/features-overview.md): quando usar CLAUDE.md vs skills vs regras vs hooks vs MCP70* [Estenda Claude Code](https://code.claude.com/docs/pt/features-overview.md): quando usar CLAUDE.md vs skills vs regras vs hooks vs MCP

71* [Armazene instruções e memórias](https://code.claude.com/docs/pt/memory.md): hierarquia CLAUDE.md e memória automática71* [Armazene instruções e memórias](https://code.claude.com/docs/pt/memory.md): hierarquia CLAUDE.md e memória automática

72* [Subagents](https://code.claude.com/docs/pt/sub-agents.md): delegue pesquisa a uma janela de contexto separada72* [Subagents](https://code.claude.com/docs/pt/sub-agents.md): delegue pesquisa a uma janela de contexto separada

73* [Melhores práticas](https://code.claude.com/docs/pt/best-practices.md): gerenciando contexto como sua restrição principal73* [Boas práticas](https://code.claude.com/docs/pt/best-practices.md#keep-cost-and-context-down): mantenha as sessões focadas e os custos baixos

74* [Prompt caching](https://code.claude.com/docs/pt/prompt-caching.md): quais ações invalidam o prefixo em cache74* [Prompt caching](https://code.claude.com/docs/pt/prompt-caching.md): quais ações invalidam o prefixo em cache

75* [Reduza o uso de tokens](https://code.claude.com/docs/pt/costs.md#reduce-token-usage): estratégias para manter o uso de contexto baixo75* [Reduza o uso de tokens](https://code.claude.com/docs/pt/costs.md#reduce-token-usage): estratégias para manter o uso de contexto baixo

Details

158 158 

159Se essa sessão não estiver conectada a Remote Control quando Claude envia para uma sessão além desta máquina, a mensagem ainda passa, mas sem um [endereço de resposta](#what-a-message-looks-like). O Claude receptor não pode respondê-la.159Se essa sessão não estiver conectada a Remote Control quando Claude envia para uma sessão além desta máquina, a mensagem ainda passa, mas sem um [endereço de resposta](#what-a-message-looks-like). O Claude receptor não pode respondê-la.

160 160 

161## Como uma sessão trata uma mensagem chegando161## Como uma sessão trata uma mensagem recebida

162 162 

163Quando a sessão A envia mensagem para a sessão B, Claude Code diz ao Claude de B que a mensagem veio de outra sessão, não de você, e limita o que a mensagem pode fazer:163Quando a sessão A envia uma mensagem para a sessão B, o Claude Code informa ao Claude de B que a mensagem veio de outra sessão, não de você, e limita o que a mensagem pode fazer:

164 164 

165* **Não pode aprovar nada**: uma mensagem de outra sessão nunca conta como seu consentimento, então não pode responder a um prompt de permissão pendente em seu nome.165* **Ela não pode aprovar nada**: uma mensagem de outra sessão nunca conta como seu consentimento, portanto não pode responder a um prompt de permissão pendente em seu nome.

166* **Não pode mudar configuração**: Claude Code instrui o Claude receptor nunca mudar configurações de permissão, `CLAUDE.md` ou outra configuração porque outra sessão pediu.166* **Ela não pode alterar a configuração**: o Claude Code instrui o Claude receptor a nunca alterar configurações de permissão, o `CLAUDE.md` ou outra configuração porque outra sessão pediu.

167* **Comandos não executam**: um comando no texto da mensagem, como `/compact`, chega como texto simples. Claude Code nunca o executa.167* **Comandos não são executados**: um comando no texto da mensagem, como `/compact`, chega como texto simples. O Claude Code nunca o executa.

168* **Prompts de permissão ainda disparam**: se agir na mensagem requer uma permissão que a sessão receptora não tem, você vê o mesmo prompt que veria para qualquer outro trabalho.168* **Prompts de permissão continuam sendo exibidos**: se agir com base na mensagem exigir uma permissão que a sessão receptora não tem, você verá o mesmo prompt que veria para qualquer outro trabalho.

169 169 

170### Como uma mensagem parece170### Como é uma mensagem

171 171 

172Quando uma mensagem chega, Claude Code a mostra na conversa como uma prévia de uma linha fraca, e a linha de prévia fica na conversa depois. A prévia carrega o nome do remetente e a primeira linha da mensagem, cortada com `…` quando é longa, como `› Message from @api-worker: Schema migration finished (ctrl+o to expand)`.172Quando uma mensagem chega, o Claude Code a exibe na conversa como uma prévia esmaecida de uma linha, e a linha de prévia permanece na conversa depois disso. A prévia traz o nome do remetente e a primeira linha da mensagem, cortada com `…` quando é longa, como `› Message from @api-worker: Schema migration finished (ctrl+o to expand)`.

173 173 

174Qualquer um desses mostra o texto completo:174Qualquer uma destas opções mostra o texto completo:

175 175 

176* Pressione `Ctrl+O` para abrir o [visualizador de transcrição](https://code.claude.com/docs/pt/interactive-mode.md#transcript-viewer) e ler o texto completo sob o nome da sessão do remetente.176* Pressione `Ctrl+O` para abrir o [visualizador de transcrição](https://code.claude.com/docs/pt/interactive-mode.md#transcript-viewer) e ler o texto completo sob o nome da sessão do remetente.

177* Na [renderização em tela cheia](https://code.claude.com/docs/pt/fullscreen.md#use-the-mouse), clique em uma linha de prévia que omite parte da mensagem para expandi-la no local.

178* Em uma sessão iniciada com [`--verbose`](https://code.claude.com/docs/pt/cli-reference#cli-flags), Claude Code mostra o texto completo em vez da prévia.

179 177 

180A prévia encurta apenas o que você vê. Se você a expande ou não, Claude lê a mensagem completa.178 Se o Claude estiver ocupado e ainda não tiver recebido a mensagem, role até o final da transcrição, onde a mensagem aparece listada em `Waiting to be delivered`. Requer o Claude Code v2.1.309 ou posterior.

181 179 

182Claude recebe a mensagem com o nome do remetente e um endereço de resposta, exceto para uma [mensagem cross-machine unidirecional](#message-sessions-on-other-machines), que não carrega endereço de resposta.180* Na [renderização em tela cheia](https://code.claude.com/docs/pt/fullscreen.md#use-the-mouse), clique em uma linha de prévia que omite parte da mensagem para expandi-la no lugar.

183 181 

184Este exemplo é uma mensagem que um Claude escreveu para outro, como seu texto completo lê quando você o expande:182* Em uma sessão iniciada com [`--verbose`](https://code.claude.com/docs/pt/cli-reference#cli-flags), o Claude Code mostra o texto completo em vez da prévia.

183 

184A prévia encurta apenas o que você vê. Expandindo-a ou não, o Claude lê a mensagem completa.

185 

186O Claude recebe a mensagem com o nome do remetente e um endereço de resposta, exceto no caso de uma [mensagem unidirecional entre máquinas](#message-sessions-on-other-machines), que não traz endereço de resposta.

187 

188Este exemplo é uma mensagem que um Claude escreveu para outro, da forma como seu texto completo aparece quando você a expande:

185 189 

186```text wrap theme={null}190```text wrap theme={null}

187Schema migration finished191Schema migration finished

188The new column is tenant_id, and rebasing on main is safe now.192The new column is tenant_id, and rebasing on main is safe now.

189```193```

190 194 

191### Controlar mensagens chegando195### Controlar mensagens recebidas

192 196 

193Defina [`crossSessionInbound`](https://code.claude.com/docs/pt/settings-reference#crosssessioninbound) para escolher o que uma sessão faz com mensagens chegando de suas outras sessões:197Defina [`crossSessionInbound`](https://code.claude.com/docs/pt/settings-reference#crosssessioninbound) para escolher o que uma sessão faz com as mensagens que chegam de suas outras sessões:

194 198 

195| Valor | Comportamento |199| Valor | Comportamento |

196| :- | :- |200| :- | :- |

197| `accept` | Claude Code entrega cada mensagem a Claude |201| `accept` | O Claude Code entrega cada mensagem ao Claude |

198| `hold` | Claude Code mostra um aviso para cada mensagem e não a entrega. Se um `accept` depois se aplicar, por as [regras de precedência](https://code.claude.com/docs/pt/settings-reference.md#crosssessioninbound), Claude Code libera as mensagens retidas |202| `hold` | O Claude Code mostra um aviso para cada mensagem e não a entrega. Se um `accept` passar a se aplicar depois, conforme as [regras de precedência](https://code.claude.com/docs/pt/settings-reference.md#crosssessioninbound), o Claude Code libera as mensagens retidas |

199| `refuse` | Claude Code descarta cada mensagem sem entregá-la |203| `refuse` | O Claude Code descarta cada mensagem sem entregá-la |

200 204 

201Além de editar um arquivo de configurações, você pode selecionar o valor na linha `/config` **Messages from your other sessions**. Claude Code escreve o valor que você seleciona para suas configurações de usuário. A linha requer Claude Code v2.1.232 ou posterior e não aparece enquanto configurações gerenciadas ou a flag `--settings` define a chave, já que um valor de configurações de usuário não se aplicaria então. Claude Code rejeita o atalho `/config crossSessionInbound=value` para essa chave.205Além de editar um arquivo de configurações, você pode selecionar o valor na linha **Messages from your other sessions** do `/config`. O Claude Code grava o valor selecionado nas suas configurações de usuário. A linha requer o Claude Code v2.1.232 ou posterior e não aparece enquanto as configurações gerenciadas ou a flag `--settings` definem a chave, já que um valor nas configurações de usuário não se aplicaria nesse caso. O Claude Code rejeita o atalho `/config crossSessionInbound=value` para essa chave.

202 206 

203Para ver qual valor se aplica, siga as regras de precedência `crossSessionInbound` na [referência de configurações](https://code.claude.com/docs/pt/settings-reference.md#crosssessioninbound).207Para ver qual valor se aplica, siga as regras de precedência de `crossSessionInbound` na [referência de configurações](https://code.claude.com/docs/pt/settings-reference.md#crosssessioninbound).

204 208 

205Quando nenhum valor se aplica, Claude Code decide por mensagem das duas classes de modo de permissão das sessões. Agrupa sessões que [contornam prompts de permissão](https://code.claude.com/docs/pt/permission-modes.md#skip-all-checks-with-bypasspermissions-mode) em uma classe, e toda outra sessão na outra. Plan mode conta como contornando em sessões com permissões de bypass disponíveis, e [auto](https://code.claude.com/docs/pt/permission-modes.md#eliminate-prompts-with-auto-mode), `acceptEdits` e `dontAsk` contam como solicitando:209Quando nenhum valor se aplica, o Claude Code decide por mensagem com base nos modos de permissão das duas sessões. Ele agrupa as sessões que [ignoram prompts de permissão](https://code.claude.com/docs/pt/permission-modes.md#skip-all-checks-with-bypasspermissions-mode) em uma classe e todas as outras sessões na outra. O modo de planejamento conta como ignorando prompts em sessões interativas de terminal com o bypass de permissões disponível, e [auto](https://code.claude.com/docs/pt/permission-modes.md#eliminate-prompts-with-auto-mode), `acceptEdits` e `dontAsk` contam como solicitando permissão:

206 210 

207* **A sessão receptora solicita permissões**: Claude Code entrega cada mensagem. Retém uma apenas para sua aprovação quando a sessão de envio se identifica como contornando prompts de permissão.211* **A sessão receptora solicita permissões**: o Claude Code entrega cada mensagem. Ele retém uma para sua aprovação somente quando a sessão remetente se identifica como uma sessão que ignora prompts de permissão.

208* **A sessão receptora contorna prompts de permissão**: Claude Code retém cada mensagem para sua aprovação. Entrega uma apenas quando a sessão de envio se identifica como também contornando.212* **A sessão receptora ignora prompts de permissão**: o Claude Code retém cada mensagem para sua aprovação. Ele entrega uma somente quando a sessão remetente se identifica como também ignorando prompts.

209 213 

210Quando o padrão retém uma mensagem em uma sessão interativa de terminal, Claude Code abre um diálogo de aprovação ali. O diálogo mostra o remetente e uma prévia:214Quando o comportamento padrão retém uma mensagem em uma sessão interativa de terminal, o Claude Code abre ali uma caixa de diálogo de aprovação. A caixa de diálogo mostra o remetente e uma prévia:

211 215 

212* **Approve** entrega essa mensagem a Claude.216* **Approve** entrega aquela mensagem ao Claude.

213* **Deny**, ou descartar o diálogo, a descarta.217* **Deny**, ou fechar a caixa de diálogo, a descarta.

214* Quando o diálogo fica sem resposta após o prazo [`dialogExpiry`](https://code.claude.com/docs/pt/settings-reference#dialogexpiry), Claude Code o fecha e descarta a mensagem. O prazo padrão é cinco minutos.218* Quando a caixa de diálogo fica sem resposta além do prazo de [`dialogExpiry`](https://code.claude.com/docs/pt/settings-reference#dialogexpiry), o Claude Code a fecha e descarta a mensagem. O prazo padrão é de cinco minutos.

215* Enquanto nenhum terminal está anexado a uma [sessão em background](https://code.claude.com/docs/pt/agent-view.md), Claude Code deixa o diálogo aberto após o prazo. Depois que você anexa, se o diálogo fica sem resposta por um período de prazo completo, Claude Code o fecha e descarta a mensagem.219* Enquanto nenhum terminal estiver conectado a uma [sessão em segundo plano](https://code.claude.com/docs/pt/agent-view.md), o Claude Code mantém a caixa de diálogo aberta além do prazo. Depois que você se conecta, se a caixa de diálogo ficar sem resposta durante um período de prazo completo, o Claude Code a fecha e descarta a mensagem.

216* Se a classe de modo de permissão dessa sessão muda enquanto mensagens estão retidas, Claude Code re-aplica as regras de entrada, entrega as mensagens que agora aceita, e mostra um aviso.220* Se a classe de modo de permissão desta sessão mudar enquanto houver mensagens retidas, o Claude Code reaplica as regras de entrada, entrega as mensagens que agora são aceitas e mostra um aviso.

217 221 

218Uma sessão na extensão do VS Code ou no app Desktop não pode mostrar o diálogo. Claude Code mantém uma mensagem retida ali até o mesmo prazo, como [Sessões não-interativas](#non-interactive-sessions) descreve.222Uma sessão na extensão do VS Code ou no aplicativo Desktop não pode mostrar a caixa de diálogo. O Claude Code mantém uma mensagem retida ali até o mesmo prazo, conforme descrito em [Sessões não interativas](#non-interactive-sessions).

219 223 

220Claude Code retém no máximo 100 mensagens, e além disso descarta a mais antiga.224O Claude Code retém no máximo 100 mensagens e, além disso, descarta as mais antigas.

221 225 

222### Sessões não-interativas226### Sessões não interativas

223 227 

224Claude Code vincula um socket de caixa de entrada para uma sessão [`claude -p`](https://code.claude.com/docs/pt/headless) como uma interativa, então um worker `-p` de longa duração pode receber mensagens e aparece na listagem. Quando você inicia uma sessão em [modo bare](https://code.claude.com/docs/pt/headless.md#start-faster-with-bare-mode), Claude Code não vincula o socket, então essa sessão não pode receber mensagens e não aparece na lista de agentes.228O Claude Code vincula um socket de caixa de entrada para uma sessão [`claude -p`](https://code.claude.com/docs/pt/headless) da mesma forma que para uma interativa, de modo que um worker `-p` de longa duração pode receber mensagens e aparece na listagem. Quando você inicia uma sessão no [modo bare](https://code.claude.com/docs/pt/headless.md#start-faster-with-bare-mode), o Claude Code não vincula o socket, portanto essa sessão não pode receber mensagens e não aparece na lista de agentes.

225 229 

226Uma sessão `-p` não pode mostrar o diálogo de aprovação. Quando o [padrão de entrada](#control-inbound-messages) retém uma mensagem lá, Claude Code a mantém pelo mesmo prazo [`dialogExpiry`](https://code.claude.com/docs/pt/settings-reference#dialogexpiry) que o diálogo usa, cinco minutos por padrão:230Uma sessão `-p` não pode mostrar a caixa de diálogo de aprovação. Quando o [comportamento padrão de entrada](#control-inbound-messages) retém uma mensagem ali, o Claude Code a mantém pelo mesmo prazo de [`dialogExpiry`](https://code.claude.com/docs/pt/settings-reference#dialogexpiry) usado pela caixa de diálogo, cinco minutos por padrão:

227 231 

228* **Antes do prazo**: se um modo ou mudança de configurações permite a mensagem, Claude Code a entrega.232* **Antes do prazo**: se uma mudança de modo ou de configurações permitir a mensagem, o Claude Code a entrega.

229* **Após o prazo**: Claude Code descarta a mensagem e a relata como expirada a um remetente que pode alcançar.233* **Após o prazo**: o Claude Code descarta a mensagem e a informa como expirada a um remetente que ele consiga alcançar.

230 234 

231Defina `dialogExpiry` para `"never"` para manter mensagens padrão-retidas até a sessão terminar. Uma mensagem retida por uma configuração `hold` explícita não expira; Claude Code a entrega quando um `accept` depois se aplica.235Defina `dialogExpiry` como `"never"` para manter as mensagens retidas pelo padrão até o fim da sessão. Uma mensagem retida por uma configuração `hold` explícita não expira; o Claude Code a entrega quando um `accept` passa a se aplicar depois.

232 236 

233Para deixar um worker `-p` receber mensagens desatendido, inicie-o com `crossSessionInbound` definido para `accept` em seu valor `--settings`. Um `accept` em suas configurações de usuário também funciona mas se aplica a cada sessão que você executa.237Para permitir que um worker `-p` receba mensagens sem supervisão, inicie-o com `crossSessionInbound` definido como `accept` no seu valor de `--settings`. Um `accept` nas suas configurações de usuário também funciona, mas se aplica a todas as sessões que você executa.

234 238 

235### O socket de caixa de entrada da sessão239### O socket de caixa de entrada da sessão

236 240 

237Leia esta seção quando uma sessão que você espera não está na lista de agentes, quando você quer um script ou hook para postar em uma sessão, ou quando um comando sandboxed não consegue alcançar o socket.241Leia esta seção quando uma sessão esperada não estiver na lista de agentes, quando você quiser que um script ou hook publique em uma sessão, ou quando um comando em sandbox não conseguir alcançar o socket.

238 242 

239Claude Code vincula um socket de caixa de entrada para cada sessão com cross-session messaging habilitado, onde outras sessões na máquina entregam mensagens. O socket é um socket de domínio Unix em macOS e Linux, incluindo Linux dentro de WSL 2, e um pipe nomeado no Windows nativo. Para quais tipos de sessão vinculam um, veja [Sessões não-interativas](#non-interactive-sessions).243O Claude Code vincula um socket de caixa de entrada para cada sessão com mensagens entre sessões habilitadas, no qual outras sessões da máquina entregam mensagens. O socket é um Unix domain socket no macOS e no Linux, incluindo o Linux dentro do WSL 2, e um named pipe no Windows nativo. Para saber quais tipos de sessão vinculam um socket, consulte [Sessões não interativas](#non-interactive-sessions).

240 244 

241Você pode encontrar o caminho do socket em dois lugares:245Você pode encontrar o caminho do socket em dois lugares:

242 246 

243* `/status` o mostra na linha `Peer address`. O caminho é prefixado com `uds:`.247* O `/status` o mostra na linha `Peer address`. O caminho tem o prefixo `uds:`.

244* Claude Code o exporta para [hooks](https://code.claude.com/docs/pt/hooks.md) e comandos Bash como a variável de ambiente [`CLAUDE_CODE_MESSAGING_SOCKET`](https://code.claude.com/docs/pt/env-vars#variables):248* O Claude Code o exporta para [hooks](https://code.claude.com/docs/pt/hooks.md) e comandos Bash como a variável de ambiente [`CLAUDE_CODE_MESSAGING_SOCKET`](https://code.claude.com/docs/pt/env-vars#variables):

245 * Em uma sessão que inicia com messaging ativado, Claude Code exporta a variável antes de qualquer hook executar, incluindo `SessionStart`.249 * Em uma sessão que inicia com as mensagens ativadas, o Claude Code exporta a variável antes da execução de qualquer hook, incluindo `SessionStart`.

246 250 

247Em macOS e Linux, Claude Code restringe o socket ao seu usuário do sistema operacional. No Windows nativo, em vez disso requer que cada conexão se autentique primeiro com uma chave que apenas seu usuário do sistema operacional pode ler. De qualquer forma, em uma máquina compartilhada as sessões de outro usuário não podem entregar a ela.251No macOS e no Linux, o Claude Code restringe o socket ao seu usuário do sistema operacional. No Windows nativo, ele exige que cada conexão se autentique primeiro com uma chave que somente o seu usuário do sistema operacional pode ler. De qualquer forma, em uma máquina compartilhada, as sessões de outro usuário não podem entregar mensagens a ele.

248 252 

249Em macOS e Linux, Claude Code também recusa criar o socket em um diretório que não consegue aceitar, por exemplo um que outro usuário possui, e usa um diretório privado por usuário, `/tmp/cc-socks-<uid>`, em vez disso. Quando não consegue aceitar nenhum diretório, a sessão executa sem uma caixa de entrada: Claude Code mostra um aviso, `/status` mostra `unavailable` e a razão em sua linha `Peer address`, e o log [`--debug`](https://code.claude.com/docs/pt/cli-reference#cli-flags) registra a recusa completa.253No macOS e no Linux, o Claude Code também se recusa a criar o socket em um diretório que não pode aceitar, por exemplo, um que pertença a outro usuário, e usa em vez disso um diretório privado por usuário, `/tmp/cc-socks-<uid>`. Quando não consegue aceitar nenhum diretório, a sessão é executada sem caixa de entrada: o Claude Code mostra um aviso, o `/status` mostra `unavailable` e o motivo na linha `Peer address`, e o log de [`--debug`](https://code.claude.com/docs/pt/cli-reference#cli-flags) registra a recusa completa.

250 254 

251Ao lado do caminho do socket, Claude Code exporta um token por sessão como [`CLAUDE_CODE_MESSAGING_TOKEN`](https://code.claude.com/docs/pt/env-vars#variables). Um script postando para o socket da sua própria sessão pode enviar `{"type":"auth","token":"<token>"}` como a primeira linha de sua conexão, onde `<token>` é o valor de `CLAUDE_CODE_MESSAGING_TOKEN`. Se Claude Code requer a linha depende da plataforma:255Junto com o caminho do socket, o Claude Code exporta um token por sessão como [`CLAUDE_CODE_MESSAGING_TOKEN`](https://code.claude.com/docs/pt/env-vars#variables). Um script que publica no socket da sua própria sessão pode enviar `{"type":"auth","token":"<token>"}` como a primeira linha da sua conexão, onde `<token>` é o valor de `CLAUDE_CODE_MESSAGING_TOKEN`. Se o Claude Code exige a linha depende da plataforma:

252 256 

253* **macOS e Linux, incluindo WSL 2**: a linha é opcional. Claude Code aceita uma conexão com ou sem ela.257* **macOS e Linux, incluindo o WSL 2**: a linha é opcional. O Claude Code aceita uma conexão com ou sem ela.

254* **Windows nativo**: a linha é obrigatória. Claude Code fecha qualquer conexão cuja primeira linha não é uma linha de autenticação válida e não entrega nada dessa conexão.258* **Windows nativo**: a linha é obrigatória. O Claude Code fecha qualquer conexão cuja primeira linha não seja uma linha de autenticação válida e não entrega nada dessa conexão.

255 259 

256Abra a conexão apenas quando a mensagem que você está postando está pronta. Claude Code fecha uma conexão que não enviou uma linha completa dentro de 30 segundos, então capture a saída de um comando lento primeiro e depois abra a conexão para enviá-la.260Abra a conexão somente quando a mensagem que você vai publicar estiver pronta. O Claude Code fecha uma conexão que não enviou uma linha completa em 30 segundos, portanto capture primeiro a saída de um comando lento e só então abra a conexão para enviá-la.

257 261 

258Claude Code executa mensagens chegando no socket através dos mesmos [controles de entrada](#control-inbound-messages) que qualquer outra mensagem peer, com uma exceção e um pré-requisito:262O Claude Code submete as mensagens que chegam pelo socket aos mesmos [controles de entrada](#control-inbound-messages) que qualquer outra mensagem entre sessões, com uma exceção e um pré-requisito:

259 263 

260* **Mensagens own-child**: quando nenhum valor `crossSessionInbound` se aplica, Claude Code entrega uma mensagem que verifica veio dos processos filhos da própria sessão, como um hook ou comando Bash postando de volta para o socket da própria sessão.264* **Mensagens dos próprios processos filhos**: quando nenhum valor de `crossSessionInbound` se aplica, o Claude Code entrega uma mensagem que ele verifica ter vindo dos próprios processos filhos da sessão, como um hook ou comando Bash publicando de volta no socket da sua própria sessão.

261 * Em Linux, incluindo dentro de WSL 2, Claude Code pode verificar por evidência de processo mesmo para um filho que já saiu. Em macOS pode verificar assim apenas enquanto o processo de postagem ainda está executando, e em um contêiner onde Claude Code executa como ID de processo 1 não tem evidência de processo. No Windows nativo também não tem.265 * No Linux, incluindo dentro do WSL 2, o Claude Code pode verificar por evidência de processo mesmo para um processo filho que já foi encerrado. No macOS, ele só pode verificar dessa forma enquanto o processo que publica ainda estiver em execução e, em um contêiner onde o Claude Code é executado como processo de ID 1, ele não tem nenhuma evidência de processo. No Windows nativo, ele também não tem nenhuma.

262 * Em macOS depois que o processo de postagem saiu e em contêineres onde Claude Code executa como ID de processo 1, essa evidência de processo está faltando, e Claude Code em vez disso verifica um filho que enviou o [`CLAUDE_CODE_MESSAGING_TOKEN`](https://code.claude.com/docs/pt/env-vars#variables) exportado da sessão na linha de autenticação que abriu sua conexão. No Windows nativo, esse token é a única forma que Claude Code verifica uma mensagem own-child.266 * No macOS, depois que o processo que publica foi encerrado, e em contêineres onde o Claude Code é executado como processo de ID 1, essa evidência de processo está ausente, e o Claude Code verifica, em vez disso, um processo filho que enviou o [`CLAUDE_CODE_MESSAGING_TOKEN`](https://code.claude.com/docs/pt/env-vars#variables) exportado da sessão na linha de autenticação que abriu sua conexão. No Windows nativo, esse token é a única forma pela qual o Claude Code verifica uma mensagem de um processo filho próprio.

263 * Quando Claude Code não consegue verificar de nenhuma forma, trata a mensagem como qualquer outra que não afirma nenhuma classe de permissão, então uma sessão que contorna prompts de permissão a retém para sua aprovação.267 * Quando o Claude Code não consegue verificar de nenhuma das duas formas, ele trata a mensagem como qualquer outra que não declara nenhuma classe de permissão, de modo que uma sessão que ignora prompts de permissão a retém para sua aprovação.

264* **Sessões sandboxed**: controle se um comando Bash pode alcançar o socket de dentro do [sandbox](https://code.claude.com/docs/pt/sandboxing.md) com as configurações de socket Unix do sandbox, [`sandbox.network.allowAllUnixSockets` e `sandbox.network.allowUnixSockets`](https://code.claude.com/docs/pt/settings-reference#sandbox-settings).268* **Sessões em sandbox**: controle se um comando Bash pode alcançar o socket de dentro do [sandbox](https://code.claude.com/docs/pt/sandboxing.md) com as configurações de Unix socket do sandbox, [`sandbox.network.allowAllUnixSockets` e `sandbox.network.allowUnixSockets`](https://code.claude.com/docs/pt/settings-reference#sandbox-settings).

265 269 

266## Restringir cross-session messaging270## Restringir cross-session messaging

267 271 

desktop.md +31 −22

Details

69* **Usar a sugestão**: pressione **Tab** ou **Seta para a direita** para colocá-la na caixa de prompt, edite-a se quiser e pressione **Enter** para enviá-la. Pressionar **Enter** antes de aceitar a sugestão não a envia.69* **Usar a sugestão**: pressione **Tab** ou **Seta para a direita** para colocá-la na caixa de prompt, edite-a se quiser e pressione **Enter** para enviá-la. Pressionar **Enter** antes de aceitar a sugestão não a envia.

70* **Escrever seu próprio prompt**: comece a digitar. A sugestão aparece apenas enquanto a caixa de prompt está vazia e não tem arquivos anexados.70* **Escrever seu próprio prompt**: comece a digitar. A sugestão aparece apenas enquanto a caixa de prompt está vazia e não tem arquivos anexados.

71 71 

72Acesse **Settings > Claude Code** e desative **Prompt suggestions** em **Sessions** para interromper as sugestões em cada sessão a partir da próxima vez que ela for iniciada ou retomada.72Desative **Prompt suggestions** em **Settings > Code** ou **Settings > Claude Code** para interromper as sugestões. Cada sessão deixa de mostrá-las na próxima vez que for iniciada ou retomada.

73 73 

74### Adicionar arquivos e contexto aos prompts74### Adicionar arquivos e contexto aos prompts

75 75 


92| **Accept edits** | `acceptEdits` | Claude aceita automaticamente edições de arquivo e comandos comuns do sistema de arquivos como `mkdir`, `touch` e `mv`, mas ainda pergunta antes de executar outros comandos de terminal. Use isso quando você confia em alterações de arquivo e quer iteração mais rápida. |92| **Accept edits** | `acceptEdits` | Claude aceita automaticamente edições de arquivo e comandos comuns do sistema de arquivos como `mkdir`, `touch` e `mv`, mas ainda pergunta antes de executar outros comandos de terminal. Use isso quando você confia em alterações de arquivo e quer iteração mais rápida. |

93| **Plan** | `plan` | Claude lê arquivos e executa comandos para explorar, depois propõe um plano sem editar seu código-fonte. Bom para tarefas complexas onde você quer revisar a abordagem primeiro. |93| **Plan** | `plan` | Claude lê arquivos e executa comandos para explorar, depois propõe um plano sem editar seu código-fonte. Bom para tarefas complexas onde você quer revisar a abordagem primeiro. |

94| **Auto** | `auto` | Claude executa sem prompts de rotina; antes de ações como comandos shell e requisições de rede serem executadas, um classificador em segundo plano verifica se elas se alinham com sua solicitação. Aparece quando [o modo auto está disponível](#auto-mode-availability); não há toggle de Configurações separado para isso. |94| **Auto** | `auto` | Claude executa sem prompts de rotina; antes de ações como comandos shell e requisições de rede serem executadas, um classificador em segundo plano verifica se elas se alinham com sua solicitação. Aparece quando [o modo auto está disponível](#auto-mode-availability); não há toggle de Configurações separado para isso. |

95| **Bypass permissions** | `bypassPermissions` | Claude é executado sem prompts de permissão, exceto para as [ações que nenhum modo aprova automaticamente](https://code.claude.com/docs/pt/permission-modes.md#actions-no-mode-auto-approves), classificadores de segurança quando Claude [atua em sites externos](#browse-external-sites), ou ações de desktop como excluir uma sessão, embora não [arquivar uma](#work-across-sessions). Equivalente a `--dangerously-skip-permissions` no CLI. Em planos Pro e Max, ative em suas Configurações → Claude Code em "Allow bypass permissions mode"; em planos Team e Enterprise não há toggle de Configurações, e a política organizacional controla isso. Use apenas em containers ou VMs sandboxed. |95| **Bypass permissions** | `bypassPermissions` | Claude é executado sem prompts de permissão, exceto para as [ações que nenhum modo aprova automaticamente](https://code.claude.com/docs/pt/permission-modes.md#actions-no-mode-auto-approves), classificadores de segurança quando Claude [atua em sites externos](#browse-external-sites), ou ações de desktop como excluir uma sessão, embora não [arquivar uma](#work-across-sessions). Equivalente a `--dangerously-skip-permissions` no CLI. Em planos Pro e Max, ative "Allow bypass permissions mode" em **Settings > Code** ou **Settings > Claude Code**. Em planos Team e Enterprise não há toggle de Configurações, e a política da organização controla isso. Use apenas em containers ou VMs sandboxed. |

96 96 

97Versões anteriores da aba Code rotulavam esses modos como Ask permissions, Auto accept edits e Plan mode.97Versões anteriores da aba Code rotulavam esses modos como Ask permissions, Auto accept edits e Plan mode.

98 98 


100 100 

101> [!TIP]101> [!TIP]

102>102>

103> Comece tarefas complexas em Plan para que Claude mapeie uma abordagem antes de fazer alterações. Depois de aprovar o plano, mude para Accept edits ou Manual para executá-lo. Veja [explorar primeiro, depois planejar, depois codificar](https://code.claude.com/docs/pt/best-practices.md#explore-first-then-plan-then-code) para mais sobre esse fluxo de trabalho.103> Comece tarefas complexas em Plan para que Claude mapeie uma abordagem antes de fazer alterações. Depois de aprovar o plano, mude para Accept edits ou Manual para executá-lo. Veja [modo de planejamento](https://code.claude.com/docs/pt/permission-modes.md#analyze-before-you-edit-with-plan-mode) para mais sobre esse fluxo de trabalho.

104 104 

105Sessões na nuvem suportam Accept edits, Plan e Auto. Accept edits corresponde ao modo `default`: sessões na nuvem pré-aprovam edições de arquivo, então o seletor mostra Accept edits em vez de Manual. Bypass permissions não está disponível em sessões na nuvem, incluindo sessões em um [ambiente auto-hospedado](https://code.claude.com/docs/pt/self-hosted-environments).105Sessões na nuvem suportam Accept edits, Plan e Auto. Accept edits corresponde ao modo `default`: sessões na nuvem pré-aprovam edições de arquivo, então o seletor mostra Accept edits em vez de Manual. Bypass permissions não está disponível em sessões na nuvem, incluindo sessões em um [ambiente auto-hospedado](https://code.claude.com/docs/pt/self-hosted-environments).

106 106 


133 133 

134Claude cria a configuração inicial do servidor com base em seu projeto. Se seu aplicativo usa um comando dev personalizado, edite `.claude/launch.json` para corresponder à sua configuração. Veja [Configurar servidores de visualização](#configure-preview-servers) para a referência completa.134Claude cria a configuração inicial do servidor com base em seu projeto. Se seu aplicativo usa um comando dev personalizado, edite `.claude/launch.json` para corresponder à sua configuração. Veja [Configurar servidores de visualização](#configure-preview-servers) para a referência completa.

135 135 

136Para limpar os dados salvos do navegador, selecione **Clear browsing data** no menu **⋮** do painel de navegador. Para desativar o navegador completamente, desative **Browser tools** em **Settings > Claude Code**.136Para limpar os dados salvos do navegador, selecione **Clear browsing data** no menu **⋮** do painel de navegador. Para desativar o navegador completamente, desative **Browser tools** em **Settings > Code** ou **Settings > Claude Code**.

137 137 

138### Navegar em sites externos138### Navegar em sites externos

139 139 


164 164 

165### Revisar alterações com visualização de diff165### Revisar alterações com visualização de diff

166 166 

167Depois que Claude faz alterações em seu código, a visualização de diff permite que você revise modificações arquivo por arquivo antes de criar um pull request. Para abrir a visualização de diff, clique nas contagens de linhas, como `+12 -1`, no cartão **Changes** do [painel de detalhes da sessão](#see-session-details). Você também pode clicar em **Changes** na barra de título da sessão.167Depois que Claude faz alterações em seu código, a visualização de diff permite que você revise modificações arquivo por arquivo antes de criar um pull request. Para abrir a visualização de diff, clique nas contagens de linhas, como `+12 -1`, no cartão **Changes** do [painel de detalhes da sessão](#see-session-details). Você também pode clicar em **Changes** na barra de título da sessão. O diff de uma sessão na nuvem em relação ao branch base pode [deixar de fora alterações que ainda não receberam push](https://code.claude.com/docs/pt/claude-code-on-the-web.md#troubleshoot-a-missing-file-in-the-diff-view).

168 168 

169Para comentar em linhas específicas, clique em qualquer linha no diff para abrir uma caixa de comentário. Digite seu feedback e pressione **Enter** para adicionar o comentário. Depois de adicionar comentários a várias linhas, envie todos os comentários de uma vez:169Para comentar em linhas específicas, passe o mouse sobre uma linha e clique no **+** que aparece ao lado do número dela para abrir uma caixa de comentário. Digite seu feedback e pressione **Enter** para adicionar o comentário. Depois de adicionar comentários a várias linhas, envie todos os comentários de uma vez:

170 170 

171* **macOS**: pressione **Cmd+Enter**171* **macOS**: pressione **Cmd+Enter**

172* **Windows**: pressione **Ctrl+Enter**172* **Windows**: pressione **Ctrl+Enter**


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

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

196 196 

197Para arquivar a sessão automaticamente assim que o PR for mesclado ou fechado, ative [auto-archive](#archive-a-session) em **Settings > Claude Code**.197Para arquivar a sessão automaticamente assim que o PR for mesclado ou fechado, ative [auto-archive](#archive-a-session) em **Settings > Code** ou **Settings > Claude Code**.

198 198 

199> [!NOTE]199> [!NOTE]

200>200>


275* **Cmd+Ctrl**: pressione **Ctrl+Alt**275* **Cmd+Ctrl**: pressione **Ctrl+Alt**

276* **Cmd**: pressione **Ctrl**276* **Cmd**: pressione **Ctrl**

277 277 

278Ciclagem de sessão, alternância de terminal e alternância de modo de visualização usam **Ctrl** em todas as plataformas.278Os atalhos que começam com `Ctrl` permanecem os mesmos em todas as plataformas.

279 279 

280| Atalho | Ação |280| Atalho | Ação |

281| - | - |281| - | - |


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

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

286| `Cmd` `W` | Fechar sessão |286| `Cmd` `W` | Fechar sessão |

287| `Ctrl` `Tab` / `Ctrl` `Shift` `Tab` | Próxima ou sessão anterior |287| `Ctrl` `Tab` / `Ctrl` `Shift` `Tab` | Alternar entre sessões |

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

289| `Esc` | Parar resposta de Claude |289| `Esc` | Parar resposta de Claude |

290| `Tab` / `Right arrow` | [Aceitar o prompt sugerido](#accept-a-suggested-prompt) em uma caixa de prompt vazia |290| `Tab` / `Right arrow` | [Aceitar o prompt sugerido](#accept-a-suggested-prompt) em uma caixa de prompt vazia |


352 352 

353**2. Ativar o toggle**353**2. Ativar o toggle**

354 354 

355No aplicativo desktop, vá para **Configurações > Este computador > Sistema**. Em **Computer use**, ative **Enable computer use**. No Windows, o toggle entra em efeito imediatamente e a configuração está completa. No macOS, continue para o próximo passo.355No aplicativo desktop, abra **Configurações** e então:

356 

357* **Se o menu Configurações listar Este computador**: vá para **Este computador > Sistema**

358* **Caso contrário**: vá para **Recursos**

359 

360Em **Computer use**, ative **Enable computer use**:

361 

362* **Windows**: o toggle entra em efeito imediatamente e a configuração está completa

363* **macOS**: continue para o próximo passo

356 364 

357Se você não vir o toggle, confirme que você está em macOS ou Windows com um plano Pro ou Max, depois atualize e reinicie o aplicativo.365Se você não vir o toggle, confirme que você está em macOS ou Windows com um plano Pro ou Max, depois atualize e reinicie o aplicativo.

358 366 


379 387 

380Aplicativos com alcance amplo, como terminais, Finder ou File Explorer, e System Settings ou Settings, mostram um aviso extra no prompt para que você saiba o que aprovar concede.388Aplicativos com alcance amplo, como terminais, Finder ou File Explorer, e System Settings ou Settings, mostram um aviso extra no prompt para que você saiba o que aprovar concede.

381 389 

382A seção **Computer use** em **Configurações > Este computador > Sistema** inclui estas opções:390Em Configurações, a seção **Computer use** onde você [ativou computer use](#enable-computer-use) inclui estas opções:

383 391 

384* **Denied apps**: adicione aplicativos aqui para rejeitá-los sem solicitar. Claude ainda pode afetar um aplicativo negado indiretamente através de ações em um aplicativo permitido, mas não pode interagir com o aplicativo negado diretamente.392* **Denied apps**: adicione aplicativos aqui para rejeitá-los sem solicitar. Claude ainda pode afetar um aplicativo negado indiretamente através de ações em um aplicativo permitido, mas não pode interagir com o aplicativo negado diretamente.

385* **Unhide apps when Claude finishes**: quando computer use não está sendo executado em segundo plano, Claude oculta suas outras janelas enquanto trabalha para que interaja apenas com o aplicativo aprovado. Quando Claude termina, as janelas ocultas são restauradas a menos que você desative essa configuração.393* **Unhide apps when Claude finishes**: quando computer use não está sendo executado em segundo plano, Claude oculta suas outras janelas enquanto trabalha para que interaja apenas com o aplicativo aprovado. Quando Claude termina, as janelas ocultas são restauradas a menos que você desative essa configuração.


390 398 

391### Trabalhar em paralelo com sessões399### Trabalhar em paralelo com sessões

392 400 

393Clique em **+ New** na barra lateral, ou pressione **Cmd+N** no macOS ou **Ctrl+N** no Windows, para trabalhar em múltiplas tarefas em paralelo. Pressione **Ctrl+Tab** e **Ctrl+Shift+Tab** para ciclar através de sessões na barra lateral.401Clique em **+ New** na barra lateral, ou pressione **Cmd+N** no macOS ou **Ctrl+N** no Windows, para trabalhar em múltiplas tarefas em paralelo. Pressione **Ctrl+Tab** e **Ctrl+Shift+Tab** para alternar entre sessões.

394 402 

395Você também pode abrir uma segunda sessão ao lado da sessão atual ou em uma janela própria:403Você também pode abrir uma segunda sessão ao lado da sessão atual ou em uma janela própria:

396 404 


401 409 

402#### Executar uma sessão em seu próprio worktree410#### Executar uma sessão em seu próprio worktree

403 411 

404Em um projeto que é um repositório Git, ative **Worktree** antes de iniciar uma sessão para executá-la em seu próprio [Git worktree](https://code.claude.com/docs/pt/worktrees.md), uma cópia isolada do projeto. Por padrão, **Worktree** fica desativado e Claude trabalha na própria pasta do projeto. Clique no controle da pasta do projeto na [linha abaixo da caixa de prompt](#start-a-session) e ative **Worktree**.412Em um projeto que é um repositório Git, ative **Worktree** antes de iniciar uma sessão para executá-la em seu próprio [Git worktree](https://code.claude.com/docs/pt/worktrees.md), uma cópia isolada do projeto. Por padrão, **Worktree** fica desativado e Claude trabalha na própria pasta do projeto. No [layout atual](#check-which-layout-you-have), ative o botão **Worktree** na [linha abaixo da caixa de prompt](#start-a-session).

405 413 

406* **Com um [ambiente salvo](#create-a-saved-environment)**: defina **Worktree** ao criar ou editar o ambiente414* **Com um [provedor terceirizado](https://code.claude.com/docs/pt/third-party-integrations.md)**: se a linha abaixo da caixa de prompt mostrar o controle da pasta do projeto, mas nenhum botão **Worktree**, clique nesse controle e ative **Worktree**

415* **Como padrão para um [ambiente local ou SSH salvo](#create-a-saved-environment)**: defina **Worktree** ao criar ou editar o ambiente

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

408 417 

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

410 419 

411* **Sessões locais**: defina **Worktree location** em **Settings > Claude Code**420* **Sessões locais**: defina **Worktree location** em **Settings > Code** ou **Settings > Claude Code**

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

413 422 

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

415 424 

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

417 426 


430 439 

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

432 441 

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

434 443 

435#### Manter alterações sem commit quando uma sessão é arquivada444#### Manter alterações sem commit quando uma sessão é arquivada

436 445 


527Uma sessão local se conecta quando você ativa o Remote Control para ela, ou quando ela se conecta automaticamente ao iniciar:536Uma sessão local se conecta quando você ativa o Remote Control para ela, ou quando ela se conecta automaticamente ao iniciar:

528 537 

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

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

531 540 

532Para ver se uma sessão está conectada, verifique o botão **Remote Control** no card **Environment** do [painel de detalhes da sessão](#see-session-details).541Para ver se uma sessão está conectada, verifique o botão **Remote Control** no card **Environment** do [painel de detalhes da sessão](#see-session-details).

533 542 

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

535 544 

536* **Uma sessão**: desative o botão **Remote Control** dela. Em uma sessão que se conectou ao iniciar, digitar `/remote-control` mantém o Remote Control ativado e mostra `Remote Control is already on. This session connected automatically when it started.` Clique em **Turn off** nessa linha para desconectar.545* **Uma sessão**: desative o botão **Remote Control** dela. Em uma sessão que se conectou ao iniciar, digitar `/remote-control` mantém o Remote Control ativado e mostra `Remote Control is already on. This session connected automatically when it started.` Clique em **Turn off** nessa linha para desconectar.

537* **Novas sessões do Desktop neste computador**: desative **Connect new sessions to Remote Control** em **Settings > Claude Code**. Se já aparecer desativado, ative e depois desative para que o Desktop salve sua escolha. Depois de salva, ela tem precedência sobre `remoteControlAtStartup` e os padrões.546* **Novas sessões do Desktop neste computador**: desative **Connect new sessions to Remote Control** em **Settings > Code** ou **Settings > Claude Code**. Se já aparecer desativado, ative e depois desative para que o Desktop salve sua escolha. Depois de salva, ela tem precedência sobre `remoteControlAtStartup` e os padrões.

538* **Qualquer sessão neste computador, incluindo o CLI**: defina [`disableRemoteControl`](https://code.claude.com/docs/pt/settings-reference#disableremotecontrol) como `true` em `~/.claude/settings.json` para impedir que as sessões se conectem. Uma sessão que já estava conectada quando você salvou o arquivo permanece conectada até que você desative o Remote Control para ela.547* **Qualquer sessão neste computador, incluindo o CLI**: defina [`disableRemoteControl`](https://code.claude.com/docs/pt/settings-reference#disableremotecontrol) como `true` em `~/.claude/settings.json` para impedir que as sessões se conectem. Uma sessão que já estava conectada quando você salvou o arquivo permanece conectada até que você desative o Remote Control para ela.

539 548 

540Para ocultar uma sessão que já aparece em seus outros dispositivos, arquive-a no Desktop. O Desktop também arquiva a cópia do Remote Control da sessão, de modo que ela sai da lista de sessões padrão nesses dispositivos. Para visualizá-la ou excluí-la lá, veja [Arquivar sessões](https://code.claude.com/docs/pt/claude-code-on-the-web.md#archive-sessions).549Para ocultar uma sessão que já aparece em seus outros dispositivos, arquive-a no Desktop. O Desktop também arquiva a cópia do Remote Control da sessão, de modo que ela sai da lista de sessões padrão nesses dispositivos. Para visualizá-la ou excluí-la lá, veja [Arquivar sessões](https://code.claude.com/docs/pt/claude-code-on-the-web.md#archive-sessions).


576> * **Connectors está desativado (acinzentado) em uma sessão WSL**: veja [Se o terminal ou os conectores não estiverem disponíveis](https://code.claude.com/docs/pt/desktop-wsl.md#check-for-the-terminal-and-connectors)585> * **Connectors está desativado (acinzentado) em uma sessão WSL**: veja [Se o terminal ou os conectores não estiverem disponíveis](https://code.claude.com/docs/pt/desktop-wsl.md#check-for-the-terminal-and-connectors)

577> * **Sessões na nuvem**: veja [Como os conectores chegam ao Claude Code](https://code.claude.com/docs/pt/mcp.md#how-connectors-reach-claude-code)586> * **Sessões na nuvem**: veja [Como os conectores chegam ao Claude Code](https://code.claude.com/docs/pt/mcp.md#how-connectors-reach-claude-code)

578 587 

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

580 589 

581Para integrações não listadas em Connectors, adicione servidores MCP manualmente via [arquivos de configuração](https://code.claude.com/docs/pt/mcp.md#installing-mcp-servers). Você também pode [criar conectores personalizados](https://support.claude.com/en/articles/11175166-getting-started-with-custom-connectors-using-remote-mcp).590Para integrações não listadas em Connectors, adicione servidores MCP manualmente via [arquivos de configuração](https://code.claude.com/docs/pt/mcp.md#installing-mcp-servers). Você também pode [criar conectores personalizados](https://support.claude.com/en/articles/11175166-getting-started-with-custom-connectors-using-remote-mcp).

582 591 


2028| `--model sonnet` | Seletor de modelo na linha abaixo da caixa de prompt |2037| `--model sonnet` | Seletor de modelo na linha abaixo da caixa de prompt |

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

2030| `--permission-mode` | Seletor de modo na linha abaixo da caixa de prompt |2039| `--permission-mode` | Seletor de modo na linha abaixo da caixa de prompt |

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

2032| `--add-dir` | [Adicione pastas a uma sessão](#add-folders-to-a-session) em sessões locais e SSH, ou selecione [vários repositórios](#run-long-running-tasks-in-the-cloud) em uma sessão na nuvem |2041| `--add-dir` | [Adicione pastas a uma sessão](#add-folders-to-a-session) em sessões locais e SSH, ou selecione [vários repositórios](#run-long-running-tasks-in-the-cloud) em uma sessão na nuvem |

2033| `--allowedTools`, `--disallowedTools` | Nenhum equivalente por sessão. Regras de permissão em [arquivos de configuração](https://code.claude.com/docs/pt/settings.md) ainda se aplicam. |2042| `--allowedTools`, `--disallowedTools` | Nenhum equivalente por sessão. Regras de permissão em [arquivos de configuração](https://code.claude.com/docs/pt/settings.md) ainda se aplicam. |

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


2088* **Equipes de agentes**: equipes coordenadas, onde Claude como líder da equipe atribui tarefas aos colegas de equipe de uma lista de tarefas compartilhada, estão disponíveis no [CLI](https://code.claude.com/docs/pt/agent-teams.md), não em Desktop. Para trabalho multi-agente dentro de uma sessão, use [dynamic workflows](https://code.claude.com/docs/pt/workflows.md), que são executados em Desktop; Claude também pode [enviar mensagens e gerenciar suas outras sessões](#work-across-sessions) diretamente.2097* **Equipes de agentes**: equipes coordenadas, onde Claude como líder da equipe atribui tarefas aos colegas de equipe de uma lista de tarefas compartilhada, estão disponíveis no [CLI](https://code.claude.com/docs/pt/agent-teams.md), não em Desktop. Para trabalho multi-agente dentro de uma sessão, use [dynamic workflows](https://code.claude.com/docs/pt/workflows.md), que são executados em Desktop; Claude também pode [enviar mensagens e gerenciar suas outras sessões](#work-across-sessions) diretamente.

2089* **Comandos terminal-dialog**: comandos integrados que abrem um painel interativo no terminal se comportam de forma diferente na aba Code. Edite [arquivos de configuração](https://code.claude.com/docs/pt/settings.md) diretamente para gerenciar regras de permissão e configuração, ou execute os comandos a partir do CLI autônomo.2098* **Comandos terminal-dialog**: comandos integrados que abrem um painel interativo no terminal se comportam de forma diferente na aba Code. Edite [arquivos de configuração](https://code.claude.com/docs/pt/settings.md) diretamente para gerenciar regras de permissão e configuração, ou execute os comandos a partir do CLI autônomo.

2090 * Comandos sem forma de argumento, como `/permissions`, respondem com `isn't available in this environment`.2099 * Comandos sem forma de argumento, como `/permissions`, respondem com `isn't available in this environment`.

2091 * `/config` abre **Configurações > Claude Code**.2100 * `/config` abre **Configurações > Code** ou **Configurações > Claude Code**.

2092 2101 

2093## Solução de problemas2102## Solução de problemas

2094 2103 

Details

135 135 

136As tarefas agendadas locais são executadas em sua máquina. O Desktop verifica o agendamento a cada minuto enquanto o aplicativo está aberto e inicia uma sessão nova quando uma tarefa está vencida, independentemente de qualquer sessão manual que você tenha aberta. Cada tarefa recebe um pequeno atraso de alguns minutos após o horário agendado para escalonar o tráfego de API. O atraso é determinístico: a mesma tarefa sempre inicia no mesmo deslocamento.136As tarefas agendadas locais são executadas em sua máquina. O Desktop verifica o agendamento a cada minuto enquanto o aplicativo está aberto e inicia uma sessão nova quando uma tarefa está vencida, independentemente de qualquer sessão manual que você tenha aberta. Cada tarefa recebe um pequeno atraso de alguns minutos após o horário agendado para escalonar o tráfego de API. O atraso é determinístico: a mesma tarefa sempre inicia no mesmo deslocamento.

137 137 

138As tarefas só são executadas enquanto o aplicativo desktop está em execução e seu computador está acordado. Se seu computador dormir durante um horário agendado, a execução é ignorada. Para evitar suspensão por inatividade, ative **Keep computer awake** em **Settings > This computer > System**. Fechar a tampa do laptop ainda o coloca em suspensão.138As tarefas só são executadas enquanto o aplicativo desktop está em execução e seu computador está acordado. Se seu computador dormir durante um horário agendado, a execução é ignorada. Para evitar suspensão por inatividade, ative **Keep computer awake** em **Settings > Desktop app** ou **Settings > This computer > System**. Fechar a tampa do laptop ainda o coloca em suspensão.

139 139 

140> [!NOTE]140> [!NOTE]

141>141>

env-vars.md +308 −306

Details

112 112 

113## Variáveis113## Variáveis

114 114 

115Variá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.115Variá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.

116 116 

117> [!NOTE]117> [!NOTE]

118>118>

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

120>120>

121> 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:121> 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:

122>122>

123> * `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`123> * `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`

124> * `DISABLE_TELEMETRY`124> * `DISABLE_TELEMETRY`


130 130 

131| Variável | Finalidade |131| Variável | Finalidade |

132| :- | :- |132| :- | :- |

133| `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` |133| `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ê tenha feito login. 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` |

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

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

136| `ANTHROPIC_AWS_BASE_URL` | Sobrescreve a URL do endpoint do [Claude Platform on AWS](https://code.claude.com/docs/pt/claude-platform-on-aws.md). Use para regiões personalizadas ou ao rotear por meio de um [gateway de LLM](https://code.claude.com/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](https://code.claude.com/docs/pt/amazon-bedrock.md#3-configure-claude-code) |136| `ANTHROPIC_AWS_BASE_URL` | Sobrescreve a URL do endpoint do [Claude Platform on AWS](https://code.claude.com/docs/pt/claude-platform-on-aws.md). Use para regiões personalizadas ou ao rotear por meio de um [gateway de LLM](https://code.claude.com/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](https://code.claude.com/docs/pt/amazon-bedrock.md#3-configure-claude-code) |

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

138| `ANTHROPIC_BASE_URL` | Sobrescreve o endpoint da API para rotear requisições por um proxy ou gateway. Para saber o que acontece quando esse gateway rejeita a busca de ferramentas MCP, consulte [Busca de ferramentas por um gateway de LLM](https://code.claude.com/docs/pt/mcp.md#tool-search-through-a-gateway). A partir da v2.1.196, o [Remote Control](https://code.claude.com/docs/pt/remote-control.md#requirements) fica desativado quando esta variável aponta para um host diferente de `api.anthropic.com`, igualando seu comportamento no Amazon Bedrock, no Google Cloud's Agent Platform e no Microsoft Foundry |138| `ANTHROPIC_BASE_URL` | Sobrescreve o endpoint da API para rotear requisições por meio de um proxy ou gateway. Para saber o que acontece quando esse gateway rejeita o MCP Tool Search, consulte [Tool search por meio de um gateway de LLM](https://code.claude.com/docs/pt/mcp.md#tool-search-through-a-gateway). A partir da v2.1.196, o [Remote Control](https://code.claude.com/docs/pt/remote-control.md#requirements) fica 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 |

139| `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](https://code.claude.com/docs/pt/llm-gateway). Consulte [Amazon Bedrock](https://code.claude.com/docs/pt/amazon-bedrock.md) |139| `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](https://code.claude.com/docs/pt/llm-gateway). Consulte [Amazon Bedrock](https://code.claude.com/docs/pt/amazon-bedrock.md) |

140| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Sobrescreve a URL do endpoint do Amazon Bedrock Mantle. Consulte [Endpoint Mantle](https://code.claude.com/docs/pt/amazon-bedrock.md#use-the-mantle-endpoint) |140| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Sobrescreve a URL do endpoint do Amazon Bedrock Mantle. Consulte [Endpoint Mantle](https://code.claude.com/docs/pt/amazon-bedrock.md#use-the-mantle-endpoint) |

141| `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](https://code.claude.com/docs/pt/amazon-bedrock.md#cross-region-inference-profile-prefixes) |141| `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 nas regiões AWS GovCloud. Requer o Claude Code v2.1.224 ou posterior. Consulte [Amazon Bedrock](https://code.claude.com/docs/pt/amazon-bedrock.md#cross-region-inference-profile-prefixes) |

142| `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](https://code.claude.com/docs/pt/amazon-bedrock.md#service-tiers) |142| `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](https://code.claude.com/docs/pt/amazon-bedrock.md#service-tiers) |

143| `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`](https://code.claude.com/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 |143| `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 isto para aderir a um [beta da Anthropic API](https://platform.claude.com/docs/en/api/beta-headers) antes que o Claude Code adicione suporte nativo. Diferentemente da [flag `--betas`](https://code.claude.com/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 |

144| `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](https://code.claude.com/docs/pt/errors.md#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](https://code.claude.com/docs/pt/server-managed-settings.md#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](https://code.claude.com/docs/pt/settings-reference#when-claude-code-applies-env-values) |144| `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](https://code.claude.com/docs/pt/errors.md#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](https://code.claude.com/docs/pt/server-managed-settings.md#environment-variables-and-the-approval-dialog) quando configurações gerenciadas pelo servidor o entregam. A partir de configurações de projeto ou locais, esse valor segue as [regras sobre quando os valores de `env` se aplicam](https://code.claude.com/docs/pt/settings-reference#when-claude-code-applies-env-values) |

145| `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](https://code.claude.com/docs/pt/model-config.md#add-a-custom-model-option) |145| `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 um gateway sem substituir os aliases integrados. Consulte [Configuração de modelos](https://code.claude.com/docs/pt/model-config.md#add-a-custom-model-option) |

146| `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 |146| `ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION` | Descrição exibida para a entrada do modelo personalizado no seletor `/model`. O padrão é `Custom model (<model-id>)` quando não definida |

147| `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](https://code.claude.com/docs/pt/model-config.md#customize-pinned-model-display-and-capabilities) e, caso contrário, o ID do modelo |147| `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` | Nome exibido para a entrada do modelo personalizado no seletor `/model`. Quando não definido, a entrada mostra o nome do modelo se o Claude Code [reconhecer o ID](https://code.claude.com/docs/pt/model-config.md#customize-pinned-model-display-and-capabilities) e, caso contrário, o ID do modelo |

148| `ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIES` | Lista separada por vírgulas de [capacidades](https://code.claude.com/docs/pt/model-config.md#customize-pinned-model-display-and-capabilities) que o modelo personalizado suporta, por exemplo `effort,thinking`. Consulte [Configuração de modelo](https://code.claude.com/docs/pt/model-config.md#customize-pinned-model-display-and-capabilities) |148| `ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIES` | Lista separada por vírgulas de [capacidades](https://code.claude.com/docs/pt/model-config.md#customize-pinned-model-display-and-capabilities) que o modelo personalizado suporta, por exemplo `effort,thinking`. Consulte [Configuração de modelos](https://code.claude.com/docs/pt/model-config.md#customize-pinned-model-display-and-capabilities) |

149| `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](https://code.claude.com/docs/pt/model-config.md#automatic-model-fallback) em provedores de terceiros. Consulte [Configuração de modelo](https://code.claude.com/docs/pt/model-config.md#environment-variables) |149| `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](https://code.claude.com/docs/pt/model-config.md#automatic-model-fallback) em provedores de terceiros. Consulte [Configuração de modelos](https://code.claude.com/docs/pt/model-config.md#environment-variables) |

150| `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](https://code.claude.com/docs/pt/model-config.md#customize-pinned-model-display-and-capabilities) |150| `ANTHROPIC_DEFAULT_FABLE_MODEL_DESCRIPTION` | Descrição exibida 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 modelos](https://code.claude.com/docs/pt/model-config.md#customize-pinned-model-display-and-capabilities) |

151| `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](https://code.claude.com/docs/pt/model-config.md#customize-pinned-model-display-and-capabilities) |151| `ANTHROPIC_DEFAULT_FABLE_MODEL_NAME` | Nome exibido 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 modelos](https://code.claude.com/docs/pt/model-config.md#customize-pinned-model-display-and-capabilities) |

152| `ANTHROPIC_DEFAULT_FABLE_MODEL_SUPPORTED_CAPABILITIES` | Lista separada por vírgulas de [capacidades](https://code.claude.com/docs/pt/model-config.md#customize-pinned-model-display-and-capabilities) que o modelo Fable fixado suporta, por exemplo `effort,thinking`. Consulte [Configuração de modelo](https://code.claude.com/docs/pt/model-config.md#customize-pinned-model-display-and-capabilities) |152| `ANTHROPIC_DEFAULT_FABLE_MODEL_SUPPORTED_CAPABILITIES` | Lista separada por vírgulas de [capacidades](https://code.claude.com/docs/pt/model-config.md#customize-pinned-model-display-and-capabilities) que o modelo Fable fixado suporta, por exemplo `effort,thinking`. Consulte [Configuração de modelos](https://code.claude.com/docs/pt/model-config.md#customize-pinned-model-display-and-capabilities) |

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

154| `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](https://code.claude.com/docs/pt/model-config.md#customize-pinned-model-display-and-capabilities) |154| `ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION` | Descrição exibida 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 modelos](https://code.claude.com/docs/pt/model-config.md#customize-pinned-model-display-and-capabilities) |

155| `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](https://code.claude.com/docs/pt/model-config.md#customize-pinned-model-display-and-capabilities) |155| `ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME` | Nome exibido 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 modelos](https://code.claude.com/docs/pt/model-config.md#customize-pinned-model-display-and-capabilities) |

156| `ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES` | Lista separada por vírgulas de [capacidades](https://code.claude.com/docs/pt/model-config.md#customize-pinned-model-display-and-capabilities) que o modelo Haiku fixado suporta, por exemplo `effort,thinking`. Consulte [Configuração de modelo](https://code.claude.com/docs/pt/model-config.md#customize-pinned-model-display-and-capabilities) |156| `ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES` | Lista separada por vírgulas de [capacidades](https://code.claude.com/docs/pt/model-config.md#customize-pinned-model-display-and-capabilities) que o modelo Haiku fixado suporta, por exemplo `effort,thinking`. Consulte [Configuração de modelos](https://code.claude.com/docs/pt/model-config.md#customize-pinned-model-display-and-capabilities) |

157| `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](https://code.claude.com/docs/pt/model-config.md#set-a-default-model-for-new-sessions) |157| `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](https://code.claude.com/docs/pt/model-config.md#set-a-default-model-for-new-sessions) |

158| `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](https://code.claude.com/docs/pt/model-config.md#environment-variables) |158| `ANTHROPIC_DEFAULT_OPUS_MODEL` | ID do modelo para o qual o alias `opus` é resolvido, e que o `opusplan` usa enquanto o modo de planejamento está ativo. Consulte [Configuração de modelos](https://code.claude.com/docs/pt/model-config.md#environment-variables) |

159| `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](https://code.claude.com/docs/pt/model-config.md#customize-pinned-model-display-and-capabilities) |159| `ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION` | Descrição exibida 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 modelos](https://code.claude.com/docs/pt/model-config.md#customize-pinned-model-display-and-capabilities) |

160| `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](https://code.claude.com/docs/pt/model-config.md#customize-pinned-model-display-and-capabilities) |160| `ANTHROPIC_DEFAULT_OPUS_MODEL_NAME` | Nome exibido 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 modelos](https://code.claude.com/docs/pt/model-config.md#customize-pinned-model-display-and-capabilities) |

161| `ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES` | Lista separada por vírgulas de [capacidades](https://code.claude.com/docs/pt/model-config.md#customize-pinned-model-display-and-capabilities) que o modelo Opus fixado suporta, por exemplo `effort,thinking`. Consulte [Configuração de modelo](https://code.claude.com/docs/pt/model-config.md#customize-pinned-model-display-and-capabilities) |161| `ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES` | Lista separada por vírgulas de [capacidades](https://code.claude.com/docs/pt/model-config.md#customize-pinned-model-display-and-capabilities) que o modelo Opus fixado suporta, por exemplo `effort,thinking`. Consulte [Configuração de modelos](https://code.claude.com/docs/pt/model-config.md#customize-pinned-model-display-and-capabilities) |

162| `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](https://code.claude.com/docs/pt/model-config.md#environment-variables) |162| `ANTHROPIC_DEFAULT_SONNET_MODEL` | ID do modelo para o qual o alias `sonnet` é resolvido, e que o `opusplan` usa quando o modo de planejamento não está ativo. Consulte [Configuração de modelos](https://code.claude.com/docs/pt/model-config.md#environment-variables) |

163| `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](https://code.claude.com/docs/pt/model-config.md#customize-pinned-model-display-and-capabilities) |163| `ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION` | Descrição exibida 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 modelos](https://code.claude.com/docs/pt/model-config.md#customize-pinned-model-display-and-capabilities) |

164| `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](https://code.claude.com/docs/pt/model-config.md#customize-pinned-model-display-and-capabilities) |164| `ANTHROPIC_DEFAULT_SONNET_MODEL_NAME` | Nome exibido 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 modelos](https://code.claude.com/docs/pt/model-config.md#customize-pinned-model-display-and-capabilities) |

165| `ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES` | Lista separada por vírgulas de [capacidades](https://code.claude.com/docs/pt/model-config.md#customize-pinned-model-display-and-capabilities) que o modelo Sonnet fixado suporta, por exemplo `effort,thinking`. Consulte [Configuração de modelo](https://code.claude.com/docs/pt/model-config.md#customize-pinned-model-display-and-capabilities) |165| `ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES` | Lista separada por vírgulas de [capacidades](https://code.claude.com/docs/pt/model-config.md#customize-pinned-model-display-and-capabilities) que o modelo Sonnet fixado suporta, por exemplo `effort,thinking`. Consulte [Configuração de modelos](https://code.claude.com/docs/pt/model-config.md#customize-pinned-model-display-and-capabilities) |

166| `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](https://code.claude.com/docs/pt/authentication.md#authentication-precedence) |166| `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](https://code.claude.com/docs/pt/authentication.md#authentication-precedence) |

167| `ANTHROPIC_FOUNDRY_API_KEY` | Chave de API para autenticação no Microsoft Foundry (consulte [Microsoft Foundry](https://code.claude.com/docs/pt/microsoft-foundry.md)) |167| `ANTHROPIC_FOUNDRY_API_KEY` | Chave de API para autenticação no Microsoft Foundry (consulte [Microsoft Foundry](https://code.claude.com/docs/pt/microsoft-foundry.md)) |

168| `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](https://code.claude.com/docs/pt/microsoft-foundry.md). Requer o Claude Code v2.1.203 ou posterior |168| `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](https://code.claude.com/docs/pt/microsoft-foundry.md). Requer o Claude Code v2.1.203 ou posterior |

169| `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](https://code.claude.com/docs/pt/microsoft-foundry.md)) |169| `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](https://code.claude.com/docs/pt/microsoft-foundry.md)) |

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

171| `ANTHROPIC_MODEL` | Nome da configuração de modelo a usar (consulte [Configuração de modelo](https://code.claude.com/docs/pt/model-config.md#environment-variables)) |171| `ANTHROPIC_MODEL` | Nome da configuração de modelo a usar (consulte [Configuração de modelos](https://code.claude.com/docs/pt/model-config.md#environment-variables)) |

172| `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](https://code.claude.com/docs/pt/authentication.md#authentication-precedence) |172| `ANTHROPIC_ORGANIZATION_ID` | ID da organização para a [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](https://code.claude.com/docs/pt/authentication.md#authentication-precedence) |

173| `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](https://code.claude.com/docs/pt/authentication.md#sign-in-without-an-api-key). Consulte [precedência de autenticação](https://code.claude.com/docs/pt/authentication.md#authentication-precedence) |173| `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](https://code.claude.com/docs/pt/authentication.md#sign-in-without-an-api-key). Consulte [precedência de autenticação](https://code.claude.com/docs/pt/authentication.md#authentication-precedence) |

174| `ANTHROPIC_SMALL_FAST_MODEL` | \[DESCONTINUADA] Nome do [modelo da classe Haiku para tarefas em segundo plano](https://code.claude.com/docs/pt/costs.md) |174| `ANTHROPIC_SMALL_FAST_MODEL` | \[DESCONTINUADO] Nome do [modelo da classe Haiku para tarefas em segundo plano](https://code.claude.com/docs/pt/costs.md) |

175| `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](https://code.claude.com/docs/pt/amazon-bedrock.md#4-pin-model-versions) na região da sessão |175| `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 a descontinuada `ANTHROPIC_SMALL_FAST_MODEL` também está definida, já que, caso contrário, o Amazon Bedrock executa tarefas em segundo plano no [modelo Sonnet padrão ou no modelo principal](https://code.claude.com/docs/pt/amazon-bedrock.md#4-pin-model-versions) na região da sessão |

176| `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](https://code.claude.com/docs/pt/llm-gateway). Consulte [Google Cloud's Agent Platform](https://code.claude.com/docs/pt/google-vertex-ai.md) |176| `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](https://code.claude.com/docs/pt/llm-gateway). Consulte [Google Cloud's Agent Platform](https://code.claude.com/docs/pt/google-vertex-ai.md) |

177| `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](https://code.claude.com/docs/pt/google-vertex-ai.md#3-configure-gcp-credentials) |177| `ANTHROPIC_VERTEX_PROJECT_ID` | ID do projeto do GCP para o qual as requisições do Google Cloud's Agent Platform são direcionadas. Consulte [Configurar credenciais do GCP](https://code.claude.com/docs/pt/google-vertex-ai.md#3-configure-gcp-credentials) |

178| `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 |178| `ANTHROPIC_WORKSPACE_ID` | ID do workspace para a [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 |

179| `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](https://code.claude.com/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](https://code.claude.com/docs/pt/claude-platform-on-aws.md) e do Amazon Bedrock com `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` definida. Os [watchdogs de streaming](https://code.claude.com/docs/pt/network-config.md#streaming-idle-watchdogs) funcionam independentemente dele e abortam uma longa pausa silenciosa mesmo quando você define `0` aqui |179| `API_FORCE_IDLE_TIMEOUT` | Sobrescreve o timeout de ociosidade 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](https://code.claude.com/docs/pt/llm-gateway) lento ou um modelo local pausa por mais de 5 minutos entre blocos, ou `1` para mantê-lo ativo em todos os provedores. Quando não definida, o timeout fica ativo em provedores diferentes da Anthropic API direta, do [Claude Platform on AWS](https://code.claude.com/docs/pt/claude-platform-on-aws.md) e do Amazon Bedrock com `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` definida. Os [watchdogs de streaming](https://code.claude.com/docs/pt/network-config.md#streaming-idle-watchdogs) são executados independentemente dele e abortam uma longa pausa silenciosa mesmo quando você define `0` aqui |

180| `API_TIMEOUT_MS` | Tempo em milissegundos que cada tentativa de requisição de API tem para receber seus cabeçalhos de resposta. Não limita por quanto tempo uma resposta em streaming é executada depois disso. O padrão é 600000, ou 10 minutos, e o máximo é 2147483647. Quando você define um valor positivo, cada tentativa de uma [requisição sem streaming](https://code.claude.com/docs/pt/errors.md#streaming-response-ended-before-any-complete-data-was-received) precisa terminar dentro dele. Aumente este valor quando as requisições atingirem o timeout em redes lentas ou ao rotear por um proxy. Defina como `0` para remover esse limite, o que requer Claude Code v2.1.305 ou posterior. Com `0`, uma tentativa sem streaming ainda atinge o timeout após 300 segundos em uma sessão local |180| `API_TIMEOUT_MS` | Tempo em milissegundos que cada tentativa de requisição de API tem para receber seus cabeçalhos de resposta. Não limita quanto tempo uma resposta por streaming dura depois disso. O padrão é 600000, ou 10 minutos, e o máximo é 2147483647. Quando você define um valor positivo, cada tentativa de uma [requisição sem streaming](https://code.claude.com/docs/pt/errors.md#streaming-response-ended-before-any-complete-data-was-received) precisa terminar dentro dele. Aumente-o quando as requisições atingirem o timeout em redes lentas ou ao rotear por meio de um proxy. Defina como `0` para remover esse limite, o que requer o Claude Code v2.1.305 ou posterior. Com `0`, uma tentativa sem streaming ainda atinge o timeout após 300 segundos em uma sessão local |

181| `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/)) |181| `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/)) |

182| `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](https://code.claude.com/docs/pt/tools-reference.md#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 |182| `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](https://code.claude.com/docs/pt/tools-reference.md#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 |

183| `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`](https://code.claude.com/docs/pt/settings-reference#bashoutputmaxchars), o Claude Code ignora esta variável. Consulte [Limites de saída](https://code.claude.com/docs/pt/tools-reference.md#output-limits) |183| `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`](https://code.claude.com/docs/pt/settings-reference#bashoutputmaxchars), o Claude Code ignora esta variável. Consulte [Limites de saída](https://code.claude.com/docs/pt/tools-reference.md#output-limits) |

184| `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](https://code.claude.com/docs/pt/tools-reference.md#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 |184| `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 maior que 2 horas também se torna o [limite de tempo máximo para comandos em segundo plano](https://code.claude.com/docs/pt/tools-reference.md#time-limit-for-background-commands) em sessões não supervisionadas. O limite de tempo em segundo plano requer o Claude Code v2.1.285 ou posterior |

185| `BETA_TRACING_ENDPOINT` | Endpoint OTLP/HTTP para o [tracing beta detalhado](https://code.claude.com/docs/pt/monitoring-usage.md#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](https://code.claude.com/docs/pt/settings-reference.md#variables-claude-code-ignores-in-env) |185| `BETA_TRACING_ENDPOINT` | Endpoint OTLP/HTTP para o [tracing beta detalhado](https://code.claude.com/docs/pt/monitoring-usage.md#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](https://code.claude.com/docs/pt/settings-reference.md#variables-claude-code-ignores-in-env) |

186| `CCR_FORCE_BUNDLE` | Defina como `1` para forçar o [`claude --cloud`](https://code.claude.com/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 |186| `CCR_FORCE_BUNDLE` | Defina como `1` para forçar o [`claude --cloud`](https://code.claude.com/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 remoto |

187| `CLAUDECODE` | Definida como `1` em subprocessos que o Claude Code inicia (ferramentas Bash e PowerShell, sessões do tmux, comandos de [hook](https://code.claude.com/docs/pt/hooks.md), comandos de [linha de status](https://code.claude.com/docs/pt/statusline.md), subprocessos de [servidor MCP](https://code.claude.com/docs/pt/mcp.md) 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` |187| `CLAUDECODE` | Definida como `1` em subprocessos que o Claude Code inicia (ferramentas Bash e PowerShell, sessões tmux, comandos de [hook](https://code.claude.com/docs/pt/hooks.md), comandos de [linha de status](https://code.claude.com/docs/pt/statusline.md), subprocessos de [servidor MCP](https://code.claude.com/docs/pt/mcp.md) 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 iniciado pelo Claude Code, use `CLAUDE_CODE_CHILD_SESSION` em vez disso |

188| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Defina como `1` para desativar todos os tipos de [subagente](https://code.claude.com/docs/pt/sub-agents.md) 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`](https://code.claude.com/docs/pt/errors#subagent-type-is-required) |188| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Defina como `1` para desativar todos os tipos de [subagente](https://code.claude.com/docs/pt/sub-agents.md) integrados, como Explore e Plan. Aplica-se apenas no modo não interativo (a flag `-p`). Útil para usuários do SDK que desejam começar do zero. Isso também remove o `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`](https://code.claude.com/docs/pt/errors#subagent-type-is-required) |

189| `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 |189| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | Defina como `1` para omitir o prefixo `mcp__<server>__` nos nomes das ferramentas de servidores MCP criados pelo SDK. As ferramentas usam seus nomes originais. Apenas para uso com o SDK |

190| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Timeout de travamento em milissegundos para subagentes. Também abrange [agentes de workflow](https://code.claude.com/docs/pt/workflows.md#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](https://code.claude.com/docs/pt/agent-sdk/typescript.md#handle-slow-or-stalled-api-responses) |190| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Timeout de travamento em milissegundos para subagentes. Também abrange [agentes de workflow](https://code.claude.com/docs/pt/workflows.md#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 streaming estiver ativo, o padrão aumenta junto, conforme descrito em [Lidar com respostas de API lentas ou travadas](https://code.claude.com/docs/pt/agent-sdk/typescript.md#handle-slow-or-stalled-api-responses) |

191| `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](https://code.claude.com/docs/pt/model-config.md#context-window-and-auto-compaction). Aplica-se tanto às conversas principais quanto aos subagentes |191| `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 aumentar 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](https://code.claude.com/docs/pt/model-config.md#context-window-and-auto-compaction). Aplica-se tanto às conversas principais quanto aos subagentes |

192| `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, um [subagente](https://code.claude.com/docs/pt/sub-agents.md#run-subagents-in-foreground-or-background) passa para o segundo plano após ser executado por aproximadamente dois minutos. Se o Claude enfileirou uma chamada de ferramenta, como uma edição de arquivo, atrás do subagente, o subagente termina em primeiro plano antes que essa chamada comece. Também ativa o [envio automático para segundo plano de chamadas longas de ferramentas MCP](https://code.claude.com/docs/pt/mcp.md#automatic-backgrounding-of-long-tool-calls) no modo não interativo no Claude Code v2.1.212 ou posterior |192| `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, um [subagente](https://code.claude.com/docs/pt/sub-agents.md#run-subagents-in-foreground-or-background) passa para segundo plano após ser executado por aproximadamente dois minutos. Se o Claude enfileirou uma chamada de ferramenta, como uma edição de arquivo, atrás do subagente, o subagente termina em primeiro plano antes que essa chamada comece. Também ativa o [envio automático para segundo plano de chamadas longas de ferramentas MCP](https://code.claude.com/docs/pt/mcp.md#automatic-backgrounding-of-long-tool-calls) no modo não interativo no Claude Code v2.1.212 ou posterior |

193| `CLAUDE_AX_PREPARK_MS` | No [modo de leitor de tela](https://code.claude.com/docs/pt/accessibility.md), 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`. Ignorada nas [configurações de projeto e locais](https://code.claude.com/docs/pt/settings-reference.md#variables-claude-code-ignores-in-env). Requer o Claude Code v2.1.233 ou posterior |193| `CLAUDE_AX_PREPARK_MS` | No [modo de leitor de tela](https://code.claude.com/docs/pt/accessibility.md), 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`. Ignorado em [configurações de projeto e locais](https://code.claude.com/docs/pt/settings-reference.md#variables-claude-code-ignores-in-env). Requer o Claude Code v2.1.233 ou posterior |

194| `CLAUDE_AX_SCREEN_READER` | Defina como `1` para renderizar uma saída adequada para leitores de tela: texto plano sem bordas decorativas ou animações. Defina como `0` para forçar a desativação do modo de leitor de tela mesmo quando [`axScreenReader`](https://code.claude.com/docs/pt/settings-reference#axscreenreader) é `true`. A flag [`--ax-screen-reader`](https://code.claude.com/docs/pt/cli-reference#cli-flags) tem precedência. Ignorada nas [configurações de projeto e locais](https://code.claude.com/docs/pt/settings-reference.md#variables-claude-code-ignores-in-env). Requer o Claude Code v2.1.181 ou posterior |194| `CLAUDE_AX_SCREEN_READER` | Defina como `1` para renderizar uma saída adequada a 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`](https://code.claude.com/docs/pt/settings-reference#axscreenreader) for `true`. A flag [`--ax-screen-reader`](https://code.claude.com/docs/pt/cli-reference#cli-flags) tem precedência. Ignorado em [configurações de projeto e locais](https://code.claude.com/docs/pt/settings-reference.md#variables-claude-code-ignores-in-env). Requer o Claude Code v2.1.181 ou posterior |

195| `CLAUDE_AX_STARTUP_QUIET_MS` | No [modo de leitor de tela](https://code.claude.com/docs/pt/accessibility.md), por quantos milissegundos o Claude Code retém a primeira renderização da interface após a linha de confirmação de inicialização. Seu leitor de tela pode então falar 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. Ignorada nas [configurações de projeto e locais](https://code.claude.com/docs/pt/settings-reference.md#variables-claude-code-ignores-in-env). Requer o Claude Code v2.1.217 ou posterior |195| `CLAUDE_AX_STARTUP_QUIET_MS` | No [modo de leitor de tela](https://code.claude.com/docs/pt/accessibility.md), por quantos milissegundos o Claude Code retém a primeira renderização da interface após a linha de confirmação de inicialização. Assim, seu leitor de tela pode 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. Ignorado em [configurações de projeto e locais](https://code.claude.com/docs/pt/settings-reference.md#variables-claude-code-ignores-in-env). Requer o Claude Code v2.1.217 ou posterior |

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

197| `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 |197| `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` | Timeout em milissegundos para o watchdog de ociosidade de streaming no nível de bytes; quando definido, tem precedência sobre `CLAUDE_STREAM_IDLE_TIMEOUT_MS` para esse watchdog e deixa inalterado 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 |

198| `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](https://code.claude.com/docs/pt/remote-control.md#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 |198| `CLAUDE_CLIENT_PRESENCE_FILE` | Caminho para um arquivo que uma ferramenta externa, como um listener de bloqueio de tela, cria quando você desbloqueia a tela e exclui quando você a bloqueia. Enquanto o arquivo existir, o Claude Code omite as [notificações push móveis do Remote Control](https://code.claude.com/docs/pt/remote-control.md#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 |

199| `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 |199| `CLAUDE_CODE_ACCESSIBILITY` | Defina como `1` para manter visível o cursor nativo do terminal 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 |

200| `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 |200| `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 |

201| `CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT` | Defina como `1` para redesenhar a tela inteira a cada quadro na [renderização em tela cheia](https://code.claude.com/docs/pt/fullscreen.md), 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](https://code.claude.com/docs/pt/agent-view.md) no Windows |201| `CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT` | Defina como `1` para redesenhar a tela inteira a cada quadro na [renderização em tela cheia](https://code.claude.com/docs/pt/fullscreen.md), em vez de enviar atualizações incrementais. Use isto 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](https://code.claude.com/docs/pt/agent-view.md) no Windows |

202| `CLAUDE_CODE_ALWAYS_ENABLE_EFFORT` | Defina como `1` para enviar o parâmetro de [esforço](https://code.claude.com/docs/pt/model-config.md#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 isto ao rotear por um [gateway de LLM](https://code.claude.com/docs/pt/llm-gateway) ou provedor terceiro que serve modelos com identificadores personalizados. Modelos que rejeitam o parâmetro de esforço na API, incluindo Claude Opus 4.1, Claude Sonnet 4.5, Claude Haiku 4.5 e modelos anteriores, continuam excluídos para que as requisições não falhem |202| `CLAUDE_CODE_ALWAYS_ENABLE_EFFORT` | Defina como `1` para enviar o parâmetro de [esforço](https://code.claude.com/docs/pt/model-config.md#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 isto ao rotear por meio de um [gateway de LLM](https://code.claude.com/docs/pt/llm-gateway) ou de um provedor de terceiros que disponibiliza modelos sob identificadores personalizados. Modelos que rejeitam o parâmetro de esforço na API, incluindo Claude Opus 4.1, Claude Sonnet 4.5, Claude Haiku 4.5 e modelos anteriores, continuam excluídos para que as requisições não falhem |

203| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | Intervalo em milissegundos no qual as credenciais devem ser atualizadas (ao usar [`apiKeyHelper`](https://code.claude.com/docs/pt/settings-reference#apikeyhelper)) |203| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | Intervalo em milissegundos no qual as credenciais devem ser atualizadas (ao usar [`apiKeyHelper`](https://code.claude.com/docs/pt/settings-reference#apikeyhelper)) |

204| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | Defina como `0` para impedir que o Claude Code abra o navegador automaticamente quando um novo [artefato](https://code.claude.com/docs/pt/artifacts.md#create-an-artifact) for publicado |204| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | Defina como `0` para impedir que o Claude Code abra o navegador automaticamente quando um novo [artefato](https://code.claude.com/docs/pt/artifacts.md#create-an-artifact) for publicado |

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

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

207| `CLAUDE_CODE_ARTIFACT_PUBLISH_EDITS` | Defina como `0` para impedir que o Claude aplique pequenas alterações ao arquivo de um [artefato](https://code.claude.com/docs/pt/artifacts.md#update-an-artifact) como parte da publicação. O Claude então edita o arquivo com suas ferramentas de edição de arquivos e o publica como uma etapa separada. Requer Claude Code v2.1.300 ou posterior |207| `CLAUDE_CODE_ARTIFACT_PUBLISH_EDITS` | Defina como `0` para impedir que o Claude aplique pequenas alterações ao arquivo de um [artefato](https://code.claude.com/docs/pt/artifacts.md#update-an-artifact) como parte de sua publicação. O Claude então edita o arquivo com suas ferramentas de edição de arquivos e o publica como uma etapa separada. Requer o Claude Code v2.1.300 ou posterior |

208| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Defina como `0` para omitir o [bloco de atribuição](https://code.claude.com/docs/pt/llm-gateway-protocol.md#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](https://code.claude.com/docs/pt/permission-modes.md#eliminate-prompts-with-auto-mode) mesmo quando você define `0`. Em [Bloco de atribuição do system prompt](https://code.claude.com/docs/pt/llm-gateway-protocol.md#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 |208| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Defina como `0` para omitir o [bloco de atribuição](https://code.claude.com/docs/pt/llm-gateway-protocol.md#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 Anthropic API 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](https://code.claude.com/docs/pt/permission-modes.md#eliminate-prompts-with-auto-mode) mesmo quando você define `0`. Em [Bloco de atribuição do system prompt](https://code.claude.com/docs/pt/llm-gateway-protocol.md#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 com o Microsoft Foundry; portanto, nessas versões, defina-a como `0` quando seu gateway de LLM fizer cache com base no corpo da requisição ou encaminhar requisições a um provedor de terceiros, ou quando você se conectar diretamente ao Microsoft Foundry |

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

210| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Define a janela de compactação automática, ou seja, o quanto o contexto fica cheio antes da compactação, de `100000` a `1000000` tokens. Valores com sufixo, como `200k`, requerem a v2.1.304 ou posterior. Para a precedência em relação às outras formas de definir a janela e o efeito sobre o `used_percentage` da linha de status, consulte [Definir a janela de compactação automática](https://code.claude.com/docs/pt/model-config.md#set-the-auto-compact-window) |210| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Define a janela de compactação automática, ou seja, o quanto o contexto fica cheio antes da compactação, de `100000` a `1000000` tokens. Valores com sufixo, como `200k`, requerem a v2.1.304 ou posterior. Para a precedência em relação às outras formas de definir a janela e o efeito sobre o `used_percentage` da linha de status, consulte [Definir a janela de compactação automática](https://code.claude.com/docs/pt/model-config.md#set-the-auto-compact-window) |

211| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Sobrescreve a [conexão automática com o IDE](https://code.claude.com/docs/pt/vs-code.md). 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`](https://code.claude.com/docs/pt/settings-reference#autoconnectide) |211| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Sobrescreve a [conexão automática com a IDE](https://code.claude.com/docs/pt/vs-code.md). Por padrão, o Claude Code se conecta automaticamente quando iniciado dentro do terminal integrado de uma 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`](https://code.claude.com/docs/pt/settings-reference#autoconnectide) |

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

213| `CLAUDE_CODE_AUTO_MODE_SERVER` | Controla se o Claude Code pede ao servidor para [revisar ações do modo auto](https://code.claude.com/docs/pt/permission-modes.md#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 |213| `CLAUDE_CODE_AUTO_MODE_SERVER` | Controla se o Claude Code pede ao servidor para [revisar as ações do modo auto](https://code.claude.com/docs/pt/permission-modes.md#server-side-classifier-review). Defina como `0` para usar as próprias requisições de classificador do Claude Code em vez disso. Em uma conexão direta com a Anthropic API, 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 |

214| `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`](https://code.claude.com/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](https://code.claude.com/docs/pt/claude-platform-on-aws.md) e no [endpoint Mantle](https://code.claude.com/docs/pt/amazon-bedrock.md#use-the-mantle-endpoint). Consulte [cache de credenciais e timeout de resolução](https://code.claude.com/docs/pt/amazon-bedrock.md#credential-caching-and-resolution-timeout). Requer o Claude Code v2.1.207 ou posterior |214| `CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS` | Tempo em milissegundos que o Claude Code espera para que a cadeia padrão de provedores de credenciais da AWS produza credenciais antes que a requisição falhe com [`AWS default-chain credential resolve timed out`](https://code.claude.com/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 pelo navegador com MFA por meio de um wrapper como o `aws-vault`. Aplica-se ao Amazon Bedrock, ao [Claude Platform on AWS](https://code.claude.com/docs/pt/claude-platform-on-aws.md) e ao [endpoint Mantle](https://code.claude.com/docs/pt/amazon-bedrock.md#use-the-mantle-endpoint). Consulte [cache de credenciais e timeout de resolução](https://code.claude.com/docs/pt/amazon-bedrock.md#credential-caching-and-resolution-timeout). Requer o Claude Code v2.1.207 ou posterior |

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

216| `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](https://code.claude.com/docs/pt/workflows.md), 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 |216| `CLAUDE_CODE_BG_TASKS_REPORT_RUNNING` | Defina como `0` para fazer uma sessão não interativa reportar 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 reportando 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](https://code.claude.com/docs/pt/workflows.md), 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 opção de 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 |

217| `CLAUDE_CODE_BRIDGE_SESSION_ID` | Definida automaticamente nos subprocessos da ferramenta Bash e de [comandos de hook](https://code.claude.com/docs/pt/hooks.md) enquanto a sessão tem uma conexão ativa do [Remote Control](https://code.claude.com/docs/pt/remote-control.md), 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](https://code.claude.com/docs/pt/claude-code-on-the-web.md), leia `CLAUDE_CODE_REMOTE_SESSION_ID` |217| `CLAUDE_CODE_BRIDGE_SESSION_ID` | Definida automaticamente em subprocessos da ferramenta Bash e de [comandos de hook](https://code.claude.com/docs/pt/hooks.md) enquanto a sessão tem uma conexão ativa de [Remote Control](https://code.claude.com/docs/pt/remote-control.md), 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 apontar de volta para a sessão que o executou. Requer o Claude Code v2.1.199 ou posterior. Em [sessões na nuvem](https://code.claude.com/docs/pt/claude-code-on-the-web.md), leia `CLAUDE_CODE_REMOTE_SESSION_ID` em vez disso |

218| `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](https://code.claude.com/docs/pt/terminal-config.md#fix-backspace-deleting-a-whole-word-on-windows) |218| `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 em que [o Backspace exclui uma palavra inteira](https://code.claude.com/docs/pt/terminal-config.md#fix-backspace-deleting-a-whole-word-on-windows) |

219| `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](https://code.claude.com/docs/pt/network-config.md#ca-certificate-store). O padrão é `bundled,system` |219| `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 o Node 22.15 ou posterior para instalações via npm. Consulte [Repositório de certificados de CA](https://code.claude.com/docs/pt/network-config.md#ca-certificate-store). O padrão é `bundled,system` |

220| `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](https://code.claude.com/docs/pt/hooks.md) e de comandos de [linha de status](https://code.claude.com/docs/pt/statusline.md). Não é definida para subprocessos de [servidor MCP](https://code.claude.com/docs/pt/mcp.md) 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 |220| `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](https://code.claude.com/docs/pt/hooks.md) e de comandos de [linha de status](https://code.claude.com/docs/pt/statusline.md). Não é definida para subprocessos de [servidor MCP](https://code.claude.com/docs/pt/mcp.md) 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 à 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 `claude -p` não interativas continuam persistindo. Defina `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1` para sobrescrever essa exclusão. Requer o Claude Code v2.1.172 ou posterior |

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

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

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

224| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | Removida na v2.1.186 e agora não tem efeito. Anteriormente, definia um timeout separado para a fase de conexão, TLS e cabeçalhos de resposta de uma requisição de API em streaming. Use `API_TIMEOUT_MS` em vez disso. Para a fase de cabeçalhos de resposta de uma requisição em streaming, consulte `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` |224| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | Removida na v2.1.186 e agora sem efeito. Anteriormente 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` em vez disso. Para a fase de cabeçalhos de resposta de uma requisição por streaming, consulte `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` |

225| `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`](https://code.claude.com/docs/pt/cli-reference#cli-flags) faz as duas coisas de uma vez. O padrão é `~/.claude/debug/<session-id>.txt` |225| `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 registro em log. A flag [`--debug-file`](https://code.claude.com/docs/pt/cli-reference#cli-flags) faz as duas coisas de uma vez. O padrão é `~/.claude/debug/<session-id>.txt` |

226| `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 |226| `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 |

227| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Defina como `1` para desativar o suporte à [janela de contexto de 1M](https://code.claude.com/docs/pt/model-config.md#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](https://code.claude.com/docs/pt/model-config.md#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](https://code.claude.com/docs/pt/model-config.md#correct-the-window-for-a-gateway-or-custom-model-id) |227| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Defina como `1` para desativar o suporte à [janela de contexto de 1M](https://code.claude.com/docs/pt/model-config.md#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](https://code.claude.com/docs/pt/model-config.md#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](https://code.claude.com/docs/pt/model-config.md#correct-the-window-for-a-gateway-or-custom-model-id) |

228| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Defina como `1` para desativar o [raciocínio adaptativo](https://code.claude.com/docs/pt/model-config.md#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](https://code.claude.com/docs/pt/model-config.md#extended-thinking), no Sonnet 5 e posteriores, no Haiku 5.5 ou no Opus 4.7 e posteriores, que sempre usam raciocínio adaptativo |228| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Defina como `1` para desativar o [raciocínio adaptativo](https://code.claude.com/docs/pt/model-config.md#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](https://code.claude.com/docs/pt/model-config.md#extended-thinking), no Sonnet 5 e posteriores, no Haiku 5.5 ou no Opus 4.7 e posteriores, que sempre usam raciocínio adaptativo |

229| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | Defina como `1` para desativar a [ferramenta advisor](https://code.claude.com/docs/pt/advisor.md). 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 |229| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | Defina como `1` para desativar a [ferramenta advisor](https://code.claude.com/docs/pt/advisor.md). 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 |

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

231| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | Defina como `1` para desativar a [renderização em tela cheia](https://code.claude.com/docs/pt/fullscreen.md) 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`](https://code.claude.com/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](https://code.claude.com/docs/pt/agent-view.md), que sempre usam a renderização em tela cheia |231| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | Defina como `1` para desativar a [renderização em tela cheia](https://code.claude.com/docs/pt/fullscreen.md) e usar o renderizador clássico da tela principal. A conversa permanece no scrollback 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`](https://code.claude.com/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](https://code.claude.com/docs/pt/agent-view.md), que sempre usam a renderização em tela cheia |

232| `CLAUDE_CODE_DISABLE_ARTIFACT` | Defina como `1` para desativar a ferramenta [Artifact](https://code.claude.com/docs/pt/artifacts.md), 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`](https://code.claude.com/docs/pt/settings-reference#enableartifact) como `false`; a chave descontinuada [`disableArtifact`](https://code.claude.com/docs/pt/settings-reference#disableartifact) também a desativa |232| `CLAUDE_CODE_DISABLE_ARTIFACT` | Defina como `1` para desativar a ferramenta [Artifact](https://code.claude.com/docs/pt/artifacts.md), 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ção reativa a ferramenta. Para desativar a ferramenta a partir de um arquivo de configuração, defina [`enableArtifact`](https://code.claude.com/docs/pt/settings-reference#enableartifact) como `false`; a chave descontinuada [`disableArtifact`](https://code.claude.com/docs/pt/settings-reference#disableartifact) também a desativa |

233| `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](https://code.claude.com/docs/pt/settings-reference.md#variables-claude-code-ignores-in-env) |233| `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](https://code.claude.com/docs/pt/settings-reference.md#variables-claude-code-ignores-in-env) |

234| `CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK` | Defina como `1` para fazer um processo do Claude Code executar ele mesmo o comando [`gcpAuthRefresh`](https://code.claude.com/docs/pt/settings-reference#gcpauthrefresh) ou [`awsAuthRefresh`](https://code.claude.com/docs/pt/settings-reference#awsauthrefresh), em vez de esperar enquanto outro processo o executa. Requer o Claude Code v2.1.286 ou posterior |234| `CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK` | Defina como `1` para fazer um processo do Claude Code executar ele mesmo seu comando [`gcpAuthRefresh`](https://code.claude.com/docs/pt/settings-reference#gcpauthrefresh) ou [`awsAuthRefresh`](https://code.claude.com/docs/pt/settings-reference#awsauthrefresh), em vez de esperar enquanto outro processo o executa. Requer o Claude Code v2.1.286 ou posterior |

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

236| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Defina como `1` para remover o parâmetro `run_in_background` das ferramentas Bash, PowerShell e de subagente, e para desativar o atalho Ctrl+B e as execuções em segundo plano de [skills bifurcadas](https://code.claude.com/docs/pt/skills.md#run-skills-in-a-subagent). O Claude Code então também deixa de mover automaticamente para segundo plano subagentes, chamadas longas de ferramentas MCP e comandos de shell que atingiram o timeout. As [tarefas MCP](https://code.claude.com/docs/pt/mcp.md#make-claude-wait-for-the-result-of-an-mcp-task) e a [ferramenta Monitor](https://code.claude.com/docs/pt/tools-reference.md#monitor-tool) continuam sendo executadas em segundo plano |236| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Defina como `1` para remover o parâmetro `run_in_background` das ferramentas Bash, PowerShell e de subagente, e para desativar o atalho Ctrl+B e as execuções em segundo plano de [skills bifurcadas](https://code.claude.com/docs/pt/skills.md#run-skills-in-a-subagent). O Claude Code então também deixa de mover automaticamente para segundo plano subagentes, chamadas longas de ferramentas MCP e comandos de shell que atingiram o timeout. [Tarefas MCP](https://code.claude.com/docs/pt/mcp.md#make-claude-wait-for-the-result-of-an-mcp-task) e a [ferramenta Monitor](https://code.claude.com/docs/pt/tools-reference.md#monitor-tool) continuam sendo executadas em segundo plano |

237| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | Defina como `1` para impedir que o Claude Code trate uma resposta de streaming do [Amazon Bedrock](https://code.claude.com/docs/pt/amazon-bedrock.md) 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 |237| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | Defina como `1` para impedir que o Claude Code trate uma resposta por streaming do [Amazon Bedrock](https://code.claude.com/docs/pt/amazon-bedrock.md) com um cabeçalho `Content-Type` ausente ou vazio como o fluxo 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 fluxo 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 |

238| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | Defina como `1` para ignorar a verificação de que uma resposta de streaming do [Amazon Bedrock](https://code.claude.com/docs/pt/amazon-bedrock.md) 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](https://code.claude.com/docs/pt/amazon-bedrock.md#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 |238| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | Defina como `1` para ignorar a verificação de que uma resposta por streaming do [Amazon Bedrock](https://code.claude.com/docs/pt/amazon-bedrock.md) 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 indica esse tipo, o que significa que um [gateway ou proxy está transformando a resposta](https://code.claude.com/docs/pt/amazon-bedrock.md#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 |

239| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Defina como `1` para interromper o trabalho em andamento de uma [sessão em segundo plano](https://code.claude.com/docs/pt/agent-view.md) quando o [supervisor](https://code.claude.com/docs/pt/agent-view.md#the-supervisor-process) parar, reiniciar ou atualizar o processo dessa sessão, em vez de entregá-lo ao próximo processo da sessão. Esse trabalho são os comandos de shell em segundo plano em execução na sessão, além dos subagentes em segundo plano a partir da v2.1.198. Afeta apenas essa transferência: enviar uma sessão para segundo plano com `←` ou [`/background`](https://code.claude.com/docs/pt/agent-view#from-inside-a-session) continua levando junto o trabalho em segundo plano em andamento. Requer Claude Code v2.1.196 ou posterior |239| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Defina como `1` para interromper o trabalho em andamento de uma [sessão em segundo plano](https://code.claude.com/docs/pt/agent-view.md) quando o [supervisor](https://code.claude.com/docs/pt/agent-view.md#the-supervisor-process) parar, reiniciar ou atualizar o processo dessa sessão, em vez de entregá-lo ao próximo processo da sessão. Esse trabalho consiste nos comandos de shell em segundo plano em execução da sessão, além dos subagentes em segundo plano a partir da v2.1.198. Afeta apenas essa transferência: enviar uma sessão para segundo plano com `←` ou [`/background`](https://code.claude.com/docs/pt/agent-view#from-inside-a-session) continua transferindo o trabalho em segundo plano em andamento. Requer o Claude Code v2.1.196 ou posterior |

240| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | Defina como `1` para impedir que o Claude Code encerre [comandos de shell em segundo plano](https://code.claude.com/docs/pt/interactive-mode.md#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 |240| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | Defina como `1` para impedir que o Claude Code encerre [comandos de shell em segundo plano](https://code.claude.com/docs/pt/interactive-mode.md#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 reporta pressão crítica de memória RAM e a sessão está ociosa há 30 minutos, sem turno nem subagente em execução. O Windows não tem um 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 |

241| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Defina como `1` para desativar as [skills](https://code.claude.com/docs/pt/skills.md) 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`](https://code.claude.com/docs/pt/settings-reference#disablebundledskills) |241| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Defina como `1` para desativar as [skills](https://code.claude.com/docs/pt/skills.md) e os workflows incluídos com o Claude Code: skills incluídas e workflows incluídos são removidos completamente, enquanto comandos integrados como `/init` continuam podendo ser digitados, mas ficam ocultos para o modelo. `/doctor` continua podendo ser digitado, como os comandos integrados; oculte-o com `DISABLE_DOCTOR_COMMAND`. Skills de plugins, `.claude/skills/` e `.claude/commands/` não são afetadas. Equivalente à configuração [`disableBundledSkills`](https://code.claude.com/docs/pt/settings-reference#disablebundledskills) |

242| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | Defina como `1` para manter as ferramentas de navegador do [Claude in Chrome](https://code.claude.com/docs/pt/chrome.md) disponíveis enquanto omite a seção do Chrome do system prompt e a [skill incluída](https://code.claude.com/docs/pt/skills.md#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 |242| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | Defina como `1` para manter disponíveis as ferramentas de navegador do [Claude in Chrome](https://code.claude.com/docs/pt/chrome.md), omitindo a seção do Chrome do system prompt e a [skill incluída](https://code.claude.com/docs/pt/skills.md#bundled-skills) `/claude-in-chrome`. Destina-se 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 |

243| `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 |243| `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 |

244| `CLAUDE_CODE_DISABLE_CRON` | Defina como `1` para desativar as [tarefas agendadas com escopo de sessão](https://code.claude.com/docs/pt/scheduled-tasks.md). A skill `/loop` e as ferramentas 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 |244| `CLAUDE_CODE_DISABLE_CRON` | Defina como `1` para desativar as [tarefas agendadas com escopo de sessão](https://code.claude.com/docs/pt/scheduled-tasks.md). 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 |

245| `CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT` | Defina como `1` para desativar o [limite de tempo e as negações](https://code.claude.com/docs/pt/permission-modes.md#time-limits-and-denials-in-auto-and-bypasspermissions-modes) de `auto` e `bypassPermissions` em remoções de caminhos críticos. Essas remoções então vão para o classificador no modo `auto` e recebem um prompt sem limite de tempo no modo `bypassPermissions` sempre que o Claude Code puder exibir um. 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 Claude Code v2.1.281 ou posterior |245| `CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT` | Defina como `1` para desativar o [limite de tempo e as negações](https://code.claude.com/docs/pt/permission-modes.md#time-limits-and-denials-in-auto-and-bypasspermissions-modes) dos modos `auto` e `bypassPermissions` em remoções de caminhos críticos. Essas remoções então vão para o classificador no modo `auto` e recebem um prompt sem limite de tempo no modo `bypassPermissions` onde quer que o Claude Code possa exibi-lo. Defina-a no ambiente que inicia o Claude Code, já que o Claude Code ignora uma cópia fornecida por meio de um bloco `env` de configurações. Requer o Claude Code v2.1.281 ou posterior |

246| `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](https://code.claude.com/docs/pt/llm-gateway-protocol.md#disable-pre-release-capabilities) lista o que a variável remove, incluindo o [MCP Tool Search](https://code.claude.com/docs/pt/mcp.md#scale-with-mcp-tool-search), e o que o Claude Code continua enviando |246| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Defina como `1` para remover das requisições de API os cabeçalhos de requisição `anthropic-beta` de pré-lançamento, os campos do corpo associados a eles e campos beta de esquema 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](https://code.claude.com/docs/pt/llm-gateway-protocol.md#disable-pre-release-capabilities) lista o que a variável remove, incluindo o [MCP Tool Search](https://code.claude.com/docs/pt/mcp.md#scale-with-mcp-tool-search), e o que o Claude Code continua enviando |

247| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | Defina como `1` para desativar os [subagentes Explore e Plan](https://code.claude.com/docs/pt/sub-agents.md#built-in-subagents) integrados. O Claude explora com suas ferramentas de busca ou com o subagente general-purpose, e o [modo de planejamento](https://code.claude.com/docs/pt/permission-modes.md#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 |247| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | Defina como `1` para desativar os [subagentes Explore e Plan](https://code.claude.com/docs/pt/sub-agents.md#built-in-subagents) integrados. Em vez disso, o Claude explora com suas ferramentas de busca ou com o subagente de uso geral, e o [modo de planejamento](https://code.claude.com/docs/pt/permission-modes.md#analyze-before-you-edit-with-plan-mode) lê 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 |

248| `CLAUDE_CODE_DISABLE_FAST_MODE` | Defina como `1` para desativar o [modo rápido](https://code.claude.com/docs/pt/fast-mode.md) |248| `CLAUDE_CODE_DISABLE_FAST_MODE` | Defina como `1` para desativar o [modo rápido](https://code.claude.com/docs/pt/fast-mode.md) |

249| `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`](https://code.claude.com/docs/pt/settings-reference#feedbacksurveyrate). Consulte [Pesquisas de qualidade de sessão](https://code.claude.com/docs/pt/data-usage.md#session-quality-surveys) |249| `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`](https://code.claude.com/docs/pt/settings-reference#feedbacksurveyrate). Consulte [Pesquisas de qualidade de sessão](https://code.claude.com/docs/pt/data-usage.md#session-quality-surveys) |

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

251| `CLAUDE_CODE_DISABLE_FILE_MENTIONS` | Defina como `1` para impedir que o Claude Code expanda [menções com `@`](https://code.claude.com/docs/pt/common-workflows#reference-files-and-directories) de arquivos e diretórios. Em vez disso, o Claude recebe os caminhos mencionados com uma observação para lê-los usando suas ferramentas de arquivo. Ignorada em [configurações de projeto e locais](https://code.claude.com/docs/pt/settings-reference.md#variables-claude-code-ignores-in-env). Requer Claude Code v2.1.299 ou posterior |251| `CLAUDE_CODE_DISABLE_FILE_MENTIONS` | Defina como `1` para impedir que o Claude Code expanda [menções com `@`](https://code.claude.com/docs/pt/common-workflows#reference-files-and-directories) de arquivos e diretórios. Em vez disso, o Claude recebe os caminhos mencionados com uma nota para lê-los usando suas ferramentas de arquivo. Ignorado em [configurações de projeto e locais](https://code.claude.com/docs/pt/settings-reference.md#variables-claude-code-ignores-in-env). Requer o Claude Code v2.1.299 ou posterior |

252| `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`](https://code.claude.com/docs/pt/settings-reference#includegitinstructions) quando definida |252| `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`](https://code.claude.com/docs/pt/settings-reference#includegitinstructions) quando definida |

253| `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](https://code.claude.com/docs/pt/permission-modes.md#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 |253| `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](https://code.claude.com/docs/pt/permission-modes.md#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 fornecida por meio de um bloco `env` de configurações. Requer o Claude Code v2.1.288 ou posterior |

254| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Defina como `1` para impedir o remapeamento automático do Opus 4 e do Opus 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 |254| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Defina como `1` para impedir o remapeamento automático do Opus 4 e do Opus 4.1 para a versão atual do Opus na Anthropic API. Use quando você 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 |

255| `CLAUDE_CODE_DISABLE_MCP_TASK_BACKGROUND` | Defina como `1` para que o Claude aguarde o resultado de uma [tarefa MCP](https://code.claude.com/docs/pt/mcp.md#make-claude-wait-for-the-result-of-an-mcp-task) em uma sessão interativa. Enquanto o [envio automático para segundo plano](https://code.claude.com/docs/pt/mcp.md#automatic-backgrounding-of-long-tool-calls) estiver ativo, ele ainda move a chamada para segundo plano após dois minutos por padrão. Requer Claude Code v2.1.304 ou posterior |255| `CLAUDE_CODE_DISABLE_MCP_TASK_BACKGROUND` | Defina como `1` para que o Claude aguarde o resultado de uma [tarefa MCP](https://code.claude.com/docs/pt/mcp.md#make-claude-wait-for-the-result-of-an-mcp-task) em uma sessão interativa. Enquanto o [envio automático para segundo plano](https://code.claude.com/docs/pt/mcp.md#automatic-backgrounding-of-long-tool-calls) estiver ativo, ele ainda move a chamada para segundo plano após dois minutos por padrão. Requer o Claude Code v2.1.304 ou posterior |

256| `CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK` | Defina como `1` para impedir que o Claude Code no [Amazon Bedrock](https://code.claude.com/docs/pt/amazon-bedrock.md#when-a-model-is-disabled-mid-session) e no [Google Cloud's Agent Platform](https://code.claude.com/docs/pt/google-vertex-ai.md#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](https://code.claude.com/docs/pt/model-config.md#fallback-model-chains) que você configurar ainda muda de modelo nessa recusa, e as [verificações de modelo na inicialização](https://code.claude.com/docs/pt/amazon-bedrock.md#startup-model-checks) ainda recorrem ao fallback na inicialização. Requer o Claude Code v2.1.285 ou posterior |256| `CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK` | Defina como `1` para impedir que o Claude Code no [Amazon Bedrock](https://code.claude.com/docs/pt/amazon-bedrock.md#when-a-model-is-disabled-mid-session) e no [Google Cloud's Agent Platform](https://code.claude.com/docs/pt/google-vertex-ai.md#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; em vez disso, a requisição recusada falha imediatamente. Uma [cadeia de modelos de fallback](https://code.claude.com/docs/pt/model-config.md#fallback-model-chains) que você configurar ainda faz a troca nessa recusa, e as [verificações de modelo na inicialização](https://code.claude.com/docs/pt/amazon-bedrock.md#startup-model-checks) ainda recorrem ao fallback na inicialização. Requer o Claude Code v2.1.285 ou posterior |

257| `CLAUDE_CODE_DISABLE_MOUNTED_DRIVE_RM_PROMPT` | Defina como `1` para desativar o [prompt de unidade montada](https://code.claude.com/docs/pt/permission-modes.md#the-mounted-drive-prompt) para caminhos como `/Volumes/USB`. [Defina-a no ambiente que inicia o Claude Code](#set-variables-in-your-shell), porque o Claude Code [a ignora em um bloco `env` de configurações](https://code.claude.com/docs/pt/settings-reference#variables-claude-code-ignores-in-env). Requer o Claude Code v2.1.304 ou posterior |257| `CLAUDE_CODE_DISABLE_MOUNTED_DRIVE_RM_PROMPT` | Defina como `1` para desativar o [prompt de unidade montada](https://code.claude.com/docs/pt/permission-modes.md#the-mounted-drive-prompt) para caminhos como `/Volumes/USB`. [Defina-a no ambiente que inicia o Claude Code](#set-variables-in-your-shell), porque o Claude Code [a ignora em um bloco `env` de configurações](https://code.claude.com/docs/pt/settings-reference#variables-claude-code-ignores-in-env). Requer o Claude Code v2.1.304 ou posterior |

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

259| `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](https://code.claude.com/docs/pt/fullscreen.md), 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 |259| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | Defina como `1` para desativar o tratamento de cliques, arrastar e passar o mouse na [renderização em tela cheia](https://code.claude.com/docs/pt/fullscreen.md), 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 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 |

260| `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](https://code.claude.com/docs/pt/network-config.md#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 |260| `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](https://code.claude.com/docs/pt/network-config.md#mtls-authentication) quando uma requisição de API falhar com um erro no nível da conexão, como uma redefinição de conexão ou um erro de handshake TLS. Com o recarregamento desativado, 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 |

261| `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](https://code.claude.com/docs/pt/tools-reference.md#sendfeedback-tool-behavior), notas de versão, as verificações do [selo de status de PR e MR](https://code.claude.com/docs/pt/interactive-mode.md#pr-review-status) e verificações de disponibilidade, como a do [modo rápido](https://code.claude.com/docs/pt/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways). Também interrompe as [execuções em segundo plano de fontes `command` de plugins](https://code.claude.com/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](https://code.claude.com/docs/pt/remote-control.md#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](https://code.claude.com/docs/pt/llm-gateway-connect.md#add-gateway-models-to-the-model-picker), que tem sua própria ativação |261| `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`, [feedback redigido pelo Claude](https://code.claude.com/docs/pt/tools-reference.md#sendfeedback-tool-behavior), notas de versão, as verificações do [badge de status de PR e MR](https://code.claude.com/docs/pt/interactive-mode.md#pr-review-status) e verificações de disponibilidade, como a verificação do [modo rápido](https://code.claude.com/docs/pt/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways). Também interrompe as [execuções em segundo plano de fontes `command` de plugins](https://code.claude.com/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 ativar/desativar; 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](https://code.claude.com/docs/pt/remote-control.md#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](https://code.claude.com/docs/pt/llm-gateway-connect.md#add-gateway-models-to-the-model-picker), que tem sua própria opção de ativação |

262| `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 |262| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | Defina como `1` para desativar o fallback sem streaming quando uma requisição por streaming falhar no meio do fluxo. Em vez disso, os erros de streaming são propagados para a camada de retry. Útil quando um proxy ou gateway faz com que o fallback produza execução duplicada de ferramentas |

263| `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](https://code.claude.com/docs/pt/remote-control.md#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 |263| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | Defina como `1` para enviar a notificação na área de trabalho da ferramenta `PushNotification` mesmo enquanto você está digitando no terminal ou com ele em foco. Por padrão, a ferramenta omite tanto a notificação na área de trabalho quanto o [push móvel](https://code.claude.com/docs/pt/remote-control.md#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 o push móvel quando detectar que você está ativo. Requer o Claude Code v2.1.193 ou posterior |

264| `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 |264| `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 a omissão. Execute `claude plugin marketplace add anthropics/claude-plugins-official` para registrar o marketplace a qualquer momento |

265| `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](https://code.claude.com/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 |265| `CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS` | Defina como `1` para impedir que o Claude Code execute seus [hooks `Notification` para requisições de permissão não respondidas](https://code.claude.com/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 |

266| `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 |266| `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êiner ou de CI que não devem carregar skills provisionadas pelo operador |

267| `CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY` | Defina como `1` para desativar a verificação da [ferramenta PowerShell](https://code.claude.com/docs/pt/tools-reference.md#powershell-tool) que nega os comandos integrados do `cmd` `rd`, `rmdir`, `del` e `erase` em um [caminho do sistema](https://code.claude.com/docs/pt/permission-modes.md#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 |267| `CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY` | Defina como `1` para desativar a verificação da [ferramenta PowerShell](https://code.claude.com/docs/pt/tools-reference.md#powershell-tool) que nega os comandos integrados do `cmd` `rd`, `rmdir`, `del` e `erase` em um [caminho do sistema](https://code.claude.com/docs/pt/permission-modes.md#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 |

268| `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](https://code.claude.com/docs/pt/model-config.md#automatic-model-fallback), o comportamento que a configuração [`switchModelsOnFlag`](https://code.claude.com/docs/pt/settings-reference#switchmodelsonflag) controla |268| `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](https://code.claude.com/docs/pt/model-config.md#automatic-model-fallback), o comportamento controlado pela configuração [`switchModelsOnFlag`](https://code.claude.com/docs/pt/settings-reference#switchmodelsonflag) |

269| `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](https://code.claude.com/docs/pt/llm-gateway-protocol.md#feature-pass-through) cujo upstream os rejeita. Isso mantém ativados os outros recursos de pré-lançamento que [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](https://code.claude.com/docs/pt/llm-gateway-protocol#disable-pre-release-capabilities) desativa. Requer o Claude Code v2.1.288 ou posterior |269| `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` associado a ele, para um [gateway de LLM](https://code.claude.com/docs/pt/llm-gateway-protocol.md#feature-pass-through) cujo upstream os rejeita. Isso mantém ativos os outros recursos de pré-lançamento que [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](https://code.claude.com/docs/pt/llm-gateway-protocol#disable-pre-release-capabilities) desativa. Requer o Claude Code v2.1.288 ou posterior |

270| `CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT` | Defina como `1` para desativar a verificação de [caminhos críticos](https://code.claude.com/docs/pt/permission-modes.md#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 |270| `CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT` | Defina como `1` para desativar a verificação de [caminhos críticos](https://code.claude.com/docs/pt/permission-modes.md#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 fornecida por meio de um bloco `env` de configurações. Requer o Claude Code v2.1.281 ou posterior |

271| `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 pula a requisição em segundo plano ao modelo pequeno/rápido que [gera um título de sessão](https://code.claude.com/docs/pt/sessions.md#name-your-sessions) e desativa os [relatórios de status para o seu terminal](https://code.claude.com/docs/pt/terminal-config.md#see-session-status-in-your-terminal) |271| `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 omite a requisição em segundo plano ao modelo pequeno/rápido que [gera um título de sessão](https://code.claude.com/docs/pt/sessions.md#name-your-sessions) e desativa os [relatórios de status para o seu terminal](https://code.claude.com/docs/pt/terminal-config.md#see-session-status-in-your-terminal) |

272| `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](https://code.claude.com/docs/pt/third-party-integrations.md), `MAX_THINKING_TOKENS=0` também omite o parâmetro, então as duas variáveis se comportam da mesma forma nesses casos |272| `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 Anthropic API, 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 de terceiros](https://code.claude.com/docs/pt/third-party-integrations.md), `MAX_THINKING_TOKENS=0` também omite o parâmetro, então as duas variáveis se comportam da mesma forma nesses provedores |

273| `CLAUDE_CODE_DISABLE_ULTRAREVIEW_TRUST_CHECK` | Defina como `1` para que [`claude ultrareview`](https://code.claude.com/docs/pt/ultrareview#trust-the-folder-before-the-review-runs) não saia com `Error: Workspace not trusted` em uma pasta na qual você não confiou quando não puder pedir que você confie nela, como em CI. Defina-a no ambiente que inicia o Claude Code, não em um bloco `env` de configurações, e apenas onde toda execução desse tipo começar em uma pasta na qual você confia. Execuções que podem perguntar continuam perguntando. Requer Claude Code v2.1.309 ou posterior |273| `CLAUDE_CODE_DISABLE_ULTRAREVIEW_TRUST_CHECK` | Defina como `1` para que o [`claude ultrareview`](https://code.claude.com/docs/pt/ultrareview#trust-the-folder-before-the-review-runs) não encerre com `Error: Workspace not trusted` em uma pasta na qual você não confiou quando não puder pedir que você confie nela, como em CI. Defina-a no ambiente que inicia o Claude Code, não em um bloco `env` de configurações, e apenas onde todas essas execuções começarem em uma pasta na qual você confia. Execuções que podem perguntar continuam perguntando. Requer o Claude Code v2.1.309 ou posterior |

274| `CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT` | Defina como `1` para ignorar a [compactação automática](https://code.claude.com/docs/pt/costs.md#reduce-token-usage) proativa quando o Claude Code não reconhece o ID do modelo, como um alias de [gateway de LLM](https://code.claude.com/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](https://code.claude.com/docs/pt/model-config.md#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 |274| `CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT` | Defina como `1` para ignorar a [compactação automática](https://code.claude.com/docs/pt/costs.md#reduce-token-usage) proativa quando o Claude Code não reconhecer o ID do modelo, como um alias de [gateway de LLM](https://code.claude.com/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 gateway ou ID de modelo personalizado](https://code.claude.com/docs/pt/model-config.md#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 |

275| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Defina como `1` para desativar a rolagem virtual na [renderização em tela cheia](https://code.claude.com/docs/pt/fullscreen.md) 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 |275| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Defina como `1` para desativar a rolagem virtual na [renderização em tela cheia](https://code.claude.com/docs/pt/fullscreen.md) e renderizar todas as mensagens da transcrição. Use isto se a rolagem no modo de tela cheia mostrar regiões em branco onde as mensagens deveriam aparecer |

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

277| `CLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHER` | Defina como `1` para iniciar os comandos da [ferramenta PowerShell](https://code.claude.com/docs/pt/tools-reference.md#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](https://code.claude.com/docs/pt/tools-reference.md#background-commands) [seja transferido para o próximo processo da sessão](https://code.claude.com/docs/pt/agent-view.md#the-supervisor-process), como quando você [envia a sessão para segundo plano](https://code.claude.com/docs/pt/agent-view.md#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 |277| `CLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHER` | Defina como `1` para iniciar comandos da [ferramenta PowerShell](https://code.claude.com/docs/pt/tools-reference.md#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](https://code.claude.com/docs/pt/tools-reference.md#background-commands) [passe para o próximo processo da sessão](https://code.claude.com/docs/pt/agent-view.md#the-supervisor-process), como quando você [coloca a sessão em segundo plano](https://code.claude.com/docs/pt/agent-view.md#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 Claude Code v2.1.269 ou posterior |

278| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Defina como `1` para desativar os [workflows](https://code.claude.com/docs/pt/workflows.md#turn-workflows-off). Equivalente à configuração [`disableWorkflows`](https://code.claude.com/docs/pt/settings-reference#disableworkflows) |278| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Defina como `1` para desativar [workflows](https://code.claude.com/docs/pt/workflows.md#turn-workflows-off). Equivalente à configuração [`disableWorkflows`](https://code.claude.com/docs/pt/settings-reference#disableworkflows) |

279| `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`](https://code.claude.com/docs/pt/settings-reference#maxeffortlevel) ainda se aplica. Consulte [Ajustar o nível de esforço](https://code.claude.com/docs/pt/model-config.md#adjust-effort-level) |279| `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`](https://code.claude.com/docs/pt/settings-reference#maxeffortlevel) ainda se aplica. Consulte [Ajustar o nível de esforço](https://code.claude.com/docs/pt/model-config.md#adjust-effort-level) |

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

281| `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](https://code.claude.com/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](https://code.claude.com/docs/pt/permission-modes.md#eliminate-prompts-with-auto-mode) nesses provedores |281| `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 autenticadas do [Claude apps gateway](https://code.claude.com/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](https://code.claude.com/docs/pt/permission-modes.md#eliminate-prompts-with-auto-mode) nesses provedores |

282| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Sobrescreve a disponibilidade do [resumo da sessão](https://code.claude.com/docs/pt/interactive-mode.md#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`](https://code.claude.com/docs/pt/settings-reference#awaysummaryenabled) for `false`. Tem precedência sobre a configuração e sobre a opção em `/config` |282| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Sobrescreve a disponibilidade do [resumo da sessão](https://code.claude.com/docs/pt/interactive-mode.md#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`](https://code.claude.com/docs/pt/settings-reference#awaysummaryenabled) for `false`. Tem precedência sobre a configuração e a opção em `/config` |

283| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Defina como `1` para atualizar o estado dos plugins nos limites de turno no [modo não interativo](https://code.claude.com/docs/pt/headless.md) 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](https://code.claude.com/docs/pt/prompt-caching.md) naquele turno |283| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Defina como `1` para atualizar o estado dos plugins nos limites de turno no [modo não interativo](https://code.claude.com/docs/pt/headless.md) após a conclusão de uma instalação em segundo plano. Desativado por padrão porque a atualização altera o system prompt no meio da sessão, o que invalida o [cache de prompt](https://code.claude.com/docs/pt/prompt-caching.md) daquele turno |

284| `CLAUDE_CODE_ENABLE_CFC` | Defina como `1` para iniciar uma sessão da CLI com a [integração com o Chrome](https://code.claude.com/docs/pt/chrome.md) ativada, ou `0` para iniciá-la desativada. Tem precedência sobre a configuração [`claudeInChromeDefaultEnabled`](https://code.claude.com/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](https://code.claude.com/docs/pt/chrome#project-settings-can’t-turn-on-chrome) |284| `CLAUDE_CODE_ENABLE_CFC` | Defina como `1` para iniciar uma sessão da CLI com a [integração com o Chrome](https://code.claude.com/docs/pt/chrome.md) ativada, ou `0` para iniciá-la desativada. Tem precedência sobre a configuração [`claudeInChromeDefaultEnabled`](https://code.claude.com/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](https://code.claude.com/docs/pt/chrome#project-settings-can’t-turn-on-chrome) |

285| `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](https://code.claude.com/docs/pt/monitoring-usage.md) 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 |285| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Defina como `1` para encaminhar a pesquisa de qualidade de sessão "How is Claude doing?" para o seu próprio [coletor OpenTelemetry](https://code.claude.com/docs/pt/monitoring-usage.md) 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 |

286| `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](https://code.claude.com/docs/pt/llm-gateway) |286| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | Controla se as entradas das chamadas de ferramenta são transmitidas da API à medida que o Claude as gera. Com isso desativado, uma entrada de ferramenta grande, como a gravação de um arquivo longo, chega apenas depois que o Claude termina de gerá-la, o que pode parecer um travamento. Ativado por padrão na API da Anthropic. No Amazon Bedrock e na Agent Platform do Google Cloud, ativado por modelo onde 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`. Desativado por padrão no Microsoft Foundry e em conexões de [gateway](https://code.claude.com/docs/pt/llm-gateway) |

287| `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`](https://code.claude.com/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](https://code.claude.com/docs/pt/managed-settings.md#delivery-mechanisms), já que a [entrega gerenciada pelo servidor não está disponível em configurações com gateway](https://code.claude.com/docs/pt/server-managed-settings.md#platform-availability) |287| `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. Desativado por padrão porque, caso contrário, 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`](https://code.claude.com/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](https://code.claude.com/docs/pt/managed-settings.md#delivery-mechanisms), já que a [entrega gerenciada pelo servidor não está disponível em configurações de gateway](https://code.claude.com/docs/pt/server-managed-settings.md#platform-availability) |

288| `CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE` | Removida na v2.1.142, quando o padrão do [modo rápido](https://code.claude.com/docs/pt/fast-mode.md) passou do Opus 4.6 para o Opus 4.7 |288| `CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE` | Removida na v2.1.142, quando o padrão do [modo rápido](https://code.claude.com/docs/pt/fast-mode.md) passou do Opus 4.6 para o Opus 4.7 |

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

290| `CLAUDE_CODE_ENABLE_SHARE_BUNDLE` | Defina como `1` para fazer o [`/share`](https://code.claude.com/docs/pt/commands#all-commands) salvar o relatório e toda a transcrição da sessão em um [arquivo local em `~/.claude/feedback-bundles/`](https://code.claude.com/docs/pt/data-usage#telemetry-services) em vez de enviar o relatório à Anthropic. Se a política da sua organização desativar o `/share`, você não poderá reativá-lo com esta variável. Requer o Claude Code v2.1.299 ou posterior |290| `CLAUDE_CODE_ENABLE_SHARE_BUNDLE` | Defina como `1` para fazer com que [`/share`](https://code.claude.com/docs/pt/commands#all-commands) salve seu relatório e toda a transcrição da sessão em um [arquivo local em `~/.claude/feedback-bundles/`](https://code.claude.com/docs/pt/data-usage#telemetry-services) em vez de enviar o relatório à Anthropic. Se a política da sua organização desativar `/share`, você não pode reativá-lo com esta variável. Requer Claude Code v2.1.299 ou posterior |

291| `CLAUDE_CODE_ENABLE_TASKS` | Seleciona quais ferramentas de acompanhamento de tarefas o Claude Code fornece nas [sessões que as têm](https://code.claude.com/docs/pt/tools-reference.md#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](https://code.claude.com/docs/pt/interactive-mode.md#task-list) |291| `CLAUDE_CODE_ENABLE_TASKS` | Seleciona quais ferramentas de acompanhamento de tarefas o Claude Code fornece nas [sessões que as têm](https://code.claude.com/docs/pt/tools-reference.md#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`. Consulte [Lista de tarefas](https://code.claude.com/docs/pt/interactive-mode.md#task-list) |

292| `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](https://code.claude.com/docs/pt/settings-reference.md#variables-claude-code-ignores-in-env). Consulte [Monitoramento](https://code.claude.com/docs/pt/monitoring-usage.md) |292| `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 os 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](https://code.claude.com/docs/pt/settings-reference.md#variables-claude-code-ignores-in-env). Consulte [Monitoramento](https://code.claude.com/docs/pt/monitoring-usage.md) |

293| `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](https://code.claude.com/docs/pt/tools-reference.md#task-tool-availability). `CLAUDE_CODE_ENABLE_TASKS` ainda seleciona as ferramentas Task ou `TodoWrite`. Requer o Claude Code v2.1.233 ou posterior |293| `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](https://code.claude.com/docs/pt/tools-reference.md#task-tool-availability). `CLAUDE_CODE_ENABLE_TASKS` ainda seleciona as ferramentas Task ou `TodoWrite`. Requer Claude Code v2.1.233 ou posterior |

294| `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 |294| `CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS` | Defina como `1` para [executar comandos `rm` perigosos sem prompt](https://code.claude.com/docs/pt/permission-modes#turn-off-the-critical-path-removal-prompt-in-bypasspermissions-mode) no modo `bypassPermissions`, o que remove um prompt de segurança para exclusões destrutivas. A seção vinculada lista onde ela não tem efeito. [Defina-a no ambiente que inicia o Claude Code](#set-variables-in-your-shell), porque o Claude Code [a ignora em um bloco `env` de configurações](https://code.claude.com/docs/pt/settings-reference#variables-claude-code-ignores-in-env). Requer Claude Code v2.1.311 ou posterior |

295| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Defina como `1` para ativar as [equipes de agentes](https://code.claude.com/docs/pt/agent-teams.md). As equipes de agentes são experimentais e ficam desativadas por padrão |295| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | Tempo em milissegundos de espera após o loop de consultas ficar ocioso antes de sair automaticamente. Útil para fluxos de trabalho automatizados e scripts que usam o modo SDK |

296| `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](https://code.claude.com/docs/pt/agent-view.md) 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 |296| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Defina como `1` para ativar [equipes de agentes](https://code.claude.com/docs/pt/agent-teams.md). As equipes de agentes são experimentais e estão desativadas por padrão |

297| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Sobrescreve o limite padrão de tokens para [leituras de arquivos](https://code.claude.com/docs/pt/tools-reference.md#large-files), que é de 25.000 tokens. Útil quando você precisa ler arquivos maiores por inteiro. Uma leitura que o Claude faz com o parâmetro `allow_large` pode ultrapassar esse limite quando a janela de contexto tem espaço |297| `CLAUDE_CODE_EXTRA_BODY` | Objeto JSON a ser mesclado no nível superior do corpo de toda 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](https://code.claude.com/docs/pt/agent-view.md) 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 |

298| `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 |298| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Sobrescreve o limite padrão de tokens para [leituras de arquivos](https://code.claude.com/docs/pt/tools-reference.md#large-files), que é de 25.000 tokens. Útil quando você precisa ler arquivos maiores por completo. Uma leitura que o Claude faz com o parâmetro `allow_large` pode ultrapassar esse limite quando a janela de contexto tem espaço |

299| `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 |299| `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 `CLAUDE_CODE_CHILD_SESSION` herdado, por exemplo de uma sessão `screen` ou de um inicializador em segundo plano iniciado pela primeira vez pela ferramenta Bash do Claude Code, fizer com que uma sessão de nível superior genuína seja classificada incorretamente 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 |

300| `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](https://code.claude.com/docs/pt/fullscreen.md), esta não altera o renderizador |300| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | Defina como `1` para forçar a renderização de tachado para `~~text~~` nas respostas do Claude quando 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 Claude Code v2.1.186 ou posterior |

301| `CLAUDE_CODE_FORCE_TERMINAL_IMAGES` | Defina como `1` para desenhar [elementos `Image` de mods](https://code.claude.com/docs/pt/plugins/mods/reference#elements) como imagens quando o seu terminal desenha imagens do protocolo gráfico do kitty com placeholders Unicode e você ainda vê o texto `alt` esmaecido de um `Image`. Consulte [quais terminais desenham um `Image` e onde não definir esta variável](https://code.claude.com/docs/pt/plugins/mods/gallery#image-and-client) |301| `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. Ao contrário de `CLAUDE_CODE_NO_FLICKER`, que muda para a [renderização em tela cheia](https://code.claude.com/docs/pt/fullscreen.md), isso não altera o renderizador |

302| `CLAUDE_CODE_FORCE_TERMINAL_IMAGES` | Defina como `1` para desenhar [elementos `Image` de mods](https://code.claude.com/docs/pt/plugins/mods/reference#elements) como imagens quando seu terminal desenha imagens do protocolo gráfico kitty com placeholders Unicode e você ainda vê o texto `alt` esmaecido de uma `Image`. Consulte [quais terminais desenham uma `Image` e onde não definir esta variável](https://code.claude.com/docs/pt/plugins/mods/gallery#image-and-client) |

302| `CLAUDE_CODE_FORK_SUBAGENT` | Controla o modo fork, que está ativado por padrão e permite que o Claude inicie [forks](https://code.claude.com/docs/pt/sub-agents.md#fork-the-current-conversation) por conta própria. Enquanto o modo fork está ativado, o Claude também não pode [aguardar um subagente](https://code.claude.com/docs/pt/sub-agents.md#run-subagents-in-foreground-or-background) em sessões interativas de terminal, VS Code ou desktop na sua máquina. Defina como `0` para desativar o modo fork. Para versões, consulte [Desativar o modo fork](https://code.claude.com/docs/pt/sub-agents.md#turn-fork-mode-on-or-off) |303| `CLAUDE_CODE_FORK_SUBAGENT` | Controla o modo fork, que está ativado por padrão e permite que o Claude inicie [forks](https://code.claude.com/docs/pt/sub-agents.md#fork-the-current-conversation) por conta própria. Enquanto o modo fork está ativado, o Claude também não pode [aguardar um subagente](https://code.claude.com/docs/pt/sub-agents.md#run-subagents-in-foreground-or-background) em sessões interativas de terminal, VS Code ou desktop na sua máquina. Defina como `0` para desativar o modo fork. Para versões, consulte [Desativar o modo fork](https://code.claude.com/docs/pt/sub-agents.md#turn-fork-mode-on-or-off) |

303| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | Defina como `1` para emitir blocos de texto e de pensamento de [subagentes](https://code.claude.com/docs/pt/sub-agents.md) na saída de `claude -p --output-format stream-json`, o mesmo comportamento da flag [`--forward-subagent-text`](https://code.claude.com/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 |304| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | Defina como `1` para emitir blocos de texto e de pensamento de [subagentes](https://code.claude.com/docs/pt/sub-agents.md) na saída de `claude -p --output-format stream-json`, o mesmo comportamento da flag [`--forward-subagent-text`](https://code.claude.com/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. Diferentemente 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 é definida para todo o processo. Requer Claude Code v2.1.211 ou posterior |

304| `CLAUDE_CODE_GATEWAY_HINT_HEADERS` | Defina como `1` para enviar os [cabeçalhos de dica de gateway](https://code.claude.com/docs/pt/llm-gateway-protocol.md#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 |305| `CLAUDE_CODE_GATEWAY_HINT_HEADERS` | Defina como `1` para enviar os [cabeçalhos de dica do gateway](https://code.claude.com/docs/pt/llm-gateway-protocol.md#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 API da Anthropic, onde o Claude Code os envia por padrão. Requer Claude Code v2.1.273 ou posterior |

305| `CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS` | Timeout em milissegundos para a requisição de [descoberta de modelos do gateway](https://code.claude.com/docs/pt/llm-gateway-protocol.md#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 |306| `CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS` | Timeout em milissegundos para a requisição de [descoberta de modelos do gateway](https://code.claude.com/docs/pt/llm-gateway-protocol.md#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 |

306| `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](https://code.claude.com/docs/pt/setup.md#set-up-on-windows) |307| `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 em log 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](https://code.claude.com/docs/pt/setup.md#set-up-on-windows) |

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

308| `CLAUDE_CODE_GLOB_NO_IGNORE` | Defina como `false` para fazer a [ferramenta Glob](https://code.claude.com/docs/pt/tools-reference.md#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`](https://code.claude.com/docs/pt/settings-reference#respectgitignore) |309| `CLAUDE_CODE_GLOB_NO_IGNORE` | Defina como `false` para fazer a [ferramenta Glob](https://code.claude.com/docs/pt/tools-reference.md#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`](https://code.claude.com/docs/pt/settings-reference#respectgitignore) |

309| `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 |310| `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 |

310| `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](https://code.claude.com/docs/pt/goal.md#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 |311| `CLAUDE_CODE_GOAL_CHECKIN_MINUTES` | Quantos minutos o trabalho em segundo plano pode manter uma meta ativa esperando antes que o Claude Code [peça ao Claude para verificá-la](https://code.claude.com/docs/pt/goal.md#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 corresponde 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 |

311| `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](https://code.claude.com/docs/pt/artifacts.md) 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](https://code.claude.com/docs/pt/network-config.md#ca-certificate-store) que o Claude Code não consegue detectar tratar incorretamente requisições comprimidas |312| `CLAUDE_CODE_GZIP_REQUEST_BODIES` | Defina como `0` para desativar a compactação gzip dos corpos de requisição da Claude API, de telemetria e de publicação de [artefatos](https://code.claude.com/docs/pt/artifacts.md) enviados para `api.anthropic.com`. Por padrão, o Claude Code compacta corpos de requisição grandes em conexões diretas e ignora a compactaçã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](https://code.claude.com/docs/pt/network-config.md#ca-certificate-store) que o Claude Code não consegue detectar tratar incorretamente requisições compactadas |

312| `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 |313| `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 |

313| `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 |314| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | Sobrescreve o endereço do host usado para se conectar à extensão do IDE. Por padrão, o Claude Code detecta automaticamente o endereço correto, incluindo o roteamento de WSL para Windows |

314| `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`](https://code.claude.com/docs/pt/settings-reference#autoinstallideextension) como `false` |315| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | Defina como `1` para ignorar a instalação automática de extensões do IDE. Equivalente a definir [`autoInstallIdeExtension`](https://code.claude.com/docs/pt/settings-reference#autoinstallideextension) como `false` |

315| `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 |316| `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 seu IDE apesar de ele estar em execução |

316| `CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS` | Tamanho do contexto, em tokens, a partir do qual a [compactação por inatividade](https://code.claude.com/docs/pt/settings-reference.md#idlecompaction) se aplica a uma conversa (padrão: `200000`). Aceita um número inteiro positivo, e qualquer outra coisa é ignorada. Valores abaixo de `100000` são elevados para `100000`, o limite mais baixo. A compactação por inatividade fica ativada por padrão para conversas que atendem às suas condições. Para desativá-la, defina `idleCompaction` como `false`. Requer o Claude Code v2.1.290 ou posterior |317| `CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS` | Tamanho do contexto, em tokens, a partir do qual a [compactação ociosa](https://code.claude.com/docs/pt/settings-reference.md#idlecompaction) se aplica a uma conversa (padrão: `200000`). Aceita um número inteiro positivo, e qualquer outro valor é ignorado. Valores abaixo de `100000` são elevados para `100000`, o limite mais baixo. A compactação ociosa está ativada por padrão para conversas que atendem às suas condições. Para desativá-la, defina `idleCompaction` como `false`. Requer Claude Code v2.1.290 ou posterior |

317| `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` | Quantos [subagentes](https://code.claude.com/docs/pt/sub-agents.md#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 |318| `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` | Quantos [subagentes](https://code.claude.com/docs/pt/sub-agents.md#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 outro valor é ignorado, então a variável pode ajustar o limite, mas não desativá-lo. Requer Claude Code v2.1.217 ou posterior |

318| `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](https://code.claude.com/docs/pt/model-config.md#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 |319| `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](https://code.claude.com/docs/pt/model-config.md#correct-the-window-for-a-gateway-or-custom-model-id). Use isso ao rotear para um modelo por meio de `ANTHROPIC_BASE_URL` cuja janela de contexto não corresponde ao tamanho integrado para o seu nome |

319| `CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH` | Comprimento máximo, em caracteres, das descrições de ferramentas MCP e das instruções de servidores MCP que o Claude Code envia ao modelo. O valor que você define substitui ambos os [limites padrão](https://code.claude.com/docs/pt/mcp.md#for-mcp-server-authors): 4096, e 16384 para a descrição de uma ferramenta que o Claude carrega por meio da busca de ferramentas. Aceita um número inteiro positivo em dígitos simples. Qualquer outro valor é ignorado e os padrões se aplicam. Requer Claude Code v2.1.280 ou posterior |320| `CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH` | Comprimento máximo, em caracteres, das descrições de ferramentas MCP e das instruções de servidores MCP que o Claude Code envia ao modelo. O valor que você define substitui ambos os [limites padrão](https://code.claude.com/docs/pt/mcp.md#for-mcp-server-authors): 4096, e 16384 para a descrição de uma ferramenta que o Claude carrega por meio da busca de ferramentas. Aceita um número inteiro positivo em dígitos simples. Qualquer outro valor é ignorado e os padrões se aplicam. Requer Claude Code v2.1.280 ou posterior |

320| `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](https://code.claude.com/docs/pt/costs.md#reduce-token-usage) seja acionada |321| `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 associar a 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](https://code.claude.com/docs/pt/costs.md#reduce-token-usage) seja acionada |

321| `CLAUDE_CODE_MAX_RETRIES` | Sobrescreve o número de vezes que requisições à API com falha são tentadas novamente (padrão: 10). As novas tentativas podem parar antes em erros `529` de sobrecarga. Por exemplo, com uma chave de API em um modelo Opus, elas param no terceiro `529` e mostram [Repeated 529 Overloaded errors](https://code.claude.com/docs/pt/errors.md#api-error-repeated-529-overloaded-errors). Se você definir um [modelo de fallback](https://code.claude.com/docs/pt/settings-reference.md#fallbackmodel), o Claude Code muda para esse modelo em vez de mostrar o erro. 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 |322| `CLAUDE_CODE_MAX_RETRIES` | Sobrescreve o número de vezes para tentar novamente requisições à API que falharam (padrão: 10). As novas tentativas podem parar antes em erros `529` de sobrecarga. Por exemplo, com uma chave de API em um modelo Opus, elas param no terceiro `529` e mostram [Repeated 529 Overloaded errors](https://code.claude.com/docs/pt/errors.md#api-error-repeated-529-overloaded-errors). Se você definir um [modelo de fallback](https://code.claude.com/docs/pt/settings-reference.md#fallbackmodel), o Claude Code muda para esse modelo em vez de mostrar o erro. 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 |

322| `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` | Removida na v2.1.224 e agora sem efeito. Anteriormente limitava o número total de [subagentes](https://code.claude.com/docs/pt/sub-agents.md) 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](https://code.claude.com/docs/pt/sub-agents.md#concurrent-subagent-limit) e o [limite de profundidade](https://code.claude.com/docs/pt/sub-agents.md#let-subagents-spawn-their-own-subagents) ainda se aplicam |323| `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` | Removida na v2.1.224 e agora sem efeito. Anteriormente limitava o número total de [subagentes](https://code.claude.com/docs/pt/sub-agents.md) que o 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](https://code.claude.com/docs/pt/sub-agents.md#concurrent-subagent-limit) e o [limite de profundidade](https://code.claude.com/docs/pt/sub-agents.md#let-subagents-spawn-their-own-subagents) ainda se aplicam |

323| `CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH` | Número de [camadas de subagentes](https://code.claude.com/docs/pt/sub-agents.md#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 |324| `CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH` | Número de [camadas de subagentes](https://code.claude.com/docs/pt/sub-agents.md#let-subagents-spawn-their-own-subagents) permitidas abaixo da conversa principal (padrão: 3). No padrão, os subagentes podem criar seus próprios subagentes, e um subagente na terceira camada não pode criar 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 criar os seus 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, então o limite pode ser ajustado, mas não removido. Requer Claude Code v2.1.217 ou posterior |

324| `CLAUDE_CODE_MAX_TURNS` | Limita o número de turnos agênticos quando nenhum limite explícito é passado. Equivalente a passar [`--max-turns`](https://code.claude.com/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 |325| `CLAUDE_CODE_MAX_TURNS` | Limita o número de turnos agênticos quando nenhum limite explícito é passado. Equivalente a passar [`--max-turns`](https://code.claude.com/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 |

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

326| `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 |327| `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 |

327| `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](https://code.claude.com/docs/pt/mcp.md#automatic-backgrounding-of-long-tool-calls) (padrão: 120000, ou 2 minutos). Defina como `0` para desativar a passagem automática para segundo plano e, em uma sessão interativa, para fazer o Claude aguardar [tarefas MCP](https://code.claude.com/docs/pt/mcp.md#make-claude-wait-for-the-result-of-an-mcp-task). Requer Claude Code v2.1.212 ou posterior |328| `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](https://code.claude.com/docs/pt/mcp.md#automatic-backgrounding-of-long-tool-calls) (padrão: 120000, ou 2 minutos). Defina como `0` para desativar a passagem automática para segundo plano e, em uma sessão interativa, para fazer o Claude aguardar [tarefas MCP](https://code.claude.com/docs/pt/mcp.md#make-claude-wait-for-the-result-of-an-mcp-task). Requer Claude Code v2.1.212 ou posterior |

328| `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` | Por quanto tempo, em milissegundos, o primeiro turno de uma sessão [não interativa](https://code.claude.com/docs/pt/headless.md) aguarda servidores MCP que ainda estão se conectando, no lugar da [espera do primeiro turno](https://code.claude.com/docs/pt/agent-sdk/mcp.md#connection-timing) padrão. Em um [ambiente auto-hospedado](https://code.claude.com/docs/pt/self-hosted-environments-configuration.md#connection-timing), altera apenas a duração da espera. Alguns servidores mantêm uma espera própria independentemente do valor; [Tempo de conexão](https://code.claude.com/docs/pt/agent-sdk/mcp.md#connection-timing) os lista. Defina como `0` para pular a espera para todos os outros servidores. Requer Claude Code v2.1.274 ou posterior |329| `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` | Por quanto tempo, em milissegundos, o primeiro turno de uma sessão [não interativa](https://code.claude.com/docs/pt/headless.md) aguarda servidores MCP que ainda estão se conectando, no lugar da [espera padrão do primeiro turno](https://code.claude.com/docs/pt/agent-sdk/mcp.md#connection-timing). Em um [ambiente auto-hospedado](https://code.claude.com/docs/pt/self-hosted-environments-configuration.md#connection-timing), ela altera apenas quanto tempo a espera dura. Alguns servidores mantêm uma espera própria independentemente do valor; [Tempo de conexão](https://code.claude.com/docs/pt/agent-sdk/mcp.md#connection-timing) os lista. Defina como `0` para pular a espera para todos os outros servidores. Requer Claude Code v2.1.274 ou posterior |

329| `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](https://code.claude.com/docs/pt/mcp.md#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 |330| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | Timeout de ociosidade em milissegundos para chamadas de ferramenta MCP. Quando um servidor MCP stdio, HTTP, SSE, WebSocket ou [conector do claude.ai](https://code.claude.com/docs/pt/mcp.md#use-mcp-servers-from-claude-ai) não envia resposta nem notificação de progresso por esse período, 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 ociosidade. 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 ociosidade desse servidor para pelo menos o valor de `timeout`. Não se aplica a servidores de IDE nem a servidores em processo do SDK. Requer Claude Code v2.1.187 ou posterior. Antes da v2.1.203, os servidores stdio eram isentos do timeout de ociosidade |

330| `CLAUDE_CODE_MESSAGING_SOCKET` | Definida pelo Claude Code, não por você: em sessões que vinculam um [socket de caixa de entrada](https://code.claude.com/docs/pt/cross-session-messaging.md#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](https://code.claude.com/docs/pt/cross-session-messaging.md#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 |331| `CLAUDE_CODE_MESSAGING_SOCKET` | Definida pelo Claude Code, não por você: em sessões que vinculam um [socket de caixa de entrada](https://code.claude.com/docs/pt/cross-session-messaging.md#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 inicia com mensagens ativadas, o Claude Code vincula o socket antes que qualquer hook seja executado. Outras sessões na máquina entregam mensagens a esse caminho. Cada sessão exporta seu próprio socket em vez de um herdado de um pai, e as mensagens que chegam nele passam pelos [controles de entrada](https://code.claude.com/docs/pt/cross-session-messaging.md#control-inbound-messages) da sessão. Blocos `env` de configurações não podem defini-la. Requer Claude Code v2.1.224 ou posterior |

331| `CLAUDE_CODE_MESSAGING_TOKEN` | Definida pelo Claude Code, não por você: em sessões que vinculam um [socket de caixa de entrada](https://code.claude.com/docs/pt/cross-session-messaging.md#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](https://code.claude.com/docs/pt/cross-session-messaging.md#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 |332| `CLAUDE_CODE_MESSAGING_TOKEN` | Definida pelo Claude Code, não por você: em sessões que vinculam um [socket de caixa de entrada](https://code.claude.com/docs/pt/cross-session-messaging.md#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 envia ao 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 filho próprio](https://code.claude.com/docs/pt/cross-session-messaging.md#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 |

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

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

334| `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 |335| `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 do tmux em modo de controle pausado 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 o stdout é um terminal. Requer Claude Code v2.1.261 ou posterior |

335| `CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES` | Limita quantas vezes o Claude Code reenvia uma [requisição sem streaming](https://code.claude.com/docs/pt/errors.md#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](https://code.claude.com/docs/pt/errors.md#tune-retry-behavior) para o timeout. Requer o Claude Code v2.1.285 ou posterior |336| `CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES` | Limita quantas vezes o Claude Code reenvia uma [requisição sem streaming](https://code.claude.com/docs/pt/errors.md#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](https://code.claude.com/docs/pt/errors.md#tune-retry-behavior) para o timeout. Requer Claude Code v2.1.285 ou posterior |

336| `CLAUDE_CODE_NO_FLICKER` | Defina como `1` para ativar a [renderização em tela cheia](https://code.claude.com/docs/pt/fullscreen.md), 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`](https://code.claude.com/docs/pt/settings-reference#tui); você também pode alternar com `/tui fullscreen` |337| `CLAUDE_CODE_NO_FLICKER` | Defina como `1` para ativar a [renderização em tela cheia](https://code.claude.com/docs/pt/fullscreen.md), 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`](https://code.claude.com/docs/pt/settings-reference#tui); você também pode alternar com `/tui fullscreen` |

337| `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 |338| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | Token de atualização OAuth para autenticação no Claude.ai. Quando definido, `claude auth login` troca esse token diretamente em vez de abrir um navegador. Requer `CLAUDE_CODE_OAUTH_SCOPES`. Útil para provisionar autenticação em ambientes automatizados |

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

339| `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`](https://code.claude.com/docs/pt/authentication#generate-a-long-lived-token). A menos que você execute [`/login`](https://code.claude.com/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 |340| `CLAUDE_CODE_OAUTH_TOKEN` | Token de acesso OAuth para autenticação no claude.ai. Alternativa ao `/login` para SDK e ambientes automatizados. Tem precedência sobre credenciais armazenadas no keychain. Gere um com [`claude setup-token`](https://code.claude.com/docs/pt/authentication#generate-a-long-lived-token). A menos que você execute [`/login`](https://code.claude.com/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 |

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

341| `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](https://code.claude.com/docs/pt/monitoring-usage.md) |342| `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 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](https://code.claude.com/docs/pt/monitoring-usage.md) |

342| `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](https://code.claude.com/docs/pt/monitoring-usage.md) |343| `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 um conflito de porta do Prometheus, falha silenciosamente. Requer Claude Code v2.1.179 ou posterior. Consulte [Monitoramento](https://code.claude.com/docs/pt/monitoring-usage.md) |

343| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Timeout em milissegundos para descarregar spans pendentes do OpenTelemetry (padrão: 5000). Consulte [Monitoramento](https://code.claude.com/docs/pt/monitoring-usage.md) |344| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Timeout em milissegundos para descarregar spans pendentes do OpenTelemetry (padrão: 5000). Consulte [Monitoramento](https://code.claude.com/docs/pt/monitoring-usage.md) |

344| `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](https://code.claude.com/docs/pt/monitoring-usage.md#dynamic-headers) |345| `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](https://code.claude.com/docs/pt/monitoring-usage.md#dynamic-headers) |

345| `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](https://code.claude.com/docs/pt/monitoring-usage.md) |346| `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](https://code.claude.com/docs/pt/monitoring-usage.md) |

346| `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](https://code.claude.com/docs/pt/errors.md#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](https://code.claude.com/docs/pt/fast-mode.md#handle-rate-limits). Requer o Claude Code v2.1.292 ou posterior |347| `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](https://code.claude.com/docs/pt/errors.md#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 da 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](https://code.claude.com/docs/pt/fast-mode.md#handle-rate-limits). Requer Claude Code v2.1.292 ou posterior |

347| `CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS` | Teto em milissegundos, no lugar do padrão de 32000, do backoff exponencial entre [novas tentativas automáticas](https://code.claude.com/docs/pt/errors.md#tune-retry-behavior) de uma requisição que a API rejeita com um erro `529` de sobrecarga. Aumente-o para que as novas tentativas posteriores continuem se espaçando quando a API estiver no limite de capacidade. Informe milissegundos inteiros de 32000 a 64000 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](https://code.claude.com/docs/pt/fast-mode.md#handle-rate-limits). Requer o Claude Code v2.1.296 ou posterior |348| `CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS` | Teto em milissegundos, no lugar do padrão de 32000, do backoff exponencial entre [novas tentativas automáticas](https://code.claude.com/docs/pt/errors.md#tune-retry-behavior) de uma requisição que a API rejeita com um erro `529` de sobrecarga. Aumente-o para que as novas tentativas posteriores continuem se espaçando quando a API estiver no limite da capacidade. Informe milissegundos inteiros de 32000 a 64000 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](https://code.claude.com/docs/pt/fast-mode.md#handle-rate-limits). Requer Claude Code v2.1.296 ou posterior |

348| `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](https://code.claude.com/docs/pt/setup.md#auto-updates) |349| `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](https://code.claude.com/docs/pt/setup.md#auto-updates) |

349| `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 |350| `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 em arquivos sincronizados até que `p4 edit` os abra. Isso impede que o Claude Code contorne o controle de alterações do Perforce |

350| `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` |351| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | Sobrescreve o diretório raiz dos plugins. Apesar do nome, isso define o diretório pai, não o próprio cache: os marketplaces e o cache de plugins ficam em subdiretórios desse caminho. O padrão é `~/.claude/plugins` |

351| `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`](https://code.claude.com/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](https://code.claude.com/docs/pt/plugins/create.md#load-a-directory-or-archive-for-one-session) |352| `CLAUDE_CODE_PLUGIN_DIRS` | Diretórios de plugins a serem carregados para a sessão, cada um carregado da mesma forma que uma flag [`--plugin-dir`](https://code.claude.com/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](https://code.claude.com/docs/pt/plugins/create.md#load-a-directory-or-archive-for-one-session) |

352| `CLAUDE_CODE_PLUGIN_DIR_WATCH` | Controla se o Claude Code recarrega um [mod](https://code.claude.com/docs/pt/plugins/mods/overview.md) 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](https://code.claude.com/docs/pt/plugins/mods/reference.md#settings-and-environment-variables) |353| `CLAUDE_CODE_PLUGIN_DIR_WATCH` | Controla se o Claude Code recarrega um [mod](https://code.claude.com/docs/pt/plugins/mods/overview.md) quando os arquivos do mod mudam. O recarregamento se aplica a um mod que você carrega de um diretório com `--plugin-dir` e está 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](https://code.claude.com/docs/pt/plugins/mods/reference.md#settings-and-environment-variables) |

353| `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](https://code.claude.com/docs/pt/plugins/troubleshooting.md#git-clone-timed-out-after-120s) |354| `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](https://code.claude.com/docs/pt/plugins/troubleshooting.md#git-clone-timed-out-after-120s) |

354| `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](https://code.claude.com/docs/pt/plugins/troubleshooting.md#marketplace-updates-keep-failing-offline) |355| `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 consegue alcançar o remoto ou se autenticar nele. Útil em ambientes offline ou isolados (airgapped), nos quais clonar novamente falharia da mesma forma. Consulte [Atualizações de marketplace falham em ambientes offline](https://code.claude.com/docs/pt/plugins/troubleshooting.md#marketplace-updates-keep-failing-offline) |

355| `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` |356| `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` |

356| `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](https://code.claude.com/docs/pt/plugins/org.md#seed-containers-and-ci) |357| `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 pré-armazenados em cache sem clonar novamente. Consulte [Pré-preencher plugins para contêineres](https://code.claude.com/docs/pt/plugins/org.md#seed-containers-and-ci) |

357| `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 |358| `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 |

358| `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](https://code.claude.com/docs/pt/headless.md#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 |359| `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](https://code.claude.com/docs/pt/headless.md#background-tasks-at-exit) com a flag `-p`. A espera ociosa recomeça toda vez que o Claude usa um turno para lidar com 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 que a conversa principal iniciou mantém a execução aberta além dele. Defina como `0` para aguardar indefinidamente. Requer Claude Code v2.1.182 ou posterior |

359| `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](https://code.claude.com/docs/pt/agent-view.md), 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](https://code.claude.com/docs/pt/managed-settings.md), 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`](https://code.claude.com/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](https://code.claude.com/docs/pt/corporate-launcher.md) 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 |360| `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 do [agent view](https://code.claude.com/docs/pt/agent-view.md), por meio de um inicializador corporativo informado como um prefixo argv, como `/opt/corp/launcher`. Defina-a no bloco `env` das configurações de usuário ou das [configurações gerenciadas](https://code.claude.com/docs/pt/managed-settings.md), não como um export 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`](https://code.claude.com/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](https://code.claude.com/docs/pt/corporate-launcher.md) 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 |

360| `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](https://code.claude.com/docs/pt/sessions.md#name-the-project-directory-yourself). Requer o Claude Code v2.1.234 ou posterior |361| `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 o `claude`, nunca de um [bloco `env` de arquivo de configurações](#in-settings-files). Consulte [Nomear o diretório do projeto você mesmo](https://code.claude.com/docs/pt/sessions.md#name-the-project-directory-yourself). Requer Claude Code v2.1.234 ou posterior |

361| `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](https://code.claude.com/docs/pt/prompt-caching.md#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 |362| `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](https://code.claude.com/docs/pt/prompt-caching.md#cache-lifetime) para a conversa principal: seus turnos interativos, `-p` e do SDK, além dos auxiliares que são 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 taxa mais alta. Requer Claude Code v2.1.242 ou posterior |

362| `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)](https://code.claude.com/docs/pt/monitoring-usage.md#traces-beta) |363| `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 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 API da Anthropic. Adicionada na v2.1.152. Consulte [Traces (beta)](https://code.claude.com/docs/pt/monitoring-usage.md#traces-beta) |

363| `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](https://code.claude.com/docs/pt/managed-settings.md), 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`](https://code.claude.com/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](https://code.claude.com/docs/pt/data-usage.md#default-behaviors-by-api-provider) |364| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | Definida por plataformas host que incorporam o Claude Code e gerenciam o roteamento do provedor de modelos em seu nome. 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 de 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](https://code.claude.com/docs/pt/managed-settings.md), seja qual for a fonte gerenciada que as entregue, para que a configuração de modelo 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`](https://code.claude.com/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 ignora 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 via `DISABLE_TELEMETRY`. Consulte [Comportamentos padrão por provedor de API](https://code.claude.com/docs/pt/data-usage.md#default-behaviors-by-api-provider) |

364| `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 |365| `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 |

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

366| `CLAUDE_CODE_REMOTE_SESSION_ID` | Definida automaticamente em [sessões na nuvem](https://code.claude.com/docs/pt/claude-code-on-the-web.md) 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](https://code.claude.com/docs/pt/cloud-environments.md#link-output-back-to-the-session) |367| `CLAUDE_CODE_REMOTE_SESSION_ID` | Definida automaticamente em [sessões na nuvem](https://code.claude.com/docs/pt/claude-code-on-the-web.md) 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](https://code.claude.com/docs/pt/cloud-environments.md#link-output-back-to-the-session) |

367| `CLAUDE_CODE_RESTRICTED` | Defina como `1` para iniciar a sessão no modo restrito, o mesmo que passar [`--restricted`](https://code.claude.com/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 |368| `CLAUDE_CODE_RESTRICTED` | Defina como `1` para iniciar a sessão no modo restrito, o mesmo que passar [`--restricted`](https://code.claude.com/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 |

368| `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](https://code.claude.com/docs/pt/vs-code.md#continue-conversations-after-a-reload) |369| `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 recarregar](https://code.claude.com/docs/pt/vs-code.md#continue-conversations-after-a-reload) |

369| `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` não define limite, exceto que alguns turnos só são retomados dentro de seis horas após sua última mensagem, como um que terminou com um erro da API. 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 um reinício sobre uma transcrição antiga não execute novamente um prompt desatualizado. O próprio Claude Code define um limite de uma hora quando reinicia uma sessão da [visualização de agentes](https://code.claude.com/docs/pt/agent-view.md) que travou e herdou sua conversa de uma sessão interativa. Requer o Claude Code v2.1.211 ou posterior |370| `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` não define limite, exceto que alguns turnos só são retomados em até seis horas após sua última mensagem, como um que terminou com um erro da API. 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 definir isso para que um reinício com uma transcrição antiga não execute novamente um prompt desatualizado. O próprio Claude Code define um limite de uma hora quando reinicia uma sessão do [agent view](https://code.claude.com/docs/pt/agent-view.md) que travou e que herdou sua conversa de uma sessão interativa. Requer Claude Code v2.1.211 ou posterior |

370| `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](https://code.claude.com/docs/pt/hooks.md#defer-a-tool-call-for-later) com `-p`. O padrão é `Continue from where you left off.`. Uma string vazia usa o padrão |371| `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](https://code.claude.com/docs/pt/hooks.md#defer-a-tool-call-for-later) com `-p`. O padrão é `Continue from where you left off.`. Uma string vazia usa o padrão |

371| `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](https://code.claude.com/docs/pt/errors.md#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](https://code.claude.com/docs/pt/fast-mode.md#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 |372| `CLAUDE_CODE_RESUME_SHOWS_CUT_OFF_CALLS` | Defina como `1` para manter as [chamadas de ferramenta interrompidas](https://code.claude.com/docs/pt/sessions.md#what-a-resumed-session-restores), marcadas como cortadas, em um turno que `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` continua. Quando não definida, essas chamadas são descartadas antes que o turno continue. Algumas chamadas continuam sendo descartadas, como chamadas a subagentes, skills, workflows e ferramentas que aguardam uma pessoa. Para o painel de chat do VS Code, consulte [Continuar conversas após um recarregamento](https://code.claude.com/docs/pt/vs-code.md#continue-conversations-after-a-reload). Requer Claude Code v2.1.309 ou posterior |

372| `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 |373| `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 proveniente de um [limite de gastos do gateway](https://code.claude.com/docs/pt/errors.md#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](https://code.claude.com/docs/pt/fast-mode.md#handle-rate-limits). O watchdog aguarda até 5 minutos entre as tentativas, ou até o limite ser 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 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 Claude Code v2.1.186 ou posterior |

373| `CLAUDE_CODE_RETRY_WATCHDOG_USAGE_LIMIT_RECHECK_MS` | Intervalo mínimo, em milissegundos, entre verificações de se um [limite de uso](https://code.claude.com/docs/pt/errors.md#youve-hit-your-session-limit) já foi liberado, enquanto uma requisição aguarda a redefinição desse limite com `CLAUDE_CODE_RETRY_WATCHDOG` definida. Quando uma verificação constata que o limite foi liberado, a requisição é enviada imediatamente. Informe um número inteiro em dígitos simples de `60000`, um minuto, a `10800000`, três horas. As verificações são feitas apenas para o limite de sessão ou semanal de uma assinatura do claude.ai enquanto os créditos de uso não estão em uso, e não enquanto `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` está definida. Quando esta variável não está definida ou seu valor está fora desse intervalo, nenhuma verificação é feita. Requer Claude Code v2.1.305 ou posterior |374| `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 Claude Code v2.1.295 ou posterior |

375| `CLAUDE_CODE_RETRY_WATCHDOG_USAGE_LIMIT_RECHECK_MS` | Intervalo mínimo, em milissegundos, entre verificações de se um [limite de uso](https://code.claude.com/docs/pt/errors.md#youve-hit-your-session-limit) já foi suspenso, enquanto uma requisição aguarda a redefinição desse limite com `CLAUDE_CODE_RETRY_WATCHDOG` definida. Quando uma verificação constata que o limite foi suspenso, a requisição é enviada imediatamente. Informe um número inteiro em dígitos simples de `60000`, um minuto, a `10800000`, três horas. As verificações são feitas apenas para o limite de sessão ou semanal de uma assinatura do claude.ai enquanto os créditos de uso não estão em uso, e não enquanto `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` está definida. Quando esta variável não está definida ou seu valor está fora desse intervalo, nenhuma verificação é feita. Requer Claude Code v2.1.305 ou posterior |

374| `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`](https://code.claude.com/docs/pt/cli-reference#cli-flags). Processos filhos iniciados diretamente herdam a variável |376| `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`](https://code.claude.com/docs/pt/cli-reference#cli-flags). Processos filhos iniciados diretamente herdam a variável |

375| `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 |377| `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. A distribuição em tempo de execução via `xargs` ou `find -exec` não é detectada; este é um controle de defesa em profundidade |

376| `CLAUDE_CODE_SCROLL_SPEED` | Define o multiplicador de rolagem da roda do mouse na [renderização em tela cheia](https://code.claude.com/docs/pt/fullscreen.md#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 |378| `CLAUDE_CODE_SCROLL_SPEED` | Define o multiplicador de rolagem da roda do mouse na [renderização em tela cheia](https://code.claude.com/docs/pt/fullscreen.md#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 seu terminal enviar um evento de roda por entalhe sem amplificação. Ignorada no terminal do IDE JetBrains, onde o Claude Code usa seu próprio tratamento de rolagem |

377| `CLAUDE_CODE_SEND_FEEDBACK` | Defina como `0` para desativar o [feedback redigido pelo Claude](https://code.claude.com/docs/pt/tools-reference.md#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`](https://code.claude.com/docs/pt/settings-reference#feedbackdrafts), ainda se aplicam |379| `CLAUDE_CODE_SEND_FEEDBACK` | Defina como `0` para desativar o [feedback redigido pelo Claude](https://code.claude.com/docs/pt/tools-reference.md#sendfeedback-tool-behavior) para 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 os outros controles que desativam o feedback, como `DISABLE_FEEDBACK_COMMAND` e o valor `off` da configuração [`feedbackDrafts`](https://code.claude.com/docs/pt/settings-reference#feedbackdrafts), ainda se aplicam |

378| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Sobrescreve o orçamento de tempo em milissegundos para hooks [SessionEnd](https://code.claude.com/docs/pt/hooks.md#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 |380| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Sobrescreve o orçamento de tempo, em milissegundos, para hooks [SessionEnd](https://code.claude.com/docs/pt/hooks.md#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, a `/clear` e à troca de sessões via `/resume` interativo. Por padrão, o orçamento é de 1,5 segundo, automaticamente elevado para o maior `timeout` por hook configurado em arquivos de configurações, até 60 segundos. Timeouts em hooks fornecidos por plugins não elevam o orçamento |

379| `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](https://code.claude.com/docs/pt/hooks.md) e nos subprocessos de [servidores MCP](https://code.claude.com/docs/pt/mcp.md) 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 |381| `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](https://code.claude.com/docs/pt/hooks.md) e em subprocessos de [servidores MCP](https://code.claude.com/docs/pt/mcp.md) 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. 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 de inicialização. Use para correlacionar scripts e ferramentas externas com a sessão do Claude Code que os iniciou |

380| `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 |382| `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 compatíveis. 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` funcional e depois `bash` encontrado no seu `PATH` e nos locais de instalação padrão |

381| `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](https://code.claude.com/docs/pt/hooks.md), comandos da [linha de status](https://code.claude.com/docs/pt/statusline.md) e comandos de inicialização de [servidores MCP](https://code.claude.com/docs/pt/mcp.md) 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 |383| `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](https://code.claude.com/docs/pt/hooks.md), comandos da [linha de status](https://code.claude.com/docs/pt/statusline.md) e comandos de inicialização de [servidores MCP](https://code.claude.com/docs/pt/mcp.md) stdio. Hooks PowerShell e hooks em formato exec são executados sem o prefixo. Útil para logs 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 com aspas de 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 de shell completa que o Claude Code monta, incluindo a configuração do ambiente, não apenas o comando que o Claude executou |

382| `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`](https://code.claude.com/docs/pt/headless#start-faster-with-bare-mode) |384| `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`](https://code.claude.com/docs/pt/headless#start-faster-with-bare-mode) |

383| `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 |385| `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 onde um experimento ou a configuração do servidor selecionaria o mais curto. Ambos os prompts mantêm o conjunto completo de ferramentas, hooks, servidores MCP e a descoberta do CLAUDE.md |

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

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

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

387| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` | Defina como `1` para tratar uma verificação de disponibilidade do [modo rápido](https://code.claude.com/docs/pt/fast-mode.md#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" |389| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` | Defina como `1` para tratar uma verificação de disponibilidade do [modo rápido](https://code.claude.com/docs/pt/fast-mode.md#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" |

388| `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK` | Defina como `1` para ignorar a verificação de disponibilidade do [modo rápido](https://code.claude.com/docs/pt/fast-mode.md#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 |390| `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK` | Defina como `1` para ignorar a verificação de disponibilidade do [modo rápido](https://code.claude.com/docs/pt/fast-mode.md#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 sua organização tem o modo rápido desativado |

389| `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 |391| `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 |

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

391| `CLAUDE_CODE_SKIP_MODEL_ACCESS_MEMORY` | As [verificações de modelo na inicialização](https://code.claude.com/docs/pt/amazon-bedrock.md#startup-model-checks) no [Amazon Bedrock](https://code.claude.com/docs/pt/amazon-bedrock.md) e no [Agent Platform do Google Cloud](https://code.claude.com/docs/pt/google-vertex-ai.md) 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 |393| `CLAUDE_CODE_SKIP_MODEL_ACCESS_MEMORY` | As [verificações de modelo na inicialização](https://code.claude.com/docs/pt/amazon-bedrock.md#startup-model-checks) no [Amazon Bedrock](https://code.claude.com/docs/pt/amazon-bedrock.md) e na [Agent Platform do Google Cloud](https://code.claude.com/docs/pt/google-vertex-ai.md) memorizam nesta máquina quais modelos elas constataram que sua conta não pode invocar, por até um dia. Defina como `1` para desativar essa memorização. Requer Claude Code v2.1.285 ou posterior |

392| `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 |394| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | Defina como `1` para não gravar o histórico de prompts e as transcrições de sessões 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 com scripts |

393| `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) |395| `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) |

394| `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](https://code.claude.com/docs/pt/agent-sdk/typescript.md#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 |396| `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](https://code.claude.com/docs/pt/agent-sdk/typescript.md#startup_failure_reason) para falhas de inicialização que, de outra forma, terminariam apenas com o stderr. Requer Claude Code v2.1.274 ou posterior |

395| `CLAUDE_CODE_STOP_HOOK_BLOCK_CAP` | Número máximo de vezes consecutivas que um hook [Stop](https://code.claude.com/docs/pt/hooks.md#stop) ou [SubagentStop](https://code.claude.com/docs/pt/hooks.md#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 |397| `CLAUDE_CODE_STOP_HOOK_BLOCK_CAP` | Número máximo de vezes consecutivas que um hook [Stop](https://code.claude.com/docs/pt/hooks.md#stop) ou [SubagentStop](https://code.claude.com/docs/pt/hooks.md#subagentstop) pode impedir o término do turno antes que o Claude Code o sobrescreva e termine o turno mesmo assim (padrão: 8). Defina como `0` para desativar o limite. Aumente-o se seu hook legitimamente precisar de mais iterações para ser resolvido |

396| `CLAUDE_CODE_SUBAGENT_MODEL` | O modelo padrão para [subagentes](https://code.claude.com/docs/pt/sub-agents.md#choose-a-model), colegas de [equipe de agentes](https://code.claude.com/docs/pt/agent-teams.md#specify-teammates-and-models) e agentes de [workflow](https://code.claude.com/docs/pt/workflows.md) 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`](https://code.claude.com/docs/pt/sub-agents#run-every-subagent-on-one-model). Consulte [Escolher um modelo](https://code.claude.com/docs/pt/sub-agents.md#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 |398| `CLAUDE_CODE_SUBAGENT_MODEL` | O modelo padrão para [subagentes](https://code.claude.com/docs/pt/sub-agents.md#choose-a-model), colegas de [equipe de agentes](https://code.claude.com/docs/pt/agent-teams.md#specify-teammates-and-models) e agentes de [workflow](https://code.claude.com/docs/pt/workflows.md) que não recebem um modelo de outra forma. Aceita um alias como `haiku` ou um nome de modelo completo. Duas fontes têm precedência sobre ela: um modelo que o 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`](https://code.claude.com/docs/pt/sub-agents#run-every-subagent-on-one-model). Consulte [Escolher um modelo](https://code.claude.com/docs/pt/sub-agents.md#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 |

397| `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](https://code.claude.com/docs/pt/sub-agents.md#run-every-subagent-on-one-model) informa qual é esse modelo. Requer o Claude Code v2.1.257 ou posterior |399| `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 modelo](https://code.claude.com/docs/pt/sub-agents.md#run-every-subagent-on-one-model) diz qual modelo é esse. Requer Claude Code v2.1.257 ou posterior |

398| `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](https://code.claude.com/docs/pt/prompt-caching.md#cache-lifetime) para requisições fora da conversa principal, como [subagentes](https://code.claude.com/docs/pt/sub-agents.md), 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 |400| `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](https://code.claude.com/docs/pt/prompt-caching.md#cache-lifetime) para requisições fora da conversa principal, como [subagentes](https://code.claude.com/docs/pt/sub-agents.md), 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 taxa mais alta. Requer Claude Code v2.1.242 ou posterior |

399| `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 |401| `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 tokens do GitHub e configurações de proxy. Consulte [O que a limpeza do ambiente de subprocessos remove](#what-the-subprocess-environment-scrub-removes). O `claude-code-action` define isso automaticamente quando `allowed_non_write_users` está configurado |

400| `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 |402| `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 |

401| `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 |403| `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 |

402| `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](https://code.claude.com/docs/pt/skills.md#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 |404| `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 em que você entra com sua conta do claude.ai [sincronizam essas skills](https://code.claude.com/docs/pt/skills.md#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 |

403| `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](https://code.claude.com/docs/pt/agent-sdk/typescript.md#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 |405| `CLAUDE_CODE_SYNC_SKILLS_INSTALL_TIMEOUT_MS` | Timeout em milissegundos para a ressincronização de skills que ocorre no meio da sessão quando um aplicativo criado com o [Agent SDK](https://code.claude.com/docs/pt/agent-sdk/typescript.md#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 |

404| `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 |406| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | Timeout em milissegundos para que a primeira consulta aguarde 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. Em ambos os casos, os downloads terminam em segundo plano, e Claude aguarda o download de uma skill quando a invoca |

405| `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`](https://code.claude.com/docs/pt/settings-reference#syntaxhighlightingdisabled) |407| `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`](https://code.claude.com/docs/pt/settings-reference#syntaxhighlightingdisabled) |

406| `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](https://code.claude.com/docs/pt/tools-reference.md#task-tool-availability). Consulte [Lista de tarefas](https://code.claude.com/docs/pt/interactive-mode.md#task-list) |408| `CLAUDE_CODE_TASK_LIST_ID` | Compartilhe 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](https://code.claude.com/docs/pt/tools-reference.md#task-tool-availability). Consulte [Lista de tarefas](https://code.claude.com/docs/pt/interactive-mode.md#task-list) |

407| `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](https://code.claude.com/docs/pt/sandboxing.md) 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](https://code.claude.com/docs/pt/settings-reference.md#variables-claude-code-ignores-in-env) |409| `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](https://code.claude.com/docs/pt/sandboxing.md) recebem um `$TMPDIR` curto de fallback 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 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 o valor que você definiu, ou `%TEMP%` quando você não definiu nenhum. 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](https://code.claude.com/docs/pt/settings-reference.md#variables-claude-code-ignores-in-env) |

408| `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](https://code.claude.com/docs/pt/terminal-config.md) para outras configurações do tmux |410| `CLAUDE_CODE_TMUX_TRUECOLOR` | Defina como 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 liga/desliga; 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](https://code.claude.com/docs/pt/terminal-config.md) para outras configurações do tmux |

409| `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](https://code.claude.com/docs/pt/tools-reference.md#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 |411| `CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE` | No Linux e no WSL, defina como uma lista separada por vírgulas dos tipos de processos que o Claude Code [exclui do limite de memória das ferramentas](https://code.claude.com/docs/pt/tools-reference.md#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 Claude Code v2.1.246 ou posterior |

410| `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](https://code.claude.com/docs/pt/tools-reference.md#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 |412| `CLAUDE_CODE_TOOL_MEMORY_LIMIT` | No Linux e no WSL, defina como um tamanho, como `4G`, para [limitar a memória que os comandos das ferramentas Bash e PowerShell podem usar](https://code.claude.com/docs/pt/tools-reference.md#memory-limit-on-linux-and-wsl), e os comandos da ferramenta Monitor na v2.1.246 ou posterior. Escreva o tamanho apenas com dígitos, sozinhos 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 Claude Code v2.1.233 ou posterior |

411| `CLAUDE_CODE_TRANSCRIPT_LOCAL_GC` | Defina como `1` para limitar o quanto cresce o [arquivo de transcrição](https://code.claude.com/docs/pt/sessions.md#where-transcripts-are-stored) de uma sessão longa com `-p` ou do Agent SDK. Após cada compactação, quando o arquivo ultrapassa 5 MB, o Claude Code remove o histórico anterior a essa compactação. Na v2.1.296 ou posterior, o arquivo permanece como está quando remover esse histórico o reduziria em menos de 10%. Retomar a sessão restaura a mesma conversa, tenha o arquivo sido reduzido ou não. Defina-a no ambiente a partir do qual você inicia o Claude Code, já que um bloco `env` das configurações não consegue ativá-la. Requer Claude Code v2.1.287 ou posterior |413| `CLAUDE_CODE_TRANSCRIPT_LOCAL_GC` | Defina como `1` para limitar o quanto cresce o [arquivo de transcrição](https://code.claude.com/docs/pt/sessions.md#where-transcripts-are-stored) de uma sessão longa com `-p` ou do Agent SDK. Após cada compactação, quando o arquivo tiver mais de 5 MB, o Claude Code remove o histórico anterior a essa compactação. Na v2.1.296 ou posterior, o arquivo permanece como está quando remover esse histórico o reduziria em menos de 10%. 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` das configurações não consegue ativá-la. Requer Claude Code v2.1.287 ou posterior |

412| `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](https://code.claude.com/docs/pt/remote-control.md) ou do SDK, ou a caixa de diálogo de aprovação de uma [mensagem entre sessões retida](https://code.claude.com/docs/pt/cross-session-messaging.md#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](https://code.claude.com/docs/pt/model-config.md#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](https://code.claude.com/docs/pt/cross-session-messaging.md#control-inbound-messages) e [sessões não interativas](https://code.claude.com/docs/pt/cross-session-messaging.md#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`](https://code.claude.com/docs/pt/settings-reference#dialogexpiry). `0` ou um valor negativo desativa o prazo. Ignorada em [configurações de projeto e locais](https://code.claude.com/docs/pt/settings-reference.md#variables-claude-code-ignores-in-env) |414| `CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS` | Prazo em milissegundos antes que o Claude Code cancele uma caixa de diálogo que encaminha para um cliente remoto, como um host do [Remote Control](https://code.claude.com/docs/pt/remote-control.md) ou do SDK, ou a caixa de diálogo de aprovação de uma [mensagem entre sessões retida](https://code.claude.com/docs/pt/cross-session-messaging.md#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](https://code.claude.com/docs/pt/model-config.md#fable-and-usage-credits) no meio da sessão em uma sessão que pode estar sendo executada sem supervisão. [Controlar mensagens recebidas](https://code.claude.com/docs/pt/cross-session-messaging.md#control-inbound-messages) e [sessões não interativas](https://code.claude.com/docs/pt/cross-session-messaging.md#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`](https://code.claude.com/docs/pt/settings-reference#dialogexpiry). `0` ou um valor negativo desativa o prazo. Ignorada nas [configurações de projeto e locais](https://code.claude.com/docs/pt/settings-reference.md#variables-claude-code-ignores-in-env) |

413| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | Usar o [Claude Platform on AWS](https://code.claude.com/docs/pt/claude-platform-on-aws.md) |415| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | Usar o [Claude Platform on AWS](https://code.claude.com/docs/pt/claude-platform-on-aws.md) |

414| `CLAUDE_CODE_USE_BEDROCK` | Usar o [Amazon Bedrock](https://code.claude.com/docs/pt/amazon-bedrock.md) |416| `CLAUDE_CODE_USE_BEDROCK` | Usar o [Amazon Bedrock](https://code.claude.com/docs/pt/amazon-bedrock.md) |

415| `CLAUDE_CODE_USE_FOUNDRY` | Usar o [Microsoft Foundry](https://code.claude.com/docs/pt/microsoft-foundry.md) |417| `CLAUDE_CODE_USE_FOUNDRY` | Usar o [Microsoft Foundry](https://code.claude.com/docs/pt/microsoft-foundry.md) |

416| `CLAUDE_CODE_USE_MANTLE` | Usar o [endpoint Mantle](https://code.claude.com/docs/pt/amazon-bedrock.md#use-the-mantle-endpoint) do Amazon Bedrock |418| `CLAUDE_CODE_USE_MANTLE` | Usar o [endpoint Mantle](https://code.claude.com/docs/pt/amazon-bedrock.md#use-the-mantle-endpoint) do Amazon Bedrock |

417| `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](https://code.claude.com/docs/pt/tools-reference.md#powershell-tool) |419| `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, no macOS e no 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](https://code.claude.com/docs/pt/tools-reference.md#powershell-tool) |

418| `CLAUDE_CODE_USE_VERTEX` | Usar o [Agent Platform do Google Cloud](https://code.claude.com/docs/pt/google-vertex-ai.md) |420| `CLAUDE_CODE_USE_VERTEX` | Usar o [Agent Platform do Google Cloud](https://code.claude.com/docs/pt/google-vertex-ai.md) |

419| `CLAUDE_CODE_WARN_DISK_FREE_GIB` | Defina com um número inteiro de GiB, como `10`, para que o Claude Code avise o Claude quando o espaço livre no sistema de arquivos do diretório de trabalho ficar abaixo dessa quantidade. O aviso é um lembrete do sistema informando quanto está livre. O lembrete fica desativado quando a variável não está definida, é `0` ou não contém apenas dígitos. Defina-a no ambiente que inicia o Claude Code, já que o Claude Code ignora uma cópia fornecida por um bloco `env` das configurações. Requer Claude Code v2.1.304 ou posterior |421| `CLAUDE_CODE_WARN_DISK_FREE_GIB` | Defina como um número inteiro de GiB, como `10`, para que o Claude Code avise Claude quando o espaço livre no sistema de arquivos do diretório de trabalho ficar abaixo dessa quantidade. O aviso é um lembrete do sistema informando quanto espaço está livre. O lembrete fica desativado quando a variável não está definida, é `0` ou não contém apenas dígitos. Defina-a no ambiente que inicia o Claude Code, já que o Claude Code ignora uma cópia fornecida por meio de um bloco `env` das configurações. Requer Claude Code v2.1.304 ou posterior |

420| `CLAUDE_CODE_WARN_MEMORY_FREE_GIB` | No Linux e no WSL, defina com um número inteiro de GiB, como `4`, para que o Claude Code avise o Claude quando a memória do sistema disponível ficar abaixo dessa quantidade. O aviso é um lembrete do sistema informando quanto está disponível. O lembrete fica desativado quando a variável não está definida, é `0` ou não contém apenas dígitos. Defina-a no ambiente que inicia o Claude Code, já que o Claude Code ignora uma cópia fornecida por um bloco `env` das configurações. Requer Claude Code v2.1.304 ou posterior |422| `CLAUDE_CODE_WARN_MEMORY_FREE_GIB` | No Linux e no WSL, defina como um número inteiro de GiB, como `4`, para que o Claude Code avise Claude quando a memória do sistema disponível ficar abaixo dessa quantidade. O aviso é um lembrete do sistema informando quanto está disponível. O lembrete fica desativado quando a variável não está definida, é `0` ou não contém apenas dígitos. Defina-a no ambiente que inicia o Claude Code, já que o Claude Code ignora uma cópia fornecida por meio de um bloco `env` das configurações. Requer Claude Code v2.1.304 ou posterior |

421| `CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS` | Defina como o número de milissegundos durante os quais o [WebFetch](https://code.claude.com/docs/pt/tools-reference.md#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 |423| `CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS` | Defina como o número de milissegundos durante os quais o [WebFetch](https://code.claude.com/docs/pt/tools-reference.md#webfetch-tool-behavior) mantém em cache a resposta de cada URL buscada. O padrão é `900000`, ou seja, 15 minutos. Aceita apenas dígitos; `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 `claude`. Requer Claude Code v2.1.233 ou posterior |

422| `CLAUDE_CODE_WEBFETCH_DEADLINE_MS` | Limite máximo, em milissegundos, de quanto tempo o [WebFetch](https://code.claude.com/docs/pt/tools-reference.md#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 |424| `CLAUDE_CODE_WEBFETCH_DEADLINE_MS` | Limite superior em milissegundos para quanto tempo o [WebFetch](https://code.claude.com/docs/pt/tools-reference.md#webfetch-tool-behavior) aguarda o download de uma página, incluindo os redirecionamentos que ele segue. Um download que não tenha sido concluído até lá falha com um erro de prazo. O padrão é `300000`, ou seja, cinco minutos. Defina como `0` para remover o limite. Aceita apenas dígitos; um decimal ou qualquer outra grafia mantém o padrão. Requer Claude Code v2.1.268 ou posterior |

423| `CLAUDE_CODE_WEB_SEARCH_REFILLS_PER_HOUR` | Taxa na qual o [limite de WebSearch](https://code.claude.com/docs/pt/tools-reference.md#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](https://code.claude.com/docs/pt/headless.md), 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 |425| `CLAUDE_CODE_WEB_SEARCH_REFILLS_PER_HOUR` | Taxa com que o [limite de WebSearch](https://code.claude.com/docs/pt/tools-reference.md#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](https://code.claude.com/docs/pt/headless.md), o padrão é `0`, o que desativa o reabastecimento. Aceita apenas dígitos; qualquer outra grafia é lida como não definida. Requer Claude Code v2.1.290 ou posterior |

424| `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](https://code.claude.com/docs/pt/sub-agents.md#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 |426| `CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE` | Quando `CLAUDE_AUTO_BACKGROUND_TASKS` está definida como `1`, quanto tempo o Claude Code aguarda antes de cada lembrete para que Claude verifique os [subagentes em segundo plano](https://code.claude.com/docs/pt/sub-agents.md#run-subagents-in-foreground-or-background) que ainda estão em execução. Aceita uma ou mais esperas separadas por vírgulas, 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; qualquer outro valor ou grafia é lido como não definido. Quando não definida, não há lembretes. Requer Claude Code v2.1.283 ou posterior |

425| `CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS` | Quantos agentes uma única execução de [workflow](https://code.claude.com/docs/pt/workflows.md) 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 |427| `CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS` | Quantos agentes uma única execução de [workflow](https://code.claude.com/docs/pt/workflows.md) 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; valores fora do intervalo e outras grafias mantêm o padrão. Requer Claude Code v2.1.269 ou posterior |

426| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | Limite máximo, em milissegundos, de quanto tempo um agente de [workflow](https://code.claude.com/docs/pt/workflows.md) 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](https://code.claude.com/docs/pt/workflows.md#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 |428| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | Limite superior em milissegundos para quanto tempo um agente de [workflow](https://code.claude.com/docs/pt/workflows.md) aguarda o início da primeira resposta de um agente irmão com o mesmo prefixo 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](https://code.claude.com/docs/pt/workflows.md#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 aguardam. Requer Claude Code v2.1.229 ou posterior |

427| `CLAUDE_CODE_YOU_SHOULD_KNOW_DEBUG` | Defina como `1` para mostrar, acima do prompt, uma linha para cada uma das últimas três verificações que o [mod You should know](https://code.claude.com/docs/pt/interactive-mode.md#you-should-know-suggestions) fez nesta sessão. Use-a para confirmar que o mod está verificando quando nenhuma nota aparece. Requer Claude Code v2.1.287 ou posterior |429| `CLAUDE_CODE_YOU_SHOULD_KNOW_DEBUG` | Defina como `1` para mostrar, acima do prompt, uma linha para cada uma das últimas três verificações que o [mod You should know](https://code.claude.com/docs/pt/interactive-mode.md#you-should-know-suggestions) fez nesta sessão. Use-a para confirmar que o mod está verificando quando nenhuma nota aparece. Requer Claude Code v2.1.287 ou posterior |

428| `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](https://code.claude.com/docs/pt/authentication.md#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](https://code.claude.com/docs/pt/settings-reference.md#variables-claude-code-ignores-in-env) |430| `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 sob esse caminho. Para credenciais, consulte [onde o Claude Code armazena credenciais](https://code.claude.com/docs/pt/authentication.md#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](https://code.claude.com/docs/pt/settings-reference.md#variables-claude-code-ignores-in-env) |

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

430| `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](https://code.claude.com/docs/pt/network-config.md#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](https://code.claude.com/docs/pt/claude-platform-on-aws.md), e para respostas de streaming em conexões de [gateway](https://code.claude.com/docs/pt/gateways.md) 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](https://code.claude.com/docs/pt/network-config.md#streaming-idle-watchdogs) |432| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Defina como `1` para forçar a ativação do watchdog de inatividade de streaming em nível de bytes, ou como `0` para forçar sua desativação. `0` também desativa o [prazo do primeiro byte](https://code.claude.com/docs/pt/network-config.md#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](https://code.claude.com/docs/pt/claude-platform-on-aws.md), e para respostas por streaming em conexões de [gateway](https://code.claude.com/docs/pt/gateways.md) 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 eventos podia relatar uma parada ali mesmo enquanto pings de keep-alive estavam chegando. Para timeouts e como os temporizadores interagem, consulte [Watchdogs de inatividade de streaming](https://code.claude.com/docs/pt/network-config.md#streaming-idle-watchdogs) |

431| `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](https://code.claude.com/docs/pt/network-config.md#streaming-idle-watchdogs) em requisições de streaming do Bedrock. Desativado por padrão. Configure o timeout com `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |433| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Defina como `1` para ativar o watchdog de inatividade de streaming em nível de bytes nas respostas `vnd.amazon.eventstream` do Amazon Bedrock, o que também ativa o [prazo do primeiro byte](https://code.claude.com/docs/pt/network-config.md#streaming-idle-watchdogs) nas requisições de streaming do Bedrock. Desativado por padrão. Configure o timeout com `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |

432| `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](https://code.claude.com/docs/pt/network-config.md#streaming-idle-watchdogs) |434| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Defina como `0` para forçar a desativação do watchdog de inatividade de streaming em nível de eventos, 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 quando não definida era controlado pelo servidor na API direta da Anthropic e desativado nos outros provedores. Configure o timeout com `CLAUDE_STREAM_IDLE_TIMEOUT_MS`; para os outros temporizadores de parada que são executados junto com este, consulte [Watchdogs de inatividade de streaming](https://code.claude.com/docs/pt/network-config.md#streaming-idle-watchdogs) |

433| `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, para que as exportações no arquivo fiquem visíveis para o comando. Use para persistir a ativação de virtualenv ou conda entre comandos. Comandos do PowerShell também recebem suas variáveis, na v2.1.296 ou posterior, sob as condições descritas em [Variáveis persistidas em comandos do PowerShell](https://code.claude.com/docs/pt/hooks.md#persisted-variables-in-powershell-commands). Também é preenchida dinamicamente pelos hooks [SessionStart](https://code.claude.com/docs/pt/hooks.md#persist-environment-variables), [Setup](https://code.claude.com/docs/pt/hooks.md#setup), [CwdChanged](https://code.claude.com/docs/pt/hooks.md#cwdchanged) e [FileChanged](https://code.claude.com/docs/pt/hooks.md#filechanged) |435| `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, para que os exports do arquivo fiquem visíveis para o comando. Use-a para manter a ativação de virtualenv ou conda entre comandos. Comandos PowerShell também recebem suas variáveis, na v2.1.296 ou posterior, nas condições descritas em [Variáveis persistidas em comandos PowerShell](https://code.claude.com/docs/pt/hooks.md#persisted-variables-in-powershell-commands). Também preenchida dinamicamente pelos hooks [SessionStart](https://code.claude.com/docs/pt/hooks.md#persist-environment-variables), [Setup](https://code.claude.com/docs/pt/hooks.md#setup), [CwdChanged](https://code.claude.com/docs/pt/hooks.md#cwdchanged) e [FileChanged](https://code.claude.com/docs/pt/hooks.md#filechanged) |

434| `CLAUDE_JOB_DIR` | Definida pelo Claude Code em cada [sessão em segundo plano](https://code.claude.com/docs/pt/agent-view.md) 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`](https://code.claude.com/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 |436| `CLAUDE_JOB_DIR` | Definida pelo Claude Code em cada [sessão em segundo plano](https://code.claude.com/docs/pt/agent-view.md) como o diretório `~/.claude/jobs/<id>` dessa sessão. Os comandos de shell executados pela sessão a herdam. Grave arquivos temporários de trabalho em [`$CLAUDE_JOB_DIR/tmp`](https://code.claude.com/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 |

435| `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](https://code.claude.com/docs/pt/errors.md#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 |437| `CLAUDE_PID` | O Claude Code define esta variável com o ID do seu próprio processo nos subprocessos que inicia: 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](https://code.claude.com/docs/pt/errors.md#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 |

436| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | Prefixo para nomes de sessão do [Remote Control](https://code.claude.com/docs/pt/remote-control.md) 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 |438| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | Prefixo para nomes de sessão do [Remote Control](https://code.claude.com/docs/pt/remote-control.md) 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 |

437| `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](https://code.claude.com/docs/pt/network-config.md#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](https://code.claude.com/docs/pt/errors.md#no-response-from-api). Requer Claude Code v2.1.242 ou posterior |439| `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](https://code.claude.com/docs/pt/network-config.md#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 definir, consulte [No response from API](https://code.claude.com/docs/pt/errors.md#no-response-from-api). Requer Claude Code v2.1.242 ou posterior |

438| `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](https://code.claude.com/docs/pt/network-config.md#streaming-idle-watchdogs) |440| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Timeout em milissegundos antes que os watchdogs de inatividade de streaming em nível de eventos e de bytes fechem uma conexão parada. 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 proxies, e o watchdog em nível de bytes 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 bytes. Para os padrões de cada watchdog quando não definida, consulte [Watchdogs de inatividade de streaming](https://code.claude.com/docs/pt/network-config.md#streaming-idle-watchdogs) |

439| `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](https://code.claude.com/docs/pt/interactive-mode.md#background-bash-commands) iniciado por um [subagente](https://code.claude.com/docs/pt/sub-agents.md) podia ser executado, em milissegundos, com um padrão de 60 minutos. Consulte [as regras de tempo de vida de comandos em segundo plano](https://code.claude.com/docs/pt/tools-reference.md#background-commands) |441| `CLAUDE_SUBAGENT_BG_SHELL_MAX_MS` | Removida na v2.1.260 e agora sem efeito. Anteriormente limitava por quanto tempo um [comando de shell em segundo plano](https://code.claude.com/docs/pt/interactive-mode.md#background-bash-commands) iniciado por um [subagente](https://code.claude.com/docs/pt/sub-agents.md) podia ser executado, em milissegundos, com um padrão de 60 minutos. Consulte [as regras de tempo de vida de comandos em segundo plano](https://code.claude.com/docs/pt/tools-reference.md#background-commands) |

440| `DEBUG` | Defina como `1` para ativar o modo de depuração, equivalente a iniciar com [`--debug`](https://code.claude.com/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 |442| `DEBUG` | Defina como `1` para ativar o modo de depuração, equivalente a iniciar com [`--debug`](https://code.claude.com/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 |

441| `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 |443| `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 |

442| `DISABLE_AUTO_COMPACT` | Defina como `1` para desativar a compactação automática ao se aproximar do limite de contexto, junto com a [compactação por inatividade](https://code.claude.com/docs/pt/settings-reference.md#idlecompaction). O comando manual `/compact` continua disponível. Use quando quiser controle explícito sobre quando a compactação ocorre. Sobrescreve a configuração [`autoCompactEnabled`](https://code.claude.com/docs/pt/settings-reference#autocompactenabled) |444| `DISABLE_AUTO_COMPACT` | Defina como `1` para desativar a compactação automática ao se aproximar do limite de contexto, junto com a [compactação por inatividade](https://code.claude.com/docs/pt/settings-reference.md#idlecompaction). O comando manual `/compact` continua disponível. Use quando quiser controle explícito sobre quando a compactação ocorre. Sobrescreve a configuração [`autoCompactEnabled`](https://code.claude.com/docs/pt/settings-reference#autocompactenabled) |

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

444| `DISABLE_COST_WARNINGS` | Defina como `1` para desativar mensagens de aviso de custo |446| `DISABLE_COST_WARNINGS` | Defina como `1` para desativar as mensagens de aviso de custo |

445| `DISABLE_DOCTOR_COMMAND` | Defina como `1` para ocultar a skill de verificação de configuração [`/doctor`](https://code.claude.com/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` |447| `DISABLE_DOCTOR_COMMAND` | Defina como `1` para ocultar a skill de verificação de configuração [`/doctor`](https://code.claude.com/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 de tela de diagnóstico `/doctor` |

446| `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 |448| `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 o relatório**, ao contrário da maioria das variáveis liga/desliga; remova a definição da variável para reativar o relatório de erros |

447| `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 |449| `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 |

448| `DISABLE_FEEDBACK_COMMAND` | Defina como `1` para desativar o comando `/feedback` e o [feedback redigido pelo Claude](https://code.claude.com/docs/pt/tools-reference.md#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 |450| `DISABLE_FEEDBACK_COMMAND` | Defina como `1` para desativar o comando `/feedback` e o [feedback redigido por Claude](https://code.claude.com/docs/pt/tools-reference.md#sendfeedback-tool-behavior). Também desativa `/bug` e `/share`, que fazem 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 |

449| `DISABLE_GROWTHBOOK` | Defina como `1` ou `true` para desativar a busca de feature flags e usar os padrões do código para todas as flags. Isso torna o [Remote Control](https://code.claude.com/docs/pt/remote-control.md#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 de eventos de telemetria continua ativado, a menos que `DISABLE_TELEMETRY` também esteja definida |451| `DISABLE_GROWTHBOOK` | Defina como `1` ou `true` para desativar a busca de feature flags e usar os padrões do código para todas as flags. Isso torna o [Remote Control](https://code.claude.com/docs/pt/remote-control.md#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 |

450| `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 |452| `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 em instalações padrão |

451| `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) |453| `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) |

452| `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) |454| `DISABLE_INTERLEAVED_THINKING` | Defina como `1` para impedir o envio do cabeçalho beta interleaved-thinking. Útil quando o 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) |

453| `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` |455| `DISABLE_LOGIN_COMMAND` | Defina como `1` para ocultar o comando `/login`. Útil quando a autenticação é feita externamente por meio de chaves de API ou `apiKeyHelper` |

454| `DISABLE_LOGOUT_COMMAND` | Defina como `1` para ocultar o comando `/logout` |456| `DISABLE_LOGOUT_COMMAND` | Defina como `1` para ocultar o comando `/logout` |

455| `DISABLE_PROMPT_CACHING` | Defina como `1` para desativar o [cache de prompt](https://code.claude.com/docs/pt/prompt-caching.md#disable-prompt-caching) para todos os modelos (tem precedência sobre as configurações por modelo) |457| `DISABLE_PROMPT_CACHING` | Defina como `1` para desativar o [cache de prompt](https://code.claude.com/docs/pt/prompt-caching.md#disable-prompt-caching) para todos os modelos (tem precedência sobre as configurações por modelo) |

456| `DISABLE_PROMPT_CACHING_FABLE` | Defina como `1` para desativar o cache de prompt para modelos Fable |458| `DISABLE_PROMPT_CACHING_FABLE` | Defina como `1` para desativar o cache de prompt para os modelos Fable |

457| `DISABLE_PROMPT_CACHING_HAIKU` | Defina como `1` para desativar o cache de prompt para o [modelo Haiku padrão](https://code.claude.com/docs/pt/prompt-caching.md#disable-prompt-caching), onde quer que ele seja executado |459| `DISABLE_PROMPT_CACHING_HAIKU` | Defina como `1` para desativar o cache de prompt para o [modelo Haiku padrão](https://code.claude.com/docs/pt/prompt-caching.md#disable-prompt-caching), onde quer que ele seja executado |

458| `DISABLE_PROMPT_CACHING_OPUS` | Defina como `1` para desativar o cache de prompt para o [modelo Opus padrão](https://code.claude.com/docs/pt/prompt-caching.md#disable-prompt-caching) |460| `DISABLE_PROMPT_CACHING_OPUS` | Defina como `1` para desativar o cache de prompt para o [modelo Opus padrão](https://code.claude.com/docs/pt/prompt-caching.md#disable-prompt-caching) |

459| `DISABLE_PROMPT_CACHING_SONNET` | Defina como `1` para desativar o cache de prompt para o [modelo Sonnet padrão](https://code.claude.com/docs/pt/prompt-caching.md#disable-prompt-caching) |461| `DISABLE_PROMPT_CACHING_SONNET` | Defina como `1` para desativar o cache de prompt para o [modelo Sonnet padrão](https://code.claude.com/docs/pt/prompt-caching.md#disable-prompt-caching) |

460| `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](https://code.claude.com/docs/pt/managed-settings.md#turn-telemetry-off-for-your-organization) |462| `DISABLE_TELEMETRY` | Defina como qualquer valor não vazio, como `1`, para desativar a telemetria. **Defini-la como `0` ou `false` ainda desativa a telemetria**, 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 arquivos ou comandos Bash. Também desativa a [busca de feature flags](#features-that-need-feature-flag-fetching). Consulte [Desativar a telemetria para a sua organização](https://code.claude.com/docs/pt/managed-settings.md#turn-telemetry-off-for-your-organization) |

461| `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 |463| `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 |

462| `DISABLE_UPGRADE_COMMAND` | Defina como `1` para ocultar o comando `/upgrade` |464| `DISABLE_UPGRADE_COMMAND` | Defina como `1` para ocultar o comando `/upgrade` |

463| `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 |465| `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 |

464| `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](https://code.claude.com/docs/pt/monitoring-usage.md#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](https://code.claude.com/docs/pt/settings-reference.md#variables-claude-code-ignores-in-env) |466| `ENABLE_BETA_TRACING_DETAILED` | Defina como `1`, e defina `BETA_TRACING_ENDPOINT` como o endpoint do seu coletor OTLP/HTTP, para ativar o [tracing beta detalhado](https://code.claude.com/docs/pt/monitoring-usage.md#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 a 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](https://code.claude.com/docs/pt/settings-reference.md#variables-claude-code-ignores-in-env) |

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

466| `ENABLE_PROMPT_CACHING_1H` | Defina como `1` para solicitar um [TTL de cache de prompt](https://code.claude.com/docs/pt/prompt-caching.md#cache-lifetime) de 1 hora em vez do padrão de 5 minutos. Destinada a usuários de chave de API, [Amazon Bedrock](https://code.claude.com/docs/pt/amazon-bedrock.md), [Google Cloud's Agent Platform](https://code.claude.com/docs/pt/google-vertex-ai.md), [Microsoft Foundry](https://code.claude.com/docs/pt/microsoft-foundry.md) e [Claude Platform on AWS](https://code.claude.com/docs/pt/claude-platform-on-aws.md). Para usuários de assinatura dentro do uso incluído, o Claude Code solicita o TTL de 1 hora automaticamente na [conversa principal](https://code.claude.com/docs/pt/prompt-caching.md#which-ttl-each-request-gets). Usuários de assinatura que consomem [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 separadamente para a conversa principal e para as requisições fora dela, use `CLAUDE_CODE_PROMPT_CACHE_TTL` e `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, que têm precedência sobre esta variável |468| `ENABLE_PROMPT_CACHING_1H` | Defina como `1` para solicitar um [TTL de cache de prompt](https://code.claude.com/docs/pt/prompt-caching.md#cache-lifetime) de 1 hora em vez do padrão de 5 minutos. Destinada a usuários de chave de API, do [Amazon Bedrock](https://code.claude.com/docs/pt/amazon-bedrock.md), do [Agent Platform do Google Cloud](https://code.claude.com/docs/pt/google-vertex-ai.md), do [Microsoft Foundry](https://code.claude.com/docs/pt/microsoft-foundry.md) e do [Claude Platform on AWS](https://code.claude.com/docs/pt/claude-platform-on-aws.md). Para usuários de assinatura dentro do uso incluído, o Claude Code solicita o TTL de 1 hora automaticamente na [conversa principal](https://code.claude.com/docs/pt/prompt-caching.md#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 separadamente para a conversa principal e para as requisições fora dela, use `CLAUDE_CODE_PROMPT_CACHE_TTL` e `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, que têm precedência sobre esta variável |

467| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Descontinuada. Use `ENABLE_PROMPT_CACHING_1H` em vez dela. Não tem efeito em sessões do [Claude apps gateway](https://code.claude.com/docs/pt/claude-apps-gateway), mesmo quando o gateway roteia para o Amazon Bedrock |469| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Descontinuada. Use `ENABLE_PROMPT_CACHING_1H` em vez dela. Não tem efeito em sessões do [Claude apps gateway](https://code.claude.com/docs/pt/claude-apps-gateway), mesmo quando o gateway roteia para o Amazon Bedrock |

468| `ENABLE_TOOL_SEARCH` | Controla o [MCP Tool Search](https://code.claude.com/docs/pt/mcp.md#scale-with-mcp-tool-search). Sem definição ou `true` adia as ferramentas MCP, exceto nos [casos que mantêm a busca de ferramentas desativada](https://code.claude.com/docs/pt/mcp.md#configure-tool-search). `auto` ativa a busca de ferramentas quando as definições atingem 10% da janela de contexto. `auto:N` define um limite personalizado, como `auto:5` para 5%. `false` carrega todas as ferramentas de antemão. Se um gateway rejeitar a busca de ferramentas, consulte [Busca de ferramentas por meio de um gateway de LLM](https://code.claude.com/docs/pt/mcp.md#tool-search-through-a-gateway) |470| `ENABLE_TOOL_SEARCH` | Controla o [MCP Tool Search](https://code.claude.com/docs/pt/mcp.md#scale-with-mcp-tool-search). Não definida ou `true` adia as ferramentas MCP, exceto nos [casos que mantêm a busca de ferramentas desativada](https://code.claude.com/docs/pt/mcp.md#configure-tool-search). `auto` ativa a busca de ferramentas quando as definições atingem 10% da janela de contexto. `auto:N` define um limite personalizado, como `auto:5` para 5%. `false` carrega todas as ferramentas antecipadamente. Se um gateway rejeitar a busca de ferramentas, consulte [Busca de ferramentas por meio de um gateway de LLM](https://code.claude.com/docs/pt/mcp.md#tool-search-through-a-gateway) |

469| `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` |471| `FORCE_AUTOUPDATE_PLUGINS` | Defina como `1` para forçar as atualizações automáticas de plugins mesmo quando o atualizador automático principal está desativado por meio de `DISABLE_AUTOUPDATER` |

470| `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](https://code.claude.com/docs/pt/interactive-mode.md#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 |472| `FORCE_HYPERLINK` | Defina como `1` para ativar hiperlinks OSC 8 clicáveis quando o seu terminal oferece suporte a eles mas não é detectado automaticamente, ou `0` para desativá-los. Quando não definida, o Claude Code ativa hiperlinks apenas 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 hiperlinks em vez de desativá-los. O [selo de PR ou merge request](https://code.claude.com/docs/pt/interactive-mode.md#pr-review-status) no rodapé é renderizado como hiperlink mesmo quando o Claude Code não consegue detectar suporte do terminal, como por SSH. Defina `0` para renderizar o selo como texto simples |

471| `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` |473| `FORCE_PROMPT_CACHING_5M` | Defina como `1` para forçar o TTL de cache de prompt de 5 minutos mesmo quando o TTL de 1 hora se aplicaria. Sobrescreve `CLAUDE_CODE_PROMPT_CACHE_TTL`, `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, `ENABLE_PROMPT_CACHING_1H` e as configurações `promptCacheTtl` e `subagentPromptCacheTtl` |

472| `HTTP_PROXY` | Especifica o servidor proxy HTTP para conexões de rede |474| `HTTP_PROXY` | Especifica o servidor proxy HTTP para conexões de rede |

473| `HTTPS_PROXY` | Especifica o servidor proxy HTTPS para conexões de rede |475| `HTTPS_PROXY` | Especifica o servidor proxy HTTPS para conexões de rede |

474| `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 |476| `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 |

475| `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`](https://code.claude.com/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](https://code.claude.com/docs/pt/mcp.md#mcp-output-limits-and-warnings) independentemente desta variável |477| `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`](https://code.claude.com/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](https://code.claude.com/docs/pt/mcp.md#mcp-output-limits-and-warnings) independentemente desta variável |

476| `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`](https://code.claude.com/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](https://code.claude.com/docs/pt/workflows.md) falha na validação. O padrão é 5, uma primeira tentativa mais quatro novas tentativas |478| `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`](https://code.claude.com/docs/pt/cli-reference#cli-flags) no modo não interativo com a flag `-p`; após esse número 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](https://code.claude.com/docs/pt/workflows.md) falha na validação. O padrão é 5, uma primeira tentativa mais quatro novas tentativas |

477| `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](https://code.claude.com/docs/pt/model-config.md#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](https://code.claude.com/docs/pt/third-party-integrations.md), `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](https://code.claude.com/docs/pt/errors.md#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 |479| `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](https://code.claude.com/docs/pt/model-config.md#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 API da Anthropic, exceto no Opus 5.5, no Sonnet 5.5, no Haiku 5.5 e nos modelos Fable, que não podem ter o pensamento desativado. Em [provedores de terceiros](https://code.claude.com/docs/pt/third-party-integrations.md), `0` omite o parâmetro `thinking`. 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](https://code.claude.com/docs/pt/errors.md#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 |

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

479| `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`](https://code.claude.com/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](https://code.claude.com/docs/pt/mcp.md#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`](https://code.claude.com/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 |481| `MCP_CONNECTION_NONBLOCKING` | Controla se a inicialização aguarda a conexão dos servidores MCP 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 aguardar a conexão dos servidores antes da primeira consulta. Servidores configurados com [`alwaysLoad: true`](https://code.claude.com/docs/pt/mcp#exempt-a-server-from-deferral) ainda fazem a inicialização aguardar de qualquer forma, exceto quando servidos a partir do [cache de descoberta](https://code.claude.com/docs/pt/mcp.md#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 aguarda os servidores ainda pendentes antes do primeiro turno, independentemente desta variável. Quando você passa [`--mcp-config`](https://code.claude.com/docs/pt/cli-reference#cli-flags) explicitamente, a espera tem um prazo maior; consulte a entrada dessa flag para a exceção de servidores em cache |

480| `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`](https://code.claude.com/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 |482| `MCP_CONNECT_TIMEOUT_MS` | Quanto tempo a inicialização bloqueante do MCP aguarda, em milissegundos, o 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`](https://code.claude.com/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 |

481| `MCP_DISCOVERY_CACHE` | Ativa ou desativa o [cache de descoberta do MCP](https://code.claude.com/docs/pt/mcp.md#server-status-detail). Com o cache ativado, um servidor HTTP ou SSE remoto que você já usou pode exibir o [status `cached`](https://code.claude.com/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 |483| `MCP_DISCOVERY_CACHE` | Ativa ou desativa o [cache de descoberta do MCP](https://code.claude.com/docs/pt/mcp.md#server-status-detail). Com o cache ativado, um servidor HTTP ou SSE remoto que você já usou pode mostrar o [status `cached`](https://code.claude.com/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 a 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 |

482| `MCP_DISCOVERY_CACHE_MAX_STALE_S` | Idade máxima, em segundos, de uma entrada do [cache de descoberta](https://code.claude.com/docs/pt/mcp.md#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 |484| `MCP_DISCOVERY_CACHE_MAX_STALE_S` | Idade máxima, em segundos, de uma entrada do [cache de descoberta](https://code.claude.com/docs/pt/mcp.md#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 |

483| `MCP_DISCOVERY_CACHE_STRIKES` | Em uma inicialização em que uma entrada do [cache de descoberta](https://code.claude.com/docs/pt/mcp.md#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 |485| `MCP_DISCOVERY_CACHE_STRIKES` | Em uma inicialização em que uma entrada do [cache de descoberta](https://code.claude.com/docs/pt/mcp.md#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, em vez disso, conecte o servidor na próxima inicialização (padrão: 1). Aumente-a se a 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 |

484| `MCP_DISCOVERY_CACHE_TTL_S` | Segundos durante os quais o Claude Code usa uma entrada do [cache de descoberta](https://code.claude.com/docs/pt/mcp.md#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 |486| `MCP_DISCOVERY_CACHE_TTL_S` | Segundos durante os quais o Claude Code usa uma entrada do [cache de descoberta](https://code.claude.com/docs/pt/mcp.md#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 é 4 horas por padrão. Antes da v2.1.238, o Claude Code não limitava o valor |

485| `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](https://code.claude.com/docs/pt/mcp.md#use-pre-configured-oauth-credentials) |487| `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](https://code.claude.com/docs/pt/mcp.md#use-pre-configured-oauth-credentials) |

486| `MCP_PROTOCOL_NEGOTIATION` | Somente no [runtime de cliente MCP v2](https://code.claude.com/docs/pt/mcp.md#mcp-client-runtimes), controla se o Claude Code sonda os servidores em busca da revisão 2026-07-28 do protocolo MCP. Defina `legacy` para pular a sondagem, de modo que todos os servidores se conectem com o handshake anterior a essa revisão. Defina `auto` para sondar os tipos de servidor que oferecem suporte à sondagem: servidores HTTP e stdio, conectores do claude.ai e os conectores de sessões na nuvem e de Remote Control. Com a variável não definida, o Claude Code sonda esses mesmos tipos por padrão; consulte [Runtimes de cliente MCP](https://code.claude.com/docs/pt/mcp.md#mcp-client-runtimes). Qualquer outro valor é ignorado com um aviso no log de depuração. Requer Claude Code v2.1.221 ou posterior |488| `MCP_PROTOCOL_NEGOTIATION` | Apenas no [runtime de cliente MCP v2](https://code.claude.com/docs/pt/mcp.md#mcp-client-runtimes), controla se o Claude Code sonda os servidores em busca da revisão 2026-07-28 do protocolo MCP. Defina `legacy` para pular a sondagem, de modo que todos os servidores se conectem com o handshake anterior a essa revisão. Defina `auto` para sondar os tipos de servidor que oferecem suporte à sondagem: servidores HTTP e stdio, conectores do claude.ai e os conectores de sessões na nuvem e do Remote Control. Com a variável não definida, o Claude Code sonda esses mesmos tipos por padrão; consulte [Runtimes de cliente MCP](https://code.claude.com/docs/pt/mcp.md#mcp-client-runtimes). Qualquer outro valor é ignorado com um aviso no log de depuração. Requer Claude Code v2.1.221 ou posterior |

487| `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) |489| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | Número máximo de servidores MCP remotos (HTTP/SSE) a serem conectados em paralelo durante a inicialização (padrão: 20) |

488| `MCP_SDK_GENERATION` | Fixa qual [runtime de cliente MCP](https://code.claude.com/docs/pt/mcp.md#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 |490| `MCP_SDK_GENERATION` | Fixa qual [runtime de cliente MCP](https://code.claude.com/docs/pt/mcp.md#mcp-client-runtimes) este processo usa para se conectar aos servidores MCP: `v1`, baseado no MCP TypeScript SDK 1.x, ou `v2`, baseado no [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 |

489| `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) |491| `MCP_SERVER_CONNECTION_BATCH_SIZE` | Número máximo de servidores MCP locais (stdio) a serem conectados em paralelo durante a inicialização (padrão: 3) |

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

491| `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 |493| `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 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 esta variável 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 aborte antes disso; 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 |

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

493| `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](https://code.claude.com/docs/pt/monitoring-usage.md#common-configuration-variables) |495| `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 entre este valor 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](https://code.claude.com/docs/pt/monitoring-usage.md#common-configuration-variables) |

494| `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](https://code.claude.com/docs/pt/settings-reference.md#variables-claude-code-ignores-in-env). Requer Claude Code v2.1.193 ou posterior. Consulte [Monitoramento](https://code.claude.com/docs/pt/monitoring-usage.md#assistant-response-event) |496| `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](https://code.claude.com/docs/pt/settings-reference.md#variables-claude-code-ignores-in-env). Requer Claude Code v2.1.193 ou posterior. Consulte [Monitoramento](https://code.claude.com/docs/pt/monitoring-usage.md#assistant-response-event) |

495| `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](https://code.claude.com/docs/pt/monitoring-usage.md#managed-settings-resolved-event) |497| `OTEL_LOG_MANAGED_SETTINGS` | Defina como `1` para adicionar as configurações gerenciadas com dados ocultados, 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](https://code.claude.com/docs/pt/monitoring-usage.md#managed-settings-resolved-event) |

496| `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](https://code.claude.com/docs/pt/settings-reference.md#variables-claude-code-ignores-in-env). Consulte [Monitoramento](https://code.claude.com/docs/pt/monitoring-usage.md#api-request-body-event) |498| `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 os corpos não truncados em disco e emitir um caminho `body_ref` em seu lugar. `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](https://code.claude.com/docs/pt/settings-reference.md#variables-claude-code-ignores-in-env). Consulte [Monitoramento](https://code.claude.com/docs/pt/monitoring-usage.md#api-request-body-event) |

497| `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](https://code.claude.com/docs/pt/monitoring-usage.md#new-context-gates). Requer [rastreamento](https://code.claude.com/docs/pt/monitoring-usage.md#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](https://code.claude.com/docs/pt/settings-reference.md#variables-claude-code-ignores-in-env), exceto pelos valores de desativação descritos nessa seção. Consulte [Monitoramento](https://code.claude.com/docs/pt/monitoring-usage.md#tool-output-span-event) |499| `OTEL_LOG_TOOL_CONTENT` | Defina como `1` para incluir o conteúdo das ferramentas no evento de span `tool.output` do OpenTelemetry. Os atributos de span carregam o conteúdo das ferramentas sob [seus próprios controles](https://code.claude.com/docs/pt/monitoring-usage.md#new-context-gates). Requer [tracing](https://code.claude.com/docs/pt/monitoring-usage.md#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](https://code.claude.com/docs/pt/settings-reference.md#variables-claude-code-ignores-in-env), exceto pelos valores de desativação descritos nessa seção. Consulte [Monitoramento](https://code.claude.com/docs/pt/monitoring-usage.md#tool-output-span-event) |

498| `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](https://code.claude.com/docs/pt/monitoring-usage.md#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](https://code.claude.com/docs/pt/settings-reference.md#variables-claude-code-ignores-in-env), exceto pelos valores de desativação descritos nessa seção. Consulte [Monitoramento](https://code.claude.com/docs/pt/monitoring-usage.md) |500| `OTEL_LOG_TOOL_DETAILS` | Defina como `1` para incluir argumentos de entrada das ferramentas; nomes de servidores MCP; nomes de fluxos de trabalho criados pelo usuário; strings de erro brutas em falhas de ferramentas; a `category` de recusa nos eventos `api_refusal`; nomes reais de agentes, skills, plugins e servidores MCP nas [métricas de custo e tokens](https://code.claude.com/docs/pt/monitoring-usage.md#cost-counter); e outros detalhes das ferramentas nas 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](https://code.claude.com/docs/pt/settings-reference.md#variables-claude-code-ignores-in-env), exceto pelos valores de desativação descritos nessa seção. Consulte [Monitoramento](https://code.claude.com/docs/pt/monitoring-usage.md) |

499| `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](https://code.claude.com/docs/pt/settings-reference.md#variables-claude-code-ignores-in-env), exceto pelos valores de desativação descritos nessa seção. Consulte [Monitoramento](https://code.claude.com/docs/pt/monitoring-usage.md) |501| `OTEL_LOG_USER_PROMPTS` | Defina como `1` para incluir o texto dos prompts do usuário nos 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](https://code.claude.com/docs/pt/settings-reference.md#variables-claude-code-ignores-in-env), exceto pelos valores de desativação descritos nessa seção. Consulte [Monitoramento](https://code.claude.com/docs/pt/monitoring-usage.md) |

500| `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](https://code.claude.com/docs/pt/monitoring-usage.md) |502| `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](https://code.claude.com/docs/pt/monitoring-usage.md) |

501| `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](https://code.claude.com/docs/pt/monitoring-usage.md) |503| `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](https://code.claude.com/docs/pt/monitoring-usage.md) |

502| `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](https://code.claude.com/docs/pt/monitoring-usage.md#repository-attributes) |504| `OTEL_METRICS_INCLUDE_REPOSITORY` | Defina como `true` para marcar as 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](https://code.claude.com/docs/pt/monitoring-usage.md#repository-attributes) |

503| `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](https://code.claude.com/docs/pt/monitoring-usage.md#multi-team-organization-support) |505| `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 das métricas. Defina como `false` para excluí-las (padrão: incluídas). Consulte [Monitoramento](https://code.claude.com/docs/pt/monitoring-usage.md#multi-team-organization-support) |

504| `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](https://code.claude.com/docs/pt/monitoring-usage.md) |506| `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](https://code.claude.com/docs/pt/monitoring-usage.md) |

505| `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](https://code.claude.com/docs/pt/monitoring-usage.md) |507| `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](https://code.claude.com/docs/pt/monitoring-usage.md) |

506| `SLASH_COMMAND_TOOL_CHAR_BUDGET` | Sobrescreve o orçamento de caracteres para os metadados de skills exibidos para a [ferramenta Skill](https://code.claude.com/docs/pt/skills.md#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 |508| `SLASH_COMMAND_TOOL_CHAR_BUDGET` | Sobrescreve o orçamento de caracteres para os metadados de skills mostrados à [ferramenta Skill](https://code.claude.com/docs/pt/skills.md#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 |

507| `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](https://code.claude.com/docs/pt/tools-reference.md#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 |509| `TASK_MAX_OUTPUT_LENGTH` | Removida na v2.1.277 e agora sem 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](https://code.claude.com/docs/pt/tools-reference.md#background-commands) que a ferramenta `TaskOutput` mantinha. Claude agora lê o arquivo de saída de uma tarefa em segundo plano com `Read` |

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

509| `VERTEX_REGION_CLAUDE_3_5_HAIKU` | Sobrescreve a região para o Claude 3.5 Haiku ao usar o Agent Platform do Google Cloud |511| `VERTEX_REGION_CLAUDE_3_5_HAIKU` | Sobrescreve a região do Claude 3.5 Haiku ao usar o Agent Platform do Google Cloud |

510| `VERTEX_REGION_CLAUDE_3_5_SONNET` | Sobrescreve a região para o Claude 3.5 Sonnet ao usar o Agent Platform do Google Cloud |512| `VERTEX_REGION_CLAUDE_3_5_SONNET` | Sobrescreve a região do Claude 3.5 Sonnet ao usar o Agent Platform do Google Cloud |

511| `VERTEX_REGION_CLAUDE_3_7_SONNET` | Sobrescreve a região para o Claude 3.7 Sonnet ao usar o Agent Platform do Google Cloud |513| `VERTEX_REGION_CLAUDE_3_7_SONNET` | Sobrescreve a região do Claude 3.7 Sonnet ao usar o Agent Platform do Google Cloud |

512| `VERTEX_REGION_CLAUDE_4_0_OPUS` | Sobrescreve a região do Claude Opus 4 ao usar o Agent Platform do Google Cloud |514| `VERTEX_REGION_CLAUDE_4_0_OPUS` | Sobrescreve a região do Claude Opus 4 ao usar o Agent Platform do Google Cloud |

513| `VERTEX_REGION_CLAUDE_4_0_SONNET` | Sobrescreve a região do Claude Sonnet 4 ao usar o Agent Platform do Google Cloud |515| `VERTEX_REGION_CLAUDE_4_0_SONNET` | Sobrescreve a região do Claude Sonnet 4 ao usar o Agent Platform do Google Cloud |

514| `VERTEX_REGION_CLAUDE_4_1_OPUS` | Sobrescreve a região do Claude Opus 4.1 ao usar o Agent Platform do Google Cloud |516| `VERTEX_REGION_CLAUDE_4_1_OPUS` | Sobrescreve a região do Claude Opus 4.1 ao usar o Agent Platform do Google Cloud |

515| `VERTEX_REGION_CLAUDE_4_5_OPUS` | Sobrescreve a região para o Claude Opus 4.5 ao usar o Agent Platform do Google Cloud |517| `VERTEX_REGION_CLAUDE_4_5_OPUS` | Sobrescreve a região do Claude Opus 4.5 ao usar o Agent Platform do Google Cloud |

516| `VERTEX_REGION_CLAUDE_4_5_SONNET` | Sobrescreve a região para o Claude Sonnet 4.5 ao usar o Agent Platform do Google Cloud |518| `VERTEX_REGION_CLAUDE_4_5_SONNET` | Sobrescreve a região do Claude Sonnet 4.5 ao usar o Agent Platform do Google Cloud |

517| `VERTEX_REGION_CLAUDE_4_6_OPUS` | Sobrescreve a região para o Claude Opus 4.6 ao usar o Agent Platform do Google Cloud |519| `VERTEX_REGION_CLAUDE_4_6_OPUS` | Sobrescreve a região do Claude Opus 4.6 ao usar o Agent Platform do Google Cloud |

518| `VERTEX_REGION_CLAUDE_4_6_SONNET` | Sobrescreve a região para o Claude Sonnet 4.6 ao usar o Agent Platform do Google Cloud |520| `VERTEX_REGION_CLAUDE_4_6_SONNET` | Sobrescreve a região do Claude Sonnet 4.6 ao usar o Agent Platform do Google Cloud |

519| `VERTEX_REGION_CLAUDE_4_7_OPUS` | Sobrescreve a região para o Claude Opus 4.7 ao usar o Agent Platform do Google Cloud |521| `VERTEX_REGION_CLAUDE_4_7_OPUS` | Sobrescreve a região do Claude Opus 4.7 ao usar o Agent Platform do Google Cloud |

520| `VERTEX_REGION_CLAUDE_4_8_OPUS` | Sobrescreve a região para o Claude Opus 4.8 ao usar o Agent Platform do Google Cloud |522| `VERTEX_REGION_CLAUDE_4_8_OPUS` | Sobrescreve a região do Claude Opus 4.8 ao usar o Agent Platform do Google Cloud |

521| `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 |523| `VERTEX_REGION_CLAUDE_5_5_OPUS` | Sobrescreve a região do Claude Opus 5.5 ao usar o Agent Platform do Google Cloud. Adicionada na v2.1.280 |

522| `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 |524| `VERTEX_REGION_CLAUDE_5_5_SONNET` | Sobrescreve a região do Claude Sonnet 5.5 ao usar o Agent Platform do Google Cloud. Adicionada na v2.1.284 |

523| `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 |525| `VERTEX_REGION_CLAUDE_5_OPUS` | Sobrescreve a região do Claude Opus 5 ao usar o Agent Platform do Google Cloud. Adicionada na v2.1.219 |

524| `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 |526| `VERTEX_REGION_CLAUDE_5_SONNET` | Sobrescreve a região do Claude Sonnet 5 ao usar o Agent Platform do Google Cloud. Adicionada na v2.1.197 |

525| `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 |527| `VERTEX_REGION_CLAUDE_FABLE_5` | Sobrescreve a região do Claude Fable 5 ao usar o Agent Platform do Google Cloud. Adicionada na v2.1.170 |

526| `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 |528| `VERTEX_REGION_CLAUDE_FABLE_5_1` | Sobrescreve a região do Claude Fable 5.1 ao usar o Agent Platform do Google Cloud. Adicionada na v2.1.257 |

527| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | Sobrescreve a região para o Claude Haiku 4.5 ao usar o Agent Platform do Google Cloud |529| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | Sobrescreve a região do Claude Haiku 4.5 ao usar o Agent Platform do Google Cloud |

528| `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 |530| `VERTEX_REGION_CLAUDE_HAIKU_5_5` | Sobrescreve a região do Claude Haiku 5.5 ao usar o Agent Platform do Google Cloud. Adicionada na v2.1.293 |

529 531 

530As 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](https://code.claude.com/docs/pt/monitoring-usage.md) para detalhes de configuração.532As 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](https://code.claude.com/docs/pt/monitoring-usage.md) para detalhes de configuração.

531 533 

532Defina `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](https://code.claude.com/docs/pt/settings-reference.md#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.534Defina `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](https://code.claude.com/docs/pt/settings-reference.md#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 de exportação, timeout e compressão, como `OTEL_METRIC_EXPORT_INTERVAL`, continuam se aplicando a partir das configurações de projeto e locais.

533 535 

534## O que a limpeza do ambiente de subprocessos remove536## O que a limpeza do ambiente de subprocessos remove

535 537 

errors.md +38 −11

Details

146| `N sessions ended while this machine was offline — the environment was cleaned up on the server and can't be resumed.` | [Network](#sessions-ended-while-this-machine-was-offline) |146| `N sessions ended while this machine was offline — the environment was cleaned up on the server and can't be resumed.` | [Network](#sessions-ended-while-this-machine-was-offline) |

147| `Couldn't share the transcript.` | [Network](#couldnt-share-the-transcript) |147| `Couldn't share the transcript.` | [Network](#couldnt-share-the-transcript) |

148| `Couldn't send feedback` | [Network](#couldnt-send-feedback) |148| `Couldn't send feedback` | [Network](#couldnt-send-feedback) |

149| `Feedback payload too large. Try again without the transcript, or shorten the details.` | [Rede](#feedback-payload-too-large) |

149| `MCP server "<name>" connection timed out. Your computer went to sleep or its clock changed while connecting.` | [Network](#mcp-server-connection-timed-out-during-a-sleep-or-clock-change) |150| `MCP server "<name>" connection timed out. Your computer went to sleep or its clock changed while connecting.` | [Network](#mcp-server-connection-timed-out-during-a-sleep-or-clock-change) |

150| `Prompt is too long` / `Input is too long for requested model` | [Request errors](#prompt-is-too-long) |151| `Prompt is too long` / `Input is too long for requested model` | [Request errors](#prompt-is-too-long) |

151| `Prompt is too long · automatic compaction failed:` | [Request errors](#prompt-is-too-long) |152| `Prompt is too long · automatic compaction failed:` | [Request errors](#prompt-is-too-long) |


335| `Failed to write the plan approval request to the lead's inbox — plan not submitted` | [Tool errors](#failed-to-write-to-a-teammate-inbox) |336| `Failed to write the plan approval request to the lead's inbox — plan not submitted` | [Tool errors](#failed-to-write-to-a-teammate-inbox) |

336| `Its agent definition was not restored: the folder its definition file came from is not trusted` | [Tool errors](#teammate-agent-definition-not-restored) |337| `Its agent definition was not restored: the folder its definition file came from is not trusted` | [Tool errors](#teammate-agent-definition-not-restored) |

337| `Only a teammate can approve a shutdown request` | [Tool errors](#only-a-teammate-can-approve-a-shutdown-request) |338| `Only a teammate can approve a shutdown request` | [Tool errors](#only-a-teammate-can-approve-a-shutdown-request) |

339| `A command-line deny rule cannot be handed to a teammate intact` | [Erros de ferramenta](#command-line-deny-rule-cannot-be-handed-to-a-teammate) |

338| `Message too large for cross-session delivery` | [Tool errors](#message-too-large-for-cross-session-delivery) |340| `Message too large for cross-session delivery` | [Tool errors](#message-too-large-for-cross-session-delivery) |

339| `Too many messages to this session just now` | [Tool errors](#too-many-messages-to-this-session-just-now) |341| `Too many messages to this session just now` | [Tool errors](#too-many-messages-to-this-session-just-now) |

340| `Cross-session message was dropped at the recipient session's inbox` | [Tool errors](#cross-session-message-dropped-at-the-inbox) |342| `Cross-session message was dropped at the recipient session's inbox` | [Tool errors](#cross-session-message-dropped-at-the-inbox) |


375| `This conversation is already open in another running Claude session` | [Background session errors](#this-session-is-running-in-another-terminal) |377| `This conversation is already open in another running Claude session` | [Background session errors](#this-session-is-running-in-another-terminal) |

376| `This session's saved conversation is no longer on disk` | [Background session errors](#this-sessions-saved-conversation-is-no-longer-on-disk) |378| `This session's saved conversation is no longer on disk` | [Background session errors](#this-sessions-saved-conversation-is-no-longer-on-disk) |

377| `Bypass permissions was requested at launch and ignored` | [Bypass permissions ignorado em uma sessão em background](https://code.claude.com/docs/pt/permission-modes.md#bypass-permissions-ignored-in-a-background-session) |379| `Bypass permissions was requested at launch and ignored` | [Bypass permissions ignorado em uma sessão em background](https://code.claude.com/docs/pt/permission-modes.md#bypass-permissions-ignored-in-a-background-session) |

378| `kept <id> — its worktree is still at <path>` | [Background session errors](#worktree-has-commits-that-are-not-pushed-anywhere) |380| `kept <id> — its worktree is still at <path>` | [Erros de sessão em segundo plano](#worktree-has-commits-that-are-not-pushed-anywhere) se a próxima linha da mensagem mencionar commits não enviados, caso contrário [O que a exclusão de uma sessão remove](https://code.claude.com/docs/pt/agent-view.md#what-deleting-a-session-removes) |

379| `kept <id> — <n> unpushed commits on <branch>` | [Background session errors](#worktree-has-commits-that-are-not-pushed-anywhere) |381| `kept <id> — <n> unpushed commits on <branch>` | [Background session errors](#worktree-has-commits-that-are-not-pushed-anywhere) |

380| `kept <id> — worktree has commits that are not pushed anywhere` | [Background session errors](#worktree-has-commits-that-are-not-pushed-anywhere) |382| `kept <id> — worktree has commits that are not pushed anywhere` | [Background session errors](#worktree-has-commits-that-are-not-pushed-anywhere) |

381| `terminal host process died — press Enter to restart` / `This session's terminal host process died` | [Background session errors](#terminal-host-process-died) |383| `terminal host process died — press Enter to restart` / `This session's terminal host process died` | [Background session errors](#terminal-host-process-died) |


2188 2190 

2189### Couldn't send feedback2191### Couldn't send feedback

2190 2192 

2191Uma mensagem que começa com `Couldn't send feedback` significa que o relatório que você enviou pelo [diálogo `/feedback`, `/bug` ou `/share`](https://code.claude.com/docs/pt/commands#all-commands), ou um [rascunho de feedback](https://code.claude.com/docs/pt/tools-reference.md#sendfeedback-tool-behavior) na fila, não foi enviado. Quando uma frase sobre sua organização vem após os dois-pontos, sua organização recusa feedback e o mesmo relatório recebe a mesma resposta.2193Uma mensagem que começa com `Couldn't send feedback` significa que o serviço de feedback não confirmou o relatório que você enviou pelo [diálogo `/feedback`, `/bug` ou `/share`](https://code.claude.com/docs/pt/commands#all-commands), ou um [rascunho de feedback](https://code.claude.com/docs/pt/tools-reference.md#sendfeedback-tool-behavior) na fila. Trate-o como não recebido. Quando uma frase sobre sua organização vem após os dois-pontos, sua organização recusa feedback e o mesmo relatório recebe a mesma resposta.

2192 2194 

2193O primeiro destes dois exemplos é uma falha de rede e o segundo é uma recusa da organização:2195O segundo destes dois exemplos é uma recusa da organização:

2194 2196 

2195```text wrap theme={null}2197```text wrap theme={null}

2196Couldn't send feedback (couldn't reach the service). If it keeps failing, you can file at https://github.com/anthropics/claude-code/issues instead.2198Couldn't send feedback (couldn't reach the service). If it keeps failing, you can file at https://github.com/anthropics/claude-code/issues instead.


2203* **Não autenticado**: a mensagem continua com `: not signed in. Run /login, then retry.` Execute `/login` e envie novamente2205* **Não autenticado**: a mensagem continua com `: not signed in. Run /login, then retry.` Execute `/login` e envie novamente

2204* **Recusa da sua organização**: por exemplo `: Feedback has not been enabled for your organization.` ou `: Feedback collection is not available for organizations with custom data retention policies.` Se a mensagem acrescentar `To report a bug, open an issue`, faça isso em [github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues). Um rascunho na fila permanece na fila, e você pode [descartá-lo](https://code.claude.com/docs/pt/tools-reference.md#discard-or-keep-a-draft)2206* **Recusa da sua organização**: por exemplo `: Feedback has not been enabled for your organization.` ou `: Feedback collection is not available for organizations with custom data retention policies.` Se a mensagem acrescentar `To report a bug, open an issue`, faça isso em [github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues). Um rascunho na fila permanece na fila, e você pode [descartá-lo](https://code.claude.com/docs/pt/tools-reference.md#discard-or-keep-a-draft)

2205* **Credenciais recusadas**: a mensagem continua com `: the sign-in this session uses is not allowed to send feedback` ou `: the server did not accept the credentials this session uses`. Execute `/status` no prompt do Claude Code para ver qual login, token ou chave de API esta sessão envia2207* **Credenciais recusadas**: a mensagem continua com `: the sign-in this session uses is not allowed to send feedback` ou `: the server did not accept the credentials this session uses`. Execute `/status` no prompt do Claude Code para ver qual login, token ou chave de API esta sessão envia

2206* **`(request timed out)` ou `(couldn't reach the service)` logo após `Couldn't send feedback`**: são falhas de rede. Envie o relatório ou o rascunho na fila novamente. O diálogo mantém seu texto, e a mensagem de um rascunho na fila diz `The draft is still queued.` Se outras requisições também estiverem falhando, verifique sua conexão de rede e veja [Unable to connect to API](#unable-to-connect-to-api). Se continuar falhando, registre o relatório em [github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues)2208* **`(request timed out)` ou `(couldn't reach the service)` logo após `Couldn't send feedback`**: envie o relatório ou o rascunho na fila novamente. O diálogo mantém seu texto, e a mensagem de um rascunho na fila diz `The draft is still queued.` Se outras requisições também estiverem falhando, verifique sua conexão de rede e veja [Unable to connect to API](#unable-to-connect-to-api). Se continuar falhando, registre o relatório em [github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues)

2207* **`(server returned <status>)`, ou nenhum motivo, logo após `Couldn't send feedback`**: o status é o código de resposta do serviço. A própria mensagem do serviço vem depois dele quando foi enviada, como em `(server returned 403: Access Forbidden)`. Se continuar falhando, registre o relatório em [github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues)2209* **`(server returned <status>)`, ou nenhum motivo, logo após `Couldn't send feedback`**: o status é o código de resposta do serviço. A própria mensagem do serviço vem depois dele quando foi enviada, como em `(server returned 403: Access Forbidden)`. Se continuar falhando, registre o relatório em [github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues)

2208 2210 

2209Issues em github.com/anthropics/claude-code são públicas, então deixe de fora código, transcrições e qualquer outra coisa confidencial ao abrir uma.2211Issues em github.com/anthropics/claude-code são públicas, então deixe de fora código, transcrições e qualquer outra coisa confidencial ao abrir uma.

2210 2212 

2211Antes da v2.1.281, cada envio falhava com essa mensagem uma vez que um Remote Control **Stop** ou uma mensagem urgente entre sessões havia chegado enquanto o diálogo estava aberto. Nessas versões, feche o diálogo, reabra-o, e envie novamente.2213Antes da v2.1.281, cada envio falhava com essa mensagem uma vez que um Remote Control **Stop** ou uma mensagem urgente entre sessões havia chegado enquanto o diálogo estava aberto. Nessas versões, feche o diálogo, reabra-o, e envie novamente.

2212 2214 

2215### Feedback payload too large

2216 

2217Essa mensagem na [tela de revisão](https://code.claude.com/docs/pt/tools-reference.md#review-and-edit-a-draft) de um [rascunho de feedback](https://code.claude.com/docs/pt/tools-reference.md#sendfeedback-tool-behavior) significa que Claude Code não tem confirmação de que o serviço aceitou o rascunho. Trate-o como não recebido. O rascunho permanece na sua fila de `/feedback`, então você pode enviá-lo novamente.

2218 

2219```text wrap theme={null}

2220Feedback payload too large. Try again without the transcript, or shorten the details.

2221```

2222 

2223**O que fazer:**

2224 

2225* Na tela de revisão, defina **Send transcript** como `no` e envie o rascunho novamente. Encurtar os detalhes remove no máximo 10 KB de texto, que é tudo o que os detalhes de um rascunho podem conter.

2226 

2213### MCP server connection timed out during a sleep or clock change2227### MCP server connection timed out during a sleep or clock change

2214 2228 

2215Essa mensagem significa que uma conexão com um [servidor MCP](https://code.claude.com/docs/pt/mcp.md) atingiu o timeout, e Claude Code descobriu que o relógio do seu sistema avançou durante a tentativa:2229Essa mensagem significa que uma conexão com um [servidor MCP](https://code.claude.com/docs/pt/mcp.md) atingiu o timeout, e Claude Code descobriu que o relógio do seu sistema avançou durante a tentativa:


3235 3249 

3236> [!NOTE]3250> [!NOTE]

3237>3251>

3238> Se `claude ultrareview` imprimiu `Error: Workspace not trusted`, consulte [Workspace not trusted ao executar claude ultrareview](#workspace-not-trusted-when-running-claude-ultrareview).3252> Se `claude ultrareview` imprimiu `Error: Workspace not trusted`, consulte, em vez disso, [Workspace not trusted ao executar claude ultrareview](#workspace-not-trusted-when-running-claude-ultrareview).

3239 3253 

3240Você iniciou o modo servidor do [Remote Control](https://code.claude.com/docs/pt/remote-control.md) com `claude remote-control` ou seu alias `claude rc` em um diretório no qual você não confiou, e o comando não pôde perguntar se você confia nele. Por exemplo, a entrada padrão ou a saída padrão do comando não é um terminal porque uma delas está redirecionada ou conectada a um pipe. O comando sai com código 1:3254Você iniciou o modo servidor do [Remote Control](https://code.claude.com/docs/pt/remote-control.md) com `claude remote-control` ou seu alias `claude rc` em um diretório no qual você não confiou, e o comando não pôde perguntar se você confia nele. Por exemplo, a entrada padrão ou a saída padrão do comando não é um terminal porque uma delas está redirecionada ou conectada a um pipe. O comando sai com código 1:

3241 3255 


3281* **`Error: Workspace not trusted. <folder> is your home directory`**: como a confiança para seu diretório pessoal nunca é salva, executar `claude` ali primeiro não ajuda. Execute `claude ultrareview` a partir de um diretório de projeto, depois de executar `claude` ali uma vez para aceitar a caixa de diálogo de confiança, ou acrescente `--trust-workspace`.3295* **`Error: Workspace not trusted. <folder> is your home directory`**: como a confiança para seu diretório pessoal nunca é salva, executar `claude` ali primeiro não ajuda. Execute `claude ultrareview` a partir de um diretório de projeto, depois de executar `claude` ali uma vez para aceitar a caixa de diálogo de confiança, ou acrescente `--trust-workspace`.

3282* **`No answer in time.` seguido de `Error: Workspace not trusted`**: a pergunta `Trust <folder>? [y/N]` ficou sem resposta por 5 minutos. Execute `claude ultrareview` novamente e responda.3296* **`No answer in time.` seguido de `Error: Workspace not trusted`**: a pergunta `Trust <folder>? [y/N]` ficou sem resposta por 5 minutos. Execute `claude ultrareview` novamente e responda.

3283* **`Ultrareview did not start: <folder> is not trusted`**: você recusou na pergunta `Trust <folder>? [y/N]`, por exemplo respondendo `n` ou pressionando Enter. Para iniciar a revisão, execute `claude ultrareview` novamente e responda `y`.3297* **`Ultrareview did not start: <folder> is not trusted`**: você recusou na pergunta `Trust <folder>? [y/N]`, por exemplo respondendo `n` ou pressionando Enter. Para iniciar a revisão, execute `claude ultrareview` novamente e responda `y`.

3284* **``Ultrareview did not start: `--trust-workspace` takes no value``**: algo que não é uma flag segue `--trust-workspace`, como um número de PR ou `false`. Se você não confia na pasta, omita a flag. Para confiar nela nesta execução, coloque o número do PR ou o branch base antes da flag: `claude ultrareview 1234 --trust-workspace`.3298* **``Ultrareview did not start: `--trust-workspace` takes no value``**: algo que não é uma flag vem depois de `--trust-workspace`, como um número de PR ou `false`. Se você não confia na pasta, omita a flag. Para confiar nela durante esta execução, coloque o número do PR ou o branch base antes da flag: `claude ultrareview 1234 --trust-workspace`.

3285 3299 

3286Antes da v2.1.309, `claude ultrareview` não aceitava `--trust-workspace`.3300Antes da v2.1.309, `claude ultrareview` não aceitava `--trust-workspace`.

3287 3301 


3476 3490 

3477### O servidor MCP rejeitou a capacidade de elicitation3491### O servidor MCP rejeitou a capacidade de elicitation

3478 3492 

3479Um servidor MCP criado com o Java MCP SDK de 0.11.0 a 0.17.0 recusou a conexão. Essas versões do SDK não conseguem analisar os [modos de elicitation](https://code.claude.com/docs/pt/mcp.md#elicitation-modes-claude-code-declares) `form` e `url` que o Claude Code declara em seu handshake. `claude mcp list` mostra o servidor como com falha, com esta mensagem no lugar do erro do próprio servidor:3493Um servidor MCP construído com o Java MCP SDK 0.11.0 a 0.17.0 recusou a conexão. Essas versões do SDK não conseguem analisar os [modos de elicitação](https://code.claude.com/docs/pt/mcp.md#elicitation-modes-claude-code-declares) `form` e `url` que o Claude Code declara em seu handshake. A mensagem diz:

3480 3494 

3481```text theme={null}3495```text theme={null}

3482This server (Java MCP SDK 0.17.0 or older) rejected Claude Code's elicitation capability. Set "bareElicitationCapability": true for it, or upgrade to Java MCP SDK 0.17.1+ (Spring AI 1.0.7+ or 1.1.6+).3496This server (Java MCP SDK 0.17.0 or older) rejected Claude Code's elicitation capability. Set "bareElicitationCapability": true for it, or upgrade to Java MCP SDK 0.17.1+ (Spring AI 1.0.7+ or 1.1.6+).


3573 3587 

3574Mensagens semelhantes são disparadas antes mesmo de o comando ser executado:3588Mensagens semelhantes são disparadas antes mesmo de o comando ser executado:

3575 3589 

3576* `Shell command permission check failed for pattern "..."`: a verificação de permissão do comando não o permitiu. [Verificações de permissão em comandos injetados](https://code.claude.com/docs/pt/skills.md#permission-checks-on-injected-commands) aborda quais resultados causam o aborto em cada modo de permissão e como pré-aprovar um comando com `allowed-tools`3590* `Shell command permission check failed for pattern "..."`: a verificação de permissão do comando não o permitiu. [Permission checks on injected commands](https://code.claude.com/docs/pt/skills.md#permission-checks-on-injected-commands) aborda quais resultados abortam em cada modo de permissão e como pré-aprovar um comando com `allowed-tools`

3577* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: o frontmatter da skill exige bash em uma máquina que não o tem. Instale o Git for Windows ou altere o frontmatter para `shell: powershell`. Consulte [Como os comandos injetados são executados](https://code.claude.com/docs/pt/skills.md#how-injected-commands-run)3591* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: o frontmatter da skill exige bash em uma máquina que não o tem. Instale o Git for Windows ou altere o frontmatter para `shell: powershell`. Consulte [Como os comandos injetados são executados](https://code.claude.com/docs/pt/skills.md#how-injected-commands-run)

3578* `No shell command in <name> was run`: um dos comandos `!` do arquivo contém um caractere de controle bruto diferente de tab ou nova linha, então nenhum deles é executado. Consulte [como encontrar e remover o caractere](#no-shell-command-was-run)3592* `No shell command in <name> was run`: um dos comandos `!` do arquivo contém um caractere de controle bruto diferente de tab ou nova linha, então nenhum deles é executado. Consulte [como encontrar e remover o caractere](#no-shell-command-was-run)

3579 3593 


3725 3739 

3726* **Você não passou um branch base**: o Claude Code comparou com o branch padrão do repositório e sugere passar seu branch base explicitamente, como no exemplo acima3740* **Você não passou um branch base**: o Claude Code comparou com o branch padrão do repositório e sugere passar seu branch base explicitamente, como no exemplo acima

3727* **Você passou um branch base que já estava no seu clone**: a dica diz ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``3741* **Você passou um branch base que já estava no seu clone**: a dica diz ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``

3728* **Você passou um branch base que não estava no seu clone**: o Claude Code o buscou do origin antes de comparar. A dica diz ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)``; quando o Claude Code não consegue determinar se o seu clone é shallow, ele sugere `git fetch --unshallow origin` em vez disso. Antes da v2.1.221, a dica sugeria `git fetch --unshallow origin` para todo branch base buscado, e em um clone completo esse comando falha com `fatal: --unshallow on a complete repository does not make sense`.3742* **Você passou um branch base que não estava no seu clone**: o Claude Code o buscou do origin antes de comparar. A dica diz ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)``; quando o Claude Code não consegue determinar se o seu clone é raso (shallow), ele sugere `git fetch --unshallow origin` em vez disso. Antes da v2.1.221, a dica sugeria `git fetch --unshallow origin` para todo branch base buscado, e em um clone completo esse comando falha com `fatal: --unshallow on a complete repository does not make sense`.

3729 3743 

3730**O que fazer:**3744**O que fazer:**

3731 3745 


4678* Se o colega ainda estiver em execução, peça ao líder em seu prompt para encerrar o colega, por exemplo `Ask the researcher teammate to shut down`. Veja [Encerrar colegas](https://code.claude.com/docs/pt/agent-teams.md#shut-down-teammates).4692* Se o colega ainda estiver em execução, peça ao líder em seu prompt para encerrar o colega, por exemplo `Ask the researcher teammate to shut down`. Veja [Encerrar colegas](https://code.claude.com/docs/pt/agent-teams.md#shut-down-teammates).

4679* Se um antigo colega que você mesmo retomou com `claude --resume` recebeu essa recusa, nada foi enviado. Para encerrar essa sessão, execute `/exit` em seu prompt.4693* Se um antigo colega que você mesmo retomou com `claude --resume` recebeu essa recusa, nada foi enviado. Para encerrar essa sessão, execute `/exit` em seu prompt.

4680 4694 

4695### A command-line deny rule cannot be handed to a teammate intact

4696 

4697Esta mensagem significa que Claude Code não iniciou um colega em [painel dividido](https://code.claude.com/docs/pt/agent-teams.md#choose-a-display-mode) na sua [equipe de agentes](https://code.claude.com/docs/pt/agent-teams.md). Claude Code passa as regras de negação de linha de comando do líder para um colega em painel dividido na própria linha de comando do colega, e para quando o colega interpretaria uma delas de forma diferente:

4698 

4699```text wrap theme={null}

4700A command-line deny rule cannot be handed to a teammate intact, so the teammate would not enforce it — spawn aborted

4701```

4702 

4703**O que fazer:**

4704 

4705* Execute `/config` na sessão de liderança e defina **Teammate mode** como `in-process`, e então peça ao Claude para iniciar o colega novamente. Você não precisa encontrar a regra nem reiniciar o líder. Um colega in-process [é executado sob as regras de negação ativas do líder](https://code.claude.com/docs/pt/agent-teams.md#permissions).

4706* Sessões posteriores que obtêm [`teammateMode`](https://code.claude.com/docs/pt/settings-reference#teammatemode) das suas configurações de usuário também iniciam colegas in-process, porque `/config` salva a escolha lá. Para voltar a painéis divididos em uma sessão posterior, defina **Teammate mode** como `auto`, `tmux` ou `iterm2`, o que você usava antes.

4707 

4681### Mensagem muito grande para entrega entre sessões4708### Mensagem muito grande para entrega entre sessões

4682 4709 

4683A [mensagem entre sessões](https://code.claude.com/docs/pt/cross-session-messaging.md) do Claude para outra de suas sessões nesta máquina era muito longa para enviar. Claude Code a recusou, e a sessão receptora não recebeu nada. A recusa aparece no resultado da ferramenta da sessão remetente, não como um banner em seu terminal. Ela nomeia ambos os tamanhos e como fazer a mensagem caber:4710A [mensagem entre sessões](https://code.claude.com/docs/pt/cross-session-messaging.md) do Claude para outra de suas sessões nesta máquina era muito longa para enviar. Claude Code a recusou, e a sessão receptora não recebeu nada. A recusa aparece no resultado da ferramenta da sessão remetente, não como um banner em seu terminal. Ela nomeia ambos os tamanhos e como fazer a mensagem caber:


5115**O que fazer:**5142**O que fazer:**

5116 5143 

5117* Para manter os commits, envie o branch do worktree, ou mescle-o no branch padrão em checkout no seu checkout principal, depois delete a sessão novamente5144* Para manter os commits, envie o branch do worktree, ou mescle-o no branch padrão em checkout no seu checkout principal, depois delete a sessão novamente

5118* Para descartar os commits, execute o comando `claude rm <id> --discard-unpushed` que a mensagem imprimiu, ou pressione `Ctrl+X` duas vezes na linha da sessão na agent view novamente. Isso remove a sessão e o worktree junto com seu branch, os commits não enviados, e quaisquer mudanças sem commit. Se o worktree ganhou um commit desde a recusa, Claude Code o mantém novamente e mostra o estado atualizado5145* Para descartar os commits, execute o comando `claude rm <id> --discard-unpushed` que a mensagem imprimiu, ou pressione `Ctrl+X` duas vezes na linha da sessão na agent view novamente. Isso remove a sessão e o worktree junto com seu branch, os commits não enviados, e quaisquer mudanças sem commit. Se o delete for recusado novamente, siga a nova mensagem.

5119* Quando a mensagem diz que o worktree também é registrado por outra sessão terminada, deletar novamente não o descarta: envie os commits, depois delete a sessão novamente5146* Quando a mensagem diz que o worktree também é registrado por outra sessão terminada, deletar novamente não o descarta: envie os commits, depois delete a sessão novamente

5120 5147 

5121Antes da v2.1.268, `claude rm` colocava o resumo de commit na linha `kept` em si. Quando `claude rm` não conseguia resumir os commits, a linha `kept` lia `worktree has commits that are not pushed anywhere` no lugar do resumo.5148Antes da v2.1.268, `claude rm` colocava o resumo de commit na linha `kept` em si. Quando `claude rm` não conseguia resumir os commits, a linha `kept` lia `worktree has commits that are not pushed anywhere` no lugar do resumo.

5122 5149 

5123Antes da v2.1.260, a mensagem não nomeava o branch ou os commits, e deletar novamente era recusado da mesma forma: deletar a sessão sem enviar significava remover o worktree você mesmo com `git worktree remove --force <path>`, depois executar `claude rm <id>` novamente.5150Antes da v2.1.260, a mensagem não nomeava o branch ou os commits, e não havia uma forma de descartá-los. Você ainda pode deletar a sessão, perdendo as mudanças sem commit mas mantendo o branch e os commits. Execute `git worktree remove --force --force <path>` com o caminho que a recusa imprimiu, depois `claude rm <id>`. O Git precisa de `--force` duas vezes para um worktree bloqueado.

5124 5151 

5125Antes da v2.1.248, o branch padrão em checkout no seu checkout principal não contava: um branch que você já tinha mesclado lá ainda acionava essa recusa até seus commits chegarem a um remote.5152Antes da v2.1.248, o branch padrão em checkout no seu checkout principal não contava: um branch que você já tinha mesclado lá ainda acionava essa recusa até seus commits chegarem a um remote.

5126 5153 

fast-mode.md +1 −1

Details

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

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

47 47 

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

49 49 

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

51 51 

Details

248 248 

249> [!TIP]249> [!TIP]

250>250>

251> Mantenha CLAUDE.md com menos de 200 linhas. Mova material de referência para skills, que carregam sob demanda. Para obter [propostas de corte para um CLAUDE.md verificado](https://code.claude.com/docs/pt/memory.md#my-claude-md-is-too-large), execute `/doctor`.251> Mantenha CLAUDE.md com menos de 200 linhas. Mova material de referência para skills, que carregam sob demanda. Para obter [propostas de corte para um CLAUDE.md versionado](https://code.claude.com/docs/pt/memory.md#my-claude-md-is-too-large), execute `/doctor`.

252 252 

253**Skills**253**Skills**

254 254 

glossary.md +1 −1

Details

373 373 

374Como uma sessão sabe que o trabalho está realmente concluído em vez de aceitar um resultado que apenas parece plausível. Você dá a Claude uma verificação que ele pode executar, como um conjunto de testes, uma compilação ou uma comparação de screenshot, e Claude itera até que a verificação passe em vez de parar após uma tentativa. Um loop de verificação é o pré-requisito para [`/goal`](https://code.claude.com/docs/pt/goal), execuções desassistidas e [dynamic workflows](https://code.claude.com/docs/pt/workflows.md): sem um, a única coisa decidindo que o agente terminou é o próprio agente.374Como uma sessão sabe que o trabalho está realmente concluído em vez de aceitar um resultado que apenas parece plausível. Você dá a Claude uma verificação que ele pode executar, como um conjunto de testes, uma compilação ou uma comparação de screenshot, e Claude itera até que a verificação passe em vez de parar após uma tentativa. Um loop de verificação é o pré-requisito para [`/goal`](https://code.claude.com/docs/pt/goal), execuções desassistidas e [dynamic workflows](https://code.claude.com/docs/pt/workflows.md): sem um, a única coisa decidindo que o agente terminou é o próprio agente.

375 375 

376Saiba mais: [Give Claude a way to verify its work](https://code.claude.com/docs/pt/best-practices.md#give-claude-a-way-to-verify-its-work)376Saiba mais: [Dê a Claude uma verificação para executar](https://code.claude.com/docs/pt/best-practices.md#give-claude-a-check-to-run)

377 377 

378## W378## W

379 379 

Details

166| Modelo primário | `claude-opus-5-5` |166| Modelo primário | `claude-opus-5-5` |

167| Modelo pequeno/rápido | `claude-sonnet-4-5@20250929` |167| Modelo pequeno/rápido | `claude-sonnet-4-5@20250929` |

168 168 

169Antes de v2.1.280, o modelo primário na Plataforma de Agentes do Google Cloud era padrão para Opus 5 e o alias `opus` resolvia para Opus 5 a partir de v2.1.219.

170 

169Tarefas em segundo plano, como geração de título de sessão, usam o modelo pequeno/rápido, normalmente um modelo da classe Haiku. Na Plataforma de Agentes do Google Cloud, Claude Code usa o modelo Sonnet padrão para tarefas em segundo plano porque Haiku pode não estar ativado em todos os projetos ou regiões. Duas seleções mudam qual modelo as executa:171Tarefas em segundo plano, como geração de título de sessão, usam o modelo pequeno/rápido, normalmente um modelo da classe Haiku. Na Plataforma de Agentes do Google Cloud, Claude Code usa o modelo Sonnet padrão para tarefas em segundo plano porque Haiku pode não estar ativado em todos os projetos ou regiões. Duas seleções mudam qual modelo as executa:

170 172 

171* Quando você seleciona um modelo primário com `--model`, `ANTHROPIC_MODEL`, ou a configuração `model`, tarefas em segundo plano usam esse modelo. Quando Claude Code inicia a sessão no modelo que você definiu com [`ANTHROPIC_DEFAULT_MODEL`](https://code.claude.com/docs/pt/model-config#set-a-default-model-for-new-sessions), tarefas em segundo plano usam esse modelo também. Definir `ANTHROPIC_DEFAULT_OPUS_MODEL` sem `ANTHROPIC_DEFAULT_SONNET_MODEL` também conta como uma seleção, porque o modelo Sonnet integrado pode não estar ativado em um projeto que direciona seu próprio Opus.173* Quando você seleciona um modelo primário com `--model`, `ANTHROPIC_MODEL`, ou a configuração `model`, tarefas em segundo plano usam esse modelo. Quando Claude Code inicia a sessão no modelo que você definiu com [`ANTHROPIC_DEFAULT_MODEL`](https://code.claude.com/docs/pt/model-config#set-a-default-model-for-new-sessions), tarefas em segundo plano usam esse modelo também. Definir `ANTHROPIC_DEFAULT_OPUS_MODEL` sem `ANTHROPIC_DEFAULT_SONNET_MODEL` também conta como uma seleção, porque o modelo Sonnet integrado pode não estar ativado em um projeto que direciona seu próprio Opus.


175>177>

176> Modelos Opus têm um preço por token mais alto do que modelos Sonnet, portanto, se você não fixar um modelo primário, será cobrado à taxa Opus. Para usar Sonnet 4.5 como o modelo primário, defina `ANTHROPIC_MODEL` para seu ID de modelo completo. Uma implantação que direciona o padrão com `ANTHROPIC_DEFAULT_SONNET_MODEL` e não define `ANTHROPIC_DEFAULT_OPUS_MODEL` mantém seu modelo Sonnet direcionado como o padrão.178> Modelos Opus têm um preço por token mais alto do que modelos Sonnet, portanto, se você não fixar um modelo primário, será cobrado à taxa Opus. Para usar Sonnet 4.5 como o modelo primário, defina `ANTHROPIC_MODEL` para seu ID de modelo completo. Uma implantação que direciona o padrão com `ANTHROPIC_DEFAULT_SONNET_MODEL` e não define `ANTHROPIC_DEFAULT_OPUS_MODEL` mantém seu modelo Sonnet direcionado como o padrão.

177 179 

178Antes de v2.1.280, o modelo primário na Plataforma de Agentes do Google Cloud era padrão para Opus 5 e o alias `opus` resolvia para Opus 5 a partir de v2.1.219. Em v2.1.207 através de v2.1.218, o modelo primário na Plataforma de Agentes do Google Cloud era padrão para Opus 4.8 e o alias `opus` resolvia para Opus 4.8.

179 

180Para personalizar modelos ainda mais:180Para personalizar modelos ainda mais:

181 181 

182```bash theme={null}182```bash theme={null}

headless.md +4 −3

Details

236 236 

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

238 238 

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

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

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

242* **Mensagens de uma skill bifurcada que você inicia passando `/<skill-name>` como o prompt**: v2.1.287 ou posterior241* **Mensagens de uma skill bifurcada que você inicia passando `/<skill-name>` como o prompt**: v2.1.287 ou posterior


285| Campo | Tipo | Descrição |284| Campo | Tipo | Descrição |

286| - | - | - |285| - | - | - |

287| `mcp_servers` | array | servidores MCP na sessão, cada um com `name` e `status` |286| `mcp_servers` | array | servidores MCP na sessão, cada um com `name` e `status` |

288| `mcp_server_errors` | array | entradas `--mcp-config` puladas pela validação de config, cada uma com `name`, `type` e `message`. `type` é uma categoria de pulo como `unknown_type`, `url_missing_type`, `invalid_config` ou `reserved_name`; trate valores que você não reconheça como um pulo genérico. Os servidores afetados estão ausentes de `mcp_servers`. A chave é omitida quando não há erros, então um portão de CI pode falhar em uma matriz não vazia. Requer Claude Code v2.1.219 ou posterior |287| `mcp_server_errors` | array | entradas `--mcp-config` puladas pela validação de config, cada uma com `name`, `type` e `message`. `type` é uma categoria de pulo como `unknown_type`, `url_missing_type`, `invalid_config` ou `reserved_name`; trate valores que você não reconheça como um pulo genérico. Os servidores afetados estão ausentes de `mcp_servers`. A chave é omitida quando não há erros, então um portão de CI pode falhar em uma matriz não vazia |

289 288 

290Quando você executa o comando manualmente em um terminal, Claude Code também imprime um aviso de inicialização para stderr, como `Warning: 1 MCP server skipped due to invalid config:`, seguido pela razão de cada entrada pulada. Quando você redireciona stderr, ou quando um programa como um executor de CI ou um host SDK o captura, Claude Code não imprime aviso e relata as entradas puladas apenas no campo `mcp_server_errors`. O aviso requer Claude Code v2.1.219 ou posterior.289Quando você executa o comando manualmente em um terminal, Claude Code também imprime um aviso de inicialização para stderr, como `Warning: 1 MCP server skipped due to invalid config:`, seguido pela razão de cada entrada pulada.

290 

291Quando você redireciona stderr, ou quando um programa como um executor de CI ou um host SDK o captura, Claude Code não imprime aviso. Ele relata as entradas puladas apenas no campo `mcp_server_errors`.

291 292 

292#### Rastrear instalações de plugin293#### Rastrear instalações de plugin

293 294 

hooks.md +5 −9

Details

679 679 

680Hooks de frontmatter em uma skill de projeto seguem a mesma [regra de confiança de workspace que hooks em arquivos de configurações](#workspace-trust). Claude Code os registra quando você ou Claude invoca a skill, incluindo em uma execução `-p` em uma pasta que você não confiou.680Hooks de frontmatter em uma skill de projeto seguem a mesma [regra de confiança de workspace que hooks em arquivos de configurações](#workspace-trust). Claude Code os registra quando você ou Claude invoca a skill, incluindo em uma execução `-p` em uma pasta que você não confiou.

681 681 

682Hooks de frontmatter em um subagente de projeto executam apenas após você aceitar o [diálogo de confiança de workspace](https://code.claude.com/docs/pt/permissions.md#project-allow-rules-and-workspace-trust) para a pasta de onde o arquivo do agente veio. Uma sessão `-p` não conta como aceitá-lo. [O que executa antes de você confiar em uma pasta](https://code.claude.com/docs/pt/permissions.md#what-runs-before-you-trust-a-folder) compara isso com a regra de arquivo de configurações, e a página de subagentes lista [quais escopos estão isentos](https://code.claude.com/docs/pt/sub-agents.md#hooks-in-subagent-frontmatter). Antes de v2.1.218, esses hooks podiam executar de pastas que você não confiava.682Hooks de frontmatter em um subagente de projeto executam apenas após você aceitar o [diálogo de confiança de workspace](https://code.claude.com/docs/pt/permissions.md#project-allow-rules-and-workspace-trust) para a pasta de onde o arquivo do agente veio. Uma sessão `-p` não conta como aceitá-lo. [O que executa antes de você confiar em uma pasta](https://code.claude.com/docs/pt/permissions.md#what-runs-before-you-trust-a-folder) compara isso com a regra de arquivo de configurações, e a página de subagentes lista [quais escopos estão isentos](https://code.claude.com/docs/pt/sub-agents.md#hooks-in-subagent-frontmatter).

683 683 

684#### Limites de hooks de skill684#### Limites de hooks de skill

685 685 


3196* **Hooks de comando** (`type: "command"`): imprima o caminho como a última linha não vazia de stdout. O Claude Code remove códigos de escape ANSI antes de ler essa linha, então banners de inicialização do shell impressos antes do seu `echo` são ignorados. Redirecione qualquer outra saída do hook para stderr.3196* **Hooks de comando** (`type: "command"`): imprima o caminho como a última linha não vazia de stdout. O Claude Code remove códigos de escape ANSI antes de ler essa linha, então banners de inicialização do shell impressos antes do seu `echo` são ignorados. Redirecione qualquer outra saída do hook para stderr.

3197* **Hooks HTTP** (`type: "http"`): retorne `{ "hookSpecificOutput": { "hookEventName": "WorktreeCreate", "worktreePath": "/absolute/path" } }` no corpo da resposta.3197* **Hooks HTTP** (`type: "http"`): retorne `{ "hookSpecificOutput": { "hookEventName": "WorktreeCreate", "worktreePath": "/absolute/path" } }` no corpo da resposta.

3198 3198 

3199Se o hook falhar ou não produzir um caminho, a criação do worktree falha com um erro.3199Se o hook falhar ou não produzir nenhum caminho, a criação do worktree falha com um erro. O Claude Code resolve um caminho relativo em relação ao diretório em que o hook foi executado, reduzindo quaisquer segmentos `.` ou `..` nele. Se o caminho resultante não for um diretório em que o Claude Code possa entrar, a sessão imprime um erro indicando o caminho e sai com código 1.

3200 3200 

3201O Claude Code resolve um caminho relativo em relação ao diretório em que o hook foi executado, resolvendo quaisquer segmentos `.` ou `..` nele. Se o caminho resultante não for um diretório em que o Claude Code possa entrar, a sessão imprime um erro indicando o caminho e termina com código 1.3201O Claude Code recusa um caminho absoluto que contenha segmentos `.` ou `..`, e qualquer caminho que passe por um link simbólico abaixo da raiz do repositório. O erro indica o componente rejeitado. Um link simbólico incluído em um commit no repositório poderia redirecionar o worktree para fora dele. Retorne um caminho normalizado que não passe por um link simbólico dentro do repositório.

3202 

3203O Claude Code recusa um caminho absoluto que contenha segmentos `.` ou `..`, e qualquer caminho que passe por um link simbólico abaixo da raiz do repositório, porque um link simbólico incluído em um commit do repositório poderia redirecionar o worktree para fora dele. O erro indica o componente rejeitado. Retorne um caminho normalizado que não passe por um link simbólico dentro do repositório. Antes da v2.1.216, a criação do worktree seguia o caminho do hook sem essa verificação.

3204 3202 

3205### WorktreeRemove3203### WorktreeRemove

3206 3204 


3228* **O hook termina com 0**: o worktree conta como removido. O Claude Code não lê mais nada do hook, então certifique-se de que o seu hook excluiu o diretório.3226* **O hook termina com 0**: o worktree conta como removido. O Claude Code não lê mais nada do hook, então certifique-se de que o seu hook excluiu o diretório.

3229* **O hook termina com código diferente de zero**: a remoção falha se o diretório em `worktree_path` ainda existir depois, e o worktree permanece no disco sem fallback para o git. Um hook que excluiu o diretório antes de terminar com código diferente de zero conta como removido. Para saber como a falha é relatada, consulte [Entrada do WorktreeRemove](#worktreeremove-input).3227* **O hook termina com código diferente de zero**: a remoção falha se o diretório em `worktree_path` ainda existir depois, e o worktree permanece no disco sem fallback para o git. Um hook que excluiu o diretório antes de terminar com código diferente de zero conta como removido. Para saber como a falha é relatada, consulte [Entrada do WorktreeRemove](#worktreeremove-input).

3230 3228 

3231O Claude Code nunca exclui um branch pertencente a um worktree criado por hook, porque ele só conhece o caminho que o seu hook WorktreeCreate retornou. Se o seu hook WorktreeCreate criar um branch, exclua-o no seu hook WorktreeRemove.3229O Claude Code nunca exclui um branch pertencente a um worktree criado por hook, porque ele só conhece o caminho que seu hook WorktreeCreate retornou. Se seu hook WorktreeCreate criar um branch, exclua-o em seu hook WorktreeRemove. O Claude Code descarta os [campos de saída JSON](#json-output) de um hook WorktreeRemove, como `systemMessage` e `continue`.

3232 

3233O Claude Code descarta os [campos de saída JSON](#json-output) de um hook WorktreeRemove, como `systemMessage` e `continue`.

3234 3230 

3235Para a exclusão de uma sessão em segundo plano, o Claude Code verifica o caminho do worktree armazenado antes de executar o hook e recusa um caminho que seja um link simbólico ou passe por um abaixo da raiz do repositório. Nesse caminho, o hook é executado para um worktree que ainda contém arquivos somente quando você confirma a exclusão na [visualização de agentes](https://code.claude.com/docs/pt/agent-view.md#what-deleting-a-session-removes); para esse worktree, [`claude rm`](https://code.claude.com/docs/pt/agent-view#manage-sessions-from-the-shell) mantém a sessão e o worktree. Antes da v2.1.216, o hook era executado no caminho armazenado sem essas verificações.3231Para a exclusão de uma sessão em segundo plano, o Claude Code verifica o caminho do worktree armazenado antes de executar o hook, recusando um caminho que seja um link simbólico ou passe por um abaixo da raiz do repositório. Nesse caminho, o hook é executado para um worktree que ainda contém arquivos somente quando você confirma a exclusão na [visualização de agentes](https://code.claude.com/docs/pt/agent-view.md#what-deleting-a-session-removes). Para esse worktree, [`claude rm`](https://code.claude.com/docs/pt/agent-view#manage-sessions-from-the-shell) mantém a sessão e o worktree.

3236 3232 

3237O Claude Code passa o caminho retornado pelo WorktreeCreate como `worktree_path` na entrada do hook. Este exemplo lê esse caminho e remove o diretório:3233O Claude Code passa o caminho retornado pelo WorktreeCreate como `worktree_path` na entrada do hook. Este exemplo lê esse caminho e remove o diretório:

3238 3234 

Details

174 174 

175## Trabalhe efetivamente com Claude Code175## Trabalhe efetivamente com Claude Code

176 176 

177Essas dicas ajudam você a obter melhores resultados de Claude Code. Para mais informações sobre prompts específicos, verificação e planejamento, consulte [Melhores práticas](https://code.claude.com/docs/pt/best-practices.md).177Essas dicas ajudam você a obter melhores resultados de Claude Code. Para mais informações sobre prompts específicos, verificação e as regras que vale a pena impor em vez de solicitar via prompt, consulte [Boas práticas](https://code.claude.com/docs/pt/best-practices.md).

178 178 

179### Peça ajuda a Claude Code179### Peça ajuda a Claude Code

180 180 

Details

92| `/` no início | Comando ou skill | Consulte [comandos](#commands) e [skills](https://code.claude.com/docs/pt/skills.md) |92| `/` no início | Comando ou skill | Consulte [comandos](#commands) e [skills](https://code.claude.com/docs/pt/skills.md) |

93| `!` no início | Modo shell | Execute um comando diretamente, adicione sua saída à sessão e faça Claude responder a ela |93| `!` no início | Modo shell | Execute um comando diretamente, adicione sua saída à sessão e faça Claude responder a ela |

94| `@` | Menção de caminho de arquivo | Ativar preenchimento automático de caminho de arquivo. Em sessões com [mensagens entre sessões](https://code.claude.com/docs/pt/cross-session-messaging.md#message-another-session), quando você digita pelo menos uma letra após o `@`, Claude Code também sugere suas outras sessões ativas nesta máquina, para que você possa dizer ao Claude para enviar uma mensagem para a que você escolher. Requer Claude Code v2.1.232 ou posterior |94| `@` | Menção de caminho de arquivo | Ativar preenchimento automático de caminho de arquivo. Em sessões com [mensagens entre sessões](https://code.claude.com/docs/pt/cross-session-messaging.md#message-another-session), quando você digita pelo menos uma letra após o `@`, Claude Code também sugere suas outras sessões ativas nesta máquina, para que você possa dizer ao Claude para enviar uma mensagem para a que você escolher. Requer Claude Code v2.1.232 ou posterior |

95| `:` | Código de emoji | Digite um `:name:` completo para inserir o emoji ou dois ou mais caracteres para sugestões. Consulte [Códigos de emoji](#emoji-shortcodes). Requer Claude Code v2.1.217 ou posterior |95| `:` | Código de emoji | Digite um `:name:` completo para inserir o emoji ou dois ou mais caracteres para sugestões. Consulte [Códigos de emoji](#emoji-shortcodes) |

96| `?` em entrada vazia | Alternar painel de ajuda de atalho | Digitar `?` quando a entrada já contém texto insere o caractere |96| `?` em entrada vazia | Alternar painel de ajuda de atalho | Digitar `?` quando a entrada já contém texto insere o caractere |

97 97 

98### Visualizador de transcrição98### Visualizador de transcrição


197 197 

198> [!NOTE]198> [!NOTE]

199>199>

200> No modo NORMAL do vim, se o cursor estiver no início ou fim da entrada e não puder se mover mais, `j`/`k` e `↑`/`↓` navegam pelo histórico de comandos. `←` em um prompt vazio abre a [visualização de agente](https://code.claude.com/docs/pt/agent-view.md) do modo NORMAL assim como INSERT; antes de v2.1.219, `←` em um prompt vazio não fazia nada no modo NORMAL.200> No modo NORMAL do vim, se o cursor estiver no início ou fim da entrada e não puder se mover mais, `j`/`k` e `↑`/`↓` navegam pelo histórico de comandos. `←` em um prompt vazio abre a [visualização de agente](https://code.claude.com/docs/pt/agent-view.md) do modo NORMAL assim como do modo INSERT.

201 201 

202### Edição (modo NORMAL)202### Edição (modo NORMAL)

203 203 


396Claude Code executa alguns comandos assim que você os envia em vez de enfileirá-los, entre eles `/model`, `/effort` e `/fast`. Cada um dos três altera uma configuração: o modelo, o nível de esforço ou o modo rápido. Se Claude Code aplica a nova configuração ao turno em que Claude já está trabalhando, ou apenas a partir de seu próximo turno, difere por comando:396Claude Code executa alguns comandos assim que você os envia em vez de enfileirá-los, entre eles `/model`, `/effort` e `/fast`. Cada um dos três altera uma configuração: o modelo, o nível de esforço ou o modo rápido. Se Claude Code aplica a nova configuração ao turno em que Claude já está trabalhando, ou apenas a partir de seu próximo turno, difere por comando:

397 397 

398* [`/model`](https://code.claude.com/docs/pt/model-config#setting-your-model): uma vez que você confirme o [aviso de cache](https://code.claude.com/docs/pt/prompt-caching.md#switching-models), se Claude Code mostrar um, Claude Code aplica sua alteração à próxima requisição que faz nesse turno398* [`/model`](https://code.claude.com/docs/pt/model-config#setting-your-model): uma vez que você confirme o [aviso de cache](https://code.claude.com/docs/pt/prompt-caching.md#switching-models), se Claude Code mostrar um, Claude Code aplica sua alteração à próxima requisição que faz nesse turno

399* [`/effort`](https://code.claude.com/docs/pt/model-config#adjust-effort-level): uma vez que você confirme o [aviso de cache](https://code.claude.com/docs/pt/prompt-caching.md#changing-effort-level), se Claude Code mostrar um, Claude Code aplica sua alteração à próxima requisição que faz nesse turno399* `/effort`: a próxima mensagem que você enviar é executada no novo nível. Para [iniciá-lo no turno em que Claude já está trabalhando](https://code.claude.com/docs/pt/model-config.md#when-a-new-effort-level-starts), enfileire uma mensagem enquanto Claude está executando chamadas de ferramenta

400* [`/fast`](https://code.claude.com/docs/pt/fast-mode#toggle-fast-mode): Claude Code mantém a configuração de modo rápido que estava ativa quando o turno começou, portanto sua alteração de velocidade se aplica a partir de seu próximo turno. Se seu modelo atual não suportar modo rápido, ativá-lo também [alterna seu modelo](https://code.claude.com/docs/pt/prompt-caching.md#turning-on-fast-mode), e Claude Code usa o novo modelo a partir de sua próxima requisição nesse turno400* [`/fast`](https://code.claude.com/docs/pt/fast-mode#toggle-fast-mode): Claude Code mantém a configuração de modo rápido que estava ativa quando o turno começou, portanto sua alteração de velocidade se aplica a partir de seu próximo turno. Se seu modelo atual não suportar modo rápido, ativá-lo também [alterna seu modelo](https://code.claude.com/docs/pt/prompt-caching.md#turning-on-fast-mode), e Claude Code usa o novo modelo a partir de sua próxima requisição nesse turno

401 401 

402### Mover uma sessão para o background com mensagens enfileiradas402### Mover uma sessão para o background com mensagens enfileiradas


513 513 

514## Códigos de emoji514## Códigos de emoji

515 515 

516Digite um `:` seguido por um código de emoji no campo de entrada do prompt para inserir o emoji. Requer Claude Code v2.1.217 ou posterior.516Digite um `:` seguido por um código de emoji no campo de entrada do prompt para inserir o emoji.

517 517 

518* Digite um código completo como `:heart:` e Claude Code o substitui por ❤️ assim que você digita o `:` de fechamento518* Digite um código completo como `:heart:` e Claude Code o substitui por ❤️ assim que você digita o `:` de fechamento

519* Digite `:` mais pelo menos dois caracteres de um nome, como `:hea`, para abrir um popup de sugestão, depois pressione `Tab` ou `Enter` para inserir o emoji destacado519* Digite `:` mais pelo menos dois caracteres de um nome, como `:hea`, para abrir um popup de sugestão, depois pressione `Tab` ou `Enter` para inserir o emoji destacado

Details

31 31 

32> [!TIP]32> [!TIP]

33>33>

34> Para técnicas de fluxo de trabalho que mantêm o contexto pequeno em qualquer repositório, como [executar exploração em um subagente](https://code.claude.com/docs/pt/best-practices.md#use-subagents-for-investigation) para que leituras de arquivo fiquem fora da conversa principal, veja [Melhores práticas para Claude Code](https://code.claude.com/docs/pt/best-practices.md). Para distribuir uma configuração de linha de base para cada desenvolvedor em sua organização, veja [Configurar Claude Code para sua organização](https://code.claude.com/docs/pt/admin-setup.md).34> Para técnicas de fluxo de trabalho que mantêm o contexto pequeno em qualquer repositório, veja [Boas práticas para Claude Code](https://code.claude.com/docs/pt/best-practices.md). Um exemplo é [executar exploração em um subagente](https://code.claude.com/docs/pt/best-practices.md#know-what-subagents-cost) para que leituras de arquivo fiquem fora da conversa principal. Para distribuir uma configuração de linha de base para cada desenvolvedor em sua organização, veja [Configurar Claude Code para sua organização](https://code.claude.com/docs/pt/admin-setup.md).

35 35 

36### O monorepo de exemplo36### O monorepo de exemplo

37 37 


158As regras de negação podem cobrir todos que trabalham no repositório, apenas você ou cada sessão na máquina, dependendo de qual arquivo de configurações você as colocar:158As regras de negação podem cobrir todos que trabalham no repositório, apenas você ou cada sessão na máquina, dependendo de qual arquivo de configurações você as colocar:

159 159 

160* **Todos que trabalham no repositório**: confirme as regras em `.claude/settings.json`, na raiz do repositório se você iniciar o Claude lá, ou em cada `.claude/` do pacote se você iniciar a partir de subdiretórios. Como outras configurações de projeto nesta página, esse arquivo não é herdado de diretórios pai.160* **Todos que trabalham no repositório**: confirme as regras em `.claude/settings.json`, na raiz do repositório se você iniciar o Claude lá, ou em cada `.claude/` do pacote se você iniciar a partir de subdiretórios. Como outras configurações de projeto nesta página, esse arquivo não é herdado de diretórios pai.

161* **Apenas você**: use `.claude/settings.local.json` na raiz do repositório, que carrega em cada sessão CLI dentro do repositório independentemente do diretório inicial, exceto nos casos em que Claude Code [não usa a raiz do repositório](https://code.claude.com/docs/pt/settings.md#where-claude-code-looks-for-each-file), como no Windows. Padrões relativos como o `Read(./**/vendor/**/*)` do exemplo ainda [ancoram no diretório de trabalho atual da sessão](https://code.claude.com/docs/pt/permissions.md#read-and-edit) em vez da raiz do repositório, portanto, se você iniciar sessões a partir de subdiretórios, escreva as regras neste arquivo como caminhos absolutos `//`, como `Read(//absolute/path/to/repo/**/vendor/**/*)`. Antes da v2.1.211, `.claude/settings.local.json` também carregava apenas a partir do diretório inicial.161* **Apenas você**: use `.claude/settings.local.json` na raiz do repositório. Ele carrega em cada sessão CLI dentro do repositório independentemente do diretório inicial, exceto nos casos em que Claude Code [não usa a raiz do repositório](https://code.claude.com/docs/pt/settings.md#where-claude-code-looks-for-each-file), como no Windows.

162 

163 Padrões relativos como o `Read(./**/vendor/**/*)` do exemplo ainda [ancoram no diretório de trabalho atual da sessão](https://code.claude.com/docs/pt/permissions.md#read-and-edit) em vez da raiz do repositório. Se você iniciar sessões a partir de subdiretórios, escreva as regras neste arquivo como caminhos absolutos `//`, como `Read(//absolute/path/to/repo/**/vendor/**/*)`.

162* **Todos, aplicado em cada sessão**: defina as regras em [configurações gerenciadas](https://code.claude.com/docs/pt/managed-settings.md), que as configurações de usuário e projeto não podem substituir.164* **Todos, aplicado em cada sessão**: defina as regras em [configurações gerenciadas](https://code.claude.com/docs/pt/managed-settings.md), que as configurações de usuário e projeto não podem substituir.

163 165 

164O exemplo abaixo bloqueia artefatos de compilação e um SDK fornecido. Seus padrões de diretório terminam com `/**/*` em vez de `/**` para que cada regra cubra tudo dentro do diretório, mas não o próprio diretório. Claude pode então ainda listar esses diretórios ou entrar neles, por exemplo com `ls dist` ou `cd build`.166O exemplo abaixo bloqueia artefatos de compilação e um SDK fornecido. Seus padrões de diretório terminam com `/**/*` em vez de `/**` para que cada regra cubra tudo dentro do diretório, mas não o próprio diretório. Claude pode então ainda listar esses diretórios ou entrar neles, por exemplo com `ls dist` ou `cd build`.


376Mova convenções e conteúdo de referência para fora de CLAUDE.md sempre carregado e para mecanismos que carregam sob demanda:378Mova convenções e conteúdo de referência para fora de CLAUDE.md sempre carregado e para mecanismos que carregam sob demanda:

377 379 

378* [Skills](https://code.claude.com/docs/pt/skills.md): material de referência que Claude carrega apenas quando relevante para a tarefa380* [Skills](https://code.claude.com/docs/pt/skills.md): material de referência que Claude carrega apenas quando relevante para a tarefa

379* [Plugins](https://code.claude.com/docs/pt/plugins/overview.md): pacotes versionados de skills, hooks e comandos que uma equipe de plataforma possui centralmente381* [Plugins](https://code.claude.com/docs/pt/plugins/overview.md): pacotes versionados de skills, hooks e comandos que uma equipe de plataforma possui centralmente e pode [instalar para todos por meio de configurações gerenciadas](https://code.claude.com/docs/pt/plugins/org.md#pre-install-and-require-plugins)

380* [Servidores MCP](https://code.claude.com/docs/pt/mcp.md): se sua organização já executa uma busca de código ou índice RAG sobre o repositório, exponha-o como uma ferramenta MCP para que Claude a consulte em vez de ler arquivos diretamente382* [Servidores MCP](https://code.claude.com/docs/pt/mcp.md): se sua organização já executa uma busca de código ou índice RAG sobre o repositório, exponha-o como uma ferramenta MCP para que Claude a consulte em vez de ler arquivos diretamente

381 383 

382Veja [configurações gerenciadas por servidor ou endpoint](https://code.claude.com/docs/pt/server-managed-settings.md#choose-between-server-managed-and-endpoint-managed-settings) para como equipes de plataforma podem impor essas centralmente.384Veja [configurações gerenciadas por servidor ou endpoint](https://code.claude.com/docs/pt/server-managed-settings.md#choose-between-server-managed-and-endpoint-managed-settings) para como equipes de plataforma podem impor essas centralmente.


465Duas técnicas ajudam a manter uma mudança entre pacotes consistente:467Duas técnicas ajudam a manter uma mudança entre pacotes consistente:

466 468 

467* **Dê ao Claude a mudança inteira em uma sessão**: entregar a edição compartilhada e seus sites de chamada juntos mantém as decisões atrás de cada edição consistentes, em vez de re-derivá-las por pacote469* **Dê ao Claude a mudança inteira em uma sessão**: entregar a edição compartilhada e seus sites de chamada juntos mantém as decisões atrás de cada edição consistentes, em vez de re-derivá-las por pacote

468* **Planeje antes de editar**: [planeje primeiro](https://code.claude.com/docs/pt/best-practices.md#explore-first-then-plan-then-code) em [plan mode](https://code.claude.com/docs/pt/permission-modes.md#analyze-before-you-edit-with-plan-mode), e Claude escreve o plano em um arquivo. Uma longa sessão entre pacotes [compacta seu contexto](https://code.claude.com/docs/pt/context-window.md#what-survives-compaction) ao longo do caminho. Claude Code reinjecta o arquivo de plano após cada compactação, então o plano sobrevive onde o histórico de conversa pode não470* **Planeje antes de editar**: planeje primeiro no [modo de planejamento](https://code.claude.com/docs/pt/permission-modes.md#analyze-before-you-edit-with-plan-mode), e Claude escreve o plano em um arquivo. Uma longa sessão entre pacotes [compacta seu contexto](https://code.claude.com/docs/pt/context-window.md#what-survives-compaction) ao longo do caminho. Claude Code reinjecta o arquivo de plano após cada compactação, então o plano sobrevive onde o histórico de conversa pode não sobreviver

469 471 

470## Próximos passos472## Próximos passos

471 473 

Details

361 361 

362O gateway carrega solicitações de modelo, mas Claude Code também envia tráfego de fundo não essencial fora do caminho do gateway, para Anthropic e para serviços de terceiros como GitHub: verificações de versão, telemetria, notas de lançamento e solicitações similares. Em uma rede que permite apenas saída para o gateway, essas solicitações falham e podem aparecer como conexões bloqueadas em seu monitoramento de saída.362O gateway carrega solicitações de modelo, mas Claude Code também envia tráfego de fundo não essencial fora do caminho do gateway, para Anthropic e para serviços de terceiros como GitHub: verificações de versão, telemetria, notas de lançamento e solicitações similares. Em uma rede que permite apenas saída para o gateway, essas solicitações falham e podem aparecer como conexões bloqueadas em seu monitoramento de saída.

363 363 

364Claude Code anexa uma credencial a uma solicitação de telemetria ou métricas de uso apenas quando a solicitação vai para o host ao qual a credencial pertence. Enquanto `ANTHROPIC_BASE_URL` aponta para o gateway, Claude Code envia seus eventos de telemetria para Anthropic sem sua credencial de gateway. Com uma [variável de credencial](#set-the-credential-variable) ou `apiKeyHelper` também ativa, Claude Code não relata métricas de uso para o painel [analytics](https://code.claude.com/docs/pt/analytics.md#access-analytics-for-api-customers) do Console. Antes de v2.1.246, Claude Code poderia anexar a credencial do gateway a solicitações de telemetria e métricas de uso destinadas a hosts Anthropic; solicitações de modelo sempre iam para o gateway com a credencial que o gateway espera.

365 

366Para desativar esse tráfego, defina `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1` junto com as variáveis de gateway, no mesmo bloco de exportações de shell ou `env` do arquivo de configurações:364Para desativar esse tráfego, defina `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1` junto com as variáveis de gateway, no mesmo bloco de exportações de shell ou `env` do arquivo de configurações:

367 365 

368**Bash ou Zsh**366**Bash ou Zsh**

mcp.md +9 −3

Details

84 84 

85Apenas um aplicativo host SDK, como um aplicativo [Agent SDK](https://code.claude.com/docs/pt/agent-sdk/mcp.md) ou o [aplicativo de desktop](https://code.claude.com/docs/pt/desktop.md), pode registrar um servidor `"type": "sdk"` em processo. Claude Code pula uma entrada `"type": "sdk"` em `.mcp.json`, `~/.claude.json`, ou configurações e relata `Skipped — MCP server "<name>" declares type "sdk", which only an SDK host application can register`.85Apenas um aplicativo host SDK, como um aplicativo [Agent SDK](https://code.claude.com/docs/pt/agent-sdk/mcp.md) ou o [aplicativo de desktop](https://code.claude.com/docs/pt/desktop.md), pode registrar um servidor `"type": "sdk"` em processo. Claude Code pula uma entrada `"type": "sdk"` em `.mcp.json`, `~/.claude.json`, ou configurações e relata `Skipped — MCP server "<name>" declares type "sdk", which only an SDK host application can register`.

86 86 

87Em execuções `--output-format stream-json`, Claude Code também relata uma entrada `--mcp-config` pulada no campo [`mcp_server_errors` do evento `system/init`](https://code.claude.com/docs/pt/headless#stream-responses), para que scripts possam detectar que o servidor nunca foi carregado. Isso requer Claude Code v2.1.219 ou posterior.87> [!NOTE]

88>

89> Em execuções com `--output-format stream-json`, o Claude Code também relata uma entrada `--mcp-config` ignorada no [campo `mcp_server_errors`](https://code.claude.com/docs/pt/headless#stream-responses) do evento `system/init`, para que scripts possam detectar que o servidor nunca foi carregado.

88 90 

89### Opção 2: Adicionar um servidor SSE remoto91### Opção 2: Adicionar um servidor SSE remoto

90 92 


250 252 

251Os status nesta lista relatam uma decisão de configuração em vez de uma tentativa de conexão, portanto Claude Code os imprime sem se conectar ao servidor:253Os status nesta lista relatam uma decisão de configuração em vez de uma tentativa de conexão, portanto Claude Code os imprime sem se conectar ao servidor:

252 254 

253* ``⏸ Pending approval (run `claude` to approve)``: um servidor com escopo de projeto do `.mcp.json` que você ainda não aprovou. O Claude Code o mostra tanto em `claude mcp list` quanto em `claude mcp get <name>`. Execute `claude` interativamente para revisá-lo e aprová-lo.255* ``⏸ Pending approval (run `claude` to approve)``: um servidor com escopo de projeto de `.mcp.json` que você ainda não aprovou. O Claude Code o mostra tanto em `claude mcp list` quanto em `claude mcp get <name>`. Execute `claude` interativamente para revisá-lo e aprová-lo.

254* `✘ Rejected (see disabledMcpjsonServers in settings)`: um servidor `.mcp.json` que uma entrada [`disabledMcpjsonServers`](https://code.claude.com/docs/pt/settings-reference#disabledmcpjsonservers) rejeita. Claude Code o mostra apenas em `claude mcp get <name>`.256* `✘ Rejected (see disabledMcpjsonServers in settings)`: um servidor `.mcp.json` que uma entrada [`disabledMcpjsonServers`](https://code.claude.com/docs/pt/settings-reference#disabledmcpjsonservers) rejeita. Claude Code o mostra apenas em `claude mcp get <name>`.

255* `⊘ Disabled for this project (re-enable via /mcp)`: um servidor que a lista [`disabledMcpServers`](#disable-a-server-without-removing-it) do projeto nomeia. Claude Code o mostra em `claude mcp list` e `claude mcp get <name>`. Ative o servidor novamente no painel `/mcp`.257* `⊘ Disabled for this project (re-enable via /mcp)`: um servidor que a lista [`disabledMcpServers`](#disable-a-server-without-removing-it) do projeto nomeia. Claude Code o mostra em `claude mcp list` e `claude mcp get <name>`. Ative o servidor novamente no painel `/mcp`.

256 258 


276 278 

277Quando você seleciona **Disable** ou **Clear authentication** no menu de um servidor em `/mcp`, Claude Code também descarta a entrada de cache desse servidor. **Reconnect** também a descarta em um servidor conectado ou com falha; em um servidor `cached`, **Reconnect** conecta o servidor agora e mantém a entrada. Na próxima vez que Claude Code se conectar ao servidor após descartar a entrada, ele busca a lista de ferramentas do servidor em vez de do cache.279Quando você seleciona **Disable** ou **Clear authentication** no menu de um servidor em `/mcp`, Claude Code também descarta a entrada de cache desse servidor. **Reconnect** também a descarta em um servidor conectado ou com falha; em um servidor `cached`, **Reconnect** conecta o servidor agora e mantém a entrada. Na próxima vez que Claude Code se conectar ao servidor após descartar a entrada, ele busca a lista de ferramentas do servidor em vez de do cache.

278 280 

279Quando o status de um servidor é `✘ Failed to connect`, `claude mcp list` acrescenta o detalhe da falha a essa linha de status, e `claude mcp get <name>` o mostra em uma linha `Issue:`: o status HTTP ou código de erro, mais qualquer texto de erro que o servidor retornou. A visualização de detalhe do servidor em `/mcp` inclui o mesmo texto relatado pelo servidor em sua linha `Issue:`. Claude Code redige texto semelhante a credenciais deste detalhe e nunca inclui a URL do servidor expandida, que pode carregar segredos. Claude Code não acrescenta detalhe a um status `✘ Connection error`, porque o texto de exceção que imprimiria lá pode incorporar essa URL. Antes da v2.1.219, ambos os comandos mostravam apenas o status de falha simples, sem o código de status ou o texto de erro do servidor.281##### Falhas de conexão e servidores não configurados

282 

283Quando o status de um servidor é `✘ Failed to connect`, `claude mcp list` acrescenta o detalhe da falha a essa linha de status, e `claude mcp get <name>` o mostra em uma linha `Issue:`. O detalhe é o status HTTP ou código de erro, mais qualquer texto de erro que o servidor retornou. A visualização de detalhes do servidor em `/mcp` inclui o mesmo texto relatado pelo servidor em sua linha `Issue:`.

284 

285O Claude Code oculta texto semelhante a credenciais desse detalhe e nunca inclui a URL expandida do servidor, que pode conter segredos. O Claude Code não acrescenta nenhum detalhe a um status `✘ Connection error`, porque o texto da exceção que ele imprimiria ali pode incluir essa URL.

280 286 

281Quando você completa a autenticação de `/mcp` e a conexão ainda falha com um status HTTP ou um código de erro de transporte, Claude Code adiciona esse código e a origem da URL do servidor à mensagem que imprime após a tentativa. A origem é o esquema e host, mais a porta quando a URL nomeia uma, como `https://mcp.example.com`.287Quando você completa a autenticação de `/mcp` e a conexão ainda falha com um status HTTP ou um código de erro de transporte, Claude Code adiciona esse código e a origem da URL do servidor à mensagem que imprime após a tentativa. A origem é o esquema e host, mais a porta quando a URL nomeia uma, como `https://mcp.example.com`.

282 288 

memory.md +2 −2

Details

237 237 

238Cada grupo de chaves multiplica o número de padrões expandidos: `src/*.{ts,tsx}` se expande para dois padrões, e `{a,b}/{c,d}/*.{ts,tsx}` para oito. Para manter a expansão limitada, a lista `paths` inteira de uma regra compartilha um orçamento de 1.000 padrões expandidos e 4 MiB, e padrões sem chaves não contam contra ele.238Cada grupo de chaves multiplica o número de padrões expandidos: `src/*.{ts,tsx}` se expande para dois padrões, e `{a,b}/{c,d}/*.{ts,tsx}` para oito. Para manter a expansão limitada, a lista `paths` inteira de uma regra compartilha um orçamento de 1.000 padrões expandidos e 4 MiB, e padrões sem chaves não contam contra ele.

239 239 

240Claude Code usa qualquer padrão que excederia o orçamento não expandido, e suas chaves literais não correspondem a nenhum arquivo. Antes da v2.1.217, um valor `paths` com muitos grupos de chaves travava ou fazia o CLI falhar na inicialização.240Claude Code usa qualquer padrão que excederia o orçamento não expandido, e suas chaves literais não correspondem a nenhum arquivo.

241 241 

242A sintaxe Glob trata `[` como o início de uma expressão de colchete como `[abc]`. Um padrão com um `[` que não pode ser lido como uma expressão de colchete, como `photos [2024/**`, é inválido: não corresponde a nada, e os outros padrões da regra continuam funcionando. Para corresponder um `[` literal em um nome de arquivo, escape-o como `photos \[2024/**`.242A sintaxe Glob trata `[` como o início de uma expressão de colchete como `[abc]`. Um padrão com um `[` que não pode ser lido como uma expressão de colchete, como `photos [2024/**`, é inválido: não corresponde a nada, e os outros padrões da regra continuam funcionando. Para corresponder um `[` literal em um nome de arquivo, escape-o como `photos \[2024/**`.

243 243 


568 568 

569O comando `/memory` lista seus arquivos CLAUDE.md, CLAUDE.local.md e outros locais de arquivo de memória em escopos de usuário e projeto, incluindo entradas CLAUDE.md de usuário e projeto para arquivos que ainda não existem. Também permite que você alterne a memória automática ativada ou desativada e fornece uma opção para abrir a pasta de memória automática. Selecione qualquer arquivo para abri-lo no seu editor; selecionar um que ainda não existe o cria primeiro. Para verificar quais arquivos `CLAUDE.md` e arquivos de regras foram carregados na inicialização, execute `/context`.569O comando `/memory` lista seus arquivos CLAUDE.md, CLAUDE.local.md e outros locais de arquivo de memória em escopos de usuário e projeto, incluindo entradas CLAUDE.md de usuário e projeto para arquivos que ainda não existem. Também permite que você alterne a memória automática ativada ou desativada e fornece uma opção para abrir a pasta de memória automática. Selecione qualquer arquivo para abri-lo no seu editor; selecionar um que ainda não existe o cria primeiro. Para verificar quais arquivos `CLAUDE.md` e arquivos de regras foram carregados na inicialização, execute `/context`.

570 570 

571Editores GUI como VS Code abrem o arquivo em uma janela separada, e você pode continuar usando a sessão enquanto está aberta. Antes da v2.1.216, `/memory` esperava você fechar o arquivo antes de responder. Editores de terminal como Vim assumem o controle do terminal até você sair.571Editores GUI como VS Code abrem o arquivo em uma janela separada, e você pode continuar usando a sessão enquanto está aberta. Editores de terminal como Vim assumem o controle do terminal até você sair.

572 572 

573Quando você pede a Claude para lembrar algo, como "sempre use pnpm, não npm" ou "lembre-se de que os testes de API requerem uma instância local de Redis," Claude salva em memória automática. Para adicionar instruções a CLAUDE.md em vez disso, peça a Claude diretamente, como "adicione isto a CLAUDE.md," ou edite o arquivo você mesmo via `/memory`.573Quando você pede a Claude para lembrar algo, como "sempre use pnpm, não npm" ou "lembre-se de que os testes de API requerem uma instância local de Redis," Claude salva em memória automática. Para adicionar instruções a CLAUDE.md em vez disso, peça a Claude diretamente, como "adicione isto a CLAUDE.md," ou edite o arquivo você mesmo via `/memory`.

574 574 

model-config.md +21 −4

Details

542Um nível diferente se aplica em casos como estes:542Um nível diferente se aplica em casos como estes:

543 543 

544* **Sua própria alteração**: depois que você escolhe um nível de esforço, seleciona um modelo em `/model` ou retoma a sessão mais tarde, o nível da requisição sinalizada deixa de ser mantido.544* **Sua própria alteração**: depois que você escolhe um nível de esforço, seleciona um modelo em `/model` ou retoma a sessão mais tarde, o nível da requisição sinalizada deixa de ser mantido.

545* **Esforço da skill**: um nível que o frontmatter `effort` de uma skill definiu para a requisição sinalizada se aplica a esse turno, e os turnos posteriores são executados no nível que a [ordem de resolução de esforço](#adjust-effort-level) atribui ao modelo de fallback.545* **Esforço definido para um turno**: se você elevou o turno sinalizado com `ultrathink`, ou o frontmatter `effort` de uma skill definiu seu nível, esse nível se aplica a esse turno. Os turnos posteriores são executados no nível que a [ordem de resolução de esforço](#adjust-effort-level) atribui ao modelo de fallback.

546 546 

547Na sessão, execute `/effort status` para ver o nível em vigor, ou `/effort` para alterá-lo.547Na sessão, execute `/effort status` para ver o nível em vigor, ou `/effort` para alterá-lo.

548 548 


674 674 

675#### Usar ultrathink para raciocínio profundo único675#### Usar ultrathink para raciocínio profundo único

676 676 

677Inclua `ultrathink` em qualquer lugar em seu prompt para solicitar raciocínio mais profundo nesse turno sem alterar sua configuração de esforço de sessão. Claude Code reconhece a palavra-chave e adiciona uma instrução no contexto. O nível de esforço enviado para a API permanece inalterado. Claude Code passa outras frases como "think", "think hard" e "think more" como texto de prompt ordinário e não as reconhece como palavras-chave.677Inclua `ultrathink` em qualquer lugar em seu prompt para solicitar raciocínio mais profundo nesse turno sem alterar sua configuração de esforço de sessão. Claude Code reconhece a palavra-chave e adiciona uma instrução no contexto. Claude Code passa outras frases como "think", "think hard" e "think more" como texto de prompt ordinário e não as reconhece como palavras-chave.

678 

679Digitada no prompt do terminal, a palavra também pode elevar esse turno ao esforço `xhigh`. Quando isso é possível, a palavra aparece em cores de arco-íris. Requer Claude Code v2.1.311 ou posterior. Se a palavra não aparecer em arco-íris quando você iniciar um novo turno, tente uma destas opções:

680 

681* Digite-a novamente fora de qualquer elemento como aspas, colchetes, um caminho ou um comando, em um prompt que não comece com `/`

682* Remova a definição de `CLAUDE_CODE_EFFORT_LEVEL` se estiver definida abaixo de `xhigh`, aumente seu próprio [`maxEffortLevel`](https://code.claude.com/docs/pt/settings-reference#maxeffortlevel) para `xhigh` ou acima, ou peça a um administrador da organização para aumentar o [limite da sua organização](#organization-effort-limits)

683* Execute `/model` em sua sessão para alternar para um modelo Opus 5.5, Sonnet 5.5, Haiku 5.5 ou Fable 5.1. Onde a palavra não pode elevar um turno, como no Amazon Bedrock, [defina o nível de esforço](#set-the-effort-level) em vez disso

678 684 

679#### Definir o nível de esforço685#### Definir o nível de esforço

680 686 

681Você pode alterar o esforço através de qualquer um dos seguintes:687Você pode alterar o esforço através de qualquer um dos seguintes:

682 688 

683* **`/effort`**: execute `/effort` sem argumentos para abrir um controle deslizante interativo, `/effort` seguido por um nome de nível para defini-lo diretamente, ou `/effort auto` para limpar seu nível salvo para o modelo ativo. Você pode executá-lo enquanto Claude está trabalhando, e uma vez que você confirme o [aviso de cache](https://code.claude.com/docs/pt/prompt-caching.md#changing-effort-level), se Claude Code mostrar um, Claude Code aplica o novo nível à próxima requisição no turno689* **`/effort`**: execute `/effort` sem argumentos para abrir um controle deslizante interativo, `/effort` seguido por um nome de nível para defini-lo diretamente, ou `/effort auto` para limpar seu nível salvo para o modelo ativo

684* **Em `/model`**: use as teclas de seta esquerda/direita para ajustar o controle deslizante de esforço ao selecionar um modelo690* **Em `/model`**: use as teclas de seta esquerda/direita para ajustar o controle deslizante de esforço ao selecionar um modelo

685* **Flag `--effort`**: passe um nome de nível para defini-lo para uma única sessão ao lançar Claude Code691* **Flag `--effort`**: passe um nome de nível para defini-lo para uma única sessão ao lançar Claude Code

686* **Variável de ambiente**: defina `CLAUDE_CODE_EFFORT_LEVEL` para um nome de nível ou `auto`692* **Variável de ambiente**: defina `CLAUDE_CODE_EFFORT_LEVEL` para um nome de nível ou `auto`


692 698 

693Se você definir `effortLevel` em [configurações gerenciadas](https://code.claude.com/docs/pt/managed-settings.md), Claude Code o aplica na etapa de configurações da [ordem de resolução de esforço](#adjust-effort-level), e os usuários ainda podem alterar o nível com `/effort` ou `--effort`. Para manter os usuários em ou abaixo de um nível, defina [`maxEffortLevel`](https://code.claude.com/docs/pt/settings-reference#maxeffortlevel).699Se você definir `effortLevel` em [configurações gerenciadas](https://code.claude.com/docs/pt/managed-settings.md), Claude Code o aplica na etapa de configurações da [ordem de resolução de esforço](#adjust-effort-level), e os usuários ainda podem alterar o nível com `/effort` ou `--effort`. Para manter os usuários em ou abaixo de um nível, defina [`maxEffortLevel`](https://code.claude.com/docs/pt/settings-reference#maxeffortlevel).

694 700 

695O controle deslizante de esforço aparece em `/model` quando um modelo suportado é selecionado. O nível de esforço atual também é mostrado no cabeçalho da sessão ao lado do nome do modelo, por exemplo "with low effort", para que você possa confirmar qual configuração está ativa sem abrir `/model`. O rodapé também mostra brevemente o nível de esforço na inicialização e quando muda.701#### Verificar o nível de esforço que você definiu

702 

703O controle deslizante de esforço aparece em `/model` quando um modelo suportado é selecionado. Um nível no cabeçalho da sessão, por exemplo "with low effort", vem da sua configuração de esforço, mesmo que Claude esteja [ainda trabalhando no nível antigo](#when-a-new-effort-level-starts). O rodapé também mostra brevemente o nível de esforço na inicialização e quando muda.

704 

705#### Quando um novo nível de esforço começa

706 

707Em uma sessão de terminal, depois que `/effort` confirma o novo nível, a próxima mensagem que você enviar é executada nesse nível. Você pode enviá-la depois que o turno em andamento terminar ou [enquanto Claude ainda está trabalhando](https://code.claude.com/docs/pt/interactive-mode.md#queue-messages-while-claude-works):

708 

709* **Depois que o turno terminar**: você não precisa fazer nada até lá, e é esperado que o turno termine no nível antigo

710* **Enquanto Claude ainda está trabalhando**: digite uma mensagem, como `keep going`, e pressione `Enter` para colocá-la na fila sem interromper o turno. Claude a recebe quando suas chamadas de ferramenta atuais terminam, ou no mais tardar quando o turno termina, e trabalha no novo nível a partir de então.

711 

712Antes da v2.1.242, Claude Code podia colocar o próprio `/effort` na fila até o turno terminar, e sempre fazia isso em uma sessão que não [busca feature flags](https://code.claude.com/docs/pt/env-vars.md#features-that-need-feature-flag-fetching), como em um [provedor de terceiros](https://code.claude.com/docs/pt/third-party-integrations.md).

696 713 

697#### Raciocínio adaptativo e orçamentos de pensamento fixos714#### Raciocínio adaptativo e orçamentos de pensamento fixos

698 715 

Details

648| `claude_code.code_edit_tool.decision` | Contagem de decisões de permissão da ferramenta de edição de código | nenhuma |648| `claude_code.code_edit_tool.decision` | Contagem de decisões de permissão da ferramenta de edição de código | nenhuma |

649| `claude_code.active_time.total` | Tempo ativo total | s |649| `claude_code.active_time.total` | Tempo ativo total | s |

650 650 

651Quando `prometheus` é o único exportador listado em `OTEL_METRICS_EXPORTER`, o Claude Code omite as unidades `USD`, `tokens` e `s` das métricas exportadas para que o scrape continue sendo um formato de texto Prometheus válido. Os nomes das métricas não mudam, e configurações que combinam exportadores, como `otlp,prometheus`, mantêm as unidades. Antes da v2.1.216, o scrape do Prometheus incluía linhas `# UNIT` exclusivas do OpenMetrics que alguns scrapers rejeitavam.651Quando `prometheus` é o único exportador listado em `OTEL_METRICS_EXPORTER`, o Claude Code omite as unidades `USD`, `tokens` e `s` das métricas exportadas para que o scrape continue em formato de texto Prometheus válido. Os nomes das métricas não mudam, e configurações que combinam exportadores, como `otlp,prometheus`, mantêm as unidades.

652 652 

653### Detalhes das métricas653### Detalhes das métricas

654 654 


995 995 

996 O valor de `source` não indica qual dessas origens correspondeu. Para descobrir qual delas recusou uma chamada, procure o [Evento de segurança](#safety-event) com o mesmo `tool_use_id` e leia seus atributos `category` e `rule_source`. Algumas chamadas recusadas [não têm evento de segurança](#calls-without-a-safety-event).996 O valor de `source` não indica qual dessas origens correspondeu. Para descobrir qual delas recusou uma chamada, procure o [Evento de segurança](#safety-event) com o mesmo `tool_use_id` e leia seus atributos `category` e `rule_source`. Algumas chamadas recusadas [não têm evento de segurança](#calls-without-a-safety-event).

997 997 

998 O Claude Code também informa `"config"` quando a própria requisição do prompt de permissão falha. Por exemplo, essa requisição falha quando o callback [`canUseTool`](https://code.claude.com/docs/pt/agent-sdk/typescript#canusetool) do Agent SDK ou a ferramenta [`--permission-prompt-tool`](https://code.claude.com/docs/pt/cli-reference#cli-flags) retorna um resultado inválido, ou quando o stream de entrada é fechado enquanto a requisição está pendente. Antes da v2.1.216, o Claude Code informava essas falhas como `"user_reject"`.998 O Claude Code também informa `"config"` quando a própria requisição do prompt de permissão falha. Por exemplo, essa requisição falha quando o callback [`canUseTool`](https://code.claude.com/docs/pt/agent-sdk/typescript#canusetool) do Agent SDK ou a ferramenta [`--permission-prompt-tool`](https://code.claude.com/docs/pt/cli-reference#cli-flags) retorna um resultado inválido, ou quando o stream de entrada é fechado enquanto a requisição está pendente.

999 * `"hook"`: Um hook `PreToolUse` ou `PermissionRequest` retornou a decisão.999 * `"hook"`: Um hook `PreToolUse` ou `PermissionRequest` retornou a decisão.

1000 * `"user_permanent"`: Emitido quando o usuário escolheu "Yes, and don't ask again for ..." em um prompt de permissão, o que salva uma regra de permissão nas suas configurações pessoais. Na CLI interativa, isso é emitido apenas para essa escolha em si; chamadas posteriores que correspondem à regra salva emitem `"config"`. Em sessões do Agent SDK ou não interativas com `-p`, tanto a escolha inicial quanto as correspondências posteriores com a regra emitem `"user_permanent"`. Tratado como aceitação.1000 * `"user_permanent"`: Emitido quando o usuário escolheu "Yes, and don't ask again for ..." em um prompt de permissão, o que salva uma regra de allow nas suas configurações pessoais. Na CLI interativa, isso é emitido apenas para essa escolha em si; chamadas posteriores que correspondem à regra salva emitem `"config"`. Em sessões do Agent SDK ou não interativas com `-p`, tanto a escolha inicial quanto as correspondências posteriores com a regra emitem `"user_permanent"`. Tratado como aceitação.

1001 * `"user_temporary"`: Emitido quando o usuário escolheu "Yes" em um prompt de permissão para uma aprovação única, ou escolheu uma opção que concede acesso pelo restante da sessão em um prompt de edição ou leitura de arquivo. Na CLI interativa, isso é emitido apenas para a escolha em si; chamadas posteriores permitidas por essa concessão com escopo de sessão emitem `"config"`. Em sessões do Agent SDK ou não interativas com `-p`, tanto a escolha quanto as correspondências posteriores emitem `"user_temporary"`. Tratado como aceitação.1001 * `"user_temporary"`: Emitido quando o usuário escolheu "Yes" em um prompt de permissão para uma aprovação única, ou escolheu uma opção que concede acesso pelo restante da sessão em um prompt de edição ou leitura de arquivo. Na CLI interativa, isso é emitido apenas para a escolha em si; chamadas posteriores permitidas por essa concessão com escopo de sessão emitem `"config"`. Em sessões do Agent SDK ou não interativas com `-p`, tanto a escolha quanto as correspondências posteriores emitem `"user_temporary"`. Tratado como aceitação.

1002 * `"user_abort"`: Emitido quando o usuário dispensou o prompt de permissão sem responder. Em sessões do Agent SDK e não interativas com `-p`, isso inclui interromper o turno enquanto uma requisição de permissão de `canUseTool` ou `--permission-prompt-tool` está pendente; antes da v2.1.216, o Claude Code informava essa interrupção como `"user_reject"`. Tratado como rejeição.1002 * `"user_abort"`: Emitido quando o usuário dispensou o prompt de permissão sem responder. Em sessões do Agent SDK e não interativas com `-p`, isso inclui interromper o turno enquanto uma requisição de permissão de `canUseTool` ou `--permission-prompt-tool` está pendente. Tratado como rejeição.

1003 * `"user_reject"`: Emitido quando o usuário escolheu "No" quando solicitado. Na CLI interativa, isso é emitido apenas para essa escolha em si; chamadas que correspondem a uma regra de negação nas configurações pessoais do usuário emitem `"config"`. Em sessões do Agent SDK ou não interativas com `-p`, chamadas que correspondem a uma regra de negação nas configurações pessoais emitem `"user_reject"`. Tratado como rejeição.1003 * `"user_reject"`: Emitido quando o usuário escolheu "No" ao ser solicitado. Na CLI interativa, isso é emitido apenas para essa escolha em si; chamadas que correspondem a uma regra de deny nas configurações pessoais do usuário emitem `"config"`. Em sessões do Agent SDK ou não interativas com `-p`, chamadas que correspondem a uma regra de deny nas configurações pessoais emitem `"user_reject"`. Tratado como rejeição.

1004* `classifier_verdict`: O veredito do [classificador](https://code.claude.com/docs/pt/permission-modes.md#how-the-classifier-evaluates-actions) do modo auto para a chamada, ou o motivo pelo qual o Claude Code negou a chamada quando nenhum veredito veio. Requer Claude Code v2.1.301 ou posterior1004* `classifier_verdict`: O veredito do [classificador](https://code.claude.com/docs/pt/permission-modes.md#how-the-classifier-evaluates-actions) do modo auto para a chamada, ou o motivo pelo qual o Claude Code negou a chamada quando nenhum veredito veio. Requer Claude Code v2.1.301 ou posterior

1005 1005 

1006 * `"allow"`: o classificador aprovou a chamada1006 * `"allow"`: o classificador aprovou a chamada

Details

97 O comando também funciona em [modo não interativo](https://code.claude.com/docs/pt/headless.md) e sessões do Agent SDK, e do aplicativo móvel ou web via [Controle Remoto](https://code.claude.com/docs/pt/remote-control.md#limitations), onde você pode listar e selecionar apenas [estilos integrados](#built-in-output-styles). Requer Claude Code v2.1.269 ou posterior.97 O comando também funciona em [modo não interativo](https://code.claude.com/docs/pt/headless.md) e sessões do Agent SDK, e do aplicativo móvel ou web via [Controle Remoto](https://code.claude.com/docs/pt/remote-control.md#limitations), onde você pode listar e selecionar apenas [estilos integrados](#built-in-output-styles). Requer Claude Code v2.1.269 ou posterior.

98* **Menu do Terminal**: execute `/config` e selecione **Output style** para escolher um estilo de um menu.98* **Menu do Terminal**: execute `/config` e selecione **Output style** para escolher um estilo de um menu.

99* **Extensão VS Code**: abra o [menu de comandos](https://code.claude.com/docs/pt/vs-code.md#use-the-prompt-box) com `/` e selecione **Output styles** para escolher um estilo, incluindo seus estilos personalizados. Requer Claude Code v2.1.257 ou posterior.99* **Extensão VS Code**: abra o [menu de comandos](https://code.claude.com/docs/pt/vs-code.md#use-the-prompt-box) com `/` e selecione **Output styles** para escolher um estilo, incluindo seus estilos personalizados. Requer Claude Code v2.1.257 ou posterior.

100* **Aplicativo Desktop**: defina o campo `outputStyle` em um arquivo de configurações, por exemplo `.claude/settings.local.json`, o arquivo que o menu do terminal escreve. Quando você executa `/config` lá, Claude Code [abre **Settings > Claude Code**](https://code.claude.com/docs/pt/desktop.md#what%E2%80%99s-not-available-in-desktop) em vez de um menu.100* **Aplicativo Desktop**: defina o campo `outputStyle` em um arquivo de configurações, por exemplo `.claude/settings.local.json`, o arquivo que o menu do terminal escreve. Quando você executa `/config` lá, Claude Code [abre **Settings > Code** ou **Settings > Claude Code**](https://code.claude.com/docs/pt/desktop.md#what’s-not-available-in-desktop) em vez de um menu.

101 101 

102Para definir um estilo sem o menu, edite o campo `outputStyle` diretamente em um arquivo de configurações:102Para definir um estilo sem o menu, edite o campo `outputStyle` diretamente em um arquivo de configurações:

103 103 

Details

31 31 

32### Ações que nenhum modo auto-aprova32### Ações que nenhum modo auto-aprova

33 33 

34Claude Code não auto-aprova o seguinte em nenhum modo, incluindo `bypassPermissions`. Cada item vincula à seção que diz o que acontece em vez disso em cada modo:34Claude Code não auto-aprova o seguinte em nenhum modo, incluindo `bypassPermissions`, embora você possa [desativar o prompt para comandos `rm` perigosos](#turn-off-the-critical-path-removal-prompt-in-bypasspermissions-mode) no modo `bypassPermissions`. Cada item vincula à seção que diz o que acontece em vez disso em cada modo:

35 35 

36* Ferramentas correspondidas por uma [regra de solicitação](https://code.claude.com/docs/pt/permissions.md#manage-permissions) explícita36* Ferramentas correspondidas por uma [regra de solicitação](https://code.claude.com/docs/pt/permissions.md#manage-permissions) explícita

37* Ferramentas de conector que sua organização [definiu como `ask`](https://code.claude.com/docs/pt/mcp#organization-controls-on-connector-tools), em sessões onde essa configuração chega a Claude Code37* Ferramentas de conector que sua organização [definiu como `ask`](https://code.claude.com/docs/pt/mcp#organization-controls-on-connector-tools), em sessões onde essa configuração chega a Claude Code


504* Requisições HTTP somente leitura504* Requisições HTTP somente leitura

505* Push para qualquer branch do repositório em que você está trabalhando, incluindo o branch padrão. Um branch não padrão cujo nome o marca como alvo de implantação ou publicação, como `production` ou `gh-pages`, não está coberto: o classificador julga um push para ele por seus próprios méritos.505* Push para qualquer branch do repositório em que você está trabalhando, incluindo o branch padrão. Um branch não padrão cujo nome o marca como alvo de implantação ou publicação, como `production` ou `gh-pages`, não está coberto: o classificador julga um push para ele por seus próprios méritos.

506 506 

507 O conteúdo de um push ainda é verificado segundo as outras regras do classificador, e [regras `permissions.deny`](https://code.claude.com/docs/pt/permissions#manage-permissions) ainda podem bloquear comandos de push [como escritos](https://code.claude.com/docs/pt/permissions.md#bash-rule-limits) em todos os modos. A proteção de branch do próprio remoto ainda se aplica. Da v2.1.203 até a v2.1.211, apenas pushes rotineiros para o branch padrão e pushes para o branch em que você iniciou ou para branches que Claude criou eram permitidos por padrão.507 O conteúdo de um push ainda é verificado segundo as outras regras do classificador, e [regras `permissions.deny`](https://code.claude.com/docs/pt/permissions#manage-permissions) ainda podem bloquear comandos de push [como escritos](https://code.claude.com/docs/pt/permissions.md#bash-rule-limits) em todos os modos. A proteção de branch do próprio remoto ainda se aplica.

508* Exclusão dos trabalhos exatos que Claude criou anteriormente na mesma sessão508* Exclusão dos trabalhos exatos que Claude criou anteriormente na mesma sessão

509* Leitura, revisão ou escrita de código, configs e modelos de ameaça relacionados à segurança como parte de sua tarefa509* Leitura, revisão ou escrita de código, configs e modelos de ameaça relacionados à segurança como parte de sua tarefa

510* Mensagens entre agentes trabalhando juntos na mesma sessão multiagente510* Mensagens entre agentes trabalhando juntos na mesma sessão multiagente


649 649 

650O modo `bypassPermissions` desativa prompts de permissão e verificações de segurança para que chamadas de ferramentas sejam executadas imediatamente, incluindo gravações em [caminhos protegidos](#protected-paths).650O modo `bypassPermissions` desativa prompts de permissão e verificações de segurança para que chamadas de ferramentas sejam executadas imediatamente, incluindo gravações em [caminhos protegidos](#protected-paths).

651 651 

652Mesmo no modo `bypassPermissions`, cada uma das [ações que nenhum modo auto-aprova](#actions-no-mode-auto-approves) recebe um prompt ou uma negação em vez de ser executada por conta própria. Ler [o artefato público de outra organização](https://code.claude.com/docs/pt/artifacts.md#read-an-artifact-shared-with-you) requer sua aprovação, e este modo não a solicita, então Claude não consegue ler um. As [Remove-Item no PowerShell](#remove-item-in-powershell) negações também se aplicam neste modo.652Mesmo no modo `bypassPermissions`, cada uma das [ações que nenhum modo auto-aprova](#actions-no-mode-auto-approves) recebe um prompt ou uma negação, embora você possa [desativar o prompt para comandos `rm` perigosos](#turn-off-the-critical-path-removal-prompt-in-bypasspermissions-mode). Ler [o artefato público de outra organização](https://code.claude.com/docs/pt/artifacts.md#read-an-artifact-shared-with-you) requer sua aprovação, e este modo não a solicita, então Claude não consegue ler um. As [Remove-Item no PowerShell](#remove-item-in-powershell) negações também se aplicam neste modo.

653 653 

654Duas [salvaguardas de mensagens entre sessões](https://code.claude.com/docs/pt/cross-session-messaging.md) ainda se aplicam neste modo, e em sessões de modo plan interativas onde permissões de bypass estão disponíveis:654Duas [salvaguardas de mensagens entre sessões](https://code.claude.com/docs/pt/cross-session-messaging.md) ainda se aplicam neste modo, e em sessões de modo plan interativas onde permissões de bypass estão disponíveis:

655 655 


861This command could not be checked for dangerous rm operations: the shell may read it differently than it was parsed.861This command could not be checked for dangerous rm operations: the shell may read it differently than it was parsed.

862```862```

863 863 

864Você recebe o prompt ou a negação que uma remoção de caminho crítico recebe [no seu modo de permissão](#critical-path-removals-in-each-permission-mode), incluindo `bypassPermissions`. Você não pode aprovar o comando com uma regra de permissão `Bash` ou `Bash(*)`, com o [modo de permissão automática](https://code.claude.com/docs/pt/sandboxing.md#auto-allow-mode) do sandbox ou com um hook `PreToolUse` que retorna `"allow"`. Leia o comando e, em seguida, aprove o prompt ou, após uma negação, execute-o no seu shell.864Você recebe o prompt ou a negação que uma remoção de caminho crítico recebe [no seu modo de permissão](#critical-path-removals-in-each-permission-mode), incluindo `bypassPermissions`, embora você possa [desativar esse prompt](#turn-off-the-critical-path-removal-prompt-in-bypasspermissions-mode) no modo `bypassPermissions`. Você não pode aprovar o comando com uma regra de permissão `Bash` ou `Bash(*)`, com o [modo de permissão automática](https://code.claude.com/docs/pt/sandboxing.md#auto-allow-mode) do sandbox ou com um hook `PreToolUse` que retorna `"allow"`. Leia o comando e, em seguida, aprove o prompt ou, após uma negação, execute-o no seu shell.

865 865 

866### O prompt de unidade montada866### O prompt de unidade montada

867 867 


923 923 

924Se uma [regra de solicitação](https://code.claude.com/docs/pt/permissions.md#manage-permissions) explícita corresponder ao comando, Claude Code o solicita em vez disso, mesmo em modo `auto` e sem um limite de tempo. Em modos que solicitam, um hook [`PermissionRequest`](https://code.claude.com/docs/pt/hooks#permissionrequest) pode responder ao prompt.924Se uma [regra de solicitação](https://code.claude.com/docs/pt/permissions.md#manage-permissions) explícita corresponder ao comando, Claude Code o solicita em vez disso, mesmo em modo `auto` e sem um limite de tempo. Em modos que solicitam, um hook [`PermissionRequest`](https://code.claude.com/docs/pt/hooks#permissionrequest) pode responder ao prompt.

925 925 

926Para executar essas remoções sem prompt no modo `bypassPermissions`, consulte [Desativar o prompt de remoção de caminho crítico](#turn-off-the-critical-path-removal-prompt-in-bypasspermissions-mode).

927 

926### Limites de tempo e negações em modos auto e bypassPermissions928### Limites de tempo e negações em modos auto e bypassPermissions

927 929 

928Em modos `auto` e `bypassPermissions`, o prompt do terminal para uma remoção de caminho crítico mostra uma contagem regressiva de dois minutos:930Em modos `auto` e `bypassPermissions`, o prompt do terminal para uma remoção de caminho crítico mostra uma contagem regressiva de dois minutos:


939| :- | :- | :- |941| :- | :- | :- |

940| Painel de chat da [extensão VS Code](https://code.claude.com/docs/pt/vs-code.md) | Nega-o | Nega-o, a menos que um [hook `PermissionRequest`](https://code.claude.com/docs/pt/hooks#permissionrequest) o permita |942| Painel de chat da [extensão VS Code](https://code.claude.com/docs/pt/vs-code.md) | Nega-o | Nega-o, a menos que um [hook `PermissionRequest`](https://code.claude.com/docs/pt/hooks#permissionrequest) o permita |

941| [Aplicativo Desktop](https://code.claude.com/docs/pt/desktop.md) | Nega-o | Nega-o, a menos que um hook `PermissionRequest` o permita |943| [Aplicativo Desktop](https://code.claude.com/docs/pt/desktop.md) | Nega-o | Nega-o, a menos que um hook `PermissionRequest` o permita |

942| [Execução com `-p`](https://code.claude.com/docs/pt/headless) ou [sessão do Agent SDK](https://code.claude.com/docs/pt/agent-sdk/permissions.md) | Nega-o | Sua [`--permission-prompt-tool`](https://code.claude.com/docs/pt/cli-reference#cli-flags) ou seu [callback `canUseTool`](https://code.claude.com/docs/pt/agent-sdk/user-input#handle-tool-approval-requests) decide. Sem nenhum dos dois, ou com [`--permission-prompts none`](https://code.claude.com/docs/pt/headless#turn-off-permission-prompts-in-unattended-runs), nega-o, a menos que um hook `PermissionRequest` o permita |944| [Execução com `-p`](https://code.claude.com/docs/pt/headless) ou [sessão do Agent SDK](https://code.claude.com/docs/pt/agent-sdk/permissions.md) | Nega-o | Sua [`--permission-prompt-tool`](https://code.claude.com/docs/pt/cli-reference#cli-flags) ou seu [callback `canUseTool`](https://code.claude.com/docs/pt/agent-sdk/user-input#handle-tool-approval-requests) decide. Sem nenhum dos dois, ou com [`--permission-prompts none`](https://code.claude.com/docs/pt/headless#turn-off-permission-prompts-in-unattended-runs), nega-o, a menos que um hook `PermissionRequest` o permita. Para executar essas remoções sem prompt em vez disso, consulte [Desativar o prompt de remoção de caminho crítico](#turn-off-the-critical-path-removal-prompt-in-bypasspermissions-mode) |

943 945 

944Onde quer que a remoção seja negada, você pode ler o comando inteiro e executá-lo no seu shell.946Onde quer que a remoção seja negada, você pode ler o comando inteiro e executá-lo no seu shell.

945 947 


958}960}

959```961```

960 962 

963### Desativar o prompt de remoção de caminho crítico no modo bypassPermissions

964 

965Para executar comandos Bash `rm` e `rmdir` que têm como alvo [caminhos críticos](#critical-paths) sem prompt no modo `bypassPermissions`, inicie Claude Code com [`CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS=1`](https://code.claude.com/docs/pt/env-vars#variables) em seu ambiente. Isso requer Claude Code v2.1.311 ou posterior. Claude Code lê a variável apenas do ambiente de inicialização e [a ignora no bloco `env` de um arquivo de configurações](https://code.claude.com/docs/pt/settings-reference#variables-claude-code-ignores-in-env). Por exemplo, defina-a no [seu shell](https://code.claude.com/docs/pt/env-vars.md#set-variables-in-your-shell) e inicie `claude` a partir dele:

966 

967**macOS, Linux, WSL**

968 

969```bash theme={null}

970export CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS=1

971claude --permission-mode bypassPermissions

972```

973 

974**Windows PowerShell**

975 

976```powershell theme={null}

977$env:CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS = "1"

978claude --permission-mode bypassPermissions

979```

980 

981**Windows CMD**

982 

983```batch theme={null}

984set CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS=1

985claude --permission-mode bypassPermissions

986```

987 

988> [!WARNING]

989>

990> Com esta variável definida, você perde um prompt de segurança para exclusões destrutivas: um comando como `rm -rf ~` pode ser executado sem perguntar a você. Defina-a apenas em um [ambiente isolado](#skip-all-checks-with-bypasspermissions-mode) cujo conteúdo você possa se dar ao luxo de perder.

991 

992As remoções são executadas sem prompt apenas no próprio modo `bypassPermissions`, não no modo de planejamento, e apenas para o que a verificação de caminho crítico sinaliza nas ferramentas Bash e [Monitor](https://code.claude.com/docs/pt/tools-reference.md#monitor-tool). Isso inclui comandos que Claude Code não consegue analisar completamente, que também são executados sem prompt.

993 

994#### Avisos de inicialização sobre o prompt de remoção de caminho crítico

995 

996Para verificar se `CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS` está funcionando, leia a linha que Claude Code imprime na inicialização. Em uma execução com `-p`, ela aparece no stderr. Em um aplicativo do Agent SDK, passe a [opção `stderr`](https://code.claude.com/docs/pt/agent-sdk/typescript#options) para lê-la. A linha diz uma destas coisas:

997 

998* **`is set, so dangerous rm commands can run without a prompt`**: as remoções podem ser executadas sem prompt depois que as configurações gerenciadas e os hooks de plugins forem carregados. Se as remoções continuarem recebendo um prompt ou uma negação, consulte [Por que o prompt de remoção de caminho crítico permanece ativo](#why-the-critical-path-removal-prompt-stays-on)

999* **`has no effect in this session`**: as remoções mantêm seu prompt ou negação habitual durante toda a sessão. Para mudar isso, encontre seu caso em [Por que o prompt de remoção de caminho crítico permanece ativo](#why-the-critical-path-removal-prompt-stays-on)

1000* **`has no effect while the Windows registry cannot be read for managed settings`**: as remoções mantêm seu prompt ou negação habitual, e a variável entra em vigor sem reinicialização se uma leitura posterior do registro for bem-sucedida. Se as remoções continuarem recebendo um prompt ou uma negação, consulte [Por que o prompt de remoção de caminho crítico permanece ativo](#why-the-critical-path-removal-prompt-stays-on)

1001 

1002A ausência da linha não significa que o prompt está ativo: um aplicativo do Agent SDK sem a opção `stderr` não vê nenhuma linha, e as remoções ainda podem ser executadas sem prompt. Caso contrário, verifique se você definiu a variável no ambiente de inicialização, se a sessão [pode entrar no modo `bypassPermissions`](#skip-all-checks-with-bypasspermissions-mode) e se `claude` não está dentro de outra sessão. Algumas sessões [iniciam sem a variável](#why-the-critical-path-removal-prompt-stays-on).

1003 

1004Se você vir uma dessas linhas e não tiver definido a variável, encontre onde ela está definida, como no perfil do seu shell, e remova-a.

1005 

1006#### Por que o prompt de remoção de caminho crítico permanece ativo

1007 

1008Se `CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS` não tiver efeito e as remoções mantiverem seu [prompt ou negação habitual](#critical-path-removals-in-each-permission-mode), verifique causas como estas:

1009 

1010* **Outra coisa trata os prompts de permissão**: uma [`--permission-prompt-tool`](https://code.claude.com/docs/pt/cli-reference#cli-flags) ou um [callback `canUseTool`](https://code.claude.com/docs/pt/agent-sdk/user-input) do Agent SDK sem [`--permission-prompts none`](https://code.claude.com/docs/pt/headless#turn-off-permission-prompts-in-unattended-runs), um [hook `PermissionRequest`](https://code.claude.com/docs/pt/hooks#permissionrequest) com qualquer matcher, ou um [mod](https://code.claude.com/docs/pt/plugins/mods/events.md#hook-the-settings-hook-events) que trata esse evento. Remova o hook, o mod, a ferramenta ou o callback e reinicie `claude`

1011* **O painel de chat da [extensão VS Code](https://code.claude.com/docs/pt/vs-code.md) ou o [aplicativo Desktop](https://code.claude.com/docs/pt/desktop.md) executa a sessão**: inicie `claude` em um terminal, como o terminal integrado de um IDE

1012* **Uma regra cobre Bash, Edit ou Read**: uma [regra de negação ou de solicitação](https://code.claude.com/docs/pt/permissions.md#manage-permissions) que tem como alvo uma dessas ferramentas, na inicialização ou quando Claude Code a lê durante a sessão, mesmo que você a remova depois. Remova a regra e reinicie `claude`. Para deixar uma ferramenta de fora, use [`--tools`](https://code.claude.com/docs/pt/cli-reference#cli-flags) em vez de uma regra de negação

1013* **[`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/pt/settings-reference#permissions-blockreadsoutsideworkingdirectories) está ativada**: remova a configuração de todos os arquivos de configurações que a definem como `true` e, em seguida, reinicie `claude`

1014* **`claude` é executado dentro de outra sessão**: um `claude` iniciado a partir da ferramenta Bash de uma sessão ou de um hook, mesmo com a variável em sua linha de comando. Inicie `claude` a partir do seu próprio shell. Não confie nesse limite de sessões aninhadas como uma fronteira de segurança

1015* **Um hook `PreToolUse` responde `ask` para uma remoção**: altere o que o hook retorna

1016* **Claude Code inicia a sessão por você**: [sessões em segundo plano](https://code.claude.com/docs/pt/agent-view.md), colegas de uma [equipe de agentes](https://code.claude.com/docs/pt/agent-teams.md) em painéis divididos e sessões que um servidor de [Remote Control](https://code.claude.com/docs/pt/remote-control.md) cria iniciam sem a variável. Inicie `claude` a partir do seu próprio shell

1017* **As configurações gerenciadas não podem ser lidas**: Claude Code não conseguiu ler suas fontes de [configurações gerenciadas](https://code.claude.com/docs/pt/managed-settings.md). Se as configurações gerenciadas pelo servidor continuarem falhando ao carregar, consulte [Remote managed settings failed to load](https://code.claude.com/docs/pt/errors.md#remote-managed-settings-failed-to-load). Para qualquer outra falha que não seja uma consulta ao registro, peça a quem gerencia essa fonte para corrigi-la

1018* **O registro do Windows não pode ser consultado**: no Windows e no WSL, a variável precisa de uma resposta do registro, mesmo quando o [WSL não o usa para configurações](https://code.claude.com/docs/pt/settings-reference.md#wslinheritswindowssettings). A consulta pode falhar durante toda a sessão em um Windows que não está em inglês, no WSL com a interoperabilidade desativada ou em um contêiner em um kernel WSL2. Se a interoperabilidade estiver desativada, ative-a. Caso contrário, execute essas remoções você mesmo

1019 

961### Remove-Item em PowerShell1020### Remove-Item em PowerShell

962 1021 

963Quando você habilita a [ferramenta PowerShell](https://code.claude.com/docs/pt/tools-reference.md#powershell-tool), Claude Code dá a `Remove-Item` e aos built-ins `cmd` `rd`, `rmdir`, `del` e `erase` suas próprias verificações, separadas da lista de caminhos críticos `rm`. Para `Remove-Item`, o resultado depende do alvo, e o primeiro caso correspondente se aplica:1022Quando você habilita a [ferramenta PowerShell](https://code.claude.com/docs/pt/tools-reference.md#powershell-tool), Claude Code dá a `Remove-Item` e aos built-ins `cmd` `rd`, `rmdir`, `del` e `erase` suas próprias verificações, separadas da lista de caminhos críticos `rm`. Para `Remove-Item`, o resultado depende do alvo, e o primeiro caso correspondente se aplica:

permissions.md +19 −17

Details

28 28 

29Quando você escolhe "Sim, não pergunte novamente" e a aprovação é salva permanentemente, como para um comando Bash ou um domínio WebFetch, Claude Code salva a regra em `.claude/settings.local.json` na raiz do repositório git, resolvida através de [worktrees](https://code.claude.com/docs/pt/worktrees.md) para o checkout principal. A regra se aplica a futuras sessões em qualquer lugar desse repositório, incluindo sessões iniciadas em subdiretórios e em worktrees. Uma aprovação de modificação de arquivo não é salva no arquivo: como a tabela mostra, ela dura até o final da sessão. Em alguns casos, como fora de um repositório git ou no Windows, Claude Code não usa a raiz do repositório; [Onde Claude Code procura por cada arquivo](https://code.claude.com/docs/pt/settings.md#where-claude-code-looks-for-each-file) lista esses casos e onde ele salva a regra em vez disso.29Quando você escolhe "Sim, não pergunte novamente" e a aprovação é salva permanentemente, como para um comando Bash ou um domínio WebFetch, Claude Code salva a regra em `.claude/settings.local.json` na raiz do repositório git, resolvida através de [worktrees](https://code.claude.com/docs/pt/worktrees.md) para o checkout principal. A regra se aplica a futuras sessões em qualquer lugar desse repositório, incluindo sessões iniciadas em subdiretórios e em worktrees. Uma aprovação de modificação de arquivo não é salva no arquivo: como a tabela mostra, ela dura até o final da sessão. Em alguns casos, como fora de um repositório git ou no Windows, Claude Code não usa a raiz do repositório; [Onde Claude Code procura por cada arquivo](https://code.claude.com/docs/pt/settings.md#where-claude-code-looks-for-each-file) lista esses casos e onde ele salva a regra em vez disso.

30 30 

31Antes da v2.1.211, Claude Code sempre salvava a regra no diretório inicial, então uma aprovação concedida em uma worktree ou subdiretório não se aplicava ao resto do repositório. Regras que versões anteriores salvaram em um subdiretório ou worktree ainda se aplicam a sessões iniciadas lá.

32 

33Às vezes um prompt de permissão oferece apenas uma aprovação única, sem opção de "não pergunte novamente" e sem opção de permitir a ação pelo resto da sessão. Claude Code oferece essas opções apenas quando o prompt pode mostrar a você tudo o que elas permitiriam, então uma regra que você salva de um prompt cobre apenas o que sua opção nomeou. Quando um prompt oferece apenas a aprovação única, aprove a ação uma vez, ou adicione a regra você mesmo em [`/permissions`](#manage-permissions). Para interromper os prompts para um comando que começa com um exec wrapper como `watch`, ou para um comando `find` com uma ação como `-delete`, consulte [Exec wrappers e ações `find`](#exec-wrappers-and-find-actions).31Às vezes um prompt de permissão oferece apenas uma aprovação única, sem opção de "não pergunte novamente" e sem opção de permitir a ação pelo resto da sessão. Claude Code oferece essas opções apenas quando o prompt pode mostrar a você tudo o que elas permitiriam, então uma regra que você salva de um prompt cobre apenas o que sua opção nomeou. Quando um prompt oferece apenas a aprovação única, aprove a ação uma vez, ou adicione a regra você mesmo em [`/permissions`](#manage-permissions). Para interromper os prompts para um comando que começa com um exec wrapper como `watch`, ou para um comando `find` com uma ação como `-delete`, consulte [Exec wrappers e ações `find`](#exec-wrappers-and-find-actions).

34 32 

35### Adicione um comentário quando você responder a um prompt de permissão33### Adicione um comentário quando você responder a um prompt de permissão


218 216 

219> [!TIP]217> [!TIP]

220>218>

221> Claude Code está ciente de operadores de shell, portanto uma regra como `Bash(safe-cmd *)` não lhe dará permissão para executar o comando `safe-cmd && other-cmd`. Os separadores de comando reconhecidos são `&&`, `||`, `;`, `|`, `|&`, `&` e quebras de linha. Uma regra deve corresponder a cada subcomando independentemente.219> Claude Code está ciente de operadores de shell, portanto uma regra como `Bash(safe-cmd *)` não lhe dará permissão para executar o comando `safe-cmd && other-cmd`. Os separadores de comando reconhecidos são `&&`, `||`, `;`, `|`, `|&`, `&` e quebras de linha. Cada subcomando deve ser permitido para que um comando composto seja executado sem um prompt, por exemplo porque o subcomando corresponde a uma regra allow ou é um [comando somente leitura](#read-only-commands).

222 220 

223As regras deny e ask se aplicam quando qualquer subcomando as corresponde, incluindo um comando aninhado dentro de um subshell, uma substituição de comando ou um corpo de fluxo de controle como um loop `for`. Uma regra ask como `Bash(git clean *)` ainda solicita para `cd /tmp && git clean -f` ou `echo "$(git clean -f)"`, mesmo em [modo auto](https://code.claude.com/docs/pt/permission-modes.md#eliminate-prompts-with-auto-mode).221As regras deny e ask se aplicam quando qualquer subcomando as corresponde, incluindo um comando aninhado dentro de um subshell, uma substituição de comando ou um corpo de fluxo de controle como um loop `for`. Uma regra ask como `Bash(git clean *)` ainda solicita para `cd /tmp && git clean -f` ou `echo "$(git clean -f)"`, mesmo em [modo auto](https://code.claude.com/docs/pt/permission-modes.md#eliminate-prompts-with-auto-mode).

224 222 


314 312 

315### PowerShell313### PowerShell

316 314 

317As regras de permissão PowerShell usam a mesma forma que as regras Bash. Caracteres curinga com `*` correspondem em qualquer posição, o sufixo `:*` é equivalente a um ` *` final, e um `PowerShell` simples ou `PowerShell(*)` corresponde a cada comando. Esta configuração permite comandos `Get-ChildItem` e `git commit` enquanto bloqueia `Remove-Item`:315As regras de permissão PowerShell usam a mesma forma que as [regras Bash](#wildcard-patterns), e um `PowerShell` simples ou `PowerShell(*)` corresponde a cada comando. Esta configuração permite comandos `Get-ChildItem` e `git commit` enquanto bloqueia `Remove-Item`:

318 316 

319```json theme={null}317```json theme={null}

320{318{


330}328}

331```329```

332 330 

333Aliases comuns são canonicalizados antes da correspondência. Uma regra escrita para o nome do cmdlet também corresponde a seus aliases, portanto `PowerShell(Get-ChildItem *)` corresponde a `gci`, `ls` e `dir` também. A correspondência é insensível a maiúsculas e minúsculas.331Aliases comuns são canonicalizados antes da correspondência. Uma regra escrita para o nome do cmdlet também corresponde a esses aliases, então `PowerShell(Get-ChildItem *)` corresponde a `gci`, `ls` e `dir` também. A correspondência não diferencia maiúsculas de minúsculas.

334 332 

335Claude Code analisa o AST do PowerShell e verifica cada comando em um comando composto independentemente. Os operadores de pipeline `|`, separadores de instrução `;` e, no PowerShell 7+, os operadores de cadeia `&&` e `||` dividem um comando composto em subcomandos. Uma regra deve corresponder a cada subcomando para que o comando composto seja permitido.333Claude Code analisa o AST do PowerShell e verifica cada comando em um comando composto independentemente. Os operadores de pipeline `|`, separadores de instrução `;` e, no PowerShell 7+, os operadores de cadeia `&&` e `||` dividem um comando composto em subcomandos. Cada subcomando deve ser permitido para que o comando composto seja executado sem um prompt, por exemplo correspondendo a uma regra allow.

336 334 

337### Read e Edit335### Read e Edit

338 336 


390 388 

391Uma regra que você adiciona através de `/permissions` segue a linha para o arquivo de configurações em que você a salva.389Uma regra que você adiciona através de `/permissions` segue a linha para o arquivo de configurações em que você a salva.

392 390 

393As regras de configurações locais ancoram no [diretório de trabalho primário](#working-directories) da sessão, não na raiz do repositório onde Claude Code [armazena o arquivo](#permission-system) em v2.1.211 e posterior. Em uma sessão iniciada na raiz do repositório, os dois diretórios são os mesmos; em uma sessão de [worktree](https://code.claude.com/docs/pt/worktrees.md), uma regra compartilhada como `Edit(/src/**)` corresponde ao diretório `src/` próprio desse worktree.391As regras de configurações locais ancoram no [diretório de trabalho primário](#working-directories) da sessão, não na raiz do repositório onde Claude Code [armazena o arquivo](#permission-system). Em uma sessão iniciada na raiz do repositório, os dois diretórios são os mesmos; em uma sessão de [worktree](https://code.claude.com/docs/pt/worktrees.md), uma regra compartilhada como `Edit(/src/**)` corresponde ao diretório `src/` próprio desse worktree.

394 392 

395Uma regra deny como `Read(/secrets/**)` em configurações de usuário bloqueia `~/.claude/secrets/**`, não um diretório `secrets` em seu projeto. Para escrever uma regra em configurações de usuário que se aplique dentro de cada projeto, use um caminho absoluto `//` ou um caminho relativo à home `~/` em vez disso.393Uma regra deny como `Read(/secrets/**)` em configurações de usuário bloqueia `~/.claude/secrets/**`, não um diretório `secrets` em seu projeto. Para escrever uma regra em configurações de usuário que se aplique dentro de cada projeto, use um caminho absoluto `//` ou um caminho relativo à home `~/` em vez disso.

396 394 


524 522 

525Para ler arquivos em um compartilhamento de rede sem esse prompt, dê primeiro ao compartilhamento um caminho local:523Para ler arquivos em um compartilhamento de rede sem esse prompt, dê primeiro ao compartilhamento um caminho local:

526 524 

527* **Windows**: mapeie o compartilhamento para uma letra de unidade e passe a unidade com `--add-dir` ao iniciar Claude Code, conforme descrito em [Diretórios de trabalho](#working-directories). Leituras sob uma unidade que você adiciona depois com `/add-dir`, ou lista em `additionalDirectories` em um arquivo de configurações, ainda solicitam. Para interromper esses prompts para um compartilhamento mapeado em `Z:`, inicie uma nova sessão no PowerShell com `claude --add-dir Z:\`.525* **Windows**: mapeie o compartilhamento para uma letra de unidade e passe a unidade com `--add-dir` ao iniciar Claude Code, conforme descrito em [Diretórios de trabalho](#working-directories). Para um compartilhamento mapeado em `Z:`, execute `claude --add-dir Z:\` no PowerShell.

528* **macOS e Linux**: monte o compartilhamento em um caminho local, como um diretório sob `/mnt` ou `/Volumes`, e leia os arquivos a partir daí, conforme descrito em [O diretório de trabalho é um caminho de rede](https://code.claude.com/docs/pt/errors.md#working-directory-is-a-network-path)526* **macOS e Linux**: monte o compartilhamento em um caminho local, como um diretório sob `/mnt` ou `/Volumes`, e leia os arquivos a partir daí, conforme descrito em [O diretório de trabalho é um caminho de rede](https://code.claude.com/docs/pt/errors.md#working-directory-is-a-network-path)

529 527 

530### WebFetch528### WebFetch


711 709 

712Para carregar as skills, comandos e subagentes de um subdiretório do seu [diretório de trabalho principal](#working-directories) no meio da sessão, execute `/add-dir` com o caminho desse subdiretório. Claude Code os carrega pelo restante da sessão sem solicitar confirmação nem adicionar um diretório de trabalho, porque o subdiretório já é legível. Isso requer Claude Code v2.1.257 ou posterior.710Para carregar as skills, comandos e subagentes de um subdiretório do seu [diretório de trabalho principal](#working-directories) no meio da sessão, execute `/add-dir` com o caminho desse subdiretório. Claude Code os carrega pelo restante da sessão sem solicitar confirmação nem adicionar um diretório de trabalho, porque o subdiretório já é legível. Isso requer Claude Code v2.1.257 ou posterior.

713 711 

714Claude Code descobre estilos de saída a partir do diretório de trabalho atual e de seus diretórios pais, do seu diretório de usuário em `~/.claude/` e das configurações gerenciadas. Hooks e outras chaves de `.claude/settings.json` são carregados da pasta `.claude/` do diretório de trabalho atual, sem fallback para diretórios pais, junto com o seu `~/.claude/settings.json` de usuário e as configurações gerenciadas. `.claude/settings.local.json` é carregado a partir da raiz do repositório git, mesmo quando você inicia Claude Code em um subdiretório, exceto nos casos em que Claude Code [não usa a raiz do repositório](https://code.claude.com/docs/pt/settings.md#where-claude-code-looks-for-each-file), como no Windows; antes da v2.1.211, ele também era carregado apenas do diretório de trabalho atual. Sessões do [Agent SDK](https://code.claude.com/docs/pt/agent-sdk/claude-code-features.md#control-filesystem-settings-with-settingsources) o carregam do diretório de trabalho em todas as versões.712#### De onde os estilos de saída, os hooks e as configurações locais são carregados

713 

714Claude Code descobre estilos de saída a partir do diretório de trabalho atual e de seus diretórios pais, do seu diretório de usuário em `~/.claude/` e das configurações gerenciadas. Hooks e outras chaves de `.claude/settings.json` são carregados da pasta `.claude/` do diretório de trabalho atual, sem fallback para diretórios pais, junto com o seu `~/.claude/settings.json` de usuário e as configurações gerenciadas.

715 

716`.claude/settings.local.json` é carregado a partir da raiz do repositório git, mesmo quando você inicia Claude Code em um subdiretório, exceto nos casos em que Claude Code [não usa a raiz do repositório](https://code.claude.com/docs/pt/settings.md#where-claude-code-looks-for-each-file), como no Windows.

715 717 

716Para compartilhar essa configuração entre projetos, use uma destas abordagens:718Para compartilhar essa configuração entre projetos, use uma destas abordagens:

717 719 


767 769 

768* Em um repositório, Claude Code baseia a confiança na raiz do repositório git, portanto a confiança cobre todo o repositório, exceto qualquer repositório git aninhado dentro dele, como um submódulo. Em um [worktree](https://code.claude.com/docs/pt/worktrees.md), ele usa a raiz do checkout principal, como faz para [regras salvas](#permission-system).770* Em um repositório, Claude Code baseia a confiança na raiz do repositório git, portanto a confiança cobre todo o repositório, exceto qualquer repositório git aninhado dentro dele, como um submódulo. Em um [worktree](https://code.claude.com/docs/pt/worktrees.md), ele usa a raiz do checkout principal, como faz para [regras salvas](#permission-system).

769* Fora de um repositório, Claude Code baseia a confiança no diretório de onde você o iniciou, e a confiança cobre qualquer subdiretório desse diretório, exceto um repositório git aninhado dentro dele, como um clone. Cada subdiretório coberto então conta como uma pasta cujo pai você confiou.771* Fora de um repositório, Claude Code baseia a confiança no diretório de onde você o iniciou, e a confiança cobre qualquer subdiretório desse diretório, exceto um repositório git aninhado dentro dele, como um clone. Cada subdiretório coberto então conta como uma pasta cujo pai você confiou.

770* Quando você inicia no seu diretório inicial, Claude Code mantém a confiança apenas para a sessão atual e não a escreve no disco; consulte a nota [safeguards adicionais](https://code.claude.com/docs/pt/security.md#additional-safeguards).772* Quando você inicia no seu diretório pessoal, Claude Code mantém a confiança apenas para a sessão atual e não a escreve no disco; consulte a nota [safeguards adicionais](https://code.claude.com/docs/pt/security.md#additional-safeguards).

771 773 

772Claude Code mostra o diálogo de confiança apenas em sessões interativas. Uma execução `claude -p` ou uma sessão SDK nunca o mostra, e confiar em uma pasta pai não conta para essas regras, portanto [O que é executado antes de você confiar em uma pasta](#what-runs-before-you-trust-a-folder) diz qual conteúdo do repositório Claude Code ainda usa em cada uma dessas duas situações.774Claude Code mostra o diálogo de confiança apenas em sessões interativas. Uma execução `claude -p` ou uma sessão SDK nunca o mostra, e confiar em uma pasta pai não conta para essas regras, portanto [O que é executado antes de você confiar em uma pasta](#what-runs-before-you-trust-a-folder) diz qual conteúdo do repositório Claude Code ainda usa em cada uma dessas duas situações.

773 775 


779 781 

780Claude Code executa git para distinguir os dois, e executa git apenas após você ter confiado na pasta: você aceitou o diálogo de confiança para ela ou para um diretório pai cuja confiança se estende a ela, ou você está em uma sessão `-p` ou SDK, que conta como aceita. Até então, onde você iniciou Claude Code decide o que acontece com as regras do arquivo:782Claude Code executa git para distinguir os dois, e executa git apenas após você ter confiado na pasta: você aceitou o diálogo de confiança para ela ou para um diretório pai cuja confiança se estende a ela, ou você está em uma sessão `-p` ou SDK, que conta como aceita. Até então, onde você iniciou Claude Code decide o que acontece com as regras do arquivo:

781 783 

782* **No seu diretório de configuração inicial:** Claude Code aplica o `.claude/settings.local.json` dessa pasta imediatamente sem executar git. Seu diretório de configuração inicial é seu diretório inicial, ou um diretório cujo subdiretório `.claude` você definiu como [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/pt/env-vars#variables). Se esse diretório `CLAUDE_CONFIG_DIR` fica dentro de um repositório git e Claude Code [mantém suas configurações locais na raiz do repositório](https://code.claude.com/docs/pt/settings.md#where-claude-code-looks-for-each-file), ele retém as regras como em qualquer outro lugar.784* **No seu diretório de configuração pessoal:** Claude Code aplica o `.claude/settings.local.json` dessa pasta imediatamente sem executar git. Seu diretório de configuração pessoal é seu diretório pessoal, ou um diretório cujo subdiretório `.claude` você definiu como [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/pt/env-vars#variables). Se esse diretório `CLAUDE_CONFIG_DIR` fica dentro de um repositório git e Claude Code [mantém suas configurações locais na raiz do repositório](https://code.claude.com/docs/pt/settings.md#where-claude-code-looks-for-each-file), ele retém as regras como em qualquer outro lugar.

783* **Em qualquer outro lugar:** Claude Code retém as regras do arquivo como configurações de projeto. Após a verificação ser executada, Claude Code aplica as regras de um arquivo não rastreado, ou de um arquivo em um diretório fora de qualquer repositório git, mesmo que você não tenha confiado nessa pasta exata.785* **Em qualquer outro lugar:** Claude Code retém as regras do arquivo como configurações de projeto. Após a verificação ser executada, Claude Code aplica as regras de um arquivo não rastreado, ou de um arquivo em um diretório fora de qualquer repositório git, mesmo que você não tenha confiado nessa pasta exata.

784 786 

785> [!NOTE]787> [!NOTE]

786>788>

787> A exceção do diretório de configuração ignora apenas a etapa de confiança. `~/.claude/settings.local.json` ainda é [escopo local](https://code.claude.com/docs/pt/settings.md#compare-the-scope-of-each-settings-file), portanto Claude Code o lê apenas em sessões que você inicia no seu próprio diretório inicial, não em todos os projetos. Para aplicar regras de permissão em todos os seus projetos, adicione-as às suas configurações de usuário: `~/.claude/settings.json`, ou `$CLAUDE_CONFIG_DIR/settings.json` quando `CLAUDE_CONFIG_DIR` está definido.789> A exceção do diretório de configuração pessoal ignora apenas a etapa de confiança. `~/.claude/settings.local.json` ainda é [escopo local](https://code.claude.com/docs/pt/settings.md#compare-the-scope-of-each-settings-file), portanto Claude Code o lê apenas em sessões que você inicia no seu próprio diretório pessoal, não em todos os projetos. Para aplicar regras de permissão em todos os seus projetos, adicione-as às suas configurações de usuário: `~/.claude/settings.json`, ou `$CLAUDE_CONFIG_DIR/settings.json` quando `CLAUDE_CONFIG_DIR` está definido.

788 790 

789### O que é executado antes de você confiar em uma pasta791### O que é executado antes de você confiar em uma pasta

790 792 


794| :- | :- | :- |796| :- | :- | :- |

795| [Hooks](https://code.claude.com/docs/pt/hooks.md) em arquivos de configurações, o bloco [`env`](https://code.claude.com/docs/pt/settings-reference#env) e comandos auxiliares como [`apiKeyHelper`](https://code.claude.com/docs/pt/settings-reference#apikeyhelper), e os [hooks](https://code.claude.com/docs/pt/hooks.md#hooks-in-skills-and-agents) de uma skill de projeto e [`allowed-tools`](https://code.claude.com/docs/pt/skills#pre-approve-tools-for-a-skill) | Usado | Usado. A confiança do workspace nunca bloqueia `allowed-tools` de uma skill em nenhuma sessão |797| [Hooks](https://code.claude.com/docs/pt/hooks.md) em arquivos de configurações, o bloco [`env`](https://code.claude.com/docs/pt/settings-reference#env) e comandos auxiliares como [`apiKeyHelper`](https://code.claude.com/docs/pt/settings-reference#apikeyhelper), e os [hooks](https://code.claude.com/docs/pt/hooks.md#hooks-in-skills-and-agents) de uma skill de projeto e [`allowed-tools`](https://code.claude.com/docs/pt/skills#pre-approve-tools-for-a-skill) | Usado | Usado. A confiança do workspace nunca bloqueia `allowed-tools` de uma skill em nenhuma sessão |

796| Regras `permissions.allow` e `additionalDirectories` em `.claude/settings.json` | Não usado até você aceitar o diálogo de confiança, que aparece novamente listando-os | Não usado. Claude Code imprime um aviso [`this workspace has not been trusted`](https://code.claude.com/docs/pt/errors#workspace-has-not-been-trusted) para stderr |798| Regras `permissions.allow` e `additionalDirectories` em `.claude/settings.json` | Não usado até você aceitar o diálogo de confiança, que aparece novamente listando-os | Não usado. Claude Code imprime um aviso [`this workspace has not been trusted`](https://code.claude.com/docs/pt/errors#workspace-has-not-been-trusted) para stderr |

797| Hooks de frontmatter em um [subagent](https://code.claude.com/docs/pt/sub-agents.md#hooks-in-subagent-frontmatter) de projeto, um plugin [`@skills-dir`](https://code.claude.com/docs/pt/plugins/loading#plugins-shared-through-a-repository) de projeto, e entradas [`extraKnownMarketplaces`](https://code.claude.com/docs/pt/settings-reference#extraknownmarketplaces) do repositório ou um diretório `--add-dir` | Não usado, e nenhum diálogo é oferecido | Não usado |799| Hooks de frontmatter em um [subagente](https://code.claude.com/docs/pt/sub-agents.md#hooks-in-subagent-frontmatter) de projeto, um plugin [`@skills-dir`](https://code.claude.com/docs/pt/plugins/loading#plugins-shared-through-a-repository) de projeto, e entradas [`extraKnownMarketplaces`](https://code.claude.com/docs/pt/settings-reference#extraknownmarketplaces) do repositório ou um diretório `--add-dir` | Não usado, e nenhum diálogo é oferecido | Não usado |

798| Inline [`mcpServers`](https://code.claude.com/docs/pt/sub-agents#scope-mcp-servers-to-a-subagent) no frontmatter de um subagent do repositório ou um diretório `--add-dir` | Não usado, e nenhum diálogo é oferecido | Não usado |800| [`mcpServers`](https://code.claude.com/docs/pt/sub-agents#scope-mcp-servers-to-a-subagent) inline no frontmatter de um subagente do repositório ou um diretório `--add-dir` | Não usado, e nenhum diálogo é oferecido | Não usado |

799| Servidores em `.mcp.json`, incluindo aqueles que o repositório [aprova em suas próprias configurações](https://code.claude.com/docs/pt/mcp.md#project-server-approvals-and-workspace-trust) | Claude Code pergunta antes de conectá-los. As aprovações do próprio repositório não contam | Conectado sem perguntar, aprovado ou não. O SDK os carrega apenas quando `settingSources` inclui configurações de projeto. `claude mcp list` na mesma pasta ainda relata tal servidor como pendente |801| Servidores em `.mcp.json`, incluindo aqueles que o repositório [aprova em suas próprias configurações](https://code.claude.com/docs/pt/mcp.md#project-server-approvals-and-workspace-trust) | Claude Code pergunta antes de conectá-los. As aprovações do próprio repositório não contam | Conectado sem perguntar, aprovado ou não. O SDK os carrega apenas quando `settingSources` inclui configurações de projeto. `claude mcp list` na mesma pasta ainda relata tal servidor como pendente |

800| Um [`headersHelper`](https://code.claude.com/docs/pt/mcp#trust-a-folder-before-its-headershelper-runs) em um servidor em `.mcp.json` | Não executado até você aceitar o diálogo de confiança, que aparece novamente nomeando onde o auxiliar é declarado. Claude Code conecta o servidor com seus `headers` estáticos até então | Não executado. Claude Code conecta o servidor com seus `headers` estáticos e imprime uma linha [`headersHelper not run`](https://code.claude.com/docs/pt/errors#headershelper-not-run) por servidor para stderr |802| Um [`headersHelper`](https://code.claude.com/docs/pt/mcp#trust-a-folder-before-its-headershelper-runs) em um servidor em `.mcp.json` | Não executado até você aceitar o diálogo de confiança, que aparece novamente nomeando onde o auxiliar é declarado. Claude Code conecta o servidor apenas com seus `headers` estáticos até então | Não executado. Claude Code conecta o servidor apenas com seus `headers` estáticos e imprime uma linha [`headersHelper not run`](https://code.claude.com/docs/pt/errors#headershelper-not-run) por servidor para stderr |

801 803 

802Para as linhas que precisam dessa pasta exata confiada, confie nela manualmente: defina `projects["<path>"].hasTrustDialogAccepted` como `true` em `~/.claude.json`, onde `<path>` é a raiz do repositório, ou a pasta em si fora de um repositório. Claude Code imprime a chave exata na linha de log de depuração para um hook de subagent ignorado ou servidor MCP inline, no aviso stderr para regras de permissão ignoradas, e na linha `headersHelper not run` para um auxiliar ignorado.804Para as linhas que precisam dessa pasta exata confiada, confie nela manualmente: defina `projects["<path>"].hasTrustDialogAccepted` como `true` em `~/.claude.json`, onde `<path>` é a raiz do repositório, ou a pasta em si fora de um repositório. Claude Code imprime a chave exata na linha de log de depuração para um hook de subagente ignorado ou servidor MCP inline, no aviso stderr para regras de permissão ignoradas, e na linha `headersHelper not run` para um auxiliar ignorado.

803 805 

804Antes de executar `claude -p` em um repositório que você não escreveu, decida o que ele pode executar em sua máquina:806Antes de executar `claude -p` em um repositório que você não escreveu, decida o que ele pode executar em sua máquina:

805 807 

806* Passe `--setting-sources user`, ou defina o `settingSources` do SDK sem configurações de projeto, para que Claude Code não leia nem os arquivos de configurações do projeto nem seu `.mcp.json`808* Passe `--setting-sources user`, ou defina o `settingSources` do SDK sem configurações de projeto, para que Claude Code não leia nem os arquivos de configurações do projeto nem seu `.mcp.json`

807* Inicie com [`--bare`](https://code.claude.com/docs/pt/headless#start-faster-with-bare-mode) para que Claude Code não leia hooks, skills, comandos personalizados, subagents, plugins ou servidores `.mcp.json` do projeto. O bloco `env` do projeto e auxiliares como `awsAuthRefresh` em seus arquivos de configurações ainda se aplicam, e Claude Code lê `apiKeyHelper` apenas de `--settings`809* Inicie com [`--bare`](https://code.claude.com/docs/pt/headless#start-faster-with-bare-mode) para que Claude Code não leia hooks, skills, comandos personalizados, subagentes, plugins ou servidores `.mcp.json` do projeto. O bloco `env` do projeto e auxiliares como `awsAuthRefresh` em seus arquivos de configurações ainda se aplicam, e Claude Code lê `apiKeyHelper` apenas de `--settings`

808* Passe `--settings '{"disableAllHooks": true}'` para [desativar hooks](https://code.claude.com/docs/pt/hooks.md#disable-or-remove-hooks) para essa execução. Defini-lo apenas em suas configurações de usuário não é suficiente, porque as configurações de projeto do repositório têm precedência sobre as suas e podem defini-lo de volta para `false`810* Passe `--settings '{"disableAllHooks": true}'` para [desativar hooks](https://code.claude.com/docs/pt/hooks.md#disable-or-remove-hooks) para essa execução. Defini-lo apenas em suas configurações de usuário não é suficiente, porque as configurações de projeto do repositório têm precedência sobre as suas e podem defini-lo de volta para `false`

809* Adicione uma entrada [`disabledMcpjsonServers`](https://code.claude.com/docs/pt/settings-reference#disabledmcpjsonservers) para rejeitar um servidor `.mcp.json` por nome em todos os tipos de sessão811* Adicione uma entrada [`disabledMcpjsonServers`](https://code.claude.com/docs/pt/settings-reference#disabledmcpjsonservers) para rejeitar um servidor `.mcp.json` por nome em todos os tipos de sessão

810 812 

Details

313 313 

314Para ver as chamadas de ferramenta que a própria API executou durante a requisição, como chamadas à [ferramenta advisor](https://code.claude.com/docs/pt/advisor.md), 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.314Para ver as chamadas de ferramenta que a própria API executou durante a requisição, como chamadas à [ferramenta advisor](https://code.claude.com/docs/pt/advisor.md), 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.

315 315 

316#### Enviar uma requisição para um modelo diferente

317 

318Se uma requisição `turn.step` falhar com um erro de modelo quando `model` for um alias como `haiku`, atualize para o Claude Code v2.1.309 ou posterior, ou use um id de modelo completo. Antes da v2.1.309, um alias era enviado como escrito.

319 

320Para enviar uma requisição para um modelo diferente, passe para `next` o evento com `model` alterado, como em `yield* next({ ...e, model: 'haiku' })`.

321 

316### Alterar ou recusar uma leitura de configurações322### Alterar ou recusar uma leitura de configurações

317 323 

318Um hook `settings.read` é executado na leitura de um mod e na leitura do próprio Claude Code:324Use um hook `settings.read` para alterar ou recusar uma leitura de configurações, seja a de um mod ou a do próprio Claude Code:

319 325 

320* **A leitura de um mod**: um mod chama [`$.settings.read`](https://code.claude.com/docs/pt/plugins/mods/api#read-one-source-or-one-key).326* **A leitura de um mod**: um mod chama [`$.settings.read`](https://code.claude.com/docs/pt/plugins/mods/api#read-one-source-or-one-key).

321* **A leitura do próprio Claude Code**: o Claude Code monta as configurações mescladas da sessão. Essa leitura se repete quando as configurações ou os plugins carregados mudam.327* **A leitura do próprio Claude Code**: seu hook é executado pela primeira vez quando o Claude Code mescla as configurações da sessão, depois que os mods da sessão foram carregados. Seu hook é executado novamente quando as configurações ou os plugins carregados mudam.

322 328 

323Antes de depender de qualquer uma das leituras, verifique a guarda e a sua versão:329Verifique quais mods recebem este evento e a sua versão do Claude Code:

324 330 

325* **A guarda integrada**: com configurações gerenciadas, ou com um [`/login`](https://code.claude.com/docs/pt/authentication#authentication-precedence) Team ou Enterprise como credencial da sessão, a [guarda integrada](https://code.claude.com/docs/pt/plugins/mods/admin.md#know-what-happens-by-default) pode ignorar este hook em um mod que você instala ou carrega com `--plugin-dir`. Para verificar, procure no [log de depuração](https://code.claude.com/docs/pt/plugins/mods/troubleshoot.md#read-the-debug-log) por `settings.read bypassed by cc-plugin-sec-default`. Se uma linha com esse texto citar o seu mod, peça ao administrador da sua organização para [instalar o mod como um dos mods da organização](https://code.claude.com/docs/pt/plugins/mods/admin.md#install-your-organizations-mods).331* **A guarda integrada**: com configurações gerenciadas, ou com um [`/login`](https://code.claude.com/docs/pt/authentication#authentication-precedence) Team ou Enterprise como credencial da sessão, a [guarda integrada](https://code.claude.com/docs/pt/plugins/mods/admin.md#know-what-happens-by-default) pode ignorar este hook em um mod que você instala ou carrega com `--plugin-dir`. Para verificar, procure no [log de depuração](https://code.claude.com/docs/pt/plugins/mods/troubleshoot.md#read-the-debug-log) por `settings.read bypassed by cc-plugin-sec-default`. Se uma linha com esse texto citar o seu mod, peça ao administrador da sua organização para [instalar o mod como um dos mods da organização](https://code.claude.com/docs/pt/plugins/mods/admin.md#install-your-organizations-mods).

326* **A versão**: o disparo do evento na leitura do próprio Claude Code, e o campo `e.layers`, requerem o Claude Code v2.1.304 ou posterior.332* **A versão**: o disparo do evento na leitura do próprio Claude Code, e o campo `e.layers`, requerem o Claude Code v2.1.304 ou posterior.


336 342 

337#### Distinguir a leitura do próprio Claude Code da leitura de um mod343#### Distinguir a leitura do próprio Claude Code da leitura de um mod

338 344 

339Na [leitura do próprio Claude Code](#settings-read-hook), [`next.origin`](https://code.claude.com/docs/pt/plugins/mods/reference#the-hook-function) é `{ plugin: 'engine', tier: 'core' }`, e na leitura de um mod `next.origin.plugin` é o nome do mod que fez a chamada.345Verifique [`next.origin`](https://code.claude.com/docs/pt/plugins/mods/reference#the-hook-function):

346 

347* **A leitura do próprio Claude Code**: `{ plugin: 'engine', tier: 'core' }`

348* **A leitura de um mod**: `plugin` é o nome do mod que fez a chamada

340 349 

341#### O que um hook `settings.read` pode retornar350#### O que um hook `settings.read` pode retornar

342 351 

343Seu hook pode retornar o resultado de [`next(e)`](https://code.claude.com/docs/pt/plugins/mods/reference#the-hook-function) sem alterações, um `{ value }` próprio ou `{ deny: reason }`. Na [leitura do próprio Claude Code](#settings-read-hook) e na leitura de um mod, um `{ value }` substitui o que a leitura fornece e `{ deny: reason }` recusa a leitura:352Retorne o resultado de [`next(e)`](#settings-read-next) sem alterações para deixar a leitura como está, ou retorne um destes:

344 353 

345| Retorno | Na leitura do próprio Claude Code | Na leitura de um mod |354| Retorno | Na [leitura do próprio Claude Code](#settings-read-hook) | Na leitura de um mod |

346| :- | :- | :- |355| :- | :- | :- |

347| `{ value }` | Para cada chave que você altera, o que você retorna substitui o valor inteiro dessa chave nas configurações mescladas da sessão, se [couber no esquema da chave](https://code.claude.com/docs/pt/plugins/mods/troubleshoot.md#settings-read-key-refused) | A chamada desse mod resolve para o seu `value`, ou para a `key` que ele solicitou extraída do seu `value`, então retorne um objeto inteiro e não um array |356| `{ value }` | Para cada chave alterada, você substitui o valor inteiro dela nas configurações mescladas da sessão, se o seu [couber no esquema da chave](https://code.claude.com/docs/pt/plugins/mods/troubleshoot.md#settings-read-key-refused) | A chamada desse mod resolve para o seu `value`, ou para a `key` que ele solicitou extraída do seu `value`, então retorne um objeto inteiro e não um array |

348| `{ deny: reason }` | A sessão mantém as configurações como estavam mescladas antes de qualquer hook responder, e o [log de depuração registra o seu `reason`](https://code.claude.com/docs/pt/plugins/mods/troubleshoot#settings-read-refused) | A chamada desse mod é rejeitada com `<calling mod>: $.settings.read: <reason>` |357| `{ deny: reason }` | A sessão mantém as configurações como estavam mescladas antes de qualquer hook responder, e o [log de depuração registra o seu `reason`](https://code.claude.com/docs/pt/plugins/mods/troubleshoot#settings-read-refused) | A chamada desse mod é rejeitada com `<calling mod>: $.settings.read: <reason>` |

349 358 

350Na leitura do próprio Claude Code, monte o seu `{ value }` a partir do [`value` de `next(e)`](#settings-read-next), já que uma chave que você omitir fica indefinida. Onde o Claude Code lê uma chave como `env` de cada fonte separadamente, alterá-la no seu `value` [não tem efeito](https://code.claude.com/docs/pt/plugins/mods/troubleshoot.md#settings-read-key-no-effect).359Na leitura do próprio Claude Code, monte o seu `{ value }` a partir do [`value` de `next(e)`](#settings-read-next), já que uma chave que você omitir fica indefinida. Onde o Claude Code lê uma chave como `env` de cada fonte separadamente, alterá-la no seu `value` [não tem efeito](https://code.claude.com/docs/pt/plugins/mods/troubleshoot.md#settings-read-key-no-effect).


373})382})

374```383```

375 384 

376Na leitura do próprio Claude Code, se o seu hook retornar um valor fora do esquema da chave, como uma string, apenas essa chave mantém o valor mesclado antes de qualquer hook responder. O log de depuração então informa [`the answer for <key> is no value the key can hold`](https://code.claude.com/docs/pt/plugins/mods/troubleshoot#settings-read-key-refused). Se o seu valor couber e a chave ainda assim não mudar, consulte [por que uma chave retornada não tem efeito](https://code.claude.com/docs/pt/plugins/mods/troubleshoot.md#settings-read-key-no-effect).385Na leitura do próprio Claude Code, se o seu hook retornar um valor fora do esquema da chave, como uma string, apenas essa chave mantém o valor mesclado antes de qualquer hook responder. O log de depuração então informa [`the answer for <key> is no value the key can hold`](https://code.claude.com/docs/pt/plugins/mods/troubleshoot#settings-read-key-refused). Se o seu valor couber e a chave ainda assim não mudar, consulte [por que uma chave não tem efeito](https://code.claude.com/docs/pt/plugins/mods/troubleshoot.md#settings-read-key-no-effect).

377 386 

378### Tratar os eventos de hooks de configuração387### Tratar os eventos de hooks de configuração

379 388 

Details

421Note: Type a note and press Enter421Note: Type a note and press Enter

422```422```

423 423 

424Adicione `rows` para permitir que o campo contenha várias linhas. Enter continua enviando, e uma barra invertida antes de Enter inicia uma nova linha, assim como Shift+Enter onde [o terminal oferece suporte](https://code.claude.com/docs/pt/terminal-config.md#enter-multiline-prompts). A galeria mostra [um campo com `rows`](https://code.claude.com/docs/pt/plugins/mods/gallery#input).424Defina `rows` como 2 ou mais para [um campo que contém várias linhas](https://code.claude.com/docs/pt/plugins/mods/gallery.md#input).

425 425 

426A [galeria de interface](https://code.claude.com/docs/pt/plugins/mods/gallery.md) tem exemplos e capturas de tela da maioria dos elementos. Esta tabela lista cada elemento:426A [galeria de interface](https://code.claude.com/docs/pt/plugins/mods/gallery.md) tem exemplos e capturas de tela da maioria dos elementos. Esta tabela lista cada elemento:

427 427 


546| Tecla | O que faz |546| Tecla | O que faz |

547| :- | :- |547| :- | :- |

548| Tab | Move para o próximo controle |548| Tab | Move para o próximo controle |

549| Para cima e Para baixo | Movem entre controles enquanto seu desenho cabe. Quando o painel ou faixa tem mais linhas do que pode mostrar, eles o rolam. Em um `Input`, eles primeiro [se movem entre as linhas do campo](https://code.claude.com/docs/pt/plugins/mods/gallery.md#input). |549| Para cima e Para baixo | Movem entre controles enquanto seu desenho cabe. Quando o painel ou faixa tem mais linhas do que pode mostrar, eles o rolam. Em um `Input` no terminal, eles [se movem entre as linhas do campo](https://code.claude.com/docs/pt/plugins/mods/gallery.md#input) e, a partir da primeira ou da última linha dele, movem para o controle anterior ou seguinte. |

550| Enter | Pressiona o `Button` focado, envia o `Input` focado ou escolhe em um `Select` |550| Enter | Pressiona o `Button` focado, envia o `Input` focado ou escolhe em um `Select` |

551| Atalho de teclado de um botão | Pressiona esse botão. Enquanto um `Input` tem o foco, cada tecla imprimível vai para o campo. |551| Atalho de teclado de um botão | Pressiona esse botão. Enquanto um `Input` tem o foco, cada tecla imprimível vai para o campo. |

552| Page Up, Page Down, Home e End | Rolam seu painel ou faixa quando ele tem mais linhas do que pode mostrar |552| Page Up, Page Down, Home e End | Rolam seu painel ou faixa quando ele tem mais linhas do que pode mostrar |

Details

110 110 

111### Comandos e configuração111### Comandos e configuração

112 112 

113Eventos de comando e de configuração são disparados quando um comando é executado ou listado, quando uma linha de `/config` é exibida ou alterada, e em uma leitura de configurações:

114 

115| Evento | Dispara quando | Um hook pode retornar |113| Evento | Dispara quando | Um hook pode retornar |

116| :- | :- | :- |114| :- | :- | :- |

117| [`command.run`](https://code.claude.com/docs/pt/plugins/mods/api#add-a-command) | Um comando está prestes a ser executado | `{ text }`, `{}` ou `next(e)` |115| [`command.run`](https://code.claude.com/docs/pt/plugins/mods/api#add-a-command) | Um comando está prestes a ser executado | `{ text }`, `{}` ou `next(e)` |

118| `command.describe` | Uma vez para cada comando, para a lista de comandos | `{ description, argumentHint, isHidden }` |116| `command.describe` | Uma vez para cada comando, para a lista de comandos | `{ description, argumentHint, isHidden }` |

119| `config.set` | Uma linha de `/config` está prestes a mudar | `next({ ...e, value })` ou `{ deny: reason }` |117| `config.set` | Uma linha de `/config` está prestes a mudar | `next({ ...e, value })` ou `{ deny: reason }` |

120| `config.describe` | Uma vez para cada linha de `/config` | `{ label, description, isHidden }` |118| `config.describe` | Uma vez para cada linha de `/config` | `{ label, description, isHidden }` |

121| [`settings.read`](https://code.claude.com/docs/pt/plugins/mods/events#settings-read-hook) | Um mod chama [`$.settings.read`](https://code.claude.com/docs/pt/plugins/mods/api#reach-files-processes-and-the-network), ou o Claude Code monta as configurações mescladas da sessão | `next(e)`, `{ value }` ou `{ deny: reason }` |119| [`settings.read`](https://code.claude.com/docs/pt/plugins/mods/events#settings-read-hook) | Um mod chama [`$.settings.read`](https://code.claude.com/docs/pt/plugins/mods/api#reach-files-processes-and-the-network), ou o Claude Code monta as configurações mescladas da sessão. Requer o Claude Code v2.1.304 ou posterior na leitura do próprio Claude Code e para `e.layers` | `next(e)`, `{ value }` ou `{ deny: reason }` |

122 120 

123#### `e.layers` e `e.source` em `settings.read`121#### `e.layers` e `e.source` em `settings.read`

124 122 

125* **`e.layers`**: um objeto `{ source, settings }` para cada origem em uso que contém configurações, da menor [precedência](https://code.claude.com/docs/pt/settings.md#settings-precedence) para a maior. Consulte [O que um hook `settings.read` recebe](https://code.claude.com/docs/pt/plugins/mods/events#settings-read-receives).123* **`e.layers`**: um objeto `{ source, settings }` para cada origem em uso que contém configurações, da menor [precedência](https://code.claude.com/docs/pt/settings.md#settings-precedence) para a maior. Consulte [O que um hook `settings.read` recebe](https://code.claude.com/docs/pt/plugins/mods/events#settings-read-receives).

126* **`e.source`**: a única origem que um mod solicitou, como em `$.settings.read({ source: 'policy' })`. Ausente na leitura do próprio Claude Code e em qualquer outra leitura das configurações mescladas124* **`e.source`**: a única origem que um mod solicitou, como em `$.settings.read({ source: 'policy' })`. Ausente na leitura do próprio Claude Code e em uma leitura das configurações mescladas

127 

128Em `settings.read`, o disparo do evento na leitura do próprio Claude Code e o campo `e.layers` exigem o Claude Code v2.1.304 ou posterior. Para saber quando o hook é executado e o que ele pode retornar, com um exemplo, consulte [Alterar ou recusar uma leitura de configurações](https://code.claude.com/docs/pt/plugins/mods/events.md#settings-read-hook).

129 125 

130### Turnos126### Turnos

131 127 


271| :- | :- | :-: | :-: | :-: |267| :- | :- | :-: | :-: | :-: |

272| [`Box`](https://code.claude.com/docs/pt/plugins/mods/interface#build-a-tree-from-elements) | `key`, layout flex, [`gap`, `padding`, `margin`](#box-spacing-steps), `width`, `height`, `minWidth`, `minHeight`, [`borderStyle`](#box-border-styles), `borderColor`, `borderDimColor`, `backgroundColor`, `position`, `top`, `left`, `right`, `bottom`, `overflow`, `display`, `hover` | ✓ | ✓ | ✓ |268| [`Box`](https://code.claude.com/docs/pt/plugins/mods/interface#build-a-tree-from-elements) | `key`, layout flex, [`gap`, `padding`, `margin`](#box-spacing-steps), `width`, `height`, `minWidth`, `minHeight`, [`borderStyle`](#box-border-styles), `borderColor`, `borderDimColor`, `backgroundColor`, `position`, `top`, `left`, `right`, `bottom`, `overflow`, `display`, `hover` | ✓ | ✓ | ✓ |

273| [`Text`](https://code.claude.com/docs/pt/plugins/mods/interface#build-a-tree-from-elements) | `color`, `backgroundColor`, [`bold`](#text-bold), `italic`, `underline`, `strikethrough`, `dimColor`, `inverse`, `wrap`, [`size`, `weight`, `mono`, `tabular`](#text-typography), `hover` | ✓ | ✓ | ✓ |269| [`Text`](https://code.claude.com/docs/pt/plugins/mods/interface#build-a-tree-from-elements) | `color`, `backgroundColor`, [`bold`](#text-bold), `italic`, `underline`, `strikethrough`, `dimColor`, `inverse`, `wrap`, [`size`, `weight`, `mono`, `tabular`](#text-typography), `hover` | ✓ | ✓ | ✓ |

274| [`Button`](https://code.claude.com/docs/pt/plugins/mods/interface#respond-to-presses-and-typing) | `key`, `label`, `onPress`, `hotkey`, `plain`, `dimColor`, `autoFocus`, `action`, `hover` | ✓ | ✓ | ✓ |270| [`Button`](https://code.claude.com/docs/pt/plugins/mods/interface#respond-to-presses-and-typing) | `key`, `label`, `children`, `onPress`, `hotkey`, `plain`, `dimColor`, `autoFocus`, `action`, `variant`, `role`, `hover` | ✓ | ✓ | ✓ |

275| [`Link`](https://code.claude.com/docs/pt/plugins/mods/interface#link-in-the-desktop-app) | `href`, `label`. Consulte [Limites](#limits). | ✓ | ✓ | ✓ |271| [`Link`](https://code.claude.com/docs/pt/plugins/mods/interface#link-in-the-desktop-app) | `href`, `label`. Consulte [Limites](#limits). | ✓ | ✓ | ✓ |

276| [`Code`](https://code.claude.com/docs/pt/plugins/mods/gallery#show-code-and-changes) | `source`, `language`, `path`, `startLine`, `format`, `wrap` | ✓ | ✓ | ✓ |272| [`Code`](https://code.claude.com/docs/pt/plugins/mods/gallery#show-code-and-changes) | `source`, `language`, `path`, `startLine`, `format`, `wrap` | ✓ | ✓ | ✓ |

277| `Markdown` | `text`, `key`, `dimColor`, `onLinkPress`, `pressableLinks` | ✓ | ✓ | ✓ |273| `Markdown` | `text`, `key`, `dimColor`, `onLinkPress`, `pressableLinks` | ✓ | ✓ | ✓ |


288* **Hotkeys numéricos na faixa**: um `hotkey` numérico em um botão na faixa também é acionado quando o usuário digita apenas esse dígito em um prompt vazio e faz uma pausa284* **Hotkeys numéricos na faixa**: um `hotkey` numérico em um botão na faixa também é acionado quando o usuário digita apenas esse dígito em um prompt vazio e faz uma pausa

289* **Uma faixa recolhida**: enquanto a faixa está [recolhida](https://code.claude.com/docs/pt/plugins/mods/interface.md#when-the-user-collapses-the-band), nem um atalho de `action` nem um hotkey pressiona um botão nela285* **Uma faixa recolhida**: enquanto a faixa está [recolhida](https://code.claude.com/docs/pt/plugins/mods/interface.md#when-the-user-collapses-the-band), nem um atalho de `action` nem um hotkey pressiona um botão nela

290* **Dois botões com o mesmo hotkey**: quando dois botões em um mesmo desenho indicam o mesmo `hotkey`, o posterior fica com ele286* **Dois botões com o mesmo hotkey**: quando dois botões em um mesmo desenho indicam o mesmo `hotkey`, o posterior fica com ele

287* **`variant`**: `primary` ou `secondary`, e qualquer outro valor lança um erro. No terminal, um botão `primary` é desenhado na cor de destaque, a menos que seja `plain`.

288* **`role`**: `dismiss` marca um botão de fechar, e qualquer outro valor lança um erro. Faça o fechamento no seu `onPress`. Em uma faixa que contém texto e uma fileira de botões, o aplicativo Desktop pode desenhar o primeiro botão `dismiss` da fileira como seu próprio controle de fechar. O terminal desenha o botão como faria sem `role`.

289 

290Um `Button` pode conter `children` no lugar de um `label`:

291 

292* **O que os children podem ser**: strings e elementos `Text`, como um nome seguido de um detalhe esmaecido ou um chip colorido. O Claude Code recusa qualquer outro elemento dentro de um `Button`.

293* **Nomear o botão**: o `label` nomeia o botão e, por padrão, é o texto de seus children. Dê um `key` ou um `label` a um botão com children que não sejam uma única string.

294* **No terminal**: os children são desenhados onde o label estaria, e um clique em qualquer ponto deles conta como um único pressionamento, então você pode transformar cada linha de uma lista em um único botão

295* **No aplicativo Desktop e na extensão do VS Code**: o botão desenha seu `label`

296 

297> [!NOTE]

298>

299> Um `Button` com children que não sejam uma única string exige o Claude Code v2.1.295 ou posterior.

291 300 

292`autoFocus` aceita apenas `true` em qualquer controle, então omita a prop para deixá-lo desativado.301`autoFocus` aceita apenas `true` em qualquer controle, então omita a prop para deixá-lo desativado.

293 302 


295 304 

296* **`Box`**: `position` com seus `top`, `left`, `right` e `bottom`, `alignSelf`, `borderDimColor` e `hover`305* **`Box`**: `position` com seus `top`, `left`, `right` e `bottom`, `alignSelf`, `borderDimColor` e `hover`

297* **`Text`**: `size`, `mono`, `tabular` e `hover`306* **`Text`**: `size`, `mono`, `tabular` e `hover`

298* **`Button`**: `hotkey`, `plain`, `autoFocus`, `action` e `hover`, então o usuário pressiona um botão ali com um clique, ou com Enter quando ele estiver com o foco307* **`Button`**: `hotkey`, `plain`, `autoFocus`, `action` e `hover`, então o usuário pressiona um botão ali com um clique, ou com Enter quando ele estiver com o foco. A extensão também ignora `variant` e `role`.

299* **`Code`**: `language`, `path`, `startLine`, `format` e `wrap`, então o código é desenhado sem cores nem números de linha, e um bloco `format: 'diff'` mostra o texto bruto do diff308* **`Code`**: `language`, `path`, `startLine`, `format` e `wrap`, então o código é desenhado sem cores nem números de linha, e um bloco `format: 'diff'` mostra o texto bruto do diff

300* **`Input` e `Select`**: `autoFocus`309* **`Input` e `Select`**: `autoFocus`, e `rows` em um `Input`

301* **`Svg`**: `isInteractive`310* **`Svg`**: `isInteractive`

302 311 

303### Estilos de borda de `Box`312### Estilos de borda de `Box`


364| O tempo de execução de um manipulador `.catch` | 1 segundo |373| O tempo de execução de um manipulador `.catch` | 1 segundo |

365| Todos os hooks `session.end` juntos | O mesmo que o [orçamento do hook SessionEnd](https://code.claude.com/docs/pt/hooks.md#sessionend-input), 1,5 segundo a menos que você o altere, contado a partir do momento em que os hooks `SessionEnd` das suas configurações terminam |374| Todos os hooks `session.end` juntos | O mesmo que o [orçamento do hook SessionEnd](https://code.claude.com/docs/pt/hooks.md#sessionend-input), 1,5 segundo a menos que você o altere, contado a partir do momento em que os hooks `SessionEnd` das suas configurações terminam |

366| Timeout de `$.process.run` | 30 segundos por padrão, no máximo 10 minutos |375| Timeout de `$.process.run` | 30 segundos por padrão, no máximo 10 minutos |

376| `stdout` e `stderr` de `$.process.run` | 4 MiB cada. `isStdoutTruncated` ou `isStderrTruncated` é `true` quando um deles foi cortado. |

367| `maxTokens` de `$.model.complete` | 1024 por padrão, até 64.000 ou o limite de saída do modelo |377| `maxTokens` de `$.model.complete` | 1024 por padrão, até 64.000 ou o limite de saída do modelo |

368| `$.fs.read` e `$.fs.write` | 4 MiB para um arquivo |378| `$.fs.read` e `$.fs.write` | 4 MiB para um arquivo |

369| O corpo de uma requisição de `$.http.fetch` | 4 MiB, contados em caracteres. Uma chamada com um corpo maior é rejeitada. |379| O corpo de uma requisição de `$.http.fetch` | 4 MiB, contados em caracteres. Uma chamada com um corpo maior é rejeitada. |


381| `$.store` | 4 MiB de JSON no total |391| `$.store` | 4 MiB de JSON no total |

382| `$.session.messages()` | As 4.096 entradas mais recentes |392| `$.session.messages()` | As 4.096 entradas mais recentes |

383| 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. |393| 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. |

384| `$.ui.toast` | Exibido por 4 segundos, a menos que você passe `{ timeoutMs }` |394| `$.ui.toast` | Exibido por 4 segundos, a menos que você passe `{ timeoutMs }`. No [renderizador clássico](https://code.claude.com/docs/pt/fullscreen.md#enable-fullscreen-rendering), um toast mais recente de um mod pode [tomar o lugar do mais antigo](https://code.claude.com/docs/pt/plugins/mods/troubleshoot.md#a-toast-doesn’t-appear) que está sendo exibido ou aguardando para ser exibido. |

385| 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 |395| 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 |

396| Profundidade de aninhamento dos argumentos de uma chamada à API de mods | 28.000 níveis. Além disso, a chamada é rejeitada com uma mensagem que termina em `nesting deeper than 28000 levels is not supported`. Requer o Claude Code v2.1.299 ou posterior. |

397| Profundidade de aninhamento de um evento alterado passado para `next`, fora de [hooks de gerador assíncrono](#events) como um em `turn.step` | 28.000 níveis. Além disso, `next` é rejeitado com uma mensagem que termina em `nesting deeper than 28000 levels is not supported`. Requer o Claude Code v2.1.299 ou posterior. |

398| Profundidade de aninhamento do valor de retorno de um hook, fora de `ui.render`, `ui.resolve` e hooks de gerador assíncrono | 28.000 níveis. Além disso, o resultado do hook é recusado, e [o aviso que o relata](https://code.claude.com/docs/pt/plugins/mods/troubleshoot.md#find-out-why-a-mod-does-nothing) inclui `nesting deeper than 28000 levels is not supported`. Requer o Claude Code v2.1.299 ou posterior. |

386| Escopos, como funções, blocos e loops, aninhados uns dentro dos outros em um arquivo de um módulo de hooks | 2.000 |399| Escopos, como funções, blocos e loops, aninhados uns dentro dos outros em um arquivo de um módulo de hooks | 2.000 |

387| Nomes de comandos, ferramentas, tipos de subagente e painéis | Letras, dígitos, `_` e `-`, até 64 caracteres |400| Nomes de comandos, ferramentas, tipos de subagente e painéis | Letras, dígitos, `_` e `-`, até 64 caracteres |

388| Um teste do `claude plugin test` | 5 segundos, a menos que o teste defina `timeoutMs` |401| Um teste do `claude plugin test` | 5 segundos, a menos que o teste defina `timeoutMs` |

Details

341 341 

342### Uma chave que seu hook `settings.read` retorna não entra em vigor342### Uma chave que seu hook `settings.read` retorna não entra em vigor

343 343 

344As entradas `env` retornadas não se tornam variáveis de ambiente. As regras `allow`, `ask` e `deny` retornadas não são verificadas nas chamadas de ferramenta. Defina-as em um [arquivo de configurações](https://code.claude.com/docs/pt/settings.md) ou chame [`$.env.set`](https://code.claude.com/docs/pt/plugins/mods/api#reach-files-processes-and-the-network) para variáveis de ambiente.344Se você retornar regras de permissão ou `env` na [leitura do próprio Claude Code](https://code.claude.com/docs/pt/plugins/mods/events.md#settings-read-hook), as regras não são verificadas nas chamadas de ferramenta e as entradas `env` não se tornam variáveis de ambiente. Use um [arquivo de configurações](https://code.claude.com/docs/pt/settings.md) para ambos, ou [`$.env.set`](https://code.claude.com/docs/pt/plugins/mods/api#reach-files-processes-and-the-network) para `env`.

345 345 

346Para outra chave, verifique [quais mods recebem `settings.read` e a partir de qual versão](https://code.claude.com/docs/pt/plugins/mods/events#settings-read-hook), depois pesquise `settings.read` no [log de depuração](#read-the-debug-log) e procure uma destas linhas:346Para outra chave, verifique [quais mods recebem `settings.read` e a partir de qual versão](https://code.claude.com/docs/pt/plugins/mods/events#settings-read-hook), depois pesquise `settings.read` no [log de depuração](#read-the-debug-log) e procure uma destas linhas:

347 347 


349| :- | :- |349| :- | :- |

350| `settings.read hook skipped`, após o nome do seu mod | Seu hook falhou. [Corrija o erro que a linha informa](#hook-skipped). |350| `settings.read hook skipped`, após o nome do seu mod | Seu hook falhou. [Corrija o erro que a linha informa](#hook-skipped). |

351| `settings.read bypassed by cc-plugin-sec-default`, em uma linha que nomeia seu mod antes dela | A [guarda integrada](https://code.claude.com/docs/pt/plugins/mods/admin.md#know-what-happens-by-default) ignorou seu hook. Peça ao administrador da sua organização para [instalar o mod como um dos mods da organização](https://code.claude.com/docs/pt/plugins/mods/admin.md#install-your-organizations-mods). |351| `settings.read bypassed by cc-plugin-sec-default`, em uma linha que nomeia seu mod antes dela | A [guarda integrada](https://code.claude.com/docs/pt/plugins/mods/admin.md#know-what-happens-by-default) ignorou seu hook. Peça ao administrador da sua organização para [instalar o mod como um dos mods da organização](https://code.claude.com/docs/pt/plugins/mods/admin.md#install-your-organizations-mods). |

352| `settings.read: the answer for <key> is no value the key can hold` | O valor retornado não se ajusta ao esquema da chave. [Retorne um que ele permita](#settings-read-key-refused). |352| `settings.read: the answer for <key> is no value the key can hold` | Claude Code recusou o valor que um hook retornou para essa chave. O hook pode ser seu ou de outro mod. Siga [a etapa para o seu caso](#settings-read-key-refused). |

353| `settings.read: the merge never settles for <key>` | As chaves que a linha nomeia mantêm os valores das fontes de configurações. Defina-as em um arquivo de configurações. |353| `settings.read: the merge never settles for <key>` | As chaves que a linha nomeia mantêm os valores das fontes de configurações. Defina-as em um arquivo de configurações. |

354| `answered settings.read without next()`, após o nome de um mod | Relevante apenas se esse mod [executar antes do seu](https://code.claude.com/docs/pt/plugins/mods/events.md#the-order-mods-run-in). Nesse caso, seu hook não executou naquela leitura. [Desative esse mod](https://code.claude.com/docs/pt/plugins/mods/overview.md#turn-mods-on-or-off) ou, se sua organização o implantou, peça ao administrador dela que o faça. |354| `answered settings.read without next()`, após o nome de um mod | Seu hook é afetado se o mod nomeado [executar antes do seu](https://code.claude.com/docs/pt/plugins/mods/events.md#the-order-mods-run-in). Nesse caso, seu hook não executou naquela leitura. [Desative esse mod](https://code.claude.com/docs/pt/plugins/mods/overview.md#turn-mods-on-or-off) ou, se sua organização o implantou, peça ao administrador dela que o faça. |

355| `settings.read: refused to the engine` | A leitura foi recusada, então o `{ value }` de nenhum hook foi aplicado. [Descubra o que a recusou](#settings-read-refused). |355| `settings.read: refused to the engine` | Seu valor não foi aplicado porque a leitura do próprio Claude Code foi recusada. [Descubra o que a recusou](#settings-read-refused). |

356 356 

357Se nenhuma linha explicar a chave, verifique nos mods que executam antes do seu se há um hook `settings.read` que [altera a chave](https://code.claude.com/docs/pt/plugins/mods/events.md#settings-read-example). Desative esse mod ou peça ao administrador da sua organização que o faça. Se nenhum hook a alterar, defina a chave em um arquivo de configurações.357Se nenhuma linha explicar a chave, verifique nos mods que executam antes do seu se há um hook `settings.read` que [altera a chave](https://code.claude.com/docs/pt/plugins/mods/events.md#settings-read-example). Desative esse mod ou peça ao administrador da sua organização que o faça. Se nenhum hook a alterar, defina a chave em um arquivo de configurações.

358 358 

359### `the answer for <key> is no value the key can hold`359### `the answer for <key> is no value the key can hold`

360 360 

361Esta linha do [log de depuração](#read-the-debug-log) significa que Claude Code recusou o valor que seu hook [`settings.read`](https://code.claude.com/docs/pt/plugins/mods/events#settings-read-hook) retornou para a chave nomeada, e somente para essa chave:361Esta linha do [log de depuração](#read-the-debug-log) significa que Claude Code recusou o valor que um hook [`settings.read`](https://code.claude.com/docs/pt/plugins/mods/events#settings-read-hook) retornou para a chave nomeada, e somente para essa chave:

362 362 

363```text theme={null}363```text theme={null}

364settings.read: the answer for <key> is no value the key can hold; the settings' own value stands364settings.read: the answer for <key> is no value the key can hold; the settings' own value stands

365```365```

366 366 

367O valor que você retornou para a chave nomeada não se ajustou ao esquema dessa chave, por exemplo, por tipo ou por intervalo. Retorne um valor que a entrada da chave na [referência de configurações](https://code.claude.com/docs/pt/settings-reference.md) permita. Enquanto seu valor não se ajustar, a chave mantém o valor mesclado das fontes de configurações antes de qualquer hook responder. A linha o chama de valor próprio das configurações.367O valor retornado para a chave nomeada não se ajustou ao esquema dessa chave, por exemplo, por tipo ou por intervalo.

368 

369* **Seu valor não se ajusta ao esquema da chave**: retorne um que a entrada da chave na [referência de configurações](https://code.claude.com/docs/pt/settings-reference.md) permita.

370* **Seu valor se ajusta**: o valor que não se ajusta veio do hook `settings.read` de outro mod. Para encontrar esse mod, siga [as etapas para desativar os mods um de cada vez](#settings-read-refused). Pesquise esta linha em cada novo log em vez de `refused to the engine`.

371 

372Enquanto o valor não se ajustar, a chave mantém o valor mesclado das fontes de configurações antes de qualquer hook responder. A linha o chama de valor próprio das configurações.

368 373 

369### `settings.read: refused to the engine`374### `settings.read: refused to the engine`

370 375 

371Esta linha do [log de depuração](#read-the-debug-log) significa que [a leitura do próprio Claude Code](https://code.claude.com/docs/pt/plugins/mods/events.md#settings-read-hook) foi recusada, então o `{ value }` de nenhum hook foi aplicado, incluindo o seu. Quando um hook `settings.read` recusa essa leitura com [`{ deny: reason }`](https://code.claude.com/docs/pt/plugins/mods/events#settings-read-returns), a linha traz o motivo desse hook:376Você vê esta linha no [log de depuração](#read-the-debug-log) quando [a leitura do próprio Claude Code](https://code.claude.com/docs/pt/plugins/mods/events.md#settings-read-hook) é recusada, e Claude Code descarta o valor de todos os hooks. Quando um hook `settings.read` recusa essa leitura com [`{ deny: reason }`](https://code.claude.com/docs/pt/plugins/mods/events#settings-read-returns), a linha traz o motivo desse hook:

372 377 

373```text theme={null}378```text theme={null}

374settings.read: refused to the engine (engine: $.settings.read: <reason>); the settings' own values stand379settings.read: refused to the engine (engine: $.settings.read: <reason>); the settings' own values stand

375```380```

376 381 

377Pesquise o texto `<reason>` no código do seu próprio hook:382Pesquise no seu código o motivo entre parênteses:

378 383 

379* **Seu código o contém**: seu hook recusou a leitura. Faça-o retornar `{ value }` quando [`next.origin`](https://code.claude.com/docs/pt/plugins/mods/events#settings-read-origin) indicar a leitura do próprio Claude Code.384* **Seu código o contém**: seu hook recusou a leitura. Faça-o retornar `{ value }` quando [`next.origin`](https://code.claude.com/docs/pt/plugins/mods/events#settings-read-origin) indicar a leitura do próprio Claude Code.

380* **Seu código não o contém**: [desative](https://code.claude.com/docs/pt/plugins/mods/overview.md#turn-mods-on-or-off) seus outros mods um de cada vez. Após cada um, execute novamente o comando desta sessão a partir do seu shell com um `--debug-file` em um novo caminho e pesquise `refused to the engine` nesse arquivo. Se a linha estiver lá, desative o próximo mod. Se não estiver, o último mod que você desativou recusou a leitura, então mantenha-o desativado.385* **Seu código não o contém**: [desative](https://code.claude.com/docs/pt/plugins/mods/overview.md#turn-mods-on-or-off) seus outros mods um de cada vez. Se sua organização implantou um mod, peça ao administrador dela que o desative. Após cada um:

386 1. Inicie a sessão a partir do seu shell com `claude --debug-file ./settings-read-2.log`, seguido das flags com que ela foi iniciada. Use um novo caminho a cada vez.

387 2. Pesquise `refused to the engine` nesse arquivo. Se a linha estiver lá, desative o próximo mod. Se não estiver, o último mod que você desativou recusou a leitura, então mantenha-o desativado.

381 388 

382Sem nenhum outro mod restante, use um [arquivo de configurações](https://code.claude.com/docs/pt/settings.md) para as chaves que seu hook retorna. Os valores dele se mantêm enquanto a leitura é recusada.389Se a linha permanecer sem nenhum outro mod restante, defina as chaves que seu hook retorna em um [arquivo de configurações](https://code.claude.com/docs/pt/settings.md). Os valores dele se mantêm enquanto a leitura é recusada.

383 390 

384## Leia o log de depuração391## Leia o log de depuração

385 392 

Details

192A extensão VS Code e o aplicativo Desktop também têm um alternador de conexão automática:192A extensão VS Code e o aplicativo Desktop também têm um alternador de conexão automática:

193 193 

194* **Extensão VS Code**: **Enable Remote Control for all sessions** na seção Settings do [menu de comandos](https://code.claude.com/docs/pt/vs-code.md#use-the-prompt-box).194* **Extensão VS Code**: **Enable Remote Control for all sessions** na seção Settings do [menu de comandos](https://code.claude.com/docs/pt/vs-code.md#use-the-prompt-box).

195* **Aplicativo Desktop**: **Settings > Claude Code > Connect new sessions to Remote Control**. Consulte [Controlar quais sessões aparecem em seus outros dispositivos](https://code.claude.com/docs/pt/desktop.md#control-which-sessions-appear-on-your-other-devices).195* **Aplicativo Desktop**: **Connect new sessions to Remote Control** em **Settings > Code** ou **Settings > Claude Code**. Consulte [Controlar quais sessões aparecem em seus outros dispositivos](https://code.claude.com/docs/pt/desktop.md#control-which-sessions-appear-on-your-other-devices).

196 196 

197Para ativar a conexão automática a partir de um arquivo de configurações, defina [`remoteControlAtStartup`](https://code.claude.com/docs/pt/settings-reference#remotecontrolatstartup) como `true` em seu `~/.claude/settings.json` de usuário ou em [configurações gerenciadas](https://code.claude.com/docs/pt/managed-settings.md). Em configurações de projeto ou local (`.claude/settings.json`, `.claude/settings.local.json`), Claude Code honra um `false` e desativa a conexão automática para esse repositório, mas ignora um `true`, para que um arquivo verificado não possa ativar Remote Control para todos que abrem o repositório.197Para ativar a conexão automática a partir de um arquivo de configurações, defina [`remoteControlAtStartup`](https://code.claude.com/docs/pt/settings-reference#remotecontrolatstartup) como `true` em seu `~/.claude/settings.json` de usuário ou em [configurações gerenciadas](https://code.claude.com/docs/pt/managed-settings.md). Em configurações de projeto ou local (`.claude/settings.json`, `.claude/settings.local.json`), Claude Code honra um `false` e desativa a conexão automática para esse repositório, mas ignora um `true`, para que um arquivo verificado não possa ativar Remote Control para todos que abrem o repositório.

198 198 


363 * 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.363 * 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.

364 * `/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.364 * `/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.

365 * `/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](https://code.claude.com/docs/pt/mcp.md#use-mcp-servers-from-claude-ai) em vez de retornar o resumo. Os [subcomandos](https://code.claude.com/docs/pt/commands.md#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).365 * `/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](https://code.claude.com/docs/pt/mcp.md#use-mcp-servers-from-claude-ai) em vez de retornar o resumo. Os [subcomandos](https://code.claude.com/docs/pt/commands.md#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).

366 * `/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 em vez disso.366 * `/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 **Settings > Code** ou **Settings > Claude Code** em vez disso.

367 * 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](https://code.claude.com/docs/pt/costs.md#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á.367 * 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](https://code.claude.com/docs/pt/costs.md#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á.

368 * `/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.368 * `/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.

369 * `/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.369 * `/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.

routines.md +9 −5

Details

77 77 

78**2. Nomear a tarefa e escrever o prompt**78**2. Nomear a tarefa e escrever o prompt**

79 79 

80Dê à tarefa agendada um nome descritivo e escreva o prompt que Claude executa a cada vez. O prompt é a parte mais importante: a tarefa é executada autonomamente, portanto o prompt deve ser autossuficiente e explícito sobre o que fazer e como é o sucesso. Selecione um modelo no seletor de modelo da entrada do prompt. Claude o usa em cada execução.80Dê à tarefa agendada um nome descritivo e escreva o prompt que Claude executa a cada vez. O prompt é a parte mais importante: a tarefa é executada autonomamente, portanto o prompt deve ser autossuficiente e explícito sobre o que fazer e como é o sucesso.

81 81 

82Quando um acionador dispara, a sessão recebe o prompt salvo como sua tarefa atribuída e a executa, em vez de tratá-lo como conteúdo não confiável que chegou no meio da conversa. O acionador atesta apenas que o prompt foi armazenado antecipadamente por uma sessão autorizada na sua conta. Portanto, o prompt disparado não é entrada de usuário ao vivo e não pode servir como aprovação ou consentimento para ações durante a execução. O conteúdo que a sessão busca durante a execução mantém seu tratamento normal.82Quando um acionador dispara, a sessão recebe o prompt salvo como sua tarefa atribuída e a executa, em vez de tratá-lo como conteúdo não confiável que chegou no meio da conversa. O acionador atesta apenas que o prompt foi armazenado antecipadamente por uma sessão autorizada na sua conta. Portanto, o prompt disparado não é entrada de usuário ao vivo e não pode servir como aprovação ou consentimento para ações durante a execução. O conteúdo que a sessão busca durante a execução mantém seu tratamento normal.

83 83 


115 115 

116Se sua tarefa precisar alcançar seus próprios serviços diretamente, ou um domínio fora dessa lista, edite o [acesso à rede](https://code.claude.com/docs/pt/cloud-environments.md#network-access) do ambiente antes de executar. Para usar um ambiente separado, [crie um](https://code.claude.com/docs/pt/cloud-environments.md#configure-your-environment) primeiro.116Se sua tarefa precisar alcançar seus próprios serviços diretamente, ou um domínio fora dessa lista, edite o [acesso à rede](https://code.claude.com/docs/pt/cloud-environments.md#network-access) do ambiente antes de executar. Para usar um ambiente separado, [crie um](https://code.claude.com/docs/pt/cloud-environments.md#configure-your-environment) primeiro.

117 117 

118**6. Revisar conectores**118**6. Selecionar um modelo e um nível de esforço**

119 

120Selecione um modelo no seletor de modelo da entrada do prompt para Claude usar em cada execução. Para uma tarefa do Claude Code, se o modelo oferecer [níveis de esforço](https://code.claude.com/docs/pt/model-config.md#adjust-effort-level), **Effort** no mesmo seletor mostra o nível atual. Para alterá-lo, selecione outro nível. A opção **Default** do seletor não oferece níveis.

121 

122**7. Revisar conectores**

119 123 

120Mude para a aba **Connectors** de **Advanced settings**. Todos os seus [conectores MCP](https://code.claude.com/docs/pt/mcp.md) conectados são incluídos por padrão. Remova qualquer um de que a tarefa não precise: Claude pode usar um conector incluído durante uma execução, incluindo escritas. Para saber quando uma execução para e pergunta a você primeiro, consulte [Prompts de permissão durante uma execução](#permission-prompts-during-a-run).124Mude para a aba **Connectors** de **Advanced settings**. Todos os seus [conectores MCP](https://code.claude.com/docs/pt/mcp.md) conectados são incluídos por padrão. Remova qualquer um de que a tarefa não precise: Claude pode usar um conector incluído durante uma execução, incluindo escritas. Para saber quando uma execução para e pergunta a você primeiro, consulte [Prompts de permissão durante uma execução](#permission-prompts-during-a-run).

121 125 

122**7. Criar a tarefa**126**8. Criar a tarefa**

123 127 

124Clique em **Create**. A caixa de diálogo é fechada e a página de detalhes da nova tarefa é aberta. A tarefa é executada na próxima vez que um de seus acionadores corresponder. Para iniciar uma execução imediatamente, clique em **Run now** na página de detalhes.128Clique em **Create**. A caixa de diálogo é fechada e a página de detalhes da nova tarefa é aberta. A tarefa é executada na próxima vez que um de seus acionadores corresponder. Para iniciar uma execução imediatamente, clique em **Run now** na página de detalhes.

125 129 


136No aplicativo Desktop, se um menu com **Local** e **Cloud** abrir, selecione **Cloud**. Uma página intitulada **New routine** ou **New scheduled task** é aberta. Preencha seus campos:140No aplicativo Desktop, se um menu com **Local** e **Cloud** abrir, selecione **Cloud**. Uma página intitulada **New routine** ou **New scheduled task** é aberta. Preencha seus campos:

137 141 

138* **Name**: insira um nome.142* **Name**: insira um nome.

139* **Instructions**: insira o prompt. Na mesma caixa, selecione o modelo, os repositórios e o ambiente. Para saber o que cada um controla, consulte as etapas em [Criar a partir da web](#create-from-the-web).143* **Instructions**: insira o prompt. Na mesma caixa, selecione o modelo, o nível de esforço se o modelo oferecer um, os repositórios e o ambiente. Para saber o que cada um controla, consulte as etapas em [Criar a partir da web](#create-from-the-web).

140* **Select a trigger**: selecione **Schedule**, **GitHub event** ou **API**. Para um cronograma, consulte [Adicionar um acionador de cronograma](#add-a-schedule-trigger). Para um [evento do GitHub](#add-a-github-trigger), selecione um repositório. Para um [acionador de API](#add-an-api-trigger), copie o token da caixa de diálogo **API token** que abre depois que você clica em **Create**, porque ele é mostrado uma única vez. Para combinar vários acionadores, clique em **Add another trigger**.144* **Select a trigger**: selecione **Schedule**, **GitHub event** ou **API**. Para um cronograma, consulte [Adicionar um acionador de cronograma](#add-a-schedule-trigger). Para um [evento do GitHub](#add-a-github-trigger), selecione um repositório. Para um [acionador de API](#add-an-api-trigger), copie o token da caixa de diálogo **API token** que abre depois que você clica em **Create**, porque ele é mostrado uma única vez. Para combinar vários acionadores, clique em **Add another trigger**.

141* **Connectors**: todos os seus conectores conectados são incluídos por padrão, portanto remova aqueles de que a tarefa não precisa.145* **Connectors**: todos os seus conectores conectados são incluídos por padrão, portanto remova aqueles de que a tarefa não precisa.

142 146 


153* **Acionador de API**: edite a tarefa na web em [claude.ai/code/routines](https://claude.ai/code/routines)157* **Acionador de API**: edite a tarefa na web em [claude.ai/code/routines](https://claude.ai/code/routines)

154* **[Acionador do GitHub](#add-a-github-trigger)**: edite a tarefa na web ou peça ao Claude na CLI. Adicionar um a partir da CLI requer Claude Code v2.1.225 ou posterior158* **[Acionador do GitHub](#add-a-github-trigger)**: edite a tarefa na web ou peça ao Claude na CLI. Adicionar um a partir da CLI requer Claude Code v2.1.225 ou posterior

155 159 

156Uma tarefa agendada sem acionador de cronograma, como uma iniciada apenas por chamadas de API ou eventos do GitHub, não tem próximo horário de execução. A CLI não mostra nenhum quando Claude a salva ou atualiza. Antes da v2.1.211, a CLI relatava um próximo horário de execução no ano 1 para essas tarefas.160Uma tarefa agendada sem acionador de cronograma, como uma iniciada apenas por chamadas de API ou eventos do GitHub, não tem próximo horário de execução. A CLI não mostra nenhum quando Claude a salva ou atualiza.

157 161 

158## Configurar acionadores162## Configurar acionadores

159 163 

sandboxing.md +2 −1

Details

320* **Todo comando na chamada precisa corresponder**: `npm ci && docker compose build` permanece no sandbox, a menos que outra entrada cubra `npm ci`320* **Todo comando na chamada precisa corresponder**: `npm ci && docker compose build` permanece no sandbox, a menos que outra entrada cubra `npm ci`

321* **O Claude Code compara o texto da chamada**: um script ou alvo do `make` que chama `docker` internamente não corresponde, nem `/usr/local/bin/docker`321* **O Claude Code compara o texto da chamada**: um script ou alvo do `make` que chama `docker` internamente não corresponde, nem `/usr/local/bin/docker`

322* **Algumas chamadas permanecem no sandbox**: um redirecionamento para um arquivo, um `cd` ou uma substituição de comando como `$(...)` mantém a chamada inteira no sandbox. A [entrada de referência](https://code.claude.com/docs/pt/settings-reference.md#sandbox-excludedcommands) lista mais chamadas que permanecem no sandbox322* **Algumas chamadas permanecem no sandbox**: um redirecionamento para um arquivo, um `cd` ou uma substituição de comando como `$(...)` mantém a chamada inteira no sandbox. A [entrada de referência](https://code.claude.com/docs/pt/settings-reference.md#sandbox-excludedcommands) lista mais chamadas que permanecem no sandbox

323* **Um `git clone` precisa de caminhos relativos**: sua entrada não cobre um clone que nomeia um caminho absoluto, um caminho que começa com `~` ou um caminho com um segmento `..`. Se o clone puder ficar dentro do seu diretório de trabalho, peça ao Claude para usar um caminho relativo sem segmento `..`, como `vendor/lib`

323* **O local onde você salva a entrada pode importar**: enquanto o sandbox é [exigido pelo administrador](#repository-settings-under-an-admin-required-sandbox), o Claude Code ignora entradas em `.claude/settings.json` e `.claude/settings.local.json`324* **O local onde você salva a entrada pode importar**: enquanto o sandbox é [exigido pelo administrador](#repository-settings-under-an-admin-required-sandbox), o Claude Code ignora entradas em `.claude/settings.json` e `.claude/settings.local.json`

324 325 

325Um comando excluído passa pelo fluxo normal de permissões:326Um comando excluído passa pelo fluxo normal de permissões:


354 355 

355O sandbox tem duas camadas independentes: o [isolamento do sistema de arquivos](#filesystem-isolation) controla quais caminhos os comandos em sandbox podem ler e gravar, e o [isolamento de rede](#network-isolation) controla quais domínios eles podem alcançar. Com a camada de sistema de arquivos desativada, os comandos em sandbox obtêm acesso irrestrito de leitura e gravação ao sistema de arquivos do host, enquanto seu tráfego de saída de rede permanece restrito aos seus domínios permitidos. Desative a camada quando você usa o sandbox para controlar onde os comandos se conectam, e não o que eles gravam.356O sandbox tem duas camadas independentes: o [isolamento do sistema de arquivos](#filesystem-isolation) controla quais caminhos os comandos em sandbox podem ler e gravar, e o [isolamento de rede](#network-isolation) controla quais domínios eles podem alcançar. Com a camada de sistema de arquivos desativada, os comandos em sandbox obtêm acesso irrestrito de leitura e gravação ao sistema de arquivos do host, enquanto seu tráfego de saída de rede permanece restrito aos seus domínios permitidos. Desative a camada quando você usa o sandbox para controlar onde os comandos se conectam, e não o que eles gravam.

356 357 

357`sandbox.filesystem.disabled` tem `false` como padrão. Requer o Claude Code v2.1.216 ou posterior.358`sandbox.filesystem.disabled` tem `false` como padrão.

358 359 

359> [!WARNING]360> [!WARNING]

360>361>

Details

381 381 

382| Flag, com um valor de exemplo | Passe-a para | O que ela faz |382| Flag, com um valor de exemplo | Passe-a para | O que ela faz |

383| :- | :- | :- |383| :- | :- | :- |

384| `--release-idle-session-min 30` | Todo runner que seu hook inicia | O runner libera sua sessão após essa quantidade de minutos ociosos e então sai com 0. A sessão é retomada quando o usuário envia a próxima mensagem, mas [o trabalho que ela não havia enviado com push é perdido](https://code.claude.com/docs/pt/self-hosted-environments-deploy.md#additional-limitations). |384| `--release-idle-session-min 30` | Todo runner que seu hook inicia | O runner libera sua sessão após essa quantidade de minutos ociosos e então sai com 0. A sessão é retomada quando o usuário envia a próxima mensagem, mas [o trabalho que ela não havia enviado com push é perdido](https://code.claude.com/docs/pt/self-hosted-environments-deploy.md#additional-limitations). [Retenha uma sessão](https://code.claude.com/docs/pt/self-hosted-environments-deploy.md#keep-an-idle-session-while-its-processes-run) para os processos que ela deixou em execução. |

385| `--kill-session-after-min 480` | Todo runner que seu hook inicia | Limita cada sessão a essa quantidade de minutos, como proteção para [sessões que não contam como ociosas](https://code.claude.com/docs/pt/self-hosted-environments-deploy.md#some-sessions-don’t-count-as-idle), então defina-a acima da sua sessão mais longa esperada |385| `--kill-session-after-min 480` | Todo runner que seu hook inicia | Limita cada sessão a essa quantidade de minutos, como proteção para [sessões que não contam como ociosas](https://code.claude.com/docs/pt/self-hosted-environments-deploy.md#some-sessions-don’t-count-as-idle), então defina-a acima da sua sessão mais longa esperada |

386| `--exit-if-unused-min 60` | Runners em standby, que seu hook inicia para solicitações de pré-aquecimento | Um runner em standby que nunca assume uma sessão sai após essa quantidade de minutos. Se você definir [`--min-idle`](https://code.claude.com/docs/pt/self-hosted-environments-reference#orchestrator-cli-flags), você recebe um substituto, a menos que o runner em standby fosse excedente, então use um valor bem acima do seu tempo de boot. |386| `--exit-if-unused-min 60` | Runners em standby, que seu hook inicia para solicitações de pré-aquecimento | Um runner em standby que nunca assume uma sessão sai após essa quantidade de minutos. Se você definir [`--min-idle`](https://code.claude.com/docs/pt/self-hosted-environments-reference#orchestrator-cli-flags), você recebe um substituto, a menos que o runner em standby fosse excedente, então use um valor bem acima do seu tempo de boot. |

387 387 

Details

68| `code.claude.com` e `claude.com` | 443 | Buscas de documentação pelo agente claude-code-guide integrado e solicitações WebFetch pré-aprovadas durante sessões. Bloquear esses hosts apenas afeta buscas de documentação. |68| `code.claude.com` e `claude.com` | 443 | Buscas de documentação pelo agente claude-code-guide integrado e solicitações WebFetch pré-aprovadas durante sessões. Bloquear esses hosts apenas afeta buscas de documentação. |

69| `*.frame.claudeusercontent.com` | 443 | Apenas quando a [ferramenta Artifact](https://code.claude.com/docs/pt/artifacts.md#availability) está disponível para sessões em sua organização; os padrões variam por plano, de acordo com a tabela de disponibilidade lá. Defina `CLAUDE_CODE_DISABLE_ARTIFACT=1` no runner para manter a ferramenta desabilitada independentemente da configuração da organização. |69| `*.frame.claudeusercontent.com` | 443 | Apenas quando a [ferramenta Artifact](https://code.claude.com/docs/pt/artifacts.md#availability) está disponível para sessões em sua organização; os padrões variam por plano, de acordo com a tabela de disponibilidade lá. Defina `CLAUDE_CODE_DISABLE_ARTIFACT=1` no runner para manter a ferramenta desabilitada independentemente da configuração da organização. |

70| `registry.npmjs.org` | 443 | Quando uma sessão instala um plugin, tanto para buscar pacotes de plugin de origem npm quanto para instalar dependências Node.js de um plugin, ou quando um servidor MCP lançado por `npx` é executado |70| `registry.npmjs.org` | 443 | Quando uma sessão instala um plugin, tanto para buscar pacotes de plugin de origem npm quanto para instalar dependências Node.js de um plugin, ou quando um servidor MCP lançado por `npx` é executado |

71| Um espelho interno dos registros de pacotes que seus builds usam, ou os próprios registros | 443, ou a porta do seu espelho | Quando as sessões instalam dependências para compilar ou testar seus repositórios |

71| `http-intake.logs.us5.datadoghq.com` | 443 | Métricas operacionais da Anthropic. Apenas quando `CLAUDE_CODE_BYOC_ENABLE_DATADOG=1` está definido; desativado por padrão em ambientes auto-hospedados. |72| `http-intake.logs.us5.datadoghq.com` | 443 | Métricas operacionais da Anthropic. Apenas quando `CLAUDE_CODE_BYOC_ENABLE_DATADOG=1` está definido; desativado por padrão em ambientes auto-hospedados. |

72| `browser-intake-us5-datadoghq.com` | 443 | Uploads de relatório de erro da Anthropic, enviados apenas quando [relatório de erro](https://code.claude.com/docs/pt/data-usage.md#telemetry-services) está habilitado para a conta da sessão. Suprimido por `DISABLE_ERROR_REPORTING=1` ou `DISABLE_TELEMETRY=1`. |73| `browser-intake-us5-datadoghq.com` | 443 | Uploads de relatório de erro da Anthropic, enviados apenas quando [relatório de erro](https://code.claude.com/docs/pt/data-usage.md#telemetry-services) está habilitado para a conta da sessão. Suprimido por `DISABLE_ERROR_REPORTING=1` ou `DISABLE_TELEMETRY=1`. |

73| Os endpoints do seu provedor de nuvem para requisições de modelo, consultas de modelo e renovação de credenciais, como `bedrock-runtime.us-east-1.amazonaws.com` ou `aiplatform.googleapis.com` | 443 | Apenas quando o runner [envia requisições de modelo para o Amazon Bedrock ou o Agent Platform do Google Cloud](https://code.claude.com/docs/pt/self-hosted-environments-configuration.md#send-model-requests-to-bedrock-or-agent-platform) |74| Os endpoints do seu provedor de nuvem para requisições de modelo, consultas de modelo e renovação de credenciais, como `bedrock-runtime.us-east-1.amazonaws.com` ou `aiplatform.googleapis.com` | 443 | Apenas quando o runner [envia requisições de modelo para o Amazon Bedrock ou o Agent Platform do Google Cloud](https://code.claude.com/docs/pt/self-hosted-environments-configuration.md#send-model-requests-to-bedrock-or-agent-platform) |


631 632 

632Nos primeiros dois estágios que seguem o sinal, o runner libera sessões, e uma sessão liberada é retomada em um runner novo quando seu usuário envia sua próxima mensagem. Contando a partir do primeiro sinal, o runner passa por três estágios:633Nos primeiros dois estágios que seguem o sinal, o runner libera sessões, e uma sessão liberada é retomada em um runner novo quando seu usuário envia sua próxima mensagem. Contando a partir do primeiro sinal, o runner passa por três estágios:

633 634 

634* **Pelos primeiros `n` minutos**: o runner serve suas sessões normalmente e continua aplicando `--startup-timeout-min` e `--kill-session-after-min`. Se você também definir [`--release-idle-session-min`](https://code.claude.com/docs/pt/self-hosted-environments-reference#runner-cli-flags), o runner libera qualquer sessão cujo usuário tenha estado ocioso por esse tempo; sem isso, as sessões ociosas permanecem no runner.635* **Pelos primeiros `n` minutos**: o runner serve suas sessões normalmente e continua aplicando `--startup-timeout-min` e `--kill-session-after-min`. Se você também definir [`--release-idle-session-min`](https://code.claude.com/docs/pt/self-hosted-environments-reference#runner-cli-flags), o runner libera qualquer sessão cujo usuário tenha estado ocioso por esse tempo, a menos que você [mantenha essa sessão](#keep-an-idle-session-while-its-processes-run). Sem a flag, as sessões ociosas permanecem no runner.

635* **Quando os `n` minutos se esgotam**: o runner libera todas as sessões que ainda mantém, ociosas ou não. O runner aguarda o término do turno de uma sessão no meio do turno e até 60 segundos adicionais para as tarefas de fundo de um turno, antes de liberar essa sessão.636* **Quando os `n` minutos se esgotam**: o runner libera todas as sessões que ainda mantém, ociosas ou não. O runner aguarda o término do turno de uma sessão no meio do turno e até 60 segundos adicionais para as tarefas de fundo de um turno, antes de liberar essa sessão.

636* **Quando a carência pós-lançamento se esgota**: o runner drena todas as sessões que ainda mantém, e o plano de controle recoloca cada sessão drenada na fila para outro runner imediatamente. A carência pós-lançamento começa quando os `n` minutos se esgotam e é 75 segundos nos padrões. Se você definir `--drain-wait-sec` acima de 60 segundos, a carência pós-lançamento será `--drain-wait-sec` mais 15 segundos.637* **Quando a carência pós-lançamento se esgota**: o runner drena todas as sessões que ainda mantém, e o plano de controle recoloca cada sessão drenada na fila para outro runner imediatamente. A carência pós-lançamento começa quando os `n` minutos se esgotam e é 75 segundos nos padrões. Se você definir `--drain-wait-sec` acima de 60 segundos, a carência pós-lançamento será `--drain-wait-sec` mais 15 segundos.

637 638 


716 717 

717### Liberar sessões ociosas em uma frota fixa718### Liberar sessões ociosas em uma frota fixa

718 719 

719Se as sessões permanecerem enfileiradas em uma frota fixa enquanto todos os runners estão online, sessões ociosas podem ser a causa. Por padrão, uma sessão mantém seu slot depois que seu turno termina, e seu runner permanece bloqueado para o [owner](https://code.claude.com/docs/pt/self-hosted-environments#key-concepts) dessa sessão. Se a [tarefa agendada na nuvem](https://code.claude.com/docs/pt/routines.md) da sua equipe inicia uma nova sessão a cada execução, suas sessões ociosas podem ocupar todos os slots.720Se as sessões permanecerem enfileiradas em uma frota fixa enquanto todos os runners estão online, sessões ociosas podem ser a causa. Por padrão, uma sessão mantém seu slot depois que seu turno termina, e seu runner permanece bloqueado para o [owner](https://code.claude.com/docs/pt/self-hosted-environments#key-concepts) dessa sessão. As sessões de outros owners não podem usar os slots livres desse runner. Se a [tarefa agendada na nuvem](https://code.claude.com/docs/pt/routines.md) da sua equipe inicia uma nova sessão a cada execução, suas sessões ociosas podem ocupar todos os slots.

720 721 

721Para verificar, leia `claude_code_self_hosted_runner_session_idle_seconds` nas [métricas Prometheus](https://code.claude.com/docs/pt/self-hosted-environments-reference.md#prometheus-metrics) de cada runner. Cada sessão que um runner mantém tem sua própria série: `0` enquanto a sessão está ocupada; caso contrário, os segundos desde que ela ficou ociosa. Escolha o tempo ocioso que você permitiria: mais longo do que as pausas que as pessoas fazem no meio de uma tarefa, e curto o suficiente para que cada execução seja liberada antes que a próxima execução da tarefa agendada comece. Compare as séries com ele.722Para verificar, leia `claude_code_self_hosted_runner_session_idle_seconds` nas [métricas Prometheus](https://code.claude.com/docs/pt/self-hosted-environments-reference.md#prometheus-metrics) de cada runner. Cada sessão que um runner mantém tem sua própria série: `0` enquanto a sessão está ocupada; caso contrário, os segundos desde que ela ficou ociosa. Escolha o tempo ocioso que você permitiria: mais longo do que as pausas que as pessoas fazem no meio de uma tarefa, e curto o suficiente para que cada execução seja liberada antes que a próxima execução da tarefa agendada comece. Compare as séries com ele.

722 723 


725* **Um runner sem séries**: nenhuma sessão o mantém. Consulte **As sessões permanecem enfileiradas** em [Solução de problemas](#troubleshooting).726* **Um runner sem séries**: nenhuma sessão o mantém. Consulte **As sessões permanecem enfileiradas** em [Solução de problemas](#troubleshooting).

726* **Um runner cujas métricas não respondem**: seu processo pode ter sido encerrado. Consulte **Um ambiente que parece saudável** em [Quando o runner é encerrado](#when-the-runner-exits).727* **Um runner cujas métricas não respondem**: seu processo pode ter sido encerrado. Consulte **Um ambiente que parece saudável** em [Quando o runner é encerrado](#when-the-runner-exits).

727 728 

728Para liberar sessões ociosas, inicie todos os runners com [`--release-idle-session-min`](https://code.claude.com/docs/pt/self-hosted-environments-reference#runner-cli-flags) e esse tempo em minutos, como `--release-idle-session-min 30`. O runner então libera qualquer sessão que permaneça ociosa por esse tempo, seja ela iniciada por uma tarefa agendada ou por uma pessoa.729Para liberar sessões ociosas, inicie todos os runners com [`--release-idle-session-min`](https://code.claude.com/docs/pt/self-hosted-environments-reference#runner-cli-flags) e esse tempo em minutos, como `--release-idle-session-min 30`. O runner então libera qualquer sessão que permaneça ociosa por esse tempo, seja ela iniciada por uma tarefa agendada ou por uma pessoa, a menos que você [a mantenha para os processos que ela deixou em execução](#keep-an-idle-session-while-its-processes-run).

729 730 

730* **Trabalho não enviado**: uma sessão liberada é retomada na sua próxima mensagem, sem o trabalho que ela não havia enviado com push. Para manter seus commits, consulte [Sessões retomadas perdem trabalho não enviado](#additional-limitations).731* **Trabalho não enviado**: uma sessão liberada é retomada na sua próxima mensagem, sem o trabalho que ela não havia enviado com push. Para manter seus commits, consulte [Sessões retomadas perdem trabalho não enviado](#additional-limitations).

731* **Encerramento do runner**: um runner que libera sua última sessão inicia um [encerramento normal](#when-the-runner-exits). Faça com que seu supervisor o reinicie em um sistema de arquivos novo, conforme descrito em [Proteja sua implantação](#harden-your-deployment).732* **Encerramento do runner**: um runner que libera sua última sessão inicia um [encerramento normal](#when-the-runner-exits). Faça com que seu supervisor o reinicie em um sistema de arquivos novo, conforme descrito em [Proteja sua implantação](#harden-your-deployment).

732* **Sessões que nunca ficam ociosas**: defina também [`--kill-session-after-min`](https://code.claude.com/docs/pt/self-hosted-environments-reference#runner-cli-flags), porque [algumas sessões não contam como ociosas](#some-sessions-don’t-count-as-idle)733* **Sessões que nunca ficam ociosas**: defina também [`--kill-session-after-min`](https://code.claude.com/docs/pt/self-hosted-environments-reference#runner-cli-flags), porque [algumas sessões não contam como ociosas](#some-sessions-don’t-count-as-idle)

733 734 

735### Manter uma sessão ociosa enquanto seus processos são executados

736 

737Para manter uma sessão ociosa até que os processos que ela deixou no seu host terminem, como jobs `nohup`, inicie o runner com [`--hold-idle-file`](https://code.claude.com/docs/pt/self-hosted-environments-reference#runner-cli-flags) e continue executando touch nesse arquivo a partir do host. Requer Claude Code v2.1.311 ou posterior.

738 

739Estas etapas pressupõem um runner não root em um host. Se o seu runner for executado como `root`, suas sessões podem executar touch no próprio arquivo, portanto, primeiro execute-o como um usuário dedicado.

740 

741**1. Escolha um caminho para o arquivo**

742 

743Escolha um arquivo regular local, como `/var/lib/claude-hold/hold-idle`, em um diretório no qual as sessões não possam gravar, incluindo os diretórios pai, para que uma sessão não possa gravar nele. O runner e suas sessões compartilham um único usuário do sistema operacional, portanto, crie esse diretório primeiro, de propriedade de outro usuário, como `root`, com modo `755`.

744 

745**2. Inicie o runner**

746 

747No seu shell, inicie o runner com `--hold-idle-file`, `--release-idle-session-min` e [`--max-hold-min`](https://code.claude.com/docs/pt/self-hosted-environments-reference#runner-cli-flags), o limite de uma retenção, contado a partir do momento em que uma sessão fica ociosa. Sem ele, o limite é de um dia. Defina-o acima de `--release-idle-session-min`, ou nada será retido. Este exemplo libera sessões ociosas após 30 minutos e libera uma sessão retida no máximo 4 horas depois que ela ficou ociosa:

748 

749```bash theme={null}

750claude self-hosted-runner \

751 --environment-secret-file /etc/claude/environment-secret \

752 --release-idle-session-min 30 \

753 --hold-idle-file /var/lib/claude-hold/hold-idle \

754 --max-hold-min 240

755```

756 

757**3. Execute touch no arquivo enquanto os processos são executados**

758 

759Enquanto os processos são executados, execute `touch` no arquivo a partir do host como o proprietário do diretório, com frequência maior do que a cada três minutos. O primeiro `touch` cria o arquivo. Por exemplo, adicione esta linha ao crontab do `root`:

760 

761```text theme={null}

762* * * * * pgrep -x nightly-build > /dev/null && touch /var/lib/claude-hold/hold-idle

763```

764 

765A linha é executada uma vez por minuto e executa touch no arquivo enquanto qualquer processo chamado `nightly-build` estiver em execução, de modo que uma sessão que inicie um deles permaneça retida até o limite. Substitua a verificação `pgrep` pela forma como o seu host encontra o que as sessões deixaram em execução.

766 

767A verificação deve deixar de corresponder quando eles terminarem, ou toda sessão ociosa nesse runner permanecerá retida até o limite.

768 

769**4. Confirme a retenção**

770 

771Enquanto os processos são executados, verifique se o horário de modificação do arquivo permanece com menos de três minutos. Quando o tempo ocioso de uma sessão se esgotar, procure `idle release held` no log do runner. Se essa linha não aparecer, leia `leftover-hold=` na linha `watchdog config` que o runner registra no log na inicialização, que mostra o arquivo e o limite, ou por que nada está retido.

772 

773Três minutos após o último `touch`, a retenção termina. Em cerca de mais um minuto, o log mostra `idle release no longer held` e o runner libera a sessão.

774 

775Mesmo enquanto o arquivo continua mudando, uma retenção pode terminar, em casos como estes:

776 

777* **Além do limite**: `--max-hold-min` se esgota. Para reter por mais tempo, aumente-o

778* **Liberações forçadas**: você define [`--retire-at`](https://code.claude.com/docs/pt/self-hosted-environments-reference#runner-cli-flags), [`--defer-shutdown-max-min`](https://code.claude.com/docs/pt/self-hosted-environments-reference#runner-cli-flags) ou [`--kill-session-after-min`](https://code.claude.com/docs/pt/self-hosted-environments-reference#runner-cli-flags), e esse limite é atingido. Para reter por mais tempo, defina um limite posterior

779 

734## Problemas conhecidos e limitações780## Problemas conhecidos e limitações

735 781 

736As seguintes são as limitações nesta versão, com workarounds onde um existe.782As seguintes são as limitações nesta versão, com workarounds onde um existe.


828* **O Claude Tag às vezes não publica sua resposta no Slack**: o lembrete de resposta é um [hook que o plano de controle fornece](https://code.claude.com/docs/pt/self-hosted-environments-configuration.md#how-each-session’s-config-is-assembled). Confirme que o runner é o Claude Code v2.1.229 ou posterior com `claude --version`, já que runners mais antigos ignoram os hooks fornecidos; confirme que `python3 --version` é bem-sucedido dentro da imagem do runner, já que os hooks executam `python3`; e confirme que nenhum arquivo de configurações desativa os hooks, seja `disableAllHooks` em `managed-settings.json`, no `~/.claude/settings.json` do usuário do runner ou no `.claude/settings.json` ou `.claude/settings.local.json` do repositório, ou `allowManagedHooksOnly` ou um [`strictPluginOnlyCustomization`](https://code.claude.com/docs/pt/settings-reference#strictpluginonlycustomization) que abranja hooks nas configurações gerenciadas.874* **O Claude Tag às vezes não publica sua resposta no Slack**: o lembrete de resposta é um [hook que o plano de controle fornece](https://code.claude.com/docs/pt/self-hosted-environments-configuration.md#how-each-session’s-config-is-assembled). Confirme que o runner é o Claude Code v2.1.229 ou posterior com `claude --version`, já que runners mais antigos ignoram os hooks fornecidos; confirme que `python3 --version` é bem-sucedido dentro da imagem do runner, já que os hooks executam `python3`; e confirme que nenhum arquivo de configurações desativa os hooks, seja `disableAllHooks` em `managed-settings.json`, no `~/.claude/settings.json` do usuário do runner ou no `.claude/settings.json` ou `.claude/settings.local.json` do repositório, ou `allowManagedHooksOnly` ou um [`strictPluginOnlyCustomization`](https://code.claude.com/docs/pt/settings-reference#strictpluginonlycustomization) que abranja hooks nas configurações gerenciadas.

829* **Uma sessão inicia sem um de seus repositórios**: em um runner sem um [hook `checkout`](https://code.claude.com/docs/pt/self-hosted-environments-configuration#checkout), o host git pode recusar a verificação de acesso do runner para um repositório que a sessão apenas lê. O runner então pula esse repositório, registra uma linha `[runner:warn] could not access context source` nomeando a recusa e inicia a sessão nos restantes.875* **Uma sessão inicia sem um de seus repositórios**: em um runner sem um [hook `checkout`](https://code.claude.com/docs/pt/self-hosted-environments-configuration#checkout), o host git pode recusar a verificação de acesso do runner para um repositório que a sessão apenas lê. O runner então pula esse repositório, registra uma linha `[runner:warn] could not access context source` nomeando a recusa e inicia a sessão nos restantes.

830 876 

831 O runner pula apenas uma recusa clara: o host responde que o repositório não foi encontrado, git não encontra credenciais para o host, ou a autenticação falha. Uma falha de rede, um timeout ou um HTTP `403` ainda falha no início da sessão, assim como uma recusa para um repositório para o qual a sessão envia resultados. O runner ainda falha em uma sessão que pular deixaria sem nenhum repositório. Com [`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy), o runner pula apenas um repositório que o proxy git em si nega.877 Com suas próprias credenciais git, o runner pode pular um repositório quando o host responde que o repositório não foi encontrado, o git não encontra credenciais para o host ou a autenticação falha.

878 

879 Com [`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy), quando o proxy git recusa um repositório com `access denied by the git proxy`, o runner o pula. A linha de log então diz `blocked by the git proxy`. Para as causas a verificar, consulte o caso `remote: access denied by the git proxy` em [Quando as sessões não iniciam em um runner com o proxy git](#when-anthropic-doesnt-serve-a-session).

880 

881 Uma falha de rede, um timeout ou qualquer outro HTTP `403` ainda faz o início da sessão falhar, assim como uma recusa para um repositório para o qual a sessão envia resultados. O runner ainda faz falhar uma sessão que pular deixaria sem nenhum repositório.

832 882 

833 A verificação de acesso é executada novamente cada vez que a sessão é iniciada em um runner, portanto, uma vez que a identidade git do runner tenha acesso de leitura, o próximo início clona o repositório. Antes da v2.1.274, cada uma dessas recusas falhava no início da sessão.883 A verificação de acesso é executada novamente cada vez que a sessão é iniciada em um runner, portanto, uma vez que a identidade git do runner tenha acesso de leitura, o próximo início clona o repositório. Antes da v2.1.274, cada uma dessas recusas falhava no início da sessão.

884* **O log mostra `could not read context source`**: esta linha, diferentemente de `could not access context source`, significa que o host git continuou respondendo HTTP `429`, ou que um wrapper que você instalou como `git` continuou saindo com `75`. O runner pulou esse repositório. Para tentar novamente, inicie uma nova sessão. O runner também tenta o repositório novamente cada vez que esta sessão é iniciada em um runner.

885 

886 Sem hook `checkout`, o runner pode pular um repositório que a sessão apenas lê, a menos que ele seja o primeiro entre os repositórios da sessão. Antes da v2.1.311, o início da sessão falhava.

834* **Uma sessão não inicia com `This runner couldn't read`**: o runner solicitou um repositório ao host git com suas [credenciais git](#configure-git) e recebeu uma resposta de não encontrado. O repositório não existe, ou essas credenciais não conseguem alcançar o repositório.887* **Uma sessão não inicia com `This runner couldn't read`**: o runner solicitou um repositório ao host git com suas [credenciais git](#configure-git) e recebeu uma resposta de não encontrado. O repositório não existe, ou essas credenciais não conseguem alcançar o repositório.

835 * **Se você administra o runner**: conceda às credenciais git dele acesso de leitura ao repositório e, em seguida, inicie uma nova sessão.888 * **Se você administra o runner**: conceda às credenciais git dele acesso de leitura ao repositório e, em seguida, inicie uma nova sessão.

836 * **Se você iniciou a sessão**: se o repositório não existir, inicie uma nova sessão com o repositório correto. Se o runner não conseguir alcançar o repositório, peça ao administrador do runner que conceda acesso e, em seguida, inicie uma nova sessão.889 * **Se você iniciou a sessão**: se o repositório não existir, inicie uma nova sessão com o repositório correto. Se o runner não conseguir alcançar o repositório, peça ao administrador do runner que conceda acesso e, em seguida, inicie uma nova sessão.


843 896 

844 Quando uma busca falha, o runner registra uma linha `inference_token refresh failed` que diz quando tentará novamente, e continua tentando novamente enquanto a sessão estiver em execução.897 Quando uma busca falha, o runner registra uma linha `inference_token refresh failed` que diz quando tentará novamente, e continua tentando novamente enquanto a sessão estiver em execução.

845 898 

846 Se cada chamada começar a falhar cerca de 30 minutos em uma sessão, um script wrapper provavelmente sevrou o stdin da sessão, então as rotações de token não conseguem alcançá-lo; consulte [Keep stdin and file descriptor 3 attached](https://code.claude.com/docs/pt/self-hosted-environments-configuration.md#keep-stdin-and-file-descriptor-3-attached).899 Se cada chamada começar a falhar cerca de 30 minutos em uma sessão, um script wrapper provavelmente cortou o stdin da sessão, então as rotações de token não conseguem alcançá-lo; consulte [Keep stdin and file descriptor 3 attached](https://code.claude.com/docs/pt/self-hosted-environments-configuration.md#keep-stdin-and-file-descriptor-3-attached).

847 900 

848 Antes da v2.1.274, o runner parou de tentar novamente uma busca com falha após algumas tentativas e aguardou a próxima agendada. Uma volta com falha não acionou uma busca, então cada volta falhou com um 401 até a próxima busca agendada.901 Antes da v2.1.274, o runner parou de tentar novamente uma busca com falha após algumas tentativas e aguardou a próxima agendada. Uma volta com falha não acionou uma busca, então cada volta falhou com um 401 até a próxima busca agendada.

849* **Um turno falha em claude.ai/code com `This model needs a newer version of Claude Code`**: a versão do Claude Code com a qual seus runners iniciam as sessões é mais antiga do que o modelo da sessão exige, então a API [rejeita a requisição](https://code.claude.com/docs/pt/errors.md#claude-code-does-not-support-this-model). Atualize os runners para a versão que a mensagem pede, ou uma posterior, conforme descrito em [Fixe a versão](#pin-the-version). Até lá, as pessoas podem escolher um modelo diferente na sessão.902* **Um turno falha em claude.ai/code com `This model needs a newer version of Claude Code`**: a versão do Claude Code com a qual seus runners iniciam as sessões é mais antiga do que o modelo da sessão exige, então a API [rejeita a requisição](https://code.claude.com/docs/pt/errors.md#claude-code-does-not-support-this-model). Atualize os runners para a versão que a mensagem pede, ou uma posterior, conforme descrito em [Fixe a versão](#pin-the-version). Até lá, as pessoas podem escolher um modelo diferente na sessão.

Details

89(umask 077 && cat > /etc/claude/environment-secret)89(umask 077 && cat > /etc/claude/environment-secret)

90```90```

91 91 

92Escolha um diretório base, substituindo `<writable-dir>` no comando runner abaixo por um caminho absoluto que o runner possa escrever ou criar. O runner cria o diretório na inicialização, depois verifica repositórios e cria diretórios por sessão sob ele. Sem `--base-dir` ele usa `/workspace`, que só funciona se esse diretório já existe e é gravável ou você inicia o runner como root.92Escolha um diretório base, substituindo `<writable-dir>` no comando runner abaixo por um caminho absoluto que o runner possa escrever ou criar. O runner cria o diretório na inicialização, depois faz checkout dos repositórios e cria diretórios por sessão sob ele. Sem `--base-dir` ele usa `/workspace`, que só funciona se esse diretório já existe e é gravável ou você inicia o runner como root.

93 93 

94> [!WARNING]94> [!WARNING]

95>95>

Details

37| `--git-host-rewrite <from>=<to>` | nenhum | não definido | Reescreva URLs de origem `https://<from>/...` para `https://<to>/...` antes de clonar, para DNS de horizonte dividido. Repetível; apenas sinalizador. |37| `--git-host-rewrite <from>=<to>` | nenhum | não definido | Reescreva URLs de origem `https://<from>/...` para `https://<to>/...` antes de clonar, para DNS de horizonte dividido. Repetível; apenas sinalizador. |

38| `--git-ssh-rewrite <host>` | nenhum | não definido | Reescreva URLs de origem `https://<host>/...` para `git@<host>:...` antes de clonar, para hosts git somente SSH. Repetível; apenas sinalizador. |38| `--git-ssh-rewrite <host>` | nenhum | não definido | Reescreva URLs de origem `https://<host>/...` para `git@<host>:...` antes de clonar, para hosts git somente SSH. Repetível; apenas sinalizador. |

39| `--health-port <port>` | `SELF_HOSTED_RUNNER_HEALTH_PORT` | `8080` | Porta para o ouvinte `/healthz` e `/metrics`. Defina `0` para desabilitar. |39| `--health-port <port>` | `SELF_HOSTED_RUNNER_HEALTH_PORT` | `8080` | Porta para o ouvinte `/healthz` e `/metrics`. Defina `0` para desabilitar. |

40| `--hold-idle-file <path>` | `SELF_HOSTED_RUNNER_HOLD_IDLE_FILE` | não definido | Arquivo que seu host continua alterando para manter uma sessão ociosa no executor. Consulte [Keep an idle session while its processes run](https://code.claude.com/docs/pt/self-hosted-environments-deploy.md#keep-an-idle-session-while-its-processes-run). Requer Claude Code v2.1.311 ou posterior. |

40| `--hooks-dir <path>` | `SELF_HOSTED_RUNNER_HOOKS_DIR` | não definido | Diretório de scripts de hook de ciclo de vida. Consulte [Lifecycle hooks](https://code.claude.com/docs/pt/self-hosted-environments-configuration.md#lifecycle-hooks). |41| `--hooks-dir <path>` | `SELF_HOSTED_RUNNER_HOOKS_DIR` | não definido | Diretório de scripts de hook de ciclo de vida. Consulte [Lifecycle hooks](https://code.claude.com/docs/pt/self-hosted-environments-configuration.md#lifecycle-hooks). |

41| `--host-config-snapshot <mode>` | `SELF_HOSTED_RUNNER_HOST_CONFIG_SNAPSHOT` | `disk` | Onde o executor mantém o snapshot de inicialização do [diretório de configuração do host](#environment-variable-only-settings) que semeia cada sessão a partir de. `disk` copia o snapshot para um diretório de propriedade do executor sob `--base-dir` e, no início de cada sessão, verifica cada arquivo contra um resumo na memória. Se um arquivo na cópia foi modificado, a sessão falha e o executor recusa sessões até você reiniciá-lo. `memory` mantém todo o snapshot no heap, limitado a 64 MiB; acima do limite, as sessões começam sem configuração de host e mostram um aviso dizendo isso. Quando o executor não consegue escrever o snapshot de disco, ele registra a falha e usa `memory` para essa execução. Requer Claude Code v2.1.271 ou posterior. |42| `--host-config-snapshot <mode>` | `SELF_HOSTED_RUNNER_HOST_CONFIG_SNAPSHOT` | `disk` | Onde o executor mantém o snapshot de inicialização do [diretório de configuração do host](#environment-variable-only-settings) que semeia cada sessão a partir de. `disk` copia o snapshot para um diretório de propriedade do executor sob `--base-dir` e, no início de cada sessão, verifica cada arquivo contra um resumo na memória. Se um arquivo na cópia foi modificado, a sessão falha e o executor recusa sessões até você reiniciá-lo. `memory` mantém todo o snapshot no heap, limitado a 64 MiB; acima do limite, as sessões começam sem configuração de host e mostram um aviso dizendo isso. Quando o executor não consegue escrever o snapshot de disco, ele registra a falha e usa `memory` para essa execução. Requer Claude Code v2.1.271 ou posterior. |

42| `--kill-session-after-min <n>` | `SELF_HOSTED_RUNNER_MAX_LIFETIME_MS` | `0` | Limite uma sessão a N minutos de tempo real, como um limite de segurança para sessões presas. Na v2.1.260 ou posterior, o executor libera uma sessão que atinge o limite para que possa retomar na próxima mensagem do usuário, e a encerra apenas se ainda estiver no executor quando a janela de graça [`SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS`](#environment-variable-only-settings) terminar. Antes da v2.1.260, o executor encerrava a sessão no limite. Consulte [Some sessions don't count as idle](https://code.claude.com/docs/pt/self-hosted-environments-deploy.md#some-sessions-don%E2%80%99t-count-as-idle) para os detalhes e como escolher um valor. `0` desabilita. |43| `--kill-session-after-min <n>` | `SELF_HOSTED_RUNNER_MAX_LIFETIME_MS` | `0` | Limite uma sessão a N minutos de tempo real, como um limite de segurança para sessões presas. Na v2.1.260 ou posterior, o executor libera uma sessão que atinge o limite para que possa retomar na próxima mensagem do usuário, e a encerra apenas se ainda estiver no executor quando a janela de graça [`SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS`](#environment-variable-only-settings) terminar. Antes da v2.1.260, o executor encerrava a sessão no limite. Consulte [Some sessions don't count as idle](https://code.claude.com/docs/pt/self-hosted-environments-deploy.md#some-sessions-don%E2%80%99t-count-as-idle) para os detalhes e como escolher um valor. `0` desabilita. |

43| `--lock-to-account <id>` | `SELF_HOSTED_RUNNER_LOCK_TO_ACCOUNT` | não definido | Pré-bloqueie o executor para uma conta específica na inicialização em vez de bloquear na primeira sessão. Aceita um endereço de email ou ID `user_...` na organização do ambiente. Um executor pré-bloqueado nunca pega sessões de canal Claude Tag, que não têm conta. |44| `--lock-to-account <id>` | `SELF_HOSTED_RUNNER_LOCK_TO_ACCOUNT` | não definido | Pré-bloqueie o executor para uma conta específica na inicialização em vez de bloquear na primeira sessão. Aceita um endereço de email ou ID `user_...` na organização do ambiente. Um executor pré-bloqueado nunca pega sessões de canal Claude Tag, que não têm conta. |

44| `--log-file <path>` | `SELF_HOSTED_RUNNER_LOG_FILE` | não definido | Espelhe logs do executor para um arquivo além de stdout e stderr, criado com permissões `0600`. Obrigatório para `self-hosted-runner doctor` rastrear logs localmente. |45| `--log-file <path>` | `SELF_HOSTED_RUNNER_LOG_FILE` | não definido | Espelhe logs do executor para um arquivo além de stdout e stderr, criado com permissões `0600`. Obrigatório para `self-hosted-runner doctor` rastrear logs localmente. |

45| `--log-level <level>` | nenhum | `info` | `info` ou `debug` |46| `--log-level <level>` | nenhum | `info` | `info` ou `debug` |

47| `--max-hold-min <n>` | `SELF_HOSTED_RUNNER_MAX_HOLD_MS` | `1440` | Com `--hold-idle-file`, libere uma sessão mantida mesmo assim N minutos depois que ela ficou ociosa. Um valor igual ou inferior a `--release-idle-session-min` não mantém nada. `0` desativa a retenção. Requer Claude Code v2.1.311 ou posterior. |

46| `--post-session-hook-timeout-sec <n>` | `SELF_HOSTED_RUNNER_POST_SESSION_HOOK_TIMEOUT_MS` | `60` | Orçamento para o hook [`post-session`](https://code.claude.com/docs/pt/self-hosted-environments-configuration#post-session) no final de cada sessão, incluindo desligamento do executor |48| `--post-session-hook-timeout-sec <n>` | `SELF_HOSTED_RUNNER_POST_SESSION_HOOK_TIMEOUT_MS` | `60` | Orçamento para o hook [`post-session`](https://code.claude.com/docs/pt/self-hosted-environments-configuration#post-session) no final de cada sessão, incluindo desligamento do executor |

47| `--proxy-authorization-command <command>` | `SELF_HOSTED_RUNNER_PROXY_AUTHORIZATION_COMMAND` | não definido | Comando shell que o executor executa para cada conexão com seu proxy de saída, usando seu stdout aparado como o valor do cabeçalho `Proxy-Authorization`. Requer `HTTPS_PROXY` ou `HTTP_PROXY`, e não pode ser combinado com `--proxy-authorization-file`. Consulte [Authenticate to an egress proxy](https://code.claude.com/docs/pt/self-hosted-environments-deploy.md#authenticate-to-an-egress-proxy). Requer Claude Code v2.1.238 ou posterior. |49| `--proxy-authorization-command <command>` | `SELF_HOSTED_RUNNER_PROXY_AUTHORIZATION_COMMAND` | não definido | Comando shell que o executor executa para cada conexão com seu proxy de saída, usando seu stdout aparado como o valor do cabeçalho `Proxy-Authorization`. Requer `HTTPS_PROXY` ou `HTTP_PROXY`, e não pode ser combinado com `--proxy-authorization-file`. Consulte [Authenticate to an egress proxy](https://code.claude.com/docs/pt/self-hosted-environments-deploy.md#authenticate-to-an-egress-proxy). Requer Claude Code v2.1.238 ou posterior. |

48| `--proxy-authorization-file <path>` | `SELF_HOSTED_RUNNER_PROXY_AUTHORIZATION_FILE` | não definido | Arquivo que o executor lê para cada conexão com seu proxy de saída, usando seu conteúdo aparado como o valor do cabeçalho `Proxy-Authorization`. Use este sinalizador para um token que outro processo rotaciona no lugar. Carrega os mesmos requisitos que `--proxy-authorization-command`, e não pode ser combinado com ele. Consulte [Authenticate to an egress proxy](https://code.claude.com/docs/pt/self-hosted-environments-deploy.md#authenticate-to-an-egress-proxy). Requer Claude Code v2.1.238 ou posterior. |50| `--proxy-authorization-file <path>` | `SELF_HOSTED_RUNNER_PROXY_AUTHORIZATION_FILE` | não definido | Arquivo que o executor lê para cada conexão com seu proxy de saída, usando seu conteúdo aparado como o valor do cabeçalho `Proxy-Authorization`. Use este sinalizador para um token que outro processo rotaciona no lugar. Carrega os mesmos requisitos que `--proxy-authorization-command`, e não pode ser combinado com ele. Consulte [Authenticate to an egress proxy](https://code.claude.com/docs/pt/self-hosted-environments-deploy.md#authenticate-to-an-egress-proxy). Requer Claude Code v2.1.238 ou posterior. |

49| `--push-outcome-on-release` | `SELF_HOSTED_RUNNER_PUSH_OUTCOME_ON_RELEASE` | desligado | No final de uma sessão iniciada pelo executor, como uma drenagem ou liberação ociosa, envie branches de resultado rastreados para `origin` antes de excluir o workspace, para que commits em voo sobrevivam a um reinício. Melhor esforço; adiciona 30 segundos ao orçamento de desligamento, e requer git 2.29 ou mais recente para retomar do branch enviado. Restrinja o acesso de envio para refs `claude/*` antes de habilitar; consulte [Resumed sessions lose unpushed work](https://code.claude.com/docs/pt/self-hosted-environments-deploy.md#additional-limitations). Repositórios verificados via um hook de ciclo de vida `checkout` não são enviados; faça snapshot deles do hook [`post-session`](https://code.claude.com/docs/pt/self-hosted-environments-configuration#post-session) em vez disso. |51| `--push-outcome-on-release` | `SELF_HOSTED_RUNNER_PUSH_OUTCOME_ON_RELEASE` | desligado | No final de uma sessão iniciada pelo executor, como uma drenagem ou liberação ociosa, envie branches de resultado rastreados para `origin` antes de excluir o workspace, para que commits em voo sobrevivam a um reinício. Melhor esforço; adiciona 30 segundos ao orçamento de desligamento, e requer git 2.29 ou mais recente para retomar do branch enviado. Restrinja o acesso de envio para refs `claude/*` antes de habilitar; consulte [Resumed sessions lose unpushed work](https://code.claude.com/docs/pt/self-hosted-environments-deploy.md#additional-limitations). Repositórios verificados via um hook de ciclo de vida `checkout` não são enviados; faça snapshot deles do hook [`post-session`](https://code.claude.com/docs/pt/self-hosted-environments-configuration#post-session) em vez disso. |

50| `--release-idle-session-min <n>` | `SELF_HOSTED_RUNNER_SESSION_IDLE_MS` | `0` | Libere um slot de sessão após N minutos de inatividade uma vez que um turno termine ou a sessão aguarde a ação do usuário. Uma sessão que ainda está no meio de um turno, incluindo uma que mantém uma tarefa em segundo plano que nunca termina ou uma aprovação solicitada de dentro de uma chamada de ferramenta em execução, não conta como ociosa; emparelhe com `--kill-session-after-min` como o backstop duro. Após a tarefa em segundo plano de uma sessão terminar, o executor considera a sessão ocupada até o turno de acompanhamento que lê o resultado começar, por no máximo a janela [`SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS`](#environment-variable-only-settings). Até o executor receber um sinal de desligamento ou atingir seu tempo de aposentadoria, uma liberação que deixa o executor sem sessões ativas inicia o mesmo caminho de saída que uma drenagem normal, governada por `--drain-grace-sec`. Após um primeiro sinal que você adiou com [`--defer-shutdown-max-min`](https://code.claude.com/docs/pt/self-hosted-environments-deploy#defer-the-drain-past-the-first-signal), o executor sai assim que uma liberação o deixa sem sessões. `0` desabilita. |52| `--release-idle-session-min <n>` | `SELF_HOSTED_RUNNER_SESSION_IDLE_MS` | `0` | Libere um slot de sessão após N minutos de inatividade uma vez que um turno termine ou a sessão aguarde a ação do usuário. [Some sessions don't count as idle](https://code.claude.com/docs/pt/self-hosted-environments-deploy.md#some-sessions-don’t-count-as-idle), então emparelhe com `--kill-session-after-min`. Uma tarefa em segundo plano concluída mantém a sessão ocupada por no máximo a janela [`SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS`](#environment-variable-only-settings). Para atrasar uma liberação, defina [`--hold-idle-file`](https://code.claude.com/docs/pt/self-hosted-environments-deploy#keep-an-idle-session-while-its-processes-run). `0` desabilita. |

51| `--remove-session-state [bool]` | `SELF_HOSTED_RUNNER_REMOVE_SESSION_STATE` | desligado | Remova os diretórios por sessão de uma sessão sob `<base-dir>/_sessions/` quando a sessão terminar neste executor, seja qual for o resultado. [Reuse a pre-warmed checkout](https://code.claude.com/docs/pt/self-hosted-environments-deploy.md#reuse-a-pre-warmed-checkout) descreve o que eles contêm e quem pode lê-los quando permanecem. A remoção é melhor esforço: os diretórios por sessão permanecem no lugar quando o executor é morto ou atinge seu prazo de drenagem antes da limpeza ser executada. Com o sinalizador ativado, o log de depuração de uma sessão falhada ou interrompida não é mantido em disco. Requer Claude Code v2.1.268 ou posterior. |53| `--remove-session-state [bool]` | `SELF_HOSTED_RUNNER_REMOVE_SESSION_STATE` | desligado | Remova os diretórios por sessão de uma sessão sob `<base-dir>/_sessions/` quando a sessão terminar neste executor, seja qual for o resultado. [Reuse a pre-warmed checkout](https://code.claude.com/docs/pt/self-hosted-environments-deploy.md#reuse-a-pre-warmed-checkout) descreve o que eles contêm e quem pode lê-los quando permanecem. A remoção é melhor esforço: os diretórios por sessão permanecem no lugar quando o executor é morto ou atinge seu prazo de drenagem antes da limpeza ser executada. Com o sinalizador ativado, o log de depuração de uma sessão falhada ou interrompida não é mantido em disco. Requer Claude Code v2.1.268 ou posterior. |

52| `--retire-at <epoch-seconds>` | `SELF_HOSTED_RUNNER_RETIRE_AT` | não definido | Aposentar o executor em um timestamp Unix absoluto em segundos, para infraestrutura que mata o executor em um tempo conhecido; [Runner lifecycle](https://code.claude.com/docs/pt/self-hosted-environments#runner-lifecycle) descreve a sequência de liberação e como dimensionar a margem. Valores antes de 2001 ou após o ano 5138 são rejeitados pelo sinalizador e ignorados pela variável de ambiente. |54| `--retire-at <epoch-seconds>` | `SELF_HOSTED_RUNNER_RETIRE_AT` | não definido | Aposentar o executor em um timestamp Unix absoluto em segundos, para infraestrutura que mata o executor em um tempo conhecido; [Runner lifecycle](https://code.claude.com/docs/pt/self-hosted-environments#runner-lifecycle) descreve a sequência de liberação e como dimensionar a margem. Valores antes de 2001 ou após o ano 5138 são rejeitados pelo sinalizador e ignorados pela variável de ambiente. |

53| `--server-auto-mode-lists <mode>` | `SELF_HOSTED_RUNNER_SERVER_AUTO_MODE_LISTS` | `no-allow` | Quais das listas de regras do classificador do [modo auto](https://code.claude.com/docs/pt/permission-modes.md#eliminate-prompts-with-auto-mode) que o plano de controle envia com uma sessão podem chegar a essa sessão: `all`, `no-allow` ou `none`. Consulte [Listas de regras do modo auto](#auto-mode-rule-lists) para saber o que cada valor aplica. Um valor inválido interrompe o executor na inicialização. Requer Claude Code v2.1.295 ou posterior. |55| `--server-auto-mode-lists <mode>` | `SELF_HOSTED_RUNNER_SERVER_AUTO_MODE_LISTS` | `no-allow` | Quais das listas de regras do classificador do [modo auto](https://code.claude.com/docs/pt/permission-modes.md#eliminate-prompts-with-auto-mode) que o plano de controle envia com uma sessão podem chegar a essa sessão: `all`, `no-allow` ou `none`. Consulte [Listas de regras do modo auto](#auto-mode-rule-lists) para saber o que cada valor aplica. Um valor inválido interrompe o executor na inicialização. Requer Claude Code v2.1.295 ou posterior. |


315 317 

316### Alertar sobre executores perdidos e sessões em espera318### Alertar sobre executores perdidos e sessões em espera

317 319 

318Em uma [frota fixa](https://code.claude.com/docs/pt/self-hosted-environments-deploy.md#scale-the-fleet), carregue `ClaudeRunnersBelowFloor`. Com [executores sob demanda](https://code.claude.com/docs/pt/self-hosted-environments-configuration.md#on-demand-runners), carregue `ClaudeOrchestratorSessionsWaiting` e `ClaudeOrchestratorQueueWaitHigh` em vez disso.320Para ser alertado quando executores forem perdidos, sessões aguardarem ou o orquestrador estiver fora do ar, carregue estas regras de alerta do Prometheus ao lado das [regras de alerta de exemplo](#sample-alert-rules):

321 

322* **[Frota fixa](https://code.claude.com/docs/pt/self-hosted-environments-deploy.md#scale-the-fleet)**: `ClaudeRunnersBelowFloor`

323* **[Executores sob demanda](https://code.claude.com/docs/pt/self-hosted-environments-configuration.md#on-demand-runners)**: `ClaudeOrchestratorSessionsWaiting`, `ClaudeOrchestratorQueueWaitHigh` e `ClaudeOrchestratorAbsent`

319 324 

320#### Alertar quando uma frota fixa perde executores325#### Alertar quando uma frota fixa perde executores

321 326 


373* **Limite**: se alguma sessão estiver sempre aguardando, aumente o `> 0` em `ClaudeOrchestratorSessionsWaiting` para acima do número que você normalmente vê378* **Limite**: se alguma sessão estiver sempre aguardando, aumente o `> 0` em `ClaudeOrchestratorSessionsWaiting` para acima do número que você normalmente vê

374* **`ClaudeOrchestratorDisconnected`**: mantenha-o carregado a partir das [regras de alerta de exemplo](#sample-alert-rules), porque `ClaudeOrchestratorSessionsWaiting` para de disparar cerca de 2 minutos após o último orquestrador no namespace se desconectar379* **`ClaudeOrchestratorDisconnected`**: mantenha-o carregado a partir das [regras de alerta de exemplo](#sample-alert-rules), porque `ClaudeOrchestratorSessionsWaiting` para de disparar cerca de 2 minutos após o último orquestrador no namespace se desconectar

375 380 

381#### Alertar quando o orquestrador está fora do ar

382 

383Para saber quando o próprio [orquestrador](https://code.claude.com/docs/pt/self-hosted-environments-configuration.md#on-demand-runners) está fora do ar, carregue `ClaudeOrchestratorAbsent`. Ele dispara quando nenhum orquestrador no namespace foi raspado por 5 minutos:

384 

385```yaml theme={null}

386groups:

387 # Apenas executores sob demanda. Substitua claude-runners pelo namespace do orquestrador.

388 - name: claude-code-self-hosted-on-demand-orchestrator

389 rules:

390 - alert: ClaudeOrchestratorAbsent

391 expr: absent(claude_code_self_hosted_orchestrator_connected{namespace="claude-runners"})

392 for: 5m

393 labels: {severity: critical}

394 annotations:

395 summary: "Nenhum orquestrador foi raspado por 5 minutos. Se ele estiver fora do ar, nenhum executor sob demanda inicia e as sessões ficam aguardando. Verifique primeiro a carga de trabalho do orquestrador e, se ela estiver em execução, o alvo de raspagem dele."

396```

397 

398* **Namespace**: substitua `claude-runners` pelo namespace do orquestrador, e copie o alerta para cada namespace adicional que executa um orquestrador. Se seus alvos não tiverem o rótulo `namespace`, remova o matcher, ou o alerta disparará após 5 minutos e permanecerá ativo.

399* **Servidores Prometheus que não raspam o orquestrador**: deixe o alerta fora dos arquivos de regras deles, porque em um servidor assim ele dispara após 5 minutos e permanece ativo

400* **Não dependa dos outros alertas do orquestrador**: eles leem métricas que o próprio orquestrador serve. `ClaudeOrchestratorSessionsWaiting`, `ClaudeOrchestratorQueueWaitHigh` e as [regras de alerta de exemplo](#sample-alert-rules) do orquestrador param de disparar em cerca de 10 minutos depois que o orquestrador fica fora do ar.

401 

376### Passar através de métricas de filho de sessão402### Passar através de métricas de filho de sessão

377 403 

378Cada sessão é executada em seu próprio processo filho com suas próprias métricas OpenTelemetry; em `--capacity` acima de um, o executor reescreve como essas métricas de filho são expostas. Definir `OTEL_METRICS_EXPORTER=prometheus` no host do executor e `CLAUDE_CODE_ENABLE_TELEMETRY=1` no ambiente da sessão, por exemplo a partir de seu [script wrapper](https://code.claude.com/docs/pt/self-hosted-environments-configuration.md#wrapper-scripts) ou do próprio ambiente do executor, que as sessões herdam, re-expõe cada instrumento de contador e medidor do filho no ponto de extremidade `/metrics` do próprio executor, ao lado das séries do executor. O executor reescreve o exportador do filho para enviar por OTLP para um receptor somente de loopback na porta de saúde, marca cada série com rótulos `session_id` e `client_platform`, e remove as séries de uma sessão quando essa sessão termina. Histogramas não passam, e uma métrica de filho cujo nome colidiria com o prefixo do próprio executor é descartada.404Cada sessão é executada em seu próprio processo filho com suas próprias métricas OpenTelemetry; em `--capacity` acima de um, o executor reescreve como essas métricas de filho são expostas. Definir `OTEL_METRICS_EXPORTER=prometheus` no host do executor e `CLAUDE_CODE_ENABLE_TELEMETRY=1` no ambiente da sessão, por exemplo a partir de seu [script wrapper](https://code.claude.com/docs/pt/self-hosted-environments-configuration.md#wrapper-scripts) ou do próprio ambiente do executor, que as sessões herdam, re-expõe cada instrumento de contador e medidor do filho no ponto de extremidade `/metrics` do próprio executor, ao lado das séries do executor. O executor reescreve o exportador do filho para enviar por OTLP para um receptor somente de loopback na porta de saúde, marca cada série com rótulos `session_id` e `client_platform`, e remove as séries de uma sessão quando essa sessão termina. Histogramas não passam, e uma métrica de filho cujo nome colidiria com o prefixo do próprio executor é descartada.

Details

288 288 

289 O comando não consegue ler do teclado quando você redireciona sua entrada ou a passa por um pipe e, no macOS e Linux, ele também não consegue abrir `/dev/tty`. Se você também redirecionar sua saída ou passá-la por um pipe, a execução é não interativa, e as configurações entregues se aplicam apenas para essa execução.289 O comando não consegue ler do teclado quando você redireciona sua entrada ou a passa por um pipe e, no macOS e Linux, ele também não consegue abrir `/dev/tty`. Se você também redirecionar sua saída ou passá-la por um pipe, a execução é não interativa, e as configurações entregues se aplicam apenas para essa execução.

290* **Um erro fecha a caixa de diálogo antes de você responder**: o Claude Code não aplica as configurações entregues e mantém as últimas configurações aprovadas. Ele mostra a caixa de diálogo novamente na próxima sessão que pode mostrá-la.290* **Um erro fecha a caixa de diálogo antes de você responder**: o Claude Code não aplica as configurações entregues e mantém as últimas configurações aprovadas. Ele mostra a caixa de diálogo novamente na próxima sessão que pode mostrá-la.

291* **Uma execução não interativa**, como `claude -p`, uma sessão do Agent SDK ou uma sessão no painel de chat da extensão VS Code ou na aba Code do aplicativo desktop: o Claude Code não pode mostrar a caixa de diálogo, portanto quando as configurações entregues exigiriam aprovação, ele as aplica apenas para essa execução. Ele não as registra como aprovadas ou as escreve no [cache local](#fetch-and-caching-behavior), e a próxima sessão interativa mostra a caixa de diálogo. Até que um usuário aprove em uma sessão interativa, cada execução não interativa busca as configurações novamente na inicialização. Antes da v2.1.207, uma execução não interativa salvava as configurações como aprovadas, portanto as sessões interativas posteriores nunca mostravam a caixa de diálogo para elas.291* **Uma execução não interativa**, como `claude -p`, uma sessão do Agent SDK ou uma sessão no painel de chat da extensão VS Code ou na aba Code do aplicativo desktop: o Claude Code não pode mostrar a caixa de diálogo. Quando as configurações entregues exigiriam aprovação, elas se aplicam apenas para essa execução.

292 

293 O Claude Code não registra as configurações como aprovadas nem as escreve no [cache local](#fetch-and-caching-behavior), e a próxima sessão interativa mostra a caixa de diálogo. Até que um usuário aprove em uma sessão interativa, cada execução não interativa busca as configurações novamente na inicialização.

292 294 

293#### Variáveis de ambiente e a caixa de diálogo de aprovação295#### Variáveis de ambiente e a caixa de diálogo de aprovação

294 296 


306* `OTEL_EXPORTER_OTLP_ENDPOINT`308* `OTEL_EXPORTER_OTLP_ENDPOINT`

307* `CLAUDE_CODE_DISABLE_1M_CONTEXT`309* `CLAUDE_CODE_DISABLE_1M_CONTEXT`

308 310 

309Quando uma variável entregue precisa de aprovação, a caixa de diálogo a nomeia, portanto o usuário vê exatamente o que a política está pedindo para definir. Antes da v2.1.218, o Claude Code aplicava menos variáveis sem perguntar ao usuário, portanto configurações como `DISABLE_AUTO_COMPACT` acionavam a caixa de diálogo em qualquer valor não vazio.311Quando uma variável entregue precisa de aprovação, a caixa de diálogo a nomeia, portanto o usuário vê exatamente o que a política está pedindo para definir.

310 312 

311O Claude Code decide se quatro toggles de privacidade precisam de aprovação pelo valor entregue em vez do nome da variável: `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_ERROR_REPORTING`, `DISABLE_TELEMETRY` e `DO_NOT_TRACK`. Um valor verdadeiro como `1` ou `true` apenas desativa rastreamento, relatório ou outro tráfego não essencial, portanto o Claude Code o aplica sem perguntar ao usuário. Para qualquer outro valor não vazio, o Claude Code mostra a caixa de diálogo. Antes da v2.1.218, todos eles exceto `DO_NOT_TRACK` se aplicavam sem aprovação em qualquer valor, e `DO_NOT_TRACK` acionava a caixa de diálogo em qualquer valor não vazio.313O Claude Code decide se quatro toggles de privacidade precisam de aprovação pelo valor entregue em vez do nome da variável: `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_ERROR_REPORTING`, `DISABLE_TELEMETRY` e `DO_NOT_TRACK`. Um valor verdadeiro como `1` ou `true` apenas desativa rastreamento, relatório ou outro tráfego não essencial, portanto o Claude Code o aplica sem perguntar ao usuário. Para qualquer outro valor não vazio, o Claude Code mostra a caixa de diálogo.

312 314 

313O Claude Code também decide se [`API_FORCE_IDLE_TIMEOUT`](https://code.claude.com/docs/pt/env-vars) precisa de aprovação pelo valor entregue: um valor verdadeiro apenas ativa o [timeout de inatividade do corpo](https://code.claude.com/docs/pt/network-config.md#streaming-idle-watchdogs), portanto o Claude Code o aplica sem perguntar ao usuário. Para qualquer outro valor não vazio, o Claude Code mostra a caixa de diálogo. Antes da v2.1.248, qualquer valor não vazio acionava a caixa de diálogo.315O Claude Code também decide se [`API_FORCE_IDLE_TIMEOUT`](https://code.claude.com/docs/pt/env-vars) precisa de aprovação pelo valor entregue: um valor verdadeiro apenas ativa o [timeout de inatividade do corpo](https://code.claude.com/docs/pt/network-config.md#streaming-idle-watchdogs), portanto o Claude Code o aplica sem perguntar ao usuário. Para qualquer outro valor não vazio, o Claude Code mostra a caixa de diálogo. Antes da v2.1.248, qualquer valor não vazio acionava a caixa de diálogo.

314 316 

sessions.md +2 −2

Details

46Quando Claude Code carrega uma conversa de sua transcrição, a sessão retomada restaura a conversa junto com o estado salvo nela:46Quando Claude Code carrega uma conversa de sua transcrição, a sessão retomada restaura a conversa junto com o estado salvo nela:

47 47 

48* Histórico de conversa: as mensagens, chamadas de ferramenta e resultados. Se a sessão foi [compactada](https://code.claude.com/docs/pt/context-window.md#what-survives-compaction), a conversa abre em uma linha `Conversation compacted`. Claude continua com o resumo da última compactação, as mensagens que essa compactação deixou sem resumir e todas as mensagens desde então. As mensagens que a última compactação resumiu não são carregadas novamente.48* Histórico de conversa: as mensagens, chamadas de ferramenta e resultados. Se a sessão foi [compactada](https://code.claude.com/docs/pt/context-window.md#what-survives-compaction), a conversa abre em uma linha `Conversation compacted`. Claude continua com o resumo da última compactação, as mensagens que essa compactação deixou sem resumir e todas as mensagens desde então. As mensagens que a última compactação resumiu não são carregadas novamente.

49* Chamadas de ferramenta interrompidas: uma ferramenta que ainda estava em execução quando o processo anterior terminou, por exemplo em uma falha, não termina nem é executada novamente quando você retoma. Claude vê a chamada marcada como interrompida antes de seu resultado ser registrado e é instruído a verificar se ela teve efeito antes de executá-la novamente, a menos que [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](https://code.claude.com/docs/pt/env-vars#variables) esteja definido.49* Chamadas de ferramenta interrompidas: uma ferramenta que ainda estava em execução quando o processo anterior terminou, por exemplo em uma falha, não é executada novamente quando você retoma.

50* Modelo: a sessão continua no modelo que estava usando, exceto nos casos descritos em [Configurar seu modelo](https://code.claude.com/docs/pt/model-config.md#setting-your-model).50* Modelo: a sessão continua no modelo que estava usando, exceto nos casos descritos em [Configurar seu modelo](https://code.claude.com/docs/pt/model-config.md#setting-your-model).

51* Agente: uma sessão iniciada com [`--agent`](https://code.claude.com/docs/pt/sub-agents#invoke-subagents-explicitly) ou a configuração `agent` continua como esse agente, mantendo suas restrições de ferramentas e modelo. Passe `--agent` ao retomar para escolher um diferente; para o system prompt em ambos os casos, veja [Flags de system prompt em conversas retomadas](https://code.claude.com/docs/pt/cli-reference.md#system-prompt-flags-in-resumed-conversations). Claude Code procura o agente em dois lugares: o diretório original da sessão, desde que você tenha [confiado nesse workspace](https://code.claude.com/docs/pt/permissions.md#project-allow-rules-and-workspace-trust), e depois o diretório de onde você retoma, para que um agente com escopo de projeto ainda carregue quando você retoma de outro diretório. Se Claude Code não encontrar o agente em nenhum dos dois lugares, a sessão retoma com as ferramentas padrão e mostra um [aviso nomeando o agente](https://code.claude.com/docs/pt/errors.md#session-agent-no-longer-available).51* Agente: uma sessão iniciada com [`--agent`](https://code.claude.com/docs/pt/sub-agents#invoke-subagents-explicitly) ou a configuração `agent` continua como esse agente, mantendo suas restrições de ferramentas e modelo. Passe `--agent` ao retomar para escolher um diferente; para o system prompt em ambos os casos, veja [Flags de system prompt em conversas retomadas](https://code.claude.com/docs/pt/cli-reference.md#system-prompt-flags-in-resumed-conversations). Claude Code procura o agente em dois lugares: o diretório original da sessão, desde que você tenha [confiado nesse workspace](https://code.claude.com/docs/pt/permissions.md#project-allow-rules-and-workspace-trust), e depois o diretório de onde você retoma, para que um agente com escopo de projeto ainda carregue quando você retoma de outro diretório. Se Claude Code não encontrar o agente em nenhum dos dois lugares, a sessão retoma com as ferramentas padrão e mostra um [aviso nomeando o agente](https://code.claude.com/docs/pt/errors.md#session-agent-no-longer-available).

52* Modo de permissão: se você retomar de um terminal com `claude --continue`, `claude --resume <session-id>` ou `claude --resume <name>` quando o nome corresponde a uma sessão, sem `-p`, Claude Code restaura o modo de permissão em que a sessão estava, exceto nos casos em [modo de permissão ao retomar](#permission-mode-on-resume), que também cobre o seletor de sessão, `/resume` e retomar com `claude -p`. Passe `--permission-mode` ou `--dangerously-skip-permissions` para sobrescrever o modo restaurado.52* Modo de permissão: se você retomar de um terminal com `claude --continue`, `claude --resume <session-id>` ou `claude --resume <name>` quando o nome corresponde a uma sessão, sem `-p`, Claude Code restaura o modo de permissão em que a sessão estava, exceto nos casos em [modo de permissão ao retomar](#permission-mode-on-resume), que também cobre o seletor de sessão, `/resume` e retomar com `claude -p`. Passe `--permission-mode` ou `--dangerously-skip-permissions` para sobrescrever o modo restaurado.


224* **`/compact [instructions]`**: substitua o histórico por um resumo, opcionalmente focado no que você especificar224* **`/compact [instructions]`**: substitua o histórico por um resumo, opcionalmente focado no que você especificar

225* **`/context`**: mostrar o que está consumindo contexto atualmente225* **`/context`**: mostrar o que está consumindo contexto atualmente

226 226 

227Para saber como a compactação interage com CLAUDE.md, skills e regras, veja o [guia de janela de contexto](https://code.claude.com/docs/pt/context-window.md). Para estratégias sobre quando limpar versus compactar, veja [Melhores práticas](https://code.claude.com/docs/pt/best-practices.md#manage-your-session).227Para saber como a compactação interage com CLAUDE.md, skills e regras, veja o [guia de janela de contexto](https://code.claude.com/docs/pt/context-window.md). Para estratégias sobre quando limpar versus compactar, veja [Boas práticas](https://code.claude.com/docs/pt/best-practices.md#keep-cost-and-context-down).

228 228 

229## Exportar e localizar dados de sessão229## Exportar e localizar dados de sessão

230 230 

settings.md +1 −1

Details

326* **Configurações compartilhadas de projeto com vários repositórios**: 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](https://code.claude.com/docs/pt/cloud-environments.md#what-carries-over-from-your-setup). Para um ambiente auto-hospedado, consulte [quais configurações de repositório se aplicam](https://code.claude.com/docs/pt/self-hosted-environments-configuration.md#repository-settings-in-sessions-with-several-repositories).326* **Configurações compartilhadas de projeto com vários repositórios**: 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](https://code.claude.com/docs/pt/cloud-environments.md#what-carries-over-from-your-setup). Para um ambiente auto-hospedado, consulte [quais configurações de repositório se aplicam](https://code.claude.com/docs/pt/self-hosted-environments-configuration.md#repository-settings-in-sessions-with-several-repositories).

327* **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.327* **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.

328* **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](https://code.claude.com/docs/pt/server-managed-settings.md) da sua organização alcançam; [cobertura de superfície](https://code.claude.com/docs/pt/model-config.md#surface-coverage) lista quais sessões em nuvem as recebem. Um [ambiente auto-hospedado](https://code.claude.com/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](https://code.claude.com/docs/pt/managed-settings.md#how-claude-code-combines-managed-sources) diz quando esse arquivo se aplica.328* **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](https://code.claude.com/docs/pt/server-managed-settings.md) da sua organização alcançam; [cobertura de superfície](https://code.claude.com/docs/pt/model-config.md#surface-coverage) lista quais sessões em nuvem as recebem. Um [ambiente auto-hospedado](https://code.claude.com/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](https://code.claude.com/docs/pt/managed-settings.md#how-claude-code-combines-managed-sources) diz quando esse arquivo se aplica.

329* **`/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 na nuvem, defina uma [variável de ambiente](https://code.claude.com/docs/pt/cloud-environments.md#set-environment-variables) no ambiente. Em uma sessão com um repositório fora das threads de um projeto, você pode, em vez disso, fazer commit da chave no `.claude/settings.json` desse repositório.329* **`/config`**: no seu navegador em claude.ai/code, abre a página de configurações **Code** ou **Claude Code** do seu claude.ai em vez de alterar um valor. Para alterar uma configuração para uma sessão na nuvem, defina uma [variável de ambiente](https://code.claude.com/docs/pt/cloud-environments.md#set-environment-variables) no ambiente. Em uma sessão com um repositório fora das threads de um projeto, você pode, em vez disso, fazer commit da chave no `.claude/settings.json` desse repositório.

330 330 

331[O que é transferido de sua configuração](https://code.claude.com/docs/pt/cloud-environments.md#what-carries-over-from-your-setup) lista o resto: `CLAUDE.md`, skills, servidores MCP, plugins e credenciais.331[O que é transferido de sua configuração](https://code.claude.com/docs/pt/cloud-environments.md#what-carries-over-from-your-setup) lista o resto: `CLAUDE.md`, skills, servidores MCP, plugins e credenciais.

332 332 

Details

1293* Um comando começando com `sudo`, `eval` ou `xargs`1293* Um comando começando com `sudo`, `eval` ou `xargs`

1294* Um `cd`, `pushd` ou `popd`, onde quer que apareça na chamada1294* Um `cd`, `pushd` ou `popd`, onde quer que apareça na chamada

1295* Uma substituição de comando, um subshell ou um bloco de fluxo de controle como `if` ou `for`1295* Uma substituição de comando, um subshell ou um bloco de fluxo de controle como `if` ou `for`

1296* Um redirecionamento, como `docker build . > build.log`, outro que não apenas duplica um descritor de arquivo, como `2>&1` faz1296* Um redirecionamento, como `docker build . > build.log` ou um heredoc `<<EOF`, exceto um que apenas duplica um descritor de arquivo, como `2>&1` faz

1297* Um nome de comando que vem de uma variável1297* Um nome de comando que vem de uma variável

1298* Um `git clone`, `git init`, `git worktree add`, `git worktree move` ou `git bundle create` com um argumento de caminho que é absoluto, começa com `~` ou contém um segmento `..`1298* Um `git clone`, `git init`, `git worktree add`, `git worktree move` ou `git bundle create` com um argumento de caminho que é absoluto, começa com `~` ou contém um segmento `..`

1299 1299 


1521 1521 

1522### `sandbox.filesystem.disabled`1522### `sandbox.filesystem.disabled`

1523 1523 

1524Ignore isolamento do sistema de arquivos mantendo isolamento de rede. Comandos em sandbox obtêm acesso irrestrito de leitura e escrita ao sistema de arquivos do host, e sua saída de rede permanece confinada a [`network.allowedDomains`](#sandbox-network-alloweddomains). Use-o quando você faz sandbox para controlar onde os comandos se conectam em vez do que eles escrevem. Requer Claude Code v2.1.216 ou posterior.1524Dispensa o isolamento do sistema de arquivos, mantendo o isolamento de rede. Os comandos em sandbox obtêm acesso irrestrito de leitura e escrita ao sistema de arquivos do host, e seu tráfego de saída de rede continua restrito a [`network.allowedDomains`](#sandbox-network-alloweddomains). Use quando você usa o sandbox para controlar onde os comandos se conectam, e não o que eles gravam.

1525 1525 

1526* **Scope**: [`User or managed`](#scopes). Quando configurações gerenciadas configuram `sandbox.filesystem` de qualquer forma, ou listam uma entrada `sandbox.credentials.files` com `"mode": "deny"`, apenas configurações gerenciadas podem defini-lo.1526* **Scope**: [`User or managed`](#scopes). Quando configurações gerenciadas configuram `sandbox.filesystem` de qualquer forma, ou listam uma entrada `sandbox.credentials.files` com `"mode": "deny"`, apenas configurações gerenciadas podem defini-lo.

1527* **Type**: Boolean1527* **Type**: Boolean


1545}1545}

1546```1546```

1547 1547 

1548Com a camada desativada, Claude Code não impõe entradas `denyRead` ou `credentials.files` `deny`, enquanto entradas `credentials.envVars` e entradas `mask` aplicadas continuam funcionando. [`autoAllowBashIfSandboxed`](#sandbox-autoallowbashifsandboxed) ainda tem `true` como padrão, então defina-o como `false` para continuar solicitando. Consulte [Disable filesystem isolation](https://code.claude.com/docs/pt/sandboxing.md#disable-filesystem-isolation) para a lista completa de fontes que podem defini-lo e o que muda quando o isolamento está desativado. Requer Claude Code v2.1.216 ou posterior.1548Com a camada desativada, o Claude Code não impõe as entradas de `denyRead` nem as entradas `deny` de `credentials.files`, enquanto as entradas de `credentials.envVars` e as entradas `mask` aplicadas continuam funcionando. [`autoAllowBashIfSandboxed`](#sandbox-autoallowbashifsandboxed) continua com padrão `true`, então defina-a como `false` para continuar recebendo prompts. Consulte [Desativar o isolamento do sistema de arquivos](https://code.claude.com/docs/pt/sandboxing.md#disable-filesystem-isolation) para ver a lista completa de fontes que podem defini-la e o que muda quando o isolamento está desativado.

1549 1549 

1550### `sandbox.ignoreViolations`1550### `sandbox.ignoreViolations`

1551 1551 


2392* [`CLAUDE_CODE_RESTRICTED`](https://code.claude.com/docs/pt/env-vars#variables), que o Claude Code lê apenas do ambiente de inicialização, é ignorada em todos os arquivos.2392* [`CLAUDE_CODE_RESTRICTED`](https://code.claude.com/docs/pt/env-vars#variables), que o Claude Code lê apenas do ambiente de inicialização, é ignorada em todos os arquivos.

2393* [`CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY`](https://code.claude.com/docs/pt/env-vars#variables), que o Claude Code lê apenas do ambiente de inicialização, é ignorada em todos os arquivos. A variável requer o Claude Code v2.1.283 ou posterior.2393* [`CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY`](https://code.claude.com/docs/pt/env-vars#variables), que o Claude Code lê apenas do ambiente de inicialização, é ignorada em todos os arquivos. A variável requer o Claude Code v2.1.283 ou posterior.

2394* [`CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT`, `CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT`, `CLAUDE_CODE_DISABLE_INLINE_SHELL_RM_PROMPT` e `CLAUDE_CODE_DISABLE_MOUNTED_DRIVE_RM_PROMPT`](https://code.claude.com/docs/pt/env-vars#variables), que o Claude Code lê apenas do ambiente de inicialização, são ignoradas em todos os arquivos.2394* [`CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT`, `CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT`, `CLAUDE_CODE_DISABLE_INLINE_SHELL_RM_PROMPT` e `CLAUDE_CODE_DISABLE_MOUNTED_DRIVE_RM_PROMPT`](https://code.claude.com/docs/pt/env-vars#variables), que o Claude Code lê apenas do ambiente de inicialização, são ignoradas em todos os arquivos.

2395* [`CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS`](https://code.claude.com/docs/pt/env-vars#variables), que o Claude Code lê apenas do ambiente de inicialização, é ignorada em todos os arquivos.

2395* [`CLAUDE_CODE_WARN_DISK_FREE_GIB` e `CLAUDE_CODE_WARN_MEMORY_FREE_GIB`](https://code.claude.com/docs/pt/env-vars#variables), que o Claude Code lê apenas do ambiente de inicialização, são ignoradas em todos os arquivos. As variáveis requerem o Claude Code v2.1.304 ou posterior.2396* [`CLAUDE_CODE_WARN_DISK_FREE_GIB` e `CLAUDE_CODE_WARN_MEMORY_FREE_GIB`](https://code.claude.com/docs/pt/env-vars#variables), que o Claude Code lê apenas do ambiente de inicialização, são ignoradas em todos os arquivos. As variáveis requerem o Claude Code v2.1.304 ou posterior.

2396 2397 

2397### `fileCheckpointingEnabled`2398### `fileCheckpointingEnabled`


2716}2717}

2717```2718```

2718 2719 

2719Veja [Códigos abreviados de emoji](https://code.claude.com/docs/pt/interactive-mode.md#emoji-shortcodes). Requer Claude Code v2.1.217 ou posterior.2720Veja [Códigos abreviados de emoji](https://code.claude.com/docs/pt/interactive-mode.md#emoji-shortcodes).

2720 2721 

2721### `fileSuggestion`2722### `fileSuggestion`

2722 2723 


3691 3692 

3692### `workflowSizeGuideline`3693### `workflowSizeGuideline`

3693 3694 

3694Defina a [contagem de agentes que Claude visa](https://code.claude.com/docs/pt/workflows.md#set-a-size-guideline) nos fluxos de trabalho dinâmicos que escreve. Claude Code envia o valor para Claude como conselho, não um limite imposto: `"small"` pede menos de 5 agentes, `"medium"` menos de 10 e `"large"` menos de 50. Escolha `"small"` quando você quer limitar o que um fluxo de trabalho gasta. Requer Claude Code v2.1.219 ou posterior.3695Defina a [contagem de agentes que Claude visa](https://code.claude.com/docs/pt/workflows.md#set-a-size-guideline) nos fluxos de trabalho dinâmicos que escreve. Claude Code envia o valor para Claude como conselho, não um limite imposto: `"small"` pede menos de 5 agentes, `"medium"` menos de 10 e `"large"` menos de 50. Escolha `"small"` quando você quer limitar o que um fluxo de trabalho gasta.

3695 3696 

3696* **Escopo**: [`Qualquer arquivo`](#scopes). Um valor lá tem precedência sobre a escolha **Dynamic workflow size** em `/config`, que Claude Code armazena em `~/.claude.json`, e Claude Code oculta essa linha enquanto um arquivo de configurações define a chave.3697* **Escopo**: [`Qualquer arquivo`](#scopes). Um valor lá tem precedência sobre a escolha **Dynamic workflow size** em `/config`, que Claude Code armazena em `~/.claude.json`, e Claude Code oculta essa linha enquanto um arquivo de configurações define a chave.

3697* **Tipo**: string, um de:3698* **Tipo**: string, um de:


3707}3708}

3708```3709```

3709 3710 

3710Requer Claude Code v2.1.219 ou posterior; na v2.1.202 até v2.1.218, defina a diretriz em `/config` em vez disso.

3711 

3712## Plugins e skills3711## Plugins e skills

3713 3712 

3714Ative plugins, registre marketplaces, restrinja quais fontes de plugin sua organização permite e controle quais skills são carregadas. Para instalar e criar plugins, consulte [Plugins](https://code.claude.com/docs/pt/plugins/overview.md).3713Ative plugins, registre marketplaces, restrinja quais fontes de plugin sua organização permite e controle quais skills são carregadas. Para instalar e criar plugins, consulte [Plugins](https://code.claude.com/docs/pt/plugins/overview.md).

skills.md +5 −7

Details

83| Subcomando | O que faz | Versão mínima |83| Subcomando | O que faz | Versão mínima |

84| :- | :- | :- |84| :- | :- | :- |

85| `migrate` | Atualize seu código Claude API existente para um modelo mais recente | Anterior a v2.1.221 |85| `migrate` | Atualize seu código Claude API existente para um modelo mais recente | Anterior a v2.1.221 |

86| `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 |86| `upgrade` | Atualize o SDK Anthropic do seu projeto para uma nova versão principal e ajuste seu código às alterações incompatíveis dessa versão | v2.1.236 ou posterior |

87| `api-version` | Atualize seu código Claude API para uma [versão da API](https://platform.claude.com/docs/en/api/versioning) mais recente e, em seguida, mude suas requisições para essa versão | v2.1.307 ou posterior |87| `api-version` | Atualize seu código Claude API para uma [versão da API](https://platform.claude.com/docs/en/api/versioning) mais recente e, em seguida, mude suas requisições para essa versão | v2.1.307 ou posterior |

88| `managed-agents-onboard` | Percorra a criação de um novo Managed Agent | Anterior a v2.1.221 |88| `managed-agents-onboard` | Percorra a criação de um novo Managed Agent | Anterior a v2.1.221 |

89| `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 |89| `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 |


3713. Push to the deployment target3713. Push to the deployment target

372```372```

373 373 

374Mantenha o corpo em si conciso. Depois que uma skill é carregada, seu conteúdo [permanece no contexto ao longo dos turnos](#skill-content-lifecycle), então cada linha é um custo recorrente de tokens. Declare o que fazer em vez de narrar como ou por quê, e aplique o mesmo teste de concisão que você aplicaria ao [conteúdo do CLAUDE.md](https://code.claude.com/docs/pt/best-practices.md#write-an-effective-claude-md).374Mantenha o corpo em si conciso. Depois que uma skill é carregada, seu conteúdo [permanece no contexto ao longo dos turnos](#skill-content-lifecycle), então cada linha é um custo recorrente de tokens. Declare o que fazer em vez de narrar como ou por quê, e aplique o mesmo teste de concisão que você aplicaria ao [conteúdo do CLAUDE.md](https://code.claude.com/docs/pt/best-practices.md#keep-claude-md-short).

375 375 

376### Referência do frontmatter376### Referência do frontmatter

377 377 


388Your skill instructions here...388Your skill instructions here...

389```389```

390 390 

391Todos os campos são opcionais. Apenas `description` é recomendado para que Claude saiba quando usar a skill. O nome de um campo deve corresponder exatamente à tabela, incluindo os hifens: o Claude Code ignora um campo que não reconhece sem relatar um erro.391Todos os campos são opcionais. Apenas `description` é recomendado para que Claude saiba quando usar a skill. O nome de um campo deve corresponder exatamente à tabela, incluindo os hifens: o Claude Code ignora um campo que não reconhece sem relatar um erro. Os campos booleanos aceitam `yes`, `no`, `on`, `off`, `1` e `0` em qualquer combinação de maiúsculas e minúsculas, além de `true` e `false`.

392 392 

393O Claude Code lê o frontmatter apenas quando o `---` de abertura é a primeira linha do arquivo. Caso contrário, ele trata o arquivo inteiro, incluindo os marcadores `---`, como conteúdo da skill. Se o YAML entre os marcadores não puder ser analisado, a skill ainda será carregada sem nenhum campo definido; consulte [Skill não é acionada](#skill-not-triggering) para encontrar e corrigir o erro.393O Claude Code lê o frontmatter apenas quando o `---` de abertura é a primeira linha do arquivo. Caso contrário, ele trata o arquivo inteiro, incluindo os marcadores `---`, como conteúdo da skill. Se o YAML entre os marcadores não puder ser analisado, a skill ainda será carregada sem nenhum campo definido; consulte [Skill não é acionada](#skill-not-triggering) para encontrar e corrigir o erro.

394 394 

395Os campos booleanos aceitam `yes`, `no`, `on`, `off`, `1` e `0` em qualquer combinação de maiúsculas e minúsculas, além de `true` e `false`. Antes da v2.1.218, o Claude Code reconhecia apenas `true` e `false`.

396 

397| Campo | Obrigatório | Descrição |395| Campo | Obrigatório | Descrição |

398| :- | :- | :- |396| :- | :- | :- |

399| `name` | Não | Nome do comando exibido no menu `/`. O padrão é o nome do diretório. Consulte [Como uma skill obtém seu nome de comando](#how-a-skill-gets-its-command-name) para saber como o campo interage com o nome que você digita para invocar a skill. |397| `name` | Não | Nome do comando exibido no menu `/`. O padrão é o nome do diretório. Consulte [Como uma skill obtém seu nome de comando](#how-a-skill-gets-its-command-name) para saber como o campo interage com o nome que você digita para invocar a skill. |


409| `effort` | Não | [Nível de esforço](https://code.claude.com/docs/pt/model-config.md#adjust-effort-level) quando esta skill está ativa. Sobrescreve o nível de esforço da sessão. Quando você o omite, o nível vem da [ordem de resolução de esforço](https://code.claude.com/docs/pt/model-config.md#adjust-effort-level). Opções: `low`, `medium`, `high`, `xhigh`, `max`; os níveis disponíveis dependem do modelo. |407| `effort` | Não | [Nível de esforço](https://code.claude.com/docs/pt/model-config.md#adjust-effort-level) quando esta skill está ativa. Sobrescreve o nível de esforço da sessão. Quando você o omite, o nível vem da [ordem de resolução de esforço](https://code.claude.com/docs/pt/model-config.md#adjust-effort-level). Opções: `low`, `medium`, `high`, `xhigh`, `max`; os níveis disponíveis dependem do modelo. |

410| `context` | Não | Defina como `fork` para executar em um contexto de subagente bifurcado. Consulte [Executar skills em um subagente](#run-skills-in-a-subagent). |408| `context` | Não | Defina como `fork` para executar em um contexto de subagente bifurcado. Consulte [Executar skills em um subagente](#run-skills-in-a-subagent). |

411| `agent` | Não | Qual tipo de subagente usar quando `context: fork` está definido. |409| `agent` | Não | Qual tipo de subagente usar quando `context: fork` está definido. |

412| `background` | Não | Aplica-se apenas com `context: fork`. Defina como `false` para aguardar o resultado do subagente bifurcado no turno que invocou a skill, em vez de [executá-lo em segundo plano](#run-skills-in-a-subagent). Padrão: `true`. Requer o Claude Code v2.1.218 ou posterior. |410| `background` | Não | Aplica-se apenas com `context: fork`. Defina como `false` para aguardar o resultado do subagente bifurcado no turno que invocou a skill, em vez de [executá-lo em segundo plano](#run-skills-in-a-subagent). Padrão: `true`. |

413| `hooks` | Não | Hooks que o Claude Code registra quando a skill é invocada e mantém em execução pelo restante da sessão. Consulte [Hooks em skills e agentes](https://code.claude.com/docs/pt/hooks.md#hooks-in-skills-and-agents) para o formato de configuração, a opção `once` e os [limites dos hooks de skills](https://code.claude.com/docs/pt/hooks.md#limits-on-skill-hooks). |411| `hooks` | Não | Hooks que o Claude Code registra quando a skill é invocada e mantém em execução pelo restante da sessão. Consulte [Hooks em skills e agentes](https://code.claude.com/docs/pt/hooks.md#hooks-in-skills-and-agents) para o formato de configuração, a opção `once` e os [limites dos hooks de skills](https://code.claude.com/docs/pt/hooks.md#limits-on-skill-hooks). |

414| `paths` | Não | Padrões glob que limitam quando esta skill é ativada. Aceita uma string separada por vírgulas ou uma lista YAML. Quando definido, Claude carrega a skill automaticamente apenas ao trabalhar com arquivos que correspondem aos padrões. Os padrões são relativos ao diretório de trabalho atual de Claude, e arquivos fora desse diretório não correspondem. Usa o mesmo formato das [regras específicas de caminho](https://code.claude.com/docs/pt/memory.md#path-specific-rules). |412| `paths` | Não | Padrões glob que limitam quando esta skill é ativada. Aceita uma string separada por vírgulas ou uma lista YAML. Quando definido, Claude carrega a skill automaticamente apenas ao trabalhar com arquivos que correspondem aos padrões. Os padrões são relativos ao diretório de trabalho atual de Claude, e arquivos fora desse diretório não correspondem. Usa o mesmo formato das [regras específicas de caminho](https://code.claude.com/docs/pt/memory.md#path-specific-rules). |

415| `shell` | Não | Shell a ser usado para blocos `` !`command` `` e ` ```! ` nesta skill. Aceita `bash` (padrão) ou `powershell`. Definir `powershell` executa comandos de shell inline via PowerShell quando a [ferramenta PowerShell](https://code.claude.com/docs/pt/tools-reference.md#powershell-tool) está habilitada: ela fica ativada por padrão no Windows sem Git Bash, ativada por padrão com Git Bash para contas claude.ai e Console, e requer `CLAUDE_CODE_USE_POWERSHELL_TOOL=1` em sessões do Amazon Bedrock, Agent Platform do Google Cloud e Microsoft Foundry, e no macOS, Linux e WSL. Defina como `0` para desativar a ferramenta. |413| `shell` | Não | Shell a ser usado para blocos `` !`command` `` e ` ```! ` nesta skill. Aceita `bash` (padrão) ou `powershell`. Definir `powershell` executa comandos de shell inline via PowerShell quando a [ferramenta PowerShell](https://code.claude.com/docs/pt/tools-reference.md#powershell-tool) está habilitada: ela fica ativada por padrão no Windows sem Git Bash, ativada por padrão com Git Bash para contas claude.ai e Console, e requer `CLAUDE_CODE_USE_POWERSHELL_TOOL=1` em sessões do Amazon Bedrock, Agent Platform do Google Cloud e Microsoft Foundry, e no macOS, Linux e WSL. Defina como `0` para desativar a ferramenta. |


800>798>

801> Apesar do nome, uma skill com `context: fork` não é executada em uma [bifurcação da conversa atual](https://code.claude.com/docs/pt/sub-agents.md#fork-the-current-conversation), o que entregaria ao subagente tudo o que vocês discutiram até agora. Quando a tarefa depende desse histórico, bifurque a conversa em vez de usar `context: fork`.799> Apesar do nome, uma skill com `context: fork` não é executada em uma [bifurcação da conversa atual](https://code.claude.com/docs/pt/sub-agents.md#fork-the-current-conversation), o que entregaria ao subagente tudo o que vocês discutiram até agora. Quando a tarefa depende desse histórico, bifurque a conversa em vez de usar `context: fork`.

802 800 

803O subagente bifurcado é executado em [segundo plano](https://code.claude.com/docs/pt/sub-agents.md#run-subagents-in-foreground-or-background): você continua trabalhando enquanto ele é executado, e o resultado dele chega à sua conversa quando termina. Defina `background: false` no frontmatter para, em vez disso, aguardar o resultado no turno que invocou a skill. Antes da v2.1.218, skills bifurcadas sempre bloqueavam o turno até terminarem.801O subagente bifurcado é executado em [segundo plano](https://code.claude.com/docs/pt/sub-agents.md#run-subagents-in-foreground-or-background): você continua trabalhando enquanto ele é executado, e o resultado dele chega à sua conversa quando termina. Defina `background: false` no frontmatter para, em vez disso, aguardar o resultado no turno que invocou a skill.

804 802 

805O Claude Code também aguarda o resultado, mesmo quando a skill não define `background: false`, em casos como estes:803O Claude Code também aguarda o resultado, mesmo quando a skill não define `background: false`, em casos como estes:

806 804 

sub-agents.md +2 −9

Details

352* **ID de modelo completo**: use um ID de modelo completo como `claude-opus-5-5` ou `claude-sonnet-5`. Aceita os mesmos valores que a flag `--model`352* **ID de modelo completo**: use um ID de modelo completo como `claude-opus-5-5` ou `claude-sonnet-5`. Aceita os mesmos valores que a flag `--model`

353* **inherit**: use o mesmo modelo da conversa principal353* **inherit**: use o mesmo modelo da conversa principal

354 354 

355Quando o Claude invoca um subagente, ele também pode passar um parâmetro `model` para aquela invocação específica. O Claude Code resolve o modelo do subagente nesta ordem:355Quando o Claude invoca um subagente, ele também pode passar um parâmetro `model` para aquela invocação específica. Em uma chamada da ferramenta Agent, esse parâmetro aceita um alias de modelo: `sonnet`, `opus`, `haiku` ou `fable`. O Claude não pode passar um ID de modelo completo nem `inherit` nessa chamada. O Claude Code resolve o modelo do subagente nesta ordem:

356 356 

3571. O parâmetro `model` por invocação3571. O parâmetro `model` por invocação

3582. O frontmatter `model` da definição do subagente, em que `inherit` seleciona o modelo da conversa principal3582. O frontmatter `model` da definição do subagente, em que `inherit` seleciona o modelo da conversa principal


762 762 

763Para permitir que os hooks do frontmatter de um subagente de nível de projeto sejam executados, aceite a [caixa de diálogo de confiança do workspace](https://code.claude.com/docs/pt/permissions.md#project-allow-rules-and-workspace-trust) para a pasta que contém o arquivo do agente. Os hooks de subagentes de nível de usuário em `~/.claude/agents/` e de definições que você passa com `--agents` são executados sem essa etapa. Se você adicionou uma pasta com `--add-dir` de fora do repositório do seu workspace confiável, confie nessa pasta separadamente: os hooks do seu `.claude/agents/` não herdam a concessão do workspace.763Para permitir que os hooks do frontmatter de um subagente de nível de projeto sejam executados, aceite a [caixa de diálogo de confiança do workspace](https://code.claude.com/docs/pt/permissions.md#project-allow-rules-and-workspace-trust) para a pasta que contém o arquivo do agente. Os hooks de subagentes de nível de usuário em `~/.claude/agents/` e de definições que você passa com `--agents` são executados sem essa etapa. Se você adicionou uma pasta com `--add-dir` de fora do repositório do seu workspace confiável, confie nessa pasta separadamente: os hooks do seu `.claude/agents/` não herdam a concessão do workspace.

764 764 

765Até que você confie na pasta, o subagente ainda é executado, mas o Claude Code ignora seus hooks de frontmatter e registra no log de depuração um erro explicando como confiar na pasta. Esta é uma regra mais rigorosa do que a dos hooks em arquivos de configurações: confiar em uma pasta pai não é suficiente, e uma sessão `-p` não conta como confiável. [O que é executado antes de você confiar em uma pasta](https://code.claude.com/docs/pt/permissions.md#what-runs-before-you-trust-a-folder) compara as duas. Antes da v2.1.218, os hooks do frontmatter podiam ser executados a partir de pastas em que você não havia confiado, inclusive em sessões não interativas.765Até que você confie na pasta, o subagente ainda é executado, mas o Claude Code ignora seus hooks de frontmatter e registra no log de depuração um erro explicando como confiar na pasta. Esta é uma regra mais rigorosa do que a dos hooks em arquivos de configurações: confiar em uma pasta pai não é suficiente, e uma sessão `-p` não conta como confiável. [O que é executado antes de você confiar em uma pasta](https://code.claude.com/docs/pt/permissions.md#what-runs-before-you-trust-a-folder) compara as duas.

766 766 

767Todos os [eventos de hook](https://code.claude.com/docs/pt/hooks.md#hook-events) são suportados. Os eventos mais comuns para subagentes são:767Todos os [eventos de hook](https://code.claude.com/docs/pt/hooks.md#hook-events) são suportados. Os eventos mais comuns para subagentes são:

768 768 


1075 1075 

1076No terminal, Claude Code mostra subagentes aninhados como uma árvore no painel de subagentes abaixo da entrada de prompt e marca cada linha que ainda tem descendentes no painel com uma contagem `(+N)` deles. Abra uma linha para ver os irmãos e filhos diretos desse subagente com um caminho de volta para `main`.1076No terminal, Claude Code mostra subagentes aninhados como uma árvore no painel de subagentes abaixo da entrada de prompt e marca cada linha que ainda tem descendentes no painel com uma contagem `(+N)` deles. Abra uma linha para ver os irmãos e filhos diretos desse subagente com um caminho de volta para `main`.

1077 1077 

1078> [!NOTE]

1079>

1080> Versões anteriores usavam padrões diferentes:

1081>

1082> * **v2.1.172 a v2.1.216**: subagentes podiam aninhar por padrão, até cinco camadas de profundidade, e o limite não podia ser alterado.

1083> * **v2.1.217 a v2.1.218**: o limite era padrão para um, então um subagente não podia gerar seu próprio a menos que você o aumentasse; v2.1.219 aumentou o padrão para três.

1084 

1085### Limite de subagente concorrente1078### Limite de subagente concorrente

1086 1079 

1087Dois limites controlam o uso de subagentes, cada um com sua própria variável: este impede que Claude gere mais subagentes enquanto muitos estão em execução, e o [limite de profundidade](#let-subagents-spawn-their-own-subagents) limita o quão profundamente os subagentes se aninham. Não há limite no número total de subagentes que Claude pode gerar ao longo de uma sessão.1080Dois limites controlam o uso de subagentes, cada um com sua própria variável: este impede que Claude gere mais subagentes enquanto muitos estão em execução, e o [limite de profundidade](#let-subagents-spawn-their-own-subagents) limita o quão profundamente os subagentes se aninham. Não há limite no número total de subagentes que Claude pode gerar ao longo de uma sessão.

Details

290>290>

291> Cada [subagente](https://code.claude.com/docs/pt/sub-agents.md) e tarefa paralela é mostrado em uma das oito cores nomeadas para que você possa diferenciá-los na transcrição. Os nomes dos tokens seguem o padrão `<color>_FOR_SUBAGENTS_ONLY`, onde `<color>` é `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink` ou `cyan`. Substitua estes para alterar a aparência de cada cor nomeada. Por exemplo, um subagente com `color: blue` em sua definição é desenhado usando o valor `blue_FOR_SUBAGENTS_ONLY`.291> Cada [subagente](https://code.claude.com/docs/pt/sub-agents.md) e tarefa paralela é mostrado em uma das oito cores nomeadas para que você possa diferenciá-los na transcrição. Os nomes dos tokens seguem o padrão `<color>_FOR_SUBAGENTS_ONLY`, onde `<color>` é `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink` ou `cyan`. Substitua estes para alterar a aparência de cada cor nomeada. Por exemplo, um subagente com `color: blue` em sua definição é desenhado usando o valor `blue_FOR_SUBAGENTS_ONLY`.

292>292>

293> Claude Code renderiza a palavra-chave [`ultrathink`](https://code.claude.com/docs/pt/model-config#use-ultrathink-for-one-off-deep-reasoning) na entrada do prompt com um gradiente arco-íris de sete cores. Os nomes dos tokens seguem o padrão `rainbow_<color>` e `rainbow_<color>_shimmer`, onde `<color>` é `red`, `orange`, `yellow`, `green`, `blue`, `indigo` ou `violet`.293> Quando [`ultrathink`](https://code.claude.com/docs/pt/model-config#use-ultrathink-for-one-off-deep-reasoning) pode elevar o esforço de um turno, Claude Code renderiza a palavra na entrada do prompt com um gradiente arco-íris de sete cores. Os nomes dos tokens seguem o padrão `rainbow_<color>` e `rainbow_<color>_shimmer`, onde `<color>` é `red`, `orange`, `yellow`, `green`, `blue`, `indigo` ou `violet`.

294 294 

295## Mudar para renderização em tela cheia295## Mudar para renderização em tela cheia

296 296 

ultrareview.md +4 −2

Details

85 85 

86### Passar um pedido em palavras simples86### Passar um pedido em palavras simples

87 87 

88No Claude Code v2.1.218 ou posterior, você também pode descrever no que está trabalhando em palavras simples:88Você também pode descrever no que está trabalhando em palavras simples:

89 89 

90```text theme={null}90```text theme={null}

91/code-review ultra check my auth changes91/code-review ultra check my auth changes


159 159 

160Você consente com o fallback de repositório inteiro e com o prompt de faturamento e termos quando executa o subcomando, portanto a execução não para para confirmá-los. 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.160Você consente com o fallback de repositório inteiro e com o prompt de faturamento e termos quando executa o subcomando, portanto a execução não para para confirmá-los. 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.

161 161 

162`claude -p '/code-review ultra'` não entrega as descobertas a você, portanto use `claude ultrareview` em scripts. A execução com `-p` inicia a revisão na nuvem e sai sem aguardá-la. Quando a revisão cobraria créditos de uso, a execução com `-p` para sem iniciá-la. Antes da v2.1.218, `/code-review ultra` em uma sessão não interativa executava uma revisão local.162> [!NOTE]

163>

164> `claude -p '/code-review ultra'` não entrega as descobertas a você, portanto use `claude ultrareview` em scripts. A execução com `-p` inicia a revisão na nuvem e sai sem aguardá-la. Quando a revisão cobraria créditos de uso, a execução com `-p` para sem iniciá-la.

163 165 

164| Sinalizador | Descrição |166| Sinalizador | Descrição |

165| - | - |167| - | - |

Details

182* Você também pode clicar em **Changes** na barra de título da sessão ou no menu **⋮** da barra.182* Você também pode clicar em **Changes** na barra de título da sessão ou no menu **⋮** da barra.

183* Para mostrar o painel quando ele estiver oculto, clique no ícone **Show session rail** na barra de título da sessão ou no menu **⋮** da barra.183* Para mostrar o painel quando ele estiver oculto, clique no ícone **Show session rail** na barra de título da sessão ou no menu **⋮** da barra.

184 184 

185O diff compara as alterações da sessão contra seu branch base por padrão. Para comparar contra um branch diferente, selecione **Compare against** e escolha um.185O diff compara as alterações da sessão contra seu branch base por padrão. Para comparar contra um branch diferente, selecione **Compare against** e escolha um. Em comparação com o branch base, o diff pode [omitir alterações que ainda não foram enviadas](https://code.claude.com/docs/pt/claude-code-on-the-web.md#troubleshoot-a-missing-file-in-the-diff-view).

186 186 

187**2. Deixe comentários inline**187**2. Deixe comentários inline**

188 188 

189Selecione qualquer linha no diff, digite seu feedback e pressione Enter. Os comentários se acumulam até você enviar sua próxima mensagem, então são agrupados com ela. Claude vê "em `src/auth.ts:47`, não capture o erro aqui" ao lado de sua instrução principal, portanto você não precisa descrever onde está o problema.189Passe o mouse sobre uma linha no diff e clique no **+** que aparece ao lado do número da linha para abrir uma caixa de comentário, depois digite seu feedback e pressione Enter. Os comentários se acumulam até você enviar sua próxima mensagem, então são agrupados com ela. Claude vê "em `src/auth.ts:47`, não capture o erro aqui" ao lado de sua instrução principal, portanto você não precisa descrever onde está o problema.

190 190 

191**3. Crie um pull request**191**3. Crie um pull request**

192 192 

workflows.md +5 −9

Details

155* O [limite de subagentos simultâneos](https://code.claude.com/docs/pt/sub-agents.md#concurrent-subagent-limit) da sessão não é aplicado para os subagentos que Claude spawna com a ferramenta Agent155* O [limite de subagentos simultâneos](https://code.claude.com/docs/pt/sub-agents.md#concurrent-subagent-limit) da sessão não é aplicado para os subagentos que Claude spawna com a ferramenta Agent

156* Em modo de permissão automática, você não é solicitado a [aprovar o primeiro lançamento de fluxo de trabalho](#approve-the-plan-before-it-runs)156* Em modo de permissão automática, você não é solicitado a [aprovar o primeiro lançamento de fluxo de trabalho](#approve-the-plan-before-it-runs)

157 157 

158`/effort ultracode` dura para a sessão atual; para ter cada sessão iniciada com ele, defina a configuração [`ultracode`](https://code.claude.com/docs/pt/settings-reference#ultracode). Desative-o com `/effort ultracode off` quando retornar ao trabalho de rotina. O controle deslizante `/effort` oferece o botão apenas [quando ultracode está disponível](https://code.claude.com/docs/pt/model-config.md#when-ultracode-is-available).158`/effort ultracode` dura para a sessão atual; para ter cada sessão iniciada com ele, defina a configuração [`ultracode`](https://code.claude.com/docs/pt/settings-reference#ultracode). Desative-o com `/effort ultracode off` quando retornar ao trabalho de rotina. O controle deslizante `/effort` oferece o botão apenas [quando ultracode está disponível](https://code.claude.com/docs/pt/model-config.md#when-ultracode-is-available). Antes da v2.1.284, `/effort ultracode` definia a sessão como `xhigh`, e `/effort ultracode off` falhava com `Invalid argument`.

159 159 

160### Aprovar o plano antes de ser executado160### Aprovar o plano antes de ser executado

161 161 


198* `.claude/workflows/` em seu projeto: compartilhado com todos que clonam o repositório198* `.claude/workflows/` em seu projeto: compartilhado com todos que clonam o repositório

199* `~/.claude/workflows/` em seu diretório inicial: disponível em cada projeto, visível apenas para você. Se você definir [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/pt/env-vars), este local é o diretório `workflows/` sob esse caminho.199* `~/.claude/workflows/` em seu diretório inicial: disponível em cada projeto, visível apenas para você. Se você definir [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/pt/env-vars), este local é o diretório `workflows/` sob esse caminho.

200 200 

201A caixa de diálogo de salvamento mostra o caminho resolvido para o local pessoal.201A caixa de diálogo de salvamento mostra o caminho resolvido para o local pessoal. Pressione Enter para salvar. O fluxo de trabalho é executado como `/<name>` em futuras sessões de qualquer local.

202 202 

203Pressione Enter para salvar. O fluxo de trabalho é executado como `/<name>` em futuras sessões de qualquer local.203Claude Code verifica o local de salvamento para symlinks antes de escrever e mostra um erro em vez de escrever através de um:

204 

205Claude Code verifica o local de salvamento para symlinks antes de escrever e mostra um erro em vez de escrever através de um. O que ele verifica depende de onde você salva:

206 204 

207* Local do projeto: Claude Code recusa se `.claude`, `.claude/workflows` ou o arquivo de destino for um symlink.205* Local do projeto: Claude Code recusa se `.claude`, `.claude/workflows` ou o arquivo de destino for um symlink.

208* Local pessoal: Claude Code recusa apenas se o arquivo de destino em si for um symlink, então um diretório `~/.claude` gerenciado por uma ferramenta de dotfiles ainda funciona.206* Local pessoal: Claude Code recusa apenas se o arquivo de destino em si for um symlink, então um diretório `~/.claude` gerenciado por uma ferramenta de dotfiles ainda funciona.

209 207 

210Antes da v2.1.216, Claude Code seguia o link, o que poderia colocar o arquivo fora do local que você escolheu.

211 

212Em um monorepo com vários diretórios `.claude/`, você pode manter fluxos de trabalho ao lado do pacote ao qual se aplicam. Salvar no local do projeto escreve no diretório `.claude/workflows/` mais próximo que já existe entre seu diretório de trabalho e a raiz do repositório, ou para a raiz do repositório se nenhum existir ainda. Os fluxos de trabalho do projeto também carregam de cada `.claude/workflows/` ao longo desse caminho, e quando mais de um define o mesmo nome Claude Code executa o mais próximo do diretório de trabalho.208Em um monorepo com vários diretórios `.claude/`, você pode manter fluxos de trabalho ao lado do pacote ao qual se aplicam. Salvar no local do projeto escreve no diretório `.claude/workflows/` mais próximo que já existe entre seu diretório de trabalho e a raiz do repositório, ou para a raiz do repositório se nenhum existir ainda. Os fluxos de trabalho do projeto também carregam de cada `.claude/workflows/` ao longo desse caminho, e quando mais de um define o mesmo nome Claude Code executa o mais próximo do diretório de trabalho.

213 209 

214Se um fluxo de trabalho de projeto e um fluxo de trabalho pessoal compartilham um nome, o do projeto é executado.210Se um fluxo de trabalho de projeto e um fluxo de trabalho pessoal compartilham um nome, o do projeto é executado.


469| `medium` | Menos de 10 agentes |465| `medium` | Menos de 10 agentes |

470| `large` | Menos de 50 agentes |466| `large` | Menos de 50 agentes |

471 467 

472O padrão é `medium`, ou `small` quando você está conectado em um plano Pro com Claude Code v2.1.271 ou posterior. Até você escolher um valor, a linha `/config` marca o valor como padrão, e a linha `Running in background` do fluxo de trabalho nomeia o tamanho em vigor. Requer Claude Code v2.1.219 ou posterior; versões anteriores padrão para `unrestricted`.468O padrão é `medium`, ou `small` quando você está conectado em um plano Pro com Claude Code v2.1.271 ou posterior. Até você escolher um valor, a linha `/config` marca o valor como padrão, e a linha `Running in background` do fluxo de trabalho nomeia o tamanho em vigor.

473 469 

474Para alterar a diretriz, escolha um valor para a configuração Dynamic workflow size em `/config`, ou execute `/config workflowSizeGuideline=small`. Na v2.1.219 e posterior, você também pode definir a chave [`workflowSizeGuideline`](https://code.claude.com/docs/pt/settings-reference#workflowsizeguideline) em qualquer arquivo de configurações; esse valor tem precedência sobre `/config`, e Claude Code oculta a linha `/config` enquanto um arquivo de configurações fornece um.470Para alterar a diretriz, escolha um valor para a configuração Dynamic workflow size em `/config`, ou execute `/config workflowSizeGuideline=small`. Você também pode definir a [chave `workflowSizeGuideline`](https://code.claude.com/docs/pt/settings-reference#workflowsizeguideline) em qualquer arquivo de configurações; esse valor tem precedência sobre `/config`, e Claude Code oculta a linha `/config` enquanto um arquivo de configurações fornece um.

475 471 

476As alterações entram em vigor no próximo prompt. Os [limites de agente do runtime](#behavior-and-limits) ainda se aplicam independentemente da configuração.472As alterações entram em vigor no próximo prompt. Os [limites de agente do runtime](#behavior-and-limits) ainda se aplicam independentemente da configuração.

477 473 

worktrees.md +22 −10

Details

43 43 

44Você também pode pedir ao Claude para "trabalhar em uma worktree" durante uma sessão, e ele cria uma com a ferramenta [`EnterWorktree`](https://code.claude.com/docs/pt/tools-reference). Uma vez em uma worktree, Claude pode alternar diretamente para outra em `.claude/worktrees/` chamando `EnterWorktree` com o caminho de destino; a worktree anterior permanece no disco intacta.44Você também pode pedir ao Claude para "trabalhar em uma worktree" durante uma sessão, e ele cria uma com a ferramenta [`EnterWorktree`](https://code.claude.com/docs/pt/tools-reference). Uma vez em uma worktree, Claude pode alternar diretamente para outra em `.claude/worktrees/` chamando `EnterWorktree` com o caminho de destino; a worktree anterior permanece no disco intacta.

45 45 

46Quando Claude entra em um caminho fora do diretório `.claude/worktrees/` do repositório, Claude Code solicita sua aprovação primeiro, porque a mudança leva o diretório de trabalho da sessão, acesso de escrita e configuração do projeto como `CLAUDE.md` e configurações para esse local. Uma regra de permissão [`EnterWorktree`](https://code.claude.com/docs/pt/permissions) ou escolher "não perguntar novamente" não suprime este prompt; apenas o modo `bypassPermissions` o ignora. Antes da v2.1.206, Claude podia entrar em qualquer caminho de worktree existente sem perguntar.46Quando Claude entra em um caminho fora do diretório `.claude/worktrees/` do repositório, Claude Code solicita sua aprovação primeiro. A mudança leva o diretório de trabalho da sessão, acesso de escrita e configuração do projeto como `CLAUDE.md` e configurações para esse local. Uma [regra de permissão](https://code.claude.com/docs/pt/permissions.md) `EnterWorktree` ou escolher "não perguntar novamente" não suprime este prompt; apenas o modo `bypassPermissions` o ignora.

47 47 

48> [!NOTE]48> [!NOTE]

49>49>


63 63 

64Execuções não interativas com `-p` não têm prompt de saída, então Claude não limpa suas worktrees, e Claude Code deixa o bloqueio que tomou em cada uma na criação em vigor até que uma [varredura de bloqueio obsoleto](#clean-up-subagent-and-background-session-worktrees) posterior o libere. Para remover uma, execute `git worktree remove`; se git recusar porque a worktree está bloqueada, execute `git worktree unlock` nela primeiro.64Execuções não interativas com `-p` não têm prompt de saída, então Claude não limpa suas worktrees, e Claude Code deixa o bloqueio que tomou em cada uma na criação em vigor até que uma [varredura de bloqueio obsoleto](#clean-up-subagent-and-background-session-worktrees) posterior o libere. Para remover uma, execute `git worktree remove`; se git recusar porque a worktree está bloqueada, execute `git worktree unlock` nela primeiro.

65 65 

66No Windows, remover uma worktree não deleta arquivos fora dela. Se uma pasta dentro da worktree é um link para outro lugar, como uma junção NTFS ou um symlink de diretório, Claude Code deleta apenas o link e mantém a pasta para a qual aponta. Antes da v2.1.205, remover uma worktree com um link aninhado em um subdiretório poderia deletar a pasta para a qual apontava.66No Windows, remover um worktree não deleta arquivos fora dele. Se uma pasta dentro do worktree for um link para outro lugar, como uma junção NTFS ou um link simbólico de diretório, Claude Code deleta apenas o link.

67 67 

68## Retome uma sessão de worktree68## Retome uma sessão de worktree

69 69 


81>81>

82> Antes da v2.1.212, uma retoma não interativa ficava no diretório inicial e `ExitWorktree` relatava que não havia sessão de worktree ativa para sair.82> Antes da v2.1.212, uma retoma não interativa ficava no diretório inicial e `ExitWorktree` relatava que não havia sessão de worktree ativa para sair.

83 83 

84Quando Claude entra ou sai de uma worktree que Claude Code criou com git, a transcrição segue: Claude Code registra a sessão no novo diretório de trabalho da sessão, da mesma forma que [`/cd`](https://code.claude.com/docs/pt/commands) faz, então `/desktop` e `--resume` a encontram lá. Sair a move de volta da mesma forma. Uma worktree criada por um hook [`WorktreeCreate`](#non-git-version-control) mantém sua transcrição no diretório de inicialização. Requer Claude Code v2.1.198 ou posterior.84Quando Claude entra ou sai de um worktree que Claude Code criou com git, a transcrição acompanha. Claude Code registra a sessão no novo diretório de trabalho da sessão, da mesma forma que [`/cd`](https://code.claude.com/docs/pt/commands) faz, então `/desktop` e `--resume` a encontram lá. Sair a move de volta da mesma forma. Um worktree criado por um hook [`WorktreeCreate`](#non-git-version-control) mantém sua transcrição no diretório de inicialização.

85 85 

86## Como Claude Code impõe isolamento86## Como Claude Code impõe isolamento

87 87 


139 139 

140Claude Code escreve um marcador nos metadados git de cada worktree que cria com git, e a varredura mantém qualquer worktree sem um, incluindo uma worktree que um hook [`WorktreeCreate`](#non-git-version-control) criou.140Claude Code escreve um marcador nos metadados git de cada worktree que cria com git, e a varredura mantém qualquer worktree sem um, incluindo uma worktree que um hook [`WorktreeCreate`](#non-git-version-control) criou.

141 141 

142#### Bloqueios de worktree e remoção manual

143 

142Enquanto um agente está em execução, Claude Code mantém um `git worktree lock` em sua worktree para que limpeza simultânea não possa removê-la, e libera o bloqueio quando o agente termina. Claude Code mantém o mesmo bloqueio na worktree que criou para uma sessão em segundo plano enquanto a sessão executa, para que a varredura deixe a worktree no lugar e `git worktree remove` recuse removê-la.144Enquanto um agente está em execução, Claude Code mantém um `git worktree lock` em sua worktree para que limpeza simultânea não possa removê-la, e libera o bloqueio quando o agente termina. Claude Code mantém o mesmo bloqueio na worktree que criou para uma sessão em segundo plano enquanto a sessão executa, para que a varredura deixe a worktree no lugar e `git worktree remove` recuse removê-la.

143 145 

144A varredura também libera um bloqueio que Claude Code definiu para uma sessão cujo processo saiu, para que uma sessão em segundo plano morta não deixe sua worktree permanentemente bloqueada. A varredura nunca libera um bloqueio que você definiu você mesmo com `git worktree lock`. Antes da v2.1.210, um bloqueio deixado por uma sessão morta ficava no lugar até que você executasse `git worktree unlock`.146A varredura também libera um bloqueio que Claude Code definiu para uma sessão cujo processo saiu, para que uma sessão em segundo plano morta não deixe seu worktree permanentemente bloqueado. A varredura nunca libera um bloqueio que você definiu você mesmo com `git worktree lock`.

145 147 

146Para limpar uma worktree que a varredura mantém, execute `git worktree remove`, adicionando `--force` se a worktree tiver alterações não confirmadas ou arquivos não rastreados. Se git recusar porque a worktree está bloqueada, execute `git worktree unlock` nela primeiro.148Para limpar uma worktree que a varredura mantém, execute `git worktree remove`, adicionando `--force` se a worktree tiver alterações não confirmadas ou arquivos não rastreados. Se git recusar porque a worktree está bloqueada, execute `git worktree unlock` nela primeiro.

147 149 


158 160 

159Você não pode definir `worktree.baseRef` para um nome de branch. Para iniciar uma worktree de um branch existente específico, [crie-a com git diretamente](#manage-worktrees-manually).161Você não pode definir `worktree.baseRef` para um nome de branch. Para iniciar uma worktree de um branch existente específico, [crie-a com git diretamente](#manage-worktrees-manually).

160 162 

161Para uma base `"fresh"`, Claude Code mantém `origin/HEAD` atual: quando o repositório não foi buscado nas últimas 24 horas, ele busca a branch padrão, limitado a cinco segundos, e usa a ref localmente armazenada em cache se a busca falhar. A busca nunca espera por entrada no seu terminal, então ela também conta como falha quando git ou ssh pediriam uma senha, uma passphrase de chave ou a confirmação de um novo host SSH. Se nenhum remoto estiver configurado, ou `origin/HEAD` não estiver armazenado em cache localmente e não puder ser buscado, a worktree volta para seu `HEAD` local atual. Antes da v2.1.208, uma worktree fresca usava qualquer `origin/HEAD` que já estivesse armazenado em cache localmente.163Para uma base `"fresh"`, Claude Code mantém `origin/HEAD` atualizado:

164 

165* Quando o repositório não foi buscado nas últimas 24 horas, ele busca o branch padrão, limitado a cinco segundos, e usa a ref armazenada em cache localmente se a busca falhar.

166* A busca nunca espera por entrada no seu terminal. Ela também conta como falha quando git ou ssh pediriam uma senha, uma passphrase de chave ou a confirmação de um novo host SSH.

167* Se nenhum remoto estiver configurado, ou `origin/HEAD` não estiver armazenado em cache localmente e não puder ser buscado, o worktree volta para seu `HEAD` local atual.

162 168 

163Este exemplo faz cada nova worktree fazer branch do seu trabalho atual:169Este exemplo faz cada nova worktree fazer branch do seu trabalho atual:

164 170 


210 216 

211Passar `--worktree` um nome cujo diretório já existe abre essa worktree existente em vez de criar uma nova.217Passar `--worktree` um nome cujo diretório já existe abre essa worktree existente em vez de criar uma nova.

212 218 

213Com a [base](#choose-the-base-branch) padrão `"fresh"`, uma worktree reabierta redefine para a branch padrão do repositório em vez de continuar em sua ponta antiga quando todos os seguintes se aplicam:219Com a [base](#choose-the-base-branch) padrão `"fresh"`, um worktree reaberto é redefinido para o branch padrão do repositório em vez de continuar em sua ponta antiga quando todas as seguintes condições se aplicam:

214 220 

215* Não tem alterações não confirmadas ou arquivos não rastreados.221* Não tem alterações não confirmadas ou arquivos não rastreados.

216* Ainda está na branch que Claude Code criou para ela.222* Ainda está na branch que Claude Code criou para ela.


225* `worktree.baseRef` é `"head"`.231* `worktree.baseRef` é `"head"`.

226* O nome é uma referência de pull request ou merge request.232* O nome é uma referência de pull request ou merge request.

227 233 

228Antes da v2.1.208, quando você reutilizava um nome, Claude Code sempre reabia a worktree antiga em sua ponta antiga.

229 

230### Substitua a criação de worktree com um hook234### Substitua a criação de worktree com um hook

231 235 

232Configure um hook [`WorktreeCreate`](https://code.claude.com/docs/pt/hooks#worktreecreate) para substituir completamente a lógica padrão de `git worktree`, incluindo colocar worktrees em outro lugar que não `.claude/worktrees/`. Para um exemplo completo, consulte [Controle de versão não-git](#non-git-version-control).236Configure um hook [`WorktreeCreate`](https://code.claude.com/docs/pt/hooks#worktreecreate) para substituir completamente a lógica padrão de `git worktree`, incluindo colocar worktrees em outro lugar que não `.claude/worktrees/`. Para um exemplo completo, consulte [Controle de versão não-git](#non-git-version-control).


236Uma worktree obtém seus próprios arquivos e branch, mas compartilha o seguinte com o checkout principal:240Uma worktree obtém seus próprios arquivos e branch, mas compartilha o seguinte com o checkout principal:

237 241 

238* **O diretório `.git` do repositório**: comandos git em uma worktree escrevem no diretório `.git` compartilhado do repositório principal, e [sandboxing](https://code.claude.com/docs/pt/sandboxing.md#filesystem-isolation) permite essas escritas, então comandos como `git commit` funcionam de dentro de uma worktree com a sandbox ativada.242* **O diretório `.git` do repositório**: comandos git em uma worktree escrevem no diretório `.git` compartilhado do repositório principal, e [sandboxing](https://code.claude.com/docs/pt/sandboxing.md#filesystem-isolation) permite essas escritas, então comandos como `git commit` funcionam de dentro de uma worktree com a sandbox ativada.

239* **Plugins**: plugins instalados em [escopo de projeto](https://code.claude.com/docs/pt/plugins/loading.md#find-where-a-plugin-is-enabled) do checkout principal também carregam em worktrees do mesmo repositório, então você não precisa reinstalá-los por worktree. Requer Claude Code v2.1.200 ou posterior.243* **Plugins**: plugins instalados em [escopo de projeto](https://code.claude.com/docs/pt/plugins/loading.md#find-where-a-plugin-is-enabled) do checkout principal também carregam em worktrees do mesmo repositório, então você não precisa reinstalá-los por worktree.

240* **Aprovações de permissão**: escolher "Sim, e não pergunte novamente" para um comando Bash em uma sessão de worktree salva a regra no `.claude/settings.local.json` do checkout principal, para que se aplique no checkout principal e em cada outra worktree do repositório, e sobreviva à remoção da worktree. No Windows e nos outros casos onde Claude Code [não usa a raiz do repositório](https://code.claude.com/docs/pt/settings.md#where-claude-code-looks-for-each-file), a regra fica com essa worktree. Antes da v2.1.211, uma aprovação concedida em uma worktree era salva dentro dessa worktree, não se aplicava em outro lugar, e era perdida quando a worktree era removida. Consulte [onde as aprovações são salvas](https://code.claude.com/docs/pt/permissions.md#permission-system).244* **Aprovações de permissão**: escolher "Sim, e não pergunte novamente" para um comando Bash em uma sessão de worktree salva a regra no `.claude/settings.local.json` do checkout principal. A regra se aplica no checkout principal e em cada outro worktree do repositório, e sobrevive à remoção do worktree.

245 

246 No Windows e nos outros casos em que Claude Code [não usa a raiz do repositório](https://code.claude.com/docs/pt/settings.md#where-claude-code-looks-for-each-file), a regra fica com esse worktree. Consulte [onde as aprovações são salvas](https://code.claude.com/docs/pt/permissions.md#permission-system).

241* **Skills, agentes e comandos não rastreados**: quando o checkout da worktree não tem um diretório `.claude/skills` em sua raiz, por exemplo porque seu `.claude/skills` é gitignored, Claude Code carrega as [skills de projeto](https://code.claude.com/docs/pt/skills.md#where-skills-live) do checkout principal na sessão da worktree. Em uma worktree com seu próprio diretório `.claude/skills`, apenas essa cópia carrega.247* **Skills, agentes e comandos não rastreados**: quando o checkout da worktree não tem um diretório `.claude/skills` em sua raiz, por exemplo porque seu `.claude/skills` é gitignored, Claude Code carrega as [skills de projeto](https://code.claude.com/docs/pt/skills.md#where-skills-live) do checkout principal na sessão da worktree. Em uma worktree com seu próprio diretório `.claude/skills`, apenas essa cópia carrega.

242 248 

243 A mesma leitura abrange `.claude/agents` e `.claude/commands`. Para skills, a leitura requer Claude Code v2.1.277 ou posterior.249 A mesma leitura abrange `.claude/agents` e `.claude/commands`. Para skills, a leitura requer Claude Code v2.1.277 ou posterior.


322 328 

323Claude Code recusa criar uma worktree quando `.claude`, `.claude/worktrees`, ou o diretório da worktree em si é um symlink, e o erro nomeia o caminho symlinked. Remova o symlink e tente novamente. Antes da v2.1.212, se o repositório já continha um symlink confirmado em um desses caminhos, a criação de worktree o seguia e poderia criar arquivos fora do repositório.329Claude Code recusa criar uma worktree quando `.claude`, `.claude/worktrees`, ou o diretório da worktree em si é um symlink, e o erro nomeia o caminho symlinked. Remova o symlink e tente novamente. Antes da v2.1.212, se o repositório já continha um symlink confirmado em um desses caminhos, a criação de worktree o seguia e poderia criar arquivos fora do repositório.

324 330 

331### Um worktree que Claude Code criou tem o conteúdo original de objetos substituídos

332 

333Se o seu repositório usa [`git replace`](https://git-scm.com/docs/git-replace), os arquivos em um worktree que Claude Code cria contêm o conteúdo dos objetos originais em vez das substituições que suas entradas `refs/replace/` nomeiam. Claude Code executa os comandos git que fazem o checkout dos arquivos do worktree com `GIT_NO_REPLACE_OBJECTS=1`, ignorando qualquer valor que você tenha exportado para essa variável.

334 

335Para obter o conteúdo substituído, [crie o worktree você mesmo](#manage-worktrees-manually) com `git worktree add` e inicie Claude Code dentro dele.

336 

325### Arquivos Git LFS são arquivos de ponteiro em uma worktree que Claude Code criou337### Arquivos Git LFS são arquivos de ponteiro em uma worktree que Claude Code criou

326 338 

327Se você configurou [Git LFS](https://git-lfs.com) com `git lfs install --local`, uma worktree que Claude Code cria contém arquivos de ponteiro LFS em vez dos arquivos reais. O sinalizador `--local` escreve o filtro LFS no `.git/config` do repositório em vez de sua configuração git global. Um `git lfs install` simples escreve em sua configuração global e não é afetado. O mesmo se aplica a qualquer outro [driver de filtro](https://git-scm.com/docs/gitattributes) definido na configuração do repositório em si.339Se você configurou [Git LFS](https://git-lfs.com) com `git lfs install --local`, uma worktree que Claude Code cria contém arquivos de ponteiro LFS em vez dos arquivos reais. O sinalizador `--local` escreve o filtro LFS no `.git/config` do repositório em vez de sua configuração git global. Um `git lfs install` simples escreve em sua configuração global e não é afetado. O mesmo se aplica a qualquer outro [driver de filtro](https://git-scm.com/docs/gitattributes) definido na configuração do repositório em si.