SpyBara
Go Premium

Documentation 2026-10-01 23:59 UTC to 2026-10-02 02:02 UTC

38 files changed +1,939 −1,216. View all changes and history on the product overview
2026
Fri 2 03:00 Thu 1 23:59

accessibility.md +11 −5

Details

44| [`CLAUDE_AX_SCREEN_READER`](/docs/pt/env-vars#variables) | Variável de ambiente | Modo leitor de tela para sessões iniciadas a partir do shell onde você a define. |44| [`CLAUDE_AX_SCREEN_READER`](/docs/pt/env-vars#variables) | Variável de ambiente | Modo leitor de tela para sessões iniciadas a partir do shell onde você a define. |

45| [`axScreenReader`](/docs/pt/settings-reference#axscreenreader) | Configuração | Modo leitor de tela para cada sessão quando `true`. |45| [`axScreenReader`](/docs/pt/settings-reference#axscreenreader) | Configuração | Modo leitor de tela para cada sessão quando `true`. |

46| [`CLAUDE_AX_STARTUP_QUIET_MS`](/docs/pt/env-vars#variables) | Variável de ambiente | Quanto tempo Claude Code aguarda após a linha de confirmação antes de desenhar o primeiro prompt no modo leitor de tela. Requer Claude Code v2.1.217 ou posterior. |46| [`CLAUDE_AX_STARTUP_QUIET_MS`](/docs/pt/env-vars#variables) | Variável de ambiente | Quanto tempo Claude Code aguarda após a linha de confirmação antes de desenhar o primeiro prompt no modo leitor de tela. Requer Claude Code v2.1.217 ou posterior. |

47| [`CLAUDE_AX_PREPARK_MS`](/docs/pt/env-vars#variables) | Variável de ambiente | Quanto tempo Claude Code aguarda, com o cursor no início da linha, antes de escrever uma linha nova ou alterada no modo leitor de tela. Requer Claude Code v2.1.233 ou posterior. |47| [`CLAUDE_AX_PREPARK_MS`](/docs/pt/env-vars#variables) | Variável de ambiente | Quando você a define, por quantos milissegundos Claude Code mantém o cursor do terminal no início da linha atual antes de escrever uma linha nova ou alterada no modo leitor de tela. Requer Claude Code v2.1.233 ou posterior. |

48| [`CLAUDE_CODE_ACCESSIBILITY`](/docs/pt/env-vars#variables) | Variável de ambiente | Um cursor de terminal que permanece visível para ampliadores de tela como macOS Zoom quando você o define como `1`. O cursor segue o cursor de entrada e, no Claude Code v2.1.218 ou posterior, a linha destacada em menus e painéis como `/config` e `/plugin`. |48| [`CLAUDE_CODE_ACCESSIBILITY`](/docs/pt/env-vars#variables) | Variável de ambiente | Um cursor de terminal que permanece visível para ampliadores de tela como macOS Zoom quando você o define como `1`. O cursor segue o cursor de entrada e, no Claude Code v2.1.218 ou posterior, a linha destacada em menus e painéis como `/config` e `/plugin`. |

49| [`prefersReducedMotion`](/docs/pt/settings-reference#prefersreducedmotion) | Configuração | Spinners reduzidos ou sem spinners, shimmer e outras animações quando `true`. |49| [`prefersReducedMotion`](/docs/pt/settings-reference#prefersreducedmotion) | Configuração | Spinners reduzidos ou sem spinners, shimmer e outras animações quando `true`. |

50| [`theme`](/docs/pt/settings-reference#theme) | Configuração | As cores da interface, incluindo os temas amigáveis para daltônicos `dark-daltonized` e `light-daltonized`. Você também pode escolher um com [`/theme`](/docs/pt/commands#all-commands). |50| [`theme`](/docs/pt/settings-reference#theme) | Configuração | As cores da interface, incluindo os temas amigáveis para daltônicos `dark-daltonized` e `light-daltonized`. Você também pode escolher um com [`/theme`](/docs/pt/commands#all-commands). |


60* Sem pistas apenas de cor60* Sem pistas apenas de cor

61* Sem redesenhos de conteúdo que não mudou. Spinners de progresso são renderizados como texto estático61* Sem redesenhos de conteúdo que não mudou. Spinners de progresso são renderizados como texto estático

62* Tabelas nas respostas do Claude são lidas como sentenças `Header: value` em vez de uma grade com caracteres de caixa62* Tabelas nas respostas do Claude são lidas como sentenças `Header: value` em vez de uma grade com caracteres de caixa

63* Diffs são lidos como texto simples, linha por linha, com `+` e `-` marcando as linhas adicionadas e removidas, para que você possa ouvir a alteração proposta em um prompt de aprovação de edição de arquivo antes de respondê-lo

63 64 

64Claude Code deixa tudo que imprime no scrollback do seu terminal, para que você possa reler turnos anteriores com os comandos de revisão do seu leitor de tela ou a busca do seu terminal. Claude Code ignora a configuração [`tui`](/docs/pt/settings-reference#tui) no modo leitor de tela. Além das sessões em background anexadas listadas em [Limitações conhecidas](#known-limitations), ele imprime texto rolável em vez de [renderização em tela cheia](/docs/pt/fullscreen).65Claude Code deixa tudo que imprime no scrollback do seu terminal, para que você possa reler turnos anteriores com os comandos de revisão do seu leitor de tela ou a busca do seu terminal. Claude Code ignora a configuração [`tui`](/docs/pt/settings-reference#tui) no modo leitor de tela. Além das sessões em background anexadas listadas em [Limitações conhecidas](#known-limitations), ele imprime texto rolável em vez de [renderização em tela cheia](/docs/pt/fullscreen).

65 66 

66Claude Code também aguarda em dois pontos para que seu leitor de tela possa acompanhar:67Depois que Claude Code imprime a [linha de confirmação](#turn-on-screen-reader-mode) na inicialização, ele aguarda 3 segundos antes de desenhar o prompt, para que seu leitor de tela possa terminar a linha. Pressione qualquer tecla para encerrar a espera. Para alterar o comprimento da espera, defina [`CLAUDE_AX_STARTUP_QUIET_MS`](/docs/pt/env-vars#variables).

67 

68* Depois que Claude Code imprime a linha de confirmação, ele aguarda 3 segundos antes de desenhar o prompt, para que seu leitor de tela possa terminar a linha. Pressione qualquer tecla para encerrar a espera. Para alterar o comprimento da espera, defina [`CLAUDE_AX_STARTUP_QUIET_MS`](/docs/pt/env-vars#variables).

69* Antes de Claude Code escrever uma linha nova ou alterada, como uma dica ou mais da resposta do Claude, ele move o cursor para o início da linha e aguarda 50 milissegundos. Seu leitor de tela então lê a linha a partir de seu primeiro caractere. Caracteres que você digita ou deleta no final da linha de entrada aparecem imediatamente. Para alterar o comprimento da espera, defina [`CLAUDE_AX_PREPARK_MS`](/docs/pt/env-vars#variables).

70 68 

71Cada mensagem na transcrição começa com um rótulo que seu leitor de tela anuncia, nomeando o que é: suas mensagens, respostas e pensamentos do Claude, atividade de ferramentas, erros e avisos, e prompts. Os rótulos também são pesquisáveis, para que você possa pular entre seções da transcrição pesquisando o scrollback do seu terminal:69Cada mensagem na transcrição começa com um rótulo que seu leitor de tela anuncia, nomeando o que é: suas mensagens, respostas e pensamentos do Claude, atividade de ferramentas, erros e avisos, e prompts. Os rótulos também são pesquisáveis, para que você possa pular entre seções da transcrição pesquisando o scrollback do seu terminal:

72 70 


94 92 

95Quando você alterna [modos de permissão](/docs/pt/permission-modes) com `Shift+Tab`, Claude Code anuncia o modo de permissão em que você chega, como `[plan mode on]` ou `[accept edits on]`. Claude Code imprime o anúncio uma vez e não o repete em redesenhos posteriores.93Quando você alterna [modos de permissão](/docs/pt/permission-modes) com `Shift+Tab`, Claude Code anuncia o modo de permissão em que você chega, como `[plan mode on]` ou `[accept edits on]`. Claude Code imprime o anúncio uma vez e não o repete em redesenhos posteriores.

96 94 

95<h3 id="read-earlier-output-without-losing-your-place">

96 Ler a saída anterior sem perder seu lugar

97</h3>

98 

99Se seu leitor de tela volta para o prompt enquanto você está lendo a saída anterior, ele está seguindo o cursor do terminal. Claude Code move o cursor do terminal de volta para o prompt sempre que escreve um novo texto.

100 

101Para manter seu lugar enquanto lê, impeça que seu leitor de tela siga o cursor do terminal. No NVDA, pressione `NVDA+6` para impedir que o cursor de revisão siga o cursor do terminal. Pressione `NVDA+6` novamente para reativar o acompanhamento.

102 

97<h3 id="jump-between-turns">103<h3 id="jump-between-turns">

98 Pular entre turnos104 Pular entre turnos

99</h3>105</h3>

Details

325 325 

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

327 327 

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

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

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

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

Details

1488Use com o campo `betas` em `ClaudeAgentOptions` para ativar recursos beta.1488Use com o campo `betas` em `ClaudeAgentOptions` para ativar recursos beta.

1489 1489 

1490<Warning>1490<Warning>

1491 O beta `context-1m-2025-08-07` foi descontinuado a partir de 30 de abril de 2026. Passar este header com Claude Sonnet 4.5 ou Sonnet 4 não tem efeito, e requisições que excedem a janela de contexto padrão de 200k-token retornam um erro. Para usar uma janela de contexto de 1M-token, migre para [Claude Opus 5.5, Claude Opus 5, Claude Sonnet 5, Claude Sonnet 4.6, Claude Opus 4.6, Claude Opus 4.7, ou Claude Opus 4.8](https://platform.claude.com/docs/en/about-claude/models/overview), que incluem contexto de 1M a preços padrão sem header beta necessário.1491 Na Claude API, o beta `context-1m-2025-08-07` foi retirado para Claude Sonnet 4.5 e Claude Sonnet 4. Se você ainda o passar com qualquer um desses modelos, requisições que excedem a janela de contexto padrão de 200K tokens retornam um erro, então remova-o de `betas`. Para executar uma sessão com uma janela de contexto de 1M tokens, defina `model` como um modelo que [é executado com a janela de 1M por padrão](/docs/pt/model-config#extended-context), como `claude-sonnet-5-5` ou `claude-opus-5-5`. Para um modelo que alcança 1M apenas por meio de sua variante `[1m]`, anexe o sufixo ao ID do modelo, como em `claude-opus-4-6[1m]`.

1492</Warning>1492</Warning>

1493 1493 

1494<h3 id="mcpsdkserverconfig">1494<h3 id="mcpsdkserverconfig">

Details

166 166 

167Quando você executa o exemplo, a versão TypeScript imprime cada resposta conforme é concluída. O loop `receive_response()` da versão Python termina na primeira mensagem de resultado, então ele imprime a análise de segurança; para ler ambas as respostas, use um par `query()` e `receive_response()` por mensagem conforme mostrado no [exemplo de continuação de uma conversa da referência Python](/docs/pt/agent-sdk/python#example-continuing-a-conversation).167Quando você executa o exemplo, a versão TypeScript imprime cada resposta conforme é concluída. O loop `receive_response()` da versão Python termina na primeira mensagem de resultado, então ele imprime a análise de segurança; para ler ambas as respostas, use um par `query()` e `receive_response()` por mensagem conforme mostrado no [exemplo de continuação de uma conversa da referência Python](/docs/pt/agent-sdk/python#example-continuing-a-conversation).

168 168 

169Se o `source` de um bloco de imagem estiver ausente ou não for um objeto, o SDK não reporta um erro. O Claude Code envia ao Claude uma nota de texto no lugar da imagem, como `[Image could not be processed: image block has no source object]`, e a sessão continua.

170 

169<Note>171<Note>

170 No SDK TypeScript, se seu gerador de mensagens lançar uma exceção, por exemplo quando um arquivo que ele lê está faltando, o stream termina com um erro que diz `Claude Code process aborted by user` em vez do erro original, então verifique o código dentro do seu gerador primeiro quando você vir essa mensagem. O erro também pode ser precedido por uma longa linha minificada do código-fonte do SDK agrupado, então leia até o final da saída para encontrar o texto do erro.172 No SDK TypeScript, se seu gerador de mensagens lançar uma exceção, por exemplo quando um arquivo que ele lê está faltando, o stream termina com um erro que diz `Claude Code process aborted by user` em vez do erro original, então verifique o código dentro do seu gerador primeiro quando você vir essa mensagem. O erro também pode ser precedido por uma longa linha minificada do código-fonte do SDK agrupado, então leia até o final da saída para encontrar o texto do erro.

171 173 

Details

204| Definições de ferramentas (herdadas do pai ou o subconjunto em `tools`, [filtrado para execuções em background](/docs/pt/sub-agents#available-tools)) | O prompt de sistema do pai |204| Definições de ferramentas (herdadas do pai ou o subconjunto em `tools`, [filtrado para execuções em background](/docs/pt/sub-agents#available-tools)) | O prompt de sistema do pai |

205 205 

206<Note>206<Note>

207 O pai recebe a mensagem final do subagente como resultado da ferramenta Agent, mas pode resumi-la em sua própria resposta. Para preservar a saída do subagente verbatim na resposta voltada para o usuário, inclua uma instrução para fazer isso no prompt ou na opção `systemPrompt` que você passa para a chamada principal `query()`.207 O pai recebe o relatório final do subagente, mas pode resumi-lo em sua própria resposta. Para preservar a saída do subagente verbatim na resposta voltada para o usuário, inclua uma instrução para fazer isso no prompt ou na opção `systemPrompt` que você passa para a chamada principal `query()`.

208 208 

209 Na v2.1.210 e posterior, Claude Code [verifica a mensagem final para padrões em forma de instrução](/docs/pt/sub-agents#subagent-output-scanning) antes do pai lê-la. A verificação trata três tipos de padrão de forma diferente:209 Na v2.1.210 e posterior, Claude Code [verifica a mensagem final para padrões em forma de instrução](/docs/pt/sub-agents#subagent-output-scanning) antes do pai lê-la. A verificação trata três tipos de padrão de forma diferente:

210 210 

Details

1596 1596 

1597Em uma mensagem que carrega um bloco `tool_result`, `tool_use_result` é o objeto de saída estruturado da ferramenta em vez do texto enviado ao modelo. Sua forma depende da ferramenta nomeada pelo bloco `tool_use` correspondente, portanto o campo é digitado como `unknown`; as formas integradas estão listadas em [Tipos de Saída de Ferramenta](#tool-output-types).1597Em uma mensagem que carrega um bloco `tool_result`, `tool_use_result` é o objeto de saída estruturado da ferramenta em vez do texto enviado ao modelo. Sua forma depende da ferramenta nomeada pelo bloco `tool_use` correspondente, portanto o campo é digitado como `unknown`; as formas integradas estão listadas em [Tipos de Saída de Ferramenta](#tool-output-types).

1598 1598 

1599Para a ferramenta `Agent`, `tool_use_result` é [`AgentOutput`](#agent-2). Em um resultado `completed`, `content` contém o relatório do subagente sem o ID do agente e o trailer de uso que Claude Code anexa ao texto `tool_result`, portanto renderize de `tool_use_result` em vez de analisar esse texto.1599Para a ferramenta `Agent`, `tool_use_result` é [`AgentOutput`](#agent-2). Renderize a partir dele em vez de analisar o texto `tool_result`. Em um resultado `completed`, `content` contém o relatório do subagente ou, para um subagente cujo relatório passa por uma chamada de ferramenta `SubagentHandback`, uma breve nota sobre essa devolução no lugar do relatório. No [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) no Claude Code v2.1.271 ou posterior, todo subagente que produz um resultado `completed` relata dessa forma, a menos que seja um [fork](/docs/pt/sub-agents#fork-the-current-conversation), e Claude recebe o relatório como uma mensagem separada do subagente.

1600 1600 

1601Para uma ferramenta MCP cujo resultado contém blocos `resource_link`, `tool_use_result` é um objeto com um array `resourceLinks` de entradas [`SDKMcpResourceLink`](#sdkmcpresourcelink). Claude recebe cada link como uma linha de texto no bloco `tool_result`, portanto leia `resourceLinks` para renderizar os arquivos que o servidor retornou em vez de analisar esse texto. Claude Code omite `resourceLinks` quando o resultado não tem links e em resultados de subagentes, mantém no máximo 50 links por resultado e para de adicionar links quando o array atinge 64 KiB de JSON serializado. `resourceLinks` requer Agent SDK v0.3.257 ou posterior.1601Para uma ferramenta MCP cujo resultado contém blocos `resource_link`, `tool_use_result` é um objeto com um array `resourceLinks` de entradas [`SDKMcpResourceLink`](#sdkmcpresourcelink). Claude recebe cada link como uma linha de texto no bloco `tool_result`, portanto leia `resourceLinks` para renderizar os arquivos que o servidor retornou em vez de analisar esse texto. Claude Code omite `resourceLinks` quando o resultado não tem links e em resultados de subagentes, mantém no máximo 50 links por resultado e para de adicionar links quando o array atinge 64 KiB de JSON serializado. `resourceLinks` requer Agent SDK v0.3.257 ou posterior.

1602 1602 


5092```5092```

5093 5093 

5094<Warning>5094<Warning>

5095 O beta `context-1m-2025-08-07` foi descontinuado a partir de 30 de abril de 2026. Passar este valor com Claude Sonnet 4.5 ou Sonnet 4 não tem efeito, e requisições que excedem a janela de contexto padrão de 200k-token retornam um erro. Para usar uma janela de contexto de 1M-token, migre para [Claude Opus 5.5, Claude Opus 5, Claude Sonnet 5, Claude Sonnet 4.6, Claude Opus 4.6, Claude Opus 4.7 ou Claude Opus 4.8](https://platform.claude.com/docs/en/about-claude/models/overview), que incluem contexto de 1M a preço padrão sem header beta necessário.5095 Na Claude API, o beta `context-1m-2025-08-07` foi descontinuado para Claude Sonnet 4.5 e Claude Sonnet 4. Se você ainda o passar com qualquer um desses modelos, requisições que excedem a janela de contexto padrão de 200K tokens retornam um erro, então remova-o de `betas`. Para executar uma sessão com uma janela de contexto de 1M tokens, defina `model` como um modelo que [é executado com a janela de 1M por padrão](/docs/pt/model-config#extended-context), como `claude-sonnet-5-5` ou `claude-opus-5-5`. Para um modelo que alcança 1M apenas por meio de sua variante `[1m]`, acrescente o sufixo ao ID do modelo, como em `claude-opus-4-6[1m]`.

5096</Warning>5096</Warning>

5097 5097 

5098<h3 id="slashcommand">5098<h3 id="slashcommand">


5136| Campo | Tipo | Descrição |5136| Campo | Tipo | Descrição |

5137| :- | :- | :- |5137| :- | :- | :- |

5138| `value` | `string` | Identificador de modelo para passar em chamadas de API |5138| `value` | `string` | Identificador de modelo para passar em chamadas de API |

5139| `resolvedModel` | `string \| undefined` | ID de modelo canônico que o `value` desta entrada resolve. Uma entrada de alias como `sonnet` resolve para um ID de modelo explícito como `claude-sonnet-5`, para que um host possa corresponder um ID de modelo explícito armazenado contra a entrada de alias que o cobre. Requer Claude Code v2.1.197 ou posterior. |5139| `resolvedModel` | `string \| undefined` | O ID de modelo para o qual o `value` desta entrada resolve, como `claude-sonnet-5-5` para a entrada do alias `sonnet`. Requer Claude Code v2.1.197 ou posterior. |

5140| `displayName` | `string` | Nome de exibição legível para humanos |5140| `displayName` | `string` | Nome de exibição legível para humanos |

5141| `description` | `string` | Descrição das capacidades do modelo |5141| `description` | `string` | Descrição das capacidades do modelo |

5142| `supportsEffort` | `boolean \| undefined` | Se este modelo suporta níveis de esforço |5142| `supportsEffort` | `boolean \| undefined` | Se este modelo suporta níveis de esforço |

5143| `supportedEffortLevels` | `("low" \| "medium" \| "high" \| "xhigh" \| "max")[] \| undefined` | Níveis de esforço que este modelo aceita |5143| `supportedEffortLevels` | `("low" \| "medium" \| "high" \| "xhigh" \| "max")[] \| undefined` | Níveis de esforço que este modelo aceita |

5144| `supportsAdaptiveThinking` | `boolean \| undefined` | Se este modelo suporta pensamento adaptativo, onde Claude decide quando e quanto pensar |5144| `supportsAdaptiveThinking` | `boolean \| undefined` | Se este modelo suporta pensamento adaptativo, onde Claude decide quando e quanto pensar |

5145| `supportsFastMode` | `boolean \| undefined` | Se este modelo suporta modo rápido |5145| `supportsFastMode` | `boolean \| undefined` | Se este modelo suporta modo rápido |

5146| `supportsAutoMode` | `boolean \| undefined` | Se este modelo suporta modo automático |5146| `supportsAutoMode` | `boolean \| undefined` | Se este modelo suporta modo auto |

5147 5147 

5148<h3 id="agentinfo">5148<h3 id="agentinfo">

5149 `AgentInfo`5149 `AgentInfo`


5284};5284};

5285```5285```

5286 5286 

5287`thinkingTokens` conta os tokens de pensamento que este modelo gerou. `outputTokens` já os inclui, então não adicione os dois juntos. O campo está ausente até que uma volta seja executada em uma versão de Claude Code que o registra, então uma sessão retomada que começou em uma versão anterior relata uma contagem parcial. `thinkingTokens` requer Agent SDK v0.3.257 ou posterior.5287`thinkingTokens` conta os tokens de pensamento que este modelo gerou. `outputTokens` já os inclui, então não adicione os dois juntos. O campo está ausente até que um turno seja executado em uma versão de Claude Code que o registra, então uma sessão retomada que começou em uma versão anterior relata uma contagem parcial. `thinkingTokens` requer Agent SDK v0.3.257 ou posterior.

5288 5288 

5289Os campos `canonicalModel` e `provider` requerem Claude Code v2.1.218 ou posterior. `canonicalModel` é o ID de modelo canônico que a busca de preço usa; pode diferir da string de modelo bruto que chave a entrada, por exemplo quando essa string é um ID específico do provedor ou um alias.5289Os campos `canonicalModel` e `provider` requerem Claude Code v2.1.218 ou posterior. `canonicalModel` é o ID de modelo canônico que a busca de preço usa; pode diferir da string de modelo bruto que chave a entrada, por exemplo quando essa string é um ID específico do provedor ou um alias.

5290 5290 


5367 `SDKMcpResourceLink`5367 `SDKMcpResourceLink`

5368</h3>5368</h3>

5369 5369 

5370Um arquivo que uma ferramenta MCP retornou por referência. Claude Code constrói cada entrada a partir de um bloco `resource_link` no resultado da ferramenta e entrega a lista como `resourceLinks` em [`SDKUserMessage.tool_use_result`](#sdkusermessage), ou como `resource_links` em [`SDKTaskNotificationMessage`](#sdktasknotificationmessage) quando a chamada terminou em background. Requer Agent SDK v0.3.257 ou posterior.5370Um arquivo que uma ferramenta MCP retornou por referência. Claude Code constrói cada entrada a partir de um bloco `resource_link` no resultado da ferramenta e entrega a lista como `resourceLinks` em [`SDKUserMessage.tool_use_result`](#sdkusermessage), ou como `resource_links` em [`SDKTaskNotificationMessage`](#sdktasknotificationmessage) quando a chamada terminou em segundo plano. Requer Agent SDK v0.3.257 ou posterior.

5371 5371 

5372```typescript theme={null}5372```typescript theme={null}

5373type SDKMcpResourceLink = {5373type SDKMcpResourceLink = {


5483* **Servidores que a chamada nomeia**: exceto para servidores integrados que a CLI iniciou na inicialização, Claude Code substitui um servidor em execução apenas quando sua configuração difere da que você passou.5483* **Servidores que a chamada nomeia**: exceto para servidores integrados que a CLI iniciou na inicialização, Claude Code substitui um servidor em execução apenas quando sua configuração difere da que você passou.

5484* **Servidores integrados que a CLI iniciou na inicialização**: se a chamada nomear um, Claude Code descarta essa entrada e a relata em `errors`.5484* **Servidores integrados que a CLI iniciou na inicialização**: se a chamada nomear um, Claude Code descarta essa entrada e a relata em `errors`.

5485 5485 

5486A promise é resolvida após novos servidores stdio, HTTP e SSE adicionados se conectarem ou falharem, então ferramentas de servidores que se conectaram estão disponíveis na próxima volta.5486A promise é resolvida após novos servidores stdio, HTTP e SSE adicionados se conectarem ou falharem, então ferramentas de servidores que se conectaram estão disponíveis no próximo turno.

5487 5487 

5488`added` lista os servidores que Claude Code adicionou ou substituiu, independentemente de terem se conectado. Um servidor que falhou ao se conectar aparece em `added` e `errors`, com o texto de falha em `errors` e uma linha `failed` em [`mcpServerStatus()`](#methods). Antes de Claude Code v2.1.257, um servidor cuja tentativa de conexão lançou uma exceção era relatado apenas em `errors`.5488`added` lista os servidores que Claude Code adicionou ou substituiu, independentemente de terem se conectado. Um servidor que falhou ao se conectar aparece em `added` e `errors`, com o texto de falha em `errors` e uma linha `failed` em [`mcpServerStatus()`](#methods). Antes de Claude Code v2.1.257, um servidor cuja tentativa de conexão lançou uma exceção era relatado apenas em `errors`.

5489 5489 


5527 `SDKTaskNotificationMessage`5527 `SDKTaskNotificationMessage`

5528</h3>5528</h3>

5529 5529 

5530Notificação quando uma tarefa de background é concluída, falha ou é parada. Tarefas de background incluem comandos Bash `run_in_background`, watches [Monitor](#monitor) e subagentes de background. Para o campo `ambient`, veja [`SDKTaskStartedMessage`](#sdktaskstartedmessage), que o define e seu requisito de versão.5530Notificação quando uma tarefa em segundo plano é concluída, falha ou é parada. Tarefas em segundo plano incluem comandos Bash `run_in_background`, watches [Monitor](#monitor) e subagentes em segundo plano. Para o campo `ambient`, veja [`SDKTaskStartedMessage`](#sdktaskstartedmessage), que o define e seu requisito de versão.

5531 5531 

5532```typescript theme={null}5532```typescript theme={null}

5533type SDKTaskNotificationMessage = {5533type SDKTaskNotificationMessage = {


5550};5550};

5551```5551```

5552 5552 

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

5554 5554 

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

5556 5556 

5557Para detectar uma volta de notificação de tarefa, verifique `origin.kind === "task-notification"` em [`SDKUserMessage`](#sdkusermessage) ou [`SDKResultMessage`](#sdkresultmessage) em vez de corresponder ao texto do aviso. Leia `subkind` do mesmo campo se precisar saber o que o levantou. Antes de v2.1.205, Claude Code deixava o aviso fora de notificações que chegavam enquanto a sessão estava ociosa.5557Para detectar um turno de notificação de tarefa, verifique `origin.kind === "task-notification"` em [`SDKUserMessage`](#sdkusermessage) ou [`SDKResultMessage`](#sdkresultmessage) em vez de corresponder ao texto do aviso. Leia `subkind` do mesmo campo se precisar saber o que o levantou. Antes de v2.1.205, Claude Code deixava o aviso fora de notificações que chegavam enquanto a sessão estava ociosa.

5558 5558 

5559<h3 id="sdktoolusesummarymessage">5559<h3 id="sdktoolusesummarymessage">

5560 `SDKToolUseSummaryMessage`5560 `SDKToolUseSummaryMessage`


5667 5667 

5668Enquanto uma chamada de ferramenta é executada na conversa principal, Claude Code emite uma mensagem `tool_progress` a cada 30 segundos com `heartbeat: true`. Cada heartbeat carrega o nome da ferramenta e segundos decorridos, para que você possa distinguir uma chamada de longa duração de uma sessão travada. Claude Code não emite heartbeats para chamadas de ferramenta dentro de um subagente. O campo `heartbeat` requer Agent SDK v0.3.214 ou posterior. Antes de v2.1.257, Claude Code também não emitia heartbeats para uma chamada de ferramenta Agent em primeiro plano.5668Enquanto uma chamada de ferramenta é executada na conversa principal, Claude Code emite uma mensagem `tool_progress` a cada 30 segundos com `heartbeat: true`. Cada heartbeat carrega o nome da ferramenta e segundos decorridos, para que você possa distinguir uma chamada de longa duração de uma sessão travada. Claude Code não emite heartbeats para chamadas de ferramenta dentro de um subagente. O campo `heartbeat` requer Agent SDK v0.3.214 ou posterior. Antes de v2.1.257, Claude Code também não emitia heartbeats para uma chamada de ferramenta Agent em primeiro plano.

5669 5669 

5670Em mensagens `tool_progress` para a ferramenta Agent que não são heartbeats, `subagent_type` nomeia o tipo de subagente em execução, como `general-purpose`. `subagent_retry` está presente enquanto esse subagente aguarda um backoff de erro de API, como um limite de taxa ou sobrecarga, com uma mensagem por tentativa de retry. Ambos os campos requerem Agent SDK v0.3.214 ou posterior.5670Em mensagens `tool_progress` para a ferramenta Agent que não são heartbeats, `subagent_type` nomeia o tipo de subagente em execução, como `general-purpose`. `subagent_retry` está presente enquanto esse subagente aguarda um backoff de erro de API, como um rate limit ou sobrecarga, com uma mensagem por nova tentativa. Ambos os campos requerem Agent SDK v0.3.214 ou posterior.

5671 5671 

5672Para renderizar um indicador de retry de `subagent_retry`:5672Para renderizar um indicador de nova tentativa de `subagent_retry`:

5673 5673 

5674* Rastreie o indicador por `parent_tool_use_id`, que é único por subagente. `tool_use_id` é compartilhado por subagentes paralelos de uma volta de assistente, então rastrear por ele deixaria a atualização de um subagente limpar o indicador de outro.5674* Rastreie o indicador por `parent_tool_use_id`, que é único por subagente. `tool_use_id` é compartilhado por subagentes paralelos de um turno de assistente, então rastrear por ele deixaria a atualização de um subagente limpar o indicador de outro.

5675* Limpe o indicador quando um `tool_progress` posterior para o mesmo `parent_tool_use_id` chegar sem `subagent_retry` nem `heartbeat: true`, ou quando a mensagem de resultado da ferramenta chegar. Frames com `heartbeat: true` relatam apenas vivacidade, então mantenha o indicador quando um chegar. `attempt` pode exceder `max_retries` sob retry persistente, então não derive limpeza dos contadores.5675* Limpe o indicador quando um `tool_progress` posterior para o mesmo `parent_tool_use_id` chegar sem `subagent_retry` nem `heartbeat: true`, ou quando a mensagem de resultado da ferramenta chegar. Frames com `heartbeat: true` relatam apenas vivacidade, então mantenha o indicador quando um chegar. `attempt` pode exceder `max_retries` sob retry persistente, então não derive limpeza dos contadores.

5676* Trate `error_category` como um token para escolher seu próprio texto de mensagem, não como texto de exibição. Os valores são `rate_limit`, `overloaded`, `authentication_failed`, `server_error`, `cloud_credential_error` e `unknown`. Manipule um valor que você não reconheça da forma que manipula `unknown`, porque versões posteriores podem adicionar valores.5676* Trate `error_category` como um token para escolher seu próprio texto de mensagem, não como texto de exibição. Os valores são `rate_limit`, `overloaded`, `authentication_failed`, `server_error`, `cloud_credential_error` e `unknown`. Manipule um valor que você não reconheça da forma que manipula `unknown`, porque versões posteriores podem adicionar valores.

5677 5677 


5720 5720 

5721`is_backgrounded` e `spawn_depth` descrevem como Claude Code iniciou a tarefa. Ambos os campos requerem Agent SDK v0.3.238 ou posterior.5721`is_backgrounded` e `spawn_depth` descrevem como Claude Code iniciou a tarefa. Ambos os campos requerem Agent SDK v0.3.238 ou posterior.

5722 5722 

5723* `is_backgrounded`: Claude Code o define em tarefas `"local_agent"` e `"local_bash"`. `true` significa que a tarefa é executada em background. `false` significa que a tarefa é executada em primeiro plano, e a chamada de ferramenta que a iniciou permanece bloqueada até que a tarefa termine ou se mude para background.5723* `is_backgrounded`: Claude Code o define em tarefas `"local_agent"` e `"local_bash"`. `true` significa que a tarefa é executada em segundo plano. `false` significa que a tarefa é executada em primeiro plano, e a chamada de ferramenta que a iniciou permanece bloqueada até que a tarefa termine ou se mova para segundo plano.

5724* `spawn_depth`: Claude Code o define apenas em tarefas `"local_agent"`. Um subagente que a thread principal gerou tem profundidade `1`. Um subagente que um subagente de profundidade `1` gerou tem profundidade `2`, e assim por diante.5724* `spawn_depth`: Claude Code o define apenas em tarefas `"local_agent"`. Um subagente que a thread principal gerou tem profundidade `1`. Um subagente que um subagente de profundidade `1` gerou tem profundidade `2`, e assim por diante.

5725 5725 

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

5727 5727 

5728<h3 id="sdktaskprogressmessage">5728<h3 id="sdktaskprogressmessage">

5729 `SDKTaskProgressMessage`5729 `SDKTaskProgressMessage`

5730</h3>5730</h3>

5731 5731 

5732Emitido periodicamente enquanto um subagente ou tarefa de background está em execução.5732Emitido periodicamente enquanto um subagente ou tarefa em segundo plano está em execução.

5733 5733 

5734Para uma tarefa de subagente, o campo `summary` carrega um resumo de progresso gerado por modelo e é preenchido apenas quando [`agentProgressSummaries`](#options) está ativado. Para uma [chamada de ferramenta MCP em background](/docs/pt/mcp#automatic-backgrounding-of-long-tool-calls), `summary` carrega o progresso mais recente relatado pelo servidor MCP e não depende dessa opção.5734Para uma tarefa de subagente, o campo `summary` carrega um resumo de progresso gerado por modelo e é preenchido apenas quando [`agentProgressSummaries`](#options) está ativado. Para uma [chamada de ferramenta MCP em segundo plano](/docs/pt/mcp#automatic-backgrounding-of-long-tool-calls), `summary` carrega o progresso mais recente relatado pelo servidor MCP e não depende dessa opção.

5735 5735 

5736```typescript theme={null}5736```typescript theme={null}

5737type SDKTaskProgressMessage = {5737type SDKTaskProgressMessage = {


5757 `SDKTaskUpdatedMessage`5757 `SDKTaskUpdatedMessage`

5758</h3>5758</h3>

5759 5759 

5760Emitido quando o estado de uma tarefa de background muda, como quando ela faz a transição de `running` para `completed`. Mescle `patch` em seu mapa de tarefas local com chave `task_id`. O campo `end_time` é um timestamp de época Unix em milissegundos, comparável com `Date.now()`.5760Emitido quando o estado de uma tarefa em segundo plano muda, como quando ela faz a transição de `running` para `completed`. Mescle `patch` em seu mapa de tarefas local com chave `task_id`. O campo `end_time` é um timestamp de época Unix em milissegundos, comparável com `Date.now()`.

5761 5761 

5762```typescript theme={null}5762```typescript theme={null}

5763type SDKTaskUpdatedMessage = {5763type SDKTaskUpdatedMessage = {


5781 `SDKBackgroundTasksChangedMessage`5781 `SDKBackgroundTasksChangedMessage`

5782</h3>5782</h3>

5783 5783 

5784Emitido sempre que o conjunto de tarefas de background ativas muda: uma tarefa inicia, é concluída, é eliminada, um agente em primeiro plano é colocado em background, ou o campo `description` ou `ambient` de uma tarefa muda.5784Emitido sempre que o conjunto de tarefas em segundo plano ativas muda: uma tarefa inicia, é concluída, é eliminada, um agente em primeiro plano é colocado em segundo plano, ou o campo `description` ou `ambient` de uma tarefa muda.

5785 5785 

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

5787 5787 


5852 `SDKRateLimitEvent`5852 `SDKRateLimitEvent`

5853</h3>5853</h3>

5854 5854 

5855Emitido quando a sessão encontra um limite de taxa.5855Emitido quando a sessão encontra um rate limit.

5856 5856 

5857```typescript theme={null}5857```typescript theme={null}

5858type SDKRateLimitEvent = {5858type SDKRateLimitEvent = {


5870};5870};

5871```5871```

5872 5872 

5873Quando `errorCode` é `"credits_required"`, a rejeição é de uma assinatura claude.ai cujo uso incluído está esgotado, e a sessão não pode continuar até que o usuário compre créditos de uso. `canUserPurchaseCredits` indica se o usuário autenticado pode comprar créditos para a conta, e `hasChargeableSavedPaymentMethod` indica se um método de pagamento salvo está registrado. Todos os três campos estão ausentes em eventos de limite de taxa que não são rejeições de créditos necessários. Requer Claude Code v2.1.181 ou posterior.5873Quando `errorCode` é `"credits_required"`, a rejeição é de uma assinatura claude.ai cujo uso incluído está esgotado, e a sessão não pode continuar até que o usuário compre créditos de uso. `canUserPurchaseCredits` indica se o usuário autenticado pode comprar créditos para a conta, e `hasChargeableSavedPaymentMethod` indica se um método de pagamento salvo está registrado. Todos os três campos estão ausentes em eventos de rate limit que não são rejeições de créditos necessários. Requer Claude Code v2.1.181 ou posterior.

5874 5874 

5875<h3 id="sdklocalcommandoutputmessage">5875<h3 id="sdklocalcommandoutputmessage">

5876 `SDKLocalCommandOutputMessage`5876 `SDKLocalCommandOutputMessage`


5910 `SDKPromptSuggestionMessage`5910 `SDKPromptSuggestionMessage`

5911</h3>5911</h3>

5912 5912 

5913Emitido após uma volta quando [`promptSuggestions`](#options) está ativado e Claude Code gerou uma sugestão para essa volta. Contém o prompt de usuário previsto. Para as voltas que não recebem nenhuma, veja [Quando Claude Code pula sugestões](/docs/pt/interactive-mode#when-claude-code-skips-suggestions).5913Emitido após um turno quando [`promptSuggestions`](#options) está ativado e Claude Code gerou uma sugestão para esse turno. Contém o próximo prompt de usuário previsto. Para os turnos que não recebem nenhuma, veja [Quando Claude Code pula sugestões](/docs/pt/interactive-mode#when-claude-code-skips-suggestions).

5914 5914 

5915```typescript theme={null}5915```typescript theme={null}

5916type SDKPromptSuggestionMessage = {5916type SDKPromptSuggestionMessage = {


5959class AbortError extends Error {}5959class AbortError extends Error {}

5960```5960```

5961 5961 

5962`AbortError` é a única classe de erro na API tipada do SDK. Outras falhas, como o processo Claude Code saindo ou falhando ao iniciar, rejeitam a iteração de mensagem com erros que não carregam nenhuma classe SDK para corresponder. [Troubleshooting](/docs/pt/agent-sdk/troubleshooting) chave esses erros por mensagem, com a causa e correção para cada.5962`AbortError` é a única classe de erro na API tipada do SDK. Outras falhas, como o processo Claude Code saindo ou falhando ao iniciar, rejeitam a iteração de mensagem com erros que não carregam nenhuma classe SDK para corresponder. [Solução de problemas](/docs/pt/agent-sdk/troubleshooting) indexa esses erros por mensagem, com a causa e correção para cada.

5963 5963 

5964<h2 id="sandbox-configuration">5964<h2 id="sandbox-configuration">

5965 Configuração de Sandbox5965 Configuração de Sandbox

Details

526 526 

527Se sua organização entrega os cabeçalhos do guardrail através de uma política de [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway), eles contam como [configurações que precisam de aprovação](/docs/pt/server-managed-settings#environment-variables-and-the-approval-dialog).527Se sua organização entrega os cabeçalhos do guardrail através de uma política de [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway), eles contam como [configurações que precisam de aprovação](/docs/pt/server-managed-settings#environment-variables-and-the-approval-dialog).

528 528 

529Quando o guardrail bloqueia uma resposta no meio do caminho, o texto transmitido até então permanece e a resposta termina com a mensagem configurada no guardrail para respostas bloqueadas.

530 

529<h2 id="use-the-mantle-endpoint">531<h2 id="use-the-mantle-endpoint">

530 Usar o endpoint Mantle532 Usar o endpoint Mantle

531</h2>533</h2>

Details

66| `port` | Não | Porta de vinculação. Padrão `8080`. |66| `port` | Não | Porta de vinculação. Padrão `8080`. |

67| `public_url` | A menos que `host` seja loopback | A origem `https://` visível externamente, usada para construir o `redirect_uri` do IdP e metadados de descoberta. Obrigatório sempre que `host` não for um endereço de loopback, seja TLS terminado em um proxy como um ALB, Ingress ou Cloud Run ou no próprio gateway através de `tls`, porque o gateway nunca deriva sua própria origem de cabeçalhos `X-Forwarded-*`; eles são falsificáveis pelo cliente. Falha na inicialização sem ele. `trusted_proxies` abaixo governa apenas a resolução de IP do cliente. Também obrigatório para habilitar [telemetria](#telemetry), porque o gateway constrói o endpoint OTLP que envia para clientes a partir desta URL. |67| `public_url` | A menos que `host` seja loopback | A origem `https://` visível externamente, usada para construir o `redirect_uri` do IdP e metadados de descoberta. Obrigatório sempre que `host` não for um endereço de loopback, seja TLS terminado em um proxy como um ALB, Ingress ou Cloud Run ou no próprio gateway através de `tls`, porque o gateway nunca deriva sua própria origem de cabeçalhos `X-Forwarded-*`; eles são falsificáveis pelo cliente. Falha na inicialização sem ele. `trusted_proxies` abaixo governa apenas a resolução de IP do cliente. Também obrigatório para habilitar [telemetria](#telemetry), porque o gateway constrói o endpoint OTLP que envia para clientes a partir desta URL. |

68| `tls.cert` / `tls.key` | Não | Caminhos PEM se o gateway termina TLS por si mesmo |68| `tls.cert` / `tls.key` | Não | Caminhos PEM se o gateway termina TLS por si mesmo |

69| `trusted_proxies` | Não | CIDRs ou IPs de balanceadores de carga na frente do gateway. Quando definido, o gateway confia em `X-Forwarded-For` apenas desses pares e registra o IP do cliente real para limitação de taxa por IP e auditoria. Equivalente ao nginx `set_real_ip_from`. Entradas `X-Forwarded-For` escritas como `ipv4:port` ou `[ipv6]:port`, como alguns balanceadores de carga fazem, são lidas com a porta descartada. Um endereço IPv6 com uma porta anexada e sem colchetes pode ser lido como um endereço diferente ou não ser lido, portanto desative a opção de porta em qualquer proxy que escreva esse formulário. |69| `trusted_proxies` | Não | CIDRs ou IPs de balanceadores de carga na frente do gateway. Quando definido, o gateway confia em `X-Forwarded-For` apenas desses pares e registra o IP do cliente real para rate limiting por IP e auditoria. Equivalente ao nginx `set_real_ip_from`. Entradas `X-Forwarded-For` escritas como `ipv4:port` ou `[ipv6]:port`, como alguns balanceadores de carga fazem, são lidas com a porta descartada. Um endereço IPv6 com uma porta anexada e sem colchetes pode ser lido como um endereço diferente ou não ser lido, portanto desative a opção de porta em qualquer proxy que escreva esse formulário. |

70 70 

71<h3 id="oidc">71<h3 id="oidc">

72 `oidc`72 `oidc`


143Uma vez que o egresso apenas proxy está ativo, permita cada destino no proxy, incluindo um coletor interno e qualquer host configurado por endereço IP. Você ainda pode manter um IdP interno direto com [`oidc.use_proxy: false`](#idp-requests-through-a-forward-proxy).143Uma vez que o egresso apenas proxy está ativo, permita cada destino no proxy, incluindo um coletor interno e qualquer host configurado por endereço IP. Você ainda pode manter um IdP interno direto com [`oidc.use_proxy: false`](#idp-requests-through-a-forward-proxy).

144 144 

145<Warning>145<Warning>

146 Ative isso apenas quando a lista de permissões do proxy for pelo menos tão rigorosa quanto a verificação do próprio gateway. O proxy deve recusar endpoints de metadados de nuvem como `169.254.169.254` e `metadata.google.internal`, endereços link-local e o próprio loopback do host proxy, e deve recusá-los pelo endereço que um nome resolve, não apenas pelo nome, porque o gateway não captura mais um nome do host que resolve para um deles. Um proxy que se conecta em qualquer lugar que é solicitado remove a [proteção SSRF](/docs/pt/claude-apps-gateway-deploy#threat-model-summary) do gateway para essas solicitações.146 Ative isso apenas quando a allowlist do proxy for pelo menos tão rigorosa quanto a verificação do próprio gateway. O proxy deve recusar endpoints de metadados de nuvem como `169.254.169.254` e `metadata.google.internal`, endereços link-local e o próprio loopback do host proxy, e deve recusá-los pelo endereço que um nome resolve, não apenas pelo nome, porque o gateway não captura mais um nome do host que resolve para um deles. Um proxy que se conecta em qualquer lugar que é solicitado remove a [proteção SSRF](/docs/pt/claude-apps-gateway-deploy#threat-model-summary) do gateway para essas solicitações.

147</Warning>147</Warning>

148 148 

149<h3 id="session">149<h3 id="session">


161 `store`161 `store`

162</h3>162</h3>

163 163 

164O bloco `store` aponta o gateway para seu banco de dados PostgreSQL, que contém concessões de dispositivo e contadores de limite de taxa.164O bloco `store` aponta o gateway para seu banco de dados PostgreSQL, que contém concessões de dispositivo e contadores de rate limit.

165 165 

166| Campo | Obrigatório | Descrição |166| Campo | Obrigatório | Descrição |

167| - | - | - |167| - | - | - |


170| `password` | Não | Credencial do banco de dados. Defina aqui em vez de em `postgres_url` para que a credencial fique fora da URL. Aceita qualquer caractere e tem precedência sobre credenciais de URL. |170| `password` | Não | Credencial do banco de dados. Defina aqui em vez de em `postgres_url` para que a credencial fique fora da URL. Aceita qualquer caractere e tem precedência sobre credenciais de URL. |

171| `max_connections` | Não | Tamanho do pool de conexão Postgres por réplica. Padrão `5`, que é conservador e amigável para bancos de dados compartilhados. Com [limites de gastos](#admin) habilitados, o caminho quente faz algumas operações por solicitação de inferência, portanto aumente para um banco de dados dedicado sob carga e mantenha réplicas × isto abaixo do `max_connections` do banco de dados. |171| `max_connections` | Não | Tamanho do pool de conexão Postgres por réplica. Padrão `5`, que é conservador e amigável para bancos de dados compartilhados. Com [limites de gastos](#admin) habilitados, o caminho quente faz algumas operações por solicitação de inferência, portanto aumente para um banco de dados dedicado sob carga e mantenha réplicas × isto abaixo do `max_connections` do banco de dados. |

172| `connect_timeout_seconds` | Não | Segundos que o gateway aguarda quando abre uma conexão Postgres. Um número inteiro de `1` a `60`, padrão `5`. Aumente se as tentativas de conexão expirem quando uma nova instância do gateway inicia. Requer Claude Code v2.1.274 ou posterior no servidor gateway. Versões anteriores recusam iniciar quando a chave está definida. |172| `connect_timeout_seconds` | Não | Segundos que o gateway aguarda quando abre uma conexão Postgres. Um número inteiro de `1` a `60`, padrão `5`. Aumente se as tentativas de conexão expirem quando uma nova instância do gateway inicia. Requer Claude Code v2.1.274 ou posterior no servidor gateway. Versões anteriores recusam iniciar quando a chave está definida. |

173| `readiness_grace_seconds` | Não | Quantos segundos `/readyz` continua relatando pronto depois que o Postgres para de responder. Um número inteiro de `0` a `3600`, padrão `0`. Consulte [Comportamento durante interrupções](/docs/pt/claude-apps-gateway-deploy#outage-behavior) para saber como escolher um valor. Requer Claude Code v2.1.282 ou posterior no servidor gateway. Versões anteriores recusam iniciar quando a chave está definida. |

173 174 

174Para desenvolvimento local, aponte `postgres_url` para um contêiner Postgres descartável, por exemplo `docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`.175Para desenvolvimento local, aponte `postgres_url` para um contêiner Postgres descartável, por exemplo `docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`.

175 176 


179 180 

180`upstreams` é uma lista ordenada. O gateway encaminha inferência para o primeiro upstream que resolve o modelo solicitado.181`upstreams` é uma lista ordenada. O gateway encaminha inferência para o primeiro upstream que resolve o modelo solicitado.

181 182 

182Em `5xx`, `429`, `401`, `403`, `404` ou timeout, o gateway falha para o próximo upstream; outro `4xx` não, porque esses erros são atribuíveis à solicitação em vez do upstream. Um `401` ou `403` significa que a credencial do próprio gateway falhou contra esse upstream. Um `404` significa que esse upstream não serve o modelo solicitado, portanto um upstream posterior na lista ainda pode.183Em `5xx`, `429`, `401`, `403`, `404` ou timeout, o gateway falha para o próximo upstream; outro `4xx` não, porque esses erros são atribuíveis à solicitação em vez do upstream. Um `401` ou `403` significa que a credencial que o gateway usou contra esse upstream falhou. Um `404` significa que esse upstream não serve o modelo solicitado, portanto um upstream posterior na lista ainda pode.

183 184 

184Se você definir `forward_user_identity: true` em um upstream, um `429` que ele retorna para uma solicitação que carregava o email do desenvolvedor não falha. Consulte [como uma negação de limite por usuário chega ao desenvolvedor](#per-user-identity-headers-for-a-proxy-you-run).185Se você definir `forward_user_identity: true` em um upstream, um `429` que ele retorna para uma solicitação que carregava o email do desenvolvedor não falha. Consulte [como uma negação de limite por usuário chega ao desenvolvedor](#per-user-identity-headers-for-a-proxy-you-run).

185 186 


195 196 

196O gateway retorna a resposta de erro de um upstream ou seu próprio `502`, dependendo de como os upstreams responderam:197O gateway retorna a resposta de erro de um upstream ou seu próprio `502`, dependendo de como os upstreams responderam:

197 198 

198* **Um upstream retornou um status no qual o gateway não [falha](#upstreams)**: essa resposta do upstream. O gateway não tenta mais upstreams.199* **Um upstream retornou um status no qual o gateway não [falha](#multiple-upstreams)**: essa resposta do upstream. O gateway não tenta mais upstreams.

199* **Cada upstream que o gateway tentou falhou de uma forma na qual [falha](#upstreams)**: o último `429`. Quando nenhum retornou um `429`, o gateway prefere, em ordem, o último `401` ou `403`, o último `404` e o último `501`. Quando nenhum retornou nenhum desses, o próprio `502` do gateway, `all upstreams failed (N attempted)`, onde N conta cada entrada em [`upstreams`](#upstreams), incluindo entradas que o gateway pulou porque não servem o modelo solicitado.200* **Cada upstream que o gateway tentou falhou de uma forma na qual [falha](#multiple-upstreams)**: o último `429`. Quando nenhum retornou um `429`, o gateway prefere, em ordem, o último `401` ou `403`, o último `404` e o último `501`. Quando nenhum retornou nenhum desses, o próprio `502` do gateway, `all upstreams failed (N attempted)`, onde N conta cada entrada em [`upstreams`](#upstreams), incluindo entradas que o gateway pulou porque não servem o modelo solicitado.

200 201 

201Quando o gateway retorna a resposta de um upstream, ele mantém o código de status do upstream. Se ele mantém a mensagem do upstream depende do provedor. O corpo de erro de um upstream da API Anthropic chega ao desenvolvedor inalterado.202Quando o gateway retorna a resposta de um upstream, ele mantém o código de status do upstream. Se ele mantém a mensagem do upstream depende do provedor. O corpo de erro de um upstream da API Anthropic chega ao desenvolvedor inalterado.

202 203 


273 274 

274Quando o token do IdP não carrega email, o gateway envia apenas `x-claude-gateway-user-id` e omite os dois cabeçalhos de email. Se seu IdP coloca o email em uma declaração diferente, defina [`oidc.email_claim`](#oidc) para essa declaração.275Quando o token do IdP não carrega email, o gateway envia apenas `x-claude-gateway-user-id` e omite os dois cabeçalhos de email. Se seu IdP coloca o email em uma declaração diferente, defina [`oidc.email_claim`](#oidc) para essa declaração.

275 276 

276Quando seu proxy responde `429` para uma solicitação que carregava o email do desenvolvedor, o gateway retorna essa resposta ao desenvolvedor como está em vez de falhar para o próximo upstream, portanto seu orçamento por usuário ou limite de taxa do proxy se mantém. As outras respostas do proxy seguem as [regras de failover](#upstreams) ordinárias. Se o token do IdP de um desenvolvedor não carrega email, o gateway encaminha suas solicitações sem os cabeçalhos de email, portanto um `429` para uma dessas solicitações conta como capacidade de upstream e falha. Antes da v2.1.267 no servidor gateway, cada `429` falhava.277Quando seu proxy responde `429` para uma solicitação que carregava o email do desenvolvedor, o gateway retorna essa resposta ao desenvolvedor como está em vez de falhar para o próximo upstream, portanto seu orçamento por usuário ou rate limit do proxy se mantém. As outras respostas do proxy seguem as [regras de failover](#upstreams) ordinárias. Se o token do IdP de um desenvolvedor não carrega email, o gateway encaminha suas solicitações sem os cabeçalhos de email, portanto um `429` para uma dessas solicitações conta como capacidade de upstream e falha. Antes da v2.1.267 no servidor gateway, cada `429` falhava.

277 278 

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

279 280 


281 Amazon Bedrock282 Amazon Bedrock

282</h4>283</h4>

283 284 

284Para a implantação Bedrock do lado do cliente que o gateway substitui ou está na frente, consulte [Claude Code on Amazon Bedrock](/docs/pt/amazon-bedrock). O upstream do lado do gateway:285Para a implantação Amazon Bedrock do lado do cliente que o gateway substitui ou está na frente, consulte [Claude Code on Amazon Bedrock](/docs/pt/amazon-bedrock). O upstream do lado do gateway:

285 286 

286```yaml theme={null}287```yaml theme={null}

287upstreams:288upstreams:


306 307 

307| Configuração | Como |308| Configuração | Como |

308| - | - |309| - | - |

309| Permissões IAM | Conceda ao principal do gateway `bedrock:InvokeModel` e `bedrock:InvokeModelWithResponseStream` nos ARNs do perfil de inferência e nos ARNs do modelo de fundação subjacente. Para o catálogo integrado em regiões dos EUA: `arn:aws:bedrock:<region>:<account>:inference-profile/us.anthropic.*` e `arn:aws:bedrock:*::foundation-model/anthropic.*`. Também conceda `bedrock:CountTokens` nos ARNs do modelo de fundação. O gateway o usa, sem custo, para contar os tokens de entrada de uma solicitação que o cliente abandonou, portanto [limites de gastos](#admin) permanecem precisos. Sem ele, o gateway volta para uma solicitação Bedrock de um token para essa contagem. |310| Permissões IAM | Conceda ao principal do gateway `bedrock:InvokeModel` e `bedrock:InvokeModelWithResponseStream` nos ARNs do perfil de inferência e nos ARNs do modelo de fundação subjacente. Para o catálogo integrado em regiões dos EUA: `arn:aws:bedrock:<region>:<account>:inference-profile/us.anthropic.*` e `arn:aws:bedrock:*::foundation-model/anthropic.*`. Também conceda `bedrock:CountTokens` nos ARNs do modelo de fundação. O gateway o usa, sem custo, para contar os tokens de entrada de uma solicitação que o cliente abandonou, portanto [limites de gastos](#admin) permanecem precisos. Sem ele, o gateway recorre a uma solicitação Bedrock de um token para essa contagem. |

310| Acesso ao modelo | Amazon Bedrock habilita acesso ao modelo por padrão em regiões comerciais. O portão de nível de conta restante é o formulário de caso de uso único da Anthropic: se ninguém em sua conta AWS o enviou, abra o console Amazon Bedrock, selecione um modelo Anthropic do catálogo de modelos e complete o formulário. Consulte [Enviar detalhes de caso de uso](/docs/pt/amazon-bedrock#1-submit-use-case-details) para o formulário AWS Organizations e as permissões que o remetente precisa. |311| Acesso ao modelo | Amazon Bedrock habilita acesso ao modelo por padrão em regiões comerciais. O portão de nível de conta restante é o formulário de caso de uso único da Anthropic: se ninguém em sua conta AWS o enviou, abra o console Amazon Bedrock, selecione um modelo Anthropic do catálogo de modelos e complete o formulário. Consulte [Enviar detalhes de caso de uso](/docs/pt/amazon-bedrock#1-submit-use-case-details) para o formulário AWS Organizations e as permissões que o remetente precisa. |

311| EKS (IRSA) | Crie uma função IAM com a política acima e uma política de confiança para o provedor OIDC do seu cluster com escopo para a conta de serviço do gateway. Anote a conta de serviço com `eks.amazonaws.com/role-arn: arn:aws:iam::<acct>:role/claude-gateway`. `auth: {}` a coleta. |312| EKS (IRSA) | Crie uma função IAM com a política acima e uma política de confiança para o provedor OIDC do seu cluster com escopo para a conta de serviço do gateway. Anote a conta de serviço com `eks.amazonaws.com/role-arn: arn:aws:iam::<acct>:role/claude-gateway`. `auth: {}` a coleta. |

312| ECS / EC2 | Anexe a função IAM à definição de tarefa ou perfil de instância. `auth: {}` a coleta. |313| ECS / EC2 | Anexe a função IAM à definição de tarefa ou perfil de instância. `auth: {}` a coleta. |

313| Em qualquer outro lugar | Passe credenciais através das variáveis env `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` e `AWS_SESSION_TOKEN`, ou defina-as explicitamente em `auth:` com expansão `${VAR}` |314| Em qualquer outro lugar | Passe credenciais através das variáveis env `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` e `AWS_SESSION_TOKEN`, ou defina-as explicitamente em `auth:` com expansão `${VAR}` |

314| Região | `region:` é a região do endpoint da API. Perfis de inferência entre regiões roteiam através da geo (US, EU, APAC) independentemente de qual você escolher. Para regiões fora dos EUA ou ARNs de throughput provisionado, adicione um bloco [`models:`](#models) com os IDs corretos por upstream. |315| Região | `region:` é a região do endpoint da API. Perfis de inferência entre regiões roteiam através da geo (US, EU, APAC) independentemente de qual você escolher. Para regiões fora dos EUA ou ARNs de throughput provisionado, adicione um bloco [`models:`](#models) com os IDs corretos por upstream. |

315 316 

317<h5 id="apply-an-amazon-bedrock-guardrail">

318 Aplicar um guardrail do Amazon Bedrock

319</h5>

320 

321Para aplicar um guardrail do Amazon Bedrock a cada requisição de inferência que o gateway envia através de um upstream Bedrock, adicione um bloco `guardrail` a esse upstream. Requer Claude Code v2.1.281 ou posterior no servidor gateway.

322 

323```yaml theme={null}

324upstreams:

325 - provider: bedrock

326 region: us-east-1

327 auth: {}

328 guardrail:

329 id: gr-abc123 # ID do guardrail ou ARN completo

330 version: "1" # um número de versão publicado, ou DRAFT

331 # mantenha as aspas: um 1 sem aspas falha na inicialização

332```

333 

334<Warning>

335 O gateway não suporta input tags de guardrail. Ele não adiciona tags de conteúdo de guarda aos prompts, portanto um filtro de guardrail que o Amazon Bedrock aplica apenas a entradas com tags não é executado no tráfego através do gateway. Para saber quais filtros dependem de input tags, consulte [input tags](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails-tagging.html) na documentação do Amazon Bedrock.

336</Warning>

337 

338Também conceda `bedrock:ApplyGuardrail` no guardrail ao principal que assina as requisições desse upstream: o principal AWS do gateway ou, com [`assume_role`](#bedrock-in-another-aws-account), a função nomeada em `role_arn`.

339 

340Defina `guardrail` em todos os upstreams `bedrock` ou em nenhum. O gateway se recusa a iniciar com uma mistura, porque o [failover](#multiple-upstreams) poderia, de outra forma, enviar uma requisição a um upstream Bedrock que não tem guardrail.

341 

342O guardrail cobre apenas upstreams Bedrock. Se você listar outro provedor em `upstreams`, o gateway envia requisições a esse provedor sem o guardrail.

343 

344Quando uma requisição `/v1/messages` cujo corpo carrega um campo `amazon-bedrock-*`, como `amazon-bedrock-guardrailConfig`, chega a um upstream Bedrock que tem `guardrail` definido, o gateway responde 400 em vez de encaminhá-la.

345 

346<a id="bedrock-in-another-aws-account" />

347 

348<h5 id="bedrock-in-another-aws-account">

349 Bedrock em outra conta AWS

350</h5>

351 

352Defina `assume_role` em um upstream Bedrock e o gateway usa sua própria identidade AWS apenas para chamar `sts:AssumeRole` em uma função que você nomeia, que pode estar em uma conta AWS diferente da do gateway. Cada requisição Bedrock desse upstream é assinada com as credenciais de uma hora que o STS retorna, portanto nenhuma chave de acesso de longa duração cruza contas.

353 

354Requer um gateway executando Claude Code v2.1.281 ou posterior. Um gateway anterior se recusa a iniciar quando encontra a chave.

355 

356```yaml theme={null}

357upstreams:

358 - name: bedrock-isolated

359 provider: bedrock

360 region: us-east-1

361 auth: {} # a própria função do gateway: ela apenas chama o STS

362 assume_role:

363 role_arn: arn:aws:iam::222222222222:role/claude-gateway-bedrock

364 # external_id: ${BEDROCK_ROLE_EXTERNAL_ID} # quando a política de confiança da função exige um

365```

366 

367O bloco `assume_role` aceita três chaves:

368 

369| Chave | Significado |

370| - | - |

371| `role_arn` | A função IAM que o gateway assume, como um ARN `arn:aws:iam::` ou `arn:aws-us-gov:iam::`. Conceda a ela as [permissões do Bedrock](#amazon-bedrock) de que esse upstream precisa, incluindo `bedrock:CountTokens`, além de `bedrock:ApplyGuardrail` quando o upstream define `guardrail`. |

372| `external_id` | Opcional. Enviado como o external ID em cada chamada `sts:AssumeRole`. Defina-o quando a política de confiança da função exigir um, e coloque-o entre aspas se for composto apenas de dígitos. |

373| `session_name` | Opcional. `email` ou `sub` dá a cada desenvolvedor sua própria sessão: consulte [Atribuição de custos AWS por desenvolvedor](#per-developer-aws-cost-attribution). Se não definido, cada requisição usa uma única sessão chamada `claude-apps-gateway`. |

374 

375A política de confiança da função nomeia o próprio principal do gateway, como sua função IRSA ou de tarefa ECS. Esse principal precisa de `sts:AssumeRole` na função e de nenhuma permissão Bedrock própria. Remova o `Condition` se você não definir `external_id`.

376 

377```json theme={null}

378{

379 "Version": "2012-10-17",

380 "Statement": [{

381 "Effect": "Allow",

382 "Principal": { "AWS": "arn:aws:iam::111111111111:role/claude-gateway" },

383 "Action": "sts:AssumeRole",

384 "Condition": { "StringEquals": { "sts:ExternalId": "your-external-id" } }

385 }]

386}

387```

388 

389* Se o STS recusar ou estiver inacessível, o gateway não envia a requisição com as credenciais próprias do upstream. Ele registra o erro do STS com o que verificar e então tenta o próximo upstream que você listou. [Mensagens de erro do upstream](#upstream-error-messages) descreve o que o cliente recebe quando nenhum upstream tem sucesso. Um upstream posterior sem `assume_role` serviria a requisição com suas próprias credenciais, portanto liste um apenas se for isso que você deseja.

390* O gateway chama o endpoint regional do STS `sts.<region>.amazonaws.com`, que sua rede deve alcançar. Para o endpoint FIPS, defina `AWS_USE_FIPS_ENDPOINT=true` no ambiente do gateway em vez de `use_fips_endpoint` em um arquivo de configuração AWS.

391* `assume_role` se aplica apenas a `provider: bedrock` e precisa de credenciais de origem SigV4: o gateway se recusa a iniciar quando ele está definido junto com `aws_bearer_token`.

392* Cada desenvolvedor que o gateway admite pode usar esse upstream; [`managed`](#managed) governa quais desenvolvedores podem usar quais modelos. Para impedir que um modelo servido através da função também seja servido a partir de outra conta, dê a ele um id personalizado cujo mapa `upstream_model` tenha apenas o nome desse upstream. Para esse id, o gateway pula todos os outros upstreams, portanto nem a requisição nem a contagem de tokens de uma requisição abortada podem fazer failover para outra conta. Nomes de modelos integrados ainda são tentados em cada upstream em ordem, incluindo este, e uma requisição que o alcança é assinada com a mesma função, portanto liste esse upstream por último, a menos que sua conta também deva servi-los.

393 

394Este exemplo dá a um modelo um id personalizado que apenas o upstream isolado serve:

395 

396```yaml theme={null}

397models:

398 - id: claude-opus-restricted # um id personalizado, não um nome de modelo integrado

399 upstream_model:

400 bedrock-isolated: us.anthropic.claude-opus-4-8 # o único upstream que o serve

401```

402 

403<a id="per-developer-aws-cost-attribution" />

404 

405<h5 id="per-developer-aws-cost-attribution">

406 Atribuição de custos AWS por desenvolvedor

407</h5>

408 

409Por padrão, o gateway assina cada requisição Bedrock com uma única credencial, portanto a AWS vê as requisições de todos os desenvolvedores sob um único principal IAM. Adicione `session_name: email` a [`assume_role`](#bedrock-in-another-aws-account) e o gateway chama `sts:AssumeRole` uma vez por desenvolvedor por hora, com o nome da sessão definido como o email desse desenvolvedor, e assina as requisições dele com as credenciais retornadas, portanto as requisições de cada desenvolvedor chegam à AWS sob sua própria sessão de função assumida. A função pode estar na própria conta do gateway.

410 

411Requer um gateway executando Claude Code v2.1.281 ou posterior. [Atribuição de custos na AWS](/docs/pt/claude-apps-gateway-on-aws#cost-attribution) descreve a função IAM e onde o faturamento da AWS mostra as sessões.

412 

413```yaml theme={null}

414upstreams:

415 - provider: bedrock

416 region: us-east-1

417 auth: {} # a própria função do gateway: ela apenas chama o STS

418 assume_role:

419 role_arn: arn:aws:iam::123456789012:role/claude-gateway-bedrock-user

420 session_name: email # ou sub

421```

422 

423`session_name` seleciona qual declaração verificada se torna o `RoleSessionName` da AWS: `email` ou `sub`. O gateway escreve qualquer caractere diferente de letras ASCII, dígitos e `_+,.@-` como hex `=XX` por byte UTF-8, e encurta um resultado com mais de 64 caracteres para um prefixo mais um hash, portanto o nome de sessão de cada desenvolvedor permanece válido e único. Uma requisição de um desenvolvedor cujo token não tem a declaração não é enviada através desse upstream, e o log do operador indica para mudar para `sub` ou definir [`oidc.email_claim`](#oidc).

424 

425Um desenvolvedor ativo custa uma chamada STS por hora por réplica do gateway, e primeiras requisições concorrentes compartilham uma chamada.

426 

427O gateway também faz uma chamada própria nessa função: a contagem de tokens de uma requisição que o cliente abandonou, para que os [limites de gastos](/docs/pt/claude-apps-gateway-spend-limits) permaneçam precisos. Essa contagem e sua [requisição de fallback de um token](#amazon-bedrock) são assinadas pela sessão compartilhada `claude-apps-gateway`, portanto a AWS atribui o fallback a `claude-apps-gateway` em vez de ao desenvolvedor.

428 

429Para uma atribuição estrita por desenvolvedor, defina `assume_role` com `session_name` em cada upstream Bedrock que você listar. Um upstream sem ele assina as requisições que serve com suas próprias credenciais.

430 

316<h4 id="claude-platform-on-aws">431<h4 id="claude-platform-on-aws">

317 Claude Platform on AWS432 Claude Platform on AWS

318</h4>433</h4>

319 434 

320Claude Platform on AWS serve a primeira API Anthropic em infraestrutura AWS em `aws-external-anthropic.<region>.api.aws`. Usa IDs de modelo de primeira parte, honra cabeçalhos `anthropic-beta` conforme enviados e serve `count_tokens`, portanto nenhuma tradução específica do Bedrock se aplica. O provedor `anthropicAws` requer Claude Code v2.1.198 ou posterior; versões anteriores do gateway o rejeitam na inicialização.435Claude Platform on AWS serve a API Anthropic de primeira parte em infraestrutura AWS em `aws-external-anthropic.<region>.api.aws`. Usa IDs de modelo de primeira parte, honra cabeçalhos `anthropic-beta` conforme enviados e serve `count_tokens`, portanto nenhuma tradução específica do Bedrock se aplica. O provedor `anthropicAws` requer Claude Code v2.1.198 ou posterior; versões anteriores do gateway o rejeitam na inicialização.

321 436 

322Para a implantação do lado do cliente da mesma plataforma, consulte [Claude Code on Claude Platform on AWS](/docs/pt/claude-platform-on-aws). O upstream do lado do gateway:437Para a implantação do lado do cliente da mesma plataforma, consulte [Claude Code on Claude Platform on AWS](/docs/pt/claude-platform-on-aws). O upstream do lado do gateway:

323 438 


384 Microsoft Foundry499 Microsoft Foundry

385</h4>500</h4>

386 501 

387Para a implantação Foundry do lado do cliente, consulte [Claude Code on Microsoft Foundry](/docs/pt/microsoft-foundry). O upstream do lado do gateway:502Para a implantação Microsoft Foundry do lado do cliente, consulte [Claude Code on Microsoft Foundry](/docs/pt/microsoft-foundry). O upstream do lado do gateway:

388 503 

389```yaml theme={null}504```yaml theme={null}

390upstreams:505upstreams:


396 # api_key: ${FOUNDRY_API_KEY}511 # api_key: ${FOUNDRY_API_KEY}

397```512```

398 513 

399`use_azure_ad: true` resolve através de `DefaultAzureCredential`: Managed Identity no AKS, ACI ou App Service; a CLI do Azure; ou credenciais de ambiente. Chaves de API funcionam mas são em todo o projeto e não giram automaticamente. O endpoint do Foundry é derivado de `resource:`; defina o `base_url` opcional para substituí-lo para nuvens soberanas como Azure Government.514`use_azure_ad: true` resolve através de `DefaultAzureCredential`: Managed Identity no AKS, ACI ou App Service; a CLI do Azure; ou credenciais de ambiente. Chaves de API funcionam mas são em todo o projeto e não giram automaticamente. O endpoint do Microsoft Foundry é derivado de `resource:`; defina o `base_url` opcional para substituí-lo para nuvens soberanas como Azure Government.

400 515 

401| Configuração | Como |516| Configuração | Como |

402| - | - |517| - | - |

403| RBAC | Conceda à identidade do gateway `Azure AI User` ou `Cognitive Services User` no recurso Foundry |518| RBAC | Conceda à identidade do gateway `Azure AI User` ou `Cognitive Services User` no recurso Microsoft Foundry |

404| Implantações | Microsoft Foundry usa nomes de implantação escolhidos pelo administrador, não IDs de modelo canônicos. Adicione um bloco [`models:`](#models) mapeando cada ID canônico para seu nome de implantação. |519| Implantações | Microsoft Foundry usa nomes de implantação escolhidos pelo administrador, não IDs de modelo canônicos. Adicione um bloco [`models:`](#models) mapeando cada ID canônico para seu nome de implantação. |

405| AKS (workload identity) | Federe uma Managed Identity Atribuída pelo Usuário com o emissor OIDC do cluster e vincule-a à conta de serviço do gateway. `use_azure_ad: true` a coleta via `WorkloadIdentityCredential`. |520| AKS (workload identity) | Federe uma Managed Identity Atribuída pelo Usuário com o emissor OIDC do cluster e vincule-a à conta de serviço do gateway. `use_azure_ad: true` a coleta via `WorkloadIdentityCredential`. |

406| ACI / App Service | Habilite identidade gerenciada atribuída pelo sistema ou pelo usuário no recurso. `use_azure_ad: true` a coleta. |521| ACI / App Service | Habilite identidade gerenciada atribuída pelo sistema ou pelo usuário no recurso. `use_azure_ad: true` a coleta. |


471 586 

472`404` é disponibilidade de modelo por upstream, portanto um upstream que não habilitou um modelo não bloqueia um upstream posterior que o serve. Um upstream que não pode resolver o modelo solicitado é pulado sem uma viagem de rede.587`404` é disponibilidade de modelo por upstream, portanto um upstream que não habilitou um modelo não bloqueia um upstream posterior que o serve. Um upstream que não pode resolver o modelo solicitado é pulado sem uma viagem de rede.

473 588 

474Este exemplo roteia uma alocação de throughput provisionado Bedrock primeiro, transborda para sob demanda e uma segunda conta, e volta para a API Anthropic por último:589Este exemplo roteia uma alocação de throughput provisionado Amazon Bedrock primeiro, transborda para sob demanda e uma segunda conta, e recorre à API Anthropic por último:

475 590 

476```yaml theme={null}591```yaml theme={null}

477upstreams:592upstreams:


485 provider: bedrock600 provider: bedrock

486 region: us-west-2601 region: us-west-2

487 auth: {}602 auth: {}

488 # Conta diferente: uma alocação Bedrock separada através de credenciais de função assumida.603 # Conta diferente: uma alocação Bedrock separada através de chaves estáticas.

489 - name: bedrock-acct2604 - name: bedrock-acct2

490 provider: bedrock605 provider: bedrock

491 region: us-east-1606 region: us-east-1


511 626 

512| Alavanca | Como |627| Alavanca | Como |

513| - | - |628| - | - |

514| Diferentes regiões | Um upstream Bedrock por região, cada um com sua própria `region:`. Com [`auto_include_builtin_models: true`](#models) os perfis de inferência entre regiões roteiam automaticamente; para implantações fixadas por região use um bloco `models:`. |629| Diferentes regiões | Um upstream Amazon Bedrock por região, cada um com sua própria `region:`. Com [`auto_include_builtin_models: true`](#models) os perfis de inferência entre regiões roteiam automaticamente; para implantações fixadas por região use um bloco `models:`. |

515| Diferentes contas | Um upstream Bedrock por conta, cada um com suas próprias credenciais em `auth:`. A cadeia padrão (`auth: {}`) usa a identidade do pod; para uma segunda conta, defina credenciais explícitas ou um token de portador. |630| Diferentes contas | Um upstream Amazon Bedrock por conta. A cadeia padrão (`auth: {}`) usa a identidade do pod; para uma segunda conta, adicione [`assume_role`](#bedrock-in-another-aws-account) para alcançá-la com credenciais de curta duração, ou defina credenciais explícitas ou um token de portador em `auth:`. |

516| Throughput provisionado | Mapeie o modelo para o ARN de throughput provisionado em `models:` para o nome desse upstream. Outros upstreams mantêm o ID sob demanda, portanto a capacidade PT é esgotada antes de falhar. |631| Throughput provisionado | Mapeie o modelo para o ARN de throughput provisionado em `models:` para o nome desse upstream. Outros upstreams mantêm o ID sob demanda, portanto a capacidade PT é esgotada antes de falhar. |

517| Endpoints VPC / FIPS | Defina `base_url:` no upstream para sua URL de endpoint VPC ou FIPS |632| Endpoints VPC / FIPS | Defina `base_url:` no upstream para sua URL de endpoint VPC ou FIPS |

518| Roteamento com escopo de modelo | Apenas um modelo `id` personalizado, que não é um modelo Claude integrado, pula os upstreams ausentes de seu mapa `upstream_model:`. O gateway tenta modelos integrados em cada upstream em ordem e usa o ID padrão do provedor onde o mapa não tem entrada, portanto para modelos integrados o mapa muda qual ID um upstream recebe em vez de se é tentado; um upstream que rejeita o ID segue as mesmas [regras de failover](#upstreams) que qualquer outro erro de upstream. |633| Roteamento com escopo de modelo | Apenas um modelo `id` personalizado, que não é um modelo Claude integrado, pula os upstreams ausentes de seu mapa `upstream_model:`. O gateway tenta modelos integrados em cada upstream em ordem e usa o ID padrão do provedor onde o mapa não tem entrada, portanto para modelos integrados o mapa muda qual ID um upstream recebe em vez de se é tentado; um upstream que rejeita o ID segue as mesmas [regras de failover](#upstreams) que qualquer outro erro de upstream. |


551| - | - | - |666| - | - | - |

552| `write_keys` | Não | Array de `{id, key}`. Um `x-api-key` correspondente a um destes pode listar, definir e excluir limites de gastos. Os valores das chaves devem ter pelo menos 32 caracteres; os `id`s devem ser únicos em `read_keys` e `write_keys`. |667| `write_keys` | Não | Array de `{id, key}`. Um `x-api-key` correspondente a um destes pode listar, definir e excluir limites de gastos. Os valores das chaves devem ter pelo menos 32 caracteres; os `id`s devem ser únicos em `read_keys` e `write_keys`. |

553| `read_keys` | Não | Array de `{id, key}`. Somente leitura: todos os endpoints `GET`, incluindo listagem de limites, busca de um por ID e leitura de [`/effective`](/docs/pt/claude-apps-gateway-spend-limits#%2Feffective) e [`/audit`](/docs/pt/claude-apps-gateway-spend-limits#%2Faudit). |668| `read_keys` | Não | Array de `{id, key}`. Somente leitura: todos os endpoints `GET`, incluindo listagem de limites, busca de um por ID e leitura de [`/effective`](/docs/pt/claude-apps-gateway-spend-limits#%2Feffective) e [`/audit`](/docs/pt/claude-apps-gateway-spend-limits#%2Faudit). |

554| `admin_groups` | Não | Nomes de grupos do IdP. Um gateway JWT cuja declaração `groups` inclui um destes tem acesso administrativo completo, leitura e escrita, e audita como `oidc:<sub>`. Use isto para administradores humanos; use chaves de API para máquinas. Uma entrada vazia nesta lista interrompe o gateway na inicialização. Veja [Valores de correspondência que interrompem o gateway na inicialização](#matcher-values-that-stop-the-gateway-at-boot). |669| `admin_groups` | Não | Nomes de grupos do IdP. Um gateway JWT cuja declaração `groups` inclui um destes tem acesso administrativo completo, leitura e escrita, e audita como `oidc:<sub>`. Use isto para administradores humanos; use chaves de API para máquinas. Uma entrada vazia nesta lista interrompe o gateway na inicialização. Veja [Valores de matcher que interrompem o gateway na inicialização](#matcher-values-that-stop-the-gateway-at-boot). |

555| `blocked_message` | Não | Anexado literalmente ao `429 billing_error` que um desenvolvedor bloqueado vê. Escreva a instrução completa, como uma URL ou um canal do Slack. Quando não definido, o gateway envia apenas a mensagem padrão. Veja [Como a aplicação funciona](/docs/pt/claude-apps-gateway-spend-limits#how-enforcement-works). |670| `blocked_message` | Não | Anexado literalmente ao `429 billing_error` que um desenvolvedor bloqueado vê. Escreva a instrução completa, como uma URL ou um canal do Slack. Quando não definido, o gateway envia apenas a mensagem padrão. Veja [Como a aplicação funciona](/docs/pt/claude-apps-gateway-spend-limits#how-enforcement-works). |

556| `audit_retention_days` | Não | Padrão `365`. Linhas `admin_audit` mais antigas são removidas. |671| `audit_retention_days` | Não | Padrão `365`. Linhas `admin_audit` mais antigas são removidas. |

557| `spend_retention_months` | Não | Padrão `13`. Linhas do contador `spend` mais antigas que isto são removidas. O padrão mantém um ano completo mais o mês parcial atual para relatórios ano a ano. |672| `spend_retention_months` | Não | Padrão `13`. Linhas do contador `spend` mais antigas que isto são removidas. O padrão mantém um ano completo mais o mês parcial atual para relatórios ano a ano. |


596 711 

597Como o medidor corresponde a uma linha de substituição:712Como o medidor corresponde a uma linha de substituição:

598 713 

599* Uma linha substitui o preço de lista para solicitações que `upstream`, um [`upstreams[].name`](#upstreams), serve para `model`. Isto inclui a taxa de [modo rápido](/docs/pt/fast-mode#understand-the-cost-tradeoff) mais alta, então solicitações de modo rápido e padrão medem as mesmas quatro taxas.714* Uma linha substitui o preço de lista para requisições que `upstream`, um [`upstreams[].name`](#upstreams), serve para `model`. Isto inclui a taxa de [modo rápido](/docs/pt/fast-mode#understand-the-cost-tradeoff) mais alta, então requisições de modo rápido e padrão medem as mesmas quatro taxas.

600* Um ID integrado como `claude-sonnet-4-6`, correspondido como [`models[].id`](#models), cobre cada forma datada, forma regional do Amazon Bedrock, ou forma da Plataforma de Agentes do Google Cloud que o medidor precifica como esse modelo. Qualquer outra string, como um alias ou um ARN de perfil de inferência, corresponde ao ID que o cliente enviou ou à string enviada upstream, sem distinção de maiúsculas e minúsculas.715* Um ID integrado como `claude-sonnet-4-6`, correspondido como [`models[].id`](#models), cobre cada forma datada, forma regional do Amazon Bedrock, ou forma da Plataforma de Agentes do Google Cloud que o medidor precifica como esse modelo. Qualquer outra string, como um alias ou um ARN de perfil de inferência, corresponde ao ID que o cliente enviou ou à string enviada upstream, sem distinção de maiúsculas e minúsculas.

601* Onde as linhas se sobrepõem, o medidor escolhe a linha mais específica em vez da primeira linha: uma linha cujo `model` é a string de modelo exata enviada upstream, depois uma linha correspondendo ao ID exato que o cliente enviou, depois uma linha nomeando o modelo integrado.716* Onde as linhas se sobrepõem, o medidor escolhe a linha mais específica em vez da primeira linha: uma linha cujo `model` é a string de modelo exata enviada upstream, depois uma linha correspondendo ao ID exato que o cliente enviou, depois uma linha nomeando o modelo integrado.

602* Um nome de upstream desconhecido falha na inicialização, assim como duas linhas para um upstream que nomeiam o mesmo modelo, incluindo duas grafias de um modelo integrado. O gateway avisa na inicialização sobre uma linha que nenhum modelo solicitável pode usar.717* Um nome de upstream desconhecido falha na inicialização, assim como duas linhas para um upstream que nomeiam o mesmo modelo, incluindo duas grafias de um modelo integrado. O gateway avisa na inicialização sobre uma linha que nenhum modelo solicitável pode usar.

603* Solicitações de busca na web permanecem no preço de lista de \$0,01; o multiplicador ainda se aplica a elas.718* Requisições de busca na web permanecem no preço de lista de \$0,01; o multiplicador ainda se aplica a elas.

604 719 

605Para taxas por região, dê a cada região seu próprio upstream nomeado e uma linha por upstream.720Para taxas por região, dê a cada região seu próprio upstream nomeado e uma linha por upstream.

606 721 


608 Marcar preços para cima723 Marcar preços para cima

609</h4>724</h4>

610 725 

611Com v2.1.271 ou posterior no servidor do gateway, você pode definir `multiplier` acima de 1, até 10, para medir mais do que o provedor cobra, por exemplo uma taxa de reembolso interno. Este exemplo mede cada solicitação em 120% do preço:726Com v2.1.271 ou posterior no servidor do gateway, você pode definir `multiplier` acima de 1, até 10, para medir mais do que o provedor cobra, por exemplo uma taxa de reembolso interno. Este exemplo mede cada requisição em 120% do preço:

612 727 

613```yaml theme={null}728```yaml theme={null}

614pricing:729pricing:


617 732 

618Com um bloco [`admin:`](#admin), a marcação também se aplica aos limites de gastos. O medidor conta 120% do preço, então desenvolvedores atingem seus limites mais cedo. O gateway registra um aviso na inicialização que diz isto.733Com um bloco [`admin:`](#admin), a marcação também se aplica aos limites de gastos. O medidor conta 120% do preço, então desenvolvedores atingem seus limites mais cedo. O gateway registra um aviso na inicialização que diz isto.

619 734 

620O multiplicador não muda o que o provedor upstream cobra pelas solicitações.735O multiplicador não muda o que o provedor upstream cobra pelas requisições.

621 736 

622Se o gateway também [envia as taxas para clientes conectados](#send-the-rates-to-signed-in-clients), desenvolvedores precisam de Claude Code v2.1.271 ou posterior para ver a marcação. Clientes anteriores ignoram um `multiplier` acima de 1 e mostram custos sem ele.737Se o gateway também [envia as taxas para clientes conectados](#send-the-rates-to-signed-in-clients), desenvolvedores precisam de Claude Code v2.1.271 ou posterior para ver a marcação. Clientes anteriores ignoram um `multiplier` acima de 1 e mostram custos sem ele.

623 738 


675 790 

676Uma captura `match: {}`, convencionalmente listada por último, é tratada como uma camada base. Cada outra política herda qualquer chave que não define da captura, então entradas por função só precisam listar o que difere do padrão da organização. As regras de mesclagem dependem do tipo de chave:791Uma captura `match: {}`, convencionalmente listada por último, é tratada como uma camada base. Cada outra política herda qualquer chave que não define da captura, então entradas por função só precisam listar o que difere do padrão da organização. As regras de mesclagem dependem do tipo de chave:

677 792 

678* **Listas de permissão**: `availableModels` e `permissions.allow`. A lista de uma política específica substitui completamente a da base.793* **Allowlists**: `availableModels` e `permissions.allow`. A lista de uma política específica substitui completamente a da base.

679* **Listas de negação e arrays de hook**: `permissions.deny`, `permissions.ask`, `disabledMcpjsonServers`, `deniedMcpServers`, `blockedMarketplaces` e cada array de tipo de evento `hooks`. Estes tomam a união de base e política, então um hook de negação ou auditoria em toda a organização não pode ser acidentalmente descartado por uma substituição por função.794* **Listas de negação e arrays de hook**: `permissions.deny`, `permissions.ask`, `disabledMcpjsonServers`, `deniedMcpServers`, `blockedMarketplaces` e cada array de tipo de evento `hooks`. Estes tomam a união de base e política, então um hook de negação ou auditoria em toda a organização não pode ser acidentalmente descartado por uma substituição por função.

680* **Chaves de tipo registro**: `env`, `modelOverrides` e `skillOverrides`. Estas mesclam superficialmente, então um bloco `env` por função substitui as chaves que define e herda o resto da base.795* **Chaves de tipo registro**: `env`, `modelOverrides` e `skillOverrides`. Estas mesclam superficialmente, então um bloco `env` por função sobrescreve as chaves que define e herda o resto da base.

681 796 

682`availableModels` também é aplicado no lado do servidor em `/v1/messages`, então um modelo negado retorna `400` independentemente do que o cliente envia.797`availableModels` também é aplicado no lado do servidor em `/v1/messages`, então um modelo negado retorna `400` independentemente do que o cliente envia.

683 798 

684O gateway valida o valor `model` em si antes de retransmitir uma solicitação, então um valor malformado nunca atinge um upstream. Ele rejeita a solicitação com um `400` em dois casos:799O gateway valida o valor `model` em si antes de retransmitir uma requisição, então um valor malformado nunca atinge um upstream. Ele rejeita a requisição com um `400` em dois casos:

685 800 

686* Quando o valor está faltando ou vazio, o gateway rejeita a solicitação com a mensagem `model is required`. Essa verificação requer um gateway executando Claude Code v2.1.228 ou posterior.801* Quando o valor está faltando ou vazio, o gateway rejeita a requisição com a mensagem `model is required`. Essa verificação requer um gateway executando Claude Code v2.1.228 ou posterior.

687* Quando o valor está presente mas não é uma string, o gateway rejeita a solicitação com a mensagem `model must be a string`. Requer um gateway executando Claude Code v2.1.221 ou posterior.802* Quando o valor está presente mas não é uma string, o gateway rejeita a requisição com a mensagem `model must be a string`. Requer um gateway executando Claude Code v2.1.221 ou posterior.

688 803 

689| Correspondência | Comportamento |804| Matcher | Comportamento |

690| - | - |805| - | - |

691| `match: {}` | Corresponde a cada usuário autenticado. Comece com um destes e adicione políticas com escopo de grupo acima dele depois. |806| `match: {}` | Corresponde a cada usuário autenticado. Comece com um destes e adicione políticas com escopo de grupo acima dele depois. |

692| `match: { groups: [a, b] }` | Corresponde se a declaração `groups` do JWT contém qualquer um dos grupos listados. Sensível a maiúsculas e minúsculas: grupos devem corresponder à grafia exata do IdP. |807| `match: { groups: [a, b] }` | Corresponde se a declaração `groups` do JWT contém qualquer um dos grupos listados. Sensível a maiúsculas e minúsculas: grupos devem corresponder à grafia exata do IdP. |


696Um usuário autenticado que não corresponde a nenhuma política obtém os padrões do gateway, o que significa cada modelo no catálogo e nenhuma configuração gerenciada. Adicione uma captura `match: {}` por último se você quiser uma política padrão garantida.811Um usuário autenticado que não corresponde a nenhuma política obtém os padrões do gateway, o que significa cada modelo no catálogo e nenhuma configuração gerenciada. Adicione uma captura `match: {}` por último se você quiser uma política padrão garantida.

697 812 

698<Note>813<Note>

699 O gateway não mantém seu próprio diretório de usuários. Ele autoriza cada solicitação do token do IdP do usuário, lendo a associação de grupo da declaração `groups` do token e avaliando políticas contra ela. Não há lista para enumerar e nenhuma conta para pré-criar, e portanto nenhum endpoint SCIM, porque não há nada para SCIM sincronizar.814 O gateway não mantém seu próprio diretório de usuários. Ele autoriza cada requisição do token do IdP do usuário, lendo a associação de grupo da declaração `groups` do token e avaliando políticas contra ela. Não há lista para enumerar e nenhuma conta para pré-criar, e portanto nenhum endpoint SCIM, porque não há nada para SCIM sincronizar.

700 815 

701 Execute gerenciamento de ciclo de vida de usuário e grupo na fonte de verdade, que é o provisionamento SCIM nativo do seu IdP ou uma plataforma dedicada de governança de identidade. A associação e desprovisionamento governados lá fluem para o gateway automaticamente através do token. Se você quiser provisionamento SCIM de contas Claude em si, essa é uma capacidade de [Claude for Enterprise](/docs/pt/admin-setup).816 Execute gerenciamento de ciclo de vida de usuário e grupo na fonte de verdade, que é o provisionamento SCIM nativo do seu IdP ou uma plataforma dedicada de governança de identidade. A associação e desprovisionamento governados lá fluem para o gateway automaticamente através do token. Se você quiser provisionamento SCIM de contas Claude em si, essa é uma capacidade de [Claude for Enterprise](/docs/pt/admin-setup).

702 817 


707</Note>822</Note>

708 823 

709<h4 id="matcher-values-that-stop-the-gateway-at-boot">824<h4 id="matcher-values-that-stop-the-gateway-at-boot">

710 Valores de correspondência que interrompem o gateway na inicialização825 Valores de matcher que interrompem o gateway na inicialização

711</h4>826</h4>

712 827 

713Na inicialização, o gateway verifica o bloco `match` de cada política e a lista [`admin_groups`](#admin). Qualquer um destes valores interrompe o gateway com um erro que nomeia o campo:828Na inicialização, o gateway verifica o bloco `match` de cada política e a lista [`admin_groups`](#admin). Qualquer um destes valores interrompe o gateway com um erro que nomeia o campo:


770 885 

771| Chave | Aplicada por | Efeito |886| Chave | Aplicada por | Efeito |

772| - | - | - |887| - | - | - |

773| `availableModels` | Gateway + CLI | Lista de permissão de modelo. Também verificada em `/v1/messages`, então um cliente corrigido não pode contorná-la. |888| `availableModels` | Gateway + CLI | Allowlist de modelos. Também verificada em `/v1/messages`, então um cliente corrigido não pode contorná-la. |

774| `permissions.allow` / `.deny` | CLI | Regras de ferramenta e comando. Veja [Permissions](/docs/pt/permissions). |889| `permissions.allow` / `.deny` | CLI | Regras de ferramenta e comando. Veja [Permissions](/docs/pt/permissions). |

775| `permissions.disableBypassPermissionsMode` | CLI | Defina como `disable` para bloquear [`bypassPermissions`](/docs/pt/permission-modes#skip-all-checks-with-bypasspermissions-mode), o modo que pula prompts de permissão, e a flag `--dangerously-skip-permissions` |890| `permissions.disableBypassPermissionsMode` | CLI | Defina como `disable` para bloquear [`bypassPermissions`](/docs/pt/permission-modes#skip-all-checks-with-bypasspermissions-mode), o modo que pula prompts de permissão, e a flag `--dangerously-skip-permissions` |

776| `allowManagedPermissionRulesOnly` | CLI | Quando `true`, as configurações gerenciadas se tornam a única fonte de configurações de regras de permissão. A entrada [`allowManagedPermissionRulesOnly`](/docs/pt/settings-reference#allowmanagedpermissionrulesonly) lista cada fonte que Claude Code então ignora. |891| `allowManagedPermissionRulesOnly` | CLI | Quando `true`, as configurações gerenciadas se tornam a única fonte de configurações de regras de permissão. A entrada [`allowManagedPermissionRulesOnly`](/docs/pt/settings-reference#allowmanagedpermissionrulesonly) lista cada fonte que Claude Code então ignora. |


794 909 

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

796 911 

797Uma execução não interativa com a flag `-p` não pode mostrar o diálogo. Ela aplica as configurações empurradas para essa execução apenas e não as registra como aprovadas, então a próxima sessão interativa do desenvolvedor ainda mostra o diálogo para elas. Antes de v2.1.207, uma execução não interativa salvava as configurações como aprovadas e nenhuma sessão interativa posterior mostrava o diálogo para elas.912Uma [execução não interativa](/docs/pt/server-managed-settings#security-approval-dialogs), como `claude -p` ou uma sessão do Agent SDK, não pode mostrar o diálogo. Ela aplica as configurações empurradas apenas para essa execução e não as registra como aprovadas, então a próxima sessão interativa do desenvolvedor ainda mostra o diálogo. Antes de v2.1.207, uma execução não interativa salvava as configurações como aprovadas e nenhuma sessão interativa posterior mostrava o diálogo para elas.

798 913 

799Se um desenvolvedor recusa, Claude Code sai dessa sessão em vez de aplicar a política. Quando você empurra um novo hook, ou qualquer variável env que aciona o diálogo, para uma política ampla, Claude Code portanto mostra o diálogo a cada desenvolvedor correspondido. Ele mostra o diálogo em uma sessão em execução na próxima pesquisa horária, e caso contrário na próxima inicialização do desenvolvedor.914Se um desenvolvedor recusa, Claude Code sai dessa sessão em vez de aplicar a política. Quando você empurra um novo hook, ou qualquer variável env que aciona o diálogo, para uma política ampla, cada desenvolvedor correspondido portanto vê o diálogo em suas sessões interativas. Uma sessão interativa em execução o mostra na próxima pesquisa horária e, caso contrário, ele aparece na próxima inicialização interativa do desenvolvedor.

800 915 

801A chave `cli` foi nomeada `settings` em lançamentos anteriores. Essa grafia ainda é aceita como um alias, mas novas implantações devem usar `cli`.916A chave `cli` foi nomeada `settings` em lançamentos anteriores. Essa grafia ainda é aceita como um alias, mas novas implantações devem usar `cli`.

802 917 


819Se sua organização também implanta [Claude Desktop](/docs/pt/desktop), o mesmo gateway serve ambos os clientes. Aponte `bootstrapUrl`, na [managed configuration](https://claude.com/docs/third-party/claude-desktop/configuration) do Claude Desktop, para `<listen.public_url>/user/bootstrap`. Claude Desktop deriva o emissor OAuth dessa URL, executa o mesmo sign-in de código de dispositivo contra este gateway e busca sua configuração da resposta.934Se sua organização também implanta [Claude Desktop](/docs/pt/desktop), o mesmo gateway serve ambos os clientes. Aponte `bootstrapUrl`, na [managed configuration](https://claude.com/docs/third-party/claude-desktop/configuration) do Claude Desktop, para `<listen.public_url>/user/bootstrap`. Claude Desktop deriva o emissor OAuth dessa URL, executa o mesmo sign-in de código de dispositivo contra este gateway e busca sua configuração da resposta.

820 935 

821<Note>936<Note>

822 Requer Claude Code v2.1.203 ou posterior no servidor do gateway, e uma opção explícita: `/user/bootstrap` retorna 404 a menos que a política correspondendo o usuário carregue uma chave `desktop`. Um `desktop: {}` vazio opta uma política, e uma chave `desktop` na camada base `match: {}` opta em cada política que a herda. O log de auditoria registra cada solicitação como `desktop_bootstrap.serve` ou `desktop_bootstrap.denied`.937 Requer Claude Code v2.1.203 ou posterior no servidor do gateway, e uma opção explícita: `/user/bootstrap` retorna 404 a menos que a política correspondendo o usuário carregue uma chave `desktop`. Um `desktop: {}` vazio opta uma política, e uma chave `desktop` na camada base `match: {}` opta em cada política que a herda. O log de auditoria registra cada requisição como `desktop_bootstrap.serve` ou `desktop_bootstrap.denied`.

823</Note>938</Note>

824 939 

825O gateway deriva muito da resposta do bloco `cli` da política correspondida e da configuração do gateway de nível superior:940O gateway deriva muito da resposta do bloco `cli` da política correspondida e da configuração do gateway de nível superior:

826 941 

827* A lista de modelos, de `availableModels`942* A lista de modelos, de `availableModels`

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

829* A lista de permissão de egresso, de `sandbox.network.allowedDomains`. Se você definir `coworkEgressAllowedHosts` no bloco `desktop` da política, o gateway usa esse valor em vez da lista derivada944* A allowlist de egresso, de `sandbox.network.allowedDomains`. Se você definir `coworkEgressAllowedHosts` no bloco `desktop` da política, o gateway usa esse valor em vez da lista derivada

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

831 946 

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


860 975 

861O gateway valida um bloco `desktop` contra o esquema agrupado com sua versão instalada, como faz com o bloco `cli`. Para entregar uma configuração introduzida por um lançamento mais novo do Claude Desktop, atualize o gateway primeiro. Por exemplo, `userPluginMarketplacesEnabled` e `userPluginUploadsEnabled` precisam de Claude Code v2.1.260 ou posterior no servidor do gateway e Claude Desktop 1.37937.0 ou posterior nas máquinas dos membros.976O gateway valida um bloco `desktop` contra o esquema agrupado com sua versão instalada, como faz com o bloco `cli`. Para entregar uma configuração introduzida por um lançamento mais novo do Claude Desktop, atualize o gateway primeiro. Por exemplo, `userPluginMarketplacesEnabled` e `userPluginUploadsEnabled` precisam de Claude Code v2.1.260 ou posterior no servidor do gateway e Claude Desktop 1.37937.0 ou posterior nas máquinas dos membros.

862 977 

978`blockReadsOutsideWorkingDirectories`, `disableBypassPermissionsMode`, `configRecheckIntervalMinutes` e `sshClientPath` precisam de Claude Code v2.1.281 ou posterior no servidor do gateway. O mesmo vale para o valor `required` de `microsoftAuthBroker` e o campo `continuousAccessEvaluation` de uma entrada `managedMcpServers` do Microsoft 365. Versões do Claude Desktop anteriores ao valor `required` o leem como `disabled`, então defina `required` somente depois que o Claude Desktop de cada membro o suportar. A [managed configuration reference](https://claude.com/docs/third-party/claude-desktop/configuration) do Claude Desktop lista a versão que primeiro lê cada chave.

979 

863Se você definir `orgPluginSettings` em um bloco `desktop` de uma política, o gateway o serve na forma de array que Claude Desktop 1.15200.0 e posterior lê. Desktops mais antigos ignoram o array e não aplicam nenhuma política de ferramenta de plugin, então atualize membros para 1.15200.0 ou posterior antes de confiar nisso.980Se você definir `orgPluginSettings` em um bloco `desktop` de uma política, o gateway o serve na forma de array que Claude Desktop 1.15200.0 e posterior lê. Desktops mais antigos ignoram o array e não aplicam nenhuma política de ferramenta de plugin, então atualize membros para 1.15200.0 ou posterior antes de confiar nisso.

864 981 

865O gateway preenche chaves que um bloco `desktop` de uma política não define a partir do bloco `desktop` da captura `match: {}`, da mesma forma que preenche um bloco `cli` de uma política a partir da base. Se você definir `disabledBuiltinTools` ou `builtinToolPolicy` tanto na base quanto em uma política de função, o gateway mantém a restrição da base:982O gateway preenche chaves que um bloco `desktop` de uma política não define a partir do bloco `desktop` da captura `match: {}`, da mesma forma que preenche um bloco `cli` de uma política a partir da base. Se você definir `disabledBuiltinTools` ou `builtinToolPolicy` tanto na base quanto em uma política de função, o gateway mantém a restrição da base:


887 1004 

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

889 1006 

890O CLI carimba cada exportação com a identidade do usuário autenticado, lida do JWT emitido pelo gateway: os atributos `user.id`, `user.email` e `user.groups`. A atribuição de custo e uso por desenvolvedor portanto funciona sem nenhuma configuração no lado do desenvolvedor.1007Em sessões conectadas através de `/login`, o CLI carimba cada exportação com a identidade do usuário autenticado, lida do JWT emitido pelo gateway: os atributos `user.id`, `user.email` e `user.groups`. A atribuição de custo e uso por desenvolvedor portanto funciona sem nenhuma configuração no lado do desenvolvedor.

891 1008 

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

893 1010 


921<Warning>1038<Warning>

922 Cada destino opta em `metrics`, `logs` e `traces` independentemente, e o padrão é apenas métricas. Os sinais diferem em sensibilidade:1039 Cada destino opta em `metrics`, `logs` e `traces` independentemente, e o padrão é apenas métricas. Os sinais diferem em sensibilidade:

923 1040 

924 * **Metrics**: contadores agregados como contagens de tokens, contagens de solicitações e latência1041 * **Metrics**: contadores agregados como contagens de tokens, contagens de requisições e latência

925 * **Logs and traces**: podem carregar comandos Bash completos, entradas de ferramentas e caminhos de arquivo, cobrindo qualquer coisa que Claude Code faz na máquina de um desenvolvedor1042 * **Logs and traces**: podem carregar comandos Bash completos, entradas de ferramentas e caminhos de arquivo, cobrindo qualquer coisa que Claude Code faz na máquina de um desenvolvedor

926 1043 

927 Habilite logs e rastreamentos apenas em destinos com os controles de acesso e política de retenção que os dados justificam.1044 Habilite logs e rastreamentos apenas em destinos com os controles de acesso e política de retenção que os dados justificam.


955 1072 

956Desenvolvedores conectados através de `/login` não podem redirecionar exportações com sua própria configuração OTEL:1073Desenvolvedores conectados através de `/login` não podem redirecionar exportações com sua própria configuração OTEL:

957 1074 

958* **Variáveis definidas localmente**: Claude Code aplica as variáveis empurradas na camada gerenciada, então cada uma substitui o valor que um desenvolvedor define para ela localmente.1075* **Variáveis definidas localmente**: Claude Code aplica as variáveis empurradas na camada gerenciada, então cada uma sobrescreve o valor que um desenvolvedor define para ela localmente.

959* **Endpoints configurados localmente**: com exportação OTLP/HTTP habilitada, o CLI ignora qualquer endpoint configurado localmente, independentemente de o gateway ter empurrado as variáveis de telemetria. Suas exportações vão para o gateway a menos que uma política [nomeie seu coletor como o endpoint](#export-directly-to-your-collector).1076* **Endpoints configurados localmente**: com exportação OTLP/HTTP habilitada, o CLI ignora qualquer endpoint configurado localmente, independentemente de o gateway ter empurrado as variáveis de telemetria. Suas exportações vão para o gateway a menos que uma política [nomeie seu coletor como o endpoint](#export-directly-to-your-collector).

960 1077 

961Sem um destino `forward_to` para um sinal, o gateway o aceita e descarta. Se desenvolvedores já exportam telemetria do Claude Code para um de seus coletores, adicione-o como um destino `forward_to`, com logs ou rastreamentos habilitados se eles exportarem aqueles, então continua recebendo seus dados depois que eles se conectam. Para pular o relé em vez disso, [nomeie o coletor em uma política](#export-directly-to-your-collector).1078Sem um destino `forward_to` para um sinal, o gateway o aceita e descarta. Se desenvolvedores já exportam telemetria do Claude Code para um de seus coletores, adicione-o como um destino `forward_to`, com logs ou rastreamentos habilitados se eles exportarem aqueles, então continua recebendo seus dados depois que eles se conectam. Para pular o relé em vez disso, [nomeie o coletor em uma política](#export-directly-to-your-collector).


1019 1136 

1020O endpoint sozinho não liga a exportação, então também defina as variáveis que fazem, a menos que o gateway já as empurre:1137O endpoint sozinho não liga a exportação, então também defina as variáveis que fazem, a menos que o gateway já as empurre:

1021 1138 

1022* Se o gateway já [empurra as variáveis de telemetria](#telemetry), elas cobrem habilitação, seletores e protocolo, e seu endpoint explícito substitui o valor `<public_url>` empurrado. Defina um seletor `OTEL_*_EXPORTER` para `otlp` você mesmo apenas para um sinal que nenhum destino `forward_to` habilita.1139* Se o gateway já [empurra as variáveis de telemetria](#telemetry), elas cobrem habilitação, seletores e protocolo, e seu endpoint explícito sobrescreve o valor `<public_url>` empurrado. Defina um seletor `OTEL_*_EXPORTER` para `otlp` você mesmo apenas para um sinal que nenhum destino `forward_to` habilita.

1023* Se não, também defina `CLAUDE_CODE_ENABLE_TELEMETRY=1`, os seletores `OTEL_*_EXPORTER` e `OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf`.1140* Se não, também defina `CLAUDE_CODE_ENABLE_TELEMETRY=1`, os seletores `OTEL_*_EXPORTER` e `OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf`.

1024 1141 

1025Quando o desenvolvedor se desconecta, ou se conecta a um gateway diferente, exportações para o coletor param e Claude Code descarta cada lote restante em vez de enviá-lo.1142Quando o desenvolvedor se desconecta, ou se conecta a um gateway diferente, exportações para o coletor param e Claude Code descarta cada lote restante em vez de enviá-lo.


1030 1147 

1031O gateway não armazena em buffer, tenta novamente ou armazena telemetria, então descarta uma exportação que não atinge um destino em vez de entregá-la tarde. Cada destino sucede ou falha por conta própria, e o cliente exportador recebe uma resposta de sucesso de qualquer forma, então uma entrega falhada aparece apenas no log do gateway.1148O gateway não armazena em buffer, tenta novamente ou armazena telemetria, então descarta uma exportação que não atinge um destino em vez de entregá-la tarde. Cada destino sucede ou falha por conta própria, e o cliente exportador recebe uma resposta de sucesso de qualquer forma, então uma entrega falhada aparece apenas no log do gateway.

1032 1149 

1033Após cinco falhas consecutivas de entrega para um destino, o gateway pausa o encaminhamento para ele em trechos de 30 segundos, registrando cada pausa, até que uma entrega suceda. Qualquer resposta de erro, timeout ou erro de conexão conta como uma falha de entrega, exceto `400`, `413`, `415`, `422` e `431`, que significam que o coletor rejeitou a carga dessa exportação como malformada ou muito grande.1150Após cinco falhas consecutivas de entrega para um destino, o gateway pausa o encaminhamento para ele em trechos de 30 segundos, registrando cada pausa, até que uma entrega suceda. Qualquer resposta de erro, timeout ou erro de conexão conta como uma falha de entrega, exceto `400`, `413`, `415`, `422` e `431`, que significam que o coletor rejeitou o payload dessa exportação como malformado ou muito grande.

1034 1151 

1035Uma carga rejeitada nem avança nem reseta a contagem de falhas: o gateway continua encaminhando para o destino e registra um aviso nomeando-o e o status, na primeira recusa do destino e a cada centésima depois.1152Um payload rejeitado nem avança nem reseta a contagem de falhas: o gateway continua encaminhando para o destino e registra um aviso nomeando-o e o status, na primeira recusa do destino e a cada centésima depois.

1036 1153 

1037<h3 id="http-tuning">1154<h3 id="http-tuning">

1038 HTTP tuning1155 HTTP tuning


1042 1159 

1043| Bloco | Chave | Padrão | Descrição |1160| Bloco | Chave | Padrão | Descrição |

1044| - | - | - | - |1161| - | - | - | - |

1045| `access_control` | `allow_cidrs` / `deny_cidrs` | vazio | Inbound IP permitir/negar por endereço do cliente, após resolução de `trusted_proxies`. `deny_cidrs` é verificado primeiro; um cliente que corresponde é rejeitado mesmo se `allow_cidrs` também corresponde. Se `allow_cidrs` não está vazio o gateway é padrão-negar. `/healthz` e `/readyz` estão isentos de `allow_cidrs`. Quando um proxy confiável envia uma entrada `X-Forwarded-For` que não é um endereço IP, o cliente real é desconhecido e o gateway registra um aviso uma vez nomeando o que verificar. Onde qualquer lista se aplica à solicitação, ela a recusa com `403` e razão de auditoria `xff_unparseable`. Onde nenhuma se aplica, ela serve a solicitação e usa o endereço do próprio proxy como o IP do cliente para limites de taxa por IP e auditoria. |1162| `access_control` | `allow_cidrs` / `deny_cidrs` | vazio | Inbound IP permitir/negar por endereço do cliente, após resolução de `trusted_proxies`. `deny_cidrs` é verificado primeiro; um cliente que corresponde é rejeitado mesmo se `allow_cidrs` também corresponde. Se `allow_cidrs` não está vazio o gateway é padrão-negar. `/healthz` e `/readyz` estão isentos de `allow_cidrs`. Quando um proxy confiável envia uma entrada `X-Forwarded-For` que não é um endereço IP, o cliente real é desconhecido e o gateway registra um aviso uma vez nomeando o que verificar. Onde qualquer lista se aplica à requisição, ela a recusa com `403` e razão de auditoria `xff_unparseable`. Onde nenhuma se aplica, ela serve a requisição e usa o endereço do próprio proxy como o IP do cliente para rate limits por IP e auditoria. |

1046| `limits` | `max_request_bytes` | 32 MiB | Corpo de solicitação inbound máximo; solicitações de tamanho excessivo obtêm `413` antes do corpo ser armazenado em buffer. Aumente para solicitações de arquivo ou imagem grandes. |1163| `limits` | `max_request_bytes` | 32 MiB | Corpo de requisição inbound máximo; requisições de tamanho excessivo obtêm `413` antes do corpo ser armazenado em buffer. Aumente para requisições de arquivo ou imagem grandes. |

1047| `limits` | `max_request_header_bytes` | não definido | Quando definido, cabeçalhos de tamanho excessivo retornam `431` |1164| `limits` | `max_request_header_bytes` | não definido | Quando definido, cabeçalhos de tamanho excessivo retornam `431` |

1048| `limits` | `max_url_length` | não definido | Quando definido, uma URL muito longa retorna `414` |1165| `limits` | `max_url_length` | não definido | Quando definido, uma URL muito longa retorna `414` |

1049| `timeouts` | `upstream_ttfb_ms` | 120000 | Espera máxima pelos cabeçalhos de resposta do upstream (tempo até o primeiro byte). O corpo da resposta então flui sem limite de relógio de parede. Aplica-se ao caminho direto do upstream Anthropic; em cada outro provedor o gateway aguarda até uma hora para a resposta começar. |1166| `timeouts` | `upstream_ttfb_ms` | 120000 | Espera máxima pelos cabeçalhos de resposta do upstream (tempo até o primeiro byte). O corpo da resposta então flui sem limite de relógio de parede. Aplica-se ao caminho direto do upstream Anthropic; em cada outro provedor o gateway aguarda até uma hora para a resposta começar. |

1050| `rate_limits` | `device_authorization.max` / `.window_seconds` | 30 / 600 | Limite de taxa por IP no endpoint de autorização de dispositivo não autenticado. Aumente para uma grande organização atrás de um IP de egresso compartilhado ou NAT. [Large rollouts](/docs/pt/claude-apps-gateway-deploy#large-rollouts) mostra como dimensioná-lo. Estes limites se aplicam apenas ao fluxo de concessão de dispositivo de sign-in, não à inferência `/v1/messages`. Veja [User-code brute-force resistance](/docs/pt/claude-apps-gateway-deploy#user-code-brute-force-resistance). |1167| `rate_limits` | `device_authorization.max` / `.window_seconds` | 30 / 600 | Rate limit por IP no endpoint de autorização de dispositivo não autenticado. Aumente para uma grande organização atrás de um IP de egresso compartilhado ou NAT. [Large rollouts](/docs/pt/claude-apps-gateway-deploy#large-rollouts) mostra como dimensioná-lo. Estes limites se aplicam apenas ao fluxo de concessão de dispositivo de sign-in, não à inferência `/v1/messages`. Veja [User-code brute-force resistance](/docs/pt/claude-apps-gateway-deploy#user-code-brute-force-resistance). |

1051| `rate_limits` | `device_verify.max` / `.window_seconds` | 10 / 600 | Limite de taxa por IP em envios de `user_code` em `/device`. É o que impede alguém de adivinhar o código de outro desenvolvedor. [Large rollouts](/docs/pt/claude-apps-gateway-deploy#large-rollouts) mostra até onde elevá-lo. |1168| `rate_limits` | `device_verify.max` / `.window_seconds` | 10 / 600 | Rate limit por IP em envios de `user_code` em `/device`. É o que impede alguém de adivinhar o código de outro desenvolvedor. [Large rollouts](/docs/pt/claude-apps-gateway-deploy#large-rollouts) mostra até onde elevá-lo. |

1052 1169 

1053Se você deixar ambas as listas `access_control` vazias, que é o padrão, o gateway serve qualquer endereço de cliente, então apenas sua rede restringe quem pode alcançá-lo. Isto importa porque um gateway pode empurrar [managed settings](#managed) que executam comandos em máquinas de desenvolvedores.1170Se você deixar ambas as listas `access_control` vazias, que é o padrão, o gateway serve qualquer endereço de cliente, então apenas sua rede restringe quem pode alcançá-lo. Isto importa porque um gateway pode empurrar [managed settings](#managed) que executam comandos em máquinas de desenvolvedores.

1054 1171 

1055Enquanto `allow_cidrs` está vazio, o gateway avisa em dois lugares, sem mudar como responde a qualquer solicitação:1172Enquanto `allow_cidrs` está vazio, o gateway avisa em dois lugares, sem mudar como responde a qualquer requisição:

1056 1173 

1057* **Na inicialização**: um aviso no log operacional recomenda permitir apenas os intervalos privados `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`, `100.64.0.0/10`, `127.0.0.0/8`, `::1/128` e `fc00::/7`, mais qualquer outro intervalo interno de onde seus desenvolvedores se conectam. Se você vincular o gateway a um endereço de loopback e não definir nem `trusted_proxies` nem `public_url`, como em desenvolvimento local, o aviso não aparece.1174* **Na inicialização**: um aviso no log operacional recomenda permitir apenas os intervalos privados `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`, `100.64.0.0/10`, `127.0.0.0/8`, `::1/128` e `fc00::/7`, mais qualquer outro intervalo interno de onde seus desenvolvedores se conectam. Se você vincular o gateway a um endereço de loopback e não definir nem `trusted_proxies` nem `public_url`, como em desenvolvimento local, o aviso não aparece.

1058* **Em tempo de execução**: a primeira vez que uma solicitação chega de um endereço fora desses intervalos privados, o gateway registra um aviso e emite um [`access.public_client` audit event](/docs/pt/claude-apps-gateway-deploy#logs) carregando o IP do cliente. Ambos disparam uma vez por processo. Endereços link-local, `169.254.0.0/16` e `fe80::/10`, não contam como públicos. O gateway responde `/healthz` e `/readyz` antes desta verificação ser executada, então sondas de saúde de intervalos públicos não a acionam.1175* **Em tempo de execução**: a primeira vez que uma requisição chega de um endereço fora desses intervalos privados, o gateway registra um aviso e emite um [`access.public_client` audit event](/docs/pt/claude-apps-gateway-deploy#logs) carregando o IP do cliente. Ambos disparam uma vez por processo. Endereços link-local, `169.254.0.0/16` e `fe80::/10`, não contam como públicos. O gateway responde `/healthz` e `/readyz` antes desta verificação ser executada, então sondas de saúde de intervalos públicos não a acionam.

1059 1176 

1060Ambos os sinais usam o endereço do cliente conforme o gateway o resolve. Se um balanceador de carga, port-forward ou túnel retransmite tráfego e não está listado em `listen.trusted_proxies`, o gateway vê o endereço do relé, que é geralmente privado, então nem o aviso em tempo de execução nem uma lista de permissão privada o captura.1177Ambos os sinais usam o endereço do cliente conforme o gateway o resolve. Se um balanceador de carga, port-forward ou túnel retransmite tráfego e não está listado em `listen.trusted_proxies`, o gateway vê o endereço do relé, que é geralmente privado, então nem o aviso em tempo de execução nem uma allowlist privada o captura.

1061 1178 

1062Atrás de tal front end, defina [`listen.trusted_proxies`](#listen) primeiro para que o gateway veja endereços de cliente reais, e mantenha o gateway e tudo na frente dele inacessível da internet pública independentemente.1179Atrás de tal front end, defina [`listen.trusted_proxies`](#listen) primeiro para que o gateway veja endereços de cliente reais, e mantenha o gateway e tudo na frente dele inacessível da internet pública independentemente.

1063 1180 


1065 `load_test_mode`1182 `load_test_mode`

1066</h3>1183</h3>

1067 1184 

1068O bloco `load_test_mode` permite que você teste a carga de um gateway sem chamar um provedor de modelo. Enquanto está ligado, o gateway constrói e assina cada solicitação de provedor como de costume, descarta-a em vez de enviá-la e transmite uma resposta enlatada de volta através de seu caminho de resposta normal. A resposta é texto de preenchimento que começa com uma frase dizendo que é enlatada.1185O bloco `load_test_mode` permite que você teste a carga de um gateway sem chamar um provedor de modelo. Enquanto está ligado, o gateway constrói e assina cada requisição de provedor como de costume, descarta-a em vez de enviá-la e transmite uma resposta enlatada de volta através de seu caminho de resposta normal. A resposta é texto de preenchimento que começa com uma frase dizendo que é enlatada.

1069 1186 

1070Requer Claude Code v2.1.282 ou posterior no servidor do gateway. Versões anteriores se recusam a iniciar quando encontram a chave. Atualize cada réplica antes de adicionar o bloco e remova o bloco antes de fazer rollback.1187Requer Claude Code v2.1.282 ou posterior no servidor do gateway. Um gateway anterior se recusa a iniciar quando encontra a chave. Atualize cada réplica antes de adicionar o bloco e remova o bloco antes de fazer rollback.

1071 1188 

1072O exemplo abaixo liga o modo com os padrões, uma resposta de aproximadamente 750 tokens de texto transmitida em cerca de 10 segundos:1189O exemplo abaixo liga o modo com os padrões, uma resposta de aproximadamente 750 tokens de texto transmitida em cerca de 10 segundos:

1073 1190 


1082| - | - | - |1199| - | - | - |

1083| `enabled` | Sim | `true` liga o modo. `false` mantém seus números no arquivo com o modo desligado. O gateway se recusa a iniciar se o bloco está presente sem ele. |1200| `enabled` | Sim | `true` liga o modo. `false` mantém seus números no arquivo com o modo desligado. O gateway se recusa a iniciar se o bloco está presente sem ele. |

1084| `reply_tokens` | Não | Padrão `750`. Aproximadamente quantos tokens de texto cada resposta enlatada carrega, um número inteiro de 1 a 100000. |1201| `reply_tokens` | Não | Padrão `750`. Aproximadamente quantos tokens de texto cada resposta enlatada carrega, um número inteiro de 1 a 100000. |

1085| `reply_seconds` | Não | Padrão `9.5`. Quanto tempo uma resposta transmitida leva, de 0 a 600. `0` envia a resposta inteira de uma vez. Uma resposta para uma solicitação não transmitida sempre volta de uma vez. |1202| `reply_seconds` | Não | Padrão `9.5`. Quanto tempo uma resposta transmitida leva, de 0 a 600. `0` envia a resposta inteira de uma vez. Uma resposta para uma requisição não transmitida sempre volta de uma vez. |

1086 1203 

1087Um teste de carga neste modo cobre o gateway, seu Postgres e tudo na frente do gateway. Não cobre os limites, velocidade ou caminho de rede do provedor.1204Um teste de carga neste modo cobre o gateway, seu Postgres e tudo na frente do gateway. Não cobre os limites, velocidade ou caminho de rede do provedor.

1088 1205 

1089Nenhuma solicitação de modelo é enviada ao provedor, então a CPU de uma réplica por solicitação é uma estimativa e lê mais baixo que a produção, que também criptografa seu tráfego para o provedor. Confirme uma contagem de réplica com um pequeno piloto contra o provedor real. Antes de v2.1.283, a estimativa lê muito mais baixo.1206Nenhuma requisição de modelo é enviada ao provedor, então a CPU de uma réplica por requisição é uma estimativa e lê mais baixo que a produção, que também criptografa seu tráfego para o provedor. Confirme uma contagem de réplica com um pequeno piloto contra o provedor real. Antes de v2.1.283, a estimativa lê muito mais baixo.

1090 1207 

1091Enquanto o modo está ligado, uma solicitação pode carregar um cabeçalho `x-load-test-user` contendo um número inteiro de até sete dígitos. O gateway conta cada número como um desenvolvedor separado, com o email e grupos do desenvolvedor cujo token veio com a solicitação.1208Enquanto o modo está ligado, uma requisição pode carregar um cabeçalho `x-load-test-user` contendo um número inteiro de até sete dígitos. O gateway conta cada número como um desenvolvedor separado, com o email e grupos do desenvolvedor cujo token veio com a requisição.

1092 1209 

1093Dê à implantação de teste de carga seu próprio banco de dados vazio, porque o gateway se recusa a iniciar com o modo ligado contra um banco de dados no qual qualquer desenvolvedor já gastou algo.1210Dê à implantação de teste de carga seu próprio banco de dados vazio, porque o gateway se recusa a iniciar com o modo ligado contra um banco de dados no qual qualquer desenvolvedor já gastou algo.

1094 1211 

1095<Warning>1212<Warning>

1096 Nunca ligue isto para um gateway que desenvolvedores usam. Cada solicitação obtém a resposta enlatada e nenhum modelo é chamado. O gateway registra um aviso `load_test_mode is on` na inicialização e marca cada [audit event](/docs/pt/claude-apps-gateway-deploy#logs) de `inference` com `load_test: true` enquanto o modo está ligado.1213 Nunca ligue isto para um gateway que desenvolvedores usam. Cada requisição obtém a resposta enlatada e nenhum modelo é chamado. O gateway registra um aviso `load_test_mode is on` na inicialização e marca cada [audit event](/docs/pt/claude-apps-gateway-deploy#logs) de `inference` com `load_test: true` enquanto o modo está ligado.

1097</Warning>1214</Warning>

1098 1215 

1099<h2 id="complete-example">1216<h2 id="complete-example">


1148 postgres_url: ${GATEWAY_POSTGRES_URL}1265 postgres_url: ${GATEWAY_POSTGRES_URL}

1149 # max_connections: 51266 # max_connections: 5

1150 # connect_timeout_seconds: 51267 # connect_timeout_seconds: 5

1268 # readiness_grace_seconds: 300 # continua passando na verificação de prontidão durante um failover do banco de dados

1151 1269 

1152# Habilita /v1/organizations/spend_limits (espelha a API Admin do Anthropic)1270# Habilita /v1/organizations/spend_limits (espelha a API Admin do Anthropic)

1153# e aplicação de gastos por desenvolvedor em /v1/messages. Omita para desabilitar.1271# e aplicação de gastos por desenvolvedor em /v1/messages. Omita para desabilitar.


1267}1385}

1268```1386```

1269 1387 

1270`parentSettingsBehavior: "merge"` mantém a entrega da lista de permissões de saída do Claude Desktop para suas sessões incorporadas do Claude Code funcionando; [Deliver policy to Claude Desktop sessions](/docs/pt/claude-apps-gateway#deliver-policy-to-claude-desktop-sessions) explica o mecanismo e onde a aceitação deve estar.1388`parentSettingsBehavior: "merge"` mantém a entrega da allowlist de saída do Claude Desktop para suas sessões incorporadas do Claude Code funcionando; [Deliver policy to Claude Desktop sessions](/docs/pt/claude-apps-gateway#deliver-policy-to-claude-desktop-sessions) explica o mecanismo e onde a aceitação deve estar.

1389 

1390Para impedir que os desenvolvedores contornem o gateway com uma variável de provedor de nuvem ou um `ANTHROPIC_BASE_URL` próprio, adicione `"allowedProviders": ["gateway"]` ao mesmo arquivo. O Claude Code então recusa toda sessão na máquina que não esteja configurada para um Cloud gateway, e admite um gateway apenas quando ele é aquele que `forceLoginGatewayUrl` nomeia ou um cuja URL o bloco `env` do arquivo define como `ANTHROPIC_BASE_URL`. `claude gateway` se recusa a ser executado em uma máquina que define a lista, portanto mantenha a chave fora do host do gateway. Veja a entrada [`allowedProviders`](/docs/pt/settings-reference#allowedproviders) na referência de configurações. Requer Claude Code v2.1.285 ou posterior.

1271 1391 

1272Implante o arquivo `managed-settings.json` em cada dispositivo, normalmente através de sua plataforma MDM. O caminho do arquivo difere por plataforma. Veja [onde cada mecanismo armazena a política](/docs/pt/managed-settings#where-each-mechanism-stores-the-policy).1392Implante o arquivo `managed-settings.json` em cada dispositivo, normalmente através de sua plataforma MDM. O caminho do arquivo difere por plataforma. Veja [onde cada mecanismo armazena a política](/docs/pt/managed-settings#where-each-mechanism-stores-the-policy).

1273 1393 


1275 1395 

1276Para Claude Desktop, defina a chave `bootstrapUrl` na própria [configuração gerenciada](https://claude.com/docs/third-party/claude-desktop/configuration) do Claude Desktop como `<listen.public_url>/user/bootstrap`. O fluxo de entrada e a política por grupo correspondem aos da CLI uma vez que uma política aceita no servidor com uma chave `desktop`; sem a aceitação, `/user/bootstrap` retorna 404. Veja [Claude Desktop overlay](#claude-desktop-overlay) para a metade do servidor.1396Para Claude Desktop, defina a chave `bootstrapUrl` na própria [configuração gerenciada](https://claude.com/docs/third-party/claude-desktop/configuration) do Claude Desktop como `<listen.public_url>/user/bootstrap`. O fluxo de entrada e a política por grupo correspondem aos da CLI uma vez que uma política aceita no servidor com uma chave `desktop`; sem a aceitação, `/user/bootstrap` retorna 404. Veja [Claude Desktop overlay](#claude-desktop-overlay) para a metade do servidor.

1277 1397 

1278Claude Code honra [`forceLoginGatewayUrl`](/docs/pt/settings-reference#forcelogingatewayurl), [`gatewayInternalNetworks`](/docs/pt/settings-reference#gatewayinternalnetworks) e o valor `"gateway"` de [`forceLoginMethod`](/docs/pt/settings-reference#forceloginmethod) apenas de uma fonte gerenciada na máquina: `managed-settings.json`, o plist do macOS ou registro HKLM do Windows, ou um auxiliar de política. Um desenvolvedor configurando-os em seu próprio `~/.claude/settings.json` não tem efeito, e tampouco tem efeito configurá-los na carga útil do gateway.1398Claude Code honra [`forceLoginGatewayUrl`](/docs/pt/settings-reference#forcelogingatewayurl), [`gatewayInternalNetworks`](/docs/pt/settings-reference#gatewayinternalnetworks) e o valor `"gateway"` de [`forceLoginMethod`](/docs/pt/settings-reference#forceloginmethod) apenas de uma fonte gerenciada na máquina: `managed-settings.json`, o plist do macOS ou registro HKLM do Windows, ou um auxiliar de política. Defini-los no próprio `~/.claude/settings.json` de um desenvolvedor ou no payload do gateway não configura o login no gateway.

1399 

1400Deixe `forceLoginMethod` e `forceLoginOrgUUID` fora do payload. O Claude Code ainda lê ambas as chaves do payload para sua verificação de credenciais na inicialização, portanto um desenvolvedor que mantém uma credencial emitida pela Anthropic na máquina recebe a saída na inicialização descrita em [Administrator policy requires a Cloud gateway sign-in](/docs/pt/errors#administrator-policy-requires-a-cloud-gateway-sign-in) mesmo depois de fazer login.

1279 1401 

1280<h2 id="related">1402<h2 id="related">

1281 Relacionado1403 Relacionado

Details

20 <img src="https://mintcdn.com/claude-code/-uq-4JE0W_JO5Er5/images/claude-gateway-gcp-architecture.svg?fit=max&auto=format&n=-uq-4JE0W_JO5Er5&q=85&s=cb705151c69128ac0da235852d5600ab" alt="Diagrama do gateway de aplicativos Claude no Google Cloud: clientes Claude Code se conectam via HTTPS ao gateway (Cloud Run ou GKE), que é executado dentro de um VPC ao lado de um banco de dados Cloud SQL com IP privado para estado de sessão. O gateway faz login dos usuários via OIDC contra Google Workspace, lê configuração e segredos do Secret Manager, encaminha solicitações de modelo para Agent Platform e extrai sua imagem do Artifact Registry na implantação." width="760" height="400" data-path="images/claude-gateway-gcp-architecture.svg" />20 <img src="https://mintcdn.com/claude-code/-uq-4JE0W_JO5Er5/images/claude-gateway-gcp-architecture.svg?fit=max&auto=format&n=-uq-4JE0W_JO5Er5&q=85&s=cb705151c69128ac0da235852d5600ab" alt="Diagrama do gateway de aplicativos Claude no Google Cloud: clientes Claude Code se conectam via HTTPS ao gateway (Cloud Run ou GKE), que é executado dentro de um VPC ao lado de um banco de dados Cloud SQL com IP privado para estado de sessão. O gateway faz login dos usuários via OIDC contra Google Workspace, lê configuração e segredos do Secret Manager, encaminha solicitações de modelo para Agent Platform e extrai sua imagem do Artifact Registry na implantação." width="760" height="400" data-path="images/claude-gateway-gcp-architecture.svg" />

21</Frame>21</Frame>

22 22 

23A configuração de referência provisiona:23A implantação consiste em:

24 24 

25* Serviço **Cloud Run** ou **GKE** Deployment executando o contêiner do gateway25* Serviço **Cloud Run** ou **GKE** Deployment executando o contêiner do gateway

26* Repositório **Artifact Registry** para a imagem do gateway26* Repositório **Artifact Registry** para a imagem do gateway

27* Instância **Cloud SQL para PostgreSQL**, apenas IP privado, para o [store](/docs/pt/claude-apps-gateway-config#store) do gateway27* Instância **Cloud SQL para PostgreSQL**, apenas IP privado, para o [store](/docs/pt/claude-apps-gateway-config#store) do gateway

28* Segredos **Secret Manager** para `gateway.yaml`, a chave de assinatura JWT, o segredo do cliente OIDC e a URL do Postgres28* Segredos **Secret Manager** para `gateway.yaml`, a chave de assinatura JWT, o segredo do cliente OIDC e a URL do Postgres

29* **Conta de serviço** com `roles/aiplatform.user`, anexada diretamente no Cloud Run ou vinculada via Workload Identity no GKE29* **Conta de serviço** com `roles/aiplatform.user`, anexada diretamente no Cloud Run ou vinculada via Workload Identity no GKE

30* **Internal Application Load Balancer** no Cloud Run, ou um **GKE Ingress** interno de classe `gce-internal` no GKE, para HTTPS30* **Front end HTTPS** que você fornece: um Application Load Balancer interno na frente do Cloud Run, para o qual este passo a passo configura o gateway, mas não o cria, ou um **GKE Ingress** interno de classe `gce-internal` no GKE

31 31 

32<h2 id="prerequisites">32<h2 id="prerequisites">

33 Pré-requisitos33 Pré-requisitos


143 <Step title="Escrever gateway.yaml">143 <Step title="Escrever gateway.yaml">

144 O bloco `upstreams` aponta para Agent Platform com `auth: {}`, portanto o gateway autentica via Application Default Credentials da conta de serviço do runtime. Consulte a [referência de configuração](/docs/pt/claude-apps-gateway-config) para cada campo.144 O bloco `upstreams` aponta para Agent Platform com `auth: {}`, portanto o gateway autentica via Application Default Credentials da conta de serviço do runtime. Consulte a [referência de configuração](/docs/pt/claude-apps-gateway-config) para cada campo.

145 145 

146 Dois campos `listen` dependem do que está na frente do gateway:146 Dois campos `listen` descrevem o que está na frente do gateway:

147 147 

148 * `public_url`: necessário atrás de Cloud Run ou um GKE Ingress. O gateway constrói o `redirect_uri` do IdP e seu documento de descoberta apenas a partir deste valor, nunca a partir de cabeçalhos `X-Forwarded-*`.148 * `public_url`: a origem `https://` externa, obrigatória para qualquer bind que não seja loopback; consulte a [referência de `listen`](/docs/pt/claude-apps-gateway-config#listen). O gateway constrói o `redirect_uri` do IdP e seu documento de descoberta apenas a partir deste valor, nunca a partir de cabeçalhos `X-Forwarded-*`.

149 * `trusted_proxies`: os intervalos de origem do front-end. O gateway honra `X-Forwarded-For` apenas quando o par TCP está nesta lista, depois percorre a cadeia passando hops confiáveis, portanto os limites de taxa de login por IP e eventos de auditoria registram IPs de desenvolvedores em vez do balanceador de carga.149 * `trusted_proxies`: os intervalos de origem do front-end. O gateway honra `X-Forwarded-For` apenas quando o par TCP está nesta lista, depois percorre a cadeia passando hops confiáveis, portanto os rate limits de login por IP e eventos de auditoria registram IPs de desenvolvedores em vez do balanceador de carga.

150 150 

151 Defina `trusted_proxies` para corresponder ao seu front-end. Um GKE Ingress externo de classe `gce` não está listado: ele provisiona um endereço de regra de encaminhamento público, que a verificação [rede privada](/docs/pt/claude-apps-gateway#prerequisites) do `/login` rejeita.151 Defina `trusted_proxies` para corresponder ao seu front-end. Um GKE Ingress externo de classe `gce` não está listado: ele provisiona um endereço de regra de encaminhamento público, que a verificação [rede privada](/docs/pt/claude-apps-gateway#prerequisites) do `/login` rejeita.

152 152 


179 179 

180 store:180 store:

181 postgres_url: ${GATEWAY_POSTGRES_URL} # GKE: ${file:/secrets/postgres-url}181 postgres_url: ${GATEWAY_POSTGRES_URL} # GKE: ${file:/secrets/postgres-url}

182 # readiness_grace_seconds: 300 # keep passing the readiness probe

183 # through a Cloud SQL failover

182 184 

183 upstreams:185 upstreams:

184 - provider: vertex186 - provider: vertex


219 --region="$REGION" \221 --region="$REGION" \

220 --service-account="claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com" \222 --service-account="claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com" \

221 --min-instances=1 \223 --min-instances=1 \

224 --max-instances=8 \

222 --timeout=3600 \225 --timeout=3600 \

223 --ingress=internal-and-cloud-load-balancing \226 --ingress=internal \

224 --network="$VPC" --subnet=cc-gateway-subnet --vpc-egress=private-ranges-only \227 --network="$VPC" --subnet=cc-gateway-subnet --vpc-egress=private-ranges-only \

225 --set-secrets=/etc/claude/gateway.yaml=gateway-config:latest,GATEWAY_JWT_SECRET=gateway-jwt-secret:latest,OIDC_CLIENT_SECRET=gateway-oidc-client-secret:latest,GATEWAY_POSTGRES_URL=gateway-postgres-url:latest \228 --set-secrets=/etc/claude/gateway.yaml=gateway-config:latest,GATEWAY_JWT_SECRET=gateway-jwt-secret:latest,OIDC_CLIENT_SECRET=gateway-oidc-client-secret:latest,GATEWAY_POSTGRES_URL=gateway-postgres-url:latest \

226 --no-invoker-iam-check229 --no-invoker-iam-check

227 ```230 ```

228 231 

229 Egresso VPC direto, via `--network`, `--subnet` e `--vpc-egress=private-ranges-only`, permite que o serviço alcance o IP privado do Cloud SQL diretamente. Egresso público para os endpoints do Agent Platform e `accounts.google.com` vai diretamente para a internet em vez de através do VPC, portanto nenhum Cloud NAT é necessário.232 Egresso VPC direto, via `--network`, `--subnet` e `--vpc-egress=private-ranges-only`, permite que o serviço alcance o IP privado do Cloud SQL diretamente. Cada instância mantém até [`store.max_connections`](/docs/pt/claude-apps-gateway-config#store) conexões Postgres, cinco por padrão, portanto mantenha o número máximo de instâncias × `store.max_connections` abaixo do limite de conexões do seu nível do Cloud SQL; os [ativos de referência](#terraform-reference) limitam as instâncias a 8 para o nível `db-g1-small` por esse motivo. Egresso público para os endpoints do Agent Platform do Google Cloud e `accounts.google.com` vai diretamente para a internet em vez de através do VPC, portanto nenhum Cloud NAT é necessário.

230 233 

231 A verificação de IAM do invoker deve estar aberta ou desabilitada. O gateway executa seu próprio OIDC e seus clientes não carregam nenhum token GCP, portanto a verificação de invoker do Cloud Run tem que admitir solicitações não autenticadas. A autenticação OIDC do gateway autentica a solicitação uma vez que ela alcança o contêiner, com `allowed_email_domains` controlando quais domínios podem fazer login.234 A verificação de IAM do invoker deve estar aberta ou desabilitada. O gateway executa seu próprio OIDC e seus clientes não carregam nenhum token GCP, portanto a verificação de invoker do Cloud Run tem que admitir solicitações não autenticadas. A autenticação OIDC do gateway autentica a solicitação uma vez que ela alcança o contêiner, com `allowed_email_domains` controlando quais domínios podem fazer login.

232 235 


239 242 

240 Por padrão, a URL `*.run.app` do Cloud Run resolve para um endereço público, que a verificação [rede privada](/docs/pt/claude-apps-gateway#prerequisites) do `/login` rejeita. Duas topologias fornecem aos desenvolvedores um nome de host resolvível privadamente, e o Cloud Run não provisiona nenhuma para você:243 Por padrão, a URL `*.run.app` do Cloud Run resolve para um endereço público, que a verificação [rede privada](/docs/pt/claude-apps-gateway#prerequisites) do `/login` rejeita. Duas topologias fornecem aos desenvolvedores um nome de host resolvível privadamente, e o Cloud Run não provisiona nenhuma para você:

241 244 

242 * **Internal Application Load Balancer**, a topologia que o comando de implantação acima assume: implante com `--ingress=internal-and-cloud-load-balancing`, provisione um Internal Application Load Balancer na frente do serviço com um nome DNS interno e certificado, e defina `listen.public_url` para esse nome de host.245 * **Internal Application Load Balancer**, a topologia que o `gateway.yaml` desta página assume: provisione um Internal Application Load Balancer na frente do serviço com um nome DNS interno e certificado, e defina `listen.public_url` para esse nome de host. A configuração de ingresso `internal` já admite tráfego de Internal Application Load Balancers; `internal-and-cloud-load-balancing` admite adicionalmente External Application Load Balancers, cujos endereços públicos a verificação de rede privada do `/login` rejeita, portanto nenhuma topologia desta página precisa dela.

243 * **Ingresso somente interno sem balanceador de carga**: implante com `--ingress=internal` e deixe `listen.public_url` como a URL `*.run.app`, o padrão nos [ativos de referência](#terraform-reference) abaixo. Para `*.run.app` resolver privadamente, sua equipe de rede deve já operar um endpoint Private Service Connect para APIs do Google, uma zona privada Cloud DNS resolvendo `*.run.app` para ele, e roteamento no local para esse endpoint.246 * **Ingresso somente interno sem balanceador de carga**: mantenha o comando de implantação como está e deixe `listen.public_url` como a URL `*.run.app`, o padrão nos [ativos de referência](#terraform-reference) abaixo. Para `*.run.app` resolver privadamente, sua equipe de rede deve já operar um endpoint Private Service Connect para APIs do Google, uma zona privada Cloud DNS resolvendo `*.run.app` para ele, e roteamento no local para esse endpoint.

244 247 

245 O [guia de rede privada do Google para Cloud Run](https://cloud.google.com/run/docs/securing/private-networking) cobre a infraestrutura que ambas as opções precisam. Verifique o login uma vez que o gateway esteja servindo em um nome de host privado; até então, confirme que o contêiner inicializou a partir de seus logs no Cloud Run.248 O [guia de rede privada do Google para Cloud Run](https://cloud.google.com/run/docs/securing/private-networking) cobre a infraestrutura que ambas as opções precisam. Verifique o login uma vez que o gateway esteja servindo em um nome de host privado; até então, confirme que o contêiner inicializou a partir de seus logs no Cloud Run.

246 249 


288 </Step>291 </Step>

289 292 

290 <Step title="Enviar a URL do gateway para máquinas de desenvolvedores">293 <Step title="Enviar a URL do gateway para máquinas de desenvolvedores">

291 O gateway agora está em execução, mas os desenvolvedores não podem alcançá-lo a partir de `/login` até que a URL do gateway esteja em suas máquinas. Defina `forceLoginMethod` e `forceLoginGatewayUrl` no [arquivo de configurações gerenciadas](/docs/pt/claude-apps-gateway#set-the-gateway-url) que você implanta em cada dispositivo via MDM. Não há opção de gateway no seletor de login para um desenvolvedor selecionar manualmente.294 O gateway agora está em execução, mas os desenvolvedores não podem alcançá-lo a partir de `/login` até que a URL do gateway esteja em suas máquinas. Implante o [trecho completo de configurações gerenciadas](/docs/pt/claude-apps-gateway#set-the-gateway-url), com `forceLoginMethod`, `forceLoginGatewayUrl` e a adesão `parentSettingsBehavior: "merge"`, em cada dispositivo via MDM. Não há opção de gateway no seletor de login para um desenvolvedor selecionar manualmente.

292 </Step>295 </Step>

293</Steps>296</Steps>

294 297 


302* `terraform/`: a mesma implantação como infraestrutura como código, para uma implantação greenfield: uma aplicação direcionada para criar o repositório Artifact Registry, depois construir e enviar a imagem, depois uma aplicação completa305* `terraform/`: a mesma implantação como infraestrutura como código, para uma implantação greenfield: uma aplicação direcionada para criar o repositório Artifact Registry, depois construir e enviar a imagem, depois uma aplicação completa

303* `gateway.yaml.example` e um `Dockerfile` para a imagem de runtime distroless306* `gateway.yaml.example` e um `Dockerfile` para a imagem de runtime distroless

304 307 

305Os artefatos padrão do ingresso Cloud Run para `internal`, portanto nenhum balanceador de carga é necessário. Para corresponder à implantação de produção atrás de um ALB desta página, execute `setup.sh` com `INGRESS=internal-and-cloud-load-balancing`, ou defina a variável Terraform `ingress` para `INGRESS_TRAFFIC_INTERNAL_LOAD_BALANCER`. Os artefatos também padrão da camada de invoker para uma concessão `allUsers` `run.invoker` em vez de `--no-invoker-iam-check`, o inverso do passo a passo desta página; ambos funcionam, e a escolha depende das restrições de política da sua organização.308Os artefatos definem por padrão o ingresso do Cloud Run como `internal`, correspondendo ao comando de deploy desta página; essa configuração funciona com ou sem um Application Load Balancer interno na frente do serviço, e os artefatos também não criam o balanceador de carga. Os artefatos também definem por padrão a camada de invoker como uma concessão `allUsers` `run.invoker` em vez de `--no-invoker-iam-check`, o inverso do passo a passo desta página; ambos funcionam, e a escolha depende das restrições de política da sua organização.

306 309 

307Os ativos são fornecidos como exemplos funcionais, não como um artefato de produção suportado; revise e adapte-os ao seu ambiente.310Os ativos são fornecidos como exemplos funcionais, não como um artefato de produção suportado; revise e adapte-os ao seu ambiente.

308 311 


317| Cloud Run retorna `403 Forbidden` antes de alcançar o contêiner | A verificação de IAM do invoker ainda está habilitada | Implante com `--no-invoker-iam-check`, ou conceda ao `allUsers` a função `run.invoker` com `--allow-unauthenticated` |320| Cloud Run retorna `403 Forbidden` antes de alcançar o contêiner | A verificação de IAM do invoker ainda está habilitada | Implante com `--no-invoker-iam-check`, ou conceda ao `allUsers` a função `run.invoker` com `--allow-unauthenticated` |

318| `--no-invoker-iam-check` rejeitado com `invoker_iam_disabled is not currently available` | Bloqueado por `constraints/run.managed.requireInvokerIam` | Use `--allow-unauthenticated`. Se Domain Restricted Sharing via `constraints/iam.allowedPolicyMemberDomains` também bloquear isso, use o caminho GKE, que expõe o gateway na camada de rede sem nenhuma vinculação `allUsers`. |321| `--no-invoker-iam-check` rejeitado com `invoker_iam_disabled is not currently available` | Bloqueado por `constraints/run.managed.requireInvokerIam` | Use `--allow-unauthenticated`. Se Domain Restricted Sharing via `constraints/iam.allowedPolicyMemberDomains` também bloquear isso, use o caminho GKE, que expõe o gateway na camada de rede sem nenhuma vinculação `allUsers`. |

319| `Container manifest type … must support amd64/linux` na implantação | A imagem foi construída em um host não-amd64, ou buildx emitiu um índice de imagem OCI | Construa com `--platform=linux/amd64 --provenance=false` |322| `Container manifest type … must support amd64/linux` na implantação | A imagem foi construída em um host não-amd64, ou buildx emitiu um índice de imagem OCI | Construa com `--platform=linux/amd64 --provenance=false` |

320| A inicialização do gateway sai com um erro de tempo limite de conexão Postgres no Cloud Run | O serviço não está anexado ao VPC, ou Cloud SQL não tem IP privado nesse VPC; o store para de esperar após 5 segundos | Implante com `--network` e `--subnet` para egresso VPC direto, e crie a instância Cloud SQL com `--no-assign-ip` e `--network` apontando para o mesmo VPC |323| A inicialização do gateway sai com um erro de timeout de conexão Postgres no Cloud Run | O serviço não está anexado ao VPC, ou Cloud SQL não tem IP privado nesse VPC | Implante com `--network` e `--subnet` para egresso VPC direto, e crie a instância Cloud SQL com `--no-assign-ip` e `--network` apontando para o mesmo VPC |

321| Solicitações do Agent Platform retornam `403 PERMISSION_DENIED` | O runtime não está usando a conta de serviço `claude-gateway`, ou o modelo não está habilitado no Model Garden para o projeto | Defina `--service-account` no Cloud Run ou vincule Workload Identity no GKE, e habilite cada modelo Claude no Model Garden para a região de destino |324| Solicitações do Agent Platform retornam `403 PERMISSION_DENIED` | O runtime não está usando a conta de serviço `claude-gateway`, ou o modelo não está habilitado no Model Garden para o projeto | Defina `--service-account` no Cloud Run ou vincule Workload Identity no GKE, e habilite cada modelo Claude no Model Garden para a região de destino |

322| Respostas de streaming são cortadas após uma duração fixa | Tempo limite de solicitação do front-end: o serviço backend do balanceador de carga atrás do GKE Ingress padrão para 30 segundos e Cloud Run para 300 segundos | Anexe um BackendConfig com um `timeoutSec` elevado no GKE, ou implante com `--timeout=3600` no Cloud Run |325| Respostas de streaming são cortadas após uma duração fixa | Tempo limite de solicitação do front-end: o serviço backend do balanceador de carga atrás do GKE Ingress padrão para 30 segundos e Cloud Run para 300 segundos | Anexe um BackendConfig com um `timeoutSec` elevado no GKE, ou implante com `--timeout=3600` no Cloud Run |

323 326 

cli-reference.md +18 −10

Details

26| `claude install [version]` | Instalar ou reinstalar o binário nativo. Aceita uma versão como `2.1.118`, ou `stable` ou `latest`. Veja [Instalar uma versão específica](/docs/pt/setup#install-a-specific-version) | `claude install stable` |26| `claude install [version]` | Instalar ou reinstalar o binário nativo. Aceita uma versão como `2.1.118`, ou `stable` ou `latest`. Veja [Instalar uma versão específica](/docs/pt/setup#install-a-specific-version) | `claude install stable` |

27| `claude auth login` | Faça login em sua conta Anthropic. Use `--email` para preencher previamente seu endereço de email, `--sso` para forçar autenticação SSO e `--console` para fazer login com Anthropic Console para faturamento de uso de API em vez de uma assinatura Claude | `claude auth login --console` |27| `claude auth login` | Faça login em sua conta Anthropic. Use `--email` para preencher previamente seu endereço de email, `--sso` para forçar autenticação SSO e `--console` para fazer login com Anthropic Console para faturamento de uso de API em vez de uma assinatura Claude | `claude auth login --console` |

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

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

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

31| `claude attach <id>` | Anexar a uma [sessão de fundo](/docs/pt/agent-view#manage-sessions-from-the-shell) neste terminal | `claude attach 7c5dcf5d` |31| `claude attach <id>` | Anexar a uma [sessão de fundo](/docs/pt/agent-view#manage-sessions-from-the-shell) neste terminal | `claude attach 7c5dcf5d` |

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

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

34| `claude daemon status` | Imprimir o estado do [supervisor](/docs/pt/agent-view#the-supervisor-process) de sessão de fundo, versão, diretório de socket e contagem de workers para diagnósticos. Sai com 1 se o supervisor não estiver em execução | `claude daemon status` |34| `claude daemon status` | Imprimir o estado do [supervisor](/docs/pt/agent-view#the-supervisor-process) de sessão de fundo, versão, diretório de socket e contagem de workers para diagnósticos. Sai com 1 se o supervisor não estiver em execução | `claude daemon status` |

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

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

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

38| `claude logs <id>` | Imprimir saída recente de uma [sessão de fundo](/docs/pt/agent-view#manage-sessions-from-the-shell) | `claude logs 7c5dcf5d` |38| `claude logs <id>` | Imprimir saída recente de uma [sessão de fundo](/docs/pt/agent-view#manage-sessions-from-the-shell) | `claude logs 7c5dcf5d` |

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

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

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

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

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

44| `claude remote-control` | Iniciar um servidor [Remote Control](/docs/pt/remote-control) para controlar Claude Code a partir de Claude.ai ou do aplicativo Claude. Executa em modo servidor (sem sessão interativa local). Veja [Sinalizadores de modo servidor](/docs/pt/remote-control#start-a-remote-control-session). Depois de parar o servidor, você pode trazer de volta as sessões que ele estava servindo. Veja [Retomar sessões após parar o servidor](/docs/pt/remote-control#resume-sessions-after-stopping-the-server) | `claude remote-control --name "My Project"` |44| `claude remote-control` | Iniciar um servidor [Remote Control](/docs/pt/remote-control) para controlar Claude Code a partir de Claude.ai ou do aplicativo Claude. Executa em modo servidor (sem sessão interativa local). Veja [Flags de modo servidor](/docs/pt/remote-control#start-a-remote-control-session). Depois de parar o servidor, você pode trazer de volta as sessões que ele estava servindo. Veja [Retomar sessões após parar o servidor](/docs/pt/remote-control#resume-sessions-after-stopping-the-server) | `claude remote-control --name "My Project"` |

45| `claude respawn <id>` | Reiniciar uma [sessão de fundo](/docs/pt/agent-view#manage-sessions-from-the-shell), em execução ou parada, com sua conversa intacta. Use `--all` para reiniciar cada sessão em execução, por exemplo, para pegar um binário Claude Code atualizado | `claude respawn 7c5dcf5d` |45| `claude respawn <id>` | Reiniciar uma [sessão de fundo](/docs/pt/agent-view#manage-sessions-from-the-shell), em execução ou parada, com sua conversa intacta. Use `--all` para reiniciar cada sessão em execução, por exemplo, para pegar um binário Claude Code atualizado | `claude respawn 7c5dcf5d` |

46| `claude rm <id>` | Remover uma [sessão de fundo](/docs/pt/agent-view#manage-sessions-from-the-shell) da lista. Quando a remoção é [recusada sobre a worktree da sessão](/docs/pt/agent-view#what-deleting-a-session-removes) e um segundo `claude rm` pode resolvê-la, a recusa imprime a flag exata e o valor a passar: `--discard-unpushed <commit>@<worktree-id>` descarta uma worktree que tem commits não enviados junto com esses commits, e `--force-remove-worktree <worktree-id>` exclui um diretório worktree que git ou o hook `WorktreeRemove` não conseguiu remover. `--discard-unpushed` requer Claude Code v2.1.260 ou posterior, e `--force-remove-worktree` requer v2.1.268 ou posterior. A transcrição da conversa permanece em sua máquina local, disponível através de `claude --resume` | `claude rm 7c5dcf5d` |46| `claude rm <id>` | Remover uma [sessão de fundo](/docs/pt/agent-view#manage-sessions-from-the-shell) da lista. Quando a remoção é [recusada por causa do worktree da sessão](/docs/pt/agent-view#what-deleting-a-session-removes) e um segundo `claude rm` pode resolvê-la, a recusa imprime a flag exata e o valor a passar: `--discard-unpushed <commit>@<worktree-id>` descarta um worktree que tem commits não enviados junto com esses commits, e `--force-remove-worktree <worktree-id>` exclui um diretório de worktree que o git ou o hook `WorktreeRemove` não conseguiu remover. `--discard-unpushed` requer Claude Code v2.1.260 ou posterior, e `--force-remove-worktree` requer v2.1.268 ou posterior. A transcrição da conversa permanece em sua máquina local, disponível através de `claude --resume` | `claude rm 7c5dcf5d` |

47| `claude self-hosted-runner` | Iniciar um processo de runner que registra esta máquina ou contêiner com um [ambiente auto-hospedado](/docs/pt/self-hosted-environments) e hospeda sessões de nuvem do Claude Code em sua infraestrutura. Execute `claude self-hosted-runner setup` para um passo a passo do operador guiado, `claude self-hosted-runner doctor` para [diagnosticar um runner implantado](/docs/pt/self-hosted-environments-deploy#troubleshooting) e `claude self-hosted-runner orchestrator` para gerar [runners sob demanda](/docs/pt/self-hosted-environments-configuration#on-demand-runners). Requer Claude Code v2.1.224 ou posterior | `claude self-hosted-runner setup` |47| `claude self-hosted-runner` | Iniciar um processo de runner que registra esta máquina ou contêiner com um [ambiente auto-hospedado](/docs/pt/self-hosted-environments) e hospeda sessões na nuvem do Claude Code em sua infraestrutura. Execute `claude self-hosted-runner setup` para um passo a passo do operador guiado, `claude self-hosted-runner doctor` para [diagnosticar um runner implantado](/docs/pt/self-hosted-environments-deploy#troubleshooting) e `claude self-hosted-runner orchestrator` para gerar [runners sob demanda](/docs/pt/self-hosted-environments-configuration#on-demand-runners). Requer Claude Code v2.1.224 ou posterior | `claude self-hosted-runner setup` |

48| `claude setup-token` | Gerar um token OAuth de longa duração para CI e scripts. Imprime o token no terminal sem salvá-lo. Requer uma assinatura Claude. Veja [Gerar um token de longa duração](/docs/pt/authentication#generate-a-long-lived-token) | `claude setup-token` |48| `claude setup-token` | Gerar um token OAuth de longa duração para CI e scripts. Imprime o token no terminal sem salvá-lo. Requer uma assinatura Claude. Veja [Gerar um token de longa duração](/docs/pt/authentication#generate-a-long-lived-token) | `claude setup-token` |

49| `claude stop <id>` | Parar uma [sessão de fundo](/docs/pt/agent-view#manage-sessions-from-the-shell). Também aceita `claude kill` | `claude stop 7c5dcf5d` |49| `claude stop <id>` | Parar uma [sessão de fundo](/docs/pt/agent-view#manage-sessions-from-the-shell). Também aceita `claude kill` | `claude stop 7c5dcf5d` |

50| `claude ultrareview [target]` | Executar [ultrareview](/docs/pt/ultrareview#run-ultrareview-non-interactively) de forma não interativa. Imprime descobertas para stdout e sai com 0 em caso de sucesso ou 1 em caso de falha. Use `--json` para o payload bruto e `--timeout <minutes>` para substituir o padrão de 45 minutos. Use `--post` em um alvo de pull request `github.com` para postar as descobertas concluídas para o PR como um comentário simples de sua conta GitHub. `--no-post` é o padrão. `--post` e `--no-post` requerem Claude Code v2.1.227 ou posterior. Veja [Postar descobertas para o pull request](/docs/pt/ultrareview#post-findings-to-the-pull-request) | `claude ultrareview 1234 --json` |50| `claude ultrareview [target]` | Executar [ultrareview](/docs/pt/ultrareview#run-ultrareview-non-interactively) de forma não interativa. Imprime descobertas para stdout e sai com 0 em caso de sucesso ou 1 em caso de falha. Use `--json` para o payload bruto e `--timeout <minutes>` para sobrescrever o padrão de 45 minutos. Use `--post` em um alvo de pull request `github.com` para postar as descobertas concluídas para o PR como um comentário simples de sua conta GitHub. `--no-post` é o padrão. `--post` e `--no-post` requerem Claude Code v2.1.227 ou posterior. Veja [Postar descobertas para o pull request](/docs/pt/ultrareview#post-findings-to-the-pull-request) | `claude ultrareview 1234 --json` |

51 51 

52Se você digitar incorretamente um subcomando, Claude Code sugere a correspondência mais próxima e sai sem iniciar uma sessão. Por exemplo, `claude udpate` imprime `Did you mean claude update?`.52Se você digitar incorretamente um subcomando, Claude Code sugere a correspondência mais próxima e sai sem iniciar uma sessão. Por exemplo, `claude udpate` imprime `Did you mean claude update?`.

53 53 


156| `--append-system-prompt-file` | Anexa conteúdo do arquivo ao prompt padrão | `claude --append-system-prompt-file ./style-rules.txt` |156| `--append-system-prompt-file` | Anexa conteúdo do arquivo ao prompt padrão | `claude --append-system-prompt-file ./style-rules.txt` |

157| `--system-prompt-snapshot` | Com `off`, reconstrói o prompt em cada solicitação. Com `on`, o padrão, reutiliza um prompt registrado onde [o registro se aplica](#system-prompt-flags-in-resumed-conversations) | `claude --append-system-prompt "Draft rules" --system-prompt-snapshot off` |157| `--system-prompt-snapshot` | Com `off`, reconstrói o prompt em cada solicitação. Com `on`, o padrão, reutiliza um prompt registrado onde [o registro se aplica](#system-prompt-flags-in-resumed-conversations) | `claude --append-system-prompt "Draft rules" --system-prompt-snapshot off` |

158 158 

159`--system-prompt` e `--system-prompt-file` são mutuamente exclusivos. Os sinalizadores de anexação podem ser combinados com qualquer sinalizador de substituição.159Você pode combinar essas flags. Para substituir o prompt padrão e ainda anexar seu próprio texto, passe `--append-system-prompt` ou `--append-system-prompt-file` junto com `--system-prompt` ou `--system-prompt-file`. Com Claude Code v2.1.283 ou posterior, você também pode passar uma flag junto com sua própria forma de arquivo, como `--append-system-prompt` com `--append-system-prompt-file`, e Claude Code usa ambas.

160 

161Por exemplo, execute o seguinte no seu shell para anexar tanto um guia de estilo de um arquivo quanto uma instrução extra:

162 

163```bash theme={null}

164claude -p --append-system-prompt-file ./style.md --append-system-prompt "Always reply in French" "Summarize README.md"

165```

166 

167Claude recebe o system prompt padrão seguido do conteúdo de `style.md`, uma linha em branco e então `Always reply in French`. O conteúdo do arquivo vem primeiro mesmo se você passar `--append-system-prompt` antes de `--append-system-prompt-file`.

160 168 

161Quando o texto de substituição combina instruções que são as mesmas em cada execução com contexto que muda por execução, adicione uma linha contendo apenas `__SYSTEM_PROMPT_DYNAMIC_BOUNDARY__` entre as instruções e o contexto. Claude Code divide o prompt na primeira linha assim e remove essa linha, portanto a parte acima dela permanece em cache enquanto a parte abaixo muda. Requer Claude Code v2.1.275 ou posterior. [Cache a parte estática de um prompt personalizado](/docs/pt/agent-sdk/modifying-system-prompts#cache-the-static-part-of-a-custom-prompt) lista as configurações onde a divisão se aplica.169Quando o texto de substituição combina instruções que são as mesmas em cada execução com contexto que muda por execução, adicione uma linha contendo apenas `__SYSTEM_PROMPT_DYNAMIC_BOUNDARY__` entre as instruções e o contexto. Claude Code divide o prompt na primeira linha assim e remove essa linha, portanto a parte acima dela permanece em cache enquanto a parte abaixo muda. Requer Claude Code v2.1.275 ou posterior. [Cache a parte estática de um prompt personalizado](/docs/pt/agent-sdk/modifying-system-prompts#cache-the-static-part-of-a-custom-prompt) lista as configurações onde a divisão se aplica.

162 170 

commands.md +1 −1

Details

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

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

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

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

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

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

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

Details

65 Verifique hooks65 Verifique hooks

66</h2>66</h2>

67 67 

68Execute `/hooks` para listar cada hook registrado para a sessão atual, agrupado por evento. Se um hook que você definiu não aparecer, ele não está sendo lido: hooks vão sob a chave `"hooks"` em um arquivo de configurações, não em um arquivo autônomo.68Execute `/hooks` para listar cada hook registrado para a sessão atual, agrupado por evento. Se um hook que você definiu não aparecer, Claude Code não o carregou. Verifique estas causas:

69 

70* O hook está definido em um arquivo autônomo. Hooks vão sob a chave `"hooks"` em um [arquivo de configurações](/docs/pt/settings#settings-files).

71* O valor de `matcher` é um array em vez de uma única string. Claude Code lista a entrada como uma configuração inválida quando você inicia uma sessão interativa e em `claude doctor`. Se o array estiver sob `PreToolUse` ou `PermissionRequest`, nenhum dos outros hooks desse arquivo é carregado também.

69 72 

70Se o hook aparecer mas não disparar, o matcher é a causa usual. Verifique-o para estes erros:73Se o hook aparecer mas não disparar, o matcher é a causa usual. Verifique-o para estes erros:

71 74 

72* O campo `matcher` é uma única string que usa `|` para corresponder a vários nomes de ferramentas, por exemplo `"Edit|Write"`. Um separador `,` é equivalente, então `"Edit,Write"` corresponde às mesmas ferramentas. Antes da v2.1.191, uma vírgula passava para avaliação de regex e o matcher nunca correspondia, então use `|` se você não estiver na v2.1.191 ainda.75* O campo `matcher` é uma única string que usa `|` para corresponder a vários nomes de ferramentas, por exemplo `"Edit|Write"`. Um separador `,` é equivalente, então `"Edit,Write"` corresponde às mesmas ferramentas. Antes da v2.1.191, uma vírgula passava para avaliação de regex e o matcher nunca correspondia, então use `|` se você não estiver na v2.1.191 ainda.

73* Um nome de ferramenta digitado incorretamente produz um matcher que não corresponde a nada, então o hook falha silenciosamente.76* Um nome de ferramenta digitado incorretamente produz um matcher que não corresponde a nada, então o hook falha silenciosamente.

74* Um valor de array é um erro de schema: Claude Code mostra um aviso de erro de configurações e rejeita o arquivo de configurações do usuário, projeto ou local inteiro, `claude doctor` relata a falha de validação, e nenhum hook desse arquivo aparece em `/hooks`. Em [configurações gerenciadas](/docs/pt/managed-settings), Claude Code remove a chave `hooks` inteira do arquivo que contém o array, então nenhum dos hooks desse arquivo se aplica. As outras configurações do arquivo ainda se aplicam, e `claude doctor` lista a chave removida.

75 77 

76Quando você edita `settings.json`, a alteração entra em vigor na sessão em execução após um breve atraso de estabilidade de arquivo, mesmo que você crie o arquivo ou a pasta `.claude/` do projeto após a sessão ter iniciado. Você não precisa reiniciar. Antes da v2.1.257, Claude Code não detectava edições em uma pasta `.claude/` criada após a sessão ter iniciado.78Quando você edita `settings.json`, a alteração entra em vigor na sessão em execução após um breve atraso de estabilidade de arquivo, mesmo que você crie o arquivo ou a pasta `.claude/` do projeto após a sessão ter iniciado. Você não precisa reiniciar. Antes da v2.1.257, Claude Code não detectava edições em uma pasta `.claude/` criada após a sessão ter iniciado.

77 79 

env-vars.md +380 −378

Details

124 Variáveis124 Variáveis

125</h2>125</h2>

126 126 

127Variáveis numéricas como timeouts, orçamentos de tokens e contagens de tentativas aceitam notação científica e grafias com separadores de dígitos além de dígitos simples, exceto onde a linha de uma variável observa que ela aceita apenas dígitos simples. Por exemplo, Claude Code lê `2e3` como 2000 e `64_000` como 64000. Antes da v2.1.211, essas grafias poderiam silenciosamente definir um valor muito menor, como `1e6` definindo um timeout para 1.127Variá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.

128 128 

129<Note>129<Note>

130 Para variáveis que ativam ou desativam um comportamento, defina `1`, `true`, `yes` ou `on` para ativar e `0`, `false`, `no` ou `off` para desativar, em qualquer capitalização.130 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.

131 131 

132 Algumas variáveis leem apenas se você as definiu, então qualquer valor não vazio, incluindo `0`, ativa o comportamento, e você desativa o comportamento desconfigurado a variável ou definindo-a como um valor vazio. Essas variáveis funcionam dessa forma:132 Algumas variáveis verificam apenas se você as definiu, então qualquer valor não vazio, incluindo `0`, ativa o comportamento, e você o desativa removendo a definição da variável ou definindo-a com um valor vazio. Estas variáveis funcionam dessa forma:

133 133 

134 * `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`134 * `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`

135 * `DISABLE_TELEMETRY`135 * `DISABLE_TELEMETRY`


138 * `FALLBACK_FOR_ALL_PRIMARY_MODELS`138 * `FALLBACK_FOR_ALL_PRIMARY_MODELS`

139 * `IS_DEMO`139 * `IS_DEMO`

140 140 

141 Uma outra variável tem sua própria regra: `FORCE_HYPERLINK` lê um número, então apenas `0` a desativa. Cada linha de variável também declara sua própria regra.141 Uma outra variável tem sua própria regra: `FORCE_HYPERLINK` lê um número, então apenas `0` a desativa. A linha de cada variável também informa sua própria regra.

142</Note>142</Note>

143 143 

144| Variável | Propósito |144| Variável | Finalidade |

145| :- | :- |145| :- | :- |

146| `ANTHROPIC_API_KEY` | Chave de API enviada como cabeçalho `X-Api-Key`. Quando definida, essa chave é usada em vez de sua assinatura Claude Pro, Max, Team ou Enterprise, mesmo que você esteja conectado. Em modo não interativo (`-p`), a chave é sempre usada quando presente. Em modo interativo, você é solicitado a aprovar a chave uma vez antes que ela substitua sua assinatura. Para usar sua assinatura, execute `unset ANTHROPIC_API_KEY` |146| `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` |

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

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

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

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

151| `ANTHROPIC_BASE_URL` | Substitua o endpoint da API para rotear solicitações através de um proxy ou gateway. Quando definido para um host que não é de primeira parte, [busca de ferramentas MCP](/docs/pt/mcp#scale-with-mcp-tool-search) é desabilitada por padrão. Defina `ENABLE_TOOL_SEARCH=true` se seu proxy encaminha blocos `tool_reference`. A partir da v2.1.196, [Remote Control](/docs/pt/remote-control#requirements) é desabilitado quando isso aponta para um host diferente de `api.anthropic.com`, correspondendo ao seu comportamento no Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry |151| `ANTHROPIC_BASE_URL` | Sobrescreve o endpoint da API para rotear requisições por um proxy ou gateway. Quando definida para um host que não é first-party, o [MCP Tool Search](/docs/pt/mcp#scale-with-mcp-tool-search) fica desativado por padrão. Defina `ENABLE_TOOL_SEARCH=true` se o seu proxy encaminhar blocos `tool_reference`. A partir da v2.1.196, o [Remote Control](/docs/pt/remote-control#requirements) 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 |

152| `ANTHROPIC_BEDROCK_BASE_URL` | Substitua a URL do endpoint do Amazon Bedrock. Use para endpoints personalizados do Amazon Bedrock ou ao rotear através de um [gateway LLM](/docs/pt/llm-gateway). Veja [Amazon Bedrock](/docs/pt/amazon-bedrock) |152| `ANTHROPIC_BEDROCK_BASE_URL` | Sobrescreve a URL do endpoint do Amazon Bedrock. Use para endpoints personalizados do Amazon Bedrock ou ao rotear por um [gateway de LLM](/docs/pt/llm-gateway). Consulte [Amazon Bedrock](/docs/pt/amazon-bedrock) |

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

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

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

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

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

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

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

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

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

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

163| `ANTHROPIC_DEFAULT_FABLE_MODEL_DESCRIPTION` | Descrição de exibição para o modelo Fable fixado no seletor `/model`. Quando não definido, a linha mostra uma descrição padrão que começa com `Custom Fable model`. Veja [Configuração de modelo](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) |163| `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 modelo](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) |

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

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

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

167| `ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION` | Descrição de exibição para o modelo Haiku fixado no seletor `/model`. Quando não definido, a linha mostra uma descrição padrão que começa com `Custom Haiku model`. Veja [Configuração de modelo](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) |167| `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 modelo](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) |

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

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

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

171| `ANTHROPIC_DEFAULT_OPUS_MODEL` | ID do modelo para o qual o alias `opus` se resolve, e que `opusplan` usa enquanto Plan Mode está ativo. Veja [Configuração de modelo](/docs/pt/model-config#environment-variables) |171| `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 modelo](/docs/pt/model-config#environment-variables) |

172| `ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION` | Descrição de exibição para o modelo Opus fixado no seletor `/model`. Quando não definido, a linha mostra uma descrição padrão que começa com `Custom Opus model`. Veja [Configuração de modelo](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) |172| `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 modelo](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) |

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

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

175| `ANTHROPIC_DEFAULT_SONNET_MODEL` | ID do modelo para o qual o alias `sonnet` se resolve, e que `opusplan` usa quando Plan Mode não está ativo. Veja [Configuração de modelo](/docs/pt/model-config#environment-variables) |175| `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 modelo](/docs/pt/model-config#environment-variables) |

176| `ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION` | Descrição de exibição para o modelo Sonnet fixado no seletor `/model`. Quando não definido, a linha mostra uma descrição padrão que começa com `Custom Sonnet model`. Veja [Configuração de modelo](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) |176| `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 modelo](/docs/pt/model-config#customize-pinned-model-display-and-capabilities) |

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

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

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

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

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

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

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

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

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

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

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

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

189| `ANTHROPIC_VERTEX_BASE_URL` | Substitua a URL do endpoint do Google Cloud's Agent Platform. Use para endpoints personalizados do Google Cloud's Agent Platform ou ao rotear através de um [gateway LLM](/docs/pt/llm-gateway). Veja [Google Cloud's Agent Platform](/docs/pt/google-vertex-ai) |189| `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 um [gateway de LLM](/docs/pt/llm-gateway). Consulte [Google Cloud's Agent Platform](/docs/pt/google-vertex-ai) |

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

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

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

193| `API_TIMEOUT_MS` | Timeout para solicitações de API em milissegundos (padrão: 600000, ou 10 minutos; máximo: 2147483647). Aumente isso quando as solicitações expiram em redes lentas ou ao rotear através de um proxy. Valores acima do máximo causam overflow do timer subjacente e fazem as solicitações falharem imediatamente |193| `API_TIMEOUT_MS` | Timeout para requisições de API em milissegundos (padrão: 600000, ou 10 minutos; máximo: 2147483647). Aumente-o quando as requisições atingirem o timeout em redes lentas ou ao rotear por um proxy. Valores acima do máximo estouram o timer subjacente e fazem as requisições falharem imediatamente |

194| `AWS_BEARER_TOKEN_BEDROCK` | Chave de API do Amazon Bedrock para autenticação (veja [Chaves de API do Amazon Bedrock](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/)) |194| `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/)) |

195| `BASH_DEFAULT_TIMEOUT_MS` | Timeout padrão para um comando de ferramenta Bash ou PowerShell em primeiro plano, em milissegundos (padrão: 120000, ou 2 minutos). Um padrão mais longo que 30 minutos também se torna o [limite de tempo padrão para comandos em segundo plano](/docs/pt/tools-reference#time-limit-for-background-commands). O limite de tempo em segundo plano requer Claude Code v2.1.285 ou posterior |195| `BASH_DEFAULT_TIMEOUT_MS` | Timeout padrão para um comando em primeiro plano da ferramenta Bash ou PowerShell, em milissegundos (padrão: 120000, ou 2 minutos). Um padrão maior que 30 minutos também se torna o [limite de tempo padrão para comandos em segundo plano](/docs/pt/tools-reference#time-limit-for-background-commands). O limite de tempo em segundo plano requer Claude Code v2.1.285 ou posterior |

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

197| `BASH_MAX_TIMEOUT_MS` | Timeout máximo que o modelo pode definir para um comando de ferramenta Bash ou PowerShell em primeiro plano, em milissegundos (padrão: 600000, ou 10 minutos). O teto efetivo é o maior entre isso e `BASH_DEFAULT_TIMEOUT_MS`. Um teto efetivo mais longo que 2 horas também se torna o máximo [limite de tempo para comandos em segundo plano](/docs/pt/tools-reference#time-limit-for-background-commands). O limite de tempo em segundo plano requer Claude Code v2.1.285 ou posterior |197| `BASH_MAX_TIMEOUT_MS` | Timeout máximo que o modelo pode definir para um comando em primeiro plano da ferramenta Bash ou PowerShell, 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](/docs/pt/tools-reference#time-limit-for-background-commands). O limite de tempo em segundo plano requer Claude Code v2.1.285 ou posterior |

198| `BETA_TRACING_ENDPOINT` | Endpoint OTLP para [rastreamento beta detalhado](/docs/pt/monitoring-usage#traces-beta): com `ENABLE_BETA_TRACING_DETAILED=1`, logs e rastreamentos vão para lá em vez de para os exportadores configurados. Defina-o em seu shell, configurações de usuário ou configurações gerenciadas. Ignorado em [configurações de projeto e local](/docs/pt/settings-reference#variables-claude-code-ignores-in-env) |198| `BETA_TRACING_ENDPOINT` | Endpoint OTLP para [tracing beta detalhado](/docs/pt/monitoring-usage#traces-beta): com `ENABLE_BETA_TRACING_DETAILED=1`, logs e traces vão para lá em vez de para os exportadores configurados. Defina-a no seu shell, nas configurações de usuário ou nas configurações gerenciadas. Ignorada em [configurações de projeto e locais](/docs/pt/settings-reference#variables-claude-code-ignores-in-env) |

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

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

201| `CLAUDE_AFK_COUNTDOWN_MS` | Quantos milissegundos antes de auto-continuar a contagem regressiva na tela aparece em um diálogo [`AskUserQuestion`](/docs/pt/tools-reference) sem resposta. Padrão `20000` (20 segundos), limitado ao timeout de auto-continuação. Não tem efeito a menos que auto-continuação esteja ativada; veja a configuração [`askUserQuestionTimeout`](/docs/pt/settings-reference#askuserquestiontimeout) e `CLAUDE_AFK_TIMEOUT_MS`. Requer Claude Code v2.1.198 ou posterior |201| `CLAUDE_AFK_COUNTDOWN_MS` | Quantos milissegundos antes da continuação automática a contagem regressiva na tela aparece em uma caixa de diálogo [`AskUserQuestion`](/docs/pt/tools-reference) não respondida. Padrão `20000` (20 segundos), limitado ao timeout de continuação automática. Não tem efeito a menos que a continuação automática esteja ativada; consulte a configuração [`askUserQuestionTimeout`](/docs/pt/settings-reference#askuserquestiontimeout) e `CLAUDE_AFK_TIMEOUT_MS`. Requer Claude Code v2.1.198 ou posterior |

202| `CLAUDE_AFK_TIMEOUT_MS` | Quantos milissegundos de tempo ocioso antes de um diálogo [`AskUserQuestion`](/docs/pt/tools-reference) sem resposta auto-continuar sem você. Auto-continuação está desativada por padrão; opte por ela com a configuração [`askUserQuestionTimeout`](/docs/pt/settings-reference#askuserquestiontimeout). Essa variável é uma substituição para demos e testes automatizados: quando definida, tem precedência sobre essa configuração e ativa auto-continuação mesmo quando a configuração não está definida ou é `never`. Definir `0` não desativa o timeout; fecha o diálogo imediatamente. Na v2.1.198 e v2.1.199, auto-continuação estava ativada por padrão com um timeout de `60000` (60 segundos). Requer Claude Code v2.1.198 ou posterior |202| `CLAUDE_AFK_TIMEOUT_MS` | Quantos milissegundos de inatividade antes que uma caixa de diálogo [`AskUserQuestion`](/docs/pt/tools-reference) não respondida continue automaticamente sem você. A continuação automática fica desativada por padrão; ative-a com a configuração [`askUserQuestionTimeout`](/docs/pt/settings-reference#askuserquestiontimeout). Esta variável é uma substituição para demonstrações e testes automatizados: quando definida, tem precedência sobre essa configuração e ativa a continuação automática mesmo quando a configuração não está definida ou é `never`. Definir `0` não desativa o timeout; fecha a caixa de diálogo imediatamente. Nas v2.1.198 e v2.1.199, a continuação automática ficava ativada por padrão com um timeout de `60000` (60 segundos). Requer Claude Code v2.1.198 ou posterior |

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

204| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | Defina como `1` para pular o prefixo `mcp__<server>__` em nomes de ferramentas de servidores MCP criados pelo SDK. As ferramentas usam seus nomes originais. Apenas uso do SDK |204| `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 |

205| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Timeout de travamento em milissegundos para subagentes. Padrão `600000` (10 minutos); se você aumentar `CLAUDE_STREAM_IDLE_TIMEOUT_MS` enquanto o watchdog de stream está ativo, o padrão sobe com ele, como [Lidar com respostas de API lentas ou travadas](/docs/pt/agent-sdk/typescript#handle-slow-or-stalled-api-responses) descreve. O timer reinicia em cada evento de progresso de streaming; se nenhum progresso chegar dentro da janela, Claude Code aborta o subagente e relata o travamento ao pai |205| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Timeout de travamento em milissegundos para subagentes. Padrão `600000` (10 minutos); se você aumentar `CLAUDE_STREAM_IDLE_TIMEOUT_MS` enquanto o watchdog de stream estiver ativo, o padrão aumenta junto, como descrito em [Lidar com respostas de API lentas ou travadas](/docs/pt/agent-sdk/typescript#handle-slow-or-stalled-api-responses). O timer é reiniciado a cada evento de progresso do streaming; se nenhum progresso chegar dentro da janela, o Claude Code interrompe o subagente e relata o travamento ao pai |

206| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | Defina a porcentagem (1-100) da janela de auto-compactação em que a auto-compactação é acionada. Use valores mais baixos 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](/docs/pt/model-config#context-window-and-auto-compaction). Aplica-se a conversas principais e subagentes |206| `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 mais baixos, 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](/docs/pt/model-config#context-window-and-auto-compaction). Aplica-se tanto às conversas principais quanto aos subagentes |

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

208| `CLAUDE_AX_PREPARK_MS` | Em [modo leitor de tela](/docs/pt/accessibility#what-your-screen-reader-hears), quantos milissegundos Claude Code aguarda, com o cursor no início da linha, antes de escrever uma linha nova ou alterada. Padrão `50`. Defina `0` para escrever imediatamente. Claude Code limita a espera a `5000`. Requer Claude Code v2.1.233 ou posterior |208| `CLAUDE_AX_PREPARK_MS` | No [modo de leitor de tela](/docs/pt/accessibility), quantos milissegundos o Claude Code espera antes de escrever uma linha nova ou alterada. Padrão `0`, então o Claude Code não espera. Antes da v2.1.287, o padrão era `50`. O Claude Code limita a espera a `5000`. Requer Claude Code v2.1.233 ou posterior |

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

210| `CLAUDE_AX_STARTUP_QUIET_MS` | Em [modo leitor de tela](/docs/pt/accessibility), quantos milissegundos Claude Code mantém a primeira renderização de interface após a linha de confirmação de inicialização, para que seu leitor de tela possa falar a linha completamente antes que nova saída a interrompa. Padrão `3000`. Defina `0` para renderizar imediatamente. Claude Code limita a retenção a `600000` (10 minutos). Seu primeiro pressionamento de tecla encerra a retenção mais cedo. Requer Claude Code v2.1.217 ou posterior |210| `CLAUDE_AX_STARTUP_QUIET_MS` | No [modo de leitor de tela](/docs/pt/accessibility), quantos milissegundos o Claude Code retém a primeira renderização da interface após a linha de confirmação de inicialização, para que seu leitor de tela possa 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). Sua primeira tecla pressionada encerra a retenção antecipadamente. Requer Claude Code v2.1.217 ou posterior |

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

212| `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` | Timeout em milissegundos para o watchdog de inatividade de streaming em nível de byte; quando definido, tem precedência sobre `CLAUDE_STREAM_IDLE_TIMEOUT_MS` para esse watchdog e deixa o watchdog em nível de evento inalterado. Claude Code limita essa variável entre 10 segundos e 30 minutos. Requer Claude Code v2.1.210 ou posterior |212| `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 deixa o watchdog no nível de eventos inalterado. O Claude Code limita esta variável a um valor entre 10 segundos e 30 minutos. Requer Claude Code v2.1.210 ou posterior |

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

214| `CLAUDE_CODE_ACCESSIBILITY` | Defina como `1` para manter o cursor do terminal nativo visível e desabilitar o indicador de cursor de texto invertido. Permite que ampliadores de tela como macOS Zoom rastreiem a posição do cursor |214| `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 |

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

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

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

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

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

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

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

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

223| `CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS` | Quando `CLAUDE_AUTO_BACKGROUND_TASKS` está ativado, segundos entre lembretes para Claude verificar [subagentes em segundo plano](/docs/pt/sub-agents#run-subagents-in-foreground-or-background) que ainda estão em execução. Aceita um inteiro simples de `1` a `86400` apenas; qualquer outro valor ou grafia lê como não definido. Quando não definido, não há lembretes de check-in. Requer Claude Code v2.1.248 ou posterior |223| `CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS` | Quando `CLAUDE_AUTO_BACKGROUND_TASKS` está ativada, segundos entre lembretes para o Claude verificar [subagentes em segundo plano](/docs/pt/sub-agents#run-subagents-in-foreground-or-background) que ainda estão em execução. Aceita apenas um inteiro simples de `1` a `86400`; qualquer outro valor ou grafia é lido como não definido. Quando não definida, não há lembretes de verificação. Requer Claude Code v2.1.248 ou posterior |

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

225| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Substitua a [conexão IDE](/docs/pt/vs-code) automática. Por padrão, Claude Code se conecta automaticamente quando iniciado dentro de um terminal integrado de um IDE suportado. Defina como `false` para evitar isso. Defina como `true` para forçar uma tentativa de conexão quando a detecção automática falha, como quando tmux obscurece o terminal pai. Tem precedência sobre a configuração global [`autoConnectIde`](/docs/pt/settings-reference#autoconnectide) |225| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Sobrescreve a [conexão automática com a IDE](/docs/pt/vs-code). 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`](/docs/pt/settings-reference#autoconnectide) |

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

227| `CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS` | Tempo em milissegundos que Claude Code aguarda a cadeia de provedor de credenciais padrão AWS produzir credenciais antes da solicitação falhar com [`AWS default-chain credential resolve timed out`](/docs/pt/errors#aws-default-chain-credential-resolve-timed-out) (padrão: `60000`). Aumente quando uma etapa em sua cadeia legitimamente precisa de mais tempo, como um sign-in baseado em navegador com MFA através de um wrapper como `aws-vault`. Aplica-se onde quer que Claude Code assine com a cadeia padrão: [Amazon Bedrock](/docs/pt/amazon-bedrock#credential-caching-and-resolution-timeout), [Claude Platform on AWS](/docs/pt/claude-platform-on-aws) e o [endpoint Mantle](/docs/pt/amazon-bedrock#use-the-mantle-endpoint). Requer Claude Code v2.1.207 ou posterior |227| `CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS` | Tempo em milissegundos que o Claude Code espera até 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`](/docs/pt/errors#aws-default-chain-credential-resolve-timed-out) (padrão: `60000`). Aumente-o quando uma etapa da sua cadeia legitimamente precisar de mais tempo, como um login SSO baseado em navegador com MFA por meio de um wrapper como o `aws-vault`. Aplica-se sempre que o Claude Code assina com a cadeia padrão: [Amazon Bedrock](/docs/pt/amazon-bedrock#credential-caching-and-resolution-timeout), [Claude Platform on AWS](/docs/pt/claude-platform-on-aws) e o [endpoint Mantle](/docs/pt/amazon-bedrock#use-the-mantle-endpoint). Requer Claude Code v2.1.207 ou posterior |

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

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

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

231| `CLAUDE_CODE_BS_AS_CTRL_BACKSPACE` | Defina como `0` para fazer Claude Code ler o byte `0x08`, também escrito `^H`, como Backspace simples, ou `1` para lê-lo como Ctrl+Backspace. Qualquer valor substitui o padrão da plataforma. Por padrã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 Linux. Defina `0` em um terminal Windows onde [Backspace exclui uma palavra inteira](/docs/pt/terminal-config#fix-backspace-deleting-a-whole-word-on-windows) |231| `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](/docs/pt/terminal-config#fix-backspace-deleting-a-whole-word-on-windows) |

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

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

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

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

236| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Frase-passe para CLAUDE\_CODE\_CLIENT\_KEY criptografado (opcional) |236| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Senha para a CLAUDE\_CODE\_CLIENT\_KEY criptografada (opcional) |

237| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | Removido na v2.1.186 e agora é um no-op. Anteriormente definia um timeout separado para a fase de conexão, TLS e cabeçalho de resposta de uma solicitação de API de streaming. Use `API_TIMEOUT_MS` para o timeout por solicitação. Para a fase de cabeçalho de resposta de uma solicitação de streaming, veja `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` |237| `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` para o timeout por requisição. Para a fase de cabeçalhos de resposta de uma requisição em streaming, consulte `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` |

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

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

240| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Defina como `1` para desabilitar suporte a [janela de contexto de 1M](/docs/pt/model-config#extended-context). Quando definido, variantes de modelo 1M não estão disponíveis no seletor de modelo, e Claude Code mantém sessões em modelos com uma janela nativa de 1M, como [Sonnet 5.5](/docs/pt/model-config#sonnet-5-5-and-sonnet-5-context-window) e os modelos Fable, para uma janela de 200K; veja [Contexto estendido](/docs/pt/model-config#extended-context) para como a retenção é aplicada. Útil para ambientes corporativos com requisitos de conformidade. Para seu papel em corrigir a janela para um ID de modelo não reconhecido `[1m]`, veja [Corrigir a janela para um ID de modelo de gateway ou personalizado](/docs/pt/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |240| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Defina como `1` para desativar o suporte à [janela de contexto de 1M](/docs/pt/model-config#extended-context). Quando definida, as variantes de modelo de 1M ficam indisponíveis no seletor de modelo, e o Claude Code restringe as sessões em modelos com uma janela nativa de 1M, como o [Sonnet 5.5](/docs/pt/model-config#sonnet-5-5-and-sonnet-5-context-window) e os modelos Fable, a uma janela de 200K; consulte [Contexto estendido](/docs/pt/model-config#extended-context) para saber como a restrição é aplicada. Útil para ambientes corporativos com requisitos de conformidade. Para seu papel na correção da janela para um ID de modelo `[1m]` não reconhecido, consulte [Corrigir a janela para um gateway ou ID de modelo personalizado](/docs/pt/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |

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

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

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

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

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

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

247| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Defina como `1` para desabilitar processamento de anexos. Menções de arquivo com sintaxe `@` são enviadas como texto simples em vez de serem expandidas para conteúdo de arquivo |247| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Defina como `1` para desativar o processamento de anexos. Menções de arquivos com a sintaxe `@` são enviadas como texto simples em vez de serem expandidas para o conteúdo do arquivo |

248| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Defina como `1` para desabilitar [memória automática](/docs/pt/memory#auto-memory). Defina como `0` para forçar memória automática ativada mesmo quando modo `--bare` ou [`autoMemoryEnabled: false`](/docs/pt/settings-reference#automemoryenabled) a desativaria. Quando desabilitada, Claude não cria ou carrega arquivos de memória automática |248| `CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK` | Defina como `1` para fazer um processo do Claude Code executar ele mesmo seu comando [`gcpAuthRefresh`](/docs/pt/settings-reference#gcpauthrefresh) ou [`awsAuthRefresh`](/docs/pt/settings-reference#awsauthrefresh) em vez de esperar enquanto outro processo o executa. Requer Claude Code v2.1.286 ou posterior |

249| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Defina como `1` para desabilitar toda funcionalidade de tarefa em segundo plano, incluindo o parâmetro `run_in_background` em ferramentas Bash e subagente, auto-backgrounding e o atalho Ctrl+B |249| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Defina como `1` para desativar a [memória automática](/docs/pt/memory#auto-memory). Defina como `0` para forçar a ativação da memória automática mesmo quando o modo `--bare` ou [`autoMemoryEnabled: false`](/docs/pt/settings-reference#automemoryenabled) a desativaria. Quando desativada, o Claude não cria nem carrega arquivos de memória automática |

250| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | Defina como `1` para impedir que Claude Code trate uma resposta de streaming [Amazon Bedrock](/docs/pt/amazon-bedrock) com um cabeçalho `Content-Type` ausente ou vazio como fluxo de evento binário do Amazon Bedrock. Por padrão, Claude Code assume que um gateway descartou o cabeçalho de uma resposta caso contrário não modificada, para que decodifique o corpo e o streaming continue funcionando. Defina isso apenas para um gateway que também re-emite o stream como eventos enviados pelo servidor; Claude Code então lê o corpo sem cabeçalho como eventos enviados pelo servidor. Requer Claude Code v2.1.239 ou posterior |250| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Defina como `1` para desativar toda a funcionalidade de tarefas em segundo plano, incluindo o parâmetro `run_in_background` nas ferramentas Bash e de subagente, o envio automático para segundo plano e o atalho Ctrl+B |

251| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | Defina como `1` para pular a verificação de que uma resposta de streaming [Amazon Bedrock](/docs/pt/amazon-bedrock) carrega o tipo de conteúdo `application/vnd.amazon.eventstream`. Sem essa variável, quando uma resposta carrega um tipo de conteúdo diferente, Claude Code falha a solicitação com um erro nomeando esse tipo, o que significa que um [gateway ou proxy está transformando a resposta](/docs/pt/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy). Configure o gateway para encaminhar o cabeçalho `Content-Type` e o corpo sem modificação em vez de definir essa variável. Requer Claude Code v2.1.208 ou posterior |251| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | Defina como `1` para impedir que o Claude Code trate uma resposta em streaming do [Amazon Bedrock](/docs/pt/amazon-bedrock) com um cabeçalho `Content-Type` ausente ou vazio como o event stream binário do Amazon Bedrock. Por padrão, o Claude Code presume que um gateway removeu o cabeçalho de uma resposta que, de outra forma, não foi modificada, então ele decodifica o corpo e o streaming continua funcionando. Defina isto apenas para um gateway que também reemite o stream como server-sent events; o Claude Code então lê o corpo sem cabeçalho como server-sent events. Requer Claude Code v2.1.239 ou posterior |

252| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Defina como `1` para impedir que comandos de shell em execução de uma [sessão em segundo plano](/docs/pt/agent-view), workflows dinâmicos, e, a partir da v2.1.198, subagentes em segundo plano quando o [supervisor](/docs/pt/agent-view#the-supervisor-process) para, reinicia ou atualiza o processo dessa sessão, em vez de entregá-los ao próximo processo da sessão. Afeta apenas essa entrega: backgrounding uma sessão com `←` ou [`/background`](/docs/pt/agent-view#from-inside-a-session) ainda carrega trabalho em voo, e `CLAUDE_DISABLE_ADOPT` desativa ambos. Requer Claude Code v2.1.196 ou posterior |252| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | Defina como `1` para pular a verificação de que uma resposta em streaming do [Amazon Bedrock](/docs/pt/amazon-bedrock) carrega o content-type `application/vnd.amazon.eventstream`. Sem esta variável, quando uma resposta carrega um content-type diferente, o Claude Code faz a requisição falhar com um erro que nomeia esse tipo, o que significa que um [gateway ou proxy está transformando a resposta](/docs/pt/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy). Configure o gateway para encaminhar o cabeçalho `Content-Type` e o corpo sem modificações, em vez de definir esta variável. Requer Claude Code v2.1.208 ou posterior |

253| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | Defina como `1` para impedir que Claude Code termine [comandos de shell em segundo plano](/docs/pt/interactive-mode#background-bash-commands) sob pressão de memória. Por padrão, no macOS e Linux, Claude Code termina shells em segundo plano quando o sistema operacional relata pressão de memória crítica e a sessão está ociosa por 30 minutos sem turno ou subagente em execução. Windows não tem sinal de pressão de memória, então essa variável não tem efeito lá. Requer Claude Code v2.1.193 ou posterior |253| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Defina como `1` para interromper os comandos de shell em segundo plano em execução de uma [sessão em segundo plano](/docs/pt/agent-view), os workflows dinâmicos e, a partir da v2.1.198, os subagentes em segundo plano quando o [supervisor](/docs/pt/agent-view#the-supervisor-process) para, reinicia ou atualiza o processo dessa sessão, em vez de entregá-los ao próximo processo da sessão. Afeta apenas essa entrega: enviar uma sessão para segundo plano com `←` ou [`/background`](/docs/pt/agent-view#from-inside-a-session) ainda transfere o trabalho em andamento, e `CLAUDE_DISABLE_ADOPT` desativa ambos. Requer Claude Code v2.1.196 ou posterior |

254| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Defina como `1` para desabilitar as [skills](/docs/pt/skills) e workflows inclusos com Claude Code: skills inclusos e workflows são removidos inteiramente, enquanto comandos integrados como `/init` permanecem digitáveis mas são ocultados do modelo. `/doctor` permanece digitável como os comandos integrados; ocultá-lo com `DISABLE_DOCTOR_COMMAND`. Skills de plugins, `.claude/skills/` e `.claude/commands/` não são afetadas. Equivalente à configuração [`disableBundledSkills`](/docs/pt/settings-reference#disablebundledskills) |254| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | Defina como `1` para impedir que o Claude Code encerre [comandos de shell em segundo plano](/docs/pt/interactive-mode#background-bash-commands) sob pressão de memória. Por padrão, no macOS e no Linux, o Claude Code encerra shells em segundo plano quando o sistema operacional relata pressão crítica de memória 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 lá. Requer Claude Code v2.1.193 ou posterior |

255| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | Defina como `1` para manter as ferramentas do navegador [Claude in Chrome](/docs/pt/chrome) disponíveis enquanto omite a seção Chrome do prompt do sistema e a [skill incluída](/docs/pt/skills#bundled-skills) `/claude-in-chrome`. Para hosts que incorporam Claude Code e fornecem sua própria orientação de navegador. Requer Claude Code v2.1.257 ou posterior |255| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Defina como `1` para desativar as [skills](/docs/pt/skills) e os workflows incluídos no Claude Code: skills e workflows incluídos são removidos por completo, 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` em vez disso. Skills de plugins, `.claude/skills/` e `.claude/commands/` não são afetadas. Equivalente à configuração [`disableBundledSkills`](/docs/pt/settings-reference#disablebundledskills) |

256| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | Defina como `1` para impedir o carregamento de qualquer arquivo de memória CLAUDE.md em contexto, incluindo arquivos de memória de usuário, projeto e automática |256| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | Defina como `1` para manter as ferramentas de navegador do [Claude in Chrome](/docs/pt/chrome) disponíveis, omitindo a seção do Chrome do system prompt e a [skill incluída](/docs/pt/skills#bundled-skills) `/claude-in-chrome`. Para hosts que incorporam o Claude Code e fornecem sua própria orientação de navegador. Requer Claude Code v2.1.257 ou posterior |

257| `CLAUDE_CODE_DISABLE_CRON` | Defina como `1` para desabilitar [tarefas agendadas](/docs/pt/scheduled-tasks). A skill `/loop` e ferramentas cron ficam indisponíveis e qualquer tarefa já agendada para de disparar, incluindo tarefas que já estão em execução no meio da sessão |257| `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 |

258| `CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT` | Defina como `1` para desativar o limite de tempo em prompts de [remoção de caminho crítico](/docs/pt/permission-modes#critical-paths). Em modo `auto`, Claude Code então envia essas remoções para o classificador, e em modo `bypassPermissions`, o prompt aguarda sua resposta. Defina-o no ambiente que inicia Claude Code, já que Claude Code ignora uma cópia entregue através de um bloco `env` de configurações. Requer Claude Code v2.1.281 ou posterior |258| `CLAUDE_CODE_DISABLE_CRON` | Defina como `1` para desativar as [tarefas agendadas](/docs/pt/scheduled-tasks). A skill `/loop` e as ferramentas cron ficam indisponíveis e quaisquer tarefas já agendadas param de disparar, incluindo tarefas que já estão em execução no meio da sessão |

259| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Defina como `1` para remover cabeçalhos de solicitação `anthropic-beta` específicos de Anthropic e campos de esquema de ferramenta beta (como `defer_loading` e `eager_input_streaming`) de solicitações de API. Use isso quando um gateway proxy rejeita solicitações com erros como "Unexpected value(s) for the `anthropic-beta` header" ou "Extra inputs are not permitted". Campos padrão (`name`, `description`, `input_schema`, `cache_control`) são preservados. [Busca de ferramentas MCP](/docs/pt/mcp#scale-with-mcp-tool-search) é desabilitada e todas as ferramentas MCP carregam antecipadamente, mesmo quando você define `ENABLE_TOOL_SEARCH`. No Claude Code v2.1.227 ou posterior, [configurações gerenciadas](/docs/pt/managed-settings) podem manter a busca de ferramentas ativada. [Desabilitar capacidades de pré-lançamento](/docs/pt/llm-gateway-protocol#disable-pre-release-capabilities) cobre onde a substituição se aplica |259| `CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT` | Defina como `1` para desativar o limite de tempo nos prompts de [remoção de caminhos críticos](/docs/pt/permission-modes#critical-paths). No modo `auto`, o Claude Code passa a enviar essas remoções ao classificador, e no modo `bypassPermissions` o prompt aguarda sua resposta. Defina-a no ambiente que inicia o Claude Code, pois o Claude Code ignora uma cópia entregue por meio de um bloco `env` de configurações. Requer Claude Code v2.1.281 ou posterior |

260| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | Defina como `1` para desabilitar os [subagentes Explore e Plan](/docs/pt/sub-agents#built-in-subagents) integrados. Claude explora com suas ferramentas de busca ou o subagente de propósito geral, e [modo plano](/docs/pt/permission-modes#analyze-before-you-edit-with-plan-mode) lê arquivos diretamente em vez de iniciar agentes Explore e Plan. Subagentes personalizados nomeados `Explore` ou `Plan` não são afetados. Para remover todo tipo de subagente integrado no Agent SDK ou modo não interativo, use `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS`. Requer Claude Code v2.1.198 ou posterior |260| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Defina como `1` para remover das requisições de API os cabeçalhos de requisição `anthropic-beta` específicos da Anthropic e os campos beta de schema de ferramenta (como `defer_loading` e `eager_input_streaming`). Use isto quando um gateway proxy rejeitar requisições com erros como "Unexpected value(s) for the `anthropic-beta` header" ou "Extra inputs are not permitted". Os campos padrão (`name`, `description`, `input_schema`, `cache_control`) são preservados. O [MCP Tool Search](/docs/pt/mcp#scale-with-mcp-tool-search) é desativado e todas as ferramentas MCP são carregadas antecipadamente, mesmo quando você define `ENABLE_TOOL_SEARCH`. No Claude Code v2.1.227 ou posterior, as [configurações gerenciadas](/docs/pt/managed-settings) podem manter o tool search ativado. [Desativar recursos de pré-lançamento](/docs/pt/llm-gateway-protocol#disable-pre-release-capabilities) explica onde essa substituição se aplica |

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

262| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | Defina como `1` para desabilitar as pesquisas de qualidade de sessão "Como Claude está indo?". As pesquisas também são desabilitadas quando `DISABLE_TELEMETRY`, `DO_NOT_TRACK` ou `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` está definido, a menos que `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` opte por voltar. Para definir uma taxa de amostra em vez de desabilitar completamente, use a configuração [`feedbackSurveyRate`](/docs/pt/settings-reference#feedbacksurveyrate). Veja [Pesquisas de qualidade de sessão](/docs/pt/data-usage#session-quality-surveys) |262| `CLAUDE_CODE_DISABLE_FAST_MODE` | Defina como `1` para desativar o [modo rápido](/docs/pt/fast-mode) |

263| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | Defina como `1` para desabilitar [checkpointing](/docs/pt/checkpointing) de arquivo. O comando `/rewind` não será capaz de restaurar alterações de código. Substitui a configuração [`fileCheckpointingEnabled`](/docs/pt/settings-reference#filecheckpointingenabled) |263| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | Defina como `1` para desativar as pesquisas de qualidade de sessão "How is Claude doing?". As pesquisas também são desativadas quando `DISABLE_TELEMETRY`, `DO_NOT_TRACK` ou `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` está definida, a menos que `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` as reative. Para definir uma taxa de amostragem em vez de desativá-las completamente, use a configuração [`feedbackSurveyRate`](/docs/pt/settings-reference#feedbacksurveyrate). Consulte [Pesquisas de qualidade de sessão](/docs/pt/data-usage#session-quality-surveys) |

264| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | Defina como `1` para remover instruções de workflow de commit e PR integradas e o snapshot de status git do contexto de Claude. Útil ao usar suas próprias skills de workflow git. Tem precedência sobre a configuração [`includeGitInstructions`](/docs/pt/settings-reference#includegitinstructions) quando definido |264| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | Defina como `1` para desativar o [checkpointing](/docs/pt/checkpointing) de arquivos. O comando `/rewind` não conseguirá restaurar alterações de código. Sobrescreve a configuração [`fileCheckpointingEnabled`](/docs/pt/settings-reference#filecheckpointingenabled) |

265| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Defina como `1` para impedir remapeamento automático de Opus 4.0 e 4.1 para a versão Opus atual na API Anthropic. Use quando você intencionalmente quer fixar um modelo mais antigo. O remapeamento não é executado no Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry |265| `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 status do git. Útil ao usar suas próprias skills de fluxo de trabalho do git. Tem precedência sobre a configuração [`includeGitInstructions`](/docs/pt/settings-reference#includegitinstructions) quando definida |

266| `CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK` | Defina como `1` para impedir que Claude Code em [Amazon Bedrock](/docs/pt/amazon-bedrock#when-a-model-is-disabled-mid-session) e [Google Cloud's Agent Platform](/docs/pt/google-vertex-ai#when-a-model-is-disabled-mid-session) mude para um modelo mais antigo quando sua conta perde acesso ao modelo de uma sessão no meio da sessão; a solicitação recusada falha imediatamente. Uma [cadeia de modelo fallback](/docs/pt/model-config#fallback-model-chains) que você configura ainda muda nessa recusa, e as [verificações de modelo de inicialização](/docs/pt/amazon-bedrock#startup-model-checks) ainda caem de volta no lançamento. Requer Claude Code v2.1.285 ou posterior |266| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Defina como `1` para impedir o remapeamento automático do Opus 4.0 e 4.1 para a versão atual do Opus na API da Anthropic. Use quando quiser intencionalmente fixar um modelo mais antigo. O remapeamento não é executado no Amazon Bedrock, no Google Cloud's Agent Platform nem no Microsoft Foundry |

267| `CLAUDE_CODE_DISABLE_MOUSE` | Defina como `1` para desabilitar rastreamento de mouse em [renderização em tela cheia](/docs/pt/fullscreen). Rolagem de teclado com `PgUp` e `PgDn` ainda funciona. Use isso para manter o comportamento de cópia nativa do seu terminal |267| `CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK` | Defina como `1` para impedir que o Claude Code no [Amazon Bedrock](/docs/pt/amazon-bedrock#when-a-model-is-disabled-mid-session) e no [Google Cloud's Agent Platform](/docs/pt/google-vertex-ai#when-a-model-is-disabled-mid-session) mude para um modelo mais antigo quando sua conta perde o acesso ao modelo de uma sessão no meio da sessão; em vez disso, a requisição recusada falha imediatamente. Uma [cadeia de modelos de fallback](/docs/pt/model-config#fallback-model-chains) que você configurar ainda muda de modelo nessa recusa, e as [verificações de modelo na inicialização](/docs/pt/amazon-bedrock#startup-model-checks) ainda recorrem ao fallback na inicialização. Requer Claude Code v2.1.285 ou posterior |

268| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | Defina como `1` para desabilitar manipulação de clique, arrasto e hover em [renderização em tela cheia](/docs/pt/fullscreen) enquanto mantém rolagem de roda do mouse. Use isso quando você quer que a rolagem de roda funcione dentro de Claude Code mas não quer que cliques posicionem o cursor, expandam saída de ferramenta ou abram links. `CLAUDE_CODE_DISABLE_MOUSE` tem precedência quando ambos estão definidos. Requer Claude Code v2.1.195 ou posterior |268| `CLAUDE_CODE_DISABLE_MOUSE` | Defina como `1` para desativar o rastreamento do mouse na [renderização em tela cheia](/docs/pt/fullscreen). A rolagem por teclado com `PgUp` e `PgDn` continua funcionando. Use isto para manter o comportamento nativo de copiar ao selecionar do seu terminal |

269| `CLAUDE_CODE_DISABLE_MTLS_RELOAD_ON_STALE_CONNECTION` | Defina como `1` para impedir que Claude Code releia o [certificado de cliente mTLS e chave](/docs/pt/network-config#mtls-authentication) quando uma solicitação de API falha com um erro em nível de conexão, como uma redefinição de conexão ou erro de handshake TLS. Com o recarregamento desabilitado, Claude Code carrega arquivos rotacionados apenas quando aplica configurações novamente ou na próxima inicialização. Requer Claude Code v2.1.232 ou posterior |269| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | Defina como `1` para desativar o tratamento de cliques, arrastos e hover na [renderização em tela cheia](/docs/pt/fullscreen), mantendo a rolagem com a roda do mouse. Use isto quando quiser que a rolagem com a 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 Claude Code v2.1.195 ou posterior |

270| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | Defina como qualquer valor não vazio, como `1`, para desabilitar tráfego de rede não essencial: auto-atualizações, telemetria, relatório de erros, comando `/feedback`, [feedback redigido por Claude](/docs/pt/tools-reference#sendfeedback-tool-behavior), notas de lançamento, verificações de [badge de status de PR e MR](/docs/pt/interactive-mode#pr-review-status) e verificações de disponibilidade como a verificação de [modo rápido](/docs/pt/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways). Também para as [execuções em segundo plano de fontes de comando de plugin](/docs/pt/plugins/loading#when-a-command-source-re-runs), que são comandos locais em vez de tráfego de rede, porque podem disparar instalações de dependência. **Defini-lo como `0` ou `false` ainda desabilita esse tráfego**, diferentemente da maioria das variáveis on/off; desconfigurar a variável para permitir novamente. Também desabilita busca de sinalizador de recurso, o que torna [Remote Control](/docs/pt/remote-control#requirements) e os outros [recursos que precisam de busca de sinalizador de recurso](#features-that-need-feature-flag-fetching) indisponíveis. Auto-instalação do marketplace de plugin oficial não é coberta; desabilite com `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL`. Não afeta [descoberta de modelo de gateway](/docs/pt/llm-gateway-connect#add-gateway-models-to-the-model-picker), que tem seu próprio opt-in |270| `CLAUDE_CODE_DISABLE_MTLS_RELOAD_ON_STALE_CONNECTION` | Defina como `1` para impedir que o Claude Code releia o [certificado e a chave de cliente mTLS](/docs/pt/network-config#mtls-authentication) quando uma requisição de API falha com um erro no nível de 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 configurações ou na próxima inicialização. Requer Claude Code v2.1.232 ou posterior |

271| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | Defina como `1` para desabilitar o fallback não-streaming quando uma solicitação de streaming falha no meio do stream. Erros de streaming se propagam para a camada de retry. Útil quando um proxy ou gateway causa o fallback produzir execução de ferramenta duplicada |271| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | Defina com qualquer valor não vazio, como `1`, para desativar o tráfego de rede não essencial: atualizações automáticas, telemetria, relatórios de erros, o comando `/feedback`, o [feedback redigido pelo Claude](/docs/pt/tools-reference#sendfeedback-tool-behavior), notas de versão, as verificações do [badge de status de PR e MR](/docs/pt/interactive-mode#pr-review-status) e verificações de disponibilidade, como a verificação do [modo rápido](/docs/pt/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways). Também interrompe as [execuções em segundo plano de fontes `command` de plugins](/docs/pt/plugins/loading#when-a-command-source-re-runs), que são comandos locais e não tráfego de rede, porque elas podem disparar 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 o [Remote Control](/docs/pt/remote-control#requirements) e os outros [recursos que precisam da busca de feature flags](#features-that-need-feature-flag-fetching) indisponíveis. A instalação automática do marketplace oficial de plugins não é abrangida; desative-a com `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL`. Não afeta a [descoberta de modelos do gateway](/docs/pt/llm-gateway-connect#add-gateway-models-to-the-model-picker), que tem sua própria ativação opcional |

272| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | Defina como `1` para enviar a notificação de desktop da ferramenta `PushNotification` mesmo enquanto você está digitando ou focado no terminal. Por padrão, a ferramenta pula tanto a notificação de desktop quanto o [push móvel](/docs/pt/remote-control#mobile-push-notifications) quando detecta atividade de teclado recente ou foco de terminal. Essa variável desabilita apenas essa verificação local, para que o servidor ainda possa suprimir o push móvel quando detecta que você está ativo. Requer Claude Code v2.1.193 ou posterior |272| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | Defina como `1` para desativar o fallback sem streaming quando uma requisição em streaming falha no meio do stream. 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 |

273| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Defina como `1` para desabilitar registro automático do marketplace de plugin oficial. Claude Code lê a variável quando está prestes a registrar o marketplace, geralmente durante o primeiro lançamento interativo de uma máquina. Se a variável estiver definida nesse ponto, Claude Code pula o registro permanentemente. Desconfigurar a variável depois não desfaz o pulo. Execute `claude plugin marketplace add anthropics/claude-plugins-official` para registrar o marketplace a qualquer momento |273| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | Defina como `1` para enviar a notificação de desktop 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 de desktop quanto o [push móvel](/docs/pt/remote-control#mobile-push-notifications) quando detecta atividade recente do teclado ou foco no terminal. Esta variável desativa apenas essa verificação local, então o servidor ainda pode suprimir o push móvel quando detecta que você está ativo. Requer Claude Code v2.1.193 ou posterior |

274| `CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS` | Defina como `1` para impedir que Claude Code execute seus [hooks `Notification` para solicitações de permissão sem resposta](/docs/pt/hooks#notification) em sessões onde Claude Code as envia para o callback `canUseTool` do Agent SDK, que é como Claude Desktop e a extensão VS Code hospedam Claude Code. Não tem efeito em sessões de terminal. Requer Claude Code v2.1.233 ou posterior |274| `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 pula o registro permanentemente. Remover a definição da variável depois não desfaz essa omissão. Execute `claude plugin marketplace add anthropics/claude-plugins-official` para registrar o marketplace a qualquer momento |

275| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | Defina como `1` para pular o carregamento de skills do diretório de skills gerenciado em todo o sistema. Útil para sessões de container ou CI que não devem carregar skills provisionadas por operador |275| `CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS` | Defina como `1` para impedir que o Claude Code execute seus [hooks `Notification` para solicitações de permissão não respondidas](/docs/pt/hooks#notification) em sessões nas quais o Claude Code as envia ao callback `canUseTool` do Agent SDK, que é como o Claude Desktop e a extensão do VS Code hospedam o Claude Code. Não tem efeito em sessões de terminal. Requer Claude Code v2.1.233 ou posterior |

276| `CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY` | Defina como `1` para desativar a verificação da [ferramenta PowerShell](/docs/pt/tools-reference#powershell-tool) que nega os built-ins `cmd` `rd`, `rmdir`, `del` e `erase` em um [caminho do sistema](/docs/pt/permission-modes#remove-item-in-powershell), como raiz de unidade ou seu diretório inicial. Claude Code ignora essa variável em um bloco `env` de arquivo de configurações. Requer Claude Code v2.1.283 ou posterior |276| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | Defina como `1` para pular o carregamento de skills do diretório de skills gerenciadas de todo o sistema. Útil para sessões de contêiner ou CI que não devem carregar skills provisionadas pelo operador |

277| `CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT` | Defina como `1` para desativar a verificação de [caminho crítico](/docs/pt/permission-modes#critical-paths) para um `rm` recursivo cujo alvo é inteiramente a saída de uma substituição de comando, como `rm -rf "$(pwd)"`. As outras verificações de caminho crítico continuam funcionando. Defina-o no ambiente que inicia Claude Code, já que Claude Code ignora uma cópia entregue através de um bloco `env` de configurações. Requer Claude Code v2.1.281 ou posterior |277| `CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY` | Defina como `1` para desativar a verificação da [ferramenta PowerShell](/docs/pt/tools-reference#powershell-tool) que nega os comandos internos do `cmd` `rd`, `rmdir`, `del` e `erase` em um [caminho do sistema](/docs/pt/permission-modes#remove-item-in-powershell), como a raiz de uma unidade ou seu diretório pessoal. O Claude Code ignora esta variável no bloco `env` de um arquivo de configurações. Requer Claude Code v2.1.283 ou posterior |

278| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Defina como `1` para desabilitar atualizações automáticas de título de terminal com base no contexto de conversa. Isso também pula a solicitação de modelo pequeno/rápido em segundo plano que [gera um título de sessão](/docs/pt/sessions#name-your-sessions) |278| `CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT` | Defina como `1` para desativar a verificação de [caminho crítico](/docs/pt/permission-modes#critical-paths) para um `rm` recursivo cujo alvo é inteiramente a saída de uma substituição de comando, como `rm -rf "$(pwd)"`. As outras verificações de caminho crítico continuam em execução. 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 Claude Code v2.1.281 ou posterior |

279| `CLAUDE_CODE_DISABLE_THINKING` | Defina como `1` para omitir o parâmetro `thinking` de solicitações de API inteiramente. 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 desabilitar explicitamente [pensamento estendido](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) na API Anthropic, use `MAX_THINKING_TOKENS=0`. Nenhuma variável desativa pensamento em Opus 5.5, Sonnet 5.5 ou os modelos Fable, que não podem ter pensamento desativado. Em [provedores de terceiros](/docs/pt/third-party-integrations), `MAX_THINKING_TOKENS=0` igualmente omite o parâmetro, para que as duas variáveis se comportem igual lá |279| `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](/docs/pt/sessions#name-your-sessions) |

280| `CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT` | Defina como `1` para pular [auto-compactação](/docs/pt/costs#reduce-token-usage) proativa quando Claude Code não reconhece o ID do modelo, como um alias de [gateway LLM](/docs/pt/llm-gateway). Sem essa variável, Claude Code compacta na janela de contexto que assume para o ID. `CLAUDE_CODE_MAX_CONTEXT_TOKENS` pode corrigir a janela assumida; veja [Corrigir a janela para um ID de modelo de gateway ou personalizado](/docs/pt/model-config#correct-the-window-for-a-gateway-or-custom-model-id) para quando cada variável se aplica. Requer Claude Code v2.1.223 ou posterior |280| `CLAUDE_CODE_DISABLE_THINKING` | Defina como `1` para omitir totalmente 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` em vez disso. Nenhuma das variáveis desativa o pensamento no Opus 5.5, no Sonnet 5.5 ou nos modelos Fable, que não permitem desativar o pensamento. Em [provedores terceiros](/docs/pt/third-party-integrations), `MAX_THINKING_TOKENS=0` também omite o parâmetro, então as duas variáveis se comportam da mesma forma lá |

281| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Defina como `1` para desabilitar rolagem virtual em [renderização em tela cheia](/docs/pt/fullscreen) e renderizar cada mensagem na transcrição. Use isso se a rolagem em modo tela cheia mostrar regiões em branco onde as mensagens devem aparecer |281| `CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT` | Defina como `1` para pular a [compactação automática](/docs/pt/costs#reduce-token-usage) proativa quando o Claude Code não reconhece o ID do modelo, como um alias de [gateway de LLM](/docs/pt/llm-gateway). Sem esta variável, o Claude Code compacta na janela de contexto que ele 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](/docs/pt/model-config#correct-the-window-for-a-gateway-or-custom-model-id) para saber quando cada variável se aplica. Requer Claude Code v2.1.223 ou posterior |

282| `CLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHER` | Defina como `1` para iniciar comandos da [ferramenta PowerShell](/docs/pt/tools-reference#powershell-tool) no Windows diretamente em vez de através do lançador `cmd.exe`. Por padrão, o lançador permite que um comando PowerShell [em execução em segundo plano](/docs/pt/tools-reference#background-commands) [seja transferido para o próximo processo da sessão](/docs/pt/agent-view#the-supervisor-process), como quando você [coloca a sessão em segundo plano](/docs/pt/agent-view#from-inside-a-session). Se você definir a variável, um comando PowerShell em segundo plano para quando o processo da sessão sai. Comandos Bash não são afetados. Requer Claude Code v2.1.269 ou posterior |282| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Defina como `1` para desativar a rolagem virtual na [renderização em tela cheia](/docs/pt/fullscreen) e renderizar todas as mensagens da transcrição. Use isto se a rolagem no modo de tela cheia mostrar regiões em branco onde deveriam aparecer mensagens |

283| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Defina como `1` para desabilitar [workflows](/docs/pt/workflows#turn-workflows-off). Equivalente à configuração [`disableWorkflows`](/docs/pt/settings-reference#disableworkflows) |283| `CLAUDE_CODE_DISABLE_WEB_FETCH` | Defina como `1` para desativar a ferramenta [WebFetch](/docs/pt/tools-reference#webfetch-tool-behavior). A ferramenta [WebSearch](/docs/pt/tools-reference#websearch-tool-behavior) continua disponível. Requer Claude Code v2.1.285 ou posterior |

284| `CLAUDE_CODE_EFFORT_LEVEL` | Defina o nível de esforço para modelos suportados. Valores: `low`, `medium`, `high`, `xhigh`, `max` ou `auto` para usar o padrão do modelo. Os níveis disponíveis dependem do modelo. Tem precedência sobre `--effort`, `/effort` e as configurações `modelSettings` e `effortLevel`. Um limite [`maxEffortLevel`](/docs/pt/settings-reference#maxeffortlevel) ainda se aplica. Veja [Ajustar nível de esforço](/docs/pt/model-config#adjust-effort-level) |284| `CLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHER` | Defina como `1` para iniciar comandos da [ferramenta PowerShell](/docs/pt/tools-reference#powershell-tool) no Windows diretamente, em vez de por meio do launcher `cmd.exe`. Por padrão, o launcher permite que um comando PowerShell [em execução em segundo plano](/docs/pt/tools-reference#background-commands) [seja transferido para o próximo processo da sessão](/docs/pt/agent-view#the-supervisor-process), como quando você [envia a sessão para segundo plano](/docs/pt/agent-view#from-inside-a-session). Se você definir a variável, um comando PowerShell em segundo plano é interrompido quando o processo da sessão termina. Comandos Bash não são afetados. Requer Claude Code v2.1.269 ou posterior |

285| `CLAUDE_CODE_ENABLE_AUTO_MODE` | Aceito para compatibilidade com versões mais antigas e não tem efeito. Modo automático está disponível por padrão em cada provedor, incluindo Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry e sessões de [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway) conectadas. Na v2.1.158 até v2.1.206, definir isso como `1` era necessário para tornar [modo automático](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) disponível nesses provedores |285| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Defina como `1` para desativar os [workflows](/docs/pt/workflows#turn-workflows-off). Equivalente à configuração [`disableWorkflows`](/docs/pt/settings-reference#disableworkflows) |

286| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Substitua a disponibilidade de [recapitulação de sessão](/docs/pt/interactive-mode#session-recap). Defina como `0` para forçar recapitulações desativadas independentemente da alternância `/config`. Defina como `1` para forçar recapitulações ativadas quando [`awaySummaryEnabled`](/docs/pt/settings-reference#awaysummaryenabled) é `false`. Tem precedência sobre a configuração e alternância `/config` |286| `CLAUDE_CODE_EFFORT_LEVEL` | Define o nível de esforço para modelos compatíveis. Valores: `low`, `medium`, `high`, `xhigh`, `max` ou `auto` para usar o padrão do modelo. Os níveis disponíveis dependem do modelo. Tem precedência sobre `--effort`, `/effort` e as configurações `modelSettings` e `effortLevel`. Um limite [`maxEffortLevel`](/docs/pt/settings-reference#maxeffortlevel) ainda se aplica. Consulte [Ajustar o nível de esforço](/docs/pt/model-config#adjust-effort-level) |

287| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Defina como `1` para atualizar o estado do plugin em limites de turno em [modo não interativo](/docs/pt/headless) após uma instalação em segundo plano ser concluída. Desativado por padrão porque a atualização muda o prompt do sistema no meio da sessão, o que invalida [cache de prompt](/docs/pt/prompt-caching) para esse turno |287| `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, Google Cloud's Agent Platform, Microsoft Foundry e sessões do [Claude apps gateway](/docs/pt/claude-apps-gateway) com login feito. Da v2.1.158 à v2.1.206, era necessário definir esta variável como `1` para disponibilizar o [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) nesses provedores |

288| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Defina como `1` para rotear a pesquisa de qualidade de sessão "Como Claude está indo?" para seu próprio [coletor OpenTelemetry](/docs/pt/monitoring-usage) quando o tráfego não essencial vinculado a Anthropic está bloqueado. As classificações de pesquisa são emitidas apenas como eventos OTEL para seu coletor configurado. Nenhum dado de pesquisa é enviado para Anthropic neste modo. Aplica-se quando `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_TELEMETRY` ou `DO_NOT_TRACK` está definido, 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 |288| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Sobrescreve a disponibilidade do [resumo da sessão](/docs/pt/interactive-mode#session-recap). Defina como `0` para forçar a desativação dos resumos, independentemente da opção em `/config`. Defina como `1` para forçar a ativação dos resumos quando [`awaySummaryEnabled`](/docs/pt/settings-reference#awaysummaryenabled) for `false`. Tem precedência sobre a configuração e a opção em `/config` |

289| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | Controla se entradas de chamada de ferramenta fluem da API conforme Claude as gera. Com isso desativado, uma entrada de ferramenta grande, como uma escrita de arquivo longa, chega apenas após Claude terminar de gerá-la, o que pode parecer que está travando. Ativado por padrão na API Anthropic. No Amazon Bedrock e Google Cloud's Agent Platform, ativado por modelo onde o contêiner implantado o suporta. Defina como `0` para desativar. Defina como `1` para forçar ativado ao rotear através de um proxy via `ANTHROPIC_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL` ou `ANTHROPIC_BEDROCK_BASE_URL`. Desativado por padrão no Microsoft Foundry e conexões de [gateway](/docs/pt/llm-gateway) |289| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Defina como `1` para atualizar o estado dos plugins nos limites de turno no [modo não interativo](/docs/pt/headless) após a conclusão de uma instalação em segundo plano. Desativada por padrão porque a atualização altera o system prompt no meio da sessão, o que invalida o [cache de prompt](/docs/pt/prompt-caching) para esse turno |

290| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Defina como `1` para preencher o seletor `/model` do endpoint `/v1/models` do seu gateway quando `ANTHROPIC_BASE_URL` aponta para um gateway compatível com Anthropic, como LiteLLM, Kong ou um proxy interno. Desativado por padrão porque gateways apoiados por uma chave de API compartilhada mostrariam a cada usuário cada modelo que a chave pode acessar. Modelos descobertos ainda são filtrados por uma lista de permissão [`availableModels`](/docs/pt/settings-reference#availablemodels) que a sessão recebe; entregue a lista através de [MDM ou arquivo de configurações gerenciadas](/docs/pt/managed-settings#delivery-mechanisms), já que [entrega gerenciada pelo servidor não está disponível em configurações de gateway](/docs/pt/server-managed-settings#platform-availability) |290| `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](/docs/pt/monitoring-usage) quando o tráfego não essencial destinado à Anthropic estiver bloqueado. As avaliações da pesquisa são emitidas apenas como eventos OTEL para o coletor configurado. Nenhum dado da pesquisa é enviado à Anthropic neste 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 |

291| `CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE` | Removido na v2.1.142, quando o padrão de [modo rápido](/docs/pt/fast-mode) mudou de Opus 4.6 para Opus 4.7 |291| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | Controla se as entradas de chamadas de ferramenta são transmitidas pela API à medida que Claude as gera. Com isso desativado, uma entrada de ferramenta grande, como a escrita de um arquivo longo, chega somente depois que Claude termina de gerá-la, o que pode parecer travado. Ativado por padrão na API da Anthropic. No Amazon Bedrock e no Agent Platform do Google Cloud, ativado 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`. Desativado por padrão no Microsoft Foundry e em conexões de [gateway](/docs/pt/llm-gateway) |

292| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Defina como `false` para desativar sugestões de prompt, as previsões acinzentadas que aparecem em sua entrada de prompt. Tem precedência sobre a configuração [`promptSuggestionEnabled`](/docs/pt/settings-reference#promptsuggestionenabled), que é o que a alternância **Prompt suggestions** em `/config` escreve. Claude Code também [pausa sugestões enquanto sua conta está próxima ou no seu limite de uso](/docs/pt/interactive-mode#when-claude-code-skips-suggestions). Defina como `true` para mantê-las ativadas até atingir o limite. Requer Claude Code v2.1.238 ou posterior. Veja [Sugestões de prompt](/docs/pt/interactive-mode#prompt-suggestions) |292| `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`](/docs/pt/settings-reference#availablemodels) que a sessão recebe; forneça a lista por meio de [MDM ou um arquivo de configurações gerenciadas](/docs/pt/managed-settings#delivery-mechanisms), já que [a entrega gerenciada pelo servidor não está disponível em configurações de gateway](/docs/pt/server-managed-settings#platform-availability) |

293| `CLAUDE_CODE_ENABLE_TASKS` | Seleciona quais ferramentas de rastreamento de tarefas Claude Code fornece em [sessões que as têm](/docs/pt/tools-reference#task-tool-availability). Por padrão, Claude Code fornece as ferramentas Task `TaskCreate`, `TaskUpdate`, `TaskGet` e `TaskList`. Defina como `0` para obter a ferramenta `TodoWrite` legada. Veja [Lista de tarefas](/docs/pt/interactive-mode#task-list) |293| `CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE` | Removida na v2.1.142, quando o padrão do [modo rápido](/docs/pt/fast-mode) mudou de Opus 4.6 para Opus 4.7 |

294| `CLAUDE_CODE_ENABLE_TELEMETRY` | Defina como `1` para ativar coleta de dados OpenTelemetry para métricas e logging. Necessário antes de configurar exportadores OTel. Defina-o em seu shell, configurações de usuário ou configurações gerenciadas. Ignorado em [configurações de projeto e local](/docs/pt/settings-reference#variables-claude-code-ignores-in-env). Veja [Monitoramento](/docs/pt/monitoring-usage) |294| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Defina como `false` para desativar as sugestões de prompt, as previsões em cinza que aparecem na entrada do prompt. Tem precedência sobre a configuração [`promptSuggestionEnabled`](/docs/pt/settings-reference#promptsuggestionenabled), que é o que a opção **Prompt suggestions** em `/config` grava. O Claude Code também [pausa as sugestões enquanto sua conta está próxima ou no limite de uso](/docs/pt/interactive-mode#when-claude-code-skips-suggestions). Defina como `true` para mantê-las ativadas até atingir o limite. Requer Claude Code v2.1.238 ou posterior. Consulte [Sugestões de prompt](/docs/pt/interactive-mode#prompt-suggestions) |

295| `CLAUDE_CODE_ENABLE_TODO_TOOLS` | Defina como `1` para obter as ferramentas de rastreamento de tarefas em cada modelo. Sem isso, Claude Code as fornece por padrão apenas nos modelos listados em [Disponibilidade da ferramenta Task](/docs/pt/tools-reference#task-tool-availability). `CLAUDE_CODE_ENABLE_TASKS` ainda seleciona as ferramentas Task ou `TodoWrite`. Requer Claude Code v2.1.233 ou posterior |295| `CLAUDE_CODE_ENABLE_TASKS` | Seleciona quais ferramentas de acompanhamento de tarefas o Claude Code fornece em [sessões que as têm](/docs/pt/tools-reference#task-tool-availability). Por padrão, o Claude Code fornece as ferramentas Task `TaskCreate`, `TaskUpdate`, `TaskGet` e `TaskList`. Defina como `0` para obter a ferramenta legada `TodoWrite` em vez disso. Consulte [Lista de tarefas](/docs/pt/interactive-mode#task-list) |

296| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | Tempo em milissegundos para aguardar após o loop de consulta ficar ocioso antes de sair automaticamente. Útil para workflows automatizados e scripts usando modo SDK |296| `CLAUDE_CODE_ENABLE_TELEMETRY` | Defina como `1` para ativar a coleta de dados do OpenTelemetry para métricas e logs. Necessária antes de configurar exportadores OTel. Defina-a no seu shell, nas configurações de usuário ou nas configurações gerenciadas. Ignorada nas [configurações de projeto e locais](/docs/pt/settings-reference#variables-claude-code-ignores-in-env). Consulte [Monitoramento](/docs/pt/monitoring-usage) |

297| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Defina como `1` para ativar [equipes de agentes](/docs/pt/agent-teams). Equipes de agentes são experimentais e desabilitadas por padrão |297| `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 somente nos modelos listados em [Disponibilidade da ferramenta Task](/docs/pt/tools-reference#task-tool-availability). `CLAUDE_CODE_ENABLE_TASKS` ainda seleciona as ferramentas Task ou `TodoWrite`. Requer Claude Code v2.1.233 ou posterior |

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

299| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Substitua o limite de token padrão para leituras de arquivo. Útil quando você precisa ler arquivos maiores completamente |299| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Defina como `1` para ativar [equipes de agentes](/docs/pt/agent-teams). As equipes de agentes são experimentais e ficam desativadas por padrão |

300| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | Defina como `1` para forçar persistência de transcrição, histórico de prompt e registro `claude agents` mesmo quando este `claude` foi iniciado de dentro de outra sessão Claude Code. Use quando um valor `CLAUDE_CODE_CHILD_SESSION` herdado, por exemplo de uma sessão `screen` ou um lançador em segundo plano iniciado primeiro pela ferramenta Bash de Claude Code, causa uma sessão genuína de nível superior ser mal classificada como aninhada. A partir da v2.1.178, Claude Code detecta o caso tmux automaticamente e ignora o marcador herdado, para que tmux não precise mais dessa variável. Também honrado na v2.1.169 e anterior; não tem efeito na v2.1.170 e v2.1.171, onde a detecção de sessão aninhada que substitui foi removida |300| `CLAUDE_CODE_EXTRA_BODY` | Objeto JSON a ser mesclado no nível superior de todo corpo de requisição da API. Útil para passar parâmetros específicos do provedor que o Claude Code não expõe diretamente. Um valor exportado no seu shell também se aplica às [sessões em segundo plano](/docs/pt/agent-view) que você despacha com `claude agents` ou `--bg`. Antes da v2.1.206, as sessões em segundo plano ignoravam um valor exportado pelo shell e usavam qualquer cópia que o processo supervisor em segundo plano tivesse herdado |

301| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | Defina como `1` para forçar renderização de tachado para `~~text~~` nas respostas de Claude quando seu terminal o suporta mas não é auto-detectado, como sobre SSH sem `TERM_PROGRAM` encaminhado. Sem isso, terminais não detectados mostram os marcadores literais `~~` em vez de renderizar o texto como tachado. Requer Claude Code v2.1.186 ou posterior |301| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Sobrescreve o limite padrão de tokens para leituras de arquivos. Útil quando você precisa ler arquivos maiores por completo |

302| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Defina como `1` para forçar ativação do modo privado DEC 2026 [saída sincronizada](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) quando seu terminal o suporta mas não é auto-detectado. Útil para emuladores como `eat` do Emacs que implementam BSU/ESU mas não respondem à sonda de capacidade. Não tem efeito sob tmux. Diferentemente de `CLAUDE_CODE_NO_FLICKER`, que muda para [renderização em tela cheia](/docs/pt/fullscreen), isso não muda o renderizador |302| `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 `screen` ou de um inicializador em segundo plano iniciado primeiro pela ferramenta Bash do Claude Code, fizer com que uma sessão de nível superior genuína 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 v2.1.171, nas quais a detecção de sessão aninhada que ela sobrescreve foi removida |

303| `CLAUDE_CODE_FORK_SUBAGENT` | Controla [modo fork](/docs/pt/sub-agents#turn-fork-mode-on-or-off), que permite que Claude gere [subagentes bifurcados](/docs/pt/sub-agents#fork-the-current-conversation) e está ativado por padrão apenas em sessões interativas. Defina como `1` para ativá-lo em `claude -p` e Agent SDK também, ou `0` para desativá-lo em todo tipo de sessão. Você pode executar `/subtask` independentemente de o modo fork estar ativado. O padrão interativo requer Claude Code v2.1.232 ou posterior; em versões anteriores, defina a variável como `1` para ativar o modo fork |303| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | Defina como `1` para forçar a renderização tachada de `~~text~~` nas respostas de Claude quando seu terminal oferece suporte, mas não é detectado automaticamente, como via SSH sem `TERM_PROGRAM` encaminhado. Sem isso, terminais não detectados mostram os marcadores `~~` literais em vez de renderizar o texto como tachado. Requer Claude Code v2.1.186 ou posterior |

304| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | Defina como `1` para emitir blocos de texto e pensamento de [subagente](/docs/pt/sub-agents) em saída `claude -p --output-format stream-json`, o mesmo comportamento que a flag [`--forward-subagent-text`](/docs/pt/cli-reference#cli-flags). Use a variável quando um harness invoca `claude` e não pode passar a flag. Diferentemente da flag, que sai com um erro fora do modo não interativo com saída stream-json, a variável é ignorada lá para que invocações aninhadas continuem funcionando quando está definida em todo o processo. Requer Claude Code v2.1.211 ou posterior |304| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Defina como `1` para forçar a ativação da [saída sincronizada](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) do modo privado DEC 2026 quando seu terminal oferece suporte, mas não é detectado automaticamente. Útil para emuladores como o `eat` do Emacs, que implementam BSU/ESU, mas não respondem à sondagem de capacidade. Não tem efeito no tmux. Diferentemente de `CLAUDE_CODE_NO_FLICKER`, que muda para a [renderização em tela cheia](/docs/pt/fullscreen), esta não altera o renderizador |

305| `CLAUDE_CODE_GATEWAY_HINT_HEADERS` | Defina como `1` para enviar os [cabeçalhos de dica de gateway](/docs/pt/llm-gateway-protocol#gateway-hint-headers), como `x-claude-code-request-class` e `x-claude-code-compaction`, em um proxy personalizado ou provedor de terceiros como Amazon Bedrock ou Claude Platform on AWS. Defina como `0` para parar de enviá-los em cada conexão, incluindo uma conexão direta com a API Anthropic, onde Claude Code os envia por padrão. Requer Claude Code v2.1.273 ou posterior |305| `CLAUDE_CODE_FORK_SUBAGENT` | Controla o [modo fork](/docs/pt/sub-agents#turn-fork-mode-on-or-off), que permite que Claude crie [subagentes bifurcados](/docs/pt/sub-agents#fork-the-current-conversation) por conta própria e fica ativado por padrão somente em sessões interativas. Defina como `1` para ativá-lo também em `claude -p` e no Agent SDK, ou `0` para desativá-lo em todo tipo de sessão. Você pode executar `/subtask` com o modo fork ativado ou não. O padrão interativo requer Claude Code v2.1.232 ou posterior; em versões anteriores, defina a variável como `1` para ativar o modo fork |

306| `CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS` | Timeout em milissegundos para a solicitação de [descoberta de modelo de gateway](/docs/pt/llm-gateway-protocol#model-discovery) que `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` ativa (padrão: `3000`). Aumente quando seu gateway precisa de mais de três segundos para responder `/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_FORWARD_SUBAGENT_TEXT` | Defina como `1` para emitir blocos de texto e de pensamento de [subagentes](/docs/pt/sub-agents) na saída de `claude -p --output-format stream-json`, o mesmo comportamento da flag [`--forward-subagent-text`](/docs/pt/cli-reference#cli-flags). Use a variável quando um harness invoca `claude` e não pode 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 |

307| `CLAUDE_CODE_GIT_BASH_PATH` | Apenas Windows: caminho para o executável Git Bash (`bash.exe`). Use quando Git Bash está instalado mas não em seu PATH. Se o caminho não existir ou o arquivo não for nomeado `bash.exe`, `sh.exe`, `bash` ou `sh`, Claude Code ignora a variável e auto-detecta Git Bash como se não estivesse definida, registrando um aviso visível com `--debug`. Antes da v2.1.219, Claude Code saía na inicialização quando o caminho não existia e usava qualquer arquivo existente como shell sem verificar que era bash ou sh. Veja [Configuração do Windows](/docs/pt/setup#set-up-on-windows) |307| `CLAUDE_CODE_GATEWAY_HINT_HEADERS` | Defina como `1` para enviar os [cabeçalhos de dica de gateway](/docs/pt/llm-gateway-protocol#gateway-hint-headers), como `x-claude-code-request-class` e `x-claude-code-compaction`, em um proxy personalizado ou em um provedor terceirizado, como Amazon Bedrock ou Claude Platform on AWS. Defina como `0` para parar de enviá-los em todas as conexões, incluindo uma conexão direta com a API da Anthropic, onde o Claude Code os envia por padrão. Requer Claude Code v2.1.273 ou posterior |

308| `CLAUDE_CODE_GLOB_HIDDEN` | Defina como `false` para excluir dotfiles dos resultados quando Claude invoca a [ferramenta Glob](/docs/pt/tools-reference#glob-tool-behavior). Incluído por padrão. Não afeta autocompletar arquivo `@`, `ls`, Grep ou Read |308| `CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS` | Timeout em milissegundos para a requisição de [descoberta de modelos do gateway](/docs/pt/llm-gateway-protocol#model-discovery) que `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` ativa (padrão: `3000`). Aumente-o quando seu gateway precisar de mais de três segundos para responder a `/v1/models` na inicialização. Aceita apenas dígitos simples; `0`, valores negativos e outras grafias mantêm o padrão. Requer Claude Code v2.1.269 ou posterior |

309| `CLAUDE_CODE_GLOB_NO_IGNORE` | Defina como `false` para fazer a [ferramenta Glob](/docs/pt/tools-reference#glob-tool-behavior) respeitar padrões `.gitignore`. Por padrão, Glob retorna todos os arquivos correspondentes, incluindo os ignorados por git. Não afeta autocompletar arquivo `@`, que tem sua própria configuração [`respectGitignore`](/docs/pt/settings-reference#respectgitignore) |309| `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 no seu PATH. Se o caminho não existir ou o arquivo não se chamar `bash.exe`, `sh.exe`, `bash` ou `sh`, o Claude Code ignora a variável e detecta automaticamente o Git Bash como se ela não estivesse definida, registrando um aviso visível com `--debug`. Antes da v2.1.219, o Claude Code encerrava na inicialização quando o caminho não existia e usava qualquer arquivo existente como shell sem verificar se era bash ou sh. Consulte [Configuração no Windows](/docs/pt/setup#set-up-on-windows) |

310| `CLAUDE_CODE_GLOB_TIMEOUT_SECONDS` | Timeout em segundos para descoberta de arquivo da ferramenta Glob. Padrão de 20 segundos na maioria das plataformas e 60 segundos no WSL |310| `CLAUDE_CODE_GLOB_HIDDEN` | Defina como `false` para excluir dotfiles dos resultados quando Claude invoca a [ferramenta Glob](/docs/pt/tools-reference#glob-tool-behavior). Incluídos por padrão. Não afeta o preenchimento automático de arquivos com `@`, `ls`, Grep ou Read |

311| `CLAUDE_CODE_GOAL_CHECKIN_MINUTES` | Quantos minutos o trabalho em segundo plano pode manter uma meta ativa aguardando antes que Claude Code [peça a Claude para verificá-la](/docs/pt/goal#background-work-defers-evaluation). Padrão `30`. Defina `0` para desativar check-ins. Dê minutos inteiros em dígitos simples, no máximo `10080`, que é uma semana. 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_GLOB_NO_IGNORE` | Defina como `false` para fazer a [ferramenta Glob](/docs/pt/tools-reference#glob-tool-behavior) respeitar os padrões do `.gitignore`. Por padrão, o Glob retorna todos os arquivos correspondentes, incluindo os ignorados pelo git. Não afeta o preenchimento automático de arquivos com `@`, que tem sua própria [configuração `respectGitignore`](/docs/pt/settings-reference#respectgitignore) |

312| `CLAUDE_CODE_HIDE_CWD` | Defina como `1` para ocultar o diretório de trabalho no logo de inicialização. Útil para compartilhamentos de tela ou gravações onde o caminho expõe seu nome de usuário do SO |312| `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 |

313| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | Substitua o endereço de host usado para conectar à extensão IDE. Por padrão, Claude Code auto-detecta o endereço correto, incluindo roteamento WSL-para-Windows |313| `CLAUDE_CODE_GOAL_CHECKIN_MINUTES` | Quantos minutos o trabalho em segundo plano pode manter uma meta ativa aguardando antes que o Claude Code [peça a Claude para verificá-la](/docs/pt/goal#background-work-defers-evaluation). Padrão `30`. Defina `0` para desativar as verificações. Informe minutos inteiros em dígitos simples, no máximo `10080`, que é 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 |

314| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | Defina como `1` para pular auto-instalação de extensões IDE. Equivalente a definir [`autoInstallIdeExtension`](/docs/pt/settings-reference#autoinstallideextension) como `false` |314| `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 |

315| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | Defina como `1` para pular validação de entradas de arquivo de bloqueio IDE durante conexão. Use quando auto-conexão falha em encontrar seu IDE apesar dele estar em execução |315| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | Sobrescreve o endereço de host usado para conectar à extensão da IDE. Por padrão, o Claude Code detecta automaticamente o endereço correto, incluindo o roteamento de WSL para Windows |

316| `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` | Quantos [subagentes](/docs/pt/sub-agents#concurrent-subagent-limit) podem estar em execução em uma sessão antes que a ferramenta Agent recuse gerar outro (padrão: 20). Aceita um número inteiro positivo em dígitos simples; qualquer outra coisa é ignorada, para que o limite possa ser ajustado mas não desabilitado. Requer Claude Code v2.1.217 ou posterior |316| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | Defina como `1` para pular a instalação automática de extensões da IDE. Equivalente a definir [`autoInstallIdeExtension`](/docs/pt/settings-reference#autoinstallideextension) como `false` |

317| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Substitua o tamanho da janela de contexto que Claude Code assume para o modelo ativo. A partir da v2.1.193, como se aplica depende de como Claude Code resolve o ID do modelo; veja [Corrigir a janela para um ID de modelo de gateway ou personalizado](/docs/pt/model-config#correct-the-window-for-a-gateway-or-custom-model-id). Use isso ao rotear para um modelo através de `ANTHROPIC_BASE_URL` cuja janela de contexto não corresponde ao tamanho integrado para seu nome |317| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | Defina como `1` para pular a validação das entradas do lockfile da IDE durante a conexão. Use quando a conexão automática não encontrar sua IDE mesmo ela estando em execução |

318| `CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH` | Comprimento máximo em caracteres de cada descrição de ferramenta MCP e instruções de cada servidor MCP que Claude Code envia ao modelo (padrão: 2048). Claude Code [trunca texto mais longo](/docs/pt/mcp#for-mcp-server-authors). Aceita um número inteiro positivo em dígitos simples. Qualquer outra coisa é ignorada e o padrão se aplica. Requer Claude Code v2.1.280 ou posterior |318| `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` | Quantos [subagentes](/docs/pt/sub-agents#concurrent-subagent-limit) podem estar em execução em uma sessão antes que a ferramenta Agent se recuse a criar outro (padrão: 20). Aceita um número inteiro positivo em dígitos simples; qualquer 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 |

319| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Defina o número máximo de tokens de saída para a maioria das solicitações. Padrões e limites variam por modelo; veja [max output tokens](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). Claude Code reduz um valor acima do limite de um modelo para o limite. Para um ID de modelo que Claude Code não pode resolver para um modelo que conhece, o padrão é 32000 e o limite é 128000. Aumentar esse valor reduz a janela de contexto efetiva disponível antes que [auto-compactação](/docs/pt/costs#reduce-token-usage) seja acionada |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 se aplica depende de como o Claude Code resolve o ID do modelo; consulte [Corrigir a janela para um gateway ou ID de modelo personalizado](/docs/pt/model-config#correct-the-window-for-a-gateway-or-custom-model-id). Use isto ao rotear para um modelo via `ANTHROPIC_BASE_URL` cuja janela de contexto não corresponde ao tamanho integrado para o seu nome |

320| `CLAUDE_CODE_MAX_RETRIES` | Substitua o número de vezes para tentar novamente solicitações de API falhadas (padrão: 10). Limitado a 15 a partir da v2.1.186; a partir da v2.1.199, `CLAUDE_CODE_RETRY_WATCHDOG` aumenta o padrão e remove o limite. Para sessões não supervisionadas que precisam aguardar através de interrupções mais longas, defina `CLAUDE_CODE_RETRY_WATCHDOG` |320| `CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH` | Comprimento máximo em caracteres de cada descrição de ferramenta MCP e das instruções de cada servidor MCP que o Claude Code envia ao modelo (padrão: 2048). O Claude Code [trunca textos mais longos](/docs/pt/mcp#for-mcp-server-authors). Aceita um número inteiro positivo em dígitos simples. Qualquer outro valor é ignorado e o padrão se aplica. Requer Claude Code v2.1.280 ou posterior |

321| `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` | Removido na v2.1.224 e agora é um no-op. Anteriormente limitava o número total de [subagentes](/docs/pt/sub-agents) que Claude poderia 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 subagente concorrente](/docs/pt/sub-agents#concurrent-subagent-limit) e o [limite de profundidade](/docs/pt/sub-agents#let-subagents-spawn-their-own-subagents) ainda se aplicam |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 resolver para um modelo conhecido, o padrão é 32000 e o limite é 128000. Aumentar este valor reduz a janela de contexto efetiva disponível antes que a [compactação automática](/docs/pt/costs#reduce-token-usage) seja acionada |

322| `CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH` | Número de [camadas de subagente](/docs/pt/sub-agents#let-subagents-spawn-their-own-subagents) permitidas abaixo da conversa principal (padrão: 3). No padrão, subagentes podem gerar seus próprios subagentes, e um subagente na terceira camada não pode gerar mais; defina `1` para desativar aninhamento. Na v2.1.217 até v2.1.218, o padrão era 1, para que um subagente não pudesse gerar o seu próprio a menos que você aumentasse o limite; v2.1.219 aumentou o padrão para 3. Aceita um número inteiro positivo em dígitos simples; qualquer outra coisa é ignorada, para que o limite possa ser ajustado mas não removido. Requer Claude Code v2.1.217 ou posterior |322| `CLAUDE_CODE_MAX_RETRIES` | Sobrescreve o número de vezes para tentar novamente requisições de API com falha (padrão: 10). Limitado a 15 a partir da v2.1.186; a partir da v2.1.199, `CLAUDE_CODE_RETRY_WATCHDOG` aumenta o padrão e remove o limite. Para sessões não supervisionadas que precisam aguardar interrupções mais longas, defina `CLAUDE_CODE_RETRY_WATCHDOG` em vez disso |

323| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | Número máximo de ferramentas somente leitura e subagentes que podem executar em paralelo (padrão: 10). Valores mais altos aumentam o paralelismo mas consomem mais recursos |323| `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` | Removida na v2.1.224 e agora não tem efeito. Anteriormente limitava o número total de [subagentes](/docs/pt/sub-agents) que Claude podia criar com a ferramenta Agent em uma sessão (padrão: 200); criar além do limite falhava com `Subagent spawn limit reached`. O [limite de subagentes simultâneos](/docs/pt/sub-agents#concurrent-subagent-limit) e o [limite de profundidade](/docs/pt/sub-agents#let-subagents-spawn-their-own-subagents) ainda se aplicam |

324| `CLAUDE_CODE_MAX_TURNS` | Limite o número de turnos de agente quando nenhum limite explícito é passado. Equivalente a passar [`--max-turns`](/docs/pt/cli-reference#cli-flags), que tem precedência quando ambos estão definidos. Um valor que não é um inteiro positivo é rejeitado na inicialização com um erro em vez de ser tratado como sem limite |324| `CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH` | Número de [camadas de subagentes](/docs/pt/sub-agents#let-subagents-spawn-their-own-subagents) permitidas abaixo da conversa principal (padrão: 3). No padrão, subagentes podem criar seus próprios subagentes, e um subagente na terceira camada não pode criar mais; 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 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, então o limite pode ser ajustado, mas não removido. Requer Claude Code v2.1.217 ou posterior |

325| `CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION` | Limite no número total de chamadas [WebSearch](/docs/pt/tools-reference#websearch-tool-behavior) que uma sessão pode fazer (padrão: 200). Quando Claude atinge o limite, chamadas WebSearch adicionais retornam um aviso dizendo a ele para continuar com as informações que já reuniu. Aceita um número inteiro positivo sem limite superior. Qualquer outra coisa é ignorada e o padrão se aplica, para que o limite possa ser aumentado mas não desativado. Requer Claude Code v2.1.212 ou posterior |325| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | Número máximo de ferramentas somente leitura e subagentes que podem ser executados em paralelo (padrão: 10). Valores mais altos aumentam o paralelismo, mas consomem mais recursos |

326| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | Defina como `1` para gerar servidores MCP stdio com apenas um ambiente de linha de base segura mais o `env` configurado do servidor, em vez de herdar seu ambiente de shell |326| `CLAUDE_CODE_MAX_TURNS` | Limita o número de turnos agênticos quando nenhum limite explícito é passado. Equivalente a passar [`--max-turns`](/docs/pt/cli-reference#cli-flags), que tem precedência quando ambos estão definidos. Um valor que não seja um inteiro positivo é rejeitado na inicialização com um erro, em vez de ser tratado como ausência de limite |

327| `CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS` | Tempo decorrido em milissegundos antes de uma chamada de ferramenta MCP ainda em execução [se mover para uma tarefa em segundo plano](/docs/pt/mcp#automatic-backgrounding-of-long-tool-calls) (padrão: 120000, ou 2 minutos). Defina como `0` para desativar backgrounding automático. Requer Claude Code v2.1.212 ou posterior |327| `CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION` | Limite do número total de chamadas de [WebSearch](/docs/pt/tools-reference#websearch-tool-behavior) que uma sessão pode fazer (padrão: 200). Quando Claude atinge o limite, outras chamadas de WebSearch retornam um aviso dizendo para continuar com as informações já reunidas. Aceita um número inteiro positivo sem limite superior. Qualquer outro valor é ignorado e o padrão se aplica, então o limite pode ser aumentado, mas não desativado. Requer Claude Code v2.1.212 ou posterior |

328| `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` | Quanto tempo em milissegundos o primeiro turno de uma sessão [não interativa](/docs/pt/headless) aguarda servidores MCP que ainda estão se conectando, no lugar da [espera de primeiro turno](/docs/pt/agent-sdk/mcp#connection-timing) padrão. Quando definido, a espera cobre cada servidor pendente. Defina como `0` para pular a espera. Um servidor [`--permission-prompt-tool`](/docs/pt/cli-reference#cli-flags) mantém sua própria espera `MCP_TIMEOUT` independentemente do valor. Requer Claude Code v2.1.274 ou posterior |328| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | Defina como `1` para iniciar servidores MCP stdio apenas com um ambiente base seguro mais o `env` configurado do servidor, em vez de herdar o ambiente do seu shell |

329| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | Timeout de inatividade em milissegundos para chamadas de ferramenta MCP. Quando um servidor MCP stdio, HTTP, SSE, WebSocket ou [conector claude.ai](/docs/pt/mcp#use-mcp-servers-from-claude-ai) não envia resposta e nenhuma notificação de progresso por esse tempo, a chamada de ferramenta aborta com um erro em vez de aguardar o `MCP_TOOL_TIMEOUT` geral. Substitui os padrões por transporte de 300000 (5 minutos) para servidores de rede e 1800000 (30 minutos) para servidores stdio. Defina como `0` para desabilitar a verificação de inatividade. Valores abaixo de 1000 são aumentados para um segundo, e o valor é limitado ao `MCP_TOOL_TIMEOUT` efetivo. Um `timeout` por servidor em `.mcp.json` de pelo menos 1000 aumenta a janela de inatividade desse servidor para pelo menos o valor `timeout`. Não se aplica a servidores IDE ou servidores em processo do SDK. Requer Claude Code v2.1.187 ou posterior. Antes da v2.1.203, servidores stdio eram isentos do timeout de inatividade |329| `CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS` | Tempo decorrido em milissegundos antes que uma chamada de ferramenta MCP ainda em execução [passe para uma tarefa em segundo plano](/docs/pt/mcp#automatic-backgrounding-of-long-tool-calls) (padrão: 120000, ou 2 minutos). Defina como `0` para desativar a passagem automática para segundo plano. Requer Claude Code v2.1.212 ou posterior |

330| `CLAUDE_CODE_MESSAGING_SOCKET` | Defina por Claude Code, não por você: em sessões que vinculam um [socket de caixa de entrada](/docs/pt/cross-session-messaging#the-sessions-inbox-socket), 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, Claude Code vincula o socket antes de qualquer hook ser 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 mensagens chegando nele passam pelos [controles de entrada](/docs/pt/cross-session-messaging#control-inbound-messages) da sessão. Configurações blocos `env` não podem defini-lo. Requer Claude Code v2.1.224 ou posterior |330| `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` | Quanto tempo em milissegundos o primeiro turno de uma sessão [não interativa](/docs/pt/headless) aguarda por servidores MCP que ainda estão se conectando, no lugar da [espera padrão do primeiro turno](/docs/pt/agent-sdk/mcp#connection-timing). Quando definida, a espera abrange todos os servidores pendentes. Defina como `0` para pular a espera. Um servidor de [`--permission-prompt-tool`](/docs/pt/cli-reference#cli-flags) mantém sua própria espera de `MCP_TIMEOUT` independentemente do valor. Requer Claude Code v2.1.274 ou posterior |

331| `CLAUDE_CODE_MESSAGING_TOKEN` | Defina por Claude Code, não por você: em sessões que vinculam um [socket de caixa de entrada](/docs/pt/cross-session-messaging#the-sessions-inbox-socket), Claude Code exporta esse token por sessão para hooks e comandos Bash ao lado de `CLAUDE_CODE_MESSAGING_SOCKET`. Um script postando no socket pode enviar `{"type":"auth","token":"<token>"}` como sua primeira linha para provar que pertence à sessão. No Windows nativo, Claude Code requer essa linha e fecha qualquer conexão que não abra com uma válida. As [regras de filho próprio](/docs/pt/cross-session-messaging#the-sessions-inbox-socket) dizem quando Claude Code consulta o token. Cada sessão exporta seu próprio token, nunca um herdado de uma sessão pai. Configurações blocos `env` não podem defini-lo. Requer Claude Code v2.1.228 ou posterior |331| `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 [conector do claude.ai](/docs/pt/mcp#use-mcp-servers-from-claude-ai) não envia resposta nem notificação de progresso por esse tempo, a chamada de ferramenta é abortada com um erro em vez de aguardar o `MCP_TOOL_TIMEOUT` geral. Sobrescreve os padrões por transporte de 300000 (5 minutos) para servidores de rede e 1800000 (30 minutos) para servidores stdio. Defina como `0` para desativar a verificação de inatividade. Valores abaixo de 1000 são elevados para um segundo, e o valor é limitado ao `MCP_TOOL_TIMEOUT` efetivo. Um `timeout` por servidor no `.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 em processo do SDK. Requer Claude Code v2.1.187 ou posterior. Antes da v2.1.203, os servidores stdio estavam isentos do timeout de inatividade |

332| `CLAUDE_CODE_NATIVE_CURSOR` | Defina como `1` para mostrar o cursor próprio do terminal na marca de inserção em vez de um bloco desenhado. O cursor respeita as configurações de piscar, forma e foco do terminal |332| `CLAUDE_CODE_MESSAGING_SOCKET` | Definida pelo Claude Code, não por você: em sessões que vinculam um [socket de caixa de entrada](/docs/pt/cross-session-messaging#the-sessions-inbox-socket), o Claude Code exporta o caminho desse socket para hooks e comandos Bash quando vincula o socket. Em uma sessão que inicia com mensagens ativadas, o Claude Code vincula o socket antes da execução de qualquer hook. Outras sessões na máquina entregam mensagens para esse caminho. Cada sessão exporta seu próprio socket em vez de um herdado de uma sessão pai, e as mensagens que chegam nele passam pelos [controles de entrada](/docs/pt/cross-session-messaging#control-inbound-messages) da sessão. Blocos `env` das configurações não podem defini-la. Requer Claude Code v2.1.224 ou posterior |

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

334| `CLAUDE_CODE_NONBLOCKING_STDOUT` | Defina como `1` para escrever saída de terminal através de um segundo descritor de arquivo não bloqueante, para que um terminal que para de ler, como um painel de modo de controle tmux pausado ou uma conexão SSH travada, não possa congelar Claude Code no meio da sessão. Aplica-se no macOS, Linux e WSL quando stdout é um terminal. Requer Claude Code v2.1.261 ou posterior |334| `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, formato e foco do terminal |

335| `CLAUDE_CODE_NO_FLICKER` | Defina como `1` para ativar [renderização em tela cheia](/docs/pt/fullscreen), uma visualização de pesquisa que reduz cintilação e mantém memória plana em conversas longas. Substitui a configuração [`tui`](/docs/pt/settings-reference#tui); você também pode alternar com `/tui fullscreen` |335| `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 |

336| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | Token de atualização OAuth para autenticação 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 |336| `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 modo de controle do tmux 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 stdout é um terminal. Requer Claude Code v2.1.261 ou posterior |

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

338| `CLAUDE_CODE_OAUTH_TOKEN` | Token de acesso OAuth para autenticação claude.ai. Alternativa a `/login` para SDK e ambientes automatizados. Tem precedência sobre credenciais armazenadas em keychain. Gere um com [`claude setup-token`](/docs/pt/authentication#generate-a-long-lived-token). A menos que você execute [`/login`](/docs/pt/authentication#authentication-precedence), Claude Code usa o token que você define para a sessão inteira. Para substituir um token expirado, gere um novo e reinicie |338| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | Token de atualização OAuth para autenticação do Claude.ai. Quando definido, `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 |

339| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | Removido na v2.1.160 e agora é um no-op. Anteriormente fixava [modo rápido](/docs/pt/fast-mode) em Claude Opus 4.6 em vez do padrão atual. Opus 4.6 não suporta mais modo rápido |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 |

340| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | Comprimento máximo de atributos OpenTelemetry que carregam conteúdo (respostas de modelo, conteúdo de ferramenta, prompts do sistema, corpos de API brutos), marcador de truncamento incluído, em unidades de código UTF-16 (padrão: 61440, ou seja, 60 KB). Aumente apenas se seu backend de telemetria aceita valores de atributo maiores que 64 KB, ou diminua para cortar volume de telemetria. Requer Claude Code v2.1.214 ou posterior. Veja [Monitoramento](/docs/pt/monitoring-usage) |340| `CLAUDE_CODE_OAUTH_TOKEN` | Token de acesso OAuth para autenticação do claude.ai. Alternativa ao `/login` para SDK e ambientes automatizados. Tem precedência sobre credenciais armazenadas no keychain. Gere um com [`claude setup-token`](/docs/pt/authentication#generate-a-long-lived-token). A menos que você execute [`/login`](/docs/pt/authentication#authentication-precedence), o Claude Code usa o token definido durante toda a sessão. Para substituir um token expirado, gere um novo e reinicie |

341| `CLAUDE_CODE_OTEL_DIAG_STDERR` | Defina como `1` para escrever erros de diagnóstico do exportador OpenTelemetry para stderr. Por padrão, esses erros aparecem apenas com `--debug`, para que um exportador mal configurado, como uma colisão de porta Prometheus, falhe silenciosamente. Requer Claude Code v2.1.179 ou posterior. Veja [Monitoramento](/docs/pt/monitoring-usage) |341| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | Removida na v2.1.160 e agora não tem efeito. Anteriormente fixava o [modo rápido](/docs/pt/fast-mode) no Claude Opus 4.6 em vez do padrão atual. O Opus 4.6 não oferece mais suporte ao modo rápido |

342| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Timeout em milissegundos para liberar spans OpenTelemetry pendentes (padrão: 5000). Veja [Monitoramento](/docs/pt/monitoring-usage) |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 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 Claude Code v2.1.214 ou posterior. Consulte [Monitoramento](/docs/pt/monitoring-usage) |

343| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervalo para atualizar cabeçalhos OpenTelemetry dinâmicos em milissegundos (padrão: 1740000 / 29 minutos). Veja [Cabeçalhos dinâmicos](/docs/pt/monitoring-usage#dynamic-headers) |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 aparecem apenas com `--debug`, então um exportador mal configurado, como em uma colisão de porta do Prometheus, falharia silenciosamente. Requer Claude Code v2.1.179 ou posterior. Consulte [Monitoramento](/docs/pt/monitoring-usage) |

344| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | Timeout em milissegundos para o exportador OpenTelemetry terminar no desligamento (padrão: 2000). Aumente se métricas forem descartadas na saída. Veja [Monitoramento](/docs/pt/monitoring-usage) |344| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Timeout em milissegundos para descarregar spans pendentes do OpenTelemetry (padrão: 5000). Consulte [Monitoramento](/docs/pt/monitoring-usage) |

345| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | Defina como `1` para permitir que Claude Code execute o comando de upgrade do seu gerenciador de pacotes em segundo plano quando uma nova versão estiver disponível. Aplica-se a instalações Homebrew e WinGet. Outros gerenciadores de pacotes continuam mostrando o comando de upgrade sem executá-lo. Veja [Auto-atualizações](/docs/pt/setup#auto-updates) |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](/docs/pt/monitoring-usage#dynamic-headers) |

346| `CLAUDE_CODE_PERFORCE_MODE` | Defina como `1` para ativar proteção de escrita ciente de Perforce. Quando definido, Edit, Write e NotebookEdit falham com uma dica `p4 edit <file>` se o arquivo de destino não tiver o bit de escrita do proprietário, que Perforce limpa em arquivos sincronizados até `p4 edit` abri-los. Isso impede que Claude Code contorne rastreamento de mudança Perforce |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](/docs/pt/monitoring-usage) |

347| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | Substitua o diretório raiz de plugins. Apesar do nome, isso define o diretório pai, não o cache em si: marketplaces e o cache de plugin vivem em subdiretórios sob esse caminho. Padrão é `~/.claude/plugins` |347| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | Defina como `1` para permitir que o Claude Code execute o comando de atualização do seu gerenciador de pacotes em segundo plano quando uma nova versão estiver disponível. Aplica-se a instalações via Homebrew e WinGet. Outros gerenciadores de pacotes continuam mostrando o comando de atualização sem executá-lo. Consulte [Atualizações automáticas](/docs/pt/setup#auto-updates) |

348| `CLAUDE_CODE_PLUGIN_DIRS` | Diretórios de plugin para carregar para a sessão, cada um carregado da forma que uma flag [`--plugin-dir`](/docs/pt/plugins/cli-reference#flags-that-load-a-plugin-for-one-session) carrega. Separe múltiplos caminhos com `:` no Unix ou `;` no Windows. Dê cada caminho como um caminho absoluto ou comece com `~`, porque Claude Code pula caminhos relativos. Requer Claude Code v2.1.280 ou posterior. Veja [Carregar um plugin para uma sessão](/docs/pt/plugins/create#load-a-directory-or-archive-for-one-session) |348| `CLAUDE_CODE_PERFORCE_MODE` | Defina como `1` para ativar a proteção de escrita compatível com 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 escrita do proprietário, que o Perforce remove em arquivos sincronizados até que `p4 edit` os abra. Isso impede que o Claude Code contorne o rastreamento de alterações do Perforce |

349| `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS` | Timeout em milissegundos para clonar ou atualizar um marketplace de plugin (padrão: 120000). Aumente esse valor para repositórios grandes ou conexões de rede lentas. Veja [Git clone expirou](/docs/pt/plugins/troubleshooting#git-clone-timed-out-after-120s) |349| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | Sobrescreve o diretório raiz de plugins. Apesar do nome, isto define o diretório pai, não o próprio cache: os marketplaces e o cache de plugins ficam em subdiretórios sob este caminho. O padrão é `~/.claude/plugins` |

350| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | Defina como `1` para pular a tentativa de re-clone e continuar usando o checkout de marketplace existente quando uma atualização de marketplace não consegue alcançar ou autenticar no remoto. Útil em ambientes offline ou airgapped onde re-clonar falharia da mesma forma. Veja [Atualizações de marketplace continuam falhando offline](/docs/pt/plugins/troubleshooting#marketplace-updates-keep-failing-offline) |350| `CLAUDE_CODE_PLUGIN_DIRS` | Diretórios de plugins a carregar para a sessão, cada um carregado da forma como uma flag [`--plugin-dir`](/docs/pt/plugins/cli-reference#flags-that-load-a-plugin-for-one-session) o carrega. Separe vários caminhos com `:` no Unix ou `;` no Windows. Informe cada caminho como um caminho absoluto ou inicie-o com `~`, porque o Claude Code ignora caminhos relativos. Requer Claude Code v2.1.280 ou posterior. Consulte [Carregar um plugin para uma sessão](/docs/pt/plugins/create#load-a-directory-or-archive-for-one-session) |

351| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | Defina como `1` para clonar fontes de atalho GitHub `owner/repo` sobre HTTPS em vez de SSH. Aplica-se a instalação e atualização de plugin, e a `/plugin marketplace add` e `update`. Útil em executores CI, containers ou qualquer ambiente sem uma chave SSH configurada para `github.com` |351| `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 atingiu o timeout](/docs/pt/plugins/troubleshooting#git-clone-timed-out-after-120s) |

352| `CLAUDE_CODE_PLUGIN_SEED_DIR` | Caminho para um ou mais diretórios de seed de plugin somente leitura, separados por `:` no Unix ou `;` no Windows. Use isso para agrupar um diretório de plugins pré-populado em uma imagem de container. Claude Code registra marketplaces desses diretórios na inicialização e usa plugins pré-armazenados em cache sem re-clonar. Veja [Pré-popular plugins para containers](/docs/pt/plugins/org#seed-containers-and-ci) |352| `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 ou se autenticar no remoto. Útil em ambientes offline ou isolados (airgapped), onde clonar novamente falharia da mesma forma. Consulte [Atualizações do marketplace falham em ambientes offline](/docs/pt/plugins/troubleshooting#marketplace-updates-keep-failing-offline) |

353| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | Defina como `1` para impedir que Claude Code passe `-ExecutionPolicy Bypass` ao gerar PowerShell para chamadas de ferramenta, hooks e comandos de linha de status, e respeite a política de execução efetiva da máquina. Por padrão, Claude Code contorna política de execução no escopo de processo para que scripts `.ps1` e importações de módulo funcionem em instalações Windows padrão com Restricted. Bypass no escopo de processo nunca substitui Group Policy `MachinePolicy` ou `UserPolicy` independentemente dessa configuração |353| `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` |

354| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | Teto em milissegundos na espera ociosa por subagentes em segundo plano e workflows após o turno final em [modo não interativo](/docs/pt/headless#background-tasks-at-exit) com a flag `-p`. A espera ociosa recomeça cada vez que Claude toma um turno para lidar com um resultado em segundo plano. Padrão: `600000`, ou 10 minutos. Quando a espera ociosa atinge o teto, Claude Code para de aguardar as tarefas em segundo plano restantes e sai. Defina como `0` para aguardar indefinidamente. Esse limite é separado do período de graça de cinco segundos que se aplica a shells em segundo plano simples. Requer Claude Code v2.1.182 ou posterior |354| `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 isto para incluir um diretório de plugins pré-preenchido em uma imagem de contêiner. O Claude Code registra marketplaces desses diretórios na inicialização e usa plugins pré-armazenados em cache sem clonar novamente. Consulte [Pré-preencher plugins para contêineres](/docs/pt/plugins/org#seed-containers-and-ci) |

355| `CLAUDE_CODE_PROCESS_WRAPPER` | Inicie os processos que Claude Code começa de seu próprio binário, como o serviço em segundo plano que hospeda sessões de [visualização de agente](/docs/pt/agent-view), através de um lançador corporativo dado como um prefixo argv como `/opt/corp/launcher`. Defina-o no bloco `env` de configurações de usuário ou [gerenciadas](/docs/pt/managed-settings), não como exportação de shell, para que o serviço em segundo plano desacoplado o herde; configurações de projeto e local não podem defini-lo. Equivalente à configuração [`processWrapper`](/docs/pt/settings-reference#processwrapper), que requer Claude Code v2.1.210 ou posterior; essa variável tem precedência quando ambas estão definidas. A extensão VS Code configura seu próprio lançador separadamente através de sua configuração `claudeProcessWrapper`. Ignorado no Windows. Veja [Executar Claude Code atrás de um lançador corporativo](/docs/pt/corporate-launcher) para o formato de valor, o que o lançador cobre e o contrato que o lançador deve satisfazer. Requer Claude Code v2.1.208 ou posterior |355| `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, respeitando em vez disso 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 as políticas de grupo `MachinePolicy` ou `UserPolicy`, independentemente desta configuração |

356| `CLAUDE_CODE_PROJECT_DIR_NAME` | Defina junto com `CLAUDE_CONFIG_DIR` para escolher o nome do diretório `projects/` sob o qual 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 Claude Code com `CLAUDE_CONFIG_DIR=/srv/tenant-a CLAUDE_CODE_PROJECT_DIR_NAME=work claude` as armazena sob `/srv/tenant-a/projects/work/`. Claude Code ignora essa variável quando `CLAUDE_CONFIG_DIR` não está definido, 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). Veja [Nomeie o diretório de projeto você mesmo](/docs/pt/sessions#name-the-project-directory-yourself). Requer Claude Code v2.1.234 ou posterior |356| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | Limite máximo em milissegundos da espera ociosa por subagentes e fluxos de trabalho em segundo plano após o turno final no [modo não interativo](/docs/pt/headless#background-tasks-at-exit) com a flag `-p`. A espera ociosa recomeça cada vez que Claude usa um turno para tratar um resultado em segundo plano. Padrão: `600000`, ou 10 minutos. Quando a espera ociosa atinge o limite, o Claude Code para de aguardar as tarefas em segundo plano restantes e encerra. Defina como `0` para aguardar indefinidamente. Este limite é separado do período de tolerância de cinco segundos que se aplica a shells simples em segundo plano. Requer Claude Code v2.1.182 ou posterior |

357| `CLAUDE_CODE_PROMPT_CACHE_TTL` | Defina `5m` ou `1h`, os únicos valores que Claude Code aceita, para escolher o [TTL de cache de prompt](/docs/pt/prompt-caching#cache-lifetime) para a conversa principal: seus turnos interativos, `-p` e SDK, mais os helpers que executam inline com eles. Tem precedência sobre a configuração `promptCacheTtl` e sobre `ENABLE_PROMPT_CACHING_1H`, e `FORCE_PROMPT_CACHING_5M` a substitui. Escritas de cache de 1 hora são faturadas a uma taxa mais alta. Requer Claude Code v2.1.242 ou posterior |357| `CLAUDE_CODE_PROCESS_WRAPPER` | Inicia os processos que o Claude Code executa a partir do seu próprio binário, como o serviço em segundo plano que hospeda as sessões do [agent view](/docs/pt/agent-view), por meio de um inicializador corporativo informado como prefixo de argv, como `/opt/corp/launcher`. Defina-a no bloco `env` das configurações de usuário ou [configurações gerenciadas](/docs/pt/managed-settings), 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`](/docs/pt/settings-reference#processwrapper), que requer Claude Code v2.1.210 ou posterior; esta variável tem precedência quando ambas estão definidas. A extensão do VS Code configura seu próprio inicializador separadamente por meio da configuração `claudeProcessWrapper`. Ignorada no Windows. Consulte [Executar o Claude Code por trás de um inicializador corporativo](/docs/pt/corporate-launcher) para o formato do valor, o que o inicializador abrange e o contrato que o inicializador deve satisfazer. Requer Claude Code v2.1.208 ou posterior |

358| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | Defina como `1` para propagar contexto de rastreamento W3C quando `ANTHROPIC_BASE_URL` aponta para um proxy personalizado. A propagação cobre o cabeçalho `traceparent` em solicitações de modelo e MCP HTTP e a variável de ambiente `TRACEPARENT` para subprocessos Bash, PowerShell e hook. Por padrão, a propagação é ativada apenas quando conectado diretamente à API Anthropic. Adicionado na v2.1.152. Veja [Rastreamentos (beta)](/docs/pt/monitoring-usage#traces-beta) |358| `CLAUDE_CODE_PROJECT_DIR_NAME` | Defina junto com `CLAUDE_CONFIG_DIR` para escolher o nome do diretório em `projects/` sob o qual o Claude Code armazena as transcrições e a memória automática dessa sessão, no lugar de um derivado do caminho do diretório de trabalho. Por exemplo, iniciar o Claude Code com `CLAUDE_CONFIG_DIR=/srv/tenant-a CLAUDE_CODE_PROJECT_DIR_NAME=work claude` as armazena em `/srv/tenant-a/projects/work/`. O Claude Code ignora esta variável quando `CLAUDE_CONFIG_DIR` não está definida e a lê apenas do ambiente a partir do qual você inicia `claude`, nunca de um [bloco `env` de arquivo de configurações](#in-settings-files). Consulte [Nomear o diretório do projeto você mesmo](/docs/pt/sessions#name-the-project-directory-yourself). Requer Claude Code v2.1.234 ou posterior |

359| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | Defina por plataformas host que incorporam Claude Code e gerenciam roteamento de provedor de modelo em seu nome. Quando definido, 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, para que configurações de usuário não possam substituir o roteamento do host. Claude Code também ignora chaves de seleção de modelo como `model`, `fallbackModel` e `modelOverrides` em [configurações gerenciadas](/docs/pt/managed-settings), qualquer que seja a fonte gerenciada que as entregue, para que a configuração de modelo do host tenha precedência sobre um pin de modelo desatualizado. 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 lista de permissão [`availableModels`](/docs/pt/model-config#restrict-model-selection) em configurações gerenciadas ainda se aplica a menos que o host forneça a sua. Claude Code também pula o opt-out de telemetria automática que de outra forma se aplica em provedores de terceiros como Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform e Microsoft Foundry, para que a telemetria siga o opt-out padrão `DISABLE_TELEMETRY`. Veja [Comportamentos padrão por provedor de API](/docs/pt/data-usage#default-behaviors-by-api-provider) |359| `CLAUDE_CODE_PROMPT_CACHE_TTL` | Defina `5m` ou `1h`, os únicos valores que o Claude Code aceita, para escolher o [TTL do cache de prompt](/docs/pt/prompt-caching#cache-lifetime) da conversa principal: seus turnos interativos, `-p` e do SDK, além dos auxiliares executados em linha com eles. Tem precedência sobre a configuração `promptCacheTtl` e sobre `ENABLE_PROMPT_CACHING_1H`, e `FORCE_PROMPT_CACHING_5M` a sobrescreve. A API cobra gravações de cache de 1 hora a uma taxa mais alta. Requer Claude Code v2.1.242 ou posterior |

360| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | Defina como `1` para permitir que o proxy execute resolução de DNS em vez do chamador. Opt-in para ambientes onde o proxy deve lidar com resolução de nome de host |360| `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 fica ativada somente quando conectado diretamente à API da Anthropic. Adicionada na v2.1.152. Consulte [Traces (beta)](/docs/pt/monitoring-usage#traces-beta) |

361| `CLAUDE_CODE_REMOTE` | Defina automaticamente como `true` quando Claude Code está em execução como uma [sessão em nuvem](/docs/pt/claude-code-on-the-web). Leia isso de um hook ou script de configuração para detectar se você está em uma sessão em nuvem |361| `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, endpoint e 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](/docs/pt/managed-settings), qualquer que seja 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`](/docs/pt/model-config#restrict-model-selection) nas configurações gerenciadas ainda se aplica, a menos que o host forneça a sua própria. O Claude Code também pula a desativação automática de telemetria que, de outra forma, aplica em provedores terceirizados, como Amazon Bedrock, Claude Platform on AWS, Agent Platform do Google Cloud e Microsoft Foundry, de modo que a telemetria segue a desativação padrão via `DISABLE_TELEMETRY`. Consulte [Comportamentos padrão por provedor de API](/docs/pt/data-usage#default-behaviors-by-api-provider) |

362| `CLAUDE_CODE_REMOTE_SESSION_ID` | Defina automaticamente em [sessões em nuvem](/docs/pt/claude-code-on-the-web) para o ID da sessão atual. Leia isso para construir um link de volta para a transcrição da sessão. Veja [Vincular saída de volta à sessão](/docs/pt/cloud-environments#link-output-back-to-the-session) |362| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | Defina como `1` para permitir que o proxy realize a resolução de DNS em vez do chamador. Opção para ambientes em que o proxy deve lidar com a resolução de nomes de host |

363| `CLAUDE_CODE_RESTRICTED` | Defina como `1` para iniciar a sessão em modo restrito, o mesmo que passar [`--restricted`](/docs/pt/cli-reference#cli-flags). Claude Code ignora essa variável em um bloco `env` de arquivo de configurações. Requer Claude Code v2.1.248 ou posterior |363| `CLAUDE_CODE_REMOTE` | Definida automaticamente como `true` quando o Claude Code está sendo executado como uma [sessão na nuvem](/docs/pt/claude-code-on-the-web). Leia-a a partir de um hook ou script de configuração para detectar se você está em uma sessão na nuvem |

364| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Defina como `1` para retomar automaticamente se a sessão anterior terminou no meio do turno. Usado em modo SDK para que o modelo continue sem exigir que o SDK reenvie o prompt. Para desativar isso, desconfigurar a variável ou defini-la como `0`. Antes da v2.1.221, Claude Code ignorava `0` e outros valores falsos, para que definir `0` ainda acionasse a retomada em modo não interativo e desconfigurar a variável era a única forma de desativar |364| `CLAUDE_CODE_REMOTE_SESSION_ID` | Definida automaticamente em [sessões na nuvem](/docs/pt/claude-code-on-the-web) com o ID da sessão atual. Leia-a para construir um link de volta para a transcrição da sessão. Consulte [Vincular a saída de volta à sessão](/docs/pt/cloud-environments#link-output-back-to-the-session) |

365| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | Idade máxima em milissegundos da última mensagem de transcrição para uma sessão que terminou no meio do turno para continuar automaticamente na retomada. Quando a última mensagem é mais antiga que esse limite, Claude Code pula a retomada automática `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 definido ou `0` significa sem limite, exceto que um turno cuja última solicitação falhou com um erro de API retoma apenas enquanto esse erro tem menos de seis horas. Um valor positivo limita cada turno, incluindo aqueles; um valor negativo ou não numérico aplica um limite de uma hora. Scripts de geração para agentes de longa duração podem definir isso para que uma retomada contra uma transcrição antiga não re-execute um prompt obsoleto. Claude Code define um limite de uma hora a si mesmo quando reinicia uma sessão [visualização de agente](/docs/pt/agent-view) travada que herdou sua conversa de uma sessão interativa. Requer Claude Code v2.1.211 ou posterior |365| `CLAUDE_CODE_RESTRICTED` | Defina como `1` para iniciar a sessão no modo restrito, o mesmo que passar [`--restricted`](/docs/pt/cli-reference#cli-flags). O Claude Code ignora esta variável no bloco `env` de um arquivo de configurações. Requer Claude Code v2.1.248 ou posterior |

366| `CLAUDE_CODE_RESUME_PROMPT` | Substitua a mensagem de continuação que Claude Code envia a Claude quando `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` continua um turno interrompido em vez de reenviar seu prompt, ou quando você retoma uma [chamada de ferramenta adiada](/docs/pt/hooks#defer-a-tool-call-for-later) com `-p`. Padrão é `Continue from where you left off.`. Uma string vazia usa o padrão |366| `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 isso, remova a definição da variável ou defina-a como `0`. Antes da v2.1.221, o Claude Code ignorava `0` e outros valores falsos, então definir `0` ainda acionava a retomada no modo não interativo e remover a definição da variável era a única forma de desativá-la |

367| `CLAUDE_CODE_RETRY_WATCHDOG` | Defina como `1` para sessões não supervisionadas, como harnesses de avaliação, trabalhos CI ou workers remotos. Tenta novamente erros de capacidade `429` e `529` indefinidamente em vez de falhar após `CLAUDE_CODE_MAX_RETRIES` tentativas. Claude Code falha imediatamente quando uma solicitação de velocidade padrão recebe um `429` que relata um limite de gastos ou créditos de uso esgotados, mesmo um de um [limite de gastos de gateway](/docs/pt/errors#spend-limit-reached) que reinicia em um cronograma. Antes da v2.1.239, o watchdog tentava novamente esses indefinidamente. Para solicitações de modo rápido, veja [Lidar com limites de taxa](/docs/pt/fast-mode#handle-rate-limits). O watchdog recua até 5 minutos entre tentativas, ou até o limite ser redefinido quando a resposta carrega um tempo de redefinição de limite de taxa, para que uma sessão que atinge um limite de uso aguarde a janela restante. Na v2.1.199 ou posterior, também aumenta a contagem de tentativas padrão para outros erros transitórios, como erros de servidor, timeouts e conexões descartadas, para 300, aproximadamente três horas de recuo, 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 |367| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | Idade máxima em milissegundos da última mensagem da transcrição para que uma sessão que terminou no meio de um turno continue automaticamente ao ser retomada. Quando a última mensagem é mais antiga que esse limite, o Claude Code pula a retomada automática de `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` e sua mensagem de continuação `CLAUDE_CODE_RESUME_PROMPT`, e a sessão inicia ociosa para que você continue explicitamente. Não definida ou `0` significa sem limite, exceto que um turno cuja última requisição falhou com um erro de API só é retomado enquanto esse erro tiver menos de seis horas. Um valor positivo limita todos os turnos, incluindo esses; um valor negativo ou não numérico aplica um limite de uma hora. Scripts de inicialização para agentes de longa duração podem definir isto para que uma reinicialização sobre uma transcrição antiga não execute novamente um prompt obsoleto. O Claude Code define por conta própria um limite de uma hora quando reinicia uma sessão do [agent view](/docs/pt/agent-view) que travou e herdou sua conversa de uma sessão interativa. Requer Claude Code v2.1.211 ou posterior |

368| `CLAUDE_CODE_SAFE_MODE` | Defina como `1` para iniciar em modo seguro: CLAUDE.md, skills, plugins, hooks, servidores MCP, comandos personalizados e agentes, estilos de saída, workflows, temas personalizados, atalhos de teclado personalizados, comandos de linha de status e sugestão de arquivo, servidores LSP e memória automática não carregam, para solução de problemas de uma configuração quebrada. A política de configurações gerenciadas ainda se aplica, incluindo hooks, linha de status e comandos de sugestão de arquivo configurados por política; plugins gerenciados, skills gerenciadas, CLAUDE.md gerenciado e servidores MCP configurados por política não. Equivalente a passar [`--safe-mode`](/docs/pt/cli-reference#cli-flags). Processos filhos diretamente gerados herdam a variável |368| `CLAUDE_CODE_RESUME_PROMPT` | Sobrescreve a mensagem de continuação que o Claude Code envia a Claude quando `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` continua um turno interrompido em vez de reenviar seu prompt, ou quando você retoma uma [chamada de ferramenta adiada](/docs/pt/hooks#defer-a-tool-call-for-later) com `-p`. O padrão é `Continue from where you left off.`. Uma string vazia usa o padrão |

369| `CLAUDE_CODE_SCRIPT_CAPS` | Objeto JSON limitando quantas vezes scripts específicos podem ser invocados por sessão quando `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` está definido. As chaves são substrings correspondidas contra o texto do comando; valores são limites de chamada inteiros. Por exemplo, `{"deploy.sh": 2}` permite que `deploy.sh` seja chamado no máximo duas vezes. A correspondência é baseada em substring para que truques de expansão de shell como `./scripts/deploy.sh $(evil)` ainda contem contra o limite. Fan-out em tempo de execução via `xargs` ou `find -exec` não é detectado; este é um controle de defesa em profundidade |369| `CLAUDE_CODE_RETRY_WATCHDOG` | Defina como `1` para sessões não supervisionadas, como harnesses de avaliação, jobs de CI ou workers remotos. Tenta novamente erros de capacidade `429` e `529` indefinidamente em vez de falhar após `CLAUDE_CODE_MAX_RETRIES` tentativas. O Claude Code falha imediatamente quando uma requisição de velocidade padrão recebe um `429` que informa um limite de gastos ou créditos de uso esgotados, mesmo um vindo de um [limite de gastos do gateway](/docs/pt/errors#spend-limit-reached) que é redefinido em um cronograma. Antes da v2.1.239, o watchdog tentava novamente esses casos indefinidamente. Para requisições do modo rápido, consulte [Lidar com rate limits](/docs/pt/fast-mode#handle-rate-limits). O watchdog aguarda até 5 minutos entre as tentativas, ou até que o limite seja redefinido quando a resposta traz um horário de redefinição do rate limit, 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 a contagem padrão de novas tentativas para outros erros transitórios, como erros de servidor, timeouts e conexões perdidas, para 300, cerca de três horas de espera, 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 |

370| `CLAUDE_CODE_SCROLL_SPEED` | Defina o multiplicador de rolagem de roda do mouse em [renderização em tela cheia](/docs/pt/fullscreen#mouse-wheel-scrolling). Aceita qualquer valor positivo até 20, incluindo valores fracionários abaixo de 1, como `0.5` para desacelerar rolagem de trackpad e roda amplificada em terminais que já amplificam eventos de roda. Defina como `3` para corresponder `vim` se seu terminal envia um evento de roda por entalhe sem amplificação. Ignorado no terminal IDE JetBrains, onde Claude Code usa seu próprio manuseio de rolagem |370| `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 a solução de problemas de uma configuração quebrada. A política das configurações gerenciadas ainda se aplica, incluindo hooks, linha de status e comandos de sugestão de arquivos configurados por política; plugins gerenciados, skills gerenciadas, CLAUDE.md gerenciado e servidores MCP configurados por política não. Equivalente a passar [`--safe-mode`](/docs/pt/cli-reference#cli-flags). Processos filhos iniciados diretamente herdam a variável |

371| `CLAUDE_CODE_SEND_FEEDBACK` | Defina como `0` para desativar [feedback redigido por Claude](/docs/pt/tools-reference#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 a si mesma, e os outros switches que desativam feedback, como `DISABLE_FEEDBACK_COMMAND` e o valor `off` da configuração [`feedbackDrafts`](/docs/pt/settings-reference#feedbackdrafts), ainda se aplicam |371| `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 expansão em tempo de execução via `xargs` ou `find -exec` não é detectada; este é um controle de defesa em profundidade |

372| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Substitua o orçamento de tempo em milissegundos para hooks [SessionEnd](/docs/pt/hooks#sessionend). O valor também é o timeout para cada hook que não define seu próprio `timeout`. Aplica-se à saída de sessão, `/clear` e alternância de sessões via `/resume` interativo. Por padrão, o orçamento é 1,5 segundos, automaticamente aumentado para o `timeout` por hook mais alto configurado em arquivos de configurações, até 60 segundos. Timeouts em hooks fornecidos por plugin não aumentam o orçamento |372| `CLAUDE_CODE_SCROLL_SPEED` | Define o multiplicador de rolagem da roda do mouse na [renderização em tela cheia](/docs/pt/fullscreen#mouse-wheel-scrolling). Aceita qualquer valor positivo até 20, incluindo valores fracionários abaixo de 1, como `0.5`, para desacelerar a rolagem acelerada do trackpad e da roda em terminais que já amplificam eventos da roda. Defina como `3` para corresponder ao `vim` se o seu terminal envia um evento da roda por entalhe sem amplificação. Ignorada no terminal das IDEs JetBrains, onde o Claude Code usa seu próprio tratamento de rolagem |

373| `CLAUDE_CODE_SESSION_ID` | Defina automaticamente para o ID da sessão atual em subprocessos de ferramenta Bash e PowerShell, subprocessos de [comando hook](/docs/pt/hooks) e subprocessos do servidor [MCP](/docs/pt/mcp) stdio. Para Bash, PowerShell e hooks, isso corresponde ao campo `session_id` na entrada JSON do hook e é atualizado em `/clear`. Um subprocesso do servidor MCP retém o ID com o qual foi gerado. Em `--resume <session-id>` recebe o ID retomado, correspondendo a hooks e Bash. Em `--continue` ou `--resume` sem um ID explícito pode receber o ID de inicialização inicial. Use para correlacionar scripts e ferramentas externas com a sessão Claude Code que os iniciou |373| `CLAUDE_CODE_SEND_FEEDBACK` | Defina como `0` para desativar o [feedback redigido por Claude](/docs/pt/tools-reference#sendfeedback-tool-behavior) em uma sessão. Defina como `1` para ativá-lo onde sua conta já tem acesso; a variável não pode conceder acesso por si só, e as outras opções que desativam o feedback, como `DISABLE_FEEDBACK_COMMAND` e o valor `off` da configuração [`feedbackDrafts`](/docs/pt/settings-reference#feedbackdrafts), ainda se aplicam |

374| `CLAUDE_CODE_SHELL` | Defina o shell que Claude Code usa para executar comandos de 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` funcionando, Claude Code o ignora e volta para auto-detecção. Auto-detecção usa seu `$SHELL` quando aponta para `bash` ou `zsh`, caso contrário escolhe o primeiro `zsh` funcionando e depois `bash` encontrado em seu `PATH` e locais de instalação padrão |374| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Sobrescreve o orçamento de tempo em milissegundos para hooks [SessionEnd](/docs/pt/hooks#sessionend). O valor também é o timeout para cada hook que não define seu próprio `timeout`. Aplica-se à saída da sessão, 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 em hooks fornecidos por plugins não elevam o orçamento |

375| `CLAUDE_CODE_SHELL_PREFIX` | Prefixo de comando que envolve comandos de shell que Claude Code gera: chamadas de ferramenta Bash, comandos [hook](/docs/pt/hooks), comandos [linha de status](/docs/pt/statusline) e comandos de inicialização do servidor [MCP](/docs/pt/mcp) stdio. Hooks de PowerShell e hooks de forma exec executam 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 com shell-quoted em `$1`, para que o wrapper deva re-avaliar `$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 de ferramenta Bash, `$1` contém a invocação de shell completa que Claude Code monta, incluindo configuração de ambiente, não apenas o comando que Claude executou |375| `CLAUDE_CODE_SESSION_ID` | Definida automaticamente com o ID da sessão atual em subprocessos das ferramentas Bash e PowerShell, subprocessos de [comandos de hook](/docs/pt/hooks) e subprocessos de [servidores MCP](/docs/pt/mcp) stdio. Para Bash, PowerShell e hooks, corresponde ao campo `session_id` na entrada JSON do hook e é atualizada em `/clear`. Um subprocesso de servidor MCP mantém o ID com o qual foi iniciado. Com `--resume <session-id>`, ele recebe o ID retomado, correspondendo aos hooks e ao Bash. Com `--continue` ou `--resume` sem um ID explícito, ele pode receber o ID da inicialização original em vez disso. Use para correlacionar scripts e ferramentas externas com a sessão do Claude Code que os iniciou |

376| `CLAUDE_CODE_SIMPLE` | Defina como `1` para executar com um prompt do sistema mínimo e apenas ferramentas Bash, leitura de arquivo e edição de arquivo. Ferramentas MCP de `--mcp-config` ainda estão disponíveis. Desabilita auto-descoberta 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 carregam. Tokens OAuth e credenciais de keychain não são lidos, para que autenticação Anthropic deva vir de `ANTHROPIC_API_KEY` ou um `apiKeyHelper` em `--settings`. Equivalente a passar [`--bare`](/docs/pt/headless#start-faster-with-bare-mode) |376| `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` e depois `bash` funcional encontrado no seu `PATH` e nos locais de instalação padrão |

377| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Defina como `1` para usar um prompt do sistema mais curto e descrições de ferramenta abreviadas em qualquer modelo. Defina como `0`, `false`, `no` ou `off` para desativar mesmo em modelos onde o experimento ou configuração do servidor a ativaria. O conjunto completo de ferramentas, descoberta de hooks, servidores MCP e CLAUDE.md permanecem ativados |377| `CLAUDE_CODE_SHELL_PREFIX` | Prefixo de comando que envolve os comandos de shell que o Claude Code inicia: chamadas da ferramenta Bash, comandos de [hook](/docs/pt/hooks), comandos da [linha de status](/docs/pt/statusline) e comandos de inicialização de [servidores MCP](/docs/pt/mcp) stdio. Hooks do PowerShell e hooks no formato exec são executados sem o prefixo. Útil para logging ou auditoria. Definir um caminho de executável simples, como `/path/to/logger.sh`, executa cada comando como `/path/to/logger.sh '<command>'`. O wrapper recebe a linha de comando como um único argumento entre aspas 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 completa do shell que o Claude Code monta, incluindo a configuração do ambiente, e não apenas o comando que Claude executou |

378| `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` | Pule autenticação do lado do cliente para [Claude Platform on AWS](/docs/pt/claude-platform-on-aws), para gateways que assinam solicitações a si mesmos |378| `CLAUDE_CODE_SIMPLE` | Defina como `1` para executar com um system prompt mínimo e apenas as ferramentas Bash, de leitura de arquivos e de edição de arquivos. As ferramentas MCP de `--mcp-config` continuam disponíveis. Desativa a descoberta automática de hooks, skills, comandos personalizados, subagentes, plugins instalados, servidores MCP, memória automática e CLAUDE.md. Skills em um diretório que você passa com `--add-dir` ainda são carregadas. Tokens OAuth e credenciais do keychain não são lidos, então a autenticação da Anthropic deve vir de `ANTHROPIC_API_KEY` ou de um `apiKeyHelper` em `--settings`. Equivalente a passar [`--bare`](/docs/pt/headless#start-faster-with-bare-mode) |

379| `CLAUDE_CODE_SKIP_AWS_CRED_CACHE` | Defina como `1` para desativar o cache em processo de credenciais resolvidas da cadeia de provedor de credenciais padrão AWS, para que Claude Code resolva a cadeia em cada solicitação de API. Com o cache desativado, um perfil apoiado por SSO solicita credenciais do IAM Identity Center em cada solicitação. Veja [cache de credenciais e timeout de resolução](/docs/pt/amazon-bedrock#credential-caching-and-resolution-timeout). Requer Claude Code v2.1.207 ou posterior |379| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Defina como `1` para usar um system prompt mais curto e descrições de ferramentas abreviadas em qualquer modelo. Defina como `0`, `false`, `no` ou `off` para desativar mesmo em modelos nos quais o experimento ou a configuração do servidor a ativaria. O conjunto completo de ferramentas, hooks, servidores MCP e a descoberta de CLAUDE.md permanecem ativados |

380| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | Pule autenticação AWS para Amazon Bedrock (por exemplo, ao usar um gateway LLM) |380| `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` | Pula a autenticação do lado do cliente para o [Claude Platform on AWS](/docs/pt/claude-platform-on-aws), para gateways que assinam as requisições por conta própria |

381| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` | Defina como `1` para tratar uma verificação de disponibilidade de [modo rápido](/docs/pt/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) falhada como disponível, para redes que bloqueiam a solicitação direta da verificação para `api.anthropic.com`. Claude Code ainda honra uma resposta "desabilitado pela sua organização" |381| `CLAUDE_CODE_SKIP_AWS_CRED_CACHE` | Defina como `1` para desativar o cache em processo das credenciais resolvidas a partir da cadeia padrão de provedores de credenciais da AWS, para que o Claude Code resolva a cadeia em toda requisição de API. Com o cache desativado, um perfil baseado em SSO solicita credenciais ao IAM Identity Center em toda requisição. Consulte [cache de credenciais e timeout de resolução](/docs/pt/amazon-bedrock#credential-caching-and-resolution-timeout). Requer Claude Code v2.1.207 ou posterior |

382| `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK` | Defina como `1` para pular a verificação de disponibilidade de [modo rápido](/docs/pt/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) do lado do cliente, para proxies que interceptam a solicitação da verificação em vez de recusá-la. A API ainda rejeita solicitações de modo rápido quando sua organização tem modo rápido desabilitado |382| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | Pula a autenticação da AWS para o Amazon Bedrock (por exemplo, ao usar um gateway de LLM) |

383| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | Pule autenticação Azure para Microsoft Foundry, para um proxy ou gateway que injeta seu próprio cabeçalho `Authorization`. Claude Code envia solicitações sem uma credencial Azure e preserva o cabeçalho `Authorization` que você fornece, por exemplo através de `ANTHROPIC_CUSTOM_HEADERS`. Ignorado quando `ANTHROPIC_FOUNDRY_API_KEY` ou `ANTHROPIC_FOUNDRY_AUTH_TOKEN` está definido. Antes da v2.1.203, essa variável deixava o cliente Microsoft Foundry incapaz de enviar solicitações a menos que uma chave de API também estivesse definida |383| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` | Defina como `1` para tratar uma verificação de disponibilidade do [modo rápido](/docs/pt/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) com falha como disponível, para redes que bloqueiam a requisição direta da verificação para `api.anthropic.com`. O Claude Code ainda respeita uma resposta "disabled by your organization" |

384| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | Pule autenticação AWS para Amazon Bedrock Mantle (por exemplo, ao usar um gateway LLM) |384| `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK` | Defina como `1` para pular a verificação de disponibilidade do [modo rápido](/docs/pt/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) 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 do modo rápido quando sua organização tem o modo rápido desativado |

385| `CLAUDE_CODE_SKIP_MODEL_ACCESS_MEMORY` | As [verificações de modelo de inicialização](/docs/pt/amazon-bedrock#startup-model-checks) em [Amazon Bedrock](/docs/pt/amazon-bedrock) e [Google Cloud's Agent Platform](/docs/pt/google-vertex-ai) lembram nesta máquina quais modelos encontraram que sua conta não pode invocar, por até um dia. Defina como `1` para desativar essa memória. Requer Claude Code v2.1.285 ou posterior |385| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | Pula 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 |

386| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | Defina como `1` para pular escrita de histórico de prompt e transcrições de sessão em disco. Sessões iniciadas com essa variável definida não aparecem em `--resume`, `--continue` ou histórico de seta para cima. Útil para sessões de script efêmeras |386| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | Pula a autenticação da AWS para o Amazon Bedrock Mantle (por exemplo, ao usar um gateway de LLM) |

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

388| `CLAUDE_CODE_STARTUP_FAILURE_RESULTS` | Defina como `1` para fazer uma sessão iniciada com `--output-format stream-json` escrever uma [mensagem de resultado nomeando por que Claude Code recusou iniciar](/docs/pt/agent-sdk/typescript#startup_failure_reason) para falhas de inicialização que de outra forma terminam apenas com stderr. Requer Claude Code v2.1.274 ou posterior |388| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | Defina como `1` para não gravar o histórico de prompts e as transcrições de sessão em disco. Sessões iniciadas com esta variável definida não aparecem em `--resume`, `--continue` nem no histórico da seta para cima. Útil para sessões efêmeras executadas por script |

389| `CLAUDE_CODE_STOP_HOOK_BLOCK_CAP` | Número máximo de vezes consecutivas que um hook [Stop](/docs/pt/hooks#stop) ou [SubagentStop](/docs/pt/hooks#subagentstop) pode bloquear o turno de terminar antes que Claude Code o substitua e termine o turno mesmo assim (padrão: 8). Defina como `0` para desabilitar o limite. Aumente isso se seu hook legitimamente precisa de mais iterações para resolver |389| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Pula a autenticação do Google para o Agent Platform do Google Cloud (por exemplo, ao usar um gateway de LLM) |

390| `CLAUDE_CODE_SUBAGENT_MODEL` | O modelo padrão para [subagentes](/docs/pt/sub-agents#choose-a-model), [equipe de agentes](/docs/pt/agent-teams#specify-teammates-and-models) companheiros e agentes de [workflow](/docs/pt/workflows) que não são atribuídos a um modelo de outra forma. Aceita um alias como `haiku` ou um nome de modelo completo. Duas fontes têm precedência sobre ele: um modelo que Claude passa quando gera o agente, e um campo `model` na definição do agente, incluindo `inherit`. Para mudar isso, defina [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE`](/docs/pt/sub-agents#run-every-subagent-on-one-model). Veja [Escolha um modelo](/docs/pt/sub-agents#choose-a-model) para a ordem completa. Defini-lo como `inherit` é o mesmo que deixá-lo não definido. Antes da v2.1.251, essa variável substituía tanto o modelo por invocação quanto o campo `model` da definição |390| `CLAUDE_CODE_STARTUP_FAILURE_RESULTS` | Defina como `1` para que uma sessão iniciada com `--output-format stream-json` grave uma [mensagem de resultado informando por que o Claude Code se recusou a iniciar](/docs/pt/agent-sdk/typescript#startup_failure_reason) para falhas de inicialização que, de outra forma, terminam apenas com stderr. Requer Claude Code v2.1.274 ou posterior |

391| `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` | Defina como `1` para forçar um modelo em subagentes, companheiros e agentes de workflow. [Executar cada subagente em um modelo](/docs/pt/sub-agents#run-every-subagent-on-one-model) diz qual modelo é. Requer Claude Code v2.1.257 ou posterior |391| `CLAUDE_CODE_STOP_HOOK_BLOCK_CAP` | Número máximo de vezes consecutivas que um hook [Stop](/docs/pt/hooks#stop) ou [SubagentStop](/docs/pt/hooks#subagentstop) pode impedir o término do turno antes que o Claude Code o sobrescreva e encerre o turno mesmo assim (padrão: 8). Defina como `0` para desativar o limite. Aumente-o se o seu hook legitimamente precisar de mais iterações para ser resolvido |

392| `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL` | Defina `5m` ou `1h`, os únicos valores que Claude Code aceita, para escolher o [TTL de cache de prompt](/docs/pt/prompt-caching#cache-lifetime) para solicitações fora da conversa principal, como [subagentes](/docs/pt/sub-agents), workflows e trabalho em segundo plano. Tem precedência sobre a configuração `subagentPromptCacheTtl` e sobre `ENABLE_PROMPT_CACHING_1H`, e `FORCE_PROMPT_CACHING_5M` a substitui. Escritas de cache de 1 hora são faturadas a uma taxa mais alta. Requer Claude Code v2.1.242 ou posterior |392| `CLAUDE_CODE_SUBAGENT_MODEL` | O modelo padrão para [subagentes](/docs/pt/sub-agents#choose-a-model), membros de [equipes de agentes](/docs/pt/agent-teams#specify-teammates-and-models) e agentes de [workflow](/docs/pt/workflows) que não recebem um modelo de outra forma. Aceita um alias como `haiku` ou um nome de modelo completo. Duas fontes têm precedência sobre ela: um modelo que Claude passa ao criar o agente e um campo `model` na definição do agente, incluindo `inherit`. Para mudar isso, defina [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE`](/docs/pt/sub-agents#run-every-subagent-on-one-model). Consulte [Escolher um modelo](/docs/pt/sub-agents#choose-a-model) para a ordem completa. Defini-la como `inherit` é o mesmo que deixá-la sem definição. Antes da v2.1.251, esta variável sobrescrevia tanto o modelo por invocação quanto o campo `model` da definição |

393| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Defina como `1` para remover credenciais de ambientes de subprocesso (ferramenta Bash, hooks, servidores MCP stdio): credenciais Anthropic e provedor de nuvem, qualquer outra variável que Claude Code reconhece como credencial e credenciais incorporadas em URLs de registro de pacotes. O processo Claude pai mantém essas credenciais para chamadas de API, mas processos filhos não podem lê-las, reduzindo exposição a ataques de injeção de prompt que tentam exfiltrar segredos via expansão de shell. Na v2.1.251 ou posterior, o scrub também remove variáveis de ponteiro de armazenamento de configuração próprio de Claude Code (como `CLAUDE_CONFIG_DIR`), para que um processo filho não possa localizar um diretório de configuração realocado. Deixe o scrub não definido se um subprocesso precisa dessas variáveis. No Linux, isso também executa subprocessos Bash em um namespace PID isolado para que não possam ler ambientes de processo host via `/proc`; como efeito colateral, `ps`, `pgrep` e `kill` não podem ver ou sinalizar processos host. `claude-code-action` define isso automaticamente quando `allowed_non_write_users` está configurado |393| `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` | Defina como `1` para forçar um único modelo em subagentes, membros de equipes e agentes de workflow. [Executar todos os subagentes em um modelo](/docs/pt/sub-agents#run-every-subagent-on-one-model) informa qual é esse modelo. Requer Claude Code v2.1.257 ou posterior |

394| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | Defina como `1` em modo não interativo (a flag `-p`) para aguardar a conclusão da instalação de plugin antes da primeira consulta. Sem isso, plugins instalam 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 |394| `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL` | Defina `5m` ou `1h`, os únicos valores que o Claude Code aceita, para escolher o [TTL do cache de prompt](/docs/pt/prompt-caching#cache-lifetime) para requisições fora da conversa principal, como [subagentes](/docs/pt/sub-agents), fluxos de trabalho e trabalho em segundo plano. Tem precedência sobre a configuração `subagentPromptCacheTtl` e sobre `ENABLE_PROMPT_CACHING_1H`, e `FORCE_PROMPT_CACHING_5M` a sobrescreve. A API cobra gravações de cache de 1 hora a uma taxa mais alta. Requer Claude Code v2.1.242 ou posterior |

395| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Timeout em milissegundos para instalação de plugin síncrono. Quando excedido, Claude Code prossegue sem plugins e registra um erro. Sem padrão: sem essa variável, instalação síncrona aguarda até conclusão |395| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Defina como `1` para remover credenciais dos ambientes de subprocessos (ferramenta Bash, hooks, servidores MCP stdio): credenciais da Anthropic e de provedores de nuvem, qualquer outra variável que o Claude Code reconheça como credencial e credenciais incorporadas em URLs de registros de pacotes. O processo pai do Claude mantém essas credenciais para chamadas de API, mas os processos filhos não podem lê-las, reduzindo a exposição a ataques de injeção de prompt que tentam exfiltrar segredos via expansão do shell. Na v2.1.251 ou posterior, a limpeza também remove as próprias variáveis do Claude Code que apontam para o armazenamento de configuração (como `CLAUDE_CONFIG_DIR`), para que um processo filho não consiga localizar um diretório de configuração realocado. Deixe a limpeza sem definição se um subprocesso precisar dessas variáveis. No Linux, isto também executa subprocessos Bash em um namespace de PID isolado para que não possam ler os ambientes de processos do host via `/proc`; como efeito colateral, `ps`, `pgrep` e `kill` não conseguem ver nem enviar sinais para processos do host. `claude-code-action` define isto automaticamente quando `allowed_non_write_users` está configurado |

396| `CLAUDE_CODE_SYNC_SKILLS` | Defina como `1` em modo não interativo com a flag `-p` para fazer Claude Code baixar as skills ativadas para sua conta claude.ai nessa execução e aguardar a lista delas, até `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS`, antes de executar a primeira consulta. Os downloads em si terminam em segundo plano, e Claude aguarda o download de uma skill quando a invoca. Requer autenticação claude.ai. Sessões de terminal onde você entra com sua conta claude.ai [baixam essas skills](/docs/pt/skills#where-synced-skills-load) em `~/.claude/skills/synced/` e ressincronizam aproximadamente a cada 10 minutos sem essa variável, para que a defina apenas quando uma execução `-p` precisa de suas skills atuais em sua primeira consulta. Antes da v2.1.273, sessões de terminal as baixavam apenas em uma execução `-p` com essa variável definida. O nome da pasta `synced` é [reservado para esse download](/docs/pt/skills#where-skills-live). Antes da v2.1.227, as skills baixavam em `~/.claude/skills/` diretamente. Claude Code aplica [regras extras às skills baixadas](/docs/pt/skills#how-synced-skills-behave), como não executar seus comandos `!` em sua máquina |396| `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 |

397| `CLAUDE_CODE_SYNC_SKILLS_INSTALL_TIMEOUT_MS` | Timeout em milissegundos para a ressincronização de skills que executa no meio da sessão quando um app construído no [Agent SDK](/docs/pt/agent-sdk/typescript#query-object) recarrega skills (padrão: 30000). Quando excedido, o recarregamento continua com quaisquer skills que chegaram, e os downloads restantes terminam em segundo plano |397| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Timeout em milissegundos para a instalação síncrona de plugins. Quando excedido, o Claude Code prossegue sem plugins e registra um erro em log. Sem padrão: sem esta variável, a instalação síncrona aguarda até a conclusão |

398| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | Timeout em milissegundos para a primeira consulta aguardar a lista de skills inicial quando `CLAUDE_CODE_SYNC_SKILLS` está definido (padrão: 5000). Quando excedido, a primeira consulta executa com quaisquer skills que chegaram. Os downloads terminam em segundo plano de qualquer forma, e Claude aguarda o download de uma skill quando a invoca |398| `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. Os downloads em si terminam em segundo plano, e Claude aguarda o download de uma skill quando a invoca. Requer autenticação do claude.ai. Sessões de terminal em que você faz login com sua conta do claude.ai [baixam essas skills](/docs/pt/skills#where-synced-skills-load) para `~/.claude/skills/synced/` e as ressincronizam a cada 10 minutos aproximadamente sem esta variável, então defina-a somente quando uma execução com `-p` precisar das suas skills atuais na primeira consulta. Antes da v2.1.273, as sessões de terminal as baixavam somente em uma execução com `-p` com esta variável definida. O nome da pasta `synced` é [reservado para esse download](/docs/pt/skills#where-skills-live). Antes da v2.1.227, as skills eram baixadas diretamente para `~/.claude/skills/`. O Claude Code aplica [regras extras às skills baixadas](/docs/pt/skills#how-synced-skills-behave), como não executar seus comandos `!` na sua máquina |

399| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | Defina como `false` para desabilitar destaque de sintaxe em saída de diff. Útil quando cores interferem com sua configuração de terminal. Para também desabilitar destaque em blocos de código e visualizações de arquivo, use a configuração [`syntaxHighlightingDisabled`](/docs/pt/settings-reference#syntaxhighlightingdisabled) |399| `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 app construído com o [Agent SDK](/docs/pt/agent-sdk/typescript#query-object) recarrega skills (padrão: 30000). Quando excedido, o recarregamento continua com as skills que já chegaram, e os downloads restantes terminam em segundo plano |

400| `CLAUDE_CODE_TASK_LIST_ID` | Compartilhe uma lista de tarefas entre sessões. Defina o mesmo ID em múltiplas instâncias de Claude Code para coordenar em uma lista de tarefas compartilhada, em [sessões que têm as ferramentas Task](/docs/pt/tools-reference#task-tool-availability). Veja [Lista de tarefas](/docs/pt/interactive-mode#task-list) |400| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | Timeout em milissegundos para a primeira consulta aguardar a lista inicial de skills quando `CLAUDE_CODE_SYNC_SKILLS` está definida (padrão: 5000). Quando excedido, a primeira consulta é executada com as skills que já chegaram. Os downloads terminam em segundo plano de qualquer forma, e Claude aguarda o download de uma skill quando a invoca |

401| `CLAUDE_CODE_TEAM_TEARDOWN_PARK_TIMEOUT_MS` | Substitua, em milissegundos, quanto tempo uma sessão não interativa aguarda na saída para sua [equipe de agentes](/docs/pt/agent-teams) terminar de desmontar. Aceita 1000 a 60000; um valor fora do intervalo é ignorado e o padrão de 10000 se aplica. Requer Claude Code v2.1.206 ou posterior |401| `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 também desativar o realce em blocos de código e pré-visualizações de arquivos, use a configuração [`syntaxHighlightingDisabled`](/docs/pt/settings-reference#syntaxhighlightingdisabled) |

402| `CLAUDE_CODE_TMPDIR` | Substitua o diretório temporário usado para arquivos temporários internos. Claude Code acrescenta `/claude-{uid}/` a esse caminho no Unix, ou `/claude/` no Windows. Padrão: `/tmp` no macOS, `os.tmpdir()` no Linux e Windows. No macOS e Linux, subprocessos Bash [sandboxed](/docs/pt/sandboxing) recebem um fallback `$TMPDIR` curto sob o padrão do sistema quando sua substituição é um caminho longo, já que algumas ferramentas falham quando caminhos temporários ficam muito longos. Comandos Bash não sandboxed herdam seu `$TMPDIR` de shell quando está definido. No Windows nativo, quando seu shell não define `$TMPDIR`, um comando Bash que referencia `$TMPDIR` recebe sua substituição, ou `%TEMP%` quando você não definiu uma. Os arquivos temporários próprios de Claude Code sempre usam sua substituição. Defina-o em seu shell, configurações de usuário ou configurações gerenciadas. Ignorado em [configurações de projeto e local](/docs/pt/settings-reference#variables-claude-code-ignores-in-env) |402| `CLAUDE_CODE_TASK_LIST_ID` | Compartilha uma lista de tarefas entre sessões. Defina o mesmo ID em várias instâncias do Claude Code para coordenar em uma lista de tarefas compartilhada, em [sessões que têm as ferramentas Task](/docs/pt/tools-reference#task-tool-availability). Consulte [Lista de tarefas](/docs/pt/interactive-mode#task-list) |

403| `CLAUDE_CODE_TMUX_TRUECOLOR` | Defina como qualquer valor não vazio, como `1`, para permitir saída truecolor de 24 bits dentro de tmux. **Defini-lo como `0` ou `false` ainda permite truecolor**, diferentemente da maioria das variáveis on/off; desconfigurar a variável para restaurar o limite de 256 cores. Por padrão, Claude Code limita a 256 cores quando `$TMUX` está definido porque tmux não passa sequências de escape truecolor a menos que configurado. Defina isso após adicionar `set -ga terminal-overrides ',*:Tc'` ao seu `~/.tmux.conf`. Veja [Configuração de terminal](/docs/pt/terminal-config) para outras configurações tmux |403| `CLAUDE_CODE_TEAM_TEARDOWN_PARK_TIMEOUT_MS` | Sobrescreve, em milissegundos, quanto tempo uma sessão não interativa aguarda na saída para que sua [equipe de agentes](/docs/pt/agent-teams) termine de ser desmontada. Aceita de 1000 a 60000; um valor fora do intervalo é ignorado e o padrão de 10000 se aplica. Requer Claude Code v2.1.206 ou posterior |

404| `CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE` | No Linux e WSL, defina como uma lista separada por vírgulas dos tipos de processos que Claude Code [exclui do limite de memória da ferramenta](/docs/pt/tools-reference#memory-limit-on-linux-and-wsl), como `mcp` ou `lsp`. Defina `none` para limitar cada tipo, ou `all-new` para limitar apenas comandos de ferramentas Bash, PowerShell e Monitor. Claude Code mantém comandos de ferramentas Bash, PowerShell e Monitor sob o limite qualquer que seja o que você liste. Requer Claude Code v2.1.246 ou posterior |404| `CLAUDE_CODE_TMPDIR` | Sobrescreve o diretório temporário usado para arquivos temporários internos. O Claude Code acrescenta `/claude-{uid}/` a este caminho no Unix, ou `/claude/` no Windows. Padrão: `/tmp` no macOS, `os.tmpdir()` no Linux e no Windows. No macOS e no Linux, subprocessos Bash em [sandbox](/docs/pt/sandboxing) recebem um `$TMPDIR` de fallback curto sob o padrão do sistema quando sua substituição é um caminho longo, já que algumas ferramentas falham quando os caminhos temporários ficam longos demais. Comandos Bash fora da sandbox herdam o `$TMPDIR` do seu shell quando ele está definido. No Windows nativo, quando seu shell não define `$TMPDIR`, um comando Bash que referencia `$TMPDIR` recebe sua substituição, ou `%TEMP%` quando você não definiu uma. Os próprios arquivos temporários do Claude Code sempre usam sua substituição. Defina-a no seu shell, nas configurações de usuário ou nas configurações gerenciadas. Ignorada nas [configurações de projeto e locais](/docs/pt/settings-reference#variables-claude-code-ignores-in-env) |

405| `CLAUDE_CODE_TOOL_MEMORY_LIMIT` | No Linux e WSL, defina como um tamanho como `4G` para [limitar a memória que comandos de ferramenta Bash e PowerShell podem usar](/docs/pt/tools-reference#memory-limit-on-linux-and-wsl), e comandos de 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. Uma vez que o primeiro processo que Claude Code inicia tenha ativado ou desativado o limite, um valor alterado tem efeito na próxima vez que você inicia `claude`. Requer Claude Code v2.1.233 ou posterior |405| `CLAUDE_CODE_TMUX_TRUECOLOR` | Defina com qualquer valor não vazio, como `1`, para permitir saída truecolor de 24 bits dentro do tmux. **Defini-la como `0` ou `false` ainda permite truecolor**, diferentemente da maioria das variáveis de ativar/desativar; remova a definição da variável para restaurar a restrição a 256 cores. Por padrão, o Claude Code restringe a 256 cores quando `$TMUX` está definida, porque o tmux não repassa sequências de escape truecolor a menos que seja configurado para isso. Defina isto depois de adicionar `set -ga terminal-overrides ',*:Tc'` ao seu `~/.tmux.conf`. Consulte [Configuração do terminal](/docs/pt/terminal-config) para outras configurações do tmux |

406| `CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS` | Prazo em milissegundos antes que Claude Code cancele um diálogo que encaminha para um cliente remoto, como um [Remote Control](/docs/pt/remote-control) ou host SDK, ou o diálogo de aprovação para uma [mensagem entre sessões retida](/docs/pt/cross-session-messaging#control-inbound-messages); prompts de permissão e perguntas `AskUserQuestion` usam seus próprios fluxos e não são governados por ele. No Claude Code v2.1.236 ou posterior, também limita o prompt de consentimento de créditos de uso [Fable](/docs/pt/model-config#fable-and-usage-credits) no meio da sessão em uma sessão que pode estar em execução sem supervisão. [Controlar mensagens de entrada](/docs/pt/cross-session-messaging#control-inbound-messages) e [sessões não interativas](/docs/pt/cross-session-messaging#non-interactive-sessions) cobrem as regras de expiração de mensagem retida completas, incluindo os casos onde o prazo não se aplica. Substitui a configuração [`dialogExpiry`](/docs/pt/settings-reference#dialogexpiry). `0` ou um valor negativo desabilita o prazo |406| `CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE` | No Linux e no WSL, defina com uma lista separada por vírgulas dos tipos de processos que o Claude Code [exclui do limite de memória das ferramentas](/docs/pt/tools-reference#memory-limit-on-linux-and-wsl), como `mcp` ou `lsp`. Defina `none` para limitar todos os tipos, ou `all-new` para limitar apenas 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 |

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

408| `CLAUDE_CODE_USE_BEDROCK` | Use [Amazon Bedrock](/docs/pt/amazon-bedrock) |408| `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 de [Remote Control](/docs/pt/remote-control) ou do SDK, ou a caixa de diálogo de aprovação de uma [mensagem entre sessões retida](/docs/pt/cross-session-messaging#control-inbound-messages); prompts de permissão e perguntas de `AskUserQuestion` usam seus próprios fluxos e não são regidos por ela. No Claude Code v2.1.236 ou posterior, também limita o [prompt de consentimento de créditos de uso do Fable](/docs/pt/model-config#fable-and-usage-credits) no meio da sessão em uma sessão que pode estar sendo executada sem supervisão. [Controlar mensagens de entrada](/docs/pt/cross-session-messaging#control-inbound-messages) e [sessões não interativas](/docs/pt/cross-session-messaging#non-interactive-sessions) abordam as regras completas de expiração de mensagens retidas, incluindo os casos em que o prazo não se aplica. Sobrescreve a configuração [`dialogExpiry`](/docs/pt/settings-reference#dialogexpiry). `0` ou um valor negativo desativa o prazo |

409| `CLAUDE_CODE_USE_FOUNDRY` | Use [Microsoft Foundry](/docs/pt/microsoft-foundry) |409| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | Usar o [Claude Platform on AWS](/docs/pt/claude-platform-on-aws) |

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

411| `CLAUDE_CODE_USE_NATIVE_FILE_SEARCH` | Defina como `1` para descobrir comandos personalizados, subagentes e estilos de saída usando APIs de arquivo Node.js em vez de ripgrep. Defina isso se o binário ripgrep agrupado não estiver disponível ou bloqueado em seu ambiente. Não afeta as ferramentas Grep ou busca de arquivo |411| `CLAUDE_CODE_USE_FOUNDRY` | Usar o [Microsoft Foundry](/docs/pt/microsoft-foundry) |

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

413| `CLAUDE_CODE_USE_VERTEX` | Use [Google Cloud's Agent Platform](/docs/pt/google-vertex-ai) |413| `CLAUDE_CODE_USE_NATIVE_FILE_SEARCH` | Defina como `1` para descobrir comandos personalizados, subagentes e estilos de saída usando as APIs de arquivos do Node.js em vez do ripgrep. Defina isto se o binário do ripgrep incluído não estiver disponível ou estiver bloqueado no seu ambiente. Não afeta as ferramentas Grep ou de busca de arquivos |

414| `CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS` | Defina como o número de milissegundos que [WebFetch](/docs/pt/tools-reference#webfetch-tool-behavior) mantém a resposta de cada URL buscada em cache. O padrão é `900000`, que é 15 minutos. Aceita apenas dígitos simples; `0`, um decimal ou qualquer outra grafia mantém o padrão. Claude Code lê o valor uma vez por lançamento, para que uma mudança em um bloco `env` de configurações se aplique quando você próximo inicia `claude`. Requer Claude Code v2.1.233 ou posterior |414| `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, Claude pode executar comandos do PowerShell nativamente em vez de roteá-los pelo Git Bash. Consulte [Ferramenta PowerShell](/docs/pt/tools-reference#powershell-tool) |

415| `CLAUDE_CODE_WEBFETCH_DEADLINE_MS` | Limite superior em milissegundos em quanto tempo [WebFetch](/docs/pt/tools-reference#webfetch-tool-behavior) aguarda uma página para baixar, incluindo qualquer redirecionamento que segue. Um download que não foi concluído até então falha com um erro de prazo. O padrão é `300000`, que é cinco minutos. Defina como `0` para remover o limite. Aceita apenas dígitos simples; um decimal ou qualquer outra grafia mantém o padrão. Requer Claude Code v2.1.268 ou posterior |415| `CLAUDE_CODE_USE_VERTEX` | Usar o [Agent Platform do Google Cloud](/docs/pt/google-vertex-ai) |

416| `CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS` | Quantos agentes uma execução de [workflow](/docs/pt/workflows) executa de uma vez, de `1` a `256`. Por padrão, uma execução executa até 16 agentes de uma vez, menos quando Claude Code tem menos CPUs disponíveis; chamadas `agent()` enfileiradas aguardam um slot livre. A transcrição de cada agente em execução fica na memória de Claude Code, para que valores mais altos aumentem 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 |416| `CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS` | Defina com o número de milissegundos que o [WebFetch](/docs/pt/tools-reference#webfetch-tool-behavior) mantém em cache a resposta de cada URL buscada. O padrão é `900000`, que corresponde a 15 minutos. Aceita apenas dígitos simples; `0`, um decimal ou qualquer outra grafia mantém o padrão. O Claude Code lê o valor uma vez por inicialização, então 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 |

417| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | Limite superior em milissegundos em quanto tempo um agente de [workflow](/docs/pt/workflows) aguarda a primeira resposta de um irmão com mesmo prefixo começar antes de enviar sua própria primeira solicitação. Quando um fan-out começa vários agentes que compartilham um [prefixo de cache de prompt](/docs/pt/workflows#prompt-caching-in-a-fan-out), Claude Code mantém todos exceto o primeiro agente por até esse tempo para que o resto leia o prefixo em cache em vez de cada um processá-lo sem cache. Padrão `5000`. Defina como `0` para desabilitar a espera. Quando `DISABLE_PROMPT_CACHING` está definido, agentes nunca aguardam. Requer Claude Code v2.1.229 ou posterior |417| `CLAUDE_CODE_WEBFETCH_DEADLINE_MS` | Limite superior em milissegundos de quanto tempo o [WebFetch](/docs/pt/tools-reference#webfetch-tool-behavior) aguarda o download de uma página, incluindo quaisquer redirecionamentos que ele siga. Um download que não tiver sido concluído até lá falha com um erro de prazo. O padrão é `300000`, que corresponde a cinco minutos. Defina como `0` para remover o limite. Aceita apenas dígitos simples; um decimal ou qualquer outra grafia mantém o padrão. Requer Claude Code v2.1.268 ou posterior |

418| `CLAUDE_CONFIG_DIR` | Substitua o diretório de configuração (padrão: `~/.claude`). Todas as configurações, histórico de sessão e plugins são armazenados sob esse caminho. Para credenciais, veja [onde Claude Code armazena credenciais](/docs/pt/authentication#credential-management). Útil para executar múltiplas contas lado a lado: por exemplo, `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`. Defina-o em seu shell, configurações de usuário ou configurações gerenciadas. Ignorado em [configurações de projeto e local](/docs/pt/settings-reference#variables-claude-code-ignores-in-env) |418| `CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS` | Quantos agentes uma única execução de [workflow](/docs/pt/workflows) executa ao mesmo tempo, de `1` a `256`. Por padrão, uma execução executa até 16 agentes ao mesmo tempo, menos quando o Claude Code tem menos CPUs disponíveis; chamadas `agent()` enfileiradas aguardam um espaço livre. A transcrição de cada agente em execução permanece na memória do Claude Code, então 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 |

419| `CLAUDE_DISABLE_ADOPT` | Defina como `1` para parar trabalho em segundo plano em voo em vez de carregá-lo quando você coloca uma sessão em segundo plano pressionando `←` ou com [`/background`](/docs/pt/agent-view#from-inside-a-session). Claude Code pede que você confirme antes de colocar em segundo plano, então para as tarefas que de outra forma seriam carregadas. Requer Claude Code v2.1.195 ou posterior |419| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | Limite superior, em milissegundos, de quanto tempo um agente de [workflow](/docs/pt/workflows) espera que a primeira resposta de um agente irmão com o mesmo prefixo comece antes de enviar sua própria primeira requisição. Quando um fan-out inicia vários agentes que compartilham um [prefixo de cache de prompt](/docs/pt/workflows#prompt-caching-in-a-fan-out), o Claude Code retém todos os agentes, exceto o primeiro, 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 |

420| `CLAUDE_EFFORT` | Definida automaticamente em subprocessos de ferramenta Bash e comandos hook para o nível de [esforço](/docs/pt/model-config#adjust-effort-level) em vigor quando o subprocesso começa: `low`, `medium`, `high`, `xhigh` ou `max`. Corresponde ao campo `effort.level` passado para [hooks](/docs/pt/hooks). Apenas definida quando o modelo atual suporta o parâmetro effort |420| `CLAUDE_CONFIG_DIR` | Sobrescreve o diretório de configuração (padrão: `~/.claude`). Todas as configurações, o histórico de sessões e os plugins são armazenados nesse caminho. Para credenciais, consulte [onde o Claude Code armazena credenciais](/docs/pt/authentication#credential-management). Útil para executar várias contas lado a lado: por exemplo, `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`. Defina-a no seu shell, nas configurações de usuário ou nas configurações gerenciadas. Ignorada nas [configurações de projeto e locais](/docs/pt/settings-reference#variables-claude-code-ignores-in-env) |

421| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Defina como `1` para forçar ativação do watchdog de inatividade de streaming em nível de byte, ou defina como `0` para forçar desativação. `0` também desativa o [prazo de primeiro byte](/docs/pt/network-config#streaming-idle-watchdogs) nas conexões onde esse prazo é executado. Quando não definido, o watchdog é ativado por padrão para conexões diretas da API Anthropic e [Claude Platform on AWS](/docs/pt/claude-platform-on-aws), e para respostas de streaming em conexões de [gateway](/docs/pt/gateways) alcançadas através de `ANTHROPIC_BASE_URL` ou `ANTHROPIC_AWS_BASE_URL`; antes da v2.1.222, não era executado nessas conexões de gateway, para que o watchdog em nível de evento pudesse relatar um travamento lá mesmo enquanto pings keep-alive chegavam. Para timeouts e como os timers interagem, veja [Watchdogs de inatividade de streaming](/docs/pt/network-config#streaming-idle-watchdogs) |421| `CLAUDE_DISABLE_ADOPT` | Defina como `1` para interromper o trabalho em segundo plano em andamento em vez de transferi-lo quando você coloca uma sessão em segundo plano pressionando `←` ou com [`/background`](/docs/pt/agent-view#from-inside-a-session). O Claude Code pede sua confirmação antes de colocar em segundo plano e, em seguida, interrompe as tarefas que seriam transferidas. Requer Claude Code v2.1.195 ou posterior |

422| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Defina como `1` para ativar o watchdog de inatividade de streaming em nível de byte em respostas `vnd.amazon.eventstream` do Amazon Bedrock, que também ativa o [prazo de primeiro byte](/docs/pt/network-config#streaming-idle-watchdogs) em solicitações de streaming do Bedrock. Desativado por padrão. Configure o timeout com `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |422| `CLAUDE_EFFORT` | Definida automaticamente em subprocessos da ferramenta Bash e em comandos de hook com o [nível de esforço](/docs/pt/model-config#adjust-effort-level) em vigor quando o subprocesso é iniciado: `low`, `medium`, `high`, `xhigh` ou `max`. Corresponde ao campo `effort.level` passado para os [hooks](/docs/pt/hooks). Definida apenas quando o modelo atual oferece suporte ao parâmetro de esforço |

423| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Defina como `0` para forçar desativação do watchdog de inatividade de streaming em nível de evento, ou defina como `1` para forçar ativação. Quando não definido, o watchdog está ativado por padrão para todos os provedores. Antes da v2.1.196, o padrão não definido era controlado pelo servidor na API Anthropic direta e desativado em outros provedores. Configure o timeout com `CLAUDE_STREAM_IDLE_TIMEOUT_MS`; para os outros timers de travamento que executam ao lado deste, veja [Watchdogs de inatividade de streaming](/docs/pt/network-config#streaming-idle-watchdogs) |423| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Defina como `1` para forçar a ativação do watchdog de inatividade de streaming em nível de byte, ou como `0` para forçar sua desativação. `0` também desativa o [prazo do primeiro byte](/docs/pt/network-config#streaming-idle-watchdogs) nas conexões em que esse prazo é executado. Quando não definida, o watchdog é ativado por padrão para conexões diretas com a API da Anthropic e com o [Claude Platform on AWS](/docs/pt/claude-platform-on-aws), e para respostas de streaming em conexões de [gateway](/docs/pt/gateways) alcançadas por meio de `ANTHROPIC_BASE_URL` ou `ANTHROPIC_AWS_BASE_URL`; antes da v2.1.222 ele não era executado nessas conexões de gateway, então o watchdog em nível de evento podia relatar um travamento ali mesmo enquanto pings de keep-alive estavam chegando. Para timeouts e como os temporizadores interagem, consulte [Watchdogs de inatividade de streaming](/docs/pt/network-config#streaming-idle-watchdogs) |

424| `CLAUDE_ENV_FILE` | Caminho para um script de shell cujo conteúdo Claude Code executa antes de cada comando Bash no mesmo processo de shell, para que exports no arquivo sejam visíveis ao comando. Use para persistir ativação de virtualenv ou conda entre comandos. Também preenchido dinamicamente por hooks [SessionStart](/docs/pt/hooks#persist-environment-variables), [Setup](/docs/pt/hooks#setup), [CwdChanged](/docs/pt/hooks#cwdchanged) e [FileChanged](/docs/pt/hooks#filechanged) |424| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Defina como `1` para ativar o watchdog de inatividade de streaming em nível de byte nas respostas `vnd.amazon.eventstream` do Amazon Bedrock, o que também ativa o [prazo do primeiro byte](/docs/pt/network-config#streaming-idle-watchdogs) nas requisições de streaming do Bedrock. Desativado por padrão. Configure o timeout com `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |

425| `CLAUDE_JOB_DIR` | Defina por Claude Code em cada [sessão em segundo plano](/docs/pt/agent-view) para o diretório `~/.claude/jobs/<id>` dessa sessão. Comandos de shell que a sessão executa o herdam. Escreva arquivos de rascunho para [`$CLAUDE_JOB_DIR/tmp`](/docs/pt/agent-view#where-state-is-stored). Chamadas `Write` e `Edit` de Claude lá não solicitam permissão, e o diretório é removido quando a sessão é excluída |425| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Defina como `0` para forçar a desativação do watchdog de inatividade de streaming em nível de evento, ou como `1` para forçar sua ativação. Quando não definida, o watchdog fica ativado por padrão para todos os provedores. Antes da v2.1.196, o padrão sem definição era controlado pelo servidor na API direta da Anthropic e desativado nos outros provedores. Configure o timeout com `CLAUDE_STREAM_IDLE_TIMEOUT_MS`; para os outros temporizadores de travamento que são executados junto com este, consulte [Watchdogs de inatividade de streaming](/docs/pt/network-config#streaming-idle-watchdogs) |

426| `CLAUDE_PID` | Claude Code define isso para seu próprio ID de processo nos subprocessos que gera: comandos de ferramenta Bash e PowerShell e comandos hook. No Linux, a integração de shell da ferramenta Bash o usa para recusar um padrão `pkill` que corresponderia ao próprio processo Claude Code; veja [a referência de erro](/docs/pt/errors#pkill-pattern-matches-the-claude-code-process). Leia-o de seus próprios scripts para identificar ou sinalizar o processo Claude Code pai deliberadamente. Requer Claude Code v2.1.214 ou posterior |426| `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 manter a ativação de virtualenv ou conda entre comandos. Também é preenchida dinamicamente pelos hooks [SessionStart](/docs/pt/hooks#persist-environment-variables), [Setup](/docs/pt/hooks#setup), [CwdChanged](/docs/pt/hooks#cwdchanged) e [FileChanged](/docs/pt/hooks#filechanged) |

427| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | Prefixo para nomes de sessão [Remote Control](/docs/pt/remote-control) gerados automaticamente quando nenhum nome explícito é fornecido. Padrão é o nome de host da sua máquina, produzindo nomes como `myhost-graceful-unicorn`. A flag CLI `--remote-control-session-name-prefix` define o mesmo valor para uma única invocação |427| `CLAUDE_JOB_DIR` | Definida pelo Claude Code em cada [sessão em segundo plano](/docs/pt/agent-view) com o diretório `~/.claude/jobs/<id>` dessa sessão. Os comandos de shell que a sessão executa a herdam. Grave arquivos temporários em [`$CLAUDE_JOB_DIR/tmp`](/docs/pt/agent-view#where-state-is-stored). As chamadas `Write` e `Edit` do Claude nesse local não pedem permissão, e o diretório é removido quando a sessão é excluída |

428| `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` | Prazo em milissegundos para o primeiro byte de resposta de uma solicitação de streaming, nas conexões onde o [prazo de primeiro byte](/docs/pt/network-config#streaming-idle-watchdogs) é executado. Para como Claude Code o limita, o tempo extra que adiciona para corpos de solicitação grandes e como escolhe o prazo quando você deixa isso não definido, veja [Nenhuma resposta da API](/docs/pt/errors#no-response-from-api). Requer Claude Code v2.1.242 ou posterior |428| `CLAUDE_PID` | O Claude Code define esta variável com o ID do seu próprio processo nos subprocessos que ele cria: comandos das ferramentas Bash e PowerShell e comandos de hook. No Linux, a integração de shell da ferramenta Bash a usa para recusar um padrão de `pkill` que corresponderia ao próprio processo do Claude Code; consulte [a referência de erros](/docs/pt/errors#pkill-pattern-matches-the-claude-code-process). Leia-a nos seus próprios scripts para identificar ou sinalizar deliberadamente o processo pai do Claude Code. Requer Claude Code v2.1.214 ou posterior |

429| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Timeout em milissegundos antes que os watchdogs de inatividade de streaming em nível de evento e byte fechem uma conexão travada. Quando você define essa variável explicitamente, o mínimo é `300000` (5 minutos); valores mais baixos são silenciosamente limitados para absorver pausas de pensamento estendido e buffering de proxy, e o watchdog em nível de byte limita o valor a 30 minutos. `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` tem precedência sobre essa variável para o watchdog em nível de byte. Para os padrões não definidos por watchdog, veja [Watchdogs de inatividade de streaming](/docs/pt/network-config#streaming-idle-watchdogs) |429| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | Prefixo para nomes de sessão do [Remote Control](/docs/pt/remote-control) gerados automaticamente quando nenhum nome explícito é fornecido. O padrão é o hostname da sua máquina, produzindo nomes como `myhost-graceful-unicorn`. A flag de CLI `--remote-control-session-name-prefix` define o mesmo valor para uma única invocação |

430| `CLAUDE_SUBAGENT_BG_SHELL_MAX_MS` | Removido na v2.1.260 e agora é um no-op. Anteriormente limitava quanto tempo um [comando de shell em segundo plano](/docs/pt/interactive-mode#background-bash-commands) que um [subagente](/docs/pt/sub-agents) iniciou poderia executar, em milissegundos, com um padrão de 60 minutos. Veja [as regras de tempo de vida de comando em segundo plano](/docs/pt/tools-reference#background-commands) |430| `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` | Prazo, em milissegundos, para o primeiro byte de resposta de uma requisição de streaming, nas conexões em que o [prazo do primeiro byte](/docs/pt/network-config#streaming-idle-watchdogs) é executado. 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 definição, consulte [Nenhuma resposta da API](/docs/pt/errors#no-response-from-api). Requer Claude Code v2.1.242 ou posterior |

431| `DEBUG` | Defina como `1` para ativar modo de depuração, equivalente a iniciar com [`--debug`](/docs/pt/cli-reference#cli-flags). Logs de depuração são escritos em `~/.claude/debug/<session-id>.txt`, ou no caminho definido por `CLAUDE_CODE_DEBUG_LOGS_DIR`. Apenas os valores truthy `1`, `true`, `yes` e `on` ativam modo de depuração, para que padrões de namespace como `DEBUG=express:*` definidos para outras ferramentas não o acionem |431| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Timeout em milissegundos antes que os watchdogs de inatividade de streaming em nível de evento e de byte fechem uma conexão travada. Quando você define esta variável explicitamente, o mínimo é `300000` (5 minutos); valores menores são ajustados silenciosamente para absorver pausas de pensamento estendido e buffering de proxy, e o watchdog em nível de byte limita o valor a 30 minutos. `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` tem precedência sobre esta variável para o watchdog em nível de byte. Para os padrões sem definição de cada watchdog, consulte [Watchdogs de inatividade de streaming](/docs/pt/network-config#streaming-idle-watchdogs) |

432| `DISABLE_AUTOUPDATER` | Defina como `1` para desabilitar atualizações automáticas em segundo plano. Manual `claude update` ainda funciona. Use `DISABLE_UPDATES` para bloquear ambos |432| `CLAUDE_SUBAGENT_BG_SHELL_MAX_MS` | Removida na v2.1.260 e agora sem efeito. Anteriormente limitava, em milissegundos, por quanto tempo um [comando de shell em segundo plano](/docs/pt/interactive-mode#background-bash-commands) iniciado por um [subagente](/docs/pt/sub-agents) podia ser executado, com padrão de 60 minutos. Consulte [as regras de tempo de vida de comandos em segundo plano](/docs/pt/tools-reference#background-commands) |

433| `DISABLE_AUTO_COMPACT` | Defina como `1` para desabilitar compactação automática ao se aproximar do limite de contexto. O comando manual `/compact` permanece disponível. Use quando você quer controle explícito sobre quando a compactação ocorre. Substitui a configuração [`autoCompactEnabled`](/docs/pt/settings-reference#autocompactenabled) |433| `DEBUG` | Defina como `1` para ativar o modo de depuração, equivalente a iniciar com [`--debug`](/docs/pt/cli-reference#cli-flags). Os logs de depuração são gravados em `~/.claude/debug/<session-id>.txt` ou no caminho definido por `CLAUDE_CODE_DEBUG_LOGS_DIR`. Somente os valores verdadeiros `1`, `true`, `yes` e `on` ativam o modo de depuração, então padrões de namespace como `DEBUG=express:*` definidos para outras ferramentas não o acionam |

434| `DISABLE_COMPACT` | Defina como `1` para desabilitar toda compactação: tanto compactação automática quanto o comando manual `/compact` |434| `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 |

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

436| `DISABLE_DOCTOR_COMMAND` | Defina como `1` para ocultar a skill [`/doctor`](/docs/pt/commands#all-commands) de verificação de configuração e seu alias `/checkup`. Útil para implantações gerenciadas onde usuários não devem executar diagnósticos de configuração de uma sessão. Não afeta o comando de terminal `claude doctor`. Antes da v2.1.205, essa variável ocultava a tela de diagnósticos `/doctor` |436| `DISABLE_COMPACT` | Defina como `1` para desativar toda a compactação: tanto a compactação automática quanto o comando manual `/compact` |

437| `DISABLE_ERROR_REPORTING` | Defina como qualquer valor não vazio, como `1`, para desativar relatório de erros. **Defini-lo como `0` ou `false` ainda desativa**, diferentemente da maioria das variáveis on/off; desconfigurar a variável para ativar relatório de erros novamente |437| `DISABLE_COST_WARNINGS` | Defina como `1` para desativar as mensagens de aviso de custo |

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

439| `DISABLE_FEEDBACK_COMMAND` | Defina como `1` para desabilitar o comando `/feedback` e [feedback redigido por Claude](/docs/pt/tools-reference#sendfeedback-tool-behavior). Também desabilita `/bug` e `/share`, que relatam através do mesmo caminho; antes da v2.1.212, eram aliases de `/feedback`, para que o comando fosse desabilitado sob cada nome. O nome mais antigo `DISABLE_BUG_COMMAND` também é aceito |439| `DISABLE_ERROR_REPORTING` | Defina com 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 |

440| `DISABLE_GROWTHBOOK` | Defina como `1` ou `true` para desabilitar busca de sinalizador de recurso GrowthBook e usar padrões de código para cada sinalizador. Isso torna [Remote Control](/docs/pt/remote-control#requirements) e os outros [recursos que precisam de busca de sinalizador de recurso](#features-that-need-feature-flag-fetching) indisponíveis. Defini-lo como `0` ou `false` deixa a busca ativada. Logging de evento de telemetria permanece ativado a menos que `DISABLE_TELEMETRY` também esteja definido |440| `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 |

441| `DISABLE_INSTALLATION_CHECKS` | Defina como `1` para desabilitar avisos de instalação. Use apenas ao gerenciar manualmente o local de instalação, pois isso pode mascarar problemas com instalações padrão |441| `DISABLE_FEEDBACK_COMMAND` | Defina como `1` para desativar o comando `/feedback` e o [feedback redigido pelo Claude](/docs/pt/tools-reference#sendfeedback-tool-behavior). Também desativa `/bug` e `/share`, que enviam relatórios pelo mesmo caminho; antes da v2.1.212 eles eram aliases de `/feedback`, então o comando era desativado com todos os nomes. O nome antigo `DISABLE_BUG_COMMAND` também é aceito |

442| `DISABLE_INSTALL_GITHUB_APP_COMMAND` | Defina como `1` para ocultar o comando `/install-github-app`. Já oculto ao usar provedores de terceiros (Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry) |442| `DISABLE_GROWTHBOOK` | Defina como `1` ou `true` para desativar a busca de feature flags do GrowthBook e usar os padrões do código para todas as flags. Isso torna indisponíveis o [Remote Control](/docs/pt/remote-control#requirements) e os outros [recursos que precisam da busca de feature flags](#features-that-need-feature-flag-fetching). Defini-la como `0` ou `false` mantém a busca ativada. O registro de eventos de telemetria permanece ativado, a menos que `DISABLE_TELEMETRY` também esteja definida |

443| `DISABLE_INTERLEAVED_THINKING` | Defina como `1` para evitar enviar o cabeçalho beta de pensamento intercalado. Útil quando seu gateway LLM ou provedor não suporta [pensamento intercalado](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) |443| `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 |

444| `DISABLE_LOGIN_COMMAND` | Defina como `1` para ocultar o comando `/login`. Útil quando a autenticação é tratada externamente via chaves de API ou `apiKeyHelper` |444| `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) |

445| `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 ao [pensamento intercalado](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) |

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

445| `DISABLE_LOGOUT_COMMAND` | Defina como `1` para ocultar o comando `/logout` |447| `DISABLE_LOGOUT_COMMAND` | Defina como `1` para ocultar o comando `/logout` |

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

447| `DISABLE_PROMPT_CACHING_FABLE` | Defina como `1` para desabilitar cache de prompt para modelos Fable |449| `DISABLE_PROMPT_CACHING_FABLE` | Defina como `1` para desativar o cache de prompt para os modelos Fable |

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

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

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

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

452| `DISABLE_UPDATES` | Defina como `1` para bloquear todas as atualizações, incluindo manual `claude update` e `claude install`. Mais rigoroso que `DISABLE_AUTOUPDATER`. Use ao distribuir Claude Code através de seus próprios canais e usuários não devem auto-atualizar |454| `DISABLE_UPDATES` | Defina como `1` para bloquear todas as atualizações, incluindo `claude update` e `claude install` manuais. Mais rigorosa que `DISABLE_AUTOUPDATER`. Use ao distribuir o Claude Code pelos seus próprios canais quando os usuários não devem se autoatualizar |

453| `DISABLE_UPGRADE_COMMAND` | Defina como `1` para ocultar o comando `/upgrade` |455| `DISABLE_UPGRADE_COMMAND` | Defina como `1` para ocultar o comando `/upgrade` |

454| `DO_NOT_TRACK` | Defina como `1` para desativar telemetria, com o mesmo efeito que `DISABLE_TELEMETRY`, incluindo em [busca de sinalizador de recurso](#features-that-need-feature-flag-fetching). Claude Code lê essa variável como um booleano padrão, para que `0` deixe telemetria ativada e a honre como a convenção entre ferramentas reconhecida por muitos CLIs de desenvolvedor |456| `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, então `0` mantém a telemetria ativada, e a respeita como a convenção entre ferramentas reconhecida por muitas CLIs de desenvolvedor |

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

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

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

458| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Descontinuado. Use `ENABLE_PROMPT_CACHING_1H` |460| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Descontinuada. Use `ENABLE_PROMPT_CACHING_1H` em vez disso |

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

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

461| `FORCE_AUTOUPDATE_PLUGINS` | Defina como `1` para forçar auto-atualizações de plugin mesmo quando o auto-atualizador principal está desabilitado via `DISABLE_AUTOUPDATER` |463| `FORCE_AUTOUPDATE_PLUGINS` | Defina como `1` para forçar as atualizações automáticas de plugins mesmo quando o atualizador automático principal estiver desativado via `DISABLE_AUTOUPDATER` |

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

463| `FORCE_PROMPT_CACHING_5M` | Defina como `1` para forçar o TTL de cache de prompt de 5 minutos mesmo quando TTL de 1 hora se aplicaria. Substitui `CLAUDE_CODE_PROMPT_CACHE_TTL`, `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, `ENABLE_PROMPT_CACHING_1H` e as configurações `promptCacheTtl` e `subagentPromptCacheTtl` |465| `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` |

464| `HTTP_PROXY` | Especifique servidor proxy HTTP para conexões de rede |466| `HTTP_PROXY` | Especifica o servidor proxy HTTP para conexões de rede |

465| `HTTPS_PROXY` | Especifique servidor proxy HTTPS para conexões de rede |467| `HTTPS_PROXY` | Especifica o servidor proxy HTTPS para conexões de rede |

466| `IS_DEMO` | Defina como qualquer valor não vazio, como `1`, para ativar modo demo: oculta seu email e nome da organização do cabeçalho e saída `/status`, e pula onboarding. **Defini-lo como `0` ou `false` ainda ativa modo demo**, diferentemente da maioria das variáveis on/off; desconfigurar a variável para desativá-lo. Útil ao fazer streaming ou gravar uma sessão |468| `IS_DEMO` | Defina com 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 |

467| `MAX_MCP_OUTPUT_TOKENS` | Número máximo de tokens permitidos em respostas de ferramenta MCP. Claude Code exibe um aviso quando a saída excede 10.000 tokens. Ferramentas que declaram [`anthropic/maxResultSizeChars`](/docs/pt/mcp#raise-the-limit-for-a-specific-tool) usam esse limite de caracteres para conteúdo de texto, mas conteúdo de imagem dessas ferramentas ainda está sujeito a essa variável (padrão: 25000) |469| `MAX_MCP_OUTPUT_TOKENS` | Número máximo de tokens permitidos nas respostas de ferramentas MCP. O Claude Code exibe um aviso quando a saída excede 10.000 tokens. Ferramentas que declaram [`anthropic/maxResultSizeChars`](/docs/pt/mcp#raise-the-limit-for-a-specific-tool) usam esse limite de caracteres para o conteúdo de texto, mas o conteúdo de imagem dessas ferramentas continua sujeito a esta variável (padrão: 25000) |

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

469| `MAX_THINKING_TOKENS` | Orçamento de token fixo para [pensamento estendido](https://platform.claude.com/docs/en/build-with-claude/extended-thinking). Claude Code o limita a um token abaixo dos tokens de saída máxima da solicitação e nunca abaixo de 1.024. Veja `CLAUDE_CODE_MAX_OUTPUT_TOKENS` para como esse limite é definido. Quando não definido e pensamento está ativado, modelos com [raciocínio adaptativo](/docs/pt/model-config#adjust-effort-level) escolhem sua própria profundidade de pensamento, e outros modelos usam o limite. Defina como `0` para desabilitar pensamento na API Anthropic, exceto em Opus 5.5, Sonnet 5.5 e os modelos Fable, que não podem ter pensamento desativado. Em [provedores de terceiros](/docs/pt/third-party-integrations), `0` omite o parâmetro `thinking`. Com pensamento desativado na API Anthropic, Claude Code envia esforço `high` em vez de um nível mais alto para modelos que sabe [não aceitam essa combinação](/docs/pt/errors#effort-isnt-available-with-thinking-turned-off), como Opus 5. Claude Code ignora valores não zero em modelos de raciocínio adaptativo, exceto nos modelos onde `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` desativa raciocínio adaptativo |471| `MAX_THINKING_TOKENS` | Orçamento fixo de tokens para o [pensamento estendido](https://platform.claude.com/docs/en/build-with-claude/extended-thinking). O Claude Code o limita a um token abaixo do máximo de tokens de saída da requisição e nunca abaixo de 1.024. Consulte `CLAUDE_CODE_MAX_OUTPUT_TOKENS` para saber como esse limite é definido. Quando não definida e o pensamento está ativado, os modelos com [raciocínio adaptativo](/docs/pt/model-config#adjust-effort-level) escolhem a 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 e nos modelos Fable, que não permitem desativar o pensamento. Em [provedores de terceiros](/docs/pt/third-party-integrations), `0` omite o parâmetro `thinking`. Com o pensamento desativado na API da Anthropic, o Claude Code envia o esforço `high` em vez de um nível mais alto para modelos que ele sabe que [não aceitam essa combinação](/docs/pt/errors#effort-isnt-available-with-thinking-turned-off), como o Opus 5. O Claude Code ignora valores diferentes de zero em modelos de raciocínio adaptativo, exceto nos modelos em que `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` desativa o raciocínio adaptativo |

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

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

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

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

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

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

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

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

478| `MCP_PROTOCOL_NEGOTIATION` | No [runtime do cliente MCP v2](/docs/pt/mcp#mcp-client-runtimes) apenas, se Claude Code sonda servidores para revisão de protocolo MCP 2026-07-28. Defina `auto` para sondar servidores HTTP, conector claude.ai e stdio; um servidor que não responde à sonda se conecta no protocolo anterior, como servidores SSE e WebSocket sempre fazem. Defina `legacy` para pular a sonda para cada servidor. Sem a variável, Claude Code sonda servidores HTTP, e também sonda servidores conector claude.ai em sessões onde [busca sinalizadores de recurso](#features-that-need-feature-flag-fetching). Qualquer outro valor é ignorado com um aviso no log de depuração. Requer Claude Code v2.1.221 ou posterior |480| `MCP_PROTOCOL_NEGOTIATION` | Somente no [runtime de cliente MCP v2](/docs/pt/mcp#mcp-client-runtimes), define se o Claude Code sonda os servidores em busca da revisão de protocolo MCP 2026-07-28. Defina `auto` para sondar servidores HTTP, de conectores do claude.ai e stdio; um servidor que não responde à sondagem se conecta pelo protocolo anterior, como os servidores SSE e WebSocket sempre fazem. Defina `legacy` para pular a sondagem para todos os servidores. Sem a variável, o Claude Code sonda servidores HTTP e também sonda servidores de conectores do claude.ai em sessões em que [busca feature flags](#features-that-need-feature-flag-fetching). Qualquer outro valor é ignorado com um aviso no log de depuração. Requer Claude Code v2.1.221 ou posterior |

479| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | Número máximo de servidores MCP remotos (HTTP/SSE) para conectar em paralelo durante a inicialização (padrão: 20) |481| `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) |

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

481| `MCP_SERVER_CONNECTION_BATCH_SIZE` | Número máximo de servidores MCP locais (stdio) para conectar em paralelo durante a inicialização (padrão: 3) |483| `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) |

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

483| `MCP_TOOL_TIMEOUT` | Timeout em milissegundos para execução de ferramenta MCP (padrão: 100000000, aproximadamente 28 horas). Para um servidor HTTP, SSE ou conector claude.ai, cada solicitação também expira após 60 segundos por padrão; defina essa variável ou o `timeout` por servidor acima de 60000 para aumentar esse limite por solicitação. Um valor mais baixo ainda encurta o timeout geral de execução de ferramenta mas deixa o limite por solicitação em 60 segundos. Servidores stdio e WebSocket não têm timer por solicitação. Um campo `timeout` por servidor em `.mcp.json` substitui isso para esse servidor. Um `timeout` por servidor de pelo menos 1000 também define a janela de inatividade mínima para chamadas de ferramenta desse servidor, para que `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` nunca as aborte mais cedo; este piso requer Claude Code v2.1.203 ou posterior. Para a variável env, valores abaixo de 1000 são limitados a um segundo; para o campo por servidor, valores abaixo de 1000 são ignorados |485| `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 inatividade para as chamadas de ferramenta desse servidor, para que `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` nunca as aborte 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 |

484| `NO_PROXY` | Lista de domínios e IPs para os quais as solicitações serão emitidas diretamente, contornando proxy |486| `NO_PROXY` | Lista de domínios e IPs para os quais as requisições serão enviadas diretamente, ignorando o proxy |

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

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

487| `OTEL_LOG_MANAGED_SETTINGS` | Defina como `1` para adicionar as configurações gerenciadas redatadas e um resumo SHA-256 das configurações antes da redação aos eventos de log OpenTelemetry `managed_settings_resolved`. Desabilitado por padrão. Defina-o em seu shell, configurações de usuário ou configurações gerenciadas; um valor em configurações de projeto ou local não o ativa. Requer Claude Code v2.1.274 ou posterior. Veja [Monitoramento](/docs/pt/monitoring-usage#managed-settings-resolved-event) |489| `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 do OpenTelemetry `managed_settings_resolved`. Desativada por padrão. Defina-a no seu shell, nas configurações de usuário ou nas configurações gerenciadas; um valor nas configurações de projeto ou locais não a ativa. Requer Claude Code v2.1.274 ou posterior. Consulte [Monitoramento](/docs/pt/monitoring-usage#managed-settings-resolved-event) |

488| `OTEL_LOG_RAW_API_BODIES` | Emita JSON de solicitação e resposta da API Anthropic Messages 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 escrever corpos não truncados em disco e emitir um caminho `body_ref`. `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` configura o limite de conteúdo, 60 KB por padrão. Desabilitado por padrão; corpos incluem todo o histórico de conversa. Defina-o em seu shell, configurações de usuário ou configurações gerenciadas. Ignorado em [configurações de projeto e local](/docs/pt/settings-reference#variables-claude-code-ignores-in-env). Veja [Monitoramento](/docs/pt/monitoring-usage#api-request-body-event) |490| `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 não truncados em disco e emitir um caminho `body_ref`. `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` configura o limite de conteúdo, 60 KB por padrão. Desativada por padrão; os corpos incluem todo o histórico da conversa. Defina-a no seu shell, nas configurações de usuário ou nas configurações gerenciadas. Ignorada nas [configurações de projeto e locais](/docs/pt/settings-reference#variables-claude-code-ignores-in-env). Consulte [Monitoramento](/docs/pt/monitoring-usage#api-request-body-event) |

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

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

491| `OTEL_LOG_USER_PROMPTS` | Defina como `1` para incluir texto de prompt do usuário em rastreamentos e logs OpenTelemetry. Desabilitado por padrão (prompts são redatados). Defina-o em seu shell, configurações de usuário ou configurações gerenciadas. Ignorado em [configurações de projeto e local](/docs/pt/settings-reference#variables-claude-code-ignores-in-env), além dos valores desativados que essa seção descreve. Veja [Monitoramento](/docs/pt/monitoring-usage) |493| `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 nas [configurações de projeto e locais](/docs/pt/settings-reference#variables-claude-code-ignores-in-env), exceto pelos valores de desativação descritos nessa seção. Consulte [Monitoramento](/docs/pt/monitoring-usage) |

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

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

494| `OTEL_METRICS_INCLUDE_REPOSITORY` | Defina como `true` para marcar métricas e eventos OpenTelemetry com atributos `vcs.*` identificando o repositório da sessão (padrão: excluído). Requer Claude Code v2.1.269 ou posterior. Veja [Atributos de repositório](/docs/pt/monitoring-usage#repository-attributes) |496| `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](/docs/pt/monitoring-usage#repository-attributes) |

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

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

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

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

499| `TASK_MAX_OUTPUT_LENGTH` | Removido na v2.1.277 e agora é um no-op, junto com a ferramenta `TaskOutput` que dimensionava. Anteriormente definia o número máximo de caracteres de saída de uma [tarefa em segundo plano](/docs/pt/tools-reference#background-commands) que a ferramenta `TaskOutput` mantinha. Claude lê a saída de uma tarefa em segundo plano com `Read` |501| `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](/docs/pt/tools-reference#background-commands) que a ferramenta `TaskOutput` mantinha. O Claude agora lê o arquivo de saída de uma tarefa em segundo plano com `Read` |

500| `USE_BUILTIN_RIPGREP` | Defina como `0` para usar `rg` instalado no sistema em vez de `rg` incluído com Claude Code |502| `USE_BUILTIN_RIPGREP` | Defina como `0` para usar o `rg` instalado no sistema em vez do `rg` incluído no Claude Code |

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

520 522 

521Variáveis de exportador OpenTelemetry padrão (`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. Veja [Monitoramento](/docs/pt/monitoring-usage) para detalhes de configuração.523As variáveis padrão de exportador do OpenTelemetry (`OTEL_METRICS_EXPORTER`, `OTEL_LOGS_EXPORTER`, `OTEL_EXPORTER_OTLP_ENDPOINT`, `OTEL_EXPORTER_OTLP_PROTOCOL`, `OTEL_EXPORTER_OTLP_HEADERS`, `OTEL_METRIC_EXPORT_INTERVAL`, `OTEL_RESOURCE_ATTRIBUTES` e variantes específicas de sinal) também são suportadas. Consulte [Monitoramento](/docs/pt/monitoring-usage) para detalhes de configuração.

522 524 

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

524 526 

525<h2 id="features-that-need-feature-flag-fetching">527<h2 id="features-that-need-feature-flag-fetching">

526 Recursos que precisam de busca de feature-flag528 Recursos que precisam de busca de feature-flag

errors.md +587 −564

Details

8 8 

9Esta página lista erros de tempo de execução que o Claude Code exibe e como se recuperar de cada um, além do que verificar quando as respostas parecem estar erradas sem um erro. Para erros de instalação como `command not found` ou falhas de TLS durante a configuração, consulte [Solucionar problemas de instalação e login](/docs/pt/troubleshoot-install).9Esta página lista erros de tempo de execução que o Claude Code exibe e como se recuperar de cada um, além do que verificar quando as respostas parecem estar erradas sem um erro. Para erros de instalação como `command not found` ou falhas de TLS durante a configuração, consulte [Solucionar problemas de instalação e login](/docs/pt/troubleshoot-install).

10 10 

11Exceto pelos [erros de Wrapper e IDE](#wrapper-and-ide-errors), que o programa de inicialização imprime em vez do próprio Claude Code, esses erros e comandos de recuperação se aplicam em toda a CLI, no [aplicativo Desktop](/docs/pt/desktop) e [sessões em nuvem](/docs/pt/claude-code-on-the-web), já que todos os três envolvem o mesmo CLI do Claude Code. Para outros problemas específicos da superfície, consulte a seção de solução de problemas na página dessa superfície.11Exceto pelos [erros de Wrapper e IDE](#wrapper-and-ide-errors), que o programa de inicialização imprime em vez do próprio Claude Code, esses erros e comandos de recuperação se aplicam em toda a CLI, no [aplicativo Desktop](/docs/pt/desktop) e [sessões na nuvem](/docs/pt/claude-code-on-the-web), já que todos os três envolvem o mesmo CLI do Claude Code. Para outros problemas específicos da superfície, consulte a seção de solução de problemas na página dessa superfície.

12 12 

13<Note>13<Note>

14 O Claude Code chama a API Claude para respostas de modelo, portanto, a maioria dos erros de tempo de execução mapeia para um código de erro de API subjacente. Esta página cobre o que cada erro significa dentro do Claude Code e como se recuperar. Para as definições de código de status HTTP bruto, consulte a [referência de erro da Plataforma Claude](https://platform.claude.com/docs/en/api/errors).14 O Claude Code chama a API Claude para respostas de modelo, portanto, a maioria dos erros de tempo de execução mapeia para um código de erro de API subjacente. Esta página cobre o que cada erro significa dentro do Claude Code e como se recuperar. Para as definições de código de status HTTP bruto, consulte a [referência de erro da Plataforma Claude](https://platform.claude.com/docs/en/api/errors).


186| `The connection dropped while downloading the update` | [Installation errors](#the-connection-dropped-while-downloading-the-update) |186| `The connection dropped while downloading the update` | [Installation errors](#the-connection-dropped-while-downloading-the-update) |

187| `Download timed out: exceeded the total deadline` | [Installation errors](#the-connection-dropped-while-downloading-the-update) |187| `Download timed out: exceeded the total deadline` | [Installation errors](#the-connection-dropped-while-downloading-the-update) |

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

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

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

190| `Cloud sessions are disabled by your organization's policy` | [Command-line errors](#cloud-sessions-are-disabled-by-your-organizations-policy) |191| `Cloud sessions are disabled by your organization's policy` | [Command-line errors](#cloud-sessions-are-disabled-by-your-organizations-policy) |

191| `Couldn't verify your organization's policy for cloud sessions` | [Command-line errors](#cloud-sessions-are-disabled-by-your-organizations-policy) |192| `Couldn't verify your organization's policy for cloud sessions` | [Command-line errors](#cloud-sessions-are-disabled-by-your-organizations-policy) |


212| `OAuth callback port <port> is already in use — another process may be holding it` | [Command-line errors](#oauth-callback-port-is-already-in-use) |213| `OAuth callback port <port> is already in use — another process may be holding it` | [Command-line errors](#oauth-callback-port-is-already-in-use) |

213| `No available ports for OAuth redirect` | [Command-line errors](#no-available-ports-for-oauth-redirect) |214| `No available ports for OAuth redirect` | [Command-line errors](#no-available-ports-for-oauth-redirect) |

214| `Shell command failed for pattern "..."`, de `/security-review` ou qualquer skill que injete contexto dinâmico | [Command-line errors](#security-review-fails-without-origin-head) |215| `Shell command failed for pattern "..."`, de `/security-review` ou qualquer skill que injete contexto dinâmico | [Command-line errors](#security-review-fails-without-origin-head) |

215| `Shell command permission check failed for pattern "..."`, de um skill que injete contexto dinâmico | [Command-line errors](#security-review-fails-without-origin-head) |216| `Shell command permission check failed for pattern "..."`, de uma skill que injete contexto dinâmico | [Command-line errors](#security-review-fails-without-origin-head) |

216| ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found`` | [Command-line errors](#security-review-fails-without-origin-head) |217| ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found`` | [Command-line errors](#security-review-fails-without-origin-head) |

217| `Input must be provided either through stdin or as a prompt argument when using --print` | [Command-line errors](#input-must-be-provided-when-using-print) |218| `Input must be provided either through stdin or as a prompt argument when using --print` | [Command-line errors](#input-must-be-provided-when-using-print) |

218| `Error: Input contained only whitespace` | [Command-line errors](#input-contained-only-whitespace) |219| `Error: Input contained only whitespace` | [Command-line errors](#input-contained-only-whitespace) |


250| `Monitor "<name>" from plugin <plugin> references ${user_config.*} in its command` | [Plugin errors](#plugin-command-references-user-config) |251| `Monitor "<name>" from plugin <plugin> references ${user_config.*} in its command` | [Plugin errors](#plugin-command-references-user-config) |

251| `headersHelper for MCP server '<name>' references ${user_config.*}` | [Plugin errors](#plugin-command-references-user-config) |252| `headersHelper for MCP server '<name>' references ${user_config.*}` | [Plugin errors](#plugin-command-references-user-config) |

252| `Plugin archive integrity check failed` | [Plugin errors](#plugin-archive-integrity-check-failed) |253| `Plugin archive integrity check failed` | [Plugin errors](#plugin-archive-integrity-check-failed) |

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

253| `path escapes plugin directory` | [Plugin errors](#path-escapes-plugin-directory) |255| `path escapes plugin directory` | [Plugin errors](#path-escapes-plugin-directory) |

254| `path could not be checked` | [Plugin errors](#path-could-not-be-checked) |256| `path could not be checked` | [Plugin errors](#path-could-not-be-checked) |

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


486 No response from API488 No response from API

487</h3>489</h3>

488 490 

489Claude Code enviou uma solicitação de streaming e a API não retornou cabeçalhos de resposta dentro do prazo para o primeiro byte, então Claude Code abortou a solicitação em vez de aguardar o tempo limite de solicitação completo `API_TIMEOUT_MS`, 10 minutos por padrão. Claude Code envia a solicitação novamente no máximo uma vez, se o [retry budget](#tune-retry-behavior) permitir. Quando a tentativa novamente fica sem resposta, o turno termina com esta mensagem, que mostra quanto tempo cada tentativa aguardou. Quando você define [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/pt/env-vars), o limite de uma tentativa não se aplica e Claude Code tenta novamente sob o orçamento descrito em [Tune retry behavior](#tune-retry-behavior).491Claude Code enviou uma solicitação de streaming e a API não retornou cabeçalhos de resposta dentro do prazo para o primeiro byte, então Claude Code abortou a solicitação em vez de aguardar o tempo limite de solicitação completo `API_TIMEOUT_MS`, 10 minutos por padrão. Claude Code envia a solicitação novamente no máximo uma vez, se o [retry budget](#tune-retry-behavior) permitir. Quando a nova tentativa também fica sem resposta, o turno termina com esta mensagem, que mostra quanto tempo cada tentativa aguardou. Quando você define [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/pt/env-vars), o limite de uma tentativa não se aplica e Claude Code tenta novamente sob o orçamento descrito em [Tune retry behavior](#tune-retry-behavior).

490 492 

491```text theme={null}493```text theme={null}

492API Error: No response from API (waited 3m, then 10m on the retry). If a proxy or gateway on your network holds responses until they complete, raise API_TIMEOUT_MS or CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS to wait longer.494API Error: No response from API (waited 3m, then 10m on the retry). If a proxy or gateway on your network holds responses until they complete, raise API_TIMEOUT_MS or CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS to wait longer.

493```495```

494 496 

495Claude Code define o tempo de espera para cabeçalhos de resposta da primeira tentativa e a espera da tentativa novamente separadamente:497Claude Code define o tempo de espera para cabeçalhos de resposta da primeira tentativa e a espera da nova tentativa separadamente:

496 498 

497* **Primeira tentativa**: [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](/docs/pt/env-vars) quando você o define como 1 ou mais, limitado entre 10 segundos e 30 minutos. Caso contrário, Claude Code usa o tempo limite do watchdog de nível de byte listado em [Streaming idle watchdogs](/docs/pt/network-config#streaming-idle-watchdogs), então as variáveis que alteram esse tempo limite alteram essa espera também. De qualquer forma, Claude Code adiciona um segundo para cada 32KB do corpo da solicitação.499* **Primeira tentativa**: [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](/docs/pt/env-vars) quando você o define como 1 ou mais, limitado entre 10 segundos e 30 minutos. Caso contrário, Claude Code usa o tempo limite do watchdog de nível de byte listado em [Streaming idle watchdogs](/docs/pt/network-config#streaming-idle-watchdogs), então as variáveis que alteram esse tempo limite alteram essa espera também. De qualquer forma, Claude Code adiciona um segundo para cada 32KB do corpo da solicitação.

498* **Tentativa novamente**: um segundo a menos que `API_TIMEOUT_MS`, pouco menos de 10 minutos por padrão, para que a tentativa novamente possa durar mais que um proxy ou gateway que mantém a resposta até que a geração seja concluída. No Amazon Bedrock, a tentativa novamente usa o mesmo prazo que a primeira tentativa, e a mensagem mostra uma duração em vez de duas.500* **Nova tentativa**: um segundo a menos que `API_TIMEOUT_MS`, pouco menos de 10 minutos por padrão, para que a nova tentativa possa durar mais que um proxy ou gateway que mantém a resposta até que a geração seja concluída. No Amazon Bedrock, a nova tentativa usa o mesmo prazo que a primeira tentativa, e a mensagem mostra uma duração em vez de duas.

499 501 

500Nenhuma espera excede um segundo a menos que um `API_TIMEOUT_MS` positivo, e um `API_TIMEOUT_MS` positivo inferior a 11 segundos desativa o prazo. O watchdog de nível de byte começa apenas depois que os cabeçalhos de resposta chegam, então uma resposta que para de enviar bytes depois disso segue as [regras de fluxo interrompido](#automatic-retries) em vez deste prazo.502Nenhuma espera excede um segundo a menos que um `API_TIMEOUT_MS` positivo, e um `API_TIMEOUT_MS` positivo inferior a 11 segundos desativa o prazo. O watchdog de nível de byte começa apenas depois que os cabeçalhos de resposta chegam, então uma resposta que para de enviar bytes depois disso segue as [regras de fluxo interrompido](#automatic-retries) em vez deste prazo.

501 503 


503 505 

504* Envie sua mensagem novamente. Sua mensagem original ainda está na conversa, então para um prompt longo você pode digitar `try again` em vez de colar tudo novamente.506* Envie sua mensagem novamente. Sua mensagem original ainda está na conversa, então para um prompt longo você pode digitar `try again` em vez de colar tudo novamente.

505* Se se repetir, trate como um [problema de rede ou proxy](#unable-to-connect-to-api).507* Se se repetir, trate como um [problema de rede ou proxy](#unable-to-connect-to-api).

506* Se um proxy ou gateway em sua rede mantém respostas até que sejam concluídas, aumente `API_TIMEOUT_MS` para que a tentativa novamente aguarde mais. No Amazon Bedrock, aumente `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` também.508* Se um proxy ou gateway em sua rede mantém respostas até que sejam concluídas, aumente `API_TIMEOUT_MS` para que a nova tentativa aguarde mais. No Amazon Bedrock, aumente `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` também.

507* Se a primeira tentativa continuar expirando e a tentativa novamente tiver sucesso, aumente `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` para que a primeira tentativa também aguarde o tempo suficiente.509* Se a primeira tentativa continuar expirando e a nova tentativa tiver sucesso, aumente `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` para que a primeira tentativa também aguarde o tempo suficiente.

508 510 

509Antes da v2.1.242, Claude Code aguardava o tempo limite de solicitação completo `API_TIMEOUT_MS`, 10 minutos por padrão, antes de falhar em uma solicitação de streaming sem resposta. Antes da v2.1.261, a tentativa novamente aguardava o mesmo prazo que a primeira tentativa e a mensagem não mostrava durações.511Antes da v2.1.242, Claude Code aguardava o tempo limite de solicitação completo `API_TIMEOUT_MS`, 10 minutos por padrão, antes de falhar em uma solicitação de streaming sem resposta. Antes da v2.1.261, a nova tentativa aguardava o mesmo prazo que a primeira tentativa e a mensagem não mostrava durações.

510 512 

511<h3 id="the-response-above-may-be-incomplete">513<h3 id="the-response-above-may-be-incomplete">

512 The response above may be incomplete514 The response above may be incomplete


527* `Connection lost mid-response`: a conexão foi interrompida. Você também vê esta variante quando um proxy ou gateway encerra o corpo da resposta de forma limpa antes da resposta ser concluída.529* `Connection lost mid-response`: a conexão foi interrompida. Você também vê esta variante quando um proxy ou gateway encerra o corpo da resposta de forma limpa antes da resposta ser concluída.

528* `Your computer went to sleep mid-response`: Claude Code detectou que seu computador entrou em modo de suspensão enquanto a resposta estava sendo transmitida. Depois que seu computador acordar, Claude Code trata a conexão como quebrada e para de ler dela.530* `Your computer went to sleep mid-response`: Claude Code detectou que seu computador entrou em modo de suspensão enquanto a resposta estava sendo transmitida. Depois que seu computador acordar, Claude Code trata a conexão como quebrada e para de ler dela.

529* `Part of the response never arrived`: um evento de fluxo foi descartado entre a API e Claude Code, então um evento posterior referenciou conteúdo que nunca chegou. Antes da v2.1.281, este caso terminou o turno com `API Error: Content block not found`.531* `Part of the response never arrived`: um evento de fluxo foi descartado entre a API e Claude Code, então um evento posterior referenciou conteúdo que nunca chegou. Antes da v2.1.281, este caso terminou o turno com `API Error: Content block not found`.

530* `The response stream was malformed`: um evento chegou para um bloco de conteúdo que já havia terminado, ou um evento chegou danificado. Um evento danificado é aquele cujos dados não são JSON válido, cujo conteúdo está faltando ou cujo conteúdo não corresponde ao tipo do evento. Antes da v2.1.284, o erro bruto do analisador, como um começando com `API Error: JSON Parse error`, aparecia em vez disso quando um evento com JSON inválido chegava depois que Claude havia completado seu pensamento, um bloco de texto ou uma chamada de ferramenta.532* `The response stream was malformed`: um evento chegou para um bloco de conteúdo que já havia terminado, ou um evento chegou danificado. Um evento danificado é aquele cujos dados não são JSON válido, cujo conteúdo está faltando ou cujo conteúdo não corresponde ao tipo do evento. Antes da v2.1.284, o erro bruto do analisador, como um começando com `API Error: JSON Parse error`, aparecia em vez disso quando um evento com JSON inválido chegava depois que Claude havia completado seu pensamento, um bloco de texto ou uma chamada de ferramenta. Antes da v2.1.287, quando um [guardrail do Amazon Bedrock](/docs/pt/amazon-bedrock#aws-guardrails) bloqueava uma resposta que já havia transmitido pensamento e algum texto, esta variante aparecia no lugar da mensagem do guardrail.

531* `The response stopped arriving`: a conexão permaneceu aberta mas parou de entregar dados, então o watchdog de inatividade de streaming a abortou. Antes da v2.1.222, Claude Code também poderia relatar essa falha em conexões de [gateway](/docs/pt/gateways) alcançadas através de `ANTHROPIC_BASE_URL` ou `ANTHROPIC_AWS_BASE_URL` enquanto os pings de keep-alive do servidor ainda estavam chegando, porque contava apenas eventos de resposta analisados lá; atualizar para a versão mais recente interrompe esses tempos limite espúrios nessas rotas. Gateways alcançados através de uma URL de base de provedor como `ANTHROPIC_BEDROCK_BASE_URL` não são envolvidos pelo watchdog de byte; veja [Streaming idle watchdogs](/docs/pt/network-config#streaming-idle-watchdogs).533* `The response stopped arriving`: a conexão permaneceu aberta mas parou de entregar dados, então o watchdog de inatividade de streaming a abortou. Antes da v2.1.222, Claude Code também poderia relatar essa falha em conexões de [gateway](/docs/pt/gateways) alcançadas através de `ANTHROPIC_BASE_URL` ou `ANTHROPIC_AWS_BASE_URL` enquanto os pings de keep-alive do servidor ainda estavam chegando, porque contava apenas eventos de resposta analisados lá; atualizar para a versão mais recente interrompe esses tempos limite espúrios nessas rotas. Gateways alcançados através de uma URL de base de provedor como `ANTHROPIC_BEDROCK_BASE_URL` não são envolvidos pelo watchdog de byte; veja [Streaming idle watchdogs](/docs/pt/network-config#streaming-idle-watchdogs).

532 534 

533Antes da v2.1.227, `Connection lost mid-response` lia `Connection closed mid-response` e `The response stopped arriving` lia `Response stalled mid-stream`.535Antes da v2.1.227, `Connection lost mid-response` lia `Connection closed mid-response` e `The response stopped arriving` lia `Response stalled mid-stream`.


541 543 

542* Anteriormente na resposta, Claude Code ou tenta novamente a falha ou termina o turno com um erro diferente. Veja [Automatic retries](#automatic-retries).544* Anteriormente na resposta, Claude Code ou tenta novamente a falha ou termina o turno com um erro diferente. Veja [Automatic retries](#automatic-retries).

543* Quando uma dessas falhas chega depois que Claude terminou a resposta, Claude Code mantém a resposta completa e termina o turno normalmente, sem este aviso. Antes da v2.1.222, Claude Code mostrava este aviso quando a conexão era interrompida ou travava após a resposta terminar, e relatava o turno como um erro mesmo que a resposta fosse completa.545* Quando uma dessas falhas chega depois que Claude terminou a resposta, Claude Code mantém a resposta completa e termina o turno normalmente, sem este aviso. Antes da v2.1.222, Claude Code mostrava este aviso quando a conexão era interrompida ou travava após a resposta terminar, e relatava o turno como um erro mesmo que a resposta fosse completa.

544* Em uma [sessão não interativa](/docs/pt/headless), como uma execução `-p`, uma execução do [Agent SDK](/docs/pt/agent-sdk/overview) ou uma [sessão em nuvem](/docs/pt/claude-code-on-the-web), você não precisa enviar `continue` você mesmo quando a resposta cortada está na conversa principal e contém texto mas nenhuma chamada de ferramenta: Claude Code mantém a saída parcial e solicita a Claude continuar de onde parou, até três vezes seguidas. Você vê este aviso para tal resposta apenas uma vez que Claude Code tenha usado essas continuações. Antes da v2.1.246, Claude Code terminava um turno não interativo com este aviso na primeira interrupção.546* Em uma [sessão não interativa](/docs/pt/headless), como uma execução `-p`, uma execução do [Agent SDK](/docs/pt/agent-sdk/overview) ou uma [sessão na nuvem](/docs/pt/claude-code-on-the-web), você não precisa enviar `continue` você mesmo quando a resposta cortada está na conversa principal e contém texto mas nenhuma chamada de ferramenta: Claude Code mantém a saída parcial e solicita a Claude continuar de onde parou, até três vezes seguidas. Você vê este aviso para tal resposta apenas uma vez que Claude Code tenha usado essas continuações. Antes da v2.1.246, Claude Code terminava um turno não interativo com este aviso na primeira interrupção.

545* Em um [subagent](/docs/pt/sub-agents#api-errors-in-subagents), seja a sessão interativa ou não: quando sua resposta cortada contém texto mas nenhuma chamada de ferramenta, Claude Code solicita ao subagent continuar. O aviso se torna a última mensagem do subagent apenas uma vez que essas continuações sejam usadas. Antes da v2.1.257, um subagent mostrava este aviso na primeira interrupção.547* Em um [subagent](/docs/pt/sub-agents#api-errors-in-subagents), seja a sessão interativa ou não: quando sua resposta cortada contém texto mas nenhuma chamada de ferramenta, Claude Code solicita ao subagent continuar. O aviso se torna a última mensagem do subagent apenas uma vez que essas continuações sejam usadas. Antes da v2.1.257, um subagent mostrava este aviso na primeira interrupção.

546 548 

547**O que fazer:**549**O que fazer:**


636The server-side auto mode classifier gave no verdict (timed out), so auto mode cannot determine the safety of <tool>.638The server-side auto mode classifier gave no verdict (timed out), so auto mode cannot determine the safety of <tool>.

637```639```

638 640 

639O resto da mensagem diz a Claude se uma tentativa pode ajudar. Antes de algumas dessas negações, Claude Code aguarda para que a próxima tentativa de Claude não siga imediatamente. Durante a espera em uma sessão interativa, o spinner mostra `Auto mode check unavailable` com uma contagem regressiva, e pressionar `Esc` interrompe o turno.641O resto da mensagem diz a Claude se uma nova tentativa pode ajudar. Antes de algumas dessas negações, Claude Code aguarda para que a próxima tentativa de Claude não siga imediatamente. Durante a espera em uma sessão interativa, o spinner mostra `Auto mode check unavailable` com uma contagem regressiva, e pressionar `Esc` interrompe o turno.

640 642 

641Após dez respostas seguidas sem veredicto, auto mode interrompe o turno:643Após dez respostas seguidas sem veredicto, auto mode interrompe o turno:

642 644 


663 Agent terminated early due to an API error665 Agent terminated early due to an API error

664</h3>666</h3>

665 667 

666A solicitação de API de um [subagent](/docs/pt/sub-agents) falhou terminalmente, por exemplo porque um limite de uso foi atingido ou as tentativas de um erro de servidor se esgotaram, então o subagent parou antes de terminar sua tarefa. Esta mensagem requer Claude Code v2.1.199 ou posterior; antes disso, o texto de erro da API era retornado a Claude como se fosse o resultado do subagent.668A solicitação de API de um [subagent](/docs/pt/sub-agents) falhou terminalmente, por exemplo porque um limite de uso foi atingido ou as novas tentativas de um erro de servidor se esgotaram, então o subagent parou antes de terminar sua tarefa. Esta mensagem requer Claude Code v2.1.199 ou posterior; antes disso, o texto de erro da API era retornado a Claude como se fosse o resultado do subagent.

667 669 

668```text theme={null}670```text theme={null}

669Agent terminated early due to an API error: <error detail>671Agent terminated early due to an API error: <error detail>


674* Corresponda o detalhe do erro após os dois pontos à sua própria seção nesta página, como [Usage limits](#usage-limits) ou [Server errors](#server-errors), e siga as etapas dessa seção676* Corresponda o detalhe do erro após os dois pontos à sua própria seção nesta página, como [Usage limits](#usage-limits) ou [Server errors](#server-errors), e siga as etapas dessa seção

675* Uma vez que o erro subjacente seja resolvido, peça a Claude para tentar novamente a tarefa ou [retomar o subagent](/docs/pt/sub-agents#resume-subagents)677* Uma vez que o erro subjacente seja resolvido, peça a Claude para tentar novamente a tarefa ou [retomar o subagent](/docs/pt/sub-agents#resume-subagents)

676 678 

677Quando uma taxa limite, sobrecarga ou erro de servidor interrompe um subagent em primeiro plano que já produziu saída de texto, Claude recebe essa saída parcial marcada como incompleta em vez deste erro. Um subagent cuja única saída foram chamadas de ferramenta também recebe este erro; na v2.1.199 essa forma retornava um resultado parcial vazio. Veja [API errors in subagents](/docs/pt/sub-agents#api-errors-in-subagents).679Quando um rate limit, sobrecarga ou erro de servidor interrompe um subagent em primeiro plano que já produziu saída de texto, Claude recebe essa saída parcial marcada como incompleta em vez deste erro. Um subagent cuja única saída foram chamadas de ferramenta também recebe este erro; na v2.1.199 essa forma retornava um resultado parcial vazio. Veja [API errors in subagents](/docs/pt/sub-agents#api-errors-in-subagents).

678 680 

679<h2 id="usage-limits">681<h2 id="usage-limits">

680 Limites de uso682 Limites de uso


885 Erros de autenticação887 Erros de autenticação

886</h2>888</h2>

887 889 

888Esses erros significam que Claude Code não consegue provar sua identidade para a API. Execute `/status` a qualquer momento para ver qual credencial está ativa no momento.890Esses erros significam que o Claude Code não consegue provar à API quem você é. Execute `/status` a qualquer momento para ver qual credencial está ativa no momento.

889 891 

890<h3 id="not-logged-in">892<h3 id="not-logged-in">

891 Não conectado893 Não conectado


897Not logged in · Please run /login899Not logged in · Please run /login

898```900```

899 901 

900Em uma sessão que o aplicativo Claude Desktop executa, como a aba Code ou Cowork, a mensagem lê `Authentication required · Sign in again to continue`, e você se conecta novamente a partir do aplicativo.902Em uma sessão executada pelo aplicativo Claude Desktop, como a aba Code ou o Cowork, a mensagem diz `Authentication required · Sign in again to continue`, e você entra novamente pelo aplicativo.

903 

904Se você entrar com sua conta claude.ai em outra janela do Claude Code que usa o mesmo [diretório de configuração](/docs/pt/claude-directory), uma sessão interativa que mostra esta mensagem passa a usar esse login por conta própria. Você não precisa reiniciá-la.

905 

906Antes da v2.1.286 no macOS, a sessão podia continuar mostrando a mensagem depois que você entrava por outra janela. Nessas versões, reinicie a sessão que mostra a mensagem.

901 907 

902**O que fazer:**908**O que fazer:**

903 909 

904* Execute `/login` para se autenticar com sua assinatura Claude ou conta Console910* Execute `/login` para se autenticar com sua assinatura Claude ou conta do Console

905* Se você esperava que uma variável de ambiente o autenticasse, confirme que `ANTHROPIC_API_KEY` está definida e exportada no shell onde você iniciou `claude`911* Se você esperava que uma variável de ambiente o autenticasse, confirme que `ANTHROPIC_API_KEY` está definida e exportada no shell onde você iniciou o `claude`

906* Para CI ou automação onde o login interativo não é possível, configure um script [`apiKeyHelper`](/docs/pt/settings-reference#apikeyhelper) que busque uma chave na inicialização912* Para CI ou automação em que o login interativo não é possível, configure um script [`apiKeyHelper`](/docs/pt/settings-reference#apikeyhelper) que busque uma chave na inicialização

907* Veja [Precedência de autenticação](/docs/pt/authentication#authentication-precedence) para entender qual credencial Claude Code usa quando várias estão presentes913* Consulte [Precedência de autenticação](/docs/pt/authentication#authentication-precedence) para entender qual credencial o Claude Code usa quando várias estão presentes

908 914 

909Se você for solicitado a fazer login repetidamente, veja [Não conectado ou token expirado](/docs/pt/troubleshoot-install#not-logged-in-or-token-expired) para verificações de relógio do sistema e etapas de recuperação de armazenamento de credenciais do macOS.915Se for solicitado que você faça login repetidamente, consulte [Não conectado ou token expirado](/docs/pt/troubleshoot-install#not-logged-in-or-token-expired) para verificações do relógio do sistema e etapas de recuperação do armazenamento de credenciais do macOS.

910 916 

911<h3 id="could-not-resolve-authentication-method">917<h3 id="could-not-resolve-authentication-method">

912 Não foi possível resolver o método de autenticação918 Não foi possível resolver o método de autenticação

913</h3>919</h3>

914 920 

915A sessão chegou ao cliente da API sem nenhuma credencial. [Sessões em segundo plano](/docs/pt/agent-view) e sessões em nuvem mostram essa mensagem quando o worker inicia sem uma credencial. Execuções interativas, `-p` e Agent SDK relatam a mesma condição que [Não conectado](#not-logged-in) e escrevem essa string apenas no log de depuração, portanto, se você a encontrou lá, siga essa entrada.921A sessão chegou ao cliente da API sem nenhuma credencial. [Sessões em segundo plano](/docs/pt/agent-view) e sessões na nuvem mostram esta mensagem quando o worker é iniciado sem uma credencial. Execuções interativas, com `-p` e do Agent SDK relatam a mesma condição como [Não conectado](#not-logged-in) e gravam esta string apenas no seu log de depuração, portanto, se você a encontrou lá, siga aquela entrada.

916 922 

917```text theme={null}923```text theme={null}

918Could not resolve authentication method. Expected one of apiKey, authToken, credentials, config, or profile to be set. Or for one of the "X-Api-Key" or "Authorization" headers to be explicitly omitted924Could not resolve authentication method. Expected one of apiKey, authToken, credentials, config, or profile to be set. Or for one of the "X-Api-Key" or "Authorization" headers to be explicitly omitted

919```925```

920 926 

921Nas versões atuais, o erro significa que nenhuma credencial estava disponível para o processo worker. Antes da v2.1.174, uma sessão em segundo plano atribuída a um worker pré-inicializado ocioso poderia falhar dessa forma mesmo quando credenciais válidas foram configuradas. Antes da v2.1.176, uma sessão em nuvem que ficou ociosa antes de ser reivindicada também poderia. Atualize para recuperar.927Nas versões atuais, o erro significa que nenhuma credencial estava disponível para o processo do worker. Antes da v2.1.174, uma sessão em segundo plano atribuída a um worker pré-inicializado ocioso podia falhar dessa forma mesmo quando credenciais válidas estavam configuradas. Antes da v2.1.176, uma sessão na nuvem que ficava ociosa antes de ser reivindicada também podia. Atualize para se recuperar.

922 928 

923**O que fazer:**929**O que fazer:**

924 930 

925* Atualize para v2.1.176 ou posterior se isso aparecer em uma sessão em segundo plano ou nuvem e suas credenciais já estiverem configuradas931* Atualize para a v2.1.176 ou posterior se isso aparecer em uma sessão em segundo plano ou na nuvem e suas credenciais já estiverem configuradas

926* Confirme que `ANTHROPIC_API_KEY`, `CLAUDE_CODE_OAUTH_TOKEN` ou suas credenciais do provedor de nuvem estão definidas no ambiente que inicia o worker, não apenas no seu shell interativo932* Confirme que `ANTHROPIC_API_KEY`, `CLAUDE_CODE_OAUTH_TOKEN` ou as credenciais do seu provedor de nuvem estão definidas no ambiente que inicia o worker, e não apenas no seu shell interativo

927* Para o Agent SDK, veja [configuração de autenticação no guia de início rápido](/docs/pt/agent-sdk/quickstart#setup)933* Para o Agent SDK, consulte [configuração de autenticação no início rápido](/docs/pt/agent-sdk/quickstart#setup)

928* Execute `/status` em uma sessão interativa no mesmo ambiente para confirmar qual fonte de credencial é resolvida934* Execute `/status` em uma sessão interativa no mesmo ambiente para confirmar qual fonte de credencial é resolvida

929 935 

930<h3 id="invalid-api-key">936<h3 id="invalid-api-key">

931 Chave de API inválida937 Chave de API inválida

932</h3>938</h3>

933 939 

934A variável de ambiente `ANTHROPIC_API_KEY` ou o script `apiKeyHelper` retornou uma chave que a API rejeitou, ou Claude Code bloqueou uma chave de `ANTHROPIC_API_KEY` antes de enviá-la.940A variável de ambiente `ANTHROPIC_API_KEY` ou o script `apiKeyHelper` retornou uma chave que a API rejeitou, ou o Claude Code bloqueou uma chave de `ANTHROPIC_API_KEY` antes de enviá-la.

935 941 

936```text theme={null}942```text theme={null}

937Invalid API key · Fix external API key943Invalid API key · Fix external API key

938```944```

939 945 

940Quando a mensagem continua após `Fix external API key` com uma descrição como `Invalid X-Api-Key header value from ANTHROPIC_API_KEY: it contains a line break at character 41 (120 characters on 2 lines).`, a API nunca viu a chave. Claude Code encontrou um caractere que os cabeçalhos HTTP não conseguem carregar e parou a solicitação antes de enviá-la. Veja [Valor de cabeçalho de solicitação inválido](#invalid-request-header-value) para saber como ler a descrição e corrigir o valor.946Quando a mensagem continua após `Fix external API key` com uma descrição como `Invalid X-Api-Key header value from ANTHROPIC_API_KEY: it contains a line break at character 41 (120 characters on 2 lines).`, a API nunca viu a chave. O Claude Code encontrou um caractere que cabeçalhos HTTP não podem transportar e interrompeu a requisição antes de enviá-la. Consulte [Valor de cabeçalho de requisição inválido](#invalid-request-header-value) para saber como ler a descrição e corrigir o valor.

941 947 

942**O que fazer:**948**O que fazer:**

943 949 

944* Verifique se há erros de digitação e confirme que a chave não foi revogada no [Console](https://platform.claude.com/settings/keys)950* Verifique erros de digitação e confirme que a chave não foi revogada no [Console](https://platform.claude.com/settings/keys)

945* No mesmo shell, execute `env | grep ANTHROPIC`, ou no PowerShell `Get-ChildItem Env:ANTHROPIC*`. Ferramentas como direnv, plugins de shell dotenv e terminais IDE podem carregar uma chave obsoleta de um arquivo `.env` em seu projeto sem você defini-la explicitamente.951* No mesmo shell, execute `env | grep ANTHROPIC` ou, no PowerShell, `Get-ChildItem Env:ANTHROPIC*`. Ferramentas como direnv, plugins de shell dotenv e terminais de IDE podem carregar uma chave desatualizada de um arquivo `.env` no seu projeto sem que você a defina explicitamente.

946* Desdefina `ANTHROPIC_API_KEY` e execute `/login` para usar autenticação de assinatura952* Remova a definição de `ANTHROPIC_API_KEY` e execute `/login` para usar a autenticação por assinatura

947* Se a chave vem de um script [`apiKeyHelper`](/docs/pt/settings-reference#apikeyhelper), execute o script diretamente para confirmar que ele imprime uma chave válida em stdout953* Se a chave vier de um script [`apiKeyHelper`](/docs/pt/settings-reference#apikeyhelper), execute o script diretamente para confirmar que ele imprime uma chave válida no stdout

948* Execute `/status` para confirmar qual fonte de credencial Claude Code está realmente usando954* Execute `/status` para confirmar qual fonte de credencial o Claude Code está realmente usando

949 955 

950<h3 id="your-apikeyhelper-script-is-failing">956<h3 id="your-apikeyhelper-script-is-failing">

951 Seu script apiKeyHelper está falhando957 Seu script apiKeyHelper está falhando

952</h3>958</h3>

953 959 

954Claude Code executou o comando em sua configuração [`apiKeyHelper`](/docs/pt/settings-reference#apikeyhelper) e não obteve uma chave de volta. Sem uma, a solicitação chega à API com uma credencial de espaço reservado, e a API a rejeita com `401`. O painel `Authentication` no terminal mostra qual desses aconteceu:960O Claude Code executou o comando da sua configuração [`apiKeyHelper`](/docs/pt/settings-reference#apikeyhelper) e não recebeu uma chave de volta. Sem ela, a requisição chega à API com uma credencial provisória, e a API a rejeita com `401`. O painel `Authentication` no terminal mostra qual destas situações aconteceu:

955 961 

956* O comando saiu com um erro ou expirou962* O comando terminou com um erro ou atingiu o timeout

957* O comando não imprimiu nada em stdout963* O comando não imprimiu nada no stdout

958* O comando imprimiu algo além da chave, como um banner de login ou uma linha de log. O painel mostra `returned output that cannot be used as an API key` e diz o que está errado, sem repetir a saída. Antes da v2.1.227, Claude Code enviava o que o comando imprimia, após aparar espaços em branco ao redor.964* O comando imprimiu algo além da chave, como um banner de login ou uma linha de log. O painel mostra `returned output that cannot be used as an API key` e diz o que está errado, sem repetir a saída. Antes da v2.1.227, o Claude Code enviava o que quer que o comando imprimisse, após remover os espaços em branco ao redor.

959 965 

960```text theme={null}966```text theme={null}

961Your apiKeyHelper script is failing · This usually means you need to re-authenticate with your provider · Run /status to see the script's error output967Your apiKeyHelper script is failing · This usually means you need to re-authenticate with your provider · Run /status to see the script's error output

962```968```

963 969 

964Em [modo não interativo](/docs/pt/headless), stderr também carrega o motivo específico, prefixado com `apiKeyHelper failed:`.970No [modo não interativo](/docs/pt/headless), o stderr também traz o motivo específico, prefixado com `apiKeyHelper failed:`.

965 971 

966Claude Code executa novamente o script e tenta a solicitação até mais duas vezes antes de mostrar essa mensagem, portanto, a falha aparece dentro de três tentativas. Antes da v2.1.208, Claude Code gastava o [orçamento de tentativas](#automatic-retries) completo reenviando a solicitação com a credencial de espaço reservado e depois relatava um erro de autenticação genérico `401` em vez da falha do script.972O Claude Code executa o script novamente e tenta a requisição novamente até mais duas vezes antes de mostrar esta mensagem, portanto a falha aparece em até três tentativas. Antes da v2.1.208, o Claude Code gastava todo o [orçamento de novas tentativas](#automatic-retries) reenviando a requisição com a credencial provisória e depois relatava um erro genérico de autenticação `401` em vez da falha do script.

967 973 

968Executar `/login` não ajuda aqui: a saída do helper [tem precedência](/docs/pt/authentication#authentication-precedence) sobre um login salvo enquanto a configuração estiver presente.974Executar `/login` não ajuda aqui: a saída do helper [tem precedência](/docs/pt/authentication#authentication-precedence) sobre um login salvo enquanto a configuração estiver presente.

969 975 

970**O que fazer:**976**O que fazer:**

971 977 

972* Execute o comando configurado em `apiKeyHelper` diretamente no seu shell para reproduzir a falha978* Execute o comando configurado em `apiKeyHelper` diretamente no seu shell para reproduzir a falha

973* Se o comando relatar uma sessão expirada, reautentique-se com seu provedor de credenciais, por exemplo, conectando-se novamente ao seu SSO ou cofre de segredos979* Se o comando relatar uma sessão expirada, autentique-se novamente com seu provedor de credenciais, por exemplo entrando novamente no seu SSO ou cofre de segredos

974* Corrija o comando para que ele imprima apenas a chave em stdout, como um único token de ASCII imprimível até 16.384 caracteres, e saia com código 0. Veja [girar credenciais com apiKeyHelper](/docs/pt/llm-gateway-connect#rotate-credentials-with-apikeyhelper) para uma configuração funcional.980* Corrija o comando para que ele imprima apenas a chave no stdout, como um único token de ASCII imprimível de até 16.384 caracteres, e termine com código de saída 0. Consulte [rotacionar credenciais com apiKeyHelper](/docs/pt/llm-gateway-connect#rotate-credentials-with-apikeyhelper) para uma configuração funcional.

975* Execute `/status` para ver a falha e confirmar que `apiKeyHelper` é a fonte de credencial ativa. A linha `apiKeyHelper` mostra `Failing` com o detalhe da última falha, como o código de saída e a saída de erro do comando, e desaparece após a próxima execução bem-sucedida. Antes da v2.1.274, `/status` mostrava apenas a fonte de credencial, não a falha.981* Execute `/status` para ver a falha e confirmar que `apiKeyHelper` é a fonte de credencial ativa. A linha `apiKeyHelper` mostra `Failing` com o detalhe da última falha, como o código de saída e a saída de erro do comando, e desaparece após a próxima execução bem-sucedida. Antes da v2.1.274, `/status` mostrava apenas a fonte de credencial, não a falha.

976* Cada vez que o comando falha, seu código de saída e saída de erro também aparecem em um painel `Authentication` no terminal. Antes da v2.1.212, o painel era intitulado `Cloud authentication`.982* Cada vez que o comando falha, seu código de saída e sua saída de erro também aparecem em um painel `Authentication` no terminal. Antes da v2.1.212, o painel se chamava `Cloud authentication`.

977 983 

978<h3 id="invalid-request-header-value">984<h3 id="invalid-request-header-value">

979 Valor de cabeçalho de solicitação inválido985 Valor de cabeçalho de requisição inválido

980</h3>986</h3>

981 987 

982Um valor que Claude Code estava prestes a enviar como cabeçalho de solicitação contém um caractere que os cabeçalhos HTTP não conseguem carregar: uma quebra de linha, um byte NUL ou um caractere acima de `U+00FF`, como uma aspas curva ou um espaço de largura zero. Claude Code para a solicitação antes de qualquer coisa ser enviada e nomeia a variável ou configuração a ser corrigida. A causa usual é uma credencial colada de um documento ou chat que carregava um caractere invisível ou uma quebra de linha perdida.988Um valor que o Claude Code estava prestes a enviar como cabeçalho de requisição contém um caractere que cabeçalhos HTTP não podem transportar: uma quebra de linha, um byte NUL ou um caractere acima de `U+00FF`, como uma aspa curva ou um espaço de largura zero. O Claude Code interrompe a requisição antes que qualquer coisa seja enviada e nomeia a variável ou configuração a corrigir. A causa usual é uma credencial colada de um documento ou chat que trazia um caractere invisível ou uma quebra de linha perdida.

983 989 

984Claude Code executa essa verificação quando envia solicitações para a API Claude diretamente ou através de um [gateway LLM](/docs/pt/llm-gateway). Em um provedor de nuvem de terceiros como [Amazon Bedrock](/docs/pt/amazon-bedrock), Claude Code não a executa antes de enviar.990O Claude Code executa essa verificação quando envia requisições para a Claude API diretamente ou por meio de um [gateway de LLM](/docs/pt/llm-gateway). Em um provedor de nuvem de terceiros, como o [Amazon Bedrock](/docs/pt/amazon-bedrock), o Claude Code não a executa antes de enviar.

985 991 

986```text theme={null}992```text theme={null}

987Invalid auth token · Fix external auth token993Invalid auth token · Fix external auth token


989Invalid request header from the environment · Fix the environment variable995Invalid request header from the environment · Fix the environment variable

990```996```

991 997 

992A primeira parte da mensagem depende de onde o valor ruim veio:998A primeira parte da mensagem depende de onde veio o valor incorreto:

993 999 

994* `Invalid auth token`: um token de portador de [`ANTHROPIC_AUTH_TOKEN`](/docs/pt/env-vars) ou [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/pt/env-vars)1000* `Invalid auth token`: um token bearer de [`ANTHROPIC_AUTH_TOKEN`](/docs/pt/env-vars) ou [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/pt/env-vars)

995* `Invalid ANTHROPIC_CUSTOM_HEADERS`: um nome ou valor de cabeçalho que você definiu em [`ANTHROPIC_CUSTOM_HEADERS`](/docs/pt/env-vars). A descrição conta qual par `Name: Value` é culpado, como `distinct header 2 of 3 parsed from ANTHROPIC_CUSTOM_HEADERS`, sem repetir o nome ou valor, já que você escolheu ambos.1001* `Invalid ANTHROPIC_CUSTOM_HEADERS`: um nome ou valor de cabeçalho que você definiu em [`ANTHROPIC_CUSTOM_HEADERS`](/docs/pt/env-vars). A descrição indica qual par `Name: Value` está com problema, como `distinct header 2 of 3 parsed from ANTHROPIC_CUSTOM_HEADERS`, sem repetir o nome ou o valor, já que você escolheu ambos.

996* `Invalid request header from the environment`: um valor que Claude Code copia em um cabeçalho de solicitação de outra variável de ambiente, como `CLAUDE_AGENT_SDK_CLIENT_APP`. A descrição nomeia a variável a ser corrigida.1002* `Invalid request header from the environment`: um valor que o Claude Code copia para um cabeçalho de requisição a partir de outra variável de ambiente, como `CLAUDE_AGENT_SDK_CLIENT_APP`. A descrição nomeia a variável a corrigir.

997 1003 

998Claude Code relata um `ANTHROPIC_API_KEY` ruim capturado por essa verificação como [Chave de API inválida](#invalid-api-key), com a mesma descrição final. Ele relata uma credencial `/login` salva ruim como [Não conectado](#not-logged-in) em vez disso; execute `/login` para salvar uma nova. A saída de um script [`apiKeyHelper`](/docs/pt/settings-reference#apikeyhelper) nunca chega a essa verificação: Claude Code a valida quando o script é executado, e a saída que um cabeçalho HTTP não consegue carregar falha com [Seu script apiKeyHelper está falhando](#your-apikeyhelper-script-is-failing).1004O Claude Code relata uma `ANTHROPIC_API_KEY` incorreta detectada por essa verificação como [Chave de API inválida](#invalid-api-key), com a mesma descrição ao final. Ele relata uma credencial `/login` salva incorreta como [Não conectado](#not-logged-in); execute `/login` para salvar uma nova. A saída de um script [`apiKeyHelper`](/docs/pt/settings-reference#apikeyhelper) nunca chega a essa verificação: o Claude Code a valida quando o script é executado, e uma saída que um cabeçalho HTTP não pode transportar falha com [Seu script apiKeyHelper está falhando](#your-apikeyhelper-script-is-failing).

999 1005 

1000Após o segundo `·`, a mensagem descreve o problema, como neste exemplo completo:1006Após o segundo `·`, a mensagem descreve o problema, como neste exemplo completo:

1001 1007 


1003Invalid auth token · Fix external auth token · Invalid Authorization header value from ANTHROPIC_AUTH_TOKEN: it contains a line break at character 41 (120 characters on 2 lines).1009Invalid auth token · Fix external auth token · Invalid Authorization header value from ANTHROPIC_AUTH_TOKEN: it contains a line break at character 41 (120 characters on 2 lines).

1004```1010```

1005 1011 

1006As posições contam caracteres começando em um. A descrição é construída a partir de frases fixas e contagens de caracteres, portanto, nunca inclui o valor em si. Ela nomeia o caractere ofensivo apenas quando é um caractere invisível ou tipográfico bem conhecido, como uma marca de ordem de byte, um espaço de largura zero ou uma aspas curva, e relata qualquer outra coisa como `a non-ASCII character`.1012As posições contam caracteres a partir de um. A descrição é construída a partir de frases fixas e contagens de caracteres, então nunca inclui o próprio valor. Ela nomeia o caractere problemático apenas quando é um caractere invisível ou tipográfico conhecido, como uma marca de ordem de bytes, um espaço de largura zero ou uma aspa curva, e relata qualquer outro como `a non-ASCII character`.

1007 1013 

1008**O que fazer:**1014**O que fazer:**

1009 1015 

1010* Redefina a variável ou configuração que a mensagem nomeia, digitando novamente os caracteres ao redor da posição relatada em vez de colar da mesma fonte novamente1016* Redefina a variável ou configuração que a mensagem nomeia, digitando novamente os caracteres ao redor da posição relatada em vez de colar da mesma fonte outra vez

1011* Para `ANTHROPIC_CUSTOM_HEADERS`, mantenha um par `Name: Value` por linha e reescreva o par que a mensagem conta1017* Para `ANTHROPIC_CUSTOM_HEADERS`, mantenha um par `Name: Value` por linha e reescreva o par que a mensagem indica

1012* Execute `/status` para confirmar qual fonte de credencial está ativa1018* Execute `/status` para confirmar qual fonte de credencial está ativa

1013 1019 

1014<h3 id="this-organization-has-been-disabled">1020<h3 id="this-organization-has-been-disabled">

1015 Esta organização foi desabilitada1021 Esta organização foi desativada

1016</h3>1022</h3>

1017 1023 

1018Claude Code está usando um `ANTHROPIC_API_KEY` obsoleto de uma organização Console desabilitada. Quando você tem um login de assinatura salvo, a chave o substitui.1024O Claude Code está usando uma `ANTHROPIC_API_KEY` desatualizada de uma organização do Console desativada. Quando você tem um login de assinatura salvo, a chave o sobrescreve.

1019 1025 

1020```text theme={null}1026```text theme={null}

1021Your ANTHROPIC_API_KEY belongs to a disabled organization · Unset the environment variable to use your subscription instead1027Your ANTHROPIC_API_KEY belongs to a disabled organization · Unset the environment variable to use your subscription instead


1023API Error: 400 ... This organization has been disabled.1029API Error: 400 ... This organization has been disabled.

1024```1030```

1025 1031 

1026A dica após o `·` depende de suas credenciais salvas: a primeira forma aparece quando um `/login` armazenado pode assumir depois que você desdefine a chave, e a segunda quando a chave é sua única credencial.1032A dica após o `·` depende das suas credenciais salvas: a primeira forma aparece quando um `/login` armazenado pode assumir depois que você remove a definição da chave, e a segunda quando a chave é sua única credencial.

1027 1033 

1028As variáveis de ambiente têm precedência sobre `/login`, portanto, uma chave exportada no seu perfil de shell ou carregada de um arquivo `.env` é usada mesmo quando você tem uma assinatura Pro ou Max funcionando. Em modo não interativo (`-p`), a chave é sempre usada quando presente.1034Variáveis de ambiente têm precedência sobre `/login`, então uma chave exportada no perfil do seu shell ou carregada de um arquivo `.env` é usada mesmo quando você tem uma assinatura Pro ou Max funcionando. No modo não interativo (`-p`), a chave é sempre usada quando presente.

1029 1035 

1030**O que fazer:**1036**O que fazer:**

1031 1037 

1032* Desdefina `ANTHROPIC_API_KEY` no shell atual e remova-a do seu perfil de shell, depois reinicie `claude`1038* Remova a definição de `ANTHROPIC_API_KEY` no shell atual e remova-a do perfil do seu shell, depois reinicie o `claude`

1033* Se a mensagem disser `Update or unset`, você não tem um login salvo para recorrer. Desdefina a chave e execute `/login`, ou substitua a chave por uma de uma organização Console ativa.1039* Se a mensagem disser `Update or unset`, você não tem um login salvo para usar como alternativa. Remova a definição da chave e execute `/login`, ou substitua a chave por uma de uma organização do Console ativa.

1034* Execute `/status` depois para confirmar que a credencial ativa é sua assinatura1040* Execute `/status` depois para confirmar que a credencial ativa é sua assinatura

1035* Se nenhuma variável de ambiente estiver definida e o erro persistir, entre em contato com o suporte ou conecte-se com uma conta diferente.1041* Se nenhuma variável de ambiente estiver definida e o erro persistir, entre em contato com o suporte ou entre com uma conta diferente.

1036 1042 

1037<h3 id="your-organization-has-disabled-api-key-authentication">1043<h3 id="your-organization-has-disabled-api-key-authentication">

1038 Sua organização desabilitou a autenticação por chave de API1044 Sua organização desativou a autenticação por chave de API

1039</h3>1045</h3>

1040 1046 

1041Esta mensagem requer Claude Code v2.1.169 ou posterior. O administrador da organização Console desabilitou a autenticação por chave de API, portanto, a API rejeita a chave que Claude Code está enviando. A dica de recuperação após o `·` varia de acordo com onde a chave veio:1047Esta mensagem requer o Claude Code v2.1.169 ou posterior. O administrador da sua organização do Console desativou a autenticação por chave de API, então a API rejeita a chave que o Claude Code está enviando. A dica de recuperação após o `·` varia de acordo com a origem da chave:

1042 1048 

1043```text theme={null}1049```text theme={null}

1044Your organization has disabled API key authentication · Run /login to sign in with your claude.ai account1050Your organization has disabled API key authentication · Run /login to sign in with your claude.ai account


1048Your organization has disabled API key authentication · Sign in again with your claude.ai account1054Your organization has disabled API key authentication · Sign in again with your claude.ai account

1049```1055```

1050 1056 

1051A última forma aparece em uma sessão que o aplicativo Claude Desktop executa, como a aba Code ou Cowork, onde você se conecta novamente a partir do aplicativo.1057A última forma aparece em uma sessão executada pelo aplicativo Claude Desktop, como a aba Code ou o Cowork, onde você entra novamente pelo aplicativo.

1052 1058 

1053As variáveis de ambiente e `apiKeyHelper` têm precedência sobre `/login`, portanto, executar `/login` sozinho não ajuda enquanto qualquer um ainda estiver fornecendo uma chave. Veja [Precedência de autenticação](/docs/pt/authentication#authentication-precedence).1059Variáveis de ambiente e `apiKeyHelper` têm precedência sobre `/login`, então executar apenas `/login` não ajuda enquanto qualquer um deles ainda estiver fornecendo uma chave. Consulte [Precedência de autenticação](/docs/pt/authentication#authentication-precedence).

1054 1060 

1055**O que fazer:**1061**O que fazer:**

1056 1062 

1057* Se a mensagem nomear `ANTHROPIC_API_KEY`, desdefina-a no shell atual e remova-a do seu perfil de shell ou arquivo `.env`, depois reinicie `claude`1063* Se a mensagem nomear `ANTHROPIC_API_KEY`, remova sua definição no shell atual e remova-a do perfil do seu shell ou do arquivo `.env`, depois reinicie o `claude`

1058* Se a mensagem nomear `apiKeyHelper`, remova a configuração [`apiKeyHelper`](/docs/pt/settings-reference#apikeyhelper) do seu `settings.json`1064* Se a mensagem nomear `apiKeyHelper`, remova a configuração [`apiKeyHelper`](/docs/pt/settings-reference#apikeyhelper) do seu `settings.json`

1059* Execute `/login` para se conectar com sua conta claude.ai1065* Execute `/login` para entrar com sua conta claude.ai

1060* Execute `/status` depois para confirmar que a credencial ativa é sua assinatura em vez de uma chave de API1066* Execute `/status` depois para confirmar que a credencial ativa é sua assinatura em vez de uma chave de API

1061* Se você precisar de autenticação por chave de API para automação, peça ao administrador da sua organização para reabilitá-la no Console1067* Se você precisar de autenticação por chave de API para automação, peça ao administrador da sua organização que a reative no Console

1062 1068 

1063<h3 id="your-organization-has-disabled-claude-subscription-access">1069<h3 id="your-organization-has-disabled-claude-subscription-access">

1064 Sua organização desabilitou o acesso à assinatura Claude1070 Sua organização desativou o acesso por assinatura Claude

1065</h3>1071</h3>

1066 1072 

1067Sua organização Claude não permite conectar-se ao Claude Code com um login de assinatura. Executar `/login` novamente com a mesma conta retorna o mesmo erro.1073Sua organização Claude não permite entrar no Claude Code com um login de assinatura. Executar `/login` novamente com a mesma conta retorna o mesmo erro.

1068 1074 

1069```text theme={null}1075```text theme={null}

1070Your organization has disabled Claude subscription access for Claude Code · Use an Anthropic API key instead, or ask your admin to enable access1076Your organization has disabled Claude subscription access for Claude Code · Use an Anthropic API key instead, or ask your admin to enable access

1071```1077```

1072 1078 

1073Esta é uma configuração de organização do lado do servidor, portanto, não pode ser substituída por configurações locais, variáveis de ambiente ou sinalizadores CLI.1079Esta é uma configuração de organização do lado do servidor, então não pode ser sobrescrita por configurações locais, variáveis de ambiente ou flags da CLI.

1074 1080 

1075O Agent SDK e o modo não interativo `-p` apresentam isso como o código de erro `oauth_org_not_allowed`.1081O Agent SDK e o modo não interativo `-p` expõem isso como o código de erro `oauth_org_not_allowed`.

1076 1082 

1077**O que fazer:**1083**O que fazer:**

1078 1084 

1079* Peça ao seu administrador para habilitar o acesso ao Claude Code para sua organização1085* Peça ao seu administrador que habilite o acesso ao Claude Code para sua organização

1080* Autentique-se com uma chave de API Console em vez de sua assinatura. Veja [Autenticação do Claude Console](/docs/pt/authentication#claude-console-authentication) para configuração.1086* Autentique-se com uma chave de API do Console em vez da sua assinatura. Consulte [Autenticação do Claude Console](/docs/pt/authentication#claude-console-authentication) para a configuração.

1081* Se você é o administrador e não vê uma opção para habilitar o acesso, entre em contato com [suporte da Anthropic](https://support.claude.com)1087* Se você é o administrador e não vê uma opção para habilitar o acesso, entre em contato com o [suporte da Anthropic](https://support.claude.com)

1082 1088 

1083<h3 id="routines-are-disabled-by-your-organizations-policy">1089<h3 id="routines-are-disabled-by-your-organizations-policy">

1084 Rotinas são desabilitadas pela política da sua organização1090 As rotinas estão desativadas pela política da sua organização

1085</h3>1091</h3>

1086 1092 

1087Um Proprietário em sua organização Team ou Enterprise desabilitou rotinas no nível da organização. O erro aparece quando você tenta criar ou executar uma rotina, por exemplo, a partir da interface [Rotinas](/docs/pt/routines) em claude.ai/code. No Claude Code v2.1.227 ou posterior, a mesma configuração também [oculta `/schedule`](/docs/pt/routines#troubleshooting) no CLI.1093Um Owner da sua organização Team ou Enterprise desativou as rotinas no nível da organização. O erro aparece quando você tenta criar ou executar uma rotina, por exemplo pela interface de [Rotinas](/docs/pt/routines) em claude.ai/code. No Claude Code v2.1.227 ou posterior, a mesma configuração também [oculta `/schedule`](/docs/pt/routines#troubleshooting) na CLI.

1088 1094 

1089```text theme={null}1095```text theme={null}

1090Routines are disabled by your organization's policy.1096Routines are disabled by your organization's policy.

1091```1097```

1092 1098 

1093Esta é uma configuração do lado do servidor, portanto, não pode ser substituída por configurações locais, variáveis de ambiente ou sinalizadores CLI.1099Esta é uma configuração do lado do servidor, então não pode ser sobrescrita por configurações locais, variáveis de ambiente ou flags da CLI.

1094 1100 

1095**O que fazer:**1101**O que fazer:**

1096 1102 

1097* Peça a um Proprietário em sua organização para habilitar o botão **Routines** em [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)1103* Peça a um Owner da sua organização que ative a opção **Routines** em [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)

1098* Para trabalho agendado único que não requer rotinas no nível da organização, veja [tarefas agendadas](/docs/pt/scheduled-tasks)1104* Para trabalhos agendados pontuais que não exigem rotinas no nível da organização, consulte [tarefas agendadas](/docs/pt/scheduled-tasks)

1099 1105 

1100<h3 id="remote-control-requires-the-anthropic-api">1106<h3 id="remote-control-requires-the-anthropic-api">

1101 Remote Control requer a API Anthropic1107 O Remote Control requer a Anthropic API

1102</h3>1108</h3>

1103 1109 

1104A sessão não está falando com a API Anthropic diretamente, portanto, [Remote Control](/docs/pt/remote-control) requer.1110A sessão não está se comunicando diretamente com a Anthropic API, o que o [Remote Control](/docs/pt/remote-control) requer.

1105 1111 

1106```text theme={null}1112```text theme={null}

1107Remote Control is only available when using Claude via api.anthropic.com. CLAUDE_CODE_USE_BEDROCK is set, so this session is using Amazon Bedrock — unset it (or run in a shell without it) to use Remote Control.1113Remote Control is only available when using Claude via api.anthropic.com. CLAUDE_CODE_USE_BEDROCK is set, so this session is using Amazon Bedrock — unset it (or run in a shell without it) to use Remote Control.

1108```1114```

1109 1115 

1110Uma segunda frase explica o que roteirizou a sessão para longe da API Anthropic; antes da v2.1.219, a mensagem era apenas a primeira frase. Dependendo da causa, a mensagem nomeia:1116Uma segunda frase explica o que desviou a sessão da Anthropic API; antes da v2.1.219, a mensagem era apenas a primeira frase. Dependendo da causa, a mensagem nomeia:

1111 1117 

1112* Uma variável de provedor `CLAUDE_CODE_USE_*`, como `CLAUDE_CODE_USE_BEDROCK` para [Amazon Bedrock](/docs/pt/amazon-bedrock) ou `CLAUDE_CODE_USE_VERTEX` para [Agent Platform do Google Cloud](/docs/pt/google-vertex-ai)1118* Uma variável de provedor `CLAUDE_CODE_USE_*`, como `CLAUDE_CODE_USE_BEDROCK` para o [Amazon Bedrock](/docs/pt/amazon-bedrock) ou `CLAUDE_CODE_USE_VERTEX` para o [Agent Platform do Google Cloud](/docs/pt/google-vertex-ai)

1113* [`ANTHROPIC_BASE_URL`](/docs/pt/env-vars) apontando para um host diferente de `api.anthropic.com`, como um [gateway LLM](/docs/pt/llm-gateway) ou proxy, mesmo quando você se conecta com claude.ai; antes da v2.1.196, uma URL base personalizada não bloqueava Remote Control1119* [`ANTHROPIC_BASE_URL`](/docs/pt/env-vars) apontando para um host diferente de `api.anthropic.com`, como um [gateway de LLM](/docs/pt/llm-gateway) ou proxy, mesmo quando você entra com claude.ai; antes da v2.1.196, uma URL base personalizada não bloqueava o Remote Control

1114* `ANTHROPIC_UNIX_SOCKET` definido, portanto, a sessão envia suas solicitações através de um soquete local em vez de para `api.anthropic.com`1120* `ANTHROPIC_UNIX_SOCKET` definida, de modo que a sessão envia suas requisições por um socket local em vez de para `api.anthropic.com`

1115* Um login de [gateway de nuvem](/docs/pt/claude-apps-gateway) corporativo feito através de `/login`, que não suporta Remote Control e não tem variável para desdefini-la1121* Um login de [gateway de nuvem](/docs/pt/claude-apps-gateway) empresarial feito por meio de `/login`, que não oferece suporte ao Remote Control e não tem nenhuma variável para remover

1116 1122 

1117**O que fazer:**1123**O que fazer:**

1118 1124 

1119* Desdefina a variável que a mensagem nomeia, como `CLAUDE_CODE_USE_BEDROCK` ou `ANTHROPIC_BASE_URL`, e reinicie a sessão, ou inicie Remote Control a partir de uma sessão que fala com a API Anthropic diretamente1125* Remova a definição da variável que a mensagem nomeia, como `CLAUDE_CODE_USE_BEDROCK` ou `ANTHROPIC_BASE_URL`, e reinicie a sessão, ou inicie o Remote Control a partir de uma sessão que se comunica diretamente com a Anthropic API

1120* Se a variável não estiver definida no seu shell, verifique a chave `env` em seus [arquivos de configuração](/docs/pt/settings#where-settings-live), que aplica variáveis de ambiente a cada sessão1126* Se a variável não estiver definida no seu shell, verifique a chave `env` nos seus [arquivos de configuração](/docs/pt/settings#where-settings-live), que aplica variáveis de ambiente a todas as sessões

1121* Para esta e as outras mensagens de inicialização do Remote Control, veja [Solucionar problemas do Remote Control](/docs/pt/remote-control#troubleshooting)1127* Para esta e as outras mensagens de inicialização do Remote Control, consulte [Solução de problemas do Remote Control](/docs/pt/remote-control#troubleshooting)

1122 1128 

1123<h3 id="remote-control-couldnt-refresh-your-login">1129<h3 id="remote-control-couldnt-refresh-your-login">

1124 Remote Control não conseguiu atualizar seu login1130 O Remote Control não conseguiu renovar seu login

1125</h3>1131</h3>

1126 1132 

1127Claude Code executa uma conexão [Remote Control](/docs/pt/remote-control) ao vivo em credenciais de curta duração que obtém e renova usando seu login claude.ai salvo. Quando claude.ai para de aceitar esse login, ou Claude Code não tem mais nenhum login salvo, Claude Code para Remote Control e precisa que você se conecte novamente. Qualquer falha pode acontecer enquanto Claude Code ainda está se conectando ou depois, quando renova as credenciais.1133O Claude Code mantém uma conexão ativa do [Remote Control](/docs/pt/remote-control) com credenciais de curta duração que ele obtém e renova usando seu login claude.ai salvo. Quando o claude.ai deixa de aceitar esse login, ou o Claude Code não tem mais nenhum login salvo, o Claude Code interrompe o Remote Control e precisa que você entre novamente. Qualquer uma das falhas pode acontecer enquanto o Claude Code ainda está se conectando ou mais tarde, quando ele renova as credenciais.

1128 1134 

1129Quando Claude Code pede ao serviço de login para atualizar seu login salvo e não obtém resposta, ele mantém Remote Control em execução e tenta a atualização novamente enquanto a credencial atual da conexão ainda é válida. Uma atualização não obtém resposta quando Claude Code não consegue alcançar o serviço de login, a solicitação expira ou o serviço falha sem rejeitar seu login. Se o serviço de login ainda não estiver respondendo quando essa credencial expirar, Claude Code para Remote Control e relata `OAuth token refresh failed`.1135Quando o Claude Code pede ao serviço de login que renove seu login salvo e não recebe resposta, ele mantém o Remote Control em execução e tenta a renovação novamente enquanto a credencial atual da conexão ainda é válida. Uma renovação fica sem resposta quando o Claude Code não consegue alcançar o serviço de login, a requisição atinge o timeout ou o serviço falha sem rejeitar seu login. Se o serviço de login ainda não estiver respondendo quando essa credencial expirar, o Claude Code interrompe o Remote Control e relata `OAuth token refresh failed`.

1130 1136 

1131Quando Claude Code para Remote Control, ele mostra o motivo em um aviso e em uma linha de transcrição que começa com `Remote Control disconnected`. Sua sessão local continua em execução sem Remote Control. Esta seção cobre essas linhas:1137Quando o Claude Code interrompe o Remote Control, ele mostra o motivo em um aviso e em uma linha da transcrição que começa com `Remote Control disconnected`. Sua sessão local continua em execução sem o Remote Control. Esta seção aborda estas linhas:

1132 1138 

1133```text theme={null}1139```text theme={null}

1134Remote Control disconnected — Claude.ai login expired — run /login to restore Remote Control1140Remote Control disconnected — Claude.ai login expired — run /login to restore Remote Control


1140Remote Control disconnected — Signed out of Claude — run /login, then /remote-control1146Remote Control disconnected — Signed out of Claude — run /login, then /remote-control

1141```1147```

1142 1148 

1143Claude Code nomeia a causa no meio da mensagem:1149O Claude Code nomeia a causa no meio da mensagem:

1144 1150 

1145* `Claude.ai login expired` e `Claude.ai login was rejected`: claude.ai não aceita mais seu token de login salvo, porque expirou ou foi revogado1151* `Claude.ai login expired` e `Claude.ai login was rejected`: o claude.ai não aceita mais seu token de login salvo, porque ele expirou ou foi revogado

1146* `OAuth token unavailable`: Claude Code não tinha nenhum token de login salvo quando a credencial da conexão venceu para renovação1152* `OAuth token unavailable`: o Claude Code não tinha nenhum token de login salvo quando chegou a hora de renovar a credencial da conexão

1147* `OAuth token refresh failed`: claude.ai rejeitou seu token de login salvo enquanto Claude Code estava se reconectando, e atualizar o token não produziu um novo1153* `OAuth token refresh failed`: o claude.ai rejeitou seu token de login salvo enquanto o Claude Code estava se reconectando, e a renovação do token não produziu um novo

1148* `JWT refresh failed: no OAuth token`: Claude Code não encontrou nenhum token de login salvo para renovar1154* `JWT refresh failed: no OAuth token`: o Claude Code não encontrou nenhum token de login salvo para renovar

1149* `Signed out of Claude`: você se desconectou nesta máquina, por exemplo, executando `/logout` em outro terminal, portanto, Claude Code não tem nenhum login salvo para renovar a conexão1155* `Signed out of Claude`: você saiu nesta máquina, por exemplo executando `/logout` em outro terminal, então o Claude Code não tem mais nenhum login salvo para renovar a conexão

1150 1156 

1151**O que fazer:**1157**O que fazer:**

1152 1158 

1153* Execute `/login` para se conectar novamente1159* Execute `/login` para entrar novamente

1154* Execute `/remote-control` para reconectar a sessão. Mensagens terminando `run /login to restore Remote Control` não precisam desta etapa: Claude Code se reconecta automaticamente depois que você se conecta.1160* Execute `/remote-control` para reconectar a sessão. Mensagens que terminam com `run /login to restore Remote Control` não precisam desta etapa: o Claude Code se reconecta por conta própria assim que você entra.

1155 1161 

1156Antes da v2.1.224, `OAuth token refresh failed — run /login to re-authenticate` lia `OAuth token refresh failed — re-authenticate, then re-enable Remote Control`, e `JWT refresh failed: no OAuth token — run /login` lia `no OAuth token available for recovery (code <N>)`. As mensagens `Claude.ai login expired`, `Claude.ai login was rejected` e `OAuth token unavailable` foram adicionadas na v2.1.225.1162Antes da v2.1.224, `OAuth token refresh failed — run /login to re-authenticate` dizia `OAuth token refresh failed — re-authenticate, then re-enable Remote Control`, e `JWT refresh failed: no OAuth token — run /login` dizia `no OAuth token available for recovery (code <N>)`. As mensagens `Claude.ai login expired`, `Claude.ai login was rejected` e `OAuth token unavailable` foram adicionadas na v2.1.225.

1157 1163 

1158Antes da v2.1.238, Claude Code relatava os casos que agora dizem `Signed out of Claude` como `JWT refresh failed: no OAuth token — run /login`, e parava Remote Control com `Claude.ai login expired — run /login to restore Remote Control` assim que uma atualização de login não obtinha resposta.1164Antes da v2.1.238, o Claude Code relatava os casos que agora dizem `Signed out of Claude` como `JWT refresh failed: no OAuth token — run /login`, e interrompia o Remote Control com `Claude.ai login expired — run /login to restore Remote Control` assim que uma renovação de login ficava sem resposta.

1159 1165 

1160<h3 id="remote-control-stopped-because-the-signed-in-account-changed">1166<h3 id="remote-control-stopped-because-the-signed-in-account-changed">

1161 Remote Control parou porque a conta conectada mudou1167 O Remote Control foi interrompido porque a conta conectada mudou

1162</h3>1168</h3>

1163 1169 

1164Claude Code mostra essa linha durante uma sessão [Remote Control](/docs/pt/remote-control) quando você se conecta a uma conta claude.ai ou organização diferente nesta máquina. Você fez a mudança fora da sessão Claude Code, por exemplo, executando `/login` em outro terminal.1170O Claude Code mostra esta linha durante uma sessão do [Remote Control](/docs/pt/remote-control) quando você entra em uma conta ou organização claude.ai diferente nesta máquina. Você fez a troca fora da sessão do Claude Code, por exemplo executando `/login` em outro terminal.

1165 1171 

1166Uma sessão Remote Control que você iniciou enquanto estava conectado através de `/login` pertence à conta claude.ai e organização que estavam conectadas no momento.1172Uma sessão do Remote Control que você iniciou enquanto estava conectado por meio de `/login` pertence à conta e à organização claude.ai que estavam conectadas naquele momento.

1167 1173 

1168```text theme={null}1174```text theme={null}

1169Remote Control disconnected — signed-in claude.ai account or organization changed on this machine — run /remote-control to start a session for the current account, or /login to switch back, then /remote-control1175Remote Control disconnected — signed-in claude.ai account or organization changed on this machine — run /remote-control to start a session for the current account, or /login to switch back, then /remote-control

1170```1176```

1171 1177 

1172Claude Code para a sessão Remote Control assim que claude.ai confirma que a conta ou organização mudou. Sua sessão local continua em execução sem Remote Control.1178O Claude Code interrompe a sessão do Remote Control assim que o claude.ai confirma que a conta ou organização mudou. Sua sessão local continua em execução sem o Remote Control.

1173 1179 

1174**O que fazer:**1180**O que fazer:**

1175 1181 

1176* Execute `/remote-control` para iniciar uma nova sessão Remote Control sob a conta ou organização atual1182* Execute `/remote-control` para iniciar uma nova sessão do Remote Control na conta ou organização atual

1177* Para voltar, execute `/login` e conecte-se à conta ou organização anterior novamente. Depois execute `/remote-control`.1183* Para voltar, execute `/login` e entre novamente na conta ou organização anterior. Em seguida, execute `/remote-control`.

1178 1184 

1179Antes da v2.1.234, Claude Code não notava quando você mudava para uma conta ou organização diferente fora da sessão Claude Code. Claude Code mantinha a sessão Remote Control conectada até que uma solicitação posterior ao servidor Remote Control falhasse com `Remote Control server rejected the request (HTTP 404)`. Essa falha poderia vir horas após a mudança.1185Antes da v2.1.234, o Claude Code não percebia quando você mudava para uma conta ou organização diferente fora da sessão do Claude Code. O Claude Code mantinha a sessão do Remote Control conectada até que uma requisição posterior ao servidor do Remote Control falhasse com `Remote Control server rejected the request (HTTP 404)`. Essa falha podia ocorrer horas após a troca.

1180 1186 

1181<h3 id="remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts">1187<h3 id="remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts">

1182 Remote Control parou porque o aplicativo que executa a sessão se desconectou ou mudou de contas1188 O Remote Control foi interrompido porque o aplicativo que executa a sessão saiu ou trocou de conta

1183</h3>1189</h3>

1184 1190 

1185Quando o aplicativo Claude desktop ou um IDE hospeda sua sessão, Claude Code obtém seu token de login desse aplicativo em vez de `/login`. Quando claude.ai rejeita esse token, Claude Code pede ao aplicativo um novo. Se o aplicativo responder que está desconectado ou que agora está conectado a uma conta Claude diferente, Claude Code encerra a sessão [Remote Control](/docs/pt/remote-control) e envia ao aplicativo uma dessas linhas:1191Quando o aplicativo Claude desktop ou uma IDE hospeda sua sessão, o Claude Code obtém seu token de login desse aplicativo em vez de `/login`. Quando o claude.ai rejeita esse token, o Claude Code pede um novo ao aplicativo. Se o aplicativo responder que está desconectado, ou que agora está conectado a uma conta Claude diferente, o Claude Code encerra a sessão do [Remote Control](/docs/pt/remote-control) e envia ao aplicativo uma destas linhas:

1186 1192 

1187```text theme={null}1193```text theme={null}

1188Remote Control stopped — the app running this session is now signed in to a different Claude account1194Remote Control stopped — the app running this session is now signed in to a different Claude account

1189Remote Control stopped — the app running this session is signed out of Claude. Sign in there, then turn Remote Control back on1195Remote Control stopped — the app running this session is signed out of Claude. Sign in there, then turn Remote Control back on

1190```1196```

1191 1197 

1192Sua sessão local continua em execução sem Remote Control.1198Sua sessão local continua em execução sem o Remote Control.

1193 1199 

1194**O que fazer:**1200**O que fazer:**

1195 1201 

1196* Se o aplicativo está desconectado, conecte-se a ele novamente e depois ative Remote Control novamente no aplicativo1202* Se o aplicativo estiver desconectado, entre nele novamente e depois reative o Remote Control no aplicativo

1197* Se o aplicativo mudou de contas, Claude Code não consegue continuar a sessão encerrada sob a nova conta. Inicie uma nova sessão Remote Control sob essa conta.1203* Se o aplicativo trocou de conta, o Claude Code não pode continuar a sessão encerrada na nova conta. Inicie uma nova sessão do Remote Control nessa conta.

1198 1204 

1199Antes da v2.1.238, Claude Code enviava ao aplicativo as mensagens `run /login` listadas em [Remote Control não conseguiu atualizar seu login](#remote-control-couldnt-refresh-your-login) em ambos os casos.1205Antes da v2.1.238, o Claude Code enviava ao aplicativo as mensagens `run /login` listadas em [O Remote Control não conseguiu renovar seu login](#remote-control-couldnt-refresh-your-login) em ambos os casos.

1200 1206 

1201<h3 id="oauth-token-revoked-or-expired">1207<h3 id="oauth-token-revoked-or-expired">

1202 Token OAuth revogado ou expirado1208 Token OAuth revogado ou expirado

1203</h3>1209</h3>

1204 1210 

1205Seu login salvo não é mais válido. Um token revogado significa que você se desconectou em todos os lugares ou um administrador removeu o acesso; um token expirado significa que a atualização automática falhou no meio da sessão.1211Seu login salvo não é mais válido. Um token revogado significa que você saiu de todos os lugares ou que um administrador removeu o acesso; um token expirado significa que a renovação automática falhou no meio da sessão.

1206 1212 

1207Ambas as mensagens relatam uma rejeição que a API retornou para uma solicitação que Claude Code enviou. Quando o login salvo já foi limpo após uma atualização falhada, você vê [Login expirado](#login-expired). Se você se autenticar com um token de longa duração em [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/pt/env-vars), você vê as mesmas mensagens quando esse token expira ou é revogado.1213Ambas as mensagens relatam uma rejeição que a API retornou para uma requisição enviada pelo Claude Code. Quando o login salvo já foi apagado após uma renovação com falha, você vê [Login expirado](#login-expired). Se você se autentica com um token de longa duração em [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/pt/env-vars), você vê as mesmas mensagens quando esse token expira ou é revogado.

1208 1214 

1209```text theme={null}1215```text theme={null}

1210OAuth token revoked · Please run /login1216OAuth token revoked · Please run /login


1213 1219 

1214**O que fazer:**1220**O que fazer:**

1215 1221 

1216* Execute `/login` para se conectar novamente1222* Execute `/login` para entrar novamente

1217* Se você se autenticar com a variável de ambiente `CLAUDE_CODE_OAUTH_TOKEN`, Claude Code continua enviando o valor que você definiu após uma solicitação falhar com um 401, em vez de mudar para o token de um login salvo. [`/status`](/docs/pt/commands) mostra essa credencial como uma linha `Auth token` lendo `CLAUDE_CODE_OAUTH_TOKEN`. Gere um token novo com [`claude setup-token`](/docs/pt/authentication#generate-a-long-lived-token) e reinicie com ele, ou desdefina a variável e execute `/login`. Antes da v2.1.225, Claude Code poderia substituir o valor da variável no meio da sessão pelo token de acesso de curta duração de um login salvo, e a sessão falhava com erros 401 novamente depois que esse token expirava.1223* Se você se autentica com a variável de ambiente `CLAUDE_CODE_OAUTH_TOKEN`, o Claude Code continua enviando o valor que você definiu depois que uma requisição falha com um 401, em vez de mudar para o token de um login armazenado. O [`/status`](/docs/pt/commands) mostra essa credencial como uma linha `Auth token` com `CLAUDE_CODE_OAUTH_TOKEN`. Gere um novo token com [`claude setup-token`](/docs/pt/authentication#generate-a-long-lived-token) e reinicie com ele, ou remova a definição da variável e execute `/login`. Antes da v2.1.225, o Claude Code podia substituir o valor da variável no meio da sessão pelo token de acesso de curta duração de um login armazenado, e a sessão voltava a falhar com erros 401 assim que esse token expirava.

1218* Para prompts repetidos para fazer login entre inicializações, veja as verificações de relógio do sistema e etapas de recuperação de armazenamento de credenciais do macOS em [Solução de problemas](/docs/pt/troubleshoot-install#not-logged-in-or-token-expired)1224* Para solicitações repetidas de login entre inicializações, consulte as verificações do relógio do sistema e as etapas de recuperação do armazenamento de credenciais do macOS em [Solução de problemas](/docs/pt/troubleshoot-install#not-logged-in-or-token-expired)

1219* Para outras falhas, incluindo `403 Forbidden` e problemas de navegador OAuth, veja [Login e autenticação](/docs/pt/troubleshoot-install#login-and-authentication)1225* Para outras falhas, incluindo `403 Forbidden` e problemas de OAuth no navegador, consulte [Login e autenticação](/docs/pt/troubleshoot-install#login-and-authentication)

1220 1226 

1221<h3 id="api-error-401-invalid-authentication-credentials">1227<h3 id="api-error-401-invalid-authentication-credentials">

1222 API Error: 401 Credenciais de autenticação inválidas1228 API Error: 401 Invalid authentication credentials

1223</h3>1229</h3>

1224 1230 

1225A API reconheceu o formato de sua credencial, mas rejeitou a conta ou organização por trás dela. Anthropic retorna essa mensagem quando uma credencial foi revogada recentemente, quando uma organização foi desabilitada ou removeu seu acesso, ou quando a conta em si foi desativada, portanto, um token expirado não é a causa. A credencial pode ser seu login salvo ou um `ANTHROPIC_API_KEY` aprovado, e a correção difere, portanto, comece executando `/status` para ver qual está ativa.1231A API reconheceu o formato da sua credencial, mas rejeitou a conta ou organização por trás dela. A Anthropic retorna esta mensagem quando uma credencial foi revogada recentemente, quando uma organização foi desativada ou removeu seu acesso, ou quando a própria conta foi desativada; portanto, um token expirado não é a causa. A credencial pode ser seu login salvo ou uma `ANTHROPIC_API_KEY` aprovada, e a correção é diferente, então comece executando `/status` para ver qual está ativa.

1226 1232 

1227```text theme={null}1233```text theme={null}

1228Please run /login · API Error: 401 Invalid authentication credentials1234Please run /login · API Error: 401 Invalid authentication credentials


1230 1236 

1231**O que fazer:**1237**O que fazer:**

1232 1238 

1233* Se `/status` mostrar uma linha `API key` que não está marcada como não em uso, um [`ANTHROPIC_API_KEY`](/docs/pt/authentication#authentication-precedence) aprovado é a credencial ativa e tem precedência sobre seu login, portanto, `/login` não a substitui. Gire a chave no Claude Console, ou volte para sua assinatura executando `unset ANTHROPIC_API_KEY`, ou no PowerShell `Remove-Item Env:ANTHROPIC_API_KEY`.1239* Se `/status` mostrar uma linha `API key` que não esteja marcada como não utilizada, uma [`ANTHROPIC_API_KEY`](/docs/pt/authentication#authentication-precedence) aprovada é a credencial ativa e tem precedência sobre seu login, então `/login` não a substitui. Rotacione a chave no Claude Console, ou volte para sua assinatura executando `unset ANTHROPIC_API_KEY` ou, no PowerShell, `Remove-Item Env:ANTHROPIC_API_KEY`.

1234* Se `/status` mostrar apenas seu login, execute `/login` uma vez. Se a credencial foi revogada, um novo login a substitui.1240* Se `/status` mostrar apenas seu login, execute `/login` uma vez. Se a credencial foi revogada, um novo login a substitui.

1235* Se a mesma mensagem retornar para a mesma conta de login, a conta ou organização não está mais ativa. Verifique a conta e organização que `/status` relata e peça ao administrador da sua organização para restaurar o acesso.1241* Se a mesma mensagem voltar para a mesma conta de login, a conta ou organização não está mais ativa. Verifique a conta e a organização que `/status` informa e peça ao administrador da sua organização que restaure o acesso.

1236* Se [`ANTHROPIC_BASE_URL`](/docs/pt/env-vars) aponta para um [gateway LLM](/docs/pt/llm-gateway), o texto após `401` é a mensagem do seu gateway em vez de Anthropic, e `/login` não a altera. Corrija a credencial que seu gateway espera.1242* Se [`ANTHROPIC_BASE_URL`](/docs/pt/env-vars) apontar para um [gateway de LLM](/docs/pt/llm-gateway), o texto após `401` é a mensagem do seu gateway, não da Anthropic, e `/login` não a altera. Corrija a credencial que seu gateway espera.

1237 1243 

1238<h3 id="login-expired">1244<h3 id="login-expired">

1239 Login expirado1245 Login expirado

1240</h3>1246</h3>

1241 1247 

1242Claude Code tentou renovar seu login claude.ai salvo e o serviço OAuth rejeitou o token de atualização armazenado, portanto, Claude Code limpou as credenciais salvas. Depois disso, cada solicitação de modelo para localmente com essa mensagem antes de chegar à API, porque apenas `/login` pode criar novas credenciais.1248O Claude Code tentou renovar seu login claude.ai salvo e o serviço OAuth rejeitou o token de renovação armazenado, então o Claude Code apagou as credenciais salvas. Depois disso, cada requisição ao modelo é interrompida localmente com esta mensagem antes de chegar à API, porque apenas `/login` pode criar novas credenciais.

1243 1249 

1244Antes da v2.1.206, Claude Code enviava a solicitação de modelo de qualquer forma com qualquer credencial que permanecesse no ambiente, e cada modelo falhava com [Há um problema com o modelo selecionado](#theres-an-issue-with-the-selected-model) ou um 401 em vez de um prompt para se conectar.1250Antes da v2.1.206, o Claude Code enviava a requisição ao modelo mesmo assim com qualquer credencial que restasse no ambiente, e todos os modelos falhavam com [Há um problema com o modelo selecionado](#theres-an-issue-with-the-selected-model) ou um 401 em vez de um prompt para entrar.

1245 1251 

1246```text theme={null}1252```text theme={null}

1247Login expired · Please run /login1253Login expired · Please run /login

1248```1254```

1249 1255 

1250Em [modo não interativo](/docs/pt/headless) (`-p`) e no [Agent SDK](/docs/pt/agent-sdk/overview), a mensagem lê como segue, e o código de erro estruturado é `authentication_failed`:1256No [modo não interativo](/docs/pt/headless) (`-p`) e no [Agent SDK](/docs/pt/agent-sdk/overview), a mensagem é a seguinte, e o código de erro estruturado é `authentication_failed`:

1251 1257 

1252```text theme={null}1258```text theme={null}

1253Failed to authenticate: OAuth session expired and could not be refreshed1259Failed to authenticate: OAuth session expired and could not be refreshed

1254```1260```

1255 1261 

1256Este não é o mesmo estado que [Token OAuth revogado ou expirado](#oauth-token-revoked-or-expired). Essas mensagens relatam uma rejeição que a API retornou. Claude Code em si produz `Login expired` para um login que já falhou em renovar, portanto, não envia nenhuma solicitação. Quando a renovação falha porque a conta em si está suspensa em vez do login estar obsoleto, Claude Code mostra [Sua conta está em espera](#your-account-is-on-hold).1262Este não é o mesmo estado que [Token OAuth revogado ou expirado](#oauth-token-revoked-or-expired). Aquelas mensagens relatam uma rejeição que a API retornou. O próprio Claude Code produz `Login expired` para um login que ele já não conseguiu renovar, então não envia nenhuma requisição. Quando a renovação falha porque a própria conta está suspensa, e não porque o login está desatualizado, o Claude Code mostra [Sua conta está suspensa](#your-account-is-on-hold).

1257 1263 

1258Sessões autenticadas com uma chave de API, [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/pt/env-vars) ou um provedor de terceiros não usam o login salvo e nunca veem essa mensagem.1264Sessões autenticadas com uma chave de API, [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/pt/env-vars) ou um provedor de terceiros não usam o login salvo e nunca veem esta mensagem.

1259 1265 

1260Você pode verificar esse estado antes de uma solicitação falhar: [`/status`](/docs/pt/commands) mostra uma linha `Login` lendo `Expired — log in again`, mais a organização e email que tem salvo para o login expirado. A linha aparece apenas quando o login salvo é sua credencial ativa e não pode mais ser atualizado. Sessões autenticadas de outra forma não mostram a linha, mesmo que um login expirado permaneça salvo. Antes da v2.1.210, `/status` não dava nenhuma indicação nesse estado de que um login já havia existido, porque a credencial limpa deixou nada para relatar.1266Você pode verificar esse estado antes que uma requisição falhe: o [`/status`](/docs/pt/commands) mostra uma linha `Login` com `Expired — log in again`, além da organização e do e-mail que ele salvou para o login expirado. A linha aparece apenas quando o login salvo é sua credencial ativa e não pode mais ser renovado. Sessões autenticadas de outra forma não mostram a linha, mesmo que um login expirado continue salvo. Antes da v2.1.210, `/status` não dava nenhuma indicação nesse estado de que um login já tivesse existido, porque a credencial apagada não deixava nada para relatar.

1261 1267 

1262**O que fazer:**1268**O que fazer:**

1263 1269 

1264* Execute `/login` para se conectar novamente. Tentar novamente sem se conectar mostra a mesma mensagem em cada solicitação.1270* Execute `/login` para entrar novamente. Tentar novamente sem entrar mostra a mesma mensagem em todas as requisições.

1265* Em modo não interativo, execute `claude` no mesmo ambiente, complete `/login`, depois reexecute seu comando. Para automação que não consegue se conectar interativamente, autentique-se com `ANTHROPIC_API_KEY` ou [gere um token de longa duração com `claude setup-token`](/docs/pt/authentication#generate-a-long-lived-token).1271* Se você entrar com sua conta claude.ai em outra janela do Claude Code, consulte [Não conectado](#not-logged-in) para saber quando esta sessão passa a usar esse login por conta própria.

1266* Se a conexão continuar falhando, veja [Login e autenticação](/docs/pt/troubleshoot-install#login-and-authentication)1272* No modo não interativo, execute `claude` no mesmo ambiente, conclua o `/login` e depois execute seu comando novamente. Para automação que não pode entrar de forma interativa, autentique-se com `ANTHROPIC_API_KEY` ou [gere um token de longa duração com `claude setup-token`](/docs/pt/authentication#generate-a-long-lived-token).

1273* Se entrar continuar falhando, consulte [Login e autenticação](/docs/pt/troubleshoot-install#login-and-authentication)

1267 1274 

1268<h3 id="could-not-refresh-your-login">1275<h3 id="could-not-refresh-your-login">

1269 Não foi possível atualizar seu login porque outro processo Claude Code está atualizando-o1276 Não foi possível renovar seu login porque outro processo do Claude Code está renovando-o

1270</h3>1277</h3>

1271 1278 

1272Esta mensagem não significa que seu login foi rejeitado. Seu login claude.ai salvo havia expirado e precisava ser renovado. Outro processo Claude Code na mesma máquina mantinha o bloqueio de atualização compartilhado, ou saiu e deixou-o para trás, e a atualização não fez progresso enquanto essa sessão esperava. Claude Code para a solicitação antes de enviá-la:1279Esta mensagem não significa que seu login foi rejeitado. Seu login claude.ai salvo havia expirado e precisava ser renovado. Outro processo do Claude Code na mesma máquina mantinha o bloqueio compartilhado de renovação, ou terminou e o deixou para trás, e a renovação não avançou enquanto esta sessão esperava. O Claude Code interrompe a requisição antes de enviá-la:

1273 1280 

1274```text theme={null}1281```text theme={null}

1275Could not refresh your login because another Claude Code process is refreshing it (or exited mid-refresh) · Try again in a minute; if it keeps happening, close other Claude Code windows or sign in again with /login1282Could not refresh your login because another Claude Code process is refreshing it (or exited mid-refresh) · Try again in a minute; if it keeps happening, close other Claude Code windows or sign in again with /login

1276```1283```

1277 1284 

1278Em [modo não interativo](/docs/pt/headless) (`-p`) e no [Agent SDK](/docs/pt/agent-sdk/overview), a mensagem lê como segue, e o código de erro estruturado é `server_error`:1285No [modo não interativo](/docs/pt/headless) (`-p`) e no [Agent SDK](/docs/pt/agent-sdk/overview), a mensagem é a seguinte, e o código de erro estruturado é `server_error`:

1279 1286 

1280```text theme={null}1287```text theme={null}

1281Failed to refresh OAuth token: another Claude Code process is refreshing it or exited mid-refresh. This is usually transient; retry in a minute, and if it persists close other Claude Code processes or sign in again1288Failed to refresh OAuth token: another Claude Code process is refreshing it or exited mid-refresh. This is usually transient; retry in a minute, and if it persists close other Claude Code processes or sign in again

1282```1289```

1283 1290 

1284Sessões autenticadas com uma chave de API, [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/pt/env-vars) ou um provedor de terceiros não usam o login salvo e nunca veem essa mensagem.1291Sessões autenticadas com uma chave de API, [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/pt/env-vars) ou um provedor de terceiros não usam o login salvo e nunca veem esta mensagem.

1285 1292 

1286**O que fazer:**1293**O que fazer:**

1287 1294 

1288* Tente novamente em um minuto. Se outro processo completar a atualização primeiro, essa sessão usa o login renovado.1295* Tente novamente em um minuto. Se outro processo concluir a renovação primeiro, esta sessão usa o login renovado.

1289* Se a mensagem continuar retornando, feche outras janelas e processos Claude Code, depois tente novamente.1296* Se a mensagem continuar voltando, feche outras janelas e processos do Claude Code e tente novamente.

1290* Se retornar sem nenhum outro processo Claude Code em execução, execute `/login`. Conectar-se novamente não espera no bloqueio de atualização.1297* Se ela voltar sem nenhum outro processo do Claude Code em execução, execute `/login`. Entrar novamente não espera pelo bloqueio de renovação.

1291 1298 

1292<h3 id="couldnt-save-your-login">1299<h3 id="couldnt-save-your-login">

1293 Não foi possível salvar seu login1300 Não foi possível salvar seu login

1294</h3>1301</h3>

1295 1302 

1296Você se conectou com claude.ai, mas Claude Code não conseguiu salvar o login em seu armazenamento de credenciais, portanto, o login não foi concluído. No macOS, isso pode acontecer quando o keychain de login é bloqueado, por exemplo, no sono ou ociosidade, depois que Claude Code já leu ou salvou credenciais nele durante a mesma sessão.1303Você entrou com claude.ai, mas o Claude Code não conseguiu salvar o login no seu armazenamento de credenciais, então o login não foi concluído. No macOS, isso pode acontecer quando o keychain de login é bloqueado, por exemplo ao entrar em repouso ou ficar ocioso, depois que o Claude Code já leu ou salvou credenciais nele durante a mesma sessão.

1297 1304 

1298```text theme={null}1305```text theme={null}

1299Couldn't save your login. If your Mac's keychain is locked, unlock it and log in again.1306Couldn't save your login. If your Mac's keychain is locked, unlock it and log in again.

1300Couldn't save your login. Try logging in again.1307Couldn't save your login. Try logging in again.

1301```1308```

1302 1309 

1303A primeira forma aparece no macOS e a segunda em todos os outros lugares. Uma falha transitória de armazenamento de credenciais, como um tempo limite ou um armazenamento ilegível, produz a mesma mensagem.1310A primeira forma aparece no macOS e a segunda em todos os outros lugares. Uma falha transitória do armazenamento de credenciais, como um timeout ou um armazenamento ilegível, produz a mesma mensagem.

1304 1311 

1305**O que fazer:**1312**O que fazer:**

1306 1313 

1307* No macOS, desbloqueie o keychain de login e execute `/login` novamente1314* No macOS, desbloqueie o keychain de login e execute `/login` novamente

1308* Em outras plataformas, execute `/login` novamente1315* Em outras plataformas, execute `/login` novamente

1309* Se o login ainda não for salvo, veja [Não conectado ou token expirado](/docs/pt/troubleshoot-install#not-logged-in-or-token-expired) para o comando de desbloqueio de keychain e outras etapas de recuperação de armazenamento de credenciais1316* Se o login ainda não for salvo, consulte [Não conectado ou token expirado](/docs/pt/troubleshoot-install#not-logged-in-or-token-expired) para o comando de desbloqueio do keychain e outras etapas de recuperação do armazenamento de credenciais

1310 1317 

1311<h3 id="failed-to-start-oauth-callback-server">1318<h3 id="failed-to-start-oauth-callback-server">

1312 Falha ao iniciar servidor de callback OAuth1319 Falha ao iniciar o servidor de callback OAuth

1313</h3>1320</h3>

1314 1321 

1315Quando `/login`, `claude auth login` ou `claude setup-token` o conecta através do navegador, Claude Code abre uma porta de escuta em `127.0.0.1` para que seu navegador possa retornar o resultado da conexão a ele. Esta mensagem significa que Claude Code não conseguiu abrir essa porta, e a conexão para antes de uma janela do navegador ou URL de login aparecer:1322Quando `/login`, `claude auth login` ou `claude setup-token` faz você entrar pelo navegador, o Claude Code abre uma porta de escuta em `127.0.0.1` para que seu navegador possa retornar a ele o resultado do login. Esta mensagem significa que o Claude Code não conseguiu abrir essa porta, e o login é interrompido antes que uma janela do navegador ou URL de login apareça:

1316 1323 

1317```text theme={null}1324```text theme={null}

1318Failed to start OAuth callback server: Failed to start server. Is port 0 in use?1325Failed to start OAuth callback server: Failed to start server. Is port 0 in use?

1319```1326```

1320 1327 

1321Se sua mensagem terminar com `Is port 0 in use?`, a tentativa de escutar no endereço de loopback IPv4 `127.0.0.1` falhou completamente. Como a falha acontece antes de uma URL de login existir, o fluxo `Paste code here if prompted` não está disponível como solução alternativa.1328Se sua mensagem terminar com `Is port 0 in use?`, a tentativa de escutar no endereço de loopback IPv4 `127.0.0.1` falhou completamente. Como a falha acontece antes que exista uma URL de login, o fluxo `Paste code here if prompted` não está disponível como solução alternativa.

1322 1329 

1323**O que fazer:**1330**O que fazer:**

1324 1331 

1325* Para se conectar agora sem o ouvinte local: se você usar uma assinatura claude.ai, execute [`claude setup-token`](/docs/pt/authentication#generate-a-long-lived-token) em uma máquina onde a conexão funciona e defina o token que ele imprime como `CLAUDE_CODE_OAUTH_TOKEN` nesta máquina. Caso contrário, defina `ANTHROPIC_API_KEY` para uma chave do [Claude Console](https://platform.claude.com/settings/keys). [Precedência de autenticação](/docs/pt/authentication#authentication-precedence) explica como Claude Code escolhe entre credenciais.1332* Para entrar imediatamente sem o listener local: se você usa uma assinatura claude.ai, execute [`claude setup-token`](/docs/pt/authentication#generate-a-long-lived-token) em uma máquina onde o login funciona e defina o token que ele imprime como `CLAUDE_CODE_OAUTH_TOKEN` nesta máquina. Caso contrário, defina `ANTHROPIC_API_KEY` com uma chave do [Claude Console](https://platform.claude.com/settings/keys). [Precedência de autenticação](/docs/pt/authentication#authentication-precedence) explica como o Claude Code escolhe entre as credenciais.

1326* Para usar a conexão do navegador nesta máquina, Claude Code deve ser capaz de escutar em `127.0.0.1`. Se ele é executado dentro de uma sandbox, verifique se a política da sandbox permite escutar em portas locais, depois execute `/login` novamente. Se deveria ser capaz e ainda falha, execute `/feedback` para que o relatório inclua detalhes do seu ambiente.1333* Para usar o login pelo navegador nesta máquina, o Claude Code precisa conseguir escutar em `127.0.0.1`. Se ele for executado dentro de um sandbox, verifique se a política do sandbox permite escutar em portas locais e depois execute `/login` novamente. Se ele deveria conseguir e ainda assim falhar, execute `/feedback` para que o relatório inclua os detalhes do seu ambiente.

1327 1334 

1328<h3 id="claude-login-not-accepted">1335<h3 id="claude-login-not-accepted">

1329 Claude login não aceito1336 Login Claude não aceito

1330</h3>1337</h3>

1331 1338 

1332Você tentou iniciar uma [sessão em nuvem](/docs/pt/claude-code-on-the-web) e o servidor recusou criá-la com um 401: não aceitou o login Claude que esta máquina enviou, geralmente porque o login expirou ou foi revogado.1339Você tentou iniciar uma [sessão na nuvem](/docs/pt/claude-code-on-the-web), e o servidor se recusou a criá-la com um 401: ele não aceitou o login Claude que esta máquina enviou, geralmente porque o login expirou ou foi revogado.

1333 1340 

1334A primeira parte da linha é o próprio motivo do servidor quando fornece um. Caso contrário, a linha lê:1341A primeira parte da linha é o próprio motivo do servidor, quando ele fornece um. Caso contrário, a linha diz:

1335 1342 

1336```text theme={null}1343```text theme={null}

1337Claude login not accepted · Run /login, then try again1344Claude login not accepted · Run /login, then try again


1339 1346 

1340**O que fazer:**1347**O que fazer:**

1341 1348 

1342* Execute `/login`, complete a conexão e inicie a sessão novamente1349* Execute `/login`, conclua o login e depois inicie a sessão novamente

1343 1350 

1344<h3 id="artifacts-need-a-claude-ai-login">1351<h3 id="artifacts-need-a-claude-ai-login">

1345 Artefatos precisam de um login claude.ai1352 Artefatos precisam de um login claude.ai

1346</h3>1353</h3>

1347 1354 

1348Claude Code recusou uma publicação ou leitura de [artefato](/docs/pt/artifacts) porque a sessão não tem nenhum login claude.ai que possa usar para artefatos.1355O Claude Code recusou uma publicação ou leitura de [artefato](/docs/pt/artifacts) porque a sessão não tem nenhum login claude.ai que possa usar para artefatos.

1349 1356 

1350Cada forma da mensagem começa com as mesmas palavras, seguidas por um remédio que depende de como sua sessão se autentica. Sem credencial concorrente, lê:1357Todas as formas da mensagem começam com as mesmas palavras, seguidas por uma solução que depende de como sua sessão se autentica. Sem nenhuma credencial concorrente, ela diz:

1351 1358 

1352```text theme={null}1359```text theme={null}

1353Artifacts need a claude.ai login. Run /login and select "Claude account with subscription", then retry — the "Anthropic Console account" option does not provide claude.ai credentials.1360Artifacts need a claude.ai login. Run /login and select "Claude account with subscription", then retry — the "Anthropic Console account" option does not provide claude.ai credentials.


1356**O que fazer:**1363**O que fazer:**

1357 1364 

1358* Execute `/login` e selecione **Claude account with subscription**. A opção **Anthropic Console account** não fornece credenciais claude.ai.1365* Execute `/login` e selecione **Claude account with subscription**. A opção **Anthropic Console account** não fornece credenciais claude.ai.

1359* Quando a mensagem nomeia uma credencial que tem precedência, como `ANTHROPIC_API_KEY`, uma configuração `apiKeyHelper` ou uma chave Console salva por um `/login` anterior, remova-a da forma que a mensagem diz, depois execute `/login`1366* Quando a mensagem nomear uma credencial que tem precedência, como `ANTHROPIC_API_KEY`, uma configuração `apiKeyHelper` ou uma chave do Console salva por um `/login` anterior, remova-a da forma que a mensagem indica e depois execute `/login`

1360* Quando a mensagem diz que essa sessão remota se autentica através da máquina que a iniciou, conecte-se a claude.ai nessa máquina e depois reconecte a sessão1367* Quando a mensagem disser que esta sessão remota se autentica por meio da máquina que a iniciou, entre no claude.ai nessa máquina e depois reconecte a sessão

1361* Quando a mensagem diz que a credencial é injetada pelo ambiente host da sessão, você não consegue alterá-la nessa sessão; inicie uma sessão que está conectada a claude.ai1368* Quando a mensagem disser que a credencial é injetada pelo ambiente host da sessão, você não pode alterá-la nessa sessão; inicie uma sessão conectada ao claude.ai

1362* Veja [Disponibilidade](/docs/pt/artifacts#availability) para os outros requisitos que artefatos têm, como plano, provedor de modelo e política de organização1369* Consulte [Disponibilidade](/docs/pt/artifacts#availability) para os outros requisitos dos artefatos, como plano, provedor do modelo e política da organização

1363 1370 

1364<h3 id="administrator-policy-requires-a-cloud-gateway-sign-in">1371<h3 id="administrator-policy-requires-a-cloud-gateway-sign-in">

1365 A política do administrador requer um login do gateway de nuvem1372 A política do administrador requer um login no Cloud gateway

1366</h3>1373</h3>

1367 1374 

1368As [configurações gerenciadas](/docs/pt/managed-settings) de um administrador nesta máquina definem [`forceLoginMethod`](/docs/pt/settings-reference#forceloginmethod) como `"gateway"` ou definem [`forceLoginGatewayUrl`](/docs/pt/settings-reference#forcelogingatewayurl). A menos que você selecione um provedor de nuvem através de uma variável como `CLAUDE_CODE_USE_BEDROCK`, Claude Code então aceita apenas o login do [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway). Você vê uma de duas mensagens:1375As [configurações gerenciadas](/docs/pt/managed-settings) de um administrador nesta máquina definem [`forceLoginMethod`](/docs/pt/settings-reference#forceloginmethod) como `"gateway"` ou definem [`forceLoginGatewayUrl`](/docs/pt/settings-reference#forcelogingatewayurl). A menos que você selecione um provedor de nuvem por meio de uma variável como `CLAUDE_CODE_USE_BEDROCK`, o Claude Code então aceita apenas o login do [Claude apps gateway](/docs/pt/claude-apps-gateway). Você vê uma de duas mensagens:

1369 1376 

1370```text theme={null}1377```text theme={null}

1371Not signed in to the Cloud gateway — run /login.1378Not signed in to the Cloud gateway — run /login.

1372```1379```

1373 1380 

1374As solicitações de modelo falham com essa mensagem quando a sessão não tem nenhum login de gateway, por exemplo, porque você não executou `/login` desde que a política chegou à máquina.1381As requisições ao modelo falham com esta mensagem quando a sessão não tem login no gateway, por exemplo porque você não executou `/login` desde que a política chegou à máquina.

1375 1382 

1376Se a máquina também contiver uma credencial emitida pela Anthropic e as configurações gerenciadas definirem `forceLoginMethod` ou `forceLoginOrgUUID`, Claude Code sai na inicialização. Essa credencial pode ser uma variável `ANTHROPIC_API_KEY` ou `ANTHROPIC_AUTH_TOKEN`, uma configuração `apiKeyHelper` ou uma chave de API salva por um login Console anterior. A mensagem começa:1383Se a máquina também tiver uma credencial emitida pela Anthropic e as configurações gerenciadas definirem `forceLoginMethod` ou `forceLoginOrgUUID`, o Claude Code termina na inicialização. Essa credencial pode ser uma variável `ANTHROPIC_API_KEY` ou `ANTHROPIC_AUTH_TOKEN`, uma configuração `apiKeyHelper` ou uma chave de API salva por um login anterior no Claude Console. A mensagem começa com:

1377 1384 

1378```text theme={null}1385```text theme={null}

1379Administrator policy requires a Cloud gateway sign-in on this machine; the1386Administrator policy requires a Cloud gateway sign-in on this machine; the


1383 1390 

1384**O que fazer:**1391**O que fazer:**

1385 1392 

1386* Execute `/login` e complete a conexão na tela **Cloud gateway**1393* Execute `/login` e conclua o login na tela **Cloud gateway**

1387* Para a mensagem de inicialização, remova a configuração `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` ou `apiKeyHelper` que você configurou. Para remover uma chave de API Console salva, execute `claude auth logout`, que também remove um login claude.ai salvo. Se você selecionar um provedor de nuvem com `CLAUDE_CODE_USE_*`, a sessão então inicia sem conexão. Caso contrário, inicie `claude` e execute `/login`1394* Para a mensagem de inicialização, remova a configuração `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` ou `apiKeyHelper` que você configurou. Para remover uma chave de API do Console salva, execute `claude auth logout`, que também remove um login claude.ai salvo. Se você selecionar um provedor de nuvem com `CLAUDE_CODE_USE_*`, a sessão então inicia sem login. Caso contrário, inicie o `claude` e execute `/login`

1388* Se você acredita que a máquina não deveria exigir o gateway, peça ao administrador que a gerencia para remover `forceLoginMethod` e `forceLoginGatewayUrl` de suas configurações gerenciadas1395* Se você acredita que a máquina não deveria exigir o gateway, peça ao administrador que a gerencia para remover `forceLoginMethod` e `forceLoginGatewayUrl` de suas configurações gerenciadas

1389 1396 

1390Na v2.1.265, uma regressão também mostrou a primeira mensagem em algumas configurações de gateway LLM e proxy que se autenticam com uma chave de API, `apiKeyHelper` ou cabeçalhos personalizados, mesmo sem nenhum requisito de administrador na máquina. Atualize para v2.1.266 ou posterior. Você não precisa alterar sua configuração.1397Na v2.1.265, uma regressão também mostrava a primeira mensagem em algumas configurações de gateway de LLM e proxy que se autenticam com uma chave de API, `apiKeyHelper` ou cabeçalhos personalizados, mesmo sem nenhum requisito de administrador na máquina. Atualize para a v2.1.266 ou posterior. Você não precisa alterar sua configuração.

1391 1398 

1392Antes da v2.1.261, em máquinas que definem `forceLoginMethod` como `"gateway"`, Claude Code usava um login salvo restante em vez de falhar solicitações de modelo, e relatava uma credencial de ambiente configurada com `This machine's managed settings require a first-party login` em vez da mensagem de inicialização. Antes da v2.1.265, uma máquina cujas configurações gerenciadas definem apenas `forceLoginGatewayUrl` não exigia o login de gateway, e Claude Code usava uma credencial restante lá.1399Antes da v2.1.261, em máquinas que definiam `forceLoginMethod` como `"gateway"`, o Claude Code usava um login salvo remanescente em vez de fazer as requisições ao modelo falharem, e relatava uma credencial de ambiente configurada com `This machine's managed settings require a first-party login` em vez da mensagem de inicialização. Antes da v2.1.265, uma máquina cujas configurações gerenciadas definiam apenas `forceLoginGatewayUrl` não exigia o login no gateway, e o Claude Code usava uma credencial remanescente ali.

1393 1400 

1394<h3 id="your-account-is-on-hold">1401<h3 id="your-account-is-on-hold">

1395 Sua conta está em espera1402 Sua conta está suspensa

1396</h3>1403</h3>

1397 1404 

1398A conta Claude por trás do seu login foi suspensa. Claude Code mostra a primeira mensagem quando tenta renovar seu login salvo e aprende sobre a espera, e a segunda quando uma conexão que você completa no navegador a relata:1405A conta Claude por trás do seu login foi suspensa. O Claude Code mostra a primeira mensagem quando tenta renovar seu login salvo e descobre a suspensão, e a segunda quando um login que você conclui no navegador a informa:

1399 1406 

1400```text theme={null}1407```text theme={null}

1401Your account is on hold and can't use Claude Code. View details or appeal: https://claude.ai/restricted1408Your account is on hold and can't use Claude Code. View details or appeal: https://claude.ai/restricted

1402Your account is on hold and can't sign in to Claude Code. View details or appeal: https://claude.ai/restricted1409Your account is on hold and can't sign in to Claude Code. View details or appeal: https://claude.ai/restricted

1403```1410```

1404 1411 

1405Conectar-se novamente com a mesma conta não limpa a mensagem, porque a espera está na conta em vez do login. Em [modo não interativo](/docs/pt/headless) (`-p`) e no [Agent SDK](/docs/pt/agent-sdk/overview), o código de erro estruturado é `account_on_hold`. Antes da v2.1.235, Claude Code relatava uma conta em espera como [Login expirado · Please run /login](#login-expired), cujas etapas de recuperação não conseguem limpar uma espera.1412Entrar novamente com a mesma conta não elimina a mensagem, porque a suspensão está na conta, e não no login. No [modo não interativo](/docs/pt/headless) (`-p`) e no [Agent SDK](/docs/pt/agent-sdk/overview), o código de erro estruturado é `account_on_hold`. Antes da v2.1.235, o Claude Code relatava uma conta suspensa como [Login expired · Please run /login](#login-expired), cujas etapas de recuperação não podem eliminar uma suspensão.

1406 1413 

1407**O que fazer:**1414**O que fazer:**

1408 1415 

1409* Abra o link na mensagem para visualizar os detalhes da espera ou apelá-la1416* Abra o link na mensagem para ver os detalhes da suspensão ou contestá-la

1410* Se você tiver outra conta Claude ou uma chave de API que não seja afetada pela espera, você pode continuar trabalhando enquanto a espera é resolvida: execute `/login` com essa conta ou defina a chave com `ANTHROPIC_API_KEY`1417* Se você tiver outra conta Claude ou uma chave de API que não seja afetada pela suspensão, pode continuar trabalhando enquanto a suspensão é resolvida: execute `/login` com essa conta ou defina a chave com `ANTHROPIC_API_KEY`

1411 1418 

1412<h3 id="anthropic-profile-login-expired">1419<h3 id="anthropic-profile-login-expired">

1413 Login de perfil Anthropic expirado1420 Login do perfil Anthropic expirado

1414</h3>1421</h3>

1415 1422 

1416Claude Code está se autenticando através de um perfil de credencial Anthropic cuja credencial de login salva expirou, e o perfil não contém nenhuma credencial de atualização que Claude Code possa usar para renová-la. Claude Code para cada solicitação localmente sem tentar novamente, porque uma tentativa novamente leria a mesma credencial expirada.1423O Claude Code está se autenticando por meio de um perfil de credenciais da Anthropic cuja credencial de login salva expirou, e o perfil não contém nenhuma credencial de renovação que o Claude Code possa usar para renová-la. O Claude Code interrompe cada requisição localmente sem tentar novamente, porque uma nova tentativa leria a mesma credencial expirada.

1417 1424 

1418```text theme={null}1425```text theme={null}

1419Anthropic profile login expired · Re-authenticate your Anthropic profile1426Anthropic profile login expired · Re-authenticate your Anthropic profile

1420Anthropic profile login expired · Run /login to use your claude.ai account instead, or re-authenticate the profile1427Anthropic profile login expired · Run /login to use your claude.ai account instead, or re-authenticate the profile

1421```1428```

1422 1429 

1423Isso aparece apenas quando a credencial ativa vem de um perfil de credencial Anthropic, um que você seleciona com a variável de ambiente `ANTHROPIC_PROFILE`, que Claude Code descobre como o perfil ativo em seu diretório de configuração Anthropic, ou que Claude Code escreveu quando você [se conectou sem uma chave de API](/docs/pt/authentication#sign-in-without-an-api-key). Sessões que se autenticam com uma chave de API, um token de portador como `ANTHROPIC_AUTH_TOKEN` ou um provedor de terceiros nunca veem essa mensagem.1430Isso aparece apenas quando a credencial ativa vem de um perfil de credenciais da Anthropic: um que você seleciona com a variável de ambiente `ANTHROPIC_PROFILE`, que o Claude Code descobre como o perfil ativo no seu diretório de configuração da Anthropic, ou que o Claude Code gravou quando você [entrou sem uma chave de API](/docs/pt/authentication#sign-in-without-an-api-key). Sessões que se autenticam com uma chave de API, um token bearer como `ANTHROPIC_AUTH_TOKEN` ou um provedor de terceiros nunca veem esta mensagem.

1424 1431 

1425Em uma máquina que [oferece a conexão sem chave](/docs/pt/authentication#sign-in-without-an-api-key), execute `/login`, escolha a conta Anthropic Console e conecte-se novamente para renovar um perfil que a conexão Console sem chave ou o `ant auth login` do CLI da Plataforma Claude escreveu. Claude Code substitui a credencial expirada nesse perfil. Para um perfil de federação ou um que outra ferramenta criou, `/login` não renova a credencial. Qual forma você vê depende se você selecionou o perfil ou Claude Code o descobriu:1432Em uma máquina que [oferece o login sem chave](/docs/pt/authentication#sign-in-without-an-api-key), execute `/login`, escolha a conta do Anthropic Console e entre novamente para renovar um perfil que o login sem chave do Console ou o `ant auth login` da CLI da Claude Platform gravou. O Claude Code substitui a credencial expirada nesse perfil. Para um perfil de federação ou um criado por outra ferramenta, `/login` não renova a credencial. A forma que você vê depende de você ter selecionado o perfil ou de o Claude Code tê-lo descoberto:

1426 1433 

1427* Quando você define `ANTHROPIC_PROFILE` explicitamente, a mensagem termina com `Re-authenticate your Anthropic profile`.1434* Quando você define `ANTHROPIC_PROFILE` explicitamente, a mensagem termina com `Re-authenticate your Anthropic profile`.

1428* Quando Claude Code descobriu o perfil do seu diretório de configuração, a mensagem oferece `/login`, porque Claude Code dá precedência a um `/login` funcional sobre o perfil descoberto e então se autentica com sua conta claude.ai ou Console. Antes da v2.1.234, Claude Code mostrava o formulário `Re-authenticate your Anthropic profile` neste caso também.1435* Quando o Claude Code descobriu o perfil a partir do seu diretório de configuração, a mensagem oferece `/login`, porque o Claude Code dá a um `/login` funcional precedência sobre o perfil descoberto e então se autentica com sua conta claude.ai ou do Console. Antes da v2.1.234, o Claude Code mostrava a forma `Re-authenticate your Anthropic profile` nesse caso também.

1429 1436 

1430**O que fazer:**1437**O que fazer:**

1431 1438 

1432* Conecte-se ao perfil novamente e tente novamente: em uma máquina que [oferece a conexão sem chave](/docs/pt/authentication#sign-in-without-an-api-key), execute `/login` e escolha a conta Anthropic Console para um perfil que a conexão Console sem chave ou o `ant auth login` do CLI da Plataforma Claude escreveu; para outros perfis, use a ferramenta que os criou1439* Entre no perfil novamente e tente outra vez: em uma máquina que [oferece o login sem chave](/docs/pt/authentication#sign-in-without-an-api-key), execute `/login` e escolha a conta do Anthropic Console para um perfil que o login sem chave do Console ou o `ant auth login` da CLI da Claude Platform gravou; para outros perfis, use a ferramenta que os criou

1433* Se um administrador provisionou a credencial do perfil, peça a ele para emitir uma nova1440* Se um administrador provisionou a credencial do perfil, peça que ele emita uma nova

1434* Execute `/status` para confirmar a fonte de credencial ativa e o nome do perfil1441* Execute `/status` para confirmar a fonte de credencial ativa e o nome do perfil

1435* Para parar de usar o perfil, desdefina `ANTHROPIC_PROFILE` se você o definiu, depois autentique-se de outra forma, como `/login` ou `ANTHROPIC_API_KEY`1442* Para parar de usar o perfil, remova a definição de `ANTHROPIC_PROFILE` se você a definiu e depois autentique-se de outra forma, como `/login` ou `ANTHROPIC_API_KEY`

1436 1443 

1437<h3 id="oauth-scope-requirement">1444<h3 id="oauth-scope-requirement">

1438 Requisito de escopo OAuth1445 Requisito de escopo OAuth

1439</h3>1446</h3>

1440 1447 

1441O token armazenado é anterior a um escopo de permissão que um recurso mais novo precisa:1448O token armazenado é anterior a um escopo de permissão de que um recurso mais recente precisa:

1442 1449 

1443```text theme={null}1450```text theme={null}

1444OAuth token does not meet scope requirement: user:profile1451OAuth token does not meet scope requirement: user:profile


1446 1453 

1447**O que fazer:**1454**O que fazer:**

1448 1455 

1449* Execute `/login` para obter um novo token com os escopos atuais. Você não precisa fazer logout primeiro.1456* Execute `/login` para obter um novo token com os escopos atuais. Você não precisa fazer logout antes.

1450 1457 

1451<h3 id="claude-ai-rejected-the-session-token">1458<h3 id="claude-ai-rejected-the-session-token">

1452 claude.ai rejeitou o token da sessão1459 O claude.ai rejeitou o token de sessão

1453</h3>1460</h3>

1454 1461 

1455Uma solicitação de [conector claude.ai](/docs/pt/mcp#use-mcp-servers-from-claude-ai) falhou porque claude.ai rejeitou o token do seu login Claude Code. O token rejeitado é seu login, não a autorização própria do conector em claude.ai, portanto, autorizar o conector novamente não o resolve. Em `/mcp`, o conector mostra como `session token rejected` e sua visualização de detalhes lê:1462Uma requisição de um [conector do claude.ai](/docs/pt/mcp#use-mcp-servers-from-claude-ai) falhou porque o claude.ai rejeitou o token do seu login do Claude Code. O token rejeitado é o seu login, não a autorização própria do conector no claude.ai, portanto autorizar o conector novamente não resolve o problema. Em `/mcp`, o conector aparece como `session token rejected` e sua visualização de detalhes diz:

1456 1463 

1457```text theme={null}1464```text theme={null}

1458claude.ai rejected the session token. Run /login, then reconnect.1465claude.ai rejected the session token. Run /login, then reconnect.


1460 1467 

1461**O que fazer:**1468**O que fazer:**

1462 1469 

1463* Execute `/login` para se conectar novamente1470* Execute `/login` para entrar novamente

1464* Reconecte o conector de `/mcp` ou execute `/mcp reconnect <server>`. Reconectar antes de se conectar novamente deixa o conector no mesmo estado. A opção **Reconnect** do painel `/mcp` relata `your claude.ai session token was rejected`; o formulário digitado `/mcp reconnect <server>` relata uma reconexão bem-sucedida mesmo que o token ainda seja rejeitado.1471* Reconecte o conector a partir de `/mcp`, ou execute `/mcp reconnect <server>`. Reconectar antes de entrar novamente deixa o conector no mesmo estado. A opção **Reconnect** do painel `/mcp` relata `your claude.ai session token was rejected`; a forma digitada `/mcp reconnect <server>` relata uma reconexão bem-sucedida mesmo que o token ainda seja rejeitado.

1465 1472 

1466Antes da v2.1.222, Claude Code marcava o conector como precisando de autenticação, o que apontava você para o fluxo de autorização do conector mesmo que completá-lo não resolvesse o estado.1473Antes da v2.1.222, o Claude Code marcava o conector como precisando de autenticação, o que direcionava você para o fluxo de autorização do conector, embora concluí-lo não resolvesse o estado.

1467 1474 

1468<h3 id="mcp-server-needs-you-to-sign-in-again">1475<h3 id="mcp-server-needs-you-to-sign-in-again">

1469 Servidor MCP precisa que você se conecte novamente1476 O servidor MCP precisa que você entre novamente

1470</h3>1477</h3>

1471 1478 

1472Um [servidor MCP](/docs/pt/mcp) remoto rejeitou a credencial em uma chamada de ferramenta no meio da sessão, geralmente porque uma conexão ou token expirou ou porque o token carece de uma permissão que a ferramenta precisa. A chamada de ferramenta falha e `/mcp` marca o servidor como [precisando de autenticação](/docs/pt/mcp#authenticate-with-remote-mcp-servers).1479Um [servidor MCP](/docs/pt/mcp) remoto rejeitou a credencial em uma chamada de ferramenta no meio da sessão, geralmente porque um login ou token expirou ou porque o token não tem uma permissão de que a ferramenta precisa. A chamada de ferramenta falha, e `/mcp` marca o servidor como [precisando de autenticação](/docs/pt/mcp#authenticate-with-remote-mcp-servers).

1473 1480 

1474Para um servidor que você se conecta a partir de Claude Code, incluindo um conector claude.ai, a conexão expirou ou foi revogada:1481Para um servidor no qual você entra a partir do Claude Code, incluindo um conector do claude.ai, o login expirou ou foi revogado:

1475 1482 

1476```text theme={null}1483```text theme={null}

1477MCP server "<name>" needs you to sign in again (run /mcp to re-authenticate)1484MCP server "<name>" needs you to sign in again (run /mcp to re-authenticate)

1478```1485```

1479 1486 

1480Execute `/mcp`, selecione o servidor e conecte-se novamente a partir de seu menu.1487Execute `/mcp`, selecione o servidor e entre novamente a partir do menu dele.

1481 1488 

1482Para um servidor configurado com um script [`headersHelper`](/docs/pt/mcp#use-dynamic-headers-for-custom-authentication), Claude Code já reexecutou o helper e tentou novamente a chamada uma vez antes de mostrar isso:1489Para um servidor configurado com um script [`headersHelper`](/docs/pt/mcp#use-dynamic-headers-for-custom-authentication), o Claude Code já executou o helper novamente e tentou a chamada novamente uma vez antes de mostrar isto:

1483 1490 

1484```text theme={null}1491```text theme={null}

1485MCP server "<name>" rejected the credential from its headersHelper (check the helper and run /mcp to reconnect, or to authenticate if the server also uses OAuth)1492MCP server "<name>" rejected the credential from its headersHelper (check the helper and run /mcp to reconnect, or to authenticate if the server also uses OAuth)

1486```1493```

1487 1494 

1488Verifique se o helper retorna uma credencial que o servidor aceita, depois reconecte de `/mcp`, que executa o helper novamente.1495Verifique se o helper retorna uma credencial que o servidor aceita e depois reconecte a partir de `/mcp`, que executa o helper novamente.

1489 1496 

1490Para um servidor com um cabeçalho `Authorization` estático em sua configuração:1497Para um servidor com um cabeçalho `Authorization` estático em sua configuração:

1491 1498 


1493MCP server "<name>" rejected the Authorization header in its config (update it, then run /mcp to reconnect)1500MCP server "<name>" rejected the Authorization header in its config (update it, then run /mcp to reconnect)

1494```1501```

1495 1502 

1496Atualize o valor do cabeçalho onde o servidor está configurado, depois reconecte de `/mcp`.1503Atualize o valor do cabeçalho onde o servidor está configurado e depois reconecte a partir de `/mcp`.

1497 1504 

1498Antes da v2.1.273, a conexão expirada, `headersHelper` e os casos de cabeçalho `Authorization` todos mostravam `MCP server "<name>" requires re-authorization (token expired)`.1505Antes da v2.1.273, os casos de login expirado, `headersHelper` e cabeçalho `Authorization` mostravam todos `MCP server "<name>" requires re-authorization (token expired)`.

1499 1506 

1500Um servidor também pode recusar uma chamada de ferramenta com HTTP 403 `insufficient_scope` para pedir que você autorize um escopo, às vezes um que seu token já lista. A mensagem nomeia esse escopo:1507Um servidor também pode recusar uma chamada de ferramenta com HTTP 403 `insufficient_scope` para pedir que você autorize um escopo, às vezes um que seu token já lista. A mensagem nomeia esse escopo:

1501 1508 


1503MCP server "<name>" needs additional permissions (scope: "<scope>") — run /mcp to re-authenticate1510MCP server "<name>" needs additional permissions (scope: "<scope>") — run /mcp to re-authenticate

1504```1511```

1505 1512 

1506Execute `/mcp`, selecione o servidor e autentique-se novamente a partir de seu menu.1513Execute `/mcp`, selecione o servidor e autentique-se novamente a partir do menu dele.

1507 1514 

1508Quando a configuração do servidor não define [`oauth.scopes`](/docs/pt/mcp#restrict-oauth-scopes) nem [`authServerMetadataUrl`](/docs/pt/mcp#override-oauth-metadata-discovery), Claude Code solicita o escopo que o servidor nomeou. Com qualquer configuração, Claude Code solicita os escopos dessa configuração. Se você fixou `oauth.scopes`, adicione o escopo ausente a essa lista antes de se autenticar novamente.1515Quando a configuração do servidor não define nem [`oauth.scopes`](/docs/pt/mcp#restrict-oauth-scopes) nem [`authServerMetadataUrl`](/docs/pt/mcp#override-oauth-metadata-discovery), o Claude Code solicita o escopo que o servidor nomeou. Com qualquer uma dessas configurações, o Claude Code solicita os escopos dessa configuração. Se você fixou `oauth.scopes`, adicione o escopo ausente a essa lista antes de se autenticar novamente.

1509 1516 

1510Antes da v2.1.274, este caso mostrava a mensagem `needs you to sign in again`, e antes da v2.1.273 mostrava `requires re-authorization (token expired)` como os outros casos.1517Antes da v2.1.274, este caso mostrava a mensagem `needs you to sign in again`, e antes da v2.1.273 mostrava `requires re-authorization (token expired)` como os outros casos.

1511 1518 

1512<h3 id="mcp-server-url-is-missing-or-not-a-valid-url">1519<h3 id="mcp-server-url-is-missing-or-not-a-valid-url">

1513 URL do servidor MCP está faltando ou não é uma URL válida1520 A URL do servidor MCP está ausente ou não é uma URL válida

1514</h3>1521</h3>

1515 1522 

1516Claude Code recusou iniciar um login OAuth para um servidor MCP remoto porque a `url` configurada do servidor não é analisada como uma URL. A menos que Claude Code tenha um problema de configuração mais específico para relatar para o servidor, executar [`claude mcp login <name>`](/docs/pt/mcp#authenticate-from-the-command-line) no seu shell imprime a recusa como:1523O Claude Code se recusou a iniciar um login OAuth para um servidor MCP remoto porque a `url` configurada do servidor não é interpretada como uma URL. A menos que o Claude Code tenha um problema de configuração mais específico a relatar para o servidor, executar [`claude mcp login <name>`](/docs/pt/mcp#authenticate-from-the-command-line) no seu shell imprime a recusa como:

1517 1524 

1518```text theme={null}1525```text theme={null}

1519Couldn't complete authentication for "<name>": This server's URL is missing or not a valid URL, so sign-in can't start. Fix the URL in its MCP config (or set the environment variable it uses) and try again.1526Couldn't complete authentication for "<name>": This server's URL is missing or not a valid URL, so sign-in can't start. Fix the URL in its MCP config (or set the environment variable it uses) and try again.


1521 1528 

1522**O que fazer:**1529**O que fazer:**

1523 1530 

1524* Defina a entrada `url` para o endpoint real do servidor onde o servidor está configurado, ou defina a variável de ambiente que sua referência [`${VAR}`](/docs/pt/mcp#environment-variable-expansion-in-mcp-json) nomeia, depois execute a conexão novamente.1531* Defina a `url` da entrada como o endpoint real do servidor onde o servidor está configurado, ou defina a variável de ambiente que sua [referência `${VAR}`](/docs/pt/mcp#environment-variable-expansion-in-mcp-json) nomeia, e depois execute o login novamente.

1525 1532 

1526<h3 id="issuer-mismatch-in-authorization-response">1533<h3 id="issuer-mismatch-in-authorization-response">

1527 Incompatibilidade de emissor na resposta de autorização1534 Incompatibilidade de emissor na resposta de autorização

1528</h3>1535</h3>

1529 1536 

1530Durante um [login OAuth MCP](/docs/pt/mcp#authenticate-with-remote-mcp-servers), o servidor de autorização redirecionou de volta para Claude Code com um parâmetro `iss` que não nomeia o emissor que Claude Code esperava dos metadados OAuth do servidor. Um emissor errado nesta etapa é como um ataque de mistura de servidor de autorização se parece, portanto, Claude Code falha a conexão em vez de trocar o código de autorização. Claude Code mostra o erro no menu do servidor `/mcp` após a conexão do navegador:1537Durante um [login OAuth do MCP](/docs/pt/mcp#authenticate-with-remote-mcp-servers), o servidor de autorização redirecionou de volta para o Claude Code com um parâmetro `iss` que não nomeia o emissor que o Claude Code esperava com base nos metadados OAuth do servidor. Um emissor incorreto nesta etapa é a aparência de um ataque de confusão de servidor de autorização (mix-up), então o Claude Code faz o login falhar em vez de trocar o código de autorização. O Claude Code mostra o erro no menu do servidor em `/mcp` após o login pelo navegador:

1531 1538 

1532```text theme={null}1539```text theme={null}

1533Issuer mismatch in authorization response (RFC 9207): expected "https://auth.example.com", received "https://other.example.com"1540Issuer mismatch in authorization response (RFC 9207): expected "https://auth.example.com", received "https://other.example.com"

1534```1541```

1535 1542 

1536`expected` é o emissor dos metadados OAuth do servidor, e `received` é o valor `iss` que o redirecionamento carregava. Uma conexão cujo redirecionamento não carrega nenhum parâmetro `iss` passa na verificação, a menos que os metadados do servidor definam `authorization_response_iss_parameter_supported`, nesse caso Claude Code falha a conexão.1543`expected` é o emissor dos metadados OAuth do servidor, e `received` é o valor `iss` que o redirecionamento trouxe. Um login cujo redirecionamento não traz nenhum parâmetro `iss` passa na verificação, a menos que os metadados do servidor definam `authorization_response_iss_parameter_supported`; nesse caso, o Claude Code faz o login falhar.

1537 1544 

1538**O que fazer:**1545**O que fazer:**

1539 1546 

1540* Tente a conexão novamente de `/mcp`1547* Tente o login novamente a partir de `/mcp`

1541* Se o erro se repetir, relate-o ao operador do servidor. A correção é do lado do servidor: o servidor de autorização deve retornar o mesmo emissor no parâmetro `iss` que ele anuncia em seus metadados1548* Se o erro se repetir, relate-o ao operador do servidor. A correção é do lado do servidor: o servidor de autorização deve retornar no parâmetro `iss` o mesmo emissor que anuncia em seus metadados

1542* Para conectar enquanto o servidor está sendo corrigido, inicie Claude Code com [`MCP_SDK_GENERATION=v1`](/docs/pt/env-vars), cujo [runtime](/docs/pt/mcp#mcp-client-runtimes) não executa essa verificação. Isso remove uma proteção contra ataques de mistura, portanto, prefira a correção do lado do servidor1549* Para se conectar enquanto o servidor está sendo corrigido, inicie o Claude Code com [`MCP_SDK_GENERATION=v1`](/docs/pt/env-vars), cujo [runtime](/docs/pt/mcp#mcp-client-runtimes) não executa essa verificação. Isso remove uma proteção contra ataques de mix-up, então prefira a correção do lado do servidor

1543 1550 

1544Antes da v2.1.232, Claude Code usava o runtime v2 apenas em um lançamento gradual ou quando você definia `MCP_SDK_GENERATION=v2`.1551Antes da v2.1.232, o Claude Code usava o runtime v2 apenas em uma implantação gradual ou quando você definia `MCP_SDK_GENERATION=v2`.

1545 1552 

1546<h3 id="refusing-to-send-credentials-to-non-https-token-endpoint">1553<h3 id="refusing-to-send-credentials-to-non-https-token-endpoint">

1547 Recusando enviar credenciais para endpoint de token não-https1554 Recusa em enviar credenciais para endpoint de token não https

1548</h3>1555</h3>

1549 1556 

1550No [runtime v2](/docs/pt/mcp#mcp-client-runtimes), Claude Code envia uma solicitação de token [OAuth MCP](/docs/pt/mcp#authenticate-with-remote-mcp-servers) apenas para um endpoint de token servido sobre HTTPS ou em `localhost`, `127.0.0.1` ou `::1`. Esta mensagem significa que o endpoint de token do servidor não é nenhum desses, portanto, Claude Code parou antes de enviar a solicitação. Isso acontece após a conexão do navegador, portanto, a etapa do navegador tem sucesso primeiro, e novamente sempre que Claude Code atualiza o token do servidor.1557No [runtime v2](/docs/pt/mcp#mcp-client-runtimes), o Claude Code envia uma requisição de token do [OAuth do MCP](/docs/pt/mcp#authenticate-with-remote-mcp-servers) apenas para um endpoint de token servido por HTTPS ou em `localhost`, `127.0.0.1` ou `::1`. Esta mensagem significa que o endpoint de token do servidor não é nenhum deles, então o Claude Code parou antes de enviar a requisição. Isso acontece após o login pelo navegador, então a etapa do navegador é bem-sucedida primeiro, e novamente sempre que o Claude Code renova o token do servidor.

1551 1558 

1552Em sua forma completa, a mensagem vem do SDK MCP e cita o endpoint de token que recusou. No log de depuração, segue `Error during auth completion:` para uma conexão ou `Token refresh failed:` para uma atualização. No seu shell, `claude mcp login <name>` o imprime após `Couldn't complete authentication for "<name>":`, e em uma sessão, `/mcp` o mostra sob o menu do servidor:1559Em sua forma completa, a mensagem vem do MCP SDK e cita o endpoint de token que ele recusou. No log de depuração, ela aparece após `Error during auth completion:` para um login ou `Token refresh failed:` para uma renovação. No seu shell, `claude mcp login <name>` a imprime após `Couldn't complete authentication for "<name>":`, e em uma sessão, `/mcp` a mostra no menu do servidor:

1553 1560 

1554```text theme={null}1561```text theme={null}

1555Refusing to send credentials to non-https token endpoint 'http://192.168.1.50:8123/oauth/token'. OAuth token requests MUST use TLS (localhost / 127.0.0.1 / ::1 are exempt).1562Refusing to send credentials to non-https token endpoint 'http://192.168.1.50:8123/oauth/token'. OAuth token requests MUST use TLS (localhost / 127.0.0.1 / ::1 are exempt).

1556```1563```

1557 1564 

1558Claude Code trata uma URL de servidor que tem uma string de consulta ou um segmento de caminho longo e aleatório como possivelmente secreto. Para tal servidor, ele redige os erros de conexão que o SDK MCP levanta antes de mostrá-los ou registrá-los. Este erro então lê como um nome curto que pode mudar entre versões, como `io`, seguido por `from the MCP SDK for` e a URL do servidor redigida. Outros erros do SDK MCP assumem a mesma forma lá. A mensagem redigida pode ser este erro apenas quando o endpoint de token do servidor é `http://` simples em um endereço diferente de `localhost`, `127.0.0.1` ou `::1`.1565O Claude Code trata uma URL de servidor que tem uma query string ou um segmento de caminho longo com aparência aleatória como possivelmente secreta. Para esse servidor, ele oculta os erros de login que o MCP SDK gera antes de mostrá-los ou registrá-los em log. Esse erro então aparece como um nome curto que pode mudar entre versões, como `io`, seguido de `from the MCP SDK for` e a URL do servidor ocultada. Outros erros do MCP SDK assumem a mesma forma nesse caso. A mensagem ocultada pode ser este erro apenas quando o endpoint de token do servidor é `http://` simples em um endereço diferente de `localhost`, `127.0.0.1` ou `::1`.

1559 1566 

1560**O que fazer:**1567**O que fazer:**

1561 1568 

1562* Sirva esse endpoint de token sobre HTTPS, por exemplo, colocando o servidor atrás de um proxy reverso ou túnel que termina TLS e configurando o servidor para anunciar o endereço `https://`1569* Sirva esse endpoint de token por HTTPS, por exemplo colocando o servidor atrás de um proxy reverso ou túnel que termine o TLS e configurando o servidor para anunciar o endereço `https://`

1563* Para conectar sem alterar o servidor, inicie Claude Code com [`MCP_SDK_GENERATION=v1`](/docs/pt/env-vars), cujo [runtime](/docs/pt/mcp#mcp-client-runtimes) não aplica essa regra e envia a solicitação de token sobre HTTP simples. Essa escolha dura até você sair e se aplica a cada servidor. O runtime v1 também pula a [verificação de emissor](#issuer-mismatch-in-authorization-response), portanto, prefira servir o endpoint sobre HTTPS1570* Para se conectar sem alterar o servidor, inicie o Claude Code com [`MCP_SDK_GENERATION=v1`](/docs/pt/env-vars), cujo [runtime](/docs/pt/mcp#mcp-client-runtimes) não aplica essa regra e envia a requisição de token por HTTP simples. Essa escolha dura até você sair e se aplica a todos os servidores. O runtime v1 também ignora a [verificação do emissor](#issuer-mismatch-in-authorization-response), então prefira servir o endpoint por HTTPS

1564 1571 

1565<h3 id="aws-credentials-expired-or-invalid">1572<h3 id="aws-credentials-expired-or-invalid">

1566 Credenciais AWS expiradas ou inválidas1573 Credenciais AWS expiradas ou inválidas

1567</h3>1574</h3>

1568 1575 

1569Seu token de sessão AWS expirou ou foi rejeitado. Esta mensagem aparece em um 401 de [Claude Platform on AWS](/docs/pt/claude-platform-on-aws) ou do [endpoint Mantle](/docs/pt/amazon-bedrock#use-the-mantle-endpoint), que é como esses provedores relatam um token de segurança expirado.1576Seu token de sessão AWS expirou ou foi rejeitado. Esta mensagem aparece em um 401 da [Claude Platform on AWS](/docs/pt/claude-platform-on-aws) ou do [endpoint Mantle](/docs/pt/amazon-bedrock#use-the-mantle-endpoint), que é como esses provedores relatam um token de segurança expirado.

1570 1577 

1571A dica de ação no meio varia com sua configuração. A parte estável é o `AWS credentials expired or invalid` inicial:1578A dica de ação no meio varia de acordo com sua configuração. A parte estável é o início `AWS credentials expired or invalid`:

1572 1579 

1573```text theme={null}1580```text theme={null}

1574AWS credentials expired or invalid · run /login and select "Claude Platform on AWS · refresh credentials", or run `aws sso login --profile myprofile` in another terminal · API Error: 401 ...1581AWS credentials expired or invalid · run /login and select "Claude Platform on AWS · refresh credentials", or run `aws sso login --profile myprofile` in another terminal · API Error: 401 ...

1575```1582```

1576 1583 

1577Antes da v2.1.273, essa mensagem aparecia apenas quando `awsAuthRefresh` estava configurado.1584Antes da v2.1.273, esta mensagem aparecia apenas quando `awsAuthRefresh` estava configurado.

1578 1585 

1579**O que fazer:**1586**O que fazer:**

1580 1587 

1581* Se a dica disser que as credenciais são gerenciadas por este ambiente, o aplicativo que iniciou Claude Code possui a credencial e as outras etapas aqui não se aplicam: tente novamente ou entre em contato com seu administrador1588* Se a dica disser que as credenciais são gerenciadas por este ambiente, o aplicativo que iniciou o Claude Code é o dono da credencial e as outras etapas aqui não se aplicam: tente novamente ou entre em contato com seu administrador

1582* Se [`awsAuthRefresh`](/docs/pt/amazon-bedrock#advanced-credential-configuration) estiver definido, execute o comando nomeado na mensagem, como `aws sso login --profile myprofile`, em outro terminal e complete a conexão do navegador, depois tente novamente. Caso contrário, atualize a credencial AWS que você usa: sua conexão SSO, chaves de acesso, chave de API ou token de proxy1589* Se [`awsAuthRefresh`](/docs/pt/amazon-bedrock#advanced-credential-configuration) estiver definido, execute o comando nomeado na mensagem, como `aws sso login --profile myprofile`, em outro terminal e conclua o login pelo navegador, depois tente novamente. Caso contrário, renove você mesmo a credencial AWS que usa: seu login SSO, chaves de acesso, chave de API ou token de proxy

1583* Com `awsAuthRefresh` definido em uma sessão interativa, você pode executar `/login`, escolher **3rd-party platform**, depois selecionar **Claude Platform on AWS · refresh credentials** em **Using 3rd-party platforms** para executar o mesmo comando sem reiniciar Claude Code. Veja [Configurar credenciais AWS](/docs/pt/claude-platform-on-aws#1-configure-aws-credentials)1590* Com `awsAuthRefresh` definido em uma sessão interativa, você pode, em vez disso, executar `/login`, escolher **3rd-party platform** e depois selecionar **Claude Platform on AWS · refresh credentials** em **Using 3rd-party platforms** para executar o mesmo comando sem reiniciar o Claude Code. Consulte [Configurar credenciais AWS](/docs/pt/claude-platform-on-aws#1-configure-aws-credentials)

1584* Se o erro se repetir após o comando de atualização ter sucesso, confirme que a identidade é válida fora de Claude Code com `aws sts get-caller-identity` no mesmo shell e perfil1591* Se o erro se repetir depois que o comando de renovação for bem-sucedido, confirme que a identidade é válida fora do Claude Code com `aws sts get-caller-identity` no mesmo shell e perfil

1585 1592 

1586<h3 id="aws-authentication-failed">1593<h3 id="aws-authentication-failed">

1587 Falha na autenticação AWS1594 Falha na autenticação AWS

1588</h3>1595</h3>

1589 1596 

1590Seu provedor AWS retornou um 403, ou [Amazon Bedrock](/docs/pt/amazon-bedrock) retornou um 401.1597Seu provedor AWS retornou um 403, ou o [Amazon Bedrock](/docs/pt/amazon-bedrock) retornou um 401.

1591 1598 

1592Amazon Bedrock relata um token de segurança expirado como um 403, mas um 403 também é como ele relata uma negação de autorização, como um `AccessDeniedException` de uma permissão IAM ausente. Claude Code não consegue distinguir essas duas causas.1599O Amazon Bedrock relata um token de segurança expirado como um 403, mas um 403 também é como ele relata uma negação de autorização, como uma `AccessDeniedException` devido a uma permissão IAM ausente. O Claude Code não consegue distinguir essas duas causas.

1593 1600 

1594Um 401 de Amazon Bedrock também chega aqui em vez de em [Credenciais AWS expiradas ou inválidas](#aws-credentials-expired-or-invalid), porque Amazon Bedrock não relata um token expirado como um 401. Um 401 desse endpoint geralmente vem de algo mais no caminho da solicitação, como um proxy corporativo.1601Um 401 do Amazon Bedrock também cai aqui em vez de em [Credenciais AWS expiradas ou inválidas](#aws-credentials-expired-or-invalid), porque o Amazon Bedrock não relata um token expirado como um 401. Um 401 desse endpoint normalmente vem de outra coisa no caminho da requisição, como um proxy corporativo.

1595 1602 

1596Uma atualização de credencial corrige um token expirado e não consegue corrigir as outras causas, portanto, a mensagem oferece ambas:1603Uma renovação de credencial corrige um token expirado e não pode corrigir as outras causas, então a mensagem oferece ambas:

1597 1604 

1598```text theme={null}1605```text theme={null}

1599AWS authentication failed · run /login and select "Claude Platform on AWS · refresh credentials", or run `aws sso login --profile myprofile` in another terminal · if credentials are current, check AWS permissions and model access · API Error: 403 ...1606AWS authentication failed · run /login and select "Claude Platform on AWS · refresh credentials", or run `aws sso login --profile myprofile` in another terminal · if credentials are current, check AWS permissions and model access · API Error: 403 ...

1600```1607```

1601 1608 

1602A dica de ação no meio varia com sua configuração. A parte estável é o `AWS authentication failed` inicial.1609A dica de ação no meio varia de acordo com sua configuração. A parte estável é o início `AWS authentication failed`.

1603 1610 

1604Quando o 403 é a resposta de Amazon Bedrock de que você não tem acesso ao modelo com a ID de modelo especificada, a dica em vez disso diz que você habilite o modelo para sua conta e região no console Amazon Bedrock.1611Quando o 403 é a resposta do Amazon Bedrock de que você não tem acesso ao modelo com o ID de modelo especificado, a dica diz para habilitar o modelo para sua conta e região no console do Amazon Bedrock.

1605 1612 

1606Antes da v2.1.273, essa mensagem aparecia apenas quando `awsAuthRefresh` estava configurado.1613Antes da v2.1.273, esta mensagem aparecia apenas quando `awsAuthRefresh` estava configurado.

1607 1614 

1608**O que fazer:**1615**O que fazer:**

1609 1616 

1610* Se a dica disser que as credenciais são gerenciadas por este ambiente, o aplicativo que iniciou Claude Code possui a credencial e as outras etapas aqui não se aplicam: tente novamente ou entre em contato com seu administrador1617* Se a dica disser que as credenciais são gerenciadas por este ambiente, o aplicativo que iniciou o Claude Code é o dono da credencial e as outras etapas aqui não se aplicam: tente novamente ou entre em contato com seu administrador

1611* Atualize suas credenciais AWS em caso de uma credencial expirada ser a causa: execute o comando [`awsAuthRefresh`](/docs/pt/amazon-bedrock#advanced-credential-configuration) nomeado na mensagem quando um estiver definido, ou atualize sua conexão SSO, chaves de acesso, chave de API ou token de proxy1618* Renove suas credenciais AWS caso uma credencial expirada seja a causa: execute o comando [`awsAuthRefresh`](/docs/pt/amazon-bedrock#advanced-credential-configuration) nomeado na mensagem quando houver um definido, ou renove você mesmo seu login SSO, chaves de acesso, chave de API ou token de proxy

1612* Se suas credenciais estão atuais, confirme as permissões IAM em [Configuração IAM](/docs/pt/amazon-bedrock#iam-configuration) estão anexadas à identidade que você está usando e que o modelo selecionado está habilitado para sua conta e região1619* Se suas credenciais estiverem atualizadas, confirme que as permissões IAM em [Configuração do IAM](/docs/pt/amazon-bedrock#iam-configuration) estão anexadas à identidade que você está usando e que o modelo selecionado está habilitado para sua conta e região

1613* Execute `aws sts get-caller-identity` para confirmar qual identidade suas solicitações usam1620* Execute `aws sts get-caller-identity` para confirmar qual identidade suas requisições usam

1614 1621 

1615<h3 id="google-cloud-credentials-expired-or-invalid">1622<h3 id="google-cloud-credentials-expired-or-invalid">

1616 Credenciais do Google Cloud expiradas ou inválidas1623 Credenciais do Google Cloud expiradas ou inválidas

1617</h3>1624</h3>

1618 1625 

1619Suas credenciais do Google Cloud para [Agent Platform do Google Cloud](/docs/pt/google-vertex-ai) expiraram ou foram rejeitadas: a solicitação retornou um 401, que é como Agent Platform relata expiração de credencial.1626Suas credenciais do Google Cloud para o [Agent Platform do Google Cloud](/docs/pt/google-vertex-ai) expiraram ou foram rejeitadas: a requisição retornou um 401, que é como o Agent Platform relata a expiração de credenciais.

1620 1627 

1621A dica de ação no meio varia com sua configuração. A parte estável é o `Google Cloud credentials expired or invalid` inicial:1628A dica de ação no meio varia de acordo com sua configuração. A parte estável é o início `Google Cloud credentials expired or invalid`:

1622 1629 

1623```text theme={null}1630```text theme={null}

1624Google Cloud credentials expired or invalid · refresh your Google Cloud credentials (application default sign-in, or the key file in GOOGLE_APPLICATION_CREDENTIALS) and retry · API Error: 401 ...1631Google Cloud credentials expired or invalid · refresh your Google Cloud credentials (application default sign-in, or the key file in GOOGLE_APPLICATION_CREDENTIALS) and retry · API Error: 401 ...


1626 1633 

1627**O que fazer:**1634**O que fazer:**

1628 1635 

1629* Se a dica disser que as credenciais são gerenciadas por este ambiente, o aplicativo que iniciou Claude Code possui a credencial e as outras etapas aqui não se aplicam: tente novamente ou entre em contato com seu administrador1636* Se a dica disser que as credenciais são gerenciadas por este ambiente, o aplicativo que iniciou o Claude Code é o dono da credencial e as outras etapas aqui não se aplicam: tente novamente ou entre em contato com seu administrador

1630* Se você se autenticar com credenciais padrão de aplicativo, execute o comando [`gcpAuthRefresh`](/docs/pt/google-vertex-ai#advanced-credential-configuration) nomeado na mensagem, ou `gcloud auth application-default login`, e complete a conexão, depois tente novamente1637* Se você se autentica com application default credentials, execute o comando [`gcpAuthRefresh`](/docs/pt/google-vertex-ai#advanced-credential-configuration) nomeado na mensagem, ou `gcloud auth application-default login`, e conclua o login, depois tente novamente

1631* Se você rotear através de um [gateway LLM](/docs/pt/llm-gateway) com `CLAUDE_CODE_SKIP_VERTEX_AUTH` definido, atualize o token de gateway em `ANTHROPIC_AUTH_TOKEN` ou `ANTHROPIC_CUSTOM_HEADERS`, depois tente novamente1638* Se você roteia por um [gateway de LLM](/docs/pt/llm-gateway) com `CLAUDE_CODE_SKIP_VERTEX_AUTH` definida, renove o token do gateway em `ANTHROPIC_AUTH_TOKEN` ou `ANTHROPIC_CUSTOM_HEADERS` e depois tente novamente

1632* Se você se autenticar com um arquivo de chave de conta de serviço, confirme que `GOOGLE_APPLICATION_CREDENTIALS` aponta para uma chave válida. Veja [Configurar credenciais GCP](/docs/pt/google-vertex-ai#3-configure-gcp-credentials)1639* Se você se autentica com um arquivo de chave de conta de serviço, confirme que `GOOGLE_APPLICATION_CREDENTIALS` aponta para uma chave válida. Consulte [Configurar credenciais GCP](/docs/pt/google-vertex-ai#3-configure-gcp-credentials)

1633* Se o erro se repetir após uma atualização, confirme que a identidade funciona fora de Claude Code com `gcloud auth application-default print-access-token` no mesmo shell1640* Se o erro se repetir após uma renovação, confirme que a identidade funciona fora do Claude Code com `gcloud auth application-default print-access-token` no mesmo shell

1634 1641 

1635Antes da v2.1.273, um 401 de Agent Platform mostrava a mensagem genérica `Please run /login` ou `Failed to authenticate`, que não consegue atualizar credenciais do Google Cloud.1642Antes da v2.1.273, um 401 do Agent Platform mostrava a mensagem genérica `Please run /login` ou `Failed to authenticate`, que não pode renovar credenciais do Google Cloud.

1636 1643 

1637<h3 id="google-cloud-authentication-failed">1644<h3 id="google-cloud-authentication-failed">

1638 Falha na autenticação do Google Cloud1645 Falha na autenticação do Google Cloud

1639</h3>1646</h3>

1640 1647 

1641[Agent Platform do Google Cloud](/docs/pt/google-vertex-ai) retornou um 403, que usa para negações de autorização em vez de credenciais expiradas. Geralmente, a identidade com a qual você se autentica está faltando uma permissão IAM ou o modelo não está habilitado para seu projeto.1648O [Agent Platform do Google Cloud](/docs/pt/google-vertex-ai) retornou um 403, que ele usa para negações de autorização, e não para credenciais expiradas. Geralmente, a identidade com a qual você se autentica não tem uma permissão IAM, ou o modelo não está habilitado para seu projeto.

1642 1649 

1643A dica de ação no meio varia com sua configuração. A parte estável é o `Google Cloud authentication failed` inicial:1650A dica de ação no meio varia de acordo com sua configuração. A parte estável é o início `Google Cloud authentication failed`:

1644 1651 

1645```text theme={null}1652```text theme={null}

1646Google Cloud authentication failed · refresh your Google Cloud credentials (application default sign-in, or the key file in GOOGLE_APPLICATION_CREDENTIALS) and retry · if credentials are current, check GCP IAM permissions and Vertex AI model access · API Error: 403 ...1653Google Cloud authentication failed · refresh your Google Cloud credentials (application default sign-in, or the key file in GOOGLE_APPLICATION_CREDENTIALS) and retry · if credentials are current, check GCP IAM permissions and Vertex AI model access · API Error: 403 ...


1648 1655 

1649**O que fazer:**1656**O que fazer:**

1650 1657 

1651* Se a dica disser que as credenciais são gerenciadas por este ambiente, o aplicativo que iniciou Claude Code possui a credencial e as outras etapas aqui não se aplicam: tente novamente ou entre em contato com seu administrador1658* Se a dica disser que as credenciais são gerenciadas por este ambiente, o aplicativo que iniciou o Claude Code é o dono da credencial e as outras etapas aqui não se aplicam: tente novamente ou entre em contato com seu administrador

1652* Confirme que as funções em [Configuração IAM](/docs/pt/google-vertex-ai#iam-configuration) são concedidas à identidade com a qual você se autentica1659* Confirme que os papéis em [Configuração do IAM](/docs/pt/google-vertex-ai#iam-configuration) estão concedidos à identidade com a qual você se autentica

1653* Confirme que o modelo está habilitado para seu projeto. Veja [Solicitar acesso ao modelo](/docs/pt/google-vertex-ai#2-request-model-access)1660* Confirme que o modelo está habilitado para seu projeto. Consulte [Solicitar acesso ao modelo](/docs/pt/google-vertex-ai#2-request-model-access)

1654 1661 

1655Antes da v2.1.273, um 403 de Agent Platform mostrava a mensagem genérica `Please run /login` ou `Failed to authenticate`, que não consegue atualizar credenciais do Google Cloud.1662Antes da v2.1.273, um 403 do Agent Platform mostrava a mensagem genérica `Please run /login` ou `Failed to authenticate`, que não pode renovar credenciais do Google Cloud.

1656 1663 

1657<h3 id="microsoft-foundry-authentication-failed">1664<h3 id="microsoft-foundry-authentication-failed">

1658 Falha na autenticação do Microsoft Foundry1665 Falha na autenticação do Microsoft Foundry

1659</h3>1666</h3>

1660 1667 

1661[Microsoft Foundry](/docs/pt/microsoft-foundry) retornou um 401 ou 403: a credencial Azure na solicitação foi rejeitada, ou a identidade por trás dela não tem acesso ao recurso Foundry. `/login` não consegue cunhar credenciais Azure. A dica de ação no meio varia com sua configuração. A parte estável é o `Microsoft Foundry authentication failed` inicial:1668O [Microsoft Foundry](/docs/pt/microsoft-foundry) retornou um 401 ou 403: a credencial do Azure na requisição foi rejeitada, ou a identidade por trás dela não tem acesso ao recurso do Foundry. O `/login` não consegue gerar credenciais do Azure. A dica de ação no meio varia de acordo com a sua configuração. A parte estável é o início `Microsoft Foundry authentication failed`:

1662 1669 

1663```text theme={null}1670```text theme={null}

1664Microsoft Foundry authentication failed · refresh your Foundry credential (ANTHROPIC_FOUNDRY_AUTH_TOKEN, ANTHROPIC_FOUNDRY_API_KEY, Azure sign-in for Entra, or your proxy token) and retry · if credentials are current, check access to the Foundry resource · API Error: 401 ...1671Microsoft Foundry authentication failed · refresh your Foundry credential (ANTHROPIC_FOUNDRY_AUTH_TOKEN, ANTHROPIC_FOUNDRY_API_KEY, Azure sign-in for Entra, or your proxy token) and retry · if credentials are current, check access to the Foundry resource · API Error: 401 ...


1666 1673 

1667**O que fazer:**1674**O que fazer:**

1668 1675 

1669* Se a dica disser que as credenciais são gerenciadas por este ambiente, o aplicativo que iniciou Claude Code possui a credencial e as outras etapas aqui não se aplicam: tente novamente ou entre em contato com seu administrador1676* Se a dica disser que as credenciais são gerenciadas por este ambiente, o aplicativo que iniciou o Claude Code é o dono da credencial e as outras etapas aqui não se aplicam: tente novamente ou entre em contato com o seu administrador

1670* Atualize a credencial que você configurou em [Configurar credenciais Azure](/docs/pt/microsoft-foundry#2-configure-azure-credentials): gire `ANTHROPIC_FOUNDRY_API_KEY`, cunhe um novo `ANTHROPIC_FOUNDRY_AUTH_TOKEN` ou execute `az login` para que a cadeia de credencial padrão do Microsoft Entra possa se conectar novamente1677* Atualize a credencial que você configurou em [Configurar credenciais do Azure](/docs/pt/microsoft-foundry#2-configure-azure-credentials): faça a rotação de `ANTHROPIC_FOUNDRY_API_KEY`, gere um novo `ANTHROPIC_FOUNDRY_AUTH_TOKEN` ou execute `az login` para que a cadeia de credenciais padrão do Microsoft Entra possa fazer login novamente

1671* Se a credencial está atual, confirme que a identidade tem acesso ao recurso Foundry. Veja [Configuração RBAC do Azure](/docs/pt/microsoft-foundry#azure-rbac-configuration)1678* Se a credencial estiver atualizada, confirme que a identidade tem acesso ao recurso do Foundry. Consulte [Configuração de RBAC do Azure](/docs/pt/microsoft-foundry#azure-rbac-configuration)

1672 1679 

1673Antes da v2.1.273, um 401 ou 403 de Microsoft Foundry mostrava a mensagem genérica `Please run /login` ou `Failed to authenticate`, que não consegue atualizar credenciais Azure.1680Antes da v2.1.273, um 401 ou 403 do Microsoft Foundry exibia a mensagem genérica `Please run /login` ou `Failed to authenticate`, que não consegue atualizar credenciais do Azure.

1674 1681 

1675<h3 id="could-not-load-aws-or-google-cloud-credentials">1682<h3 id="could-not-load-aws-or-google-cloud-credentials">

1676 Não foi possível carregar credenciais AWS ou Google Cloud1683 Não foi possível carregar as credenciais da AWS ou do Google Cloud

1677</h3>1684</h3>

1678 1685 

1679Claude Code não conseguiu obter credenciais utilizáveis da cadeia de provedor de credenciais AWS ou de suas credenciais padrão de aplicativo Google na máquina em que é executado, portanto, nenhuma solicitação chegou ao seu provedor de nuvem. Claude Code limpa suas credenciais em cache e tenta novamente duas vezes antes de mostrar essa mensagem. O detalhe após o `·` nomeia a causa específica, como uma sessão SSO expirada, credenciais padrão ausentes relatadas como `Could not load the default credentials` ou uma conexão revogada relatada como `invalid_grant`:1686O Claude Code não conseguiu obter credenciais utilizáveis da cadeia de provedores de credenciais da AWS ou das suas credenciais padrão de aplicativo do Google na máquina em que é executado, portanto nenhuma requisição chegou ao seu provedor de nuvem. O Claude Code limpa suas credenciais em cache e tenta novamente duas vezes antes de exibir esta mensagem. O detalhe após o `·` indica a causa específica, como uma sessão SSO expirada, credenciais padrão de aplicativo ausentes relatadas como `Could not load the default credentials`, ou um login revogado relatado como `invalid_grant`:

1680 1687 

1681```text theme={null}1688```text theme={null}

1682API Error: Could not load AWS credentials · Could not load credentials from any providers. Check or refresh your AWS credentials and try again.1689API Error: Could not load AWS credentials · Could not load credentials from any providers. Check or refresh your AWS credentials and try again.

1683API Error: Could not load Google Cloud credentials · invalid_grant. Check or refresh your Google Cloud credentials and try again.1690API Error: Could not load Google Cloud credentials · invalid_grant. Check or refresh your Google Cloud credentials and try again.

1684```1691```

1685 1692 

1686Em [modo não interativo](/docs/pt/headless) com `-p` e no [Agent SDK](/docs/pt/agent-sdk/overview), o código de erro estruturado é `cloud_credential_error`. Antes da v2.1.267, a mensagem mostrava apenas o texto de detalhe após `API Error:`, e o código estruturado era `server_error` ou `unknown`.1693No [modo não interativo](/docs/pt/headless) com `-p` e no [Agent SDK](/docs/pt/agent-sdk/overview), o código de erro estruturado é `cloud_credential_error`. Antes da v2.1.267, a mensagem exibia apenas o texto de detalhe após `API Error:`, e o código estruturado era `server_error` ou `unknown`.

1687 1694 

1688**O que fazer:**1695**O que fazer:**

1689 1696 

1690* Execute o comando de conexão do seu provedor, como `aws sso login --profile myprofile` ou `gcloud auth application-default login`, depois tente novamente. [Credenciais Bedrock, Agent Platform ou Foundry não carregando](/docs/pt/troubleshoot-install#bedrock-agent-platform-or-foundry-credentials-not-loading) mostra como confirmar as credenciais fora de Claude Code1697* Execute o comando de login do seu provedor, como `aws sso login --profile myprofile` ou `gcloud auth application-default login`, e tente novamente. [Credenciais do Bedrock, Agent Platform ou Foundry não carregam](/docs/pt/troubleshoot-install#bedrock-agent-platform-or-foundry-credentials-not-loading) mostra como confirmar as credenciais fora do Claude Code

1691* Se o detalhe lê `AWS default-chain credential resolve timed out`, a cadeia travou em vez de falhar, portanto, siga [Resolução de credencial de cadeia padrão AWS expirou](#aws-default-chain-credential-resolve-timed-out)1698* Se o detalhe indicar `AWS default-chain credential resolve timed out`, a cadeia travou em vez de falhar, então siga [A resolução de credenciais da cadeia padrão da AWS atingiu o timeout](#aws-default-chain-credential-resolve-timed-out)

1692 1699 

1693<h3 id="aws-default-chain-credential-resolve-timed-out">1700<h3 id="aws-default-chain-credential-resolve-timed-out">

1694 Resolução de credencial de cadeia padrão AWS expirou1701 A resolução de credenciais da cadeia padrão da AWS atingiu o timeout

1695</h3>1702</h3>

1696 1703 

1697A cadeia de provedor de credencial padrão AWS não produziu credenciais dentro de 60 segundos, portanto, Claude Code parou a resolução e falhou a solicitação. Este tempo limite é uma causa de [Não foi possível carregar credenciais AWS ou Google Cloud](#could-not-load-aws-or-google-cloud-credentials). A falha é resolução de credencial local: a solicitação nunca chegou a [Amazon Bedrock](/docs/pt/amazon-bedrock), [Claude Platform on AWS](/docs/pt/claude-platform-on-aws) ou ao [endpoint Mantle](/docs/pt/amazon-bedrock#use-the-mantle-endpoint). Claude Code limpa seu [cache de credencial](/docs/pt/amazon-bedrock#credential-caching-and-resolution-timeout) e tenta novamente antes desse erro aparecer, portanto, no momento em que você o vê, a cadeia travou em tentativas repetidas.1704A cadeia padrão de provedores de credenciais da AWS não produziu credenciais em 60 segundos, então o Claude Code interrompeu a resolução e fez a requisição falhar. Esse timeout é uma das causas de [Não foi possível carregar as credenciais da AWS ou do Google Cloud](#could-not-load-aws-or-google-cloud-credentials). A falha está na resolução local de credenciais: a requisição nunca chegou ao [Amazon Bedrock](/docs/pt/amazon-bedrock), à [Claude Platform on AWS](/docs/pt/claude-platform-on-aws) ou ao [endpoint Mantle](/docs/pt/amazon-bedrock#use-the-mantle-endpoint). O Claude Code limpa seu [cache de credenciais](/docs/pt/amazon-bedrock#credential-caching-and-resolution-timeout) e tenta novamente antes que esse erro apareça, então, quando você o vê, a cadeia já travou em tentativas repetidas.

1698 1705 

1699```text theme={null}1706```text theme={null}

1700API Error: Could not load AWS credentials · AWS default-chain credential resolve timed out. Check or refresh your AWS credentials and try again.1707API Error: Could not load AWS credentials · AWS default-chain credential resolve timed out. Check or refresh your AWS credentials and try again.

1701```1708```

1702 1709 

1703As causas comuns são um comando `credential_process` em seu perfil AWS que espera por entrada que não consegue receber, e um contêiner ou VM cujo serviço de metadados de instância (IMDS) nunca responde à sonda da cadeia.1710As causas comuns são um comando `credential_process` no seu perfil da AWS que aguarda uma entrada que não consegue receber, e um contêiner ou VM cujo serviço de metadados da instância (IMDS) nunca responde à sondagem da cadeia.

1704 1711 

1705Antes da v2.1.267, a mensagem lia `API Error: AWS default-chain credential resolve timed out`.1712Antes da v2.1.267, a mensagem era `API Error: AWS default-chain credential resolve timed out`.

1706Antes da v2.1.207, uma cadeia travada deixava a solicitação esperando indefinidamente em vez de falhar.1713Antes da v2.1.207, uma cadeia travada deixava a requisição aguardando indefinidamente em vez de falhar.

1707 1714 

1708**O que fazer:**1715**O que fazer:**

1709 1716 

1710* Execute `aws sts get-caller-identity` no mesmo shell com o mesmo `AWS_PROFILE`. Se também travar, corrija o perfil; um comando `credential_process` que solicita interativamente é uma causa comum.1717* Execute `aws sts get-caller-identity` no mesmo shell com o mesmo `AWS_PROFILE`. Se ele também travar, corrija o perfil; um comando `credential_process` que solicita entrada interativamente é uma causa comum.

1711* Complete a etapa de conexão antes de iniciar Claude Code, por exemplo `aws sso login --profile myprofile`, para que a cadeia seja resolvida do cache SSO local em vez de esperar por um fluxo de navegador1718* Conclua a etapa de login antes de iniciar o Claude Code, por exemplo `aws sso login --profile myprofile`

1712* Se sua cadeia executa uma conexão interativa que legitimamente precisa de mais de 60 segundos, como SSO com MFA através de um wrapper como `aws-vault`, aumente o limite em milissegundos com [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/pt/env-vars)1719* Se a sua cadeia executa um login interativo que legitimamente precisa de mais de 60 segundos, como SSO com MFA por meio de um wrapper como `aws-vault`, aumente o limite em milissegundos com [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/pt/env-vars)

1713 1720 

1714<h3 id="bedrock-setup-verification-timed-out-waiting-for-aws">1721<h3 id="bedrock-setup-verification-timed-out-waiting-for-aws">

1715 Verificação de configuração Bedrock expirou esperando por AWS1722 A verificação da configuração do Bedrock atingiu o timeout aguardando a AWS

1716</h3>1723</h3>

1717 1724 

1718Uma chamada para AWS durante o [assistente de configuração Bedrock](/docs/pt/amazon-bedrock#sign-in-with-bedrock), como a busca de credencial ou a verificação de identidade, não terminou dentro do limite de 60 segundos. O assistente para de esperar e falha a etapa de verificação:1725Uma chamada à AWS durante a verificação de credenciais do [assistente de configuração do Bedrock](/docs/pt/amazon-bedrock#sign-in-with-bedrock), como a busca de credenciais ou a verificação de identidade, não terminou dentro do limite de 60 segundos. O assistente para de aguardar e faz a etapa de verificação falhar:

1719 1726 

1720```text theme={null}1727```text theme={null}

1721Timed out after 60s waiting for AWS. Check your network and proxy settings; if a credential helper needs longer to prompt you, raise CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS.1728Timed out after 60s waiting for AWS. Check your network and proxy settings; if a credential helper needs longer to prompt you, raise CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS.

1722```1729```

1723 1730 

1724O número reflete seu limite: 60 segundos por padrão, ou o valor que você define em [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/pt/env-vars).1731O número reflete o seu limite: 60 segundos por padrão, ou o valor que você definiu em [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/pt/env-vars).

1725 1732 

1726As causas comuns são uma rede ou proxy que trava solicitações para AWS, incluindo a atualização de token SSO, e um helper de credencial ainda esperando por entrada que você não consegue ver. Aumente o limite apenas quando o helper legitimamente precisa de mais tempo.1733As causas comuns são uma rede ou proxy que trava requisições à AWS, incluindo a atualização do token SSO, e um auxiliar de credenciais ainda aguardando uma entrada que você não consegue ver. Aumente o limite apenas quando o auxiliar legitimamente precisar de mais tempo.

1727 1734 

1728Uma única solicitação travada para AWS também pode falhar em seu próprio tempo limite por solicitação, que mostra uma mensagem mais curta na mesma etapa:1735Uma única requisição travada à AWS também pode falhar por seu próprio timeout por requisição, o que exibe uma mensagem mais curta na mesma etapa:

1729 1736 

1730```text theme={null}1737```text theme={null}

1731A request to AWS timed out. Check your network and proxy settings, then try again.1738A request to AWS timed out. Check your network and proxy settings, then try again.

1732```1739```

1733 1740 

1734Quando os mesmos tempos limite ocorrem na etapa de fixação de modelo, o assistente marca um modelo como `unreachable` em vez de mostrar qualquer mensagem.1741Quando os mesmos timeouts ocorrem na etapa de fixação de modelo, o assistente marca um modelo como `unreachable` em vez de exibir qualquer uma das mensagens.

1735 1742 

1736**O que fazer:**1743**O que fazer:**

1737 1744 

1738* Execute `aws sts get-caller-identity` no mesmo shell. Se também travar, o travamento está fora de Claude Code, em sua rede, seu proxy ou o helper de credencial em seu perfil AWS; corrija isso primeiro.1745* Execute `aws sts get-caller-identity` no mesmo shell. Se ele também travar, o travamento está fora do Claude Code, na sua rede, no seu proxy ou no auxiliar de credenciais do seu perfil da AWS; corrija isso primeiro.

1739* Complete qualquer conexão interativa antes de abrir o assistente, por exemplo `aws sso login --profile myprofile`1746* Conclua qualquer login interativo antes de abrir o assistente, por exemplo `aws sso login --profile myprofile`

1740* Se um helper de credencial em seu perfil AWS legitimamente precisa de mais de 60 segundos para solicitá-lo, aumente o limite em milissegundos com [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/pt/env-vars)1747* Se um auxiliar de credenciais no seu perfil da AWS legitimamente precisar de mais de 60 segundos para solicitar sua entrada, aumente o limite em milissegundos com [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/pt/env-vars)

1741 1748 

1742<h3 id="cloud-gateway-session-expired">1749<h3 id="cloud-gateway-session-expired">

1743 Sessão de gateway de nuvem expirada1750 Sessão do gateway de nuvem expirada

1744</h3>1751</h3>

1745 1752 

1746Você se conectou através de um [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway) e a sessão de gateway salva nesta máquina expirou e não conseguiu ser renovada, ou o gateway não a aceita mais, por exemplo, após o [segredo JWT do gateway ser substituído](/docs/pt/claude-apps-gateway-deploy#jwt-secret-rotation). Se você vir essa linha quando inicia `claude` interativamente, a sessão abriu desconectada do gateway:1753Você fez login por meio de um [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway), e a sessão do gateway salva nesta máquina expirou e não pôde ser renovada, ou o gateway não a aceita mais, por exemplo, depois que o [segredo JWT do gateway é substituído](/docs/pt/claude-apps-gateway-deploy#jwt-secret-rotation). Se você vir esta linha ao iniciar o `claude` interativamente, a sessão foi aberta sem login no gateway:

1747 1754 

1748```text theme={null}1755```text theme={null}

1749Cloud gateway session expired — run /login to reconnect.1756Cloud gateway session expired — run /login to reconnect.

1750```1757```

1751 1758 

1752A mesma linha pode aparecer no meio da sessão quando a credencial de gateway expira e Claude Code não consegue renová-la.1759A mesma linha pode aparecer no meio da sessão quando a credencial do gateway expira e o Claude Code não consegue renová-la.

1753 1760 

1754Em uma execução [não interativa](/docs/pt/headless), uma sessão em segundo plano ou outra sessão desatendida, ou um subcomando `claude` diferente de `claude auth`, Claude Code sai com essa mensagem em vez disso quando o gateway não aceita mais a sessão:1761Em uma execução [não interativa](/docs/pt/headless), em uma sessão em segundo plano ou outra sessão não supervisionada, ou em um subcomando do `claude` diferente de `claude auth`, o Claude Code sai com esta mensagem quando o gateway não aceita mais a sessão:

1755 1762 

1756```text theme={null}1763```text theme={null}

1757Cloud gateway <url> no longer accepts this session. Start `claude` and sign in again with /login.1764Cloud gateway <url> no longer accepts this session. Start `claude` and sign in again with /login.


1759 1766 

1760**O que fazer:**1767**O que fazer:**

1761 1768 

1762* Execute `/login` na sessão e complete a conexão do navegador1769* Execute `/login` na sessão e conclua o login no navegador

1763* Para um lançamento não interativo, inicie `claude` no mesmo ambiente, execute `/login`, depois reexecute seu comando1770* Para uma inicialização não interativa, inicie o `claude` no mesmo ambiente, execute `/login` e, em seguida, execute seu comando novamente

1764 1771 

1765<h3 id="sign-in-timed-out-while-waiting-for-you-to-continue">1772<h3 id="sign-in-timed-out-while-waiting-for-you-to-continue">

1766 Conexão expirou enquanto esperava você continuar1773 O login atingiu o timeout enquanto aguardava você continuar

1767</h3>1774</h3>

1768 1775 

1769Durante uma conexão [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway), o gateway nomeou a conta que se conectou, e Claude Code pediu que você a confirmasse antes de salvar a credencial. Você deixou a confirmação aberta após a expiração da própria conexão, e o gateway não emitiu nenhum token de atualização que pudesse renová-la, portanto, Claude Code não armazenou nada quando você continuou:1776Durante um login no [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway), o gateway informou a conta que fez login, e o Claude Code pediu que você a confirmasse antes de salvar a credencial. Você deixou a confirmação aberta além da expiração do próprio login, e o gateway não emitiu nenhum refresh token que pudesse renová-lo, então o Claude Code não armazenou nada quando você continuou:

1770 1777 

1771```text theme={null}1778```text theme={null}

1772Sign-in timed out while waiting for you to continue. Try again.1779Sign-in timed out while waiting for you to continue. Try again.


1774 1781 

1775**O que fazer:**1782**O que fazer:**

1776 1783 

1777* Execute `/login` novamente e confirme a conta antes da conexão expirar1784* Execute `/login` novamente e confirme a conta antes que o login expire

1778 1785 

1779<h3 id="gateway-refused-the-request">1786<h3 id="gateway-refused-the-request">

1780 Gateway recusou a solicitação1787 O gateway recusou a requisição

1781</h3>1788</h3>

1782 1789 

1783Você está conectado através de um [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway) e uma solicitação retornou um 403: o gateway, ou o upstream por trás dele, recusou. Conectar-se novamente não altera uma recusa, portanto, a mensagem aponta para seu administrador de gateway:1790Você está conectado por meio de um [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway), e uma requisição retornou um 403: o gateway, ou o upstream por trás dele, a recusou. Fazer login novamente não altera uma recusa, então a mensagem direciona você ao administrador do gateway:

1784 1791 

1785```text theme={null}1792```text theme={null}

1786Gateway refused the request · signing in again won't change this — check with your gateway administrator · API Error: 403 ...1793Gateway refused the request · signing in again won't change this — check with your gateway administrator · API Error: 403 ...


1788 1795 

1789**O que fazer:**1796**O que fazer:**

1790 1797 

1791* Peça ao seu administrador de gateway para procurar a solicitação. A cauda `API Error:` carrega a recusa que o gateway retornou1798* Peça ao administrador do seu gateway para investigar a requisição. O trecho final `API Error:` contém a recusa que o gateway retornou

1792* Para administradores: uma [regra de controle de acesso](/docs/pt/claude-apps-gateway-config#http-tuning) no gateway retorna um 403 que o [log de auditoria](/docs/pt/claude-apps-gateway-deploy#logs) registra com seu motivo, e uma negação de autorização de um upstream passa através por [Mensagens de erro de Upstream](/docs/pt/claude-apps-gateway-config#upstream-error-messages)1799* Para administradores: uma [regra de controle de acesso](/docs/pt/claude-apps-gateway-config#http-tuning) no gateway retorna um 403 que o [log de auditoria](/docs/pt/claude-apps-gateway-deploy#logs) registra com seu motivo, e uma negação de autorização do upstream é repassada conforme [Mensagens de erro do upstream](/docs/pt/claude-apps-gateway-config#upstream-error-messages)

1793 1800 

1794Antes da v2.1.273, um 403 em uma sessão de gateway mostrava a mensagem genérica `Please run /login` ou `Failed to authenticate`, e conectar-se novamente não limpava a recusa.1801Antes da v2.1.273, um 403 em uma sessão de gateway exibia a mensagem genérica `Please run /login` ou `Failed to authenticate`, e fazer login novamente não eliminava a recusa.

1795 1802 

1796<h2 id="network-and-connection-errors">1803<h2 id="network-and-connection-errors">

1797 Erros de rede e conexão1804 Erros de rede e conexão


2852 Erros de linha de comando2859 Erros de linha de comando

2853</h2>2860</h2>

2854 2861 

2855Esses erros vêm do comando `claude` e seus subcomandos, de um nome de comando que você envia no prompt e de comandos como `/security-review` que reúnem contexto executando comandos shell antes de seu prompt ser executado. Eles também vêm de `/tui`, que relança a CLI.2862Esses erros vêm da linha de comando `claude` e de seus subcomandos, de um nome de comando que você envia no prompt e de comandos como `/security-review` que reúnem contexto executando comandos de shell antes que seu prompt seja executado. Eles também vêm de `/tui`, que reinicia a CLI.

2856 2863 

2857<h3 id="conflict-between-bg-and-print">2864<h3 id="conflict-between-bg-and-print">

2858 Conflito entre `--bg` e `--print`2865 Conflito entre `--bg` e `--print`

2859</h3>2866</h3>

2860 2867 

2861Esta mensagem requer Claude Code v2.1.198 ou posterior. Você combinou `--bg` com `-p` ou `--print` na mesma invocação de `claude`. `--bg` inicia uma [sessão em background](/docs/pt/agent-view#from-your-shell) que você depois anexa com `claude agents`, enquanto `--print` executa [não interativamente](/docs/pt/headless) e nunca inicia a sessão interativa que `claude agents` anexa. Antes da v2.1.198, essa combinação criava silenciosamente um trabalho em background que nunca poderia ser anexado.2868Esta mensagem requer o Claude Code v2.1.198 ou posterior. Você combinou `--bg` com `-p` ou `--print` na mesma invocação de `claude`. `--bg` inicia uma [sessão em segundo plano](/docs/pt/agent-view#from-your-shell) à qual você se conecta depois com `claude agents`, enquanto `--print` é executado de forma [não interativa](/docs/pt/headless) e nunca inicia a sessão interativa à qual `claude agents` se conecta. Antes da v2.1.198, essa combinação criava silenciosamente um job em segundo plano ao qual nunca era possível se conectar.

2862 2869 

2863```text theme={null}2870```text theme={null}

2864--bg and --print conflict: --print never starts the interactive session that `claude agents` attaches to, so the job would be unattachable. The prompt is the positional — drop --print: `claude --bg '<task>'`.2871--bg and --print conflict: --print never starts the interactive session that `claude agents` attaches to, so the job would be unattachable. The prompt is the positional — drop --print: `claude --bg '<task>'`.


2866 2873 

2867**O que fazer:**2874**O que fazer:**

2868 2875 

2869* Remova `-p` ou `--print`. `--bg` toma o prompt como seu argumento posicional, então `claude --bg "<task>"` é o comando completo. Veja [Dispatch new agents from your shell](/docs/pt/agent-view#from-your-shell).2876* Remova `-p` ou `--print`. `--bg` recebe o prompt como seu argumento posicional, então `claude --bg "<task>"` é o comando completo. Consulte [Enviar novos agentes a partir do seu shell](/docs/pt/agent-view#from-your-shell).

2870* Para executar o prompt não interativamente e imprimir o resultado em vez de criar uma sessão em background, remova `--bg` e execute `claude -p "<task>"`2877* Para executar o prompt de forma não interativa e imprimir o resultado em vez de criar uma sessão em segundo plano, remova `--bg` e execute `claude -p "<task>"`

2878 

2879<h3 id="conflict-between-a-system-prompt-flag-and-its-file-form">

2880 Conflito entre uma flag de system prompt e sua forma de arquivo

2881</h3>

2882 

2883Você passou [`--append-subagent-system-prompt`](/docs/pt/cli-reference#cli-flags) junto com `--append-subagent-system-prompt-file` em uma única invocação de `claude`, então `claude` sai com código 1 em vez de iniciar a sessão:

2884 

2885```text theme={null}

2886Error: Cannot use both --append-subagent-system-prompt and --append-subagent-system-prompt-file. Please use only one.

2887```

2888 

2889Antes da v2.1.283, `claude` saía da mesma forma quando você passava `--system-prompt` com `--system-prompt-file`, ou `--append-system-prompt` com `--append-system-prompt-file`, porque esses pares entravam em conflito em vez de se [combinarem](/docs/pt/cli-reference#system-prompt-flags). Nessas versões, a mensagem nomeia o par que você combinou.

2890 

2891**O que fazer:**

2892 

2893* Mantenha uma forma da flag e remova a outra. Para combinar um arquivo de prompt fixo com texto específico de cada execução, mescle o texto no arquivo antes de iniciar, em vez de passar as duas flags

2871 2894 

2872<h3 id="invalid-agents-configuration">2895<h3 id="invalid-agents-configuration">

2873 Configuração inválida de `--agents`2896 Configuração de `--agents` inválida

2874</h3>2897</h3>

2875 2898 

2876O valor que você passou para `--agents` é inválido, então `claude` sai com código 1 em vez de iniciar a sessão. Quando você passa `--safe-mode` ou define [`CLAUDE_CODE_SAFE_MODE`](/docs/pt/env-vars#variables), Claude Code ignora `--agents` completamente. Com `--resume` ou `--continue`, um valor JSON inline não é verificado e a sessão inicia; um valor lido de um arquivo é verificado a cada lançamento. Antes da v2.1.242, Claude Code iniciava a sessão mesmo assim.2899O valor que você passou para `--agents` é inválido, então `claude` sai com código 1 em vez de iniciar a sessão. Quando você passa `--safe-mode` ou define [`CLAUDE_CODE_SAFE_MODE`](/docs/pt/env-vars#variables), o Claude Code ignora `--agents` completamente. Com `--resume` ou `--continue`, um valor JSON inline não é verificado e a sessão é iniciada; um valor lido de um arquivo é verificado a cada inicialização. Antes da v2.1.242, o Claude Code iniciava a sessão mesmo assim.

2877 2900 

2878```text theme={null}2901```text theme={null}

2879Error: Invalid --agents configuration:2902Error: Invalid --agents configuration:

2880<what failed>2903<what failed>

2881```2904```

2882 2905 

2883O que segue a primeira linha depende de como o valor falhou. Claude Code executa essas verificações em ordem e para na primeira que falha. Se seu valor tiver dois tipos de problema, você verá o segundo apenas depois de corrigir o primeiro:2906O que vem depois da primeira linha depende de como o valor falhou. O Claude Code executa estas verificações em ordem e para na primeira que falhar. Se o seu valor tiver dois tipos de problema, você verá o segundo somente depois de corrigir o primeiro:

2884 2907 

28851. Quando o valor começa com `{` mas não é analisado como JSON, ou o conteúdo de um arquivo `--agents` não é analisado, Claude Code imprime uma linha `invalid JSON:` com a mensagem do próprio analisador JSON29081. Quando o valor começa com `{` mas não é analisado como JSON, ou o conteúdo de um arquivo de `--agents` não é analisado, o Claude Code imprime uma linha `invalid JSON:` contendo a própria mensagem do analisador JSON

28862. Quando é analisado mas uma definição de agente não corresponde ao esquema para [subagentes definidos por CLI](/docs/pt/sub-agents#choose-the-subagent-scope), Claude Code imprime uma linha por problema29092. Quando é analisado, mas uma definição de agente não corresponde ao esquema de [subagentes definidos pela CLI](/docs/pt/sub-agents#choose-the-subagent-scope), o Claude Code imprime uma linha por problema

28873. Quando um nome de agente começa com `-`, Claude Code imprime `<name>: agent names must not start with '-'`29103. Quando um nome de agente começa com `-`, o Claude Code imprime `<name>: agent names must not start with '-'`

2888 2911 

2889Quando há mais de 20 linhas de problema, Claude Code imprime as primeiras 20 e substitui o resto por `…and N more`.2912Quando há mais de 20 linhas de problemas, o Claude Code imprime as primeiras 20 e substitui o restante por `…and N more`.

2890 2913 

2891Com `--print`, `--agents` também aceita [o caminho para um arquivo JSON](/docs/pt/sub-agents#choose-the-subagent-scope) no lugar do objeto inline. Antes da v2.1.281, `--agents` aceitava apenas JSON inline e tratava um caminho de arquivo como JSON inválido. O formulário de arquivo tem recusas próprias, impressas no lugar dessa mensagem, incluindo estas:2914Com `--print`, `--agents` também aceita [o caminho para um arquivo JSON](/docs/pt/sub-agents#choose-the-subagent-scope) no lugar do objeto inline. Antes da v2.1.281, `--agents` aceitava apenas JSON inline e tratava um caminho de arquivo como JSON inválido. A forma de arquivo tem suas próprias recusas, impressas no lugar desta mensagem, incluindo estas:

2892 2915 

2893* **`Error: --agents takes a JSON object, or a file path only with --print (-p)`**: Claude Code leu o valor como um caminho de arquivo em uma sessão interativa. Passe as definições como JSON inline, ou adicione `-p` para lê-las de um arquivo.2916* **`Error: --agents takes a JSON object, or a file path only with --print (-p)`**: o Claude Code leu o valor como um caminho de arquivo em uma sessão interativa. Passe as definições como JSON inline ou adicione `-p` para lê-las de um arquivo.

2894* **`Error: --agents file not found: <path>`**: nenhum arquivo existe naquele caminho. Um valor que não começa com `{` e não é JSON válido é lido como um caminho, então JSON inline que seu shell danificou pode falhar dessa forma também. Verifique o caminho ou as aspas e execute o comando novamente.2917* **`Error: --agents file not found: <path>`**: não existe nenhum arquivo nesse caminho. Um valor que não começa com `{` e não é JSON válido é lido como um caminho, então um JSON inline que seu shell corrompeu também pode falhar dessa forma. Verifique o caminho ou as aspas e execute o comando novamente.

2895 2918 

2896**O que fazer:**2919**O que fazer:**

2897 2920 

2898* Corrija cada problema que a mensagem lista, depois execute o comando novamente. Veja [os campos que um subagente definido por CLI toma](/docs/pt/sub-agents#choose-the-subagent-scope).2921* Corrija cada problema listado na mensagem e execute o comando novamente. Consulte [os campos que um subagente definido pela CLI aceita](/docs/pt/sub-agents#choose-the-subagent-scope).

2899 2922 

2900<h3 id="cloud-sessions-cannot-be-created-from-a-restricted-session">2923<h3 id="cloud-sessions-cannot-be-created-from-a-restricted-session">

2901 Sessões em nuvem não podem ser criadas a partir de uma sessão `--restricted`2924 Sessões na nuvem não podem ser criadas a partir de uma sessão `--restricted`

2902</h3>2925</h3>

2903 2926 

2904Quando você inicia uma sessão com [`--restricted`](/docs/pt/cli-reference#cli-flags), Claude Code recusa criar [sessões em nuvem](/docs/pt/claude-code-on-the-web#from-terminal-to-cloud) a partir dela, porque a nova sessão seria executada fora do processo restrito e não aplicaria o modo restrito. Claude Code recusa no cliente, antes de contatar o servidor, então nenhuma sessão em nuvem é criada:2927Quando você inicia uma sessão com [`--restricted`](/docs/pt/cli-reference#cli-flags), o Claude Code se recusa a criar [sessões na nuvem](/docs/pt/claude-code-on-the-web#from-terminal-to-cloud) a partir dela, porque a nova sessão seria executada fora do processo restrito e não aplicaria o modo restrito. O Claude Code recusa no cliente, antes de contatar o servidor, então nenhuma sessão na nuvem é criada:

2905 2928 

2906```text theme={null}2929```text theme={null}

2907Cloud sessions cannot be created from a --restricted session: they would not enforce it.2930Cloud sessions cannot be created from a --restricted session: they would not enforce it.


2910**O que fazer:**2933**O que fazer:**

2911 2934 

2912* Execute a tarefa localmente na sessão restrita2935* Execute a tarefa localmente na sessão restrita

2913* Se você controlar como a sessão foi iniciada, inicie uma nova sessão `claude` sem `--restricted` e crie a sessão em nuvem a partir daí2936* Se você controla como a sessão foi iniciada, inicie uma nova sessão `claude` sem `--restricted` e crie a sessão na nuvem a partir dela

2914 2937 

2915Antes da v2.1.248, Claude Code não tinha a flag `--restricted`; versões anteriores rejeitam a flag em si com um erro de opção desconhecida.2938Antes da v2.1.248, o Claude Code não tinha a flag `--restricted`; versões anteriores rejeitam a própria flag com um erro de opção desconhecida.

2916 2939 

2917<h3 id="cloud-sessions-are-disabled-by-your-organizations-policy">2940<h3 id="cloud-sessions-are-disabled-by-your-organizations-policy">

2918 Sessões em nuvem estão desabilitadas pela política da sua organização2941 Sessões na nuvem estão desativadas pela política da sua organização

2919</h3>2942</h3>

2920 2943 

2921A política `allow_remote_sessions` da sua organização está desativada, então [sessões em nuvem](/docs/pt/claude-code-on-the-web) e os comandos que as usam não estão disponíveis:2944A política `allow_remote_sessions` da sua organização está desativada, então as [sessões na nuvem](/docs/pt/claude-code-on-the-web) e os comandos que as utilizam não estão disponíveis:

2922 2945 

2923```text theme={null}2946```text theme={null}

2924Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them.2947Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them.

2925```2948```

2926 2949 

2927A mensagem aparece quando você [cria uma sessão em nuvem a partir do terminal](/docs/pt/claude-code-on-the-web#from-terminal-to-cloud) e quando você envia um comando que precisa de sessões em nuvem, como `/teleport`, `/remote-env` ou `/web-setup`. Antes da v2.1.268, enviar um desses comandos retornava [`Unknown command`](#unknown-command) em vez disso.2950A mensagem aparece quando você [cria uma sessão na nuvem a partir do terminal](/docs/pt/claude-code-on-the-web#from-terminal-to-cloud) e quando você envia um comando que precisa de sessões na nuvem, como `/teleport`, `/remote-env` ou `/web-setup`. Antes da v2.1.268, enviar um desses comandos retornava [`Unknown command`](#unknown-command) em vez disso.

2928 2951 

2929Esta é uma política de organização do lado do servidor, então não pode ser substituída por configurações locais, variáveis de ambiente ou flags de CLI.2952Esta é uma política de organização do lado do servidor, então não pode ser sobrescrita por configurações locais, variáveis de ambiente ou flags da CLI.

2930 2953 

2931Se Claude Code ainda não carregou a política da sua organização ou não conseguir buscá-la, esses comandos respondem `Couldn't verify your organization's policy for cloud sessions. Check your network connection, then restart Claude Code and try again.` em vez disso.2954Se o Claude Code ainda não carregou a política da sua organização ou não consegue obtê-la, esses comandos respondem `Couldn't verify your organization's policy for cloud sessions. Check your network connection, then restart Claude Code and try again.` em vez disso.

2932 2955 

2933**O que fazer:**2956**O que fazer:**

2934 2957 

2935* Peça a um [Owner](/docs/pt/server-managed-settings#access-control) em sua organização para habilitar sessões em nuvem nas configurações de administrador do Claude Code em [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)2958* Peça a um [Owner](/docs/pt/server-managed-settings#access-control) da sua organização para ativar as sessões na nuvem nas configurações de administração do Claude Code em [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)

2936* Se a mensagem disser que não conseguiu verificar a política, verifique sua conexão de rede, depois reinicie Claude Code e tente novamente2959* Se a mensagem disser que não foi possível verificar a política, verifique sua conexão de rede, reinicie o Claude Code e tente novamente

2937 2960 

2938<h3 id="the-json-schema-value-is-not-a-valid-json-schema">2961<h3 id="the-json-schema-value-is-not-a-valid-json-schema">

2939 O valor `--json-schema` não é um JSON Schema válido2962 O valor de `--json-schema` não é um JSON Schema válido

2940</h3>2963</h3>

2941 2964 

2942O esquema que você passou para [`--json-schema`](/docs/pt/cli-reference#cli-flags) em [modo não interativo](/docs/pt/headless#get-structured-output) falhou na compilação do JSON Schema, então `claude` sai com código 1 em vez de executar o prompt. Antes da v2.1.205, um esquema inválido produzia saída não estruturada sem erro, e qualquer esquema que usasse a palavra-chave `format` era tratado como inválido.2965O esquema que você passou para [`--json-schema`](/docs/pt/cli-reference#cli-flags) no [modo não interativo](/docs/pt/headless#get-structured-output) falhou na compilação de JSON Schema, então `claude` sai com código 1 em vez de executar o prompt. Antes da v2.1.205, um esquema inválido produzia uma saída não estruturada sem erro, e qualquer esquema que usasse a palavra-chave `format` era tratado como inválido.

2943 2966 

2944```text theme={null}2967```text theme={null}

2945Error: --json-schema is not a valid JSON Schema: data/type must be equal to one of the allowed values2968Error: --json-schema is not a valid JSON Schema: data/type must be equal to one of the allowed values

2946```2969```

2947 2970 

2948O texto após o segundo dois-pontos é o diagnóstico do validador e nomeia a palavra-chave ou localização que falhou. Esquemas que usam a palavra-chave `format`, como `"format": "email"`, são válidos: Claude Code aceita `format` como uma anotação e não a aplica.2971O texto após os segundos dois-pontos é o diagnóstico do validador e nomeia a palavra-chave ou o local que falhou. Esquemas que usam a palavra-chave `format`, como `"format": "email"`, são válidos: o Claude Code aceita `format` como uma anotação e não a aplica.

2949 2972 

2950Claude Code executa duas verificações antes da compilação do esquema: rejeita um valor que não é JSON analisável com `Error: --json-schema is not valid JSON`, e JSON válido que não é um objeto com `Error: --json-schema must be a JSON object`.2973O Claude Code executa duas verificações antes da compilação do esquema: rejeita um valor que não é JSON analisável com `Error: --json-schema is not valid JSON`, e um JSON válido que não é um objeto com `Error: --json-schema must be a JSON object`.

2951 2974 

2952**O que fazer:**2975**O que fazer:**

2953 2976 

2954* Corrija a parte do esquema que o diagnóstico nomeia, depois execute o comando novamente2977* Corrija a parte do esquema que o diagnóstico nomeia e execute o comando novamente

2955* Veja [Get structured output](/docs/pt/headless#get-structured-output) para um esquema funcionando e comando2978* Consulte [Obter saída estruturada](/docs/pt/headless#get-structured-output) para ver um esquema e um comando que funcionam

2956 2979 

2957<h3 id="settings-file-exceeds-the-2mib-limit">2980<h3 id="settings-file-exceeds-the-2mib-limit">

2958 Arquivo de configurações excede o limite de 2MiB2981 O arquivo de configurações excede o limite de 2MiB

2959</h3>2982</h3>

2960 2983 

2961O arquivo que você passou para [`--settings`](/docs/pt/cli-reference#cli-flags) é maior que 2 MiB, então `claude` sai com código 1 na inicialização em vez de carregá-lo. Antes da v2.1.214, Claude Code lia o arquivo sem verificação de tamanho, e um arquivo de vários gigabytes ou um arquivo de dispositivo como `/dev/zero` crescia em memória sem limite.2984O arquivo que você passou para [`--settings`](/docs/pt/cli-reference#cli-flags) é maior que 2 MiB, então `claude` sai com código 1 na inicialização em vez de carregá-lo. Antes da v2.1.214, o Claude Code lia o arquivo sem verificação de tamanho, e um arquivo de vários gigabytes ou um arquivo de dispositivo como `/dev/zero` fazia a memória crescer sem limite.

2962 2985 

2963```text theme={null}2986```text theme={null}

2964Error: Settings file exceeds the 2MiB limit: /path/to/settings.json2987Error: Settings file exceeds the 2MiB limit: /path/to/settings.json

2965```2988```

2966 2989 

2967Claude Code rejeita um caminho `--settings` que não é um arquivo regular da mesma forma: um dispositivo, FIFO ou socket relata `Error: Cannot use settings file (Not a regular file (device, FIFO, or socket))` seguido do caminho, e um diretório relata um motivo `EISDIR`.2990O Claude Code rejeita da mesma forma um caminho de `--settings` que não seja um arquivo regular: um dispositivo, FIFO ou socket reporta `Error: Cannot use settings file (Not a regular file (device, FIFO, or socket))` seguido do caminho, e um diretório reporta um motivo `EISDIR`.

2968 2991 

2969**O que fazer:**2992**O que fazer:**

2970 2993 

2971* Aponte `--settings` para um arquivo JSON de configurações regular com menos de 2 MiB. Veja [Settings](/docs/pt/settings) para o formato.2994* Aponte `--settings` para um arquivo JSON de configurações regular com menos de 2 MiB. Consulte [Configurações](/docs/pt/settings) para ver o formato.

2972 2995 

2973<h3 id="the-current-directory-no-longer-exists">2996<h3 id="the-current-directory-no-longer-exists">

2974 O diretório atual não existe mais2997 O diretório atual não existe mais

2975</h3>2998</h3>

2976 2999 

2977Você iniciou `claude` a partir de um diretório que foi deletado ou movido depois que seu shell entrou nele, por exemplo um worktree ou diretório temporário que outro shell removeu. Claude Code não consegue ler seu diretório de trabalho, então sai com código 1 antes de iniciar a sessão, em modo interativo e [não interativo](/docs/pt/headless) igualmente. Antes da v2.1.239, Claude Code travava com fonte de bundle minificada e um `ENOENT ... uv_cwd` bruto no stderr em vez dessa mensagem.3000Você iniciou `claude` a partir de um diretório que foi excluído ou movido depois que seu shell entrou nele, por exemplo um worktree ou um diretório temporário que outro shell removeu. O Claude Code não consegue ler seu diretório de trabalho, então sai com código 1 antes de iniciar a sessão, tanto no modo interativo quanto no [não interativo](/docs/pt/headless). Antes da v2.1.239, o Claude Code travava exibindo o código-fonte minificado do bundle e um stack `ENOENT ... uv_cwd` bruto no stderr em vez desta mensagem.

2978 3001 

2979```text theme={null}3002```text theme={null}

2980The current directory no longer exists (it was deleted or moved). Start Claude Code from an existing directory.3003The current directory no longer exists (it was deleted or moved). Start Claude Code from an existing directory.

2981error: The current working directory was deleted, so that command didn't work. Please cd into a different directory and try again.3004error: The current working directory was deleted, so that command didn't work. Please cd into a different directory and try again.

2982```3005```

2983 3006 

2984A causa e a correção são as mesmas para ambas as formas.3007A causa e a correção são as mesmas para as duas formas.

2985 3008 

2986Quando Claude Code não consegue ler o diretório de trabalho por um motivo diferente, como uma mudança de permissões, a mensagem nomeia o código de erro em vez disso: `Can't read the current directory (EACCES). Start Claude Code from a different directory.`3009Quando o Claude Code não consegue ler o diretório de trabalho por outro motivo, como uma alteração de permissões, a mensagem nomeia o código de erro em vez disso: `Can't read the current directory (EACCES). Start Claude Code from a different directory.`

2987 3010 

2988No macOS, `EPERM` para um diretório em `~/Desktop`, `~/Documents`, `~/Downloads` ou iCloud Drive geralmente significa que macOS está bloqueando seu aplicativo de terminal dessa pasta. Outros comandos que leem essa pasta falham da mesma forma: `ls` lá relata `Operation not permitted`, mesmo com `sudo`.3011No macOS, `EPERM` para um diretório em `~/Desktop`, `~/Documents`, `~/Downloads` ou iCloud Drive geralmente significa que o macOS está bloqueando o acesso do seu aplicativo de terminal a essa pasta. Outros comandos que leem essa pasta falham da mesma forma: `ls` ali reporta `Operation not permitted`, mesmo com `sudo`.

2989 3012 

2990**O que fazer:**3013**O que fazer:**

2991 3014 

2992* Mude para um diretório que existe, como seu diretório inicial ou de projeto, depois execute `claude` novamente3015* Mude para um diretório que exista, como seu diretório pessoal ou de projeto, e execute `claude` novamente

2993* Se o diretório foi recriado no mesmo caminho, seu shell ainda mantém o deletado. Execute `cd "$PWD"` ou saia e re-entre no diretório, depois execute `claude` novamente3016* Se o diretório foi recriado no mesmo caminho, seu shell ainda mantém o diretório excluído. Execute `cd "$PWD"` ou saia e entre novamente no diretório, e então execute `claude` novamente

2994* Para `EPERM` no macOS, saia do seu aplicativo de terminal com Cmd+Q, abra-o novamente, retorne a essa pasta e execute `claude`. Se `ls` nessa pasta ainda falhar, abra **System Settings > Privacy & Security > Files and Folders**, ative a pasta para seu aplicativo de terminal, depois reabra o terminal3017* Para `EPERM` no macOS, encerre seu aplicativo de terminal com Cmd+Q, abra-o novamente, volte para essa pasta e execute `claude`. Se `ls` nessa pasta ainda falhar, abra **Ajustes do Sistema > Privacidade e Segurança > Arquivos e Pastas**, ative a pasta para seu aplicativo de terminal e reabra o terminal

2995 3018 

2996<h3 id="temp-directory-refused-or-cannot-be-created">3019<h3 id="temp-directory-refused-or-cannot-be-created">

2997 Diretório temporário recusado ou não pode ser criado3020 Diretório temporário recusado ou não pode ser criado

2998</h3>3021</h3>

2999 3022 

3000No macOS e Linux, Claude Code cria um diretório temporário privado na inicialização, `claude-<uid>` sob o diretório temporário do sistema ou a substituição [`CLAUDE_CODE_TMPDIR`](/docs/pt/env-vars). Quando o diretório não pode ser criado, ou uma entrada já naquele caminho falha nas verificações de segurança, Claude Code imprime a falha no stderr e sai com código 1 em vez de iniciar a sessão:3023No macOS e no Linux, o Claude Code cria um diretório temporário privado na inicialização, `claude-<uid>`, no diretório temporário do sistema ou no diretório que sobrescreve esse local por meio de [`CLAUDE_CODE_TMPDIR`](/docs/pt/env-vars). Quando o diretório não pode ser criado, ou uma entrada já existente nesse caminho falha nas verificações de segurança, o Claude Code imprime a falha no stderr e sai com código 1 em vez de iniciar a sessão:

3001 3024 

3002```text wrap theme={null}3025```text wrap theme={null}

3003ENOSPC: no space left on device, mkdir '/tmp/claude-501'3026ENOSPC: no space left on device, mkdir '/tmp/claude-501'


3012**O que fazer:**3035**O que fazer:**

3013 3036 

3014* Para `ENOSPC`, libere espaço em disco no volume que contém o diretório temporário3037* Para `ENOSPC`, libere espaço em disco no volume que contém o diretório temporário

3015* Para as formas `Refusing to use it`, remova a entrada nomeada em si, não o que um link aponta, e inicie Claude Code novamente; para a forma `owned by uid`, apenas um administrador ou esse usuário pode removê-la3038* Para as formas `Refusing to use it`, remova a própria entrada nomeada, não aquilo para o qual um link aponta, e inicie o Claude Code novamente; para a forma `owned by uid`, somente um administrador ou esse usuário pode removê-la

3016* Para `is not readable`, execute `chmod 0700` no diretório nomeado, ou remova-o e inicie novamente3039* Para `is not readable`, execute `chmod 0700` no diretório nomeado, ou remova-o e inicie novamente

3017* Em qualquer um desses casos, defina [`CLAUDE_CODE_TMPDIR`](/docs/pt/env-vars) para um diretório que você controla e inicie Claude Code novamente, deixando o caminho recusado sozinho3040* Em qualquer um desses casos, defina [`CLAUDE_CODE_TMPDIR`](/docs/pt/env-vars) para um diretório que você controla e inicie o Claude Code novamente, deixando o caminho recusado como está

3018 3041 

3019<h3 id="directory-couldnt-be-resolved-to-a-real-location">3042<h3 id="directory-couldnt-be-resolved-to-a-real-location">

3020 Diretório não pôde ser resolvido para um local real3043 O diretório não pôde ser resolvido para um local real

3021</h3>3044</h3>

3022 3045 

3023Você executou `/add-dir` para um subdiretório do seu diretório de trabalho, e Claude Code não conseguiu resolver o diretório para seu local real.3046Você executou `/add-dir` para um subdiretório do seu diretório de trabalho, e o Claude Code não conseguiu resolver o diretório para seu local real.

3024 3047 

3025Você já tem acesso a arquivo para um subdiretório do diretório de trabalho, então `/add-dir` apenas carrega suas skills, comandos e agentes. Antes de carregá-los, Claude Code verifica que o local real do diretório, com quaisquer symlinks resolvidos, está dentro do diretório de trabalho. Quando Claude Code não consegue resolver esse local, não carrega nada e mostra essa mensagem:3048Você já tem acesso aos arquivos de um subdiretório do diretório de trabalho, então `/add-dir` apenas carrega suas skills, comandos e agentes. Antes de carregá-los, o Claude Code verifica se o local real do diretório, com todos os links simbólicos resolvidos, está dentro do diretório de trabalho. Quando o Claude Code não consegue resolver esse local, ele não carrega nada e mostra esta mensagem:

3026 3049 

3027```text theme={null}3050```text theme={null}

3028packages/app couldn't be resolved to a real location, so its skills, commands, and agents weren't loaded. Check that it is a directory inside the working directory and try again.3051packages/app couldn't be resolved to a real location, so its skills, commands, and agents weren't loaded. Check that it is a directory inside the working directory and try again.


3030 3053 

3031**O que fazer:**3054**O que fazer:**

3032 3055 

3033* Verifique se o caminho nomeia um diretório real dentro do diretório de trabalho, depois execute `/add-dir` novamente3056* Verifique se o caminho nomeia um diretório real dentro do diretório de trabalho e execute `/add-dir` novamente

3034* A mensagem não muda seu acesso a arquivo; ela apenas relata que o conteúdo `.claude/` do diretório não foi carregado3057* A mensagem não altera seu acesso aos arquivos; ela apenas informa que o conteúdo `.claude/` do diretório não foi carregado

3035 3058 

3036Antes da v2.1.261, essa mensagem também aparecia para cada `/add-dir <subdirectory>` quando o diretório de trabalho estava em um automount `/net/<host>`, onde Claude Code recusa resolver caminhos por design; o diretório estava bem e tentar novamente não poderia ajudar.3059Antes da v2.1.261, esta mensagem também aparecia para todo `/add-dir <subdirectory>` quando o diretório de trabalho estava em um automount `/net/<host>`, onde o Claude Code se recusa a resolver caminhos por design; o diretório estava correto e tentar novamente não ajudava.

3037 3060 

3038<h3 id="workspace-not-trusted-when-starting-remote-control">3061<h3 id="workspace-not-trusted-when-starting-remote-control">

3039 Workspace não confiável ao iniciar Remote Control3062 Workspace não confiável ao iniciar o Remote Control

3040</h3>3063</h3>

3041 3064 

3042Você iniciou o modo servidor [Remote Control](/docs/pt/remote-control) com `claude remote-control` ou seu alias `claude rc` em um diretório que você não confiou, e o comando não conseguiu perguntar se você confiaria nele. Por exemplo, a entrada padrão ou saída padrão do comando não é um terminal porque uma delas é redirecionada ou canalizada. O comando sai com código 1:3065Você iniciou o modo servidor do [Remote Control](/docs/pt/remote-control) com `claude remote-control` ou seu alias `claude rc` em um diretório em que 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 em um pipe. O comando sai com código 1:

3043 3066 

3044```text theme={null}3067```text theme={null}

3045Error: Workspace not trusted. Please run `claude` in /Users/you/project first to review and accept the workspace trust dialog.3068Error: Workspace not trusted. Please run `claude` in /Users/you/project first to review and accept the workspace trust dialog.

3046```3069```

3047 3070 

3048Duas variantes que também começam com `Error: Workspace not trusted.` aparecem em um terminal também muito pequeno para mostrar o que confiar no diretório ativa, ou um que não relatou seu tamanho. Amplie a janela ou mude para uma janela de terminal normal, depois execute `claude rc` novamente.3071Duas variantes que também começam com `Error: Workspace not trusted.` aparecem em um terminal pequeno demais para mostrar o que confiar no diretório ativa, ou em um que não informou seu tamanho. Aumente a janela ou mude para uma janela de terminal normal e execute `claude rc` novamente.

3049 3072 

3050Em seu diretório inicial a mensagem é diferente, porque o diálogo de confiança do workspace nunca salva confiança para o diretório inicial, então aceitá-lo lá não pode satisfazer essa verificação. Antes da v2.1.214, o diretório inicial mostrava a mensagem acima, cujo conselho não pode ter sucesso lá.3073No seu diretório pessoal, a mensagem é diferente, porque a caixa de diálogo de confiança do workspace nunca salva a confiança para o diretório pessoal, então aceitá-la ali não satisfaz esta verificação. Antes da v2.1.214, o diretório pessoal mostrava a mensagem acima, cujo conselho não pode funcionar ali.

3051 3074 

3052```text theme={null}3075```text theme={null}

3053Error: Workspace not trusted. /Users/you is your home directory, and for security home-directory trust is never saved, so running `claude` here first won't help. Run `claude rc` from a project directory instead (run `claude` there once to accept the trust dialog).3076Error: Workspace not trusted. /Users/you is your home directory, and for security home-directory trust is never saved, so running `claude` here first won't help. Run `claude rc` from a project directory instead (run `claude` there once to accept the trust dialog).


3057 3080 

3058**O que fazer:**3081**O que fazer:**

3059 3082 

3060* Confie no diretório a partir de um terminal primeiro: execute `claude rc` lá e responda `y`, ou execute `claude` lá e aceite o [diálogo de confiança do workspace](/docs/pt/permissions#project-allow-rules-and-workspace-trust), depois execute seu comando original novamente3083* Primeiro, confie no diretório a partir de um terminal: execute `claude rc` ali e responda `y`, ou execute `claude` ali e aceite a [caixa de diálogo de confiança do workspace](/docs/pt/permissions#project-allow-rules-and-workspace-trust), e então execute seu comando original novamente

3061* Em seu diretório inicial, mude para um diretório de projeto e inicie Remote Control lá3084* No seu diretório pessoal, mude para um diretório de projeto e inicie o Remote Control ali

3062 3085 

3063Antes da v2.1.284, o comando nunca perguntava, mesmo em um terminal.3086Antes da v2.1.284, o comando nunca perguntava, nem mesmo em um terminal.

3064 3087 

3065<h3 id="not-carried-over-to-the-sessions-remote-control-starts">3088<h3 id="not-carried-over-to-the-sessions-remote-control-starts">

3066 Não levado para as sessões que Remote Control inicia3089 Não é repassada para as sessões que o Remote Control inicia

3067</h3>3090</h3>

3068 3091 

3069Você iniciou [Remote Control](/docs/pt/remote-control) com uma flag global `claude` antes do verbo `remote-control`, uma que restringiria ou configuraria as sessões que Remote Control inicia, como `--settings`, `--setting-sources`, `--permission-mode`, `--disallowed-tools` ou `--mcp-config`. Uma flag colocada antes do verbo nunca chega a essas sessões. Claude Code recusa iniciar em vez disso, nomeando a flag:3092Você iniciou o [Remote Control](/docs/pt/remote-control) com uma flag global do `claude` antes do verbo `remote-control`, uma que restringiria ou configuraria as sessões que o Remote Control inicia, como `--settings`, `--setting-sources`, `--permission-mode`, `--disallowed-tools` ou `--mcp-config`. Uma flag colocada antes do verbo nunca chega a essas sessões. Em vez disso, o Claude Code se recusa a iniciar, nomeando a flag:

3070 3093 

3071```text theme={null}3094```text theme={null}

3072Error: `--settings` before `remote-control` is not carried over to the sessions Remote Control starts, so Remote Control refuses to start rather than drop it — remove it, and give Remote Control's own options after the verb (see `claude remote-control --help`).3095Error: `--settings` before `remote-control` is not carried over to the sessions Remote Control starts, so Remote Control refuses to start rather than drop it — remove it, and give Remote Control's own options after the verb (see `claude remote-control --help`).

3073```3096```

3074 3097 

3075Claude Code não recusa flags globais que são inofensivas de descartar, como `--verbose`, `--model` ou um `--session-id` ou `--plugin-dir` injetado por wrapper: ele as ignora e Remote Control inicia.3098O Claude Code não recusa flags globais que são inofensivas de descartar, como `--verbose`, `--model`, ou um `--session-id` ou `--plugin-dir` injetado por um wrapper: ele as ignora e o Remote Control é iniciado.

3076 3099 

3077Claude Code também recusa iniciar para uma flag global que ainda não reconhece como inofensiva, então uma flag adicionada em uma versão mais recente pode aparecer nessa mensagem até uma versão posterior marcá-la como inofensiva.3100O Claude Code também se recusa a iniciar para uma flag global que ele ainda não reconhece como inofensiva, então uma flag adicionada em uma versão mais recente pode aparecer nesta mensagem até que uma versão posterior a marque como inofensiva.

3078 3101 

3079**O que fazer:**3102**O que fazer:**

3080 3103 

3081* Remova a flag de antes do verbo e passe [as opções próprias do Remote Control](/docs/pt/remote-control#start-a-remote-control-session) depois dele; `claude remote-control --help` as lista3104* Remova a flag de antes do verbo e passe as [opções próprias do Remote Control](/docs/pt/remote-control#start-a-remote-control-session) depois dele; `claude remote-control --help` lista essas opções

3082* Quando a flag recusada é `--permission-mode`, execute `claude remote-control --permission-mode <mode>` para definir o modo de permissão para as sessões que Remote Control inicia3105* Quando a flag recusada for `--permission-mode`, execute `claude remote-control --permission-mode <mode>` para definir o modo de permissão das sessões que o Remote Control inicia

3083 3106 

3084Antes da v2.1.248, `claude remote-control` não aceitava suas próprias flags quando uma flag global vinha primeiro, e o comando falhava com um erro de opção desconhecida.3107Antes da v2.1.248, `claude remote-control` não aceitava suas próprias flags quando uma flag global vinha primeiro, e o comando falhava com um erro `unknown option`.

3085 3108 

3086<h3 id="claude-import-is-not-yet-available-in-this-build">3109<h3 id="claude-import-is-not-yet-available-in-this-build">

3087 claude import ainda não está disponível nesta compilação3110 claude import ainda não está disponível neste build

3088</h3>3111</h3>

3089 3112 

3090Você executou [`claude import`](/docs/pt/cli-reference#cli-commands), e Claude Code encontrou o fluxo de importação desativado, então o comando sai com código 1 em vez de iniciar a importação. Antes da v2.1.222, uma compilação com o fluxo de importação desativado tratava `import` como um prompt e iniciava uma sessão interativa em vez de imprimir essa mensagem.3113Você executou [`claude import`](/docs/pt/cli-reference#cli-commands), e o Claude Code encontrou o fluxo de importação desativado, então o comando sai com código 1 em vez de iniciar a importação. Antes da v2.1.222, um build com o fluxo de importação desativado tratava `import` como um prompt e iniciava uma sessão interativa em vez de imprimir esta mensagem.

3091 3114 

3092```text theme={null}3115```text theme={null}

3093`claude import` is not yet available in this build. Run `claude` and use /mcp or edit ~/.claude/settings.json directly.3116`claude import` is not yet available in this build. Run `claude` and use /mcp or edit ~/.claude/settings.json directly.

3094```3117```

3095 3118 

3096Claude Code ativa `claude import` através de uma flag de recurso que busca da Anthropic e armazena em cache no disco. Essa mensagem significa que o valor em cache está desativado. A causa geralmente é uma das seguintes:3119O Claude Code ativa `claude import` por meio de uma feature flag que ele obtém da Anthropic e armazena em cache no disco. Esta mensagem significa que o valor em cache está desativado. A causa geralmente é uma das seguintes:

3097 3120 

3098* Você não iniciou uma sessão desde a instalação, então Claude Code ainda não buscou a flag. O primeiro `claude import` pode imprimir isso mesmo quando o recurso está disponível para você.3121* Você não iniciou uma sessão desde a instalação, então o Claude Code ainda não obteve a flag. O primeiro `claude import` pode imprimir isto mesmo quando o recurso está disponível para você.

3099* Você usa Claude Code através do Amazon Bedrock, da Agent Platform do Google Cloud, do Microsoft Foundry ou do Claude Platform na AWS, ou através de um [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway#availability-and-limitations). Claude Code não busca flags de recurso nessas sessões, então `claude import` permanece indisponível.3122* Você usa o Claude Code por meio do Amazon Bedrock, do Agent Platform do Google Cloud, do Microsoft Foundry ou do Claude Platform on AWS, ou por meio de um [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway#availability-and-limitations). O Claude Code não obtém feature flags nessas sessões, então `claude import` permanece indisponível.

3100* Você definiu `DISABLE_TELEMETRY`, `DO_NOT_TRACK`, `DISABLE_GROWTHBOOK` ou [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/pt/env-vars), que desativam a busca de flags de recurso, então `claude import` permanece indisponível.3123* Você definiu `DISABLE_TELEMETRY`, `DO_NOT_TRACK`, `DISABLE_GROWTHBOOK` ou [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/pt/env-vars), que desativam a obtenção de feature flags, então `claude import` permanece indisponível.

3101 3124 

3102**O que fazer:**3125**O que fazer:**

3103 3126 

3104* Em uma instalação nova, inicie `claude`, aguarde o carregamento da sessão, saia e execute `claude import` novamente3127* Em uma instalação nova, inicie `claude`, aguarde a sessão carregar, saia e execute `claude import` novamente

3105* Onde a busca de flags de recurso permanece desativada, configure você mesmo: adicione servidores MCP com [`claude mcp add`](/docs/pt/mcp#installing-mcp-servers) e crie os [arquivos `CLAUDE.md`](/docs/pt/memory#how-claude-md-files-load), [skills e comandos](/docs/pt/skills#where-skills-live) e [subagentes](/docs/pt/sub-agents#choose-the-subagent-scope) que você quer levar. A mensagem também nomeia `~/.claude/settings.json`. Da configuração que `claude import` leva, esse arquivo contém apenas o [modo de permissão](/docs/pt/settings-reference#permission-settings); Claude Code não lê servidores MCP dele.3128* Onde a obtenção de feature flags permanece desativada, faça a configuração você mesmo: adicione servidores MCP com [`claude mcp add`](/docs/pt/mcp#installing-mcp-servers) e crie os [arquivos `CLAUDE.md`](/docs/pt/memory#how-claude-md-files-load), as [skills e comandos](/docs/pt/skills#where-skills-live) e os [subagentes](/docs/pt/sub-agents#choose-the-subagent-scope) que você deseja transferir. A mensagem também nomeia `~/.claude/settings.json`. Da configuração que `claude import` transfere, esse arquivo contém apenas o [modo de permissão](/docs/pt/settings-reference#permission-settings); o Claude Code não lê servidores MCP dele.

3106 3129 

3107<h3 id="could-not-read-claude-code-config">3130<h3 id="could-not-read-claude-code-config">

3108 Não foi possível ler a configuração do Claude Code3131 Não foi possível ler a configuração do Claude Code

3109</h3>3132</h3>

3110 3133 

3111Você executou [`claude import`](/docs/pt/cli-reference#cli-commands) enquanto Claude Code não conseguia analisar `~/.claude.json`, o arquivo onde armazena seu login e estado por projeto. O subcomando lê esse arquivo para verificar disponibilidade mas não mostra o diálogo de recuperação que a sessão interativa mostra, então sai com código 1. Antes da v2.1.222, `claude import` com um arquivo de configuração ilegível iniciava uma sessão interativa, cujo diálogo de recuperação tratava o arquivo.3134Você executou [`claude import`](/docs/pt/cli-reference#cli-commands) enquanto o Claude Code não conseguia analisar `~/.claude.json`, o arquivo onde ele armazena seu login e o estado de cada projeto. O subcomando lê esse arquivo para verificar a disponibilidade, mas não mostra a caixa de diálogo de recuperação que a sessão interativa mostra, então sai com código 1. Antes da v2.1.222, `claude import` com um arquivo de configuração ilegível iniciava uma sessão interativa, cuja caixa de diálogo de recuperação tratava o arquivo.

3112 3135 

3113```text theme={null}3136```text theme={null}

3114Could not read Claude Code config — run `claude` with no arguments to recover it.3137Could not read Claude Code config — run `claude` with no arguments to recover it.


3116 3139 

3117**O que fazer:**3140**O que fazer:**

3118 3141 

3119* Execute `claude` sem argumentos. Claude Code detecta o arquivo inválido e oferece redefini-lo. Depois execute `claude import` novamente.3142* Execute `claude` sem argumentos. O Claude Code detecta o arquivo inválido e oferece redefini-lo. Em seguida, execute `claude import` novamente.

3120* Para manter edições manuais que você fez, corrija a sintaxe JSON em `~/.claude.json` em um editor em vez disso, depois execute `claude import` novamente3143* Para manter edições manuais que você fez, corrija a sintaxe JSON em `~/.claude.json` em um editor e execute `claude import` novamente

3121 3144 

3122<h3 id="could-not-import-a-server-from-claude-desktop">3145<h3 id="could-not-import-a-server-from-claude-desktop">

3123 Não foi possível importar um servidor do Claude Desktop3146 Não foi possível importar um servidor do Claude Desktop

3124</h3>3147</h3>

3125 3148 

3126Claude Code não conseguiu adicionar um dos servidores que você selecionou em `claude mcp add-from-claude-desktop`. O comando ainda importa os outros servidores selecionados e imprime uma linha por servidor que não conseguiu adicionar. Antes da v2.1.205, o primeiro servidor que falhou parou a importação.3149O Claude Code não conseguiu adicionar um dos servidores que você selecionou em `claude mcp add-from-claude-desktop`. O comando ainda importa os outros servidores selecionados e imprime uma linha por servidor que não conseguiu adicionar. Antes da v2.1.205, o primeiro servidor que falhava interrompia a importação.

3127 3150 

3128```text theme={null}3151```text theme={null}

3129Could not import my server: Invalid name my server. Names can only contain letters, numbers, hyphens, and underscores.3152Could not import my server: Invalid name my server. Names can only contain letters, numbers, hyphens, and underscores.

3130```3153```

3131 3154 

3132O texto após o nome do servidor é o motivo. O mais comum é a verificação de nome: Claude Desktop permite caracteres em nomes de servidor, como espaços e períodos, que `claude mcp` restringe a letras, números, hífens e underscores. Outros motivos incluem uma configuração de servidor que falha na validação e um servidor bloqueado pela [política MCP](/docs/pt/managed-mcp) da sua organização.3155O texto após o nome do servidor é o motivo. O mais comum é a verificação de nome: o Claude Desktop permite caracteres em nomes de servidor, como espaços e pontos, que `claude mcp` restringe a letras, números, hífens e sublinhados. Outros motivos incluem uma configuração de servidor que falha na validação e um servidor bloqueado pela [política de MCP](/docs/pt/managed-mcp) da sua organização.

3133 3156 

3134**O que fazer:**3157**O que fazer:**

3135 3158 

3136* Renomeie o servidor em `claude_desktop_config.json` para usar apenas letras, números, hífens e underscores, depois execute `claude mcp add-from-claude-desktop` novamente3159* Renomeie o servidor em `claude_desktop_config.json` para usar apenas letras, números, hífens e sublinhados e execute `claude mcp add-from-claude-desktop` novamente

3137* Adicione esse servidor diretamente com `claude mcp add` ou `claude mcp add-json` sob um nome válido. Veja [Import MCP servers from Claude Desktop](/docs/pt/mcp#import-mcp-servers-from-claude-desktop).3160* Adicione esse servidor diretamente com `claude mcp add` ou `claude mcp add-json` sob um nome válido. Consulte [Importar servidores MCP do Claude Desktop](/docs/pt/mcp#import-mcp-servers-from-claude-desktop).

3138 3161 

3139<h3 id="cannot-add-mcp-server-to-the-managed-scope">3162<h3 id="cannot-add-mcp-server-to-the-managed-scope">

3140 Não é possível adicionar servidor MCP ao escopo gerenciado3163 Não é possível adicionar o servidor MCP ao escopo managed

3141</h3>3164</h3>

3142 3165 

3143Você executou `claude mcp add` ou `claude mcp add-json` com `--scope managed`. Esse escopo contém os servidores que sua organização fornece através da configuração gerenciada [`managedMcpServers`](/docs/pt/settings-reference#managedmcpservers). Claude Code os lê apenas de configurações gerenciadas, então o comando não consegue escrever um servidor nesse escopo.3166Você executou `claude mcp add` ou `claude mcp add-json` com `--scope managed`. Esse escopo contém os servidores que sua organização fornece por meio da configuração gerenciada [`managedMcpServers`](/docs/pt/settings-reference#managedmcpservers). O Claude Code os lê somente das configurações gerenciadas, então o comando não pode gravar um servidor nesse escopo.

3144 3167 

3145```text theme={null}3168```text theme={null}

3146Cannot add MCP server to scope: managed3169Cannot add MCP server to scope: managed


3148 3171 

3149**O que fazer:**3172**O que fazer:**

3150 3173 

3151* Adicione o servidor a um escopo que você pode escrever: `local`, `user` ou `project`. Sem `--scope`, o comando usa `local`. Veja [MCP installation scopes](/docs/pt/mcp#mcp-installation-scopes)3174* Adicione o servidor a um escopo no qual você pode gravar: `local`, `user` ou `project`. Sem `--scope`, o comando usa `local`. Consulte [Escopos de instalação de MCP](/docs/pt/mcp#mcp-installation-scopes)

3152* Para fornecer o servidor a cada usuário em sua organização, adicione-o a [`managedMcpServers`](/docs/pt/settings-reference#managedmcpservers) nas configurações gerenciadas que você implanta3175* Para fornecer o servidor a todos os usuários da sua organização, adicione-o a [`managedMcpServers`](/docs/pt/settings-reference#managedmcpservers) nas configurações gerenciadas que você implanta

3153 3176 

3154<h3 id="cant-read-mcp-json">3177<h3 id="cant-read-mcp-json">

3155 Não é possível ler .mcp.json3178 Não é possível ler .mcp.json

3156</h3>3179</h3>

3157 3180 

3158Um comando que lê o [`.mcp.json`](/docs/pt/mcp#project-scope) do projeto, como `claude mcp add` ou `claude mcp add-json` com `--scope project`, ou `claude mcp remove`, descobriu que o arquivo em seu diretório atual não é um arquivo regular ou é maior que 2 MiB, então sai com esse erro em vez de ler o arquivo.3181Um comando que lê o [`.mcp.json`](/docs/pt/mcp#project-scope) do projeto, como `claude mcp add` ou `claude mcp add-json` com `--scope project`, ou `claude mcp remove`, descobriu que o arquivo no seu diretório atual não é um arquivo regular ou é maior que 2 MiB, então sai com este erro em vez de ler o arquivo.

3159 3182 

3160```text theme={null}3183```text theme={null}

3161Can't read .mcp.json: it isn't a regular file or is larger than 2097152 bytes. Fix or remove it, then run the command again.3184Can't read .mcp.json: it isn't a regular file or is larger than 2097152 bytes. Fix or remove it, then run the command again.

3162```3185```

3163 3186 

3164Antes da v2.1.257, um FIFO em `.mcp.json` deixava o comando esperando para sempre sem saída, e um symlink para um arquivo de dispositivo como `/dev/zero` crescia em memória até o processo ser morto.3187Antes da v2.1.257, um FIFO em `.mcp.json` deixava o comando esperando para sempre sem nenhuma saída, e um link simbólico para um arquivo de dispositivo como `/dev/zero` fazia a memória crescer até o processo ser encerrado.

3165 3188 

3166**O que fazer:**3189**O que fazer:**

3167 3190 

3168* Verifique o que está em `.mcp.json` em seu diretório atual. Substitua-o por um arquivo JSON ordinário no [formato de escopo de projeto](/docs/pt/mcp#project-scope), ou delete-o, depois execute o comando novamente.3191* Verifique o que está em `.mcp.json` no seu diretório atual. Substitua-o por um arquivo JSON comum no [formato de escopo de projeto](/docs/pt/mcp#project-scope), ou exclua-o, e execute o comando novamente.

3169 3192 

3170<h3 id="mcp-server-was-not-saved-or-removed">3193<h3 id="mcp-server-was-not-saved-or-removed">

3171 Servidor MCP não foi salvo ou removido3194 O servidor MCP não foi salvo ou removido

3172</h3>3195</h3>

3173 3196 

3174Você executou `claude mcp add`, `claude mcp add-json` ou `claude mcp remove` para um servidor no escopo `user` ou `local` [scope](/docs/pt/mcp#mcp-installation-scopes). Ambos os escopos são armazenados em `~/.claude.json`, e a mudança não está naquele arquivo quando Claude Code o lê novamente após escrever. O comando sai com esse erro em vez de sua linha de sucesso.3197Você executou `claude mcp add`, `claude mcp add-json` ou `claude mcp remove` para um servidor no [escopo](/docs/pt/mcp#mcp-installation-scopes) `user` ou `local`. Ambos os escopos são armazenados em `~/.claude.json`, e a alteração não está nesse arquivo quando o Claude Code o lê de volta após a gravação. O comando sai com este erro em vez de sua linha de sucesso.

3175 3198 

3176```text theme={null}3199```text theme={null}

3177MCP server "example" was not saved to /home/user/.claude.json. If that file is read-only or protected by a sandbox, make it writable or run the command outside the sandbox, then add the server again.3200MCP server "example" was not saved to /home/user/.claude.json. If that file is read-only or protected by a sandbox, make it writable or run the command outside the sandbox, then add the server again.

3178```3201```

3179 3202 

3180Após uma remoção, a mensagem lê `was not removed from` e termina com `then remove the server again`. Para um servidor de escopo `local`, o caminho é seguido pelo diretório do projeto ao qual a entrada pertence, como `(local scope for /path/to/project)`.3203Após uma remoção, a mensagem diz `was not removed from` e termina com `then remove the server again`. Para um servidor de escopo `local`, o caminho é seguido pelo diretório do projeto ao qual a entrada pertence, como `(local scope for /path/to/project)`.

3181 3204 

3182Antes da v2.1.283, `claude mcp add`, `claude mcp add-json` e `claude mcp remove` relatavam sucesso mesmo quando a mudança não chegava ao arquivo.3205Antes da v2.1.283, `claude mcp add`, `claude mcp add-json` e `claude mcp remove` reportavam sucesso mesmo quando a alteração não chegava ao arquivo.

3183 3206 

3184**O que fazer:**3207**O que fazer:**

3185 3208 

3186* Torne o arquivo que a mensagem nomeia gravável, ou execute o comando fora do sandbox, depois execute o mesmo comando de adição ou remoção novamente.3209* Torne gravável o arquivo que a mensagem nomeia, ou execute o comando fora do sandbox, e então execute o mesmo comando de adição ou remoção novamente.

3187 3210 

3188<h3 id="mcp-server-may-not-have-been-saved-or-removed">3211<h3 id="mcp-server-may-not-have-been-saved-or-removed">

3189 Servidor MCP pode não ter sido salvo ou removido3212 O servidor MCP pode não ter sido salvo ou removido

3190</h3>3213</h3>

3191 3214 

3192Você executou `claude mcp add`, `claude mcp add-json` ou `claude mcp remove` para um servidor no escopo `user` ou `local` [scope](/docs/pt/mcp#mcp-installation-scopes), e Claude Code não conseguiu ler `~/.claude.json` novamente para confirmar a mudança. A mudança pode ou não estar no disco. O texto entre parênteses é o erro dessa leitura.3215Você executou `claude mcp add`, `claude mcp add-json` ou `claude mcp remove` para um servidor no [escopo](/docs/pt/mcp#mcp-installation-scopes) `user` ou `local`, e o Claude Code não conseguiu ler `~/.claude.json` de volta para confirmar a alteração. A alteração pode ou não estar no disco. O texto entre parênteses é o erro dessa leitura.

3193 3216 

3194```text theme={null}3217```text theme={null}

3195MCP server "example" may not have been saved: /home/user/.claude.json could not be read to confirm the change (EACCES: permission denied, open '/home/user/.claude.json'). Run `claude mcp get example` to check, then add the server again if it is missing.3218MCP server "example" may not have been saved: /home/user/.claude.json could not be read to confirm the change (EACCES: permission denied, open '/home/user/.claude.json'). Run `claude mcp get example` to check, then add the server again if it is missing.

3196```3219```

3197 3220 

3198Após uma remoção, a mensagem lê `may not have been removed` e termina com `then remove the server again if it is still listed`.3221Após uma remoção, a mensagem diz `may not have been removed` e termina com `then remove the server again if it is still listed`.

3199 3222 

3200Antes da v2.1.283, os comandos relatavam sucesso mesmo quando a mudança não conseguia ser confirmada.3223Antes da v2.1.283, os comandos reportavam sucesso mesmo quando a alteração não podia ser confirmada.

3201 3224 

3202**O que fazer:**3225**O que fazer:**

3203 3226 

3204* Execute `claude mcp get <name>` para verificar se a mudança está no disco. Para um servidor de escopo `local`, execute-o a partir do diretório do projeto ao qual o servidor pertence, já que o escopo local é por projeto.3227* Execute `claude mcp get <name>` para verificar se a alteração está no disco. Para um servidor de escopo `local`, execute-o a partir do diretório do projeto ao qual o servidor pertence, já que o escopo local é por projeto.

3205* Se o servidor está faltando após uma adição, ou ainda listado após uma remoção, execute o mesmo comando de adição ou remoção novamente.3228* Se o servidor estiver ausente após uma adição, ou ainda listado após uma remoção, execute o mesmo comando de adição ou remoção novamente.

3206 3229 

3207<h3 id="anthropic-hosted-and-doesnt-support-local-oauth">3230<h3 id="anthropic-hosted-and-doesnt-support-local-oauth">

3208 Servidor é hospedado pela Anthropic e não suporta OAuth local3231 O servidor é hospedado pela Anthropic e não oferece suporte a OAuth local

3209</h3>3232</h3>

3210 3233 

3211Você iniciou um sign-in para um servidor MCP cuja URL aponta para um host de conector hospedado pela Anthropic que autentica através de um provedor de identidade de terceiros. Esses hosts incluem `microsoft365.mcp.claude.com`, `gmail.mcp.claude.com` e `gcal.mcp.claude.com`. Claude Code recusa iniciar seu fluxo OAuth local para esses hosts tanto do painel `/mcp` quanto de `claude mcp login`, porque [seu sign-in funciona apenas através de claude.ai](/docs/pt/mcp#use-mcp-servers-from-claude-ai).3234Você iniciou um login para um servidor MCP cuja URL aponta para um host de conector hospedado pela Anthropic que autentica por meio de um provedor de identidade de terceiros. Esses hosts incluem `microsoft365.mcp.claude.com`, `gmail.mcp.claude.com` e `gcal.mcp.claude.com`. O Claude Code se recusa a iniciar seu fluxo OAuth local para esses hosts tanto a partir do painel `/mcp` quanto de `claude mcp login`, porque [o login deles funciona somente por meio do claude.ai](/docs/pt/mcp#use-mcp-servers-from-claude-ai).

3212 3235 

3213```text theme={null}3236```text theme={null}

3214"gmail" is Anthropic-hosted and doesn't support local OAuth. Connect it via Settings → Connectors on claude.ai (requires `claude login`), then it'll be available here automatically.3237"gmail" is Anthropic-hosted and doesn't support local OAuth. Connect it via Settings → Connectors on claude.ai (requires `claude login`), then it'll be available here automatically.

3215```3238```

3216 3239 

3217Claude Code corresponde a esses hosts por URL, então a mensagem aparece quando um servidor que você adicionou com `claude mcp add` ou em `.mcp.json` aponta para um deles.

3218 

3219**O que fazer:**3240**O que fazer:**

3220 3241 

3221* Remova sua entrada com `claude mcp remove <name>`, para que não possa ocultar o conector claude.ai na mesma URL3242* Remova sua entrada com `claude mcp remove <name>`, para que ela não oculte o conector do claude.ai na mesma URL

3222* Depois de removê-la, conecte o serviço em [claude.ai/customize/connectors](https://claude.ai/customize/connectors), enquanto conectado à conta que você usa em Claude Code. Uma vez conectado, [o conector aparece em Claude Code automaticamente](/docs/pt/mcp#use-mcp-servers-from-claude-ai) se seu método de autenticação ativo for um login de assinatura claude.ai3243* Depois de removê-la, conecte o serviço em [claude.ai/customize/connectors](https://claude.ai/customize/connectors), com login na conta que você usa no Claude Code. Depois de conectado, [o conector aparece no Claude Code automaticamente](/docs/pt/mcp#use-mcp-servers-from-claude-ai) se o seu método de autenticação ativo for um login com assinatura do claude.ai

3223 3244 

3224<h3 id="server-rejected-the-authorization-header-minted-by-the-configured-headershelper">3245<h3 id="server-rejected-the-authorization-header-minted-by-the-configured-headershelper">

3225 Servidor rejeitou o cabeçalho Authorization cunhado pelo headersHelper configurado3246 O servidor rejeitou o cabeçalho Authorization gerado pelo headersHelper configurado

3226</h3>3247</h3>

3227 3248 

3228Um servidor MCP cujo [`headersHelper`](/docs/pt/mcp#use-dynamic-headers-for-custom-authentication) fornece o cabeçalho `Authorization` respondeu a conexão com HTTP 401 ou 403, então Claude Code relata a conexão como falha. Porque o helper fornece o cabeçalho `Authorization`, Claude Code [não volta para OAuth](/docs/pt/mcp#authenticate-with-remote-mcp-servers) para o servidor:3249Um servidor MCP cujo [`headersHelper`](/docs/pt/mcp#use-dynamic-headers-for-custom-authentication) fornece o cabeçalho `Authorization` respondeu à conexão com HTTP 401 ou 403, então o Claude Code reporta a conexão como falha. Como o helper fornece o cabeçalho `Authorization`, o Claude Code [não recorre ao OAuth](/docs/pt/mcp#authenticate-with-remote-mcp-servers) para o servidor:

3229 3250 

3230```text theme={null}3251```text theme={null}

3231Server rejected the Authorization header minted by the configured headersHelper (HTTP 401). Check that the helper command returns a valid credential for this MCP endpoint — OAuth fallback is disabled when the helper supplies Authorization.3252Server rejected the Authorization header minted by the configured headersHelper (HTTP 401). Check that the helper command returns a valid credential for this MCP endpoint — OAuth fallback is disabled when the helper supplies Authorization.

3232```3253```

3233 3254 

3234Claude Code re-executa o helper em cada tentativa de conexão, então uma tentativa novamente após uma rejeição transitória, como uma corrida de rotação de token, pode ter sucesso com uma credencial nova.3255O Claude Code executa o helper novamente a cada tentativa de conexão, então uma nova tentativa após uma rejeição transitória, como uma condição de corrida na rotação de token, pode ter sucesso com uma credencial nova.

3235 3256 

3236**O que fazer:**3257**O que fazer:**

3237 3258 

3238* Execute o comando `headersHelper` você mesmo da forma que Claude Code o executa: do [diretório onde Claude Code o executa](/docs/pt/mcp#where-the-helper-runs), com as [variáveis de ambiente que Claude Code define para ele](/docs/pt/mcp#use-dynamic-headers-for-custom-authentication), e sem as [variáveis de credencial que Claude Code remove](/docs/pt/mcp#which-variables-a-helper-can-read) para um servidor de um `.mcp.json` de projeto, um plugin ou um arquivo de agente de projeto. Verifique se ele imprime um valor `Authorization` que o endpoint do servidor aceita3259* Execute você mesmo o comando `headersHelper` da forma como o Claude Code o executa: a partir do [diretório em que o Claude Code o executa](/docs/pt/mcp#where-the-helper-runs), com as [variáveis de ambiente que o Claude Code define para ele](/docs/pt/mcp#use-dynamic-headers-for-custom-authentication) e sem as [variáveis de credencial que o Claude Code remove](/docs/pt/mcp#which-variables-a-helper-can-read) para um servidor de um `.mcp.json` de projeto, de um plugin ou de um arquivo de agente de projeto. Verifique se ele imprime um valor de `Authorization` que o endpoint do servidor aceita

3239* Depois de corrigir o helper ou sua fonte de credencial, selecione o servidor em `/mcp` e escolha **Reconnect**3260* Depois de corrigir o helper ou sua fonte de credenciais, selecione o servidor em `/mcp` e escolha **Reconnect**

3240 3261 

3241Antes da v2.1.248, Claude Code executava descoberta OAuth para um servidor cujo helper fornecia o cabeçalho `Authorization`. Essa descoberta poderia falhar com `Incompatible auth server: does not support dynamic client registration` em vez de relatar a credencial rejeitada.3262Antes da v2.1.248, o Claude Code executava a descoberta de OAuth para um servidor cujo helper fornecia o cabeçalho `Authorization`. Essa descoberta podia falhar com `Incompatible auth server: does not support dynamic client registration` em vez de reportar a credencial rejeitada.

3242 3263 

3243<h3 id="mcp-permission-prompt-tool-not-found">3264<h3 id="mcp-permission-prompt-tool-not-found">

3244 Ferramenta de prompt de permissão MCP não encontrada3265 Ferramenta de prompt de permissão MCP não encontrada

3245</h3>3266</h3>

3246 3267 

3247A ferramenta que você passou para [`--permission-prompt-tool`](/docs/pt/cli-reference#cli-flags) não estava entre as ferramentas MCP conectadas quando a execução primeiro precisou de uma decisão de permissão, seja porque seu servidor nunca se conectou ou porque nenhum servidor conectado expõe uma ferramenta com esse nome. Claude Code ainda envia seu prompt: a execução [não interativa](/docs/pt/headless) sai com esse erro e código de saída 1, na primeira chamada de ferramenta que precisa de aprovação, então não produz resposta mesmo que a solicitação tenha sido feita. Antes do primeiro prompt, Claude Code aguarda até o tempo limite de conexão por servidor de 30 segundos definido por [`MCP_TIMEOUT`](/docs/pt/env-vars) para que esse servidor se conecte. Antes da v2.1.206, a inicialização não aguardava o servidor terminar de se conectar, então um servidor que inicia lentamente mas saudável produzia esse erro também.3268A ferramenta que você passou para [`--permission-prompt-tool`](/docs/pt/cli-reference#cli-flags) não estava entre as ferramentas MCP conectadas quando a execução precisou pela primeira vez de uma decisão de permissão, seja porque seu servidor nunca se conectou ou porque nenhum servidor conectado expõe uma ferramenta com esse nome. O Claude Code ainda envia seu prompt: a execução [não interativa](/docs/pt/headless) sai com este erro, e código de saída 1, na primeira chamada de ferramenta, então não produz nenhuma resposta mesmo que a requisição tenha sido feita. Antes do primeiro prompt, o Claude Code aguarda até o timeout de conexão por servidor de 30 segundos, definido por [`MCP_TIMEOUT`](/docs/pt/env-vars), para que esse servidor se conecte. Antes da v2.1.206, a inicialização não aguardava o servidor terminar de se conectar, então um servidor saudável, mas lento para iniciar, também produzia este erro.

3248 3269 

3249```text theme={null}3270```text theme={null}

3250Error: MCP tool mcp__permissions__approve (passed via --permission-prompt-tool) not found. Available MCP tools: none3271Error: MCP tool mcp__permissions__approve (passed via --permission-prompt-tool) not found. Available MCP tools: none

3251```3272```

3252 3273 

3253A lista após `Available MCP tools:` nomeia as ferramentas MCP que estavam conectadas quando a espera terminou.3274A lista após `Available MCP tools:` nomeia as ferramentas MCP que estavam conectadas.

3254 3275 

3255**O que fazer:**3276**O que fazer:**

3256 3277 

3257* Verifique se o servidor inicia e permanece conectado: execute `claude mcp list` no mesmo diretório e confirme se o servidor está listado como conectado3278* Verifique se o servidor inicia e permanece conectado: execute `claude mcp list` no mesmo diretório e confirme que o servidor está listado como conectado

3258* Confirme se o nome da ferramenta corresponde ao nome `mcp__<server>__<tool>` que o servidor expõe3279* Confirme que o nome da ferramenta corresponde ao nome `mcp__<server>__<tool>` que o servidor expõe

3259* Se o servidor precisa de mais de 30 segundos para iniciar, aumente [`MCP_TIMEOUT`](/docs/pt/env-vars)3280* Se o servidor precisar de mais de 30 segundos para iniciar, aumente [`MCP_TIMEOUT`](/docs/pt/env-vars)

3260 3281 

3261<h3 id="oauth-callback-port-is-already-in-use">3282<h3 id="oauth-callback-port-is-already-in-use">

3262 Porta de callback OAuth já está em uso3283 A porta de callback do OAuth já está em uso

3263</h3>3284</h3>

3264 3285 

3265Quando você faz sign-in em um servidor MCP remoto com OAuth, Claude Code inicia um listener local para receber o callback de sign-in. Se a porta que esse listener precisa está sendo mantida por outro processo, o sign-in falha com essa mensagem. Isso acontece principalmente com uma [porta de callback fixa](/docs/pt/mcp#use-a-fixed-oauth-callback-port) definida através da variável [`MCP_OAUTH_CALLBACK_PORT`](/docs/pt/env-vars) ou `--callback-port`, já que sem uma Claude Code escolhe uma porta disponível.3286Quando você faz login em um servidor MCP remoto com OAuth, o Claude Code inicia um listener local para receber o callback do login. Se a porta de que esse listener precisa estiver ocupada por outro processo, o login falha com esta mensagem. Isso acontece principalmente com uma [porta de callback fixa](/docs/pt/mcp#use-a-fixed-oauth-callback-port) definida por meio da variável [`MCP_OAUTH_CALLBACK_PORT`](/docs/pt/env-vars) ou de `--callback-port`, já que, sem ela, o Claude Code escolhe uma porta disponível.

3266 3287 

3267```text theme={null}3288```text theme={null}

3268OAuth callback port <port> is already in use — another process may be holding it. Run `lsof -ti:<port> -sTCP:LISTEN` to find it.3289OAuth callback port <port> is already in use — another process may be holding it. Run `lsof -ti:<port> -sTCP:LISTEN` to find it.

3269```3290```

3270 3291 

3271No Windows, o comando sugerido é `netstat -ano | findstr :<port>` em vez disso.3292No Windows, o comando sugerido é `netstat -ano | findstr :<port>`.

3272 3293 

3273**O que fazer:**3294**O que fazer:**

3274 3295 

3275* Execute o comando da mensagem para encontrar o processo que mantém a porta e pare-o ou aguarde que termine3296* Execute o comando da mensagem para encontrar o processo que está ocupando a porta e interrompa-o ou aguarde até que termine

3276* Se outro programa precisa dessa porta permanentemente, registre um URI de redirecionamento diferente com o servidor e defina sua porta com `MCP_OAUTH_CALLBACK_PORT` ou `--callback-port`, o que você usar3297* Se outro programa precisar dessa porta permanentemente, registre um URI de redirecionamento diferente no servidor e defina sua porta com `MCP_OAUTH_CALLBACK_PORT` ou `--callback-port`, o que você estiver usando

3277* Depois inicie o sign-in novamente, por exemplo selecionando o servidor em `/mcp`3298* Em seguida, inicie o login novamente, por exemplo selecionando o servidor em `/mcp`

3278 3299 

3279<h3 id="no-available-ports-for-oauth-redirect">3300<h3 id="no-available-ports-for-oauth-redirect">

3280 Nenhuma porta disponível para redirecionamento OAuth3301 Nenhuma porta disponível para o redirecionamento do OAuth

3281</h3>3302</h3>

3282 3303 

3283Quando você faz sign-in em um servidor MCP remoto com [OAuth](/docs/pt/mcp#authenticate-with-remote-mcp-servers), Claude Code inicia um listener local para receber o callback de sign-in. O sign-in falha com essa mensagem quando Claude Code não consegue vincular uma porta local para isso. Algo na máquina está impedindo que ele ouça em `127.0.0.1`, por exemplo software de segurança ou uma política de sandbox que nega listeners locais.3304Quando você faz login em um servidor MCP remoto com [OAuth](/docs/pt/mcp#authenticate-with-remote-mcp-servers), o Claude Code inicia um listener local para receber o callback do login. O login falha com esta mensagem quando o Claude Code não consegue vincular uma porta local para ele. Algo na máquina está impedindo-o de escutar em `127.0.0.1`, por exemplo um software de segurança ou uma política de sandbox que nega listeners locais.

3284 3305 

3285```text theme={null}3306```text theme={null}

3286No available ports for OAuth redirect3307No available ports for OAuth redirect

3287```3308```

3288 3309 

3289Antes da v2.1.268, Claude Code não voltava para uma porta atribuída pelo sistema operacional, então a mensagem também aparecia quando apenas suas portas auto-escolhidas não podiam ser vinculadas. Isso pode acontecer em hosts Windows onde Hyper-V reserva intervalos de porta que cobrem as portas que Claude Code escolhe.3310Antes da v2.1.268, o Claude Code não recorria a uma porta atribuída pelo sistema operacional, então a mensagem também aparecia quando apenas as portas escolhidas por ele não podiam ser vinculadas. Isso pode acontecer em hosts Windows onde o Hyper-V reserva intervalos de portas que abrangem as portas entre as quais o Claude Code escolhe.

3290 3311 

3291**O que fazer:**3312**O que fazer:**

3292 3313 

3293* Verifique se software de segurança ou uma política de sandbox bloqueia processos de ouvirem em `127.0.0.1` e permita que Claude Code vincule uma porta local3314* Verifique se um software de segurança ou uma política de sandbox impede processos de escutar em `127.0.0.1` e permita que o Claude Code vincule uma porta local

3294* Depois inicie o sign-in novamente, por exemplo selecionando o servidor em `/mcp`3315* Em seguida, inicie o login novamente, por exemplo selecionando o servidor em `/mcp`

3295 3316 

3296<h3 id="security-review-fails-without-origin-head">3317<h3 id="security-review-fails-without-origin-head">

3297 /security-review falha sem origin/HEAD3318 /security-review falha sem origin/HEAD

3298</h3>3319</h3>

3299 3320 

3300[`/security-review`](/docs/pt/commands#all-commands) constrói seu contexto de revisão fazendo diff de seu branch contra `origin/HEAD`, a ref local que registra qual branch é o padrão em seu remote `origin`. Quando essa ref não existe, os comandos git que reúnem o diff falham e a revisão para antes de começar.3321[`/security-review`](/docs/pt/commands#all-commands) cria seu contexto de revisão gerando o diff do seu branch em relação a `origin/HEAD`, a ref local que registra qual branch é o padrão no seu remoto `origin`. Quando essa ref não existe, os comandos git que reúnem o diff falham e a revisão para antes de começar.

3301 3322 

3302```text theme={null}3323```text theme={null}

3303Error: Shell command failed for pattern "!`git diff --name-only origin/HEAD...`": [stderr]3324Error: Shell command failed for pattern "!`git diff --name-only origin/HEAD...`": [stderr]


3306'git <command> [<revision>...] -- [<file>...]'3327'git <command> [<revision>...] -- [<file>...]'

3307```3328```

3308 3329 

3309A mensagem pode citar `git log` ou um `git diff` diferente em vez disso. Git cria `origin/HEAD` apenas quando o remote anuncia um branch padrão e seu refspec de busca o cobre, o que um `git clone` completo de um remote com commits faz. A ref está faltando nessas configurações:3330A mensagem pode citar `git log` ou um `git diff` diferente. O Git cria `origin/HEAD` somente quando o remoto anuncia um branch padrão e seu refspec de fetch o abrange, o que acontece com um `git clone` completo de um remoto com commits. A ref está ausente nestas configurações:

3310 3331 

3311* Um checkout de branch único ou CI, que busca um refspec muito estreito3332* Um checkout de branch único ou de CI, que faz fetch com um refspec restrito demais

3312* Um remote cujo HEAD do lado do servidor aponta para um branch que ninguém fez push3333* Um remoto cujo HEAD do lado do servidor aponta para um branch que ninguém enviou

3313* Um repositório sem remote `origin`, ou um que você nunca buscou3334* Um repositório sem remoto `origin`, ou um do qual você nunca fez fetch

3314 3335 

3315Claude Code mostra o mesmo erro para qualquer skill que [injeta contexto dinâmico](/docs/pt/skills#when-an-injected-command-fails), e um comando injetado que falha aborta a invocação dessa skill. Duas strings irmãs disparam antes do comando ser executado:3336O Claude Code mostra o mesmo erro para qualquer skill que [injeta contexto dinâmico](/docs/pt/skills#when-an-injected-command-fails), e um comando injetado que falha aborta a invocação dessa skill. Duas mensagens irmãs são disparadas antes mesmo de o comando ser executado:

3316 3337 

3317* `Shell command permission check failed for pattern "..."`: a verificação de permissão do comando não o permitiu. [Permission checks on injected commands](/docs/pt/skills#permission-checks-on-injected-commands) cobre quais resultados abortam em cada modo de permissão e como pré-aprovar um comando com `allowed-tools`3338* `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](/docs/pt/skills#permission-checks-on-injected-commands) explica quais resultados abortam em cada modo de permissão e como pré-aprovar um comando com `allowed-tools`

3318* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: o frontmatter da skill exige bash em uma máquina sem ele. Instale Git para Windows ou mude o frontmatter para `shell: powershell`. Veja [How injected commands run](/docs/pt/skills#how-injected-commands-run)3339* ``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](/docs/pt/skills#how-injected-commands-run)

3319 3340 

3320**O que fazer:**3341**O que fazer:**

3321 3342 

3322* Crie a ref nomeando o branch padrão do seu remote: `git remote set-head origin <default-branch>`. Isso funciona sempre que a ref de rastreamento local `origin/<default-branch>` existe. Se não existir, como em clones de branch único, busque o branch primeiro: execute `git remote set-branches --add origin <branch>`, depois `git fetch origin`, depois execute novamente o comando set-head. Execute `/security-review` novamente.3343* Crie a ref nomeando o branch padrão do seu remoto: `git remote set-head origin <default-branch>`. Isso funciona sempre que a ref de rastreamento local `origin/<default-branch>` existe. Se não existir, como em clones de branch único, faça primeiro o fetch do branch: execute `git remote set-branches --add origin <branch>`, depois `git fetch origin` e, em seguida, execute novamente o comando set-head. Execute `/security-review` novamente.

3323* Se você preferir não nomear o branch, execute `git fetch origin` e depois `git remote set-head origin --auto`, que pergunta ao remote qual branch é seu padrão. Falha com `error: Cannot determine remote HEAD` quando o remote não anuncia um branch padrão, porque está vazio ou seu HEAD aponta para um branch que ninguém fez push; nomeie o branch explicitamente em vez disso. Falha com `error: Not a valid ref` quando seu clone não busca esse branch; amplie o refspec como acima primeiro.3344* Se preferir não nomear o branch, execute `git fetch origin` e depois `git remote set-head origin --auto`, que pergunta ao remoto qual branch é o padrão. Ele falha com `error: Cannot determine remote HEAD` quando o remoto não anuncia nenhum branch padrão, porque está vazio ou seu HEAD aponta para um branch que ninguém enviou; nesse caso, nomeie o branch explicitamente. Ele falha com `error: Not a valid ref` quando seu clone não faz fetch desse branch; amplie primeiro o refspec como descrito acima.

3324* Se o repositório não tem remote, adicione um com `git remote add origin <url>` e busque antes de criar a ref. Se o remote está vazio, faça push de seu branch primeiro com `git push -u origin HEAD` e nomeie esse branch no comando set-head; `origin/HEAD` então aponta para o branch que você acabou de fazer push, então `/security-review` vê um diff vazio até o branch divergir dele.3345* Se o repositório não tiver remoto, adicione um com `git remote add origin <url>` e faça fetch antes de criar a ref. Se o remoto estiver vazio, envie primeiro seu branch com `git push -u origin HEAD` e nomeie esse branch no comando set-head; `origin/HEAD` então aponta para o branch que você acabou de enviar, então `/security-review` vê um diff vazio até que o branch divirja dele.

3325 3346 

3326<h3 id="input-must-be-provided-when-using-print">3347<h3 id="input-must-be-provided-when-using-print">

3327 Entrada deve ser fornecida ao usar `--print`3348 É necessário fornecer entrada ao usar `--print`

3328</h3>3349</h3>

3329 3350 

3330`claude` simples precisa que stdout seja um terminal para iniciar a UI interativa. Quando stdout é redirecionado, ou o console não é um terminal real, como PowerShell ISE e alguns painéis de saída de IDE, `claude` executa [não interativamente](/docs/pt/headless) em vez disso. Esse é o mesmo modo que `claude -p`, que requer um prompt, então a mensagem nomeia `--print` mesmo quando você não passou a flag. Passar `-p`/`--print` sem prompt e nada canalizado em stdin produz o mesmo erro em qualquer lugar.3351O `claude` sem argumentos precisa que o stdout seja um terminal para iniciar a interface interativa. Quando o stdout está redirecionado, ou o console não é um terminal real, como o PowerShell ISE e alguns painéis de saída de IDE, `claude` é executado de forma [não interativa](/docs/pt/headless). Esse é o mesmo modo que `claude -p`, que exige um prompt, então a mensagem nomeia `--print` mesmo quando você não passou a flag. Passar `-p`/`--print` sem prompt e sem nada enviado por pipe no stdin produz o mesmo erro em qualquer lugar.

3331 3352 

3332```text theme={null}3353```text theme={null}

3333Error: Input must be provided either through stdin or as a prompt argument when using --print3354Error: Input must be provided either through stdin or as a prompt argument when using --print


3335 3356 

3336**O que fazer:**3357**O que fazer:**

3337 3358 

3338* Para uso interativo, execute `claude` em um terminal real: Windows Terminal ou o console PowerShell em vez de ISE, e o terminal integrado do seu IDE em vez de um painel de saída3359* Para uso interativo, execute `claude` em um terminal real: o Windows Terminal ou o console do PowerShell em vez do ISE, e o terminal integrado da sua IDE em vez de um painel de saída

3339* Para uso único, passe o prompt: `claude -p "your question"`, ou canalize-o com `echo "your question" | claude -p`3360* Para uso pontual, passe o prompt: `claude -p "your question"`, ou envie-o por pipe com `echo "your question" | claude -p`

3340 3361 

3341<h3 id="input-contained-only-whitespace">3362<h3 id="input-contained-only-whitespace">

3342 Entrada continha apenas espaço em branco3363 A entrada continha apenas espaços em branco

3343</h3>3364</h3>

3344 3365 

3345Em [modo não interativo](/docs/pt/headless), Claude Code recusa um prompt feito inteiramente de espaços, abas ou quebras de linha em vez de enviá-lo, porque a API rejeita mensagens sem texto visível. Qual mensagem você vê depende de onde o prompt em branco veio:3366No [modo não interativo](/docs/pt/headless), o Claude Code recusa um prompt composto inteiramente de espaços, tabulações ou quebras de linha em vez de enviá-lo, porque a API rejeita mensagens sem texto visível. A mensagem que você vê depende de onde veio o prompt em branco:

3346 3367 

3347* **Argumento de prompt ou stdin canalizado para `claude -p`**: `claude` sai com `Error: Input contained only whitespace. Provide a prompt with text through stdin or as a prompt argument when using --print`3368* **Argumento de prompt ou stdin via pipe para `claude -p`**: `claude` sai com `Error: Input contained only whitespace. Provide a prompt with text through stdin or as a prompt argument when using --print`

3348* **Mensagem enviada para uma sessão `--input-format stream-json` ou [Agent SDK](/docs/pt/agent-sdk/overview) em execução**: Claude Code termina a volta sem chamar o modelo e a sessão permanece utilizável. A recusa chega como uma mensagem informativa e como o texto de resultado da volta: `Blank prompt — the message was only whitespace, so nothing was sent to the model.`3369* **Mensagem enviada a uma sessão `--input-format stream-json` ou do [Agent SDK](/docs/pt/agent-sdk/overview) em execução**: o Claude Code encerra o turno sem chamar o modelo e a sessão continua utilizável. A recusa chega como uma mensagem informativa e como o texto de resultado do turno: `Blank prompt — the message was only whitespace, so nothing was sent to the model.`

3349 3370 

3350Antes da v2.1.229, Claude Code enviava a mensagem apenas com espaço em branco para a API, que rejeitava a solicitação com um erro 400.3371Antes da v2.1.229, o Claude Code enviava a mensagem contendo apenas espaços em branco para a API, que rejeitava a requisição com um erro 400.

3351 3372 

3352**O que fazer:**3373**O que fazer:**

3353 3374 

3354* Inclua texto visível no prompt. Se um script constrói o prompt a partir de uma variável ou arquivo, verifique se a fonte não está vazia antes de chamar Claude Code.3375* Inclua texto visível no prompt. Se um script cria o prompt a partir de uma variável ou arquivo, verifique se a origem não está vazia antes de chamar o Claude Code.

3355 3376 

3356<h3 id="stream-json-input-carried-over-256m-characters-with-no-newline">3377<h3 id="stream-json-input-carried-over-256m-characters-with-no-newline">

3357 entrada stream-json levou mais de 256M caracteres sem quebra de linha3378 A entrada stream-json transportou mais de 256M caracteres sem quebra de linha

3358</h3>3379</h3>

3359 3380 

3360Seu programa enviou mais de 268.435.456 caracteres em stdin sem uma quebra de linha para uma execução `claude -p --input-format stream-json`, então Claude Code imprime esse erro no stderr e sai com código 1 em vez de armazenar mais entrada. A mensagem declara esse orçamento como `256M`. Antes da v2.1.257, Claude Code armazenava tal entrada sem limite, crescendo em memória até o processo travar ou ser morto.3381Seu programa enviou mais de 268.435.456 caracteres no stdin sem uma quebra de linha para uma execução `claude -p --input-format stream-json`, então o Claude Code imprime este erro no stderr e sai com código 1 em vez de armazenar mais entrada em buffer. A mensagem expressa esse limite como `256M`. Antes da v2.1.257, o Claude Code armazenava essa entrada em buffer sem limite, fazendo a memória crescer até o processo travar ou ser encerrado.

3361 3382 

3362```text theme={null}3383```text theme={null}

3363Error: stream-json input carried over 256M characters with no newline. Each stream-json message must be a single newline-terminated JSON line: either the producer is not newline-terminating its messages, or one message exceeded this budget.3384Error: stream-json input carried over 256M characters with no newline. Each stream-json message must be a single newline-terminated JSON line: either the producer is not newline-terminating its messages, or one message exceeded this budget.

3364```3385```

3365 3386 

3366Entrada tão longa sem uma quebra de linha geralmente significa que o produtor não é um produtor stream-json, como um arquivo binário ou saída de log simples canalizada por acidente. Uma única mensagem acima do orçamento falha na mesma verificação.3387Uma entrada tão longa sem quebra de linha geralmente significa que o produtor não é um produtor de stream-json, como um arquivo binário ou uma saída de log simples enviada por pipe por engano. Uma única mensagem acima do limite falha na mesma verificação.

3367 3388 

3368**O que fazer:**3389**O que fazer:**

3369 3390 

3370* Verifique o que está canalizado para stdin. Com [`--input-format stream-json`](/docs/pt/cli-reference#cli-flags), cada mensagem deve ser uma linha JSON terminada por quebra de linha3391* Verifique o que está sendo enviado por pipe para o stdin. Com [`--input-format stream-json`](/docs/pt/cli-reference#cli-flags), cada mensagem deve ser uma linha JSON terminada por quebra de linha

3371* Para enviar texto simples em vez disso, remova `--input-format stream-json`; `claude -p` lê um prompt de texto simples de stdin por padrão3392* Para enviar texto simples, remova `--input-format stream-json`; `claude -p` lê um prompt de texto simples do stdin por padrão

3372 3393 

3373<h3 id="unknown-command">3394<h3 id="unknown-command">

3374 Comando desconhecido3395 Comando desconhecido

3375</h3>3396</h3>

3376 3397 

3377Em uma sessão de terminal interativa, você enviou um nome `/` que não corresponde a nenhum comando nessa sessão, então Claude Code relata o nome em vez de executar qualquer coisa:3398Em uma sessão de terminal interativa, você enviou um nome com `/` que não corresponde a nenhum comando nesta sessão, então o Claude Code reporta o nome em vez de executar algo:

3378 3399 

3379```text theme={null}3400```text theme={null}

3380Unknown command: /hepl. Did you mean /help?3401Unknown command: /hepl. Did you mean /help?

3381```3402```

3382 3403 

3383Claude Code sugere o nome de comando ou alias mais próximo que o menu lista nessa sessão. Quando nada está próximo, a mensagem termina após o nome. A causa geralmente é uma das seguintes:3404O Claude Code sugere o nome de comando ou alias mais próximo que o menu lista nesta sessão. Quando nada é próximo, a mensagem termina após o nome. A causa geralmente é uma das seguintes:

3384 3405 

3385* Um erro de digitação, como `/hepl` para `/help`. [How the command menu matches what you type](/docs/pt/commands#how-the-command-menu-matches-what-you-type) cobre escolher uma correspondência próxima antes de enviar3406* Um erro de digitação, como `/hepl` em vez de `/help`. [Como o menu de comandos corresponde ao que você digita](/docs/pt/commands#how-the-command-menu-matches-what-you-type) explica como escolher uma correspondência próxima antes de enviar

3386* Um comando que existe mas não está disponível nessa sessão porque um requisito não é atendido, como sua plataforma, plano ou método de autenticação. As entradas de solução de problemas para [`/web-setup`](/docs/pt/web-quickstart#web-setup-shows-no-commands-match-or-unknown-command) e [`/schedule`](/docs/pt/routines#schedule-returns-unknown-command) percorrem dois casos comuns. Alguns comandos respondem com sua própria mensagem quando a política da sua organização os desabilita, como [`Cloud sessions are disabled by your organization's policy`](#cloud-sessions-are-disabled-by-your-organizations-policy)3407* Um comando que existe, mas não está disponível nesta sessão porque um requisito não foi atendido, como sua plataforma, plano ou método de autenticação. As entradas de solução de problemas de [`/web-setup`](/docs/pt/web-quickstart#web-setup-shows-no-commands-match-or-unknown-command) e [`/schedule`](/docs/pt/routines#schedule-returns-unknown-command) detalham dois casos comuns. Alguns comandos respondem com sua própria mensagem quando a política da sua organização os desativa, como [`Cloud sessions are disabled by your organization's policy`](#cloud-sessions-are-disabled-by-your-organizations-policy)

3387* Um comando de um [plugin](/docs/pt/plugins/overview) ou [servidor MCP](/docs/pt/mcp#use-mcp-prompts-as-commands) que não está instalado ou conectado nessa sessão3408* Um comando de um [plugin](/docs/pt/plugins/overview) ou [servidor MCP](/docs/pt/mcp#use-mcp-prompts-as-commands) que não está instalado ou conectado nesta sessão

3388 3409 

3389Claude Code responde a um nome `/` não correspondido dessa forma apenas em uma sessão de terminal interativa. Em todas as outras sessões, ele envia o prompt para Claude como uma mensagem normal em vez disso, com uma nota de que o comando não foi executado e uma lista de comandos que Claude pode executar na sessão. Essas sessões incluem:3410O Claude Code responde dessa forma a um nome com `/` sem correspondência somente em uma sessão de terminal interativa. Em todas as outras sessões, ele envia o prompt ao Claude como uma mensagem normal, com uma nota de que o comando não foi executado e uma lista dos comandos que o Claude pode executar na sessão. Essas sessões incluem:

3390 3411 

3391* execuções `-p`3412* Execuções com `-p`

3392* aplicações [Agent SDK](/docs/pt/agent-sdk/overview)3413* Aplicações do [Agent SDK](/docs/pt/agent-sdk/overview)

3393* A aba Code do [aplicativo Desktop](/docs/pt/desktop)3414* A aba Code do [aplicativo Desktop](/docs/pt/desktop)

3394* O painel de chat da [extensão VS Code](/docs/pt/vs-code)3415* O painel de chat da [extensão do VS Code](/docs/pt/vs-code)

3395* [Sessões em nuvem](/docs/pt/claude-code-on-the-web) e [rotinas](/docs/pt/routines)3416* [Sessões na nuvem](/docs/pt/claude-code-on-the-web) e [rotinas](/docs/pt/routines)

3396 3417 

3397Para um comando integrado que não consegue executar em uma dessas sessões, Claude Code ainda responde que o comando não está disponível em vez de enviá-lo para Claude. Antes da v2.1.274, apenas sessões em nuvem e rotinas enviavam um nome não correspondido para Claude. Antes da v2.1.273, elas também respondiam `Unknown command`.3418Para um comando integrado que não pode ser executado em uma dessas sessões, o Claude Code ainda responde que o comando não está disponível em vez de enviá-lo ao Claude. Antes da v2.1.274, somente sessões na nuvem e rotinas enviavam um nome sem correspondência ao Claude. Antes da v2.1.273, elas também respondiam `Unknown command`.

3398 3419 

3399Claude Code não trata cada prompt que começa com `/` como um comando. Ele envia o prompt para Claude como uma mensagem normal quando a primeira palavra após o `/` começa com pontuação, como o `/--` que abre um comentário de doc Lean, ou é um caminho como `/var/log/syslog`.3420O Claude Code não trata todo prompt que começa com `/` como um comando. Ele envia o prompt ao Claude como uma mensagem normal quando a primeira palavra após a `/` começa com pontuação, como o `/--` que abre um comentário de documentação do Lean, ou é um caminho como `/var/log/syslog`.

3400 3421 

3401Antes da v2.1.236, se você pressionasse `Enter` enquanto o menu de comando listava uma correspondência próxima para o nome que você digitou, Claude Code executava essa correspondência, então um erro de digitação como `/hepl` executava `/help` em vez de produzir essa mensagem.3422Antes da v2.1.236, se você pressionasse `Enter` enquanto o menu de comandos listava uma correspondência próxima para o nome digitado, o Claude Code executava essa correspondência, então um erro de digitação como `/hepl` executava `/help` em vez de produzir esta mensagem.

3402 3423 

3403**O que fazer:**3424**O que fazer:**

3404 3425 

3405* Execute o nome sugerido, ou digite `/` seguido de parte do nome para ver o que está disponível nessa sessão3426* Execute o nome sugerido, ou digite `/` seguido de parte do nome para ver o que está disponível nesta sessão

3406* Se Claude Code relata um comando documentado como desconhecido, verifique sua linha na [referência de comandos](/docs/pt/commands) para o requisito que nomeia3427* Se o Claude Code reportar um comando documentado como desconhecido, verifique sua linha na [referência de comandos](/docs/pt/commands) para ver o requisito que ela nomeia

3407 3428 

3408<h3 id="diff-is-too-large-for-ultrareview">3429<h3 id="diff-is-too-large-for-ultrareview">

3409 Diff é muito grande para ultrareview3430 O diff é grande demais para o ultrareview

3410</h3>3431</h3>

3411 3432 

3412O diff entre seu branch e o branch base, incluindo mudanças não confirmadas e preparadas, excede os limites de tamanho para um [ultrareview](/docs/pt/ultrareview), então `/code-review ultra` e o subcomando `claude ultrareview` recusam a revisão antes da sessão em nuvem iniciar. Uma revisão recusada não usa uma execução gratuita e não cobra créditos de uso. A mensagem nomeia os limites em vigor, o tamanho do seu diff e os arquivos que contribuem com a maioria das linhas alteradas. Antes da v2.1.216, a mensagem mostrava apenas as estatísticas de diff bruto.3433O diff entre seu branch e o branch base, incluindo alterações sem commit e preparadas, excede os limites de tamanho de um [ultrareview](/docs/pt/ultrareview), então `/code-review ultra` e o subcomando `claude ultrareview` recusam a revisão antes que a sessão na nuvem seja iniciada. Uma revisão recusada não consome uma execução gratuita e não cobra créditos de uso. A mensagem nomeia os limites em vigor, o tamanho do seu diff e os arquivos que mais contribuem com linhas alteradas. Antes da v2.1.216, a mensagem mostrava apenas as estatísticas brutas do diff.

3413 3434 

3414```text theme={null}3435```text theme={null}

3415Diff is too large for ultrareview: 812 files, 96,410 lines changed (limits: 500 files, 8,000 lines). Largest files: package-lock.json (41,904 lines), dist/bundle.js (18,210 lines), src/generated/api.ts (9,876 lines). Pass a closer base branch (`/code-review ultra <branch>`) to narrow the scope, or split the change.3436Diff is too large for ultrareview: 812 files, 96,410 lines changed (limits: 500 files, 8,000 lines). Largest files: package-lock.json (41,904 lines), dist/bundle.js (18,210 lines), src/generated/api.ts (9,876 lines). Pass a closer base branch (`/code-review ultra <branch>`) to narrow the scope, or split the change.

3416```3437```

3417 3438 

3418Revisar um pull request aplica os mesmos limites; essa forma da mensagem começa `PR #<N> is too large for ultrareview` e nomeia as contagens de arquivo e linha do PR.3439Revisar um pull request aplica os mesmos limites; essa forma da mensagem começa com `PR #<N> is too large for ultrareview` e nomeia as contagens de arquivos e linhas do PR.

3419 3440 

3420**O que fazer:**3441**O que fazer:**

3421 3442 

3422* Passe um branch base mais próximo do seu trabalho, como `/code-review ultra develop`, para que a revisão cubra apenas o diff contra esse branch3443* Passe um branch base mais próximo do seu trabalho, como `/code-review ultra develop`, para que a revisão abranja apenas o diff em relação a esse branch

3423* Divida a mudança em branches menores e revise cada uma. Os arquivos que a mensagem nomeia contribuem com a maioria das linhas alteradas, então comece movendo-os para seu próprio branch.3444* Divida a alteração em branches menores e revise cada um. Os arquivos que a mensagem nomeia contribuem com mais linhas alteradas, então comece movendo-os para seu próprio branch.

3424 3445 

3425<h3 id="could-not-find-merge-base-with-the-base-branch">3446<h3 id="could-not-find-merge-base-with-the-base-branch">

3426 Não foi possível encontrar merge-base com o branch base3447 Não foi possível encontrar a merge-base com o branch base

3427</h3>3448</h3>

3428 3449 

3429`/code-review ultra` e o subcomando `claude ultrareview` revisam o diff entre seu branch e um branch base, o que precisa de um commit que os dois compartilham. Quando `git merge-base` não encontra nenhum, Claude Code recusa a revisão antes da sessão em nuvem iniciar. Em um clone que Claude Code consegue verificar que é completo, com pelo menos um branch, ele volta para [revisar cada arquivo rastreado](/docs/pt/ultrareview#diff-limits-and-fallbacks) em vez de recusar. Você vê essa recusa quando o branch base não consegue ser encontrado, quando Claude Code não consegue verificar que seu clone é completo, ou no raro repositório onde o diff de árvore inteira não é possível, como o formato de objeto SHA-256.3450`/code-review ultra` e o subcomando `claude ultrareview` revisam o diff entre seu branch e um branch base, o que exige um commit que os dois compartilhem. Quando `git merge-base` não encontra nenhum, o Claude Code recusa a revisão antes que a sessão na nuvem seja iniciada. Em um clone que o Claude Code pode verificar como completo, com pelo menos um branch, ele recorre a [revisar todos os arquivos rastreados](/docs/pt/ultrareview#diff-limits-and-fallbacks) em vez de recusar. Você vê esta recusa quando o branch base não pode ser encontrado, quando o Claude Code não consegue verificar se seu clone está completo, ou no raro repositório em que o diff da árvore inteira não é possível, como com o formato de objeto SHA-256.

3430 3451 

3431```text theme={null}3452```text theme={null}

3432Could not find merge-base with main. Pass the base branch explicitly (e.g. `/code-review ultra develop`) or make sure you're in a git repo with a main branch.3453Could not find merge-base with main. Pass the base branch explicitly (e.g. `/code-review ultra develop`) or make sure you're in a git repo with a main branch.

3433```3454```

3434 3455 

3435A dica após a primeira sentença depende do que Claude Code observou:3456A dica após a primeira frase depende do que o Claude Code observou:

3436 3457 

3437* **Você não passou um branch base**: Claude Code comparou contra o branch padrão do repositório e sugere passar seu base explicitamente, como no exemplo acima3458* **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

3438* **Você passou um branch base que já estava em seu clone**: a dica lê ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``3459* **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>`)``

3439* **Você passou um branch base que não estava em seu clone**: Claude Code o buscou de origin antes de comparar. A dica lê ``<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 Claude Code não consegue dizer se seu clone é raso, sugere `git fetch --unshallow origin` em vez disso. Antes da v2.1.221, a dica sugeria `git fetch --unshallow origin` para cada branch base buscado, e em um clone completo esse comando falha com `fatal: --unshallow on a complete repository does not make sense`.3460* **Você passou um branch base que não estava no seu clone**: o Claude Code fez fetch dele a partir 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 dizer se seu clone é shallow, ele sugere `git fetch --unshallow origin`. Antes da v2.1.221, a dica sugeria `git fetch --unshallow origin` para todo branch base obtido por fetch, e em um clone completo esse comando falha com `fatal: --unshallow on a complete repository does not make sense`.

3440 3461 

3441**O que fazer:**3462**O que fazer:**

3442 3463 

3443* Se outro branch é seu base real, passe-o explicitamente: `/code-review ultra <branch>`3464* Se outro branch for sua base real, passe-o explicitamente: `/code-review ultra <branch>`

3444* Se seu clone pode não ter histórico completo, execute `git fetch --unshallow origin` e execute a revisão novamente3465* Se seu clone talvez não tenha o histórico completo, execute `git fetch --unshallow origin` e execute a revisão novamente

3445 3466 

3446<h3 id="your-checkout-has-no-branches">3467<h3 id="your-checkout-has-no-branches">

3447 Seu checkout não tem branches3468 Seu checkout não tem branches

3448</h3>3469</h3>

3449 3470 

3450Um checkout pode ter commits mas nenhum branch: se você executar `git init` seguido de `git fetch <url>` e `git checkout FETCH_HEAD`, você obtém um HEAD desanexado sem refs. Claude Code empacota seu repositório como um bundle git para carregá-lo para um [ultrareview](/docs/pt/ultrareview), e não consegue empacotar um repositório que não tem branches ou outras refs, então `/code-review ultra` e o subcomando `claude ultrareview` recusam a revisão antes da sessão em nuvem iniciar.3471Um checkout pode ter commits, mas nenhum branch: se você executar `git init` seguido de `git fetch <url>` e `git checkout FETCH_HEAD`, obtém um HEAD desanexado sem refs. O Claude Code empacota seu repositório como um git bundle para enviá-lo para um [ultrareview](/docs/pt/ultrareview), e não consegue empacotar um repositório que não tem branches nem outras refs, então `/code-review ultra` e o subcomando `claude ultrareview` recusam a revisão antes que a sessão na nuvem seja iniciada.

3451 3472 

3452```text theme={null}3473```text theme={null}

3453Your checkout has no branches (detached HEAD only), which cloud review can't bundle. Create one first — `git checkout -b <name>` — then rerun /code-review ultra.3474Your checkout has no branches (detached HEAD only), which cloud review can't bundle. Create one first — `git checkout -b <name>` — then rerun /code-review ultra.

3454```3475```

3455 3476 

3456Antes da v2.1.221, Claude Code tentava revisar cada arquivo rastreado nesse checkout, e o carregamento falhava.3477Antes da v2.1.221, o Claude Code tentava revisar todos os arquivos rastreados neste checkout, e o upload falhava.

3457 3478 

3458**O que fazer:**3479**O que fazer:**

3459 3480 

3460* Crie um branch em seu commit atual com `git checkout -b <name>`, depois execute a revisão novamente3481* Crie um branch no seu commit atual com `git checkout -b <name>` e execute a revisão novamente

3461 3482 

3462<h3 id="no-github-account-is-connected-to-your-claude-account">3483<h3 id="no-github-account-is-connected-to-your-claude-account">

3463 Nenhuma conta GitHub está conectada à sua conta Claude3484 Nenhuma conta do GitHub está conectada à sua conta Claude

3464</h3>3485</h3>

3465 3486 

3466Você executou `/code-review ultra <PR#>` ou `claude ultrareview <PR#>`, e antes de criar a sessão em nuvem Claude Code pergunta ao servidor se [a conta GitHub conectada à sua conta Claude](/docs/pt/ultrareview#review-a-pull-request) consegue alcançar o repositório do PR. Nenhuma conta está conectada, ou a conexão expirou, então o clone em nuvem falharia e Claude Code recusa o lançamento. Claude Code não gasta uma execução gratuita ou cobra créditos de uso para um lançamento recusado.3487Você executou `/code-review ultra <PR#>` ou `claude ultrareview <PR#>`, e antes de criar a sessão na nuvem o Claude Code pergunta ao servidor se [a conta do GitHub conectada à sua conta Claude](/docs/pt/ultrareview#review-a-pull-request) consegue acessar o repositório do PR. Nenhuma conta está conectada, ou a conexão expirou, então o clone na nuvem falharia e o Claude Code recusa a inicialização. O Claude Code não consome uma execução gratuita nem cobra créditos de uso por uma inicialização recusada.

3467 3488 

3468```text theme={null}3489```text theme={null}

3469Ultrareview clones <owner>/<repo> in the cloud with the GitHub account connected to your Claude account, and none is connected (or the connection expired). To fix: run /web-setup to reuse your GitHub CLI login, or connect an account at https://claude.ai/connect-github — then re-run /code-review ultra 1234 (allow a minute after connecting).3490Ultrareview clones <owner>/<repo> in the cloud with the GitHub account connected to your Claude account, and none is connected (or the connection expired). To fix: run /web-setup to reuse your GitHub CLI login, or connect an account at https://claude.ai/connect-github — then re-run /code-review ultra 1234 (allow a minute after connecting).

3470```3491```

3471 3492 

3472Quando [`/web-setup`](/docs/pt/web-quickstart#connect-from-your-terminal) não está disponível em sua sessão, a mensagem nomeia apenas o link claude.ai.3493Quando [`/web-setup`](/docs/pt/web-quickstart#connect-from-your-terminal) não está disponível na sua sessão, a mensagem nomeia apenas o link do claude.ai.

3473 3494 

3474**O que fazer:**3495**O que fazer:**

3475 3496 

3476* Execute `/web-setup` para conectar seu login GitHub CLI à sua conta Claude, ou conecte uma conta em [claude.ai/connect-github](https://claude.ai/connect-github)3497* Execute `/web-setup` para conectar seu login da GitHub CLI à sua conta Claude, ou conecte uma conta em [claude.ai/connect-github](https://claude.ai/connect-github)

3477* Execute a revisão novamente um minuto após conectar3498* Execute a revisão novamente um minuto após conectar

3478 3499 

3479Antes da v2.1.248, Claude Code não verificava isso antes do lançamento.3500Antes da v2.1.248, o Claude Code não verificava isso antes da inicialização.

3480 3501 

3481<h3 id="your-connected-github-account-cant-see-the-repository">3502<h3 id="your-connected-github-account-cant-see-the-repository">

3482 Sua conta GitHub conectada não consegue ver o repositório3503 Sua conta do GitHub conectada não consegue ver o repositório

3483</h3>3504</h3>

3484 3505 

3485Você executou `/code-review ultra <PR#>` ou `claude ultrareview <PR#>`, e [a conta GitHub conectada à sua conta Claude](/docs/pt/ultrareview#review-a-pull-request) não consegue ler o repositório do PR, então o clone em nuvem falharia e Claude Code recusa o lançamento. Claude Code não gasta uma execução gratuita ou cobra créditos de uso para um lançamento recusado.3506Você executou `/code-review ultra <PR#>` ou `claude ultrareview <PR#>`, e [a conta do GitHub conectada à sua conta Claude](/docs/pt/ultrareview#review-a-pull-request) não consegue ler o repositório do PR, então o clone na nuvem falharia e o Claude Code recusa a inicialização. O Claude Code não consome uma execução gratuita nem cobra créditos de uso por uma inicialização recusada.

3486 3507 

3487```text theme={null}3508```text theme={null}

3488Your connected GitHub account can't see <owner>/<repo> — usually the Claude GitHub app isn't installed on <owner> or wasn't granted this repo (web-connected accounts need it for private repos), or a different GitHub account is connected. To fix: run /web-setup to reuse your GitHub CLI login, or install the app at https://github.com/apps/claude/installations/new — then re-run /code-review ultra 1234.3509Your connected GitHub account can't see <owner>/<repo> — usually the Claude GitHub app isn't installed on <owner> or wasn't granted this repo (web-connected accounts need it for private repos), or a different GitHub account is connected. To fix: run /web-setup to reuse your GitHub CLI login, or install the app at https://github.com/apps/claude/installations/new — then re-run /code-review ultra 1234.

3489```3510```

3490 3511 

3491Quando [`/web-setup`](/docs/pt/web-quickstart#connect-from-your-terminal) não está disponível em sua sessão, a mensagem nomeia apenas a instalação do app.3512Quando [`/web-setup`](/docs/pt/web-quickstart#connect-from-your-terminal) não está disponível na sua sessão, a mensagem nomeia apenas a instalação do aplicativo.

3492 3513 

3493**O que fazer:**3514**O que fazer:**

3494 3515 

3495* Se seu CLI `gh` local consegue ler o repositório, execute `/web-setup` para conectar esse login à sua conta Claude3516* Se sua CLI `gh` local consegue ler o repositório, execute `/web-setup` para conectar esse login à sua conta Claude

3496* Execute a revisão após a mudança3517* Execute a revisão novamente após a alteração

3497 3518 

3498Antes da v2.1.248, Claude Code não verificava isso antes do lançamento.3519Antes da v2.1.248, o Claude Code não verificava isso antes da inicialização.

3499 3520 

3500<h3 id="the-github-app-preflight-failed-transiently">3521<h3 id="the-github-app-preflight-failed-transiently">

3501 A verificação prévia do GitHub App falhou transitoriamente3522 A verificação prévia do GitHub App falhou temporariamente

3502</h3>3523</h3>

3503 3524 

3504Você iniciou uma [sessão em nuvem](/docs/pt/claude-code-on-the-web) a partir de um repositório local, e duas etapas falharam juntas. Claude Code não conseguiu construir ou carregar o bundle do seu repositório. Antes do carregamento, ele verificou se o serviço em nuvem consegue clonar o repositório do GitHub, e em vez de uma resposta definitiva, essa verificação terminou em um erro que uma tentativa novamente poderia limpar, como um erro de rede, um tempo limite ou um erro de servidor temporário. A mensagem completa começa com o que parou o bundle, por exemplo `Could not upload repo bundle (<error>)`, e termina com a sentença de verificação prévia:3525Você iniciou uma [sessão na nuvem](/docs/pt/claude-code-on-the-web) a partir de um repositório local, e duas etapas falharam juntas. O Claude Code não conseguiu criar ou enviar o bundle do seu repositório. Antes do upload, ele verificou se o serviço na nuvem consegue clonar o repositório a partir do GitHub e, em vez de uma resposta definitiva, essa verificação terminou em um erro que uma nova tentativa poderia resolver, como um erro de rede, um timeout ou um erro temporário do servidor. A mensagem completa começa com o que impediu o bundle, por exemplo `Could not upload repo bundle (<error>)`, e termina com a frase da verificação prévia:

3505 3526 

3506```text theme={null}3527```text theme={null}

3507Could not upload repo bundle (<error>). The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead3528Could not upload repo bundle (<error>). The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead


3509 3530 

3510**O que fazer:**3531**O que fazer:**

3511 3532 

3512* Execute o comando novamente após um momento. Quando a verificação do GitHub passa, Claude Code consegue iniciar a sessão a partir de um clone do GitHub, então o carregamento que falhou não bloqueia mais o lançamento3533* Execute o comando novamente após um momento. Quando a verificação do GitHub passa, o Claude Code pode iniciar a sessão a partir de um clone do GitHub, então o upload que falhou não bloqueia mais a inicialização

3513* Se as tentativas novamente continuarem falhando, o início da mensagem nomeia o que parou o carregamento. Quando essa causa é algo que você consegue corrigir, corrija-a para que a sessão consegua iniciar a partir do seu repositório local em vez disso3534* Se as novas tentativas continuarem falhando, o início da mensagem nomeia o que impediu o upload. Quando essa causa for algo que você pode corrigir, corrija-a para que a sessão possa ser iniciada a partir do seu repositório local

3514 3535 

3515Antes da v2.1.251, Claude Code terminava a mensagem com `Please set up GitHub on https://claude.ai/code` mesmo quando a verificação do GitHub falhou apenas transitoriamente, e o conselho de configuração não consegue limpar uma falha transitória.3536Antes da v2.1.251, o Claude Code terminava a mensagem com `Please set up GitHub on https://claude.ai/code` mesmo quando a verificação do GitHub falhava apenas temporariamente, e conselhos de configuração não podem resolver uma falha temporária.

3516 3537 

3517<h3 id="the-repository-upload-cant-follow-a-git-setting">3538<h3 id="the-repository-upload-cant-follow-a-git-setting">

3518 O upload do repositório não consegue seguir uma configuração git3539 O upload do repositório não consegue seguir uma configuração do git

3519</h3>3540</h3>

3520 3541 

3521Você iniciou uma [sessão em nuvem que carrega seu repositório local](/docs/pt/claude-code-on-the-web#send-local-repositories-without-github), ou um [ultrareview](/docs/pt/ultrareview) de um branch, e o carregamento não consegue seguir uma das configurações git que decidem quais regras de atributo se aplicam aos seus arquivos. Se o carregamento tivesse continuado e perdido uma regra, um arquivo que git transforma antes de armazenar, como um que um filtro limpo criptografa, poderia chegar à nuvem como está no disco. Claude Code recusa o carregamento em vez disso, e nada é carregado:3542Você iniciou uma [sessão na nuvem que faz upload do seu repositório local](/docs/pt/claude-code-on-the-web#send-local-repositories-without-github), ou um [ultrareview](/docs/pt/ultrareview) de um branch, e o upload não consegue seguir uma das configurações do git que decidem quais regras de atributos se aplicam aos seus arquivos. Se o upload prosseguisse e deixasse passar uma regra, um arquivo que o git transforma antes de armazená-lo, como um que um filtro clean criptografa, poderia chegar à nuvem como está no disco. Em vez disso, o Claude Code recusa o upload, e nada é enviado:

3522 3543 

3523```text theme={null}3544```text theme={null}

3524Not uploading this working tree: core.ignoreCase (which decides whether .gitattributes patterns match file names regardless of letter case) is set in <file>, and the upload cannot follow that setting, so a file git would change before storing it (to encrypt it, for example) could be uploaded as it is on disk. Move the core.ignoreCase line into this repository's .git/config or directly into your ~/.gitconfig, then retry.3545Not uploading this working tree: core.ignoreCase (which decides whether .gitattributes patterns match file names regardless of letter case) is set in <file>, and the upload cannot follow that setting, so a file git would change before storing it (to encrypt it, for example) could be uploaded as it is on disk. Move the core.ignoreCase line into this repository’s .git/config or directly into your ~/.gitconfig, then retry.

3525```3546```

3526 3547 

3527A mensagem nomeia a configuração e onde está definida, e termina com a correção para o caso que você atingiu. A mesma recusa aparece para `core.attributesFile` e `attr.tree`, cada uma com sua própria correção.3548A mensagem nomeia a configuração e onde ela está definida, e termina com a correção para o caso que você encontrou. A mesma recusa aparece para `core.attributesFile` e `attr.tree`, cada uma com sua própria correção.

3528 3549 

3529A mensagem pode nomear um arquivo de configuração que sua configuração git puxa através de uma diretiva `include` ou `includeIf`, mesmo quando a condição dessa diretiva não se aplica a este repositório.3550A mensagem pode nomear um arquivo de configuração que sua configuração do git inclui por meio de uma diretiva `include` ou `includeIf`, mesmo quando a condição dessa diretiva não se aplica a este repositório.

3530 3551 

3531**O que fazer:**3552**O que fazer:**

3532 3553 

3533* Aplique a correção na sentença final da mensagem3554* Aplique a correção indicada na frase final da mensagem

3534 3555 

3535<h3 id="github-isnt-connected-to-your-claude-account">3556<h3 id="github-isnt-connected-to-your-claude-account">

3536 GitHub não está conectado à sua conta Claude3557 O GitHub não está conectado à sua conta Claude

3537</h3>3558</h3>

3538 3559 

3539Você iniciou uma [sessão em nuvem](/docs/pt/claude-code-on-the-web) a partir do seu repositório local, por exemplo com `/autofix-pr`. Nenhuma conta GitHub está conectada à sua conta Claude, ou a conexão expirou, então Claude Code recusa o lançamento:3560Você iniciou uma [sessão na nuvem](/docs/pt/claude-code-on-the-web) a partir do seu repositório local, por exemplo com `/autofix-pr`. Nenhuma conta do GitHub está conectada à sua conta Claude, ou a conexão expirou, então o Claude Code recusa a inicialização:

3540 3561 

3541```text theme={null}3562```text theme={null}

3542GitHub isn't connected to your Claude account, so this repository can't be cloned in the cloud. Run /web-setup to connect with your GitHub CLI login, or connect on the web at https://claude.ai/connect-github3563GitHub isn't connected to your Claude account, so this repository can't be cloned in the cloud. Run /web-setup to connect with your GitHub CLI login, or connect on the web at https://claude.ai/connect-github

3543```3564```

3544 3565 

3545Quando você cria uma rotina com [`/schedule`](/docs/pt/routines), a mesma mensagem aparece como uma nota de configuração que nomeia o repositório; a nota não bloqueia a criação da rotina.3566Quando você cria uma rotina com [`/schedule`](/docs/pt/routines), a mesma mensagem aparece como uma nota de configuração que nomeia o repositório; a nota não impede a criação da rotina.

3546 3567 

3547**O que fazer:**3568**O que fazer:**

3548 3569 

3549* Execute `/web-setup` para conectar seu login GitHub CLI à sua conta Claude, ou conecte uma conta em [claude.ai/connect-github](https://claude.ai/connect-github). Veja [GitHub authentication options](/docs/pt/claude-code-on-the-web#github-authentication-options) para como os dois diferem.3570* Execute `/web-setup` para conectar seu login da GitHub CLI à sua conta Claude, ou conecte uma conta em [claude.ai/connect-github](https://claude.ai/connect-github). Consulte [Opções de autenticação do GitHub](/docs/pt/claude-code-on-the-web#github-authentication-options) para ver como as duas diferem.

3550* Execute o comando novamente um minuto após conectar3571* Execute o comando novamente um minuto após conectar

3551 3572 

3552Antes da v2.1.268, Claude Code relatava isso como uma falha temporária da verificação do Claude GitHub App e sugeria tentar novamente ou instalar o app; nenhum dos dois conecta uma conta GitHub.3573Antes da v2.1.268, o Claude Code reportava isso como uma falha temporária da verificação do Claude GitHub App e sugeria tentar novamente ou instalar o aplicativo; nenhuma das duas coisas conecta uma conta do GitHub.

3553 3574 

3554<h3 id="single-sign-on-authorization-needed">3575<h3 id="single-sign-on-authorization-needed">

3555 Autorização de single sign-on necessária3576 Autorização de single sign-on necessária

3556</h3>3577</h3>

3557 3578 

3558Você executou [`/install-github-app`](/docs/pt/github-actions#quick-setup) e escolheu um repositório cuja organização aplica single sign-on SAML. Antes da configuração, Claude Code verifica seu acesso ao repositório com o GitHub CLI, e GitHub recusou essa verificação porque seu token `gh` ainda não está autorizado para a organização. O assistente mostra o aviso com as etapas para autorizar:3579Você executou [`/install-github-app`](/docs/pt/github-actions#quick-setup) e escolheu um repositório cuja organização exige single sign-on SAML. Antes da configuração, o Claude Code verifica seu acesso ao repositório com a GitHub CLI, e o GitHub recusou essa verificação porque seu token `gh` ainda não está autorizado para a organização. O assistente mostra o aviso com as etapas para autorizar:

3559 3580 

3560```text theme={null}3581```text theme={null}

3561Single sign-on authorization needed3582Single sign-on authorization needed


3564 3585 

3565**O que fazer:**3586**O que fazer:**

3566 3587 

3567* Re-autorize seu login GitHub CLI com os escopos `repo` e `workflow` executando `gh auth refresh -h github.com -s repo,workflow`, e autorize a organização quando GitHub solicitar single sign-on3588* Autorize novamente seu login da GitHub CLI com os escopos `repo` e `workflow` executando `gh auth refresh -h github.com -s repo,workflow`, e autorize a organização quando o GitHub solicitar o single sign-on

3568* Se você autentica com um token de acesso pessoal em `GH_TOKEN`, abra [github.com/settings/tokens](https://github.com/settings/tokens), selecione **Configure SSO** no token e autorize a organização3589* Se você se autentica com um token de acesso pessoal em `GH_TOKEN`, abra [github.com/settings/tokens](https://github.com/settings/tokens), selecione **Configure SSO** no token e autorize a organização

3569* Execute `/install-github-app` novamente3590* Execute `/install-github-app` novamente

3570 3591 

3571Antes da v2.1.273, Claude Code mostrava o aviso `Admin permissions required` para essa condição em vez disso.3592Antes da v2.1.273, o Claude Code mostrava o aviso `Admin permissions required` para essa condição.

3572 3593 

3573<h3 id="failed-to-resume-the-conversation">3594<h3 id="failed-to-resume-the-conversation">

3574 Falha ao retomar a conversa3595 Falha ao retomar a conversa

3575</h3>3596</h3>

3576 3597 

3577Claude Code não conseguiu ler ou processar a transcrição salva para a sessão que você selecionou do [seletor `claude --resume`](/docs/pt/sessions#use-the-session-picker), então encerra o processo em vez de continuar em um estado parcialmente carregado. A mensagem inclui o comando para tentar novamente:3598O Claude Code não conseguiu ler ou processar a transcrição salva da sessão que você selecionou no [seletor `claude --resume`](/docs/pt/sessions#use-the-session-picker), então encerra o processo em vez de continuar em um estado parcialmente carregado. A mensagem inclui o comando para tentar novamente:

3578 3599 

3579```text theme={null}3600```text theme={null}

3580Failed to resume the conversation.3601Failed to resume the conversation.

3581Run claude --resume <session-id> to retry, or claude to start a new session.3602Run claude --resume <session-id> to retry, or claude to start a new session.

3582```3603```

3583 3604 

3584Claude Code sai com código 1 após mostrar a mensagem. O seletor `/resume` dentro de uma sessão em execução relata `Failed to resume conversation` na conversa em vez disso, e sua sessão atual continua em execução. Antes da v2.1.216, uma retomada que falhou do seletor `claude --resume` permanecia no spinner `Resuming conversation…` indefinidamente em vez de mostrar essa mensagem.3605O Claude Code sai com código 1 após mostrar a mensagem. O seletor `/resume` dentro de uma sessão em execução reporta `Failed to resume conversation` na conversa, e sua sessão atual continua em execução. Antes da v2.1.216, uma retomada com falha a partir do seletor `claude --resume` permanecia no indicador `Resuming conversation…` indefinidamente em vez de mostrar esta mensagem.

3585 3606 

3586**O que fazer:**3607**O que fazer:**

3587 3608 

3588* Execute `claude --resume <session-id>` com o ID da sessão da mensagem para tentar novamente3609* Execute `claude --resume <session-id>` com o ID da sessão da mensagem para tentar novamente

3589* Se cada tentativa novamente falhar da mesma forma, execute `claude update` e retome novamente. Versões antes da v2.1.275 falham a retomada quando a transcrição salva contém uma entrada que não conseguem ler.3610* Se todas as novas tentativas falharem da mesma forma, execute `claude update` e retome novamente. Versões anteriores à v2.1.275 falham na retomada quando a transcrição salva contém uma entrada que elas não conseguem ler.

3590* Se a tentativa novamente falhar, execute `claude` para iniciar uma nova sessão3611* Se a nova tentativa falhar novamente, execute `claude` para iniciar uma nova sessão

3591 3612 

3592<h3 id="no-conversation-found-with-the-session-id">3613<h3 id="no-conversation-found-with-the-session-id">

3593 Nenhuma conversa encontrada com o ID da sessão3614 Nenhuma conversa encontrada com o ID da sessão

3594</h3>3615</h3>

3595 3616 

3596Você passou um ID de sessão para `claude --resume <session-id>` e nenhuma transcrição salva correspondeu:3617Você passou um ID de sessão para `claude --resume <session-id>` e nenhuma transcrição salva correspondeu a ele:

3597 3618 

3598```text theme={null}3619```text theme={null}

3599No conversation found with session ID: <session-id>3620No conversation found with session ID: <session-id>

3600```3621```

3601 3622 

3602Claude Code sai com código 1 após mostrar a mensagem. Claude Code [busca o projeto atual primeiro, depois cada outro projeto nesta máquina](/docs/pt/sessions#resume-a-session) para o ID. Antes da v2.1.223, a busca parava no diretório do projeto atual e seus git worktrees, então retome do diretório onde a sessão trabalhou pela última vez.3623O Claude Code sai com código 1 após mostrar a mensagem. O Claude Code [procura o ID primeiro no projeto atual e depois em todos os outros projetos desta máquina](/docs/pt/sessions#resume-a-session). Antes da v2.1.223, a busca parava no diretório do projeto atual e em seus worktrees git, então retome a partir do diretório em que a sessão trabalhou por último.

3603 3624 

3604Causas comuns:3625Causas comuns:

3605 3626 

3606* **ID digitado incorretamente**: para uma execução não interativa, o ID é o campo `session_id` da saída [`--output-format json`](/docs/pt/headless#get-structured-output)3627* **ID digitado incorretamente**: para uma execução não interativa, o ID é o campo `session_id` da [saída de `--output-format json`](/docs/pt/headless#get-structured-output)

3607* **Transcrição deletada**: Claude Code remove transcrições após o [período de retenção](/docs/pt/sessions#where-transcripts-are-stored), 30 dias por padrão, seguindo as [regras de limpeza de retenção](/docs/pt/claude-directory#cleaned-up-automatically)3628* **Transcrição excluída**: o Claude Code remove transcrições após o [período de retenção](/docs/pt/sessions#where-transcripts-are-stored), 30 dias por padrão, seguindo as [regras de limpeza por retenção](/docs/pt/claude-directory#cleaned-up-automatically)

3608* **Máquina diferente**: Claude Code armazena transcrições localmente, então retome a sessão na máquina onde foi executada3629* **Máquina diferente**: o Claude Code armazena transcrições localmente, então retome a sessão na máquina em que ela foi executada

3609* **Cópias duplicadas**: se você copiou um diretório de projeto sob `~/.claude/projects` para que duas transcrições carreguem o mesmo ID, Claude Code relata essa mensagem em vez de retomar uma cópia arbitrariamente3630* **Cópias duplicadas**: se você copiou um diretório de projeto em `~/.claude/projects` de forma que duas transcrições tenham o mesmo ID, o Claude Code reporta esta mensagem em vez de retomar uma das cópias arbitrariamente

3610 3631 

3611**O que fazer:**3632**O que fazer:**

3612 3633 

3613* Para uma sessão interativa, abra o [seletor de sessão](/docs/pt/sessions#use-the-session-picker) com `claude --resume` e pressione `Ctrl+A` para ampliá-lo para cada projeto nesta máquina, depois selecione a sessão3634* Para uma sessão interativa, abra o [seletor de sessões](/docs/pt/sessions#use-the-session-picker) com `claude --resume` e pressione `Ctrl+A` para ampliá-lo a todos os projetos desta máquina, e então selecione a sessão

3614* Sessões criadas com `claude -p` ou o [Agent SDK](/docs/pt/agent-sdk/overview) não aparecem no seletor, então re-verifique o ID contra o `session_id` que sua execução original imprimiu3635* Sessões criadas com `claude -p` ou com o [Agent SDK](/docs/pt/agent-sdk/overview) não aparecem no seletor, então verifique novamente o ID em relação ao `session_id` que sua execução original imprimiu

3615 3636 

3616<h3 id="windows-reported-an-error-ebadf">3637<h3 id="windows-reported-an-error-ebadf">

3617 Windows relatou um erro (EBADF) quando Claude Code leu o arquivo de transcrição desta sessão3638 O Windows relatou um erro (EBADF) quando o Claude Code leu o arquivo de transcrição desta sessão

3618</h3>3639</h3>

3619 3640 

3620Você retomou uma sessão no Windows, seu arquivo de [transcrição](/docs/pt/sessions#where-transcripts-are-stored) salvo abriu normalmente, e a leitura dele então falhou com o erro do sistema EBADF. O erro do sistema não diz por que a leitura falhou, então a mensagem sugere causas prováveis e o que tentar:3641Você retomou uma sessão no Windows, o [arquivo de transcrição](/docs/pt/sessions#where-transcripts-are-stored) salvo dela foi aberto normalmente, e a leitura dele então falhou com o erro de sistema EBADF. O erro de sistema não diz por que a leitura falhou, então a mensagem sugere causas prováveis e o que tentar:

3621 3642 

3622```text theme={null}3643```text theme={null}

3623Windows reported an error (EBADF) when Claude Code read this session's transcript file, although the file had opened normally. This can happen when other software intercepts file reads — security, encryption or endpoint-management tools, for example. If it keeps happening for this conversation, try excluding the folder that holds Claude Code's session transcripts from such software (the .claude folder in your user profile, unless the app or CLAUDE_CONFIG_DIR points Claude Code elsewhere), or adding Claude Code to its allowed applications, then resume again.3644Windows reported an error (EBADF) when Claude Code read this session's transcript file, although the file had opened normally. This can happen when other software intercepts file reads — security, encryption or endpoint-management tools, for example. If it keeps happening for this conversation, try excluding the folder that holds Claude Code's session transcripts from such software (the .claude folder in your user profile, unless the app or CLAUDE_CONFIG_DIR points Claude Code elsewhere), or adding Claude Code to its allowed applications, then resume again.

3624```3645```

3625 3646 

3626A mensagem segue a linha de falha própria do comando, como `Failed to resume session <session-id>`. Um comando `claude --resume` ou [`claude -p`](/docs/pt/headless) sai com código 1 após mostrar. Depois de `/resume` dentro de uma sessão, sua sessão atual continua em execução.3647A mensagem vem depois da própria linha de falha do comando, como `Failed to resume session <session-id>`. Um comando `claude --resume` ou [`claude -p`](/docs/pt/headless) termina com código 1 depois de exibi-la. Depois de `/resume` dentro de uma sessão, sua sessão atual continua em execução.

3627 3648 

3628**O que fazer:**3649**O que fazer:**

3629 3650 

3630* Exclua a pasta que contém suas transcrições de sessão de software que escaneia ou intercepta leituras de arquivo, como ferramentas de segurança, criptografia ou gerenciamento de endpoint. As transcrições vivem sob `%USERPROFILE%\.claude\projects` por padrão, ou sob o diretório que [`CLAUDE_CONFIG_DIR`](/docs/pt/env-vars) nomeia3651* Exclua a pasta que contém as transcrições das suas sessões de softwares que verificam ou interceptam leituras de arquivos, como ferramentas de segurança, criptografia ou gerenciamento de endpoints. As transcrições ficam em `%USERPROFILE%\.claude\projects` por padrão, ou no diretório indicado por [`CLAUDE_CONFIG_DIR`](/docs/pt/env-vars)

3631* Se você não conseguir adicionar uma exclusão, adicione Claude Code às aplicações permitidas desse software em vez disso3652* Se você não puder adicionar uma exclusão, adicione o Claude Code aos aplicativos permitidos desse software

3632* Retome a sessão novamente3653* Retome a sessão novamente

3633 3654 

3634Antes da v2.1.282, a falha veio sem explicação: `claude --resume <session-id>` terminou em `Failed to resume session <session-id>`, e uma execução `-p` imprimiu apenas o texto de erro do sistema, como `Failed to resume session: EBADF: bad file descriptor, read`.3655Antes da v2.1.282, a falha vinha sem explicação: `claude --resume <session-id>` terminava em `Failed to resume session <session-id>`, e uma execução `-p` exibia apenas o texto do erro de sistema, como `Failed to resume session: EBADF: bad file descriptor, read`.

3635 3656 

3636<h3 id="cannot-switch-renderers-in-this-session">3657<h3 id="cannot-switch-renderers-in-this-session">

3637 Não é possível alternar renderizadores nesta sessão3658 Não é possível trocar de renderizador nesta sessão

3638</h3>3659</h3>

3639 3660 

3640Quando você alterna renderizadores, Claude Code reinicia seu processo. Você executou [`/tui`](/docs/pt/fullscreen#enable-fullscreen-rendering) em uma sessão que Claude Code recusa reiniciar, então não alterna e não salva nada. Qual mensagem você vê diz a você a causa:3661Quando você troca de renderizador, o Claude Code reinicia seu processo. Você executou [`/tui`](/docs/pt/fullscreen#enable-fullscreen-rendering) em uma sessão que o Claude Code se recusa a reiniciar, então ele não troca e não salva nada. A mensagem que você vê indica a causa:

3641 3662 

3642* `Cannot switch renderers while work is running in the background`: você tem trabalho em background em execução que uma reinicialização abandonaria, como um shell em background ou um subagente. Aguarde o trabalho terminar ou pare-o com [`/tasks`](/docs/pt/commands), depois execute `/tui fullscreen` ou `/tui default` novamente3663* `Cannot switch renderers while work is running in the background`: há trabalho em segundo plano em execução que uma reinicialização abandonaria, como um shell em segundo plano ou um subagente. Aguarde o trabalho terminar ou interrompa-o com [`/tasks`](/docs/pt/commands) e, em seguida, execute `/tui fullscreen` ou `/tui default` novamente

3643* `Cannot switch renderers in this session`: a sessão tem restrições que Claude Code não consegue passar para o processo reiniciado. Antes da v2.1.234, Claude Code reiniciava mesmo assim e a sessão relançada executava sem elas3664* `Cannot switch renderers in this session`: a sessão tem restrições que o Claude Code não consegue repassar ao processo reiniciado. Antes da v2.1.234, o Claude Code reiniciava mesmo assim e a sessão relançada era executada sem elas

3644 3665 

3645Na mensagem de restrições, a parte entre parênteses nomeia as restrições que Claude Code encontrou:3666Na mensagem de restrições, a parte entre parênteses indica as restrições que o Claude Code encontrou:

3646 3667 

3647```text theme={null}3668```text theme={null}

3648Cannot switch renderers in this session — it has restrictions a restart can't carry over (permission rules set for this session only). Nothing was changed. Running /tui fullscreen in a session started without them switches every later session too.3669Cannot switch renderers in this session — it has restrictions a restart can't carry over (permission rules set for this session only). Nothing was changed. Running /tui fullscreen in a session started without them switches every later session too.


3650 3671 

3651Cada motivo que a mensagem pode mostrar entre parênteses:3672Cada motivo que a mensagem pode mostrar entre parênteses:

3652 3673 

3653* `launch flags: a custom system prompt, a tool allowlist, or restricted settings`: você iniciou a sessão com uma flag que Claude Code não passa de volta para o processo reiniciado. Essas flags incluem [`--system-prompt`](/docs/pt/cli-reference#cli-flags), `--system-prompt-file`, `--append-system-prompt-file`, uma lista de permissão [`--tools`](/docs/pt/cli-reference#cli-flags), [`--setting-sources`](/docs/pt/cli-reference#cli-flags) e [`--permission-prompt-tool`](/docs/pt/cli-reference#cli-flags)3674* `launch flags: a custom system prompt, a tool allowlist, or restricted settings`: você iniciou a sessão com uma flag que o Claude Code não repassa ao processo reiniciado. Essas flags incluem [`--system-prompt`](/docs/pt/cli-reference#cli-flags), `--system-prompt-file`, `--append-system-prompt-file`, uma allowlist de [`--tools`](/docs/pt/cli-reference#cli-flags), [`--setting-sources`](/docs/pt/cli-reference#cli-flags) e [`--permission-prompt-tool`](/docs/pt/cli-reference#cli-flags)

3654* `permission rules set for this session only`: uma [atualização de permissão](/docs/pt/hooks#permission-update-entries) de um hook ou chamador SDK adicionou regras de negação ou pergunta com o destino `session`. Regras de permissão de escopo de sessão não disparam a recusa. Uma reinicialização as remove, e Claude Code solicita novamente em vez disso3675* `permission rules set for this session only`: uma [atualização de permissão](/docs/pt/hooks#permission-update-entries) vinda de um hook ou de um chamador do SDK adicionou regras deny ou ask com o destino `session`. Regras allow com escopo de sessão não acionam a recusa. Uma reinicialização as descarta, e o Claude Code volta a solicitar confirmação

3655* `ask-before-running rules with no command-line form`: uma atualização de permissão de um hook ou chamador SDK adicionou regras de pergunta ao lado das regras que Claude Code passa de volta como `--allowed-tools` e `--disallowed-tools`. Nenhuma flag existe para regras de pergunta3676* `ask-before-running rules with no command-line form`: uma atualização de permissão vinda de um hook ou de um chamador do SDK adicionou regras ask junto com as regras que o Claude Code repassa como `--allowed-tools` e `--disallowed-tools`. Não existe flag para regras ask

3656* `permission rules a command line cannot carry intact` e `added directories a command line cannot carry intact`: uma atualização de permissão adicionou uma regra ou caminho de diretório no meio da sessão. A linha de comando do processo reiniciado não consegue carregar seu texto como o mesmo valor3677* `permission rules a command line cannot carry intact` e `added directories a command line cannot carry intact`: uma atualização de permissão adicionou uma regra ou um caminho de diretório no meio da sessão. A linha de comando do processo reiniciado não consegue transportar o texto dela como o mesmo valor

3657 3678 

3658**O que fazer:**3679**O que fazer:**

3659 3680 

3660* Em uma sessão iniciada sem essas restrições, execute `/tui fullscreen`, ou `/tui default` para alternar de volta. Claude Code salva a configuração [`tui`](/docs/pt/settings-reference#tui) lá3681* Em uma sessão iniciada sem essas restrições, execute `/tui fullscreen`, ou `/tui default` para voltar. O Claude Code salva a [configuração `tui`](/docs/pt/settings-reference#tui) ali

3661 3682 

3662<h3 id="couldnt-open-claude-desktop">3683<h3 id="couldnt-open-claude-desktop">

3663 Não foi possível abrir Claude Desktop3684 Não foi possível abrir o Claude Desktop

3664</h3>3685</h3>

3665 3686 

3666Você executou [`/desktop`](/docs/pt/desktop#coming-from-the-cli) ou seu alias `/app` em uma sessão, ou [`claude --desktop`](/docs/pt/cli-reference#cli-flags) em seu shell, e o comando do sistema que Claude Code usa para abrir Claude Desktop falhou. Depois de `/desktop`, a sessão permanece no terminal; `claude --desktop` imprime a mensagem sem o prefixo `Error:` e sai com status 1.3687Você executou [`/desktop`](/docs/pt/desktop#coming-from-the-cli) ou seu alias `/app` em uma sessão, ou [`claude --desktop`](/docs/pt/cli-reference#cli-flags) no seu shell, e o comando de sistema que o Claude Code usa para abrir o Claude Desktop falhou. Depois de `/desktop`, a sessão permanece no terminal; `claude --desktop` exibe a mensagem sem o prefixo `Error:` e termina com status 1.

3667 3688 

3668O texto entre parênteses nomeia o comando que falhou, com seu status de saída e a primeira linha de sua saída de erro quando a produziu. No macOS esse comando é `open`, como neste exemplo; no Windows é `rundll32`:3689O texto entre parênteses indica o comando que falhou, com seu status de saída e a primeira linha de sua saída de erro quando ele os produziu. No macOS, esse comando é `open`, como neste exemplo; no Windows, é `rundll32`:

3669 3690 

3670```text theme={null}3691```text theme={null}

3671Error: Couldn't open Claude Desktop (`open` exited 1: LSOpenURLsWithRole() failed for the URL claude://resume?session=<session-id> with error -10814). Open Claude Desktop and try again.3692Error: Couldn't open Claude Desktop (`open` exited 1: LSOpenURLsWithRole() failed for the URL claude://resume?session=<session-id> with error -10814). Open Claude Desktop and try again.


3673 3694 

3674**O que fazer:**3695**O que fazer:**

3675 3696 

3676* Abra Claude Desktop você mesmo, depois execute `/desktop` ou `claude --desktop` novamente3697* Abra o Claude Desktop você mesmo e, em seguida, execute `/desktop` ou `claude --desktop` novamente

3677* Para ler a saída de erro completa do comando que falhou, ative o log de debug com `/debug` e execute `/desktop` novamente, ou execute `claude --desktop --debug-file <path>`, depois verifique o log de debug3698* Para ler a saída de erro completa do comando que falhou, ative o log de depuração com `/debug` e execute `/desktop` novamente, ou execute `claude --desktop --debug-file <path>`, e então verifique o log de depuração

3678 3699 

3679Antes da v2.1.285, a mensagem terminava `Open Claude Desktop and run /desktop again.` Antes da v2.1.275, era `Failed to open Claude Desktop. Please try opening it manually.` e não dizia o que falhou.3700Antes da v2.1.285, a mensagem terminava com `Open Claude Desktop and run /desktop again.` Antes da v2.1.275, ela era `Failed to open Claude Desktop. Please try opening it manually.` e não dizia o que havia falhado.

3680 3701 

3681<h3 id="terminal-setup-left-your-zed-keymap-unchanged">3702<h3 id="terminal-setup-left-your-zed-keymap-unchanged">

3682 /terminal-setup deixou seu mapa de teclas Zed inalterado3703 /terminal-setup deixou seu keymap do Zed inalterado

3683</h3>3704</h3>

3684 3705 

3685Você executou [`/terminal-setup`](/docs/pt/terminal-config#enter-multiline-prompts) em Zed, e Claude Code não conseguiu completar a atualização do seu `keymap.json` do Zed, então deixou o arquivo como estava.3706Você executou [`/terminal-setup`](/docs/pt/terminal-config#enter-multiline-prompts) no Zed, e o Claude Code não conseguiu concluir a atualização do seu `keymap.json` do Zed, então deixou o arquivo como estava.

3686 3707 

3687Cada mensagem nomeia o caminho para seu mapa de teclas e termina com o bloco de atalho de teclado para adicionar você mesmo:3708Cada mensagem indica o caminho do seu keymap e termina com o bloco de atalho de teclado para você mesmo adicionar:

3688 3709 

3689```text theme={null}3710```text theme={null}

3690Couldn't update your Zed keymap, so it was left unchanged.3711Couldn't update your Zed keymap, so it was left unchanged.


3692{ "context": "Terminal", "bindings": { "shift-enter": ["terminal::SendText", "\u001b\r"] } }3713{ "context": "Terminal", "bindings": { "shift-enter": ["terminal::SendText", "\u001b\r"] } }

3693```3714```

3694 3715 

3695A primeira linha da mensagem nomeia a causa:3716A primeira linha da mensagem indica a causa:

3696 3717 

3697* `Couldn't read your Zed keymap, so it was left unchanged.`: Claude Code não conseguiu ler o arquivo, por exemplo por causa de permissões de arquivo3718* `Couldn't read your Zed keymap, so it was left unchanged.`: o Claude Code não conseguiu ler o arquivo, por exemplo por causa de permissões de arquivo

3698* `Your Zed keymap isn't a readable list of keybindings, so it was left unchanged.`: o arquivo leu bem mas não é analisado como um array de blocos de atalho de teclado, mesmo com comentários `//` e vírgulas finais permitidas3719* `Your Zed keymap isn't a readable list of keybindings, so it was left unchanged.`: o arquivo foi lido corretamente, mas não é interpretado como um array de blocos de atalhos de teclado, mesmo permitindo comentários `//` e vírgulas finais

3699* `Couldn't back up your Zed keymap; not modifying it.`: Claude Code não conseguiu copiar o arquivo para um backup `.bak` ao lado dele, então não mudou nada3720* `Couldn't back up your Zed keymap; not modifying it.`: o Claude Code não conseguiu copiar o arquivo para um backup `.bak` ao lado dele, então não alterou nada

3700* `Couldn't update your Zed keymap, so it was left unchanged.`: o resultado mesclado não verificou como um mapa de teclas válido carregando o atalho de teclado, então Claude Code o descartou em vez de escrever. Um bloco de atalho de teclado com uma chave duplicada pode causar isso3721* `Couldn't update your Zed keymap, so it was left unchanged.`: o resultado mesclado não foi verificado como um keymap válido contendo o atalho, então o Claude Code o descartou em vez de gravá-lo. Um bloco de atalho de teclado com uma chave duplicada pode causar isso

3701 3722 

3702**O que fazer:**3723**O que fazer:**

3703 3724 

3704* Copie o bloco da mensagem para o array de nível superior em seu `keymap.json` no caminho que a mensagem nomeia3725* Copie o bloco da mensagem para o array de nível superior do seu `keymap.json` no caminho indicado pela mensagem

3705* Para `isn't a readable list of keybindings`, corrija o erro de sintaxe, ou faça o valor de nível superior do arquivo um array, depois execute `/terminal-setup` novamente3726* Para `isn't a readable list of keybindings`, corrija o erro de sintaxe, ou faça com que o valor de nível superior do arquivo seja um array, e então execute `/terminal-setup` novamente

3706 3727 

3707Antes da v2.1.247, `/terminal-setup` não conseguia analisar um mapa de teclas Zed que usava comentários `//` ou vírgulas finais, e substituía o arquivo inteiro por apenas seu próprio atalho de teclado enquanto relatava o atalho de teclado como instalado. Para restaurar um mapa de teclas que uma versão anterior substituiu, use o arquivo de backup `.bak` descrito em [Enter multiline prompts](/docs/pt/terminal-config#enter-multiline-prompts).3728Antes da v2.1.247, `/terminal-setup` não conseguia interpretar um keymap do Zed que usasse comentários `//` ou vírgulas finais, e substituía o arquivo inteiro apenas pelo seu próprio atalho enquanto informava que o atalho havia sido instalado. Para restaurar um keymap que uma versão anterior substituiu, use o arquivo de backup `.bak` descrito em [Inserir prompts de várias linhas](/docs/pt/terminal-config#enter-multiline-prompts).

3708 3729 

3709<h3 id="skill-usage-reports-are-not-available-on-this-connection">3730<h3 id="skill-usage-reports-are-not-available-on-this-connection">

3710 Relatórios de uso de skill não estão disponíveis nesta conexão3731 Relatórios de uso de skills não estão disponíveis nesta conexão

3711</h3>3732</h3>

3712 3733 

3713Você executou [`/skill-doctor`](/docs/pt/skills#find-unused-skills) sobre [Remote Control](/docs/pt/remote-control), do seu telefone ou navegador. Claude Code não envia o relatório de uso de skill sobre Remote Control e responde com essa mensagem em vez disso:3734Você executou [`/skill-doctor`](/docs/pt/skills#find-unused-skills) pelo [Remote Control](/docs/pt/remote-control), a partir do seu celular ou navegador. O Claude Code não envia o relatório de uso de skills pelo Remote Control e responde com esta mensagem:

3714 3735 

3715```text theme={null}3736```text theme={null}

3716Skill usage reports are not available on this connection.3737Skill usage reports are not available on this connection.


3718 3739 

3719**O que fazer:**3740**O que fazer:**

3720 3741 

3721* Execute `/skill-doctor` no terminal na máquina onde a sessão está em execução, ou execute `claude -p "/skill-doctor"` lá3742* Execute `/skill-doctor` no terminal da máquina onde a sessão está sendo executada, ou execute `claude -p "/skill-doctor"` ali

3722 3743 

3723<h3 id="custom-output-styles-cant-be-selected-over-remote-control">3744<h3 id="custom-output-styles-cant-be-selected-over-remote-control">

3724 Estilos de saída personalizados não podem ser selecionados sobre Remote Control3745 Estilos de saída personalizados não podem ser selecionados pelo Remote Control

3725</h3>3746</h3>

3726 3747 

3727Você executou [`/output-style`](/docs/pt/output-styles#change-your-output-style) do aplicativo móvel ou web via [Remote Control](/docs/pt/remote-control), ou o comando chegou em uma mensagem retransmitida para a sessão. Porque tal volta pode não vir do proprietário da conta, Claude Code lista e seleciona apenas [estilos integrados](/docs/pt/output-styles#built-in-output-styles) nela, e adiciona esse aviso sempre que o comando lista os estilos ou não reconhece o nome que você deu. Um nome de [estilo personalizado](/docs/pt/output-styles#create-a-custom-output-style) obtém a mesma resposta que um nome que não existe:3748Você executou [`/output-style`](/docs/pt/output-styles#change-your-output-style) pelo aplicativo móvel ou pela web via [Remote Control](/docs/pt/remote-control), ou o comando chegou em uma mensagem retransmitida para a sessão. Como esse turno pode não vir do proprietário da conta, o Claude Code lista e seleciona apenas [estilos integrados](/docs/pt/output-styles#built-in-output-styles) nele, e adiciona este aviso sempre que o comando lista os estilos ou não reconhece o nome que você forneceu. O nome de um [estilo personalizado](/docs/pt/output-styles#create-a-custom-output-style) recebe a mesma resposta que um nome que não existe:

3728 3749 

3729```text theme={null}3750```text theme={null}

3730Custom output styles can't be selected over Remote Control or from a relayed message. Select one in the session itself, or pick a built-in style here.3751Custom output styles can't be selected over Remote Control or from a relayed message. Select one in the session itself, or pick a built-in style here.


3733**O que fazer:**3754**O que fazer:**

3734 3755 

3735* Escolha um estilo integrado, por exemplo `/output-style concise`3756* Escolha um estilo integrado, por exemplo `/output-style concise`

3736* Para usar um estilo personalizado, defina [`outputStyle`](/docs/pt/settings-reference#outputstyle) em `.claude/settings.local.json` do projeto, ou execute `/output-style <style>` no terminal da própria sessão se tiver um3757* Para usar um estilo personalizado, defina [`outputStyle`](/docs/pt/settings-reference#outputstyle) no `.claude/settings.local.json` do projeto, ou execute `/output-style <style>` no próprio terminal da sessão, se ela tiver um

3737 3758 

3738<h3 id="output-styles-are-saved-to-local-settings-which-this-session-doesnt-load">3759<h3 id="output-styles-are-saved-to-local-settings-which-this-session-doesnt-load">

3739 Estilos de saída são salvos em configurações locais que esta sessão não carrega3760 Estilos de saída são salvos nas configurações locais, que esta sessão não carrega

3740</h3>3761</h3>

3741 3762 

3742Você tentou alternar [estilos de saída](/docs/pt/output-styles) com `/output-style <style>` ou `/config outputStyle=<style>` em uma sessão cujas fontes de configuração excluem `local`. Exemplos são uma sessão [Agent SDK](/docs/pt/agent-sdk/typescript) cujo [`settingSources`](/docs/pt/agent-sdk/typescript#options) deixa de fora `"local"` e uma sessão CLI iniciada com um valor [`--setting-sources`](/docs/pt/cli-reference#cli-flags) que deixa de fora `local`. Ambos os comandos salvam o estilo em `.claude/settings.local.json`, um arquivo que tal sessão nunca lê de volta, então Claude Code recusa em vez de escrever uma configuração que não teria efeito:3763Você tentou trocar de [estilo de saída](/docs/pt/output-styles) com `/output-style <style>` ou `/config outputStyle=<style>` em uma sessão cujas fontes de configuração excluem `local`. Exemplos são uma sessão do [Agent SDK](/docs/pt/agent-sdk/typescript) cujo [`settingSources`](/docs/pt/agent-sdk/typescript#options) deixa de fora `"local"` e uma sessão da CLI iniciada com um valor de [`--setting-sources`](/docs/pt/cli-reference#cli-flags) que deixa de fora `local`. Ambos os comandos salvam o estilo em `.claude/settings.local.json`, um arquivo que essa sessão nunca lê de volta, então o Claude Code recusa em vez de gravar uma configuração que não teria efeito:

3743 3764 

3744```text theme={null}3765```text theme={null}

3745Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load, so the style can't be changed here.3766Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load, so the style can't be changed here.


3747 3768 

3748**O que fazer:**3769**O que fazer:**

3749 3770 

3750* Adicione `local` às fontes de configuração da sessão e alterne novamente3771* Adicione `local` às fontes de configuração da sessão e troque novamente

3751* Defina a chave [`outputStyle`](/docs/pt/settings-reference#outputstyle) em um arquivo de configurações que a sessão carrega, como `.claude/settings.json` no projeto ou `~/.claude/settings.json`. No SDK TypeScript, defina `outputStyle` dentro do objeto `settings` inline em vez disso; veja [Activate an output style](/docs/pt/agent-sdk/modifying-system-prompts#activate-an-output-style)3772* Defina a chave [`outputStyle`](/docs/pt/settings-reference#outputstyle) em um arquivo de configurações que a sessão carrega, como `.claude/settings.json` no projeto ou `~/.claude/settings.json`. No SDK TypeScript, defina `outputStyle` dentro do objeto `settings` inline; consulte [Ativar um estilo de saída](/docs/pt/agent-sdk/modifying-system-prompts#activate-an-output-style)

3752 3773 

3753<h2 id="plugin-errors">3774<h2 id="plugin-errors">

3754 Erros de plugin3775 Erros de plugin


4514**O que fazer:**4535**O que fazer:**

4515 4536 

4516* Geralmente nada: a mensagem completa vai para Claude como um erro de ferramenta, e Claude tenta novamente com o caminho direto que nomeia. Para um edit de arquivo bloqueado, a visualização de conversa mostra apenas uma linha curta `Error editing file`; a mensagem completa aparece na visualização de transcrição, que você abre com `Ctrl+O`. Um comando bloqueado a imprime em sua saída de comando.4537* Geralmente nada: a mensagem completa vai para Claude como um erro de ferramenta, e Claude tenta novamente com o caminho direto que nomeia. Para um edit de arquivo bloqueado, a visualização de conversa mostra apenas uma linha curta `Error editing file`; a mensagem completa aparece na visualização de transcrição, que você abre com `Ctrl+O`. Um comando bloqueado a imprime em sua saída de comando.

4517* Se o bloqueio se repetir no mesmo arquivo, o caminho provavelmente passa por um symlink confirmado cujo alvo contém `..`, como `docs/current -> ../README.md`; peça a Claude para editar o arquivo de destino por seu caminho real em vez de através do link4538* Se o bloqueio se repetir no mesmo arquivo, o caminho provavelmente passa por um symlink incluído em um commit cujo alvo contém `..`, como `docs/current -> ../README.md`; peça a Claude para editar o arquivo de destino por seu caminho real em vez de através do link

4518 4539 

4519<h3 id="write-or-command-blocked-because-the-path-names-a-network-location">4540<h3 id="write-or-command-blocked-because-the-path-names-a-network-location">

4520 Write ou command bloqueado porque o caminho nomeia um local de rede4541 Write ou command bloqueado porque o caminho nomeia um local de rede


4583```4604```

4584 4605 

4585* **`running in another terminal`**: um terminal mantém a conversa, por exemplo um onde você a retomou com `claude --resume` ou `/resume`. A linha também mostra `Open in a terminal`.4606* **`running in another terminal`**: um terminal mantém a conversa, por exemplo um onde você a retomou com `claude --resume` ou `/resume`. A linha também mostra `Open in a terminal`.

4586* **`already open in another running Claude session`**: outro processo Claude Code não-interativo a mantém, por exemplo um processo de [sessão em background](/docs/pt/agent-view#the-supervisor-process) para a mesma conversa que ainda não saiu.4607* **`already open in another running Claude session`**: outro processo Claude Code não interativo a mantém, por exemplo um processo de [sessão em background](/docs/pt/agent-view#the-supervisor-process) para a mesma conversa que ainda não saiu.

4587 4608 

4588Claude Code salva uma resposta que você digitou ao abrir a linha e a envia como o próximo prompt da sessão quando a sessão iniciar novamente.4609Claude Code salva uma resposta que você digitou ao abrir a linha e a envia como o próximo prompt da sessão quando a sessão iniciar novamente.

4589 4610 


4619Você tentou deletar uma [sessão em background](/docs/pt/agent-view#what-deleting-a-session-removes) cuja worktree contém commits que Claude Code não consegue confirmar que estão salvos em outro lugar. Claude Code mantém a worktree e a linha de sessão em vez de destruir os commits sem vê-los. `claude rm` nomeia o branch e os commits não enviados, e diz como proceder:4640Você tentou deletar uma [sessão em background](/docs/pt/agent-view#what-deleting-a-session-removes) cuja worktree contém commits que Claude Code não consegue confirmar que estão salvos em outro lugar. Claude Code mantém a worktree e a linha de sessão em vez de destruir os commits sem vê-los. `claude rm` nomeia o branch e os commits não enviados, e diz como proceder:

4620 4641 

4621```text theme={null}4642```text theme={null}

4622kept 7c5dcf5d — its worktree is still at "/home/you/project/.claude/worktrees/fix-login"4643kept 7c5dcf5d — its worktree is still at “/home/you/project/.claude/worktrees/fix-login”

4623 2 unpushed commits on "claude/fix-login": a1b2c3d "Fix login flow" and 1 more. They exist on no remote, so deleting the worktree would lose them.4644 2 unpushed commits on “claude/fix-login”: a1b2c3d “Fix login flow” and 1 more. They exist on no remote, so deleting the worktree would lose them.

4624 push them and run 'claude rm 7c5dcf5d' again, or discard the worktree and its commits: claude rm 7c5dcf5d --discard-unpushed a1b2c3d000000000000000000000000000000000@0123456789abcdef0123456789abcdef4645 push them and run 'claude rm 7c5dcf5d' again, or discard the worktree and its commits: claude rm 7c5dcf5d --discard-unpushed a1b2c3d000000000000000000000000000000000@0123456789abcdef0123456789abcdef

4625```4646```

4626 4647 


4631**O que fazer:**4652**O que fazer:**

4632 4653 

4633* Para manter os commits, envie o branch da worktree, ou mescle-o no branch padrão verificado no seu checkout principal, depois delete a sessão novamente4654* Para manter os commits, envie o branch da worktree, ou mescle-o no branch padrão verificado no seu checkout principal, depois delete a sessão novamente

4634* 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 a worktree junto com seu branch, os commits não enviados, e quaisquer mudanças não confirmadas. Se a worktree ganhou um commit desde a recusa, Claude Code a mantém novamente e mostra o estado atualizado4655* 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 a worktree junto com seu branch, os commits não enviados, e quaisquer mudanças sem commit. Se a worktree ganhou um commit desde a recusa, Claude Code a mantém novamente e mostra o estado atualizado

4635* Quando a mensagem diz que a worktree também é registrada por outra sessão terminada, deletar novamente não a descarta: envie os commits, depois delete a sessão novamente4656* Quando a mensagem diz que a worktree também é registrada por outra sessão terminada, deletar novamente não a descarta: envie os commits, depois delete a sessão novamente

4636 4657 

4637Antes 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.4658Antes 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.


4723This session was running agent 'code-reviewer', which is no longer available (no agent by that name in /home/you/project). Continuing with the default tools and system prompt — the agent's tool restrictions no longer apply. To restore it, re-create the agent, or resume with an explicit --agent <name>.4744This session was running agent 'code-reviewer', which is no longer available (no agent by that name in /home/you/project). Continuing with the default tools and system prompt — the agent's tool restrictions no longer apply. To restore it, re-create the agent, or resume with an explicit --agent <name>.

4724```4745```

4725 4746 

4726O aviso nomeia apenas os diretórios que Claude Code procurou, e aparece na conversa retomada se você acordar uma [sessão em background](/docs/pt/agent-view), executar `/resume` ou `claude --resume`, ou retomar em [modo não-interativo](/docs/pt/headless), onde também vai para stderr. Sessões usando `--input-format stream-json` não o mostram, porque o Agent SDK fornece agentes após a inicialização.4747O aviso nomeia apenas os diretórios que Claude Code procurou, e aparece na conversa retomada se você acordar uma [sessão em background](/docs/pt/agent-view), executar `/resume` ou `claude --resume`, ou retomar em [modo não interativo](/docs/pt/headless), onde também vai para stderr. Sessões usando `--input-format stream-json` não o mostram, porque o Agent SDK fornece agentes após a inicialização.

4727 4748 

4728Claude Code não salva o fallback na sessão, portanto o aviso se repete em cada retomada até você agir. O agente `claude` integrado não aciona o aviso, já que fazer fallback para o conjunto de ferramentas padrão não muda nada para ele. Antes da v2.1.216, Claude Code silenciosamente continuava como o agente padrão, e a busca cobria apenas o diretório de onde você retomava, portanto um agente com escopo de projeto era perdido em qualquer retomada de outro diretório.4749Claude Code não salva o fallback na sessão, portanto o aviso se repete em cada retomada até você agir. O agente `claude` integrado não aciona o aviso, já que fazer fallback para o conjunto de ferramentas padrão não muda nada para ele. Antes da v2.1.216, Claude Code silenciosamente continuava como o agente padrão, e a busca cobria apenas o diretório de onde você retomava, portanto um agente com escopo de projeto era perdido em qualquer retomada de outro diretório.

4729 4750 


4773 4794 

4774* Se a mensagem lê `Couldn't start the session`, atualize para v2.1.212 ou posterior. Em versões anteriores você também pode executar `claude daemon run` em um terminal separado primeiro, depois iniciar a sessão em background novamente. Esse comando executa o serviço em background no primeiro plano do terminal, portanto o serviço dura apenas enquanto esse terminal fica aberto.4795* Se a mensagem lê `Couldn't start the session`, atualize para v2.1.212 ou posterior. Em versões anteriores você também pode executar `claude daemon run` em um terminal separado primeiro, depois iniciar a sessão em background novamente. Esse comando executa o serviço em background no primeiro plano do terminal, portanto o serviço dura apenas enquanto esse terminal fica aberto.

4775* Se uma instalação npm estava substituindo o binário, espere por ela terminar, depois inicie a sessão em background novamente4796* Se uma instalação npm estava substituindo o binário, espere por ela terminar, depois inicie a sessão em background novamente

4776* Se o erro aparece em v2.1.212 ou posterior enquanto nenhuma instalação npm está em execução, peça ao seu administrador Windows para permitir o executável Claude Code na política de restrição4797* Se o erro aparece em v2.1.212 ou posterior enquanto nenhuma instalação npm está em execução, verifique com seu administrador Windows se uma política de restrição bloqueia o executável Claude Code

4777* Se o serviço em background para quando você fecha o terminal, Claude Code o iniciou sem PowerShell. Instale PowerShell 7, ou peça ao seu administrador para desbloquear PowerShell, para que o serviço possa sobreviver ao terminal.4798* Se o serviço em background para quando você fecha o terminal, Claude Code o iniciou sem PowerShell. Instale PowerShell 7, ou peça ao seu administrador para desbloquear PowerShell, para que o serviço possa sobreviver ao terminal.

4778 4799 

4779<h3 id="eacces-when-starting-a-background-session">4800<h3 id="eacces-when-starting-a-background-session">


4829 Diretório de trabalho não existe mais ao iniciar uma sessão em background4850 Diretório de trabalho não existe mais ao iniciar uma sessão em background

4830</h3>4851</h3>

4831 4852 

4832Você tentou iniciar uma [sessão em background](/docs/pt/agent-view) em um diretório que não existe mais. Claude Code não inicia a sessão, e a mensagem nomeia o diretório faltante:4853O diretório em que você iniciou uma [sessão em background](/docs/pt/agent-view) foi removido enquanto a sessão estava iniciando. Claude Code não inicia a sessão, e a mensagem nomeia o diretório faltante:

4833 4854 

4834```text theme={null}4855```text theme={null}

4835Couldn't start a background session (working directory no longer exists or is not accessible: /tmp/demo)4856Couldn't start a background session (working directory no longer exists or is not accessible: /tmp/demo)


4860* **`The home directory is trusted one session at a time`**: o diretório da sessão é seu diretório home. Claude Code nunca salva confiança para o diretório home, portanto aceitar o diálogo lá em uma sessão anterior não conta.4881* **`The home directory is trusted one session at a time`**: o diretório da sessão é seu diretório home. Claude Code nunca salva confiança para o diretório home, portanto aceitar o diálogo lá em uma sessão anterior não conta.

4861* **`<path> could not be resolved on disk`**: Claude Code não conseguiu encontrar o diretório da sessão no disco.4882* **`<path> could not be resolved on disk`**: Claude Code não conseguiu encontrar o diretório da sessão no disco.

4862 4883 

4884Antes da v2.1.286, no Windows, essa mensagem também podia aparecer em um diretório que você já tinha confiado, se seu registro de confiança foi salvo com o caminho em uma capitalização de letras diferente. Atualize para v2.1.286 ou posterior.

4885 

4863**O que fazer:**4886**O que fazer:**

4864 4887 

4865* Execute `claude` no diretório que a mensagem nomeia e aceite o diálogo de confiança, depois execute o comando novamente4888* Execute `claude` no diretório que a mensagem nomeia e aceite o diálogo de confiança, depois execute o comando novamente

hooks.md +4 −10

Details

767 O menu `/hooks`767 O menu `/hooks`

768</h3>768</h3>

769 769 

770Digite `/hooks` no Claude Code para abrir um navegador somente leitura para seus hooks configurados. O menu mostra cada evento de hook com uma contagem de hooks configurados, permite que você detalhe em matchers e mostra os detalhes completos de cada manipulador de hook. Use-o para verificar configuração, verificar qual arquivo de configurações um hook veio, ou inspecionar comando, prompt ou URL de um hook.770Digite `/hooks` no Claude Code para abrir um navegador somente leitura para seus hooks configurados. A lista rotula cada hook com sua origem, como configurações de usuário, configurações de projeto, configurações locais, um plugin ou a sessão atual.

771 771 

772O menu exibe todos os cinco tipos de hook: `command`, `prompt`, `agent`, `http` e `mcp_tool`. Cada hook é rotulado com um prefixo `[type]` e uma fonte indicando onde foi definido:772Selecione um hook para ver o texto completo do que ele executa e onde está definido, como o caminho do seu arquivo de configurações ou o nome do seu plugin.

773 773 

774* `User Settings`: de `~/.claude/settings.json`774Para navegar por todos os eventos de hook, incluindo aqueles sem hooks configurados, selecione `All events` no final da lista.

775* `Project Settings`: de `.claude/settings.json`

776* `Local Settings`: de `.claude/settings.local.json`

777* `Plugin Hooks`: de `hooks/hooks.json` de um plugin

778* `Session Hooks`: registrado em memória para a sessão atual

779 

780Selecionar um hook abre uma visualização de detalhes mostrando seu evento, matcher, tipo, arquivo de origem e o comando, prompt ou URL completo. O menu é somente leitura: para adicionar, modificar ou remover hooks, edite o JSON de configurações diretamente ou peça ao Claude para fazer a mudança.

781 775 

782<h3 id="disable-or-remove-hooks">776<h3 id="disable-or-remove-hooks">

783 Desabilitar ou remover hooks777 Desabilitar ou remover hooks

784</h3>778</h3>

785 779 

786Para remover um hook, delete sua entrada do arquivo de configurações JSON.780Para remover um hook definido em um arquivo de configurações, delete sua entrada desse arquivo.

787 781 

788Para desabilitar temporariamente todos os hooks sem removê-los, defina `"disableAllHooks": true` em seu arquivo de configurações. Claude Code lê o valor deixado após [precedência de configurações](/docs/pt/settings#settings-precedence) se aplicar, então um `"disableAllHooks": false` no `.claude/settings.json` de um projeto substitui um `true` em suas configurações de usuário. Para desabilitar hooks para uma execução qualquer que as configurações do projeto digam, passe `--settings '{"disableAllHooks": true}'`, que tem precedência sobre configurações de projeto e local. Não há forma de desabilitar um hook individual mantendo-o na configuração.782Para desabilitar temporariamente todos os hooks sem removê-los, defina `"disableAllHooks": true` em seu arquivo de configurações. Claude Code lê o valor deixado após [precedência de configurações](/docs/pt/settings#settings-precedence) se aplicar, então um `"disableAllHooks": false` no `.claude/settings.json` de um projeto substitui um `true` em suas configurações de usuário. Para desabilitar hooks para uma execução qualquer que as configurações do projeto digam, passe `--settings '{"disableAllHooks": true}'`, que tem precedência sobre configurações de projeto e local. Não há forma de desabilitar um hook individual mantendo-o na configuração.

789 783 

hooks-guide.md +12 −9

Details

69 </Step>69 </Step>

70 70 

71 <Step title="Verifique a configuração">71 <Step title="Verifique a configuração">

72 Digite `/hooks` para abrir o navegador de hooks. Você verá uma lista de todos os eventos de hook disponíveis, com uma contagem ao lado de cada evento que tem hooks configurados. Selecione `Notification` para confirmar que seu novo hook aparece na lista. Selecionar o hook mostra seus detalhes: o evento, matcher, tipo, arquivo de origem e comando.72 Digite `/hooks` no prompt do Claude Code para abrir o navegador de hooks. Seu novo hook aparece na lista em `Notification`.

73 </Step>73 </Step>

74 74 

75 <Step title="Teste o hook">75 <Step title="Teste o hook">


77 </Step>77 </Step>

78</Steps>78</Steps>

79 79 

80<Tip>

81 O menu `/hooks` é somente leitura. Para adicionar, modificar ou remover hooks, edite seu JSON de configuração diretamente ou peça ao Claude para fazer a alteração.

82</Tip>

83 

84<h2 id="what-you-can-automate">80<h2 id="what-you-can-automate">

85 O que você pode automatizar81 O que você pode automatizar

86</h2>82</h2>


97 93 

98Receba uma notificação de desktop sempre que Claude terminar de trabalhar e precisar de sua entrada, para que você possa mudar para outras tarefas sem verificar o terminal.94Receba uma notificação de desktop sempre que Claude terminar de trabalhar e precisar de sua entrada, para que você possa mudar para outras tarefas sem verificar o terminal.

99 95 

100Este hook usa o evento `Notification`, que Claude Code dispara quando Claude está aguardando entrada ou permissão. Consulte [quando cada tipo de notificação dispara](/docs/pt/hooks#notification) para o tempo exato. Cada aba abaixo usa o comando de notificação nativo da plataforma. Adicione isto a `~/.claude/settings.json`:96Este hook usa o evento `Notification`, que Claude Code dispara quando Claude está aguardando entrada ou permissão. Consulte [quando cada tipo de notificação dispara](/docs/pt/hooks#notification) para o tempo exato.

97 

98Cada aba abaixo usa o comando de notificação nativo da plataforma. Adicione isto a `~/.claude/settings.json`:

101 99 

102<Tabs>100<Tabs>

103 <Tab title="macOS">101 <Tab title="macOS">


120 ```118 ```

121 119 

122 <Accordion title="Se nenhuma notificação aparecer">120 <Accordion title="Se nenhuma notificação aparecer">

123 `osascript` roteia notificações através do aplicativo Script Editor integrado. Se o Script Editor não tiver permissão de notificação, o comando falha silenciosamente e macOS não solicitará que você o conceda. Execute isto no Terminal uma vez para fazer o Script Editor aparecer em suas configurações de notificação:121 `osascript` roteia notificações através do aplicativo Script Editor integrado. Se o Script Editor não tiver permissão de notificação, o comando falha silenciosamente e macOS não solicitará que você o conceda.

122 

123 Execute isto no Terminal uma vez para fazer o Script Editor aparecer em suas configurações de notificação:

124 124 

125 ```bash theme={null}125 ```bash theme={null}

126 osascript -e 'display notification "test"'126 osascript -e 'display notification "test"'


180 ```180 ```

181 181 

182 <Accordion title="Se nenhuma caixa de diálogo aparecer">182 <Accordion title="Se nenhuma caixa de diálogo aparecer">

183 Este comando abre uma caixa de diálogo em vez de uma notificação no canto da tela, portanto a caixa de diálogo pode abrir atrás da janela do seu terminal. Teste o comando diretamente no PowerShell primeiro. Se você executar Claude Code dentro do WSL, `powershell.exe` deve estar disponível no seu `PATH` através da interoperabilidade do Windows.183 Este comando abre uma caixa de diálogo em vez de uma notificação no canto da tela, portanto a caixa de diálogo pode abrir atrás da janela do seu terminal. Teste o comando diretamente no PowerShell primeiro.

184 

185 Se você executar Claude Code dentro do WSL, `powershell.exe` deve estar disponível no seu `PATH` através da interoperabilidade do Windows.

184 </Accordion>186 </Accordion>

185 </Tab>187 </Tab>

186</Tabs>188</Tabs>


212 214 

213`agent_needs_input` para uma pergunta de configuração de terminal de colega de equipe exige Claude Code v2.1.248 ou posterior.215`agent_needs_input` para uma pergunta de configuração de terminal de colega de equipe exige Claude Code v2.1.248 ou posterior.

214 216 

215Digite `/hooks` e selecione `Notification` para confirmar que o hook está registrado. Para o esquema de evento completo, consulte a [referência de Notification](/docs/pt/hooks#notification).217Digite `/hooks` no prompt do Claude Code e confirme que o hook aparece em `Notification`.

216 218 

217<h3 id="auto-format-code-after-edits">219<h3 id="auto-format-code-after-edits">

218 Formatar código automaticamente após edições220 Formatar código automaticamente após edições


1055* Edições de arquivo são normalmente capturadas automaticamente. Se não tiverem aparecido após alguns segundos, o observador de arquivo pode ter perdido a mudança: reinicie sua sessão para forçar um recarregamento.1057* Edições de arquivo são normalmente capturadas automaticamente. Se não tiverem aparecido após alguns segundos, o observador de arquivo pode ter perdido a mudança: reinicie sua sessão para forçar um recarregamento.

1056* Verifique que seu JSON é válido: vírgulas finais e comentários não são permitidos1058* Verifique que seu JSON é válido: vírgulas finais e comentários não são permitidos

1057* Confirme que o arquivo de configuração está no local correto: `.claude/settings.json` para hooks de projeto, `~/.claude/settings.json` para hooks globais1059* Confirme que o arquivo de configuração está no local correto: `.claude/settings.json` para hooks de projeto, `~/.claude/settings.json` para hooks globais

1060* Se o menu mostrar `Only hooks from managed settings run here`, sua organização definiu [`allowManagedHooksOnly`](/docs/pt/settings-reference#allowmanagedhooksonly). Hooks nos seus arquivos de configuração de usuário, de projeto e locais não são executados e não são listados

1058 1061 

1059<h3 id="stop-hook-hits-the-block-cap">1062<h3 id="stop-hook-hits-the-block-cap">

1060 Stop hook atinge o limite de bloqueio1063 Stop hook atinge o limite de bloqueio

Details

73 73 

74Transmita respostas de inferência em stream. Claude Code lê o stream conforme ele chega, então se seu gateway armazena respostas completas antes de retransmiti-las, Claude Code trava.74Transmita respostas de inferência em stream. Claude Code lê o stream conforme ele chega, então se seu gateway armazena respostas completas antes de retransmiti-las, Claude Code trava.

75 75 

76Entregue a sequência completa de eventos de cada resposta sem descartar, duplicar ou reordenar eventos. Quando um evento referencia um bloco de conteúdo cujo `content_block_start` nunca chegou, ou um bloco cujo `content_block_stop` já chegou, Claude Code para de ler o stream naquele evento em vez de aplicá-lo, então um `content_block_stop` duplicado não pode executar a mesma chamada de ferramenta duas vezes. [A resposta acima pode estar incompleta](/docs/pt/errors#the-response-above-may-be-incomplete) descreve o que o usuário vê, sob as variantes `Part of the response never arrived` e `The response stream was malformed`.76Entregue a sequência completa de eventos de cada resposta sem descartar, duplicar ou reordenar eventos. Quando um guardrail do Amazon Bedrock bloqueia uma resposta, encaminhe os eventos que ele envia sem alterações, mesmo quando eles referenciam um bloco de conteúdo cujo `content_block_stop` já chegou. [AWS Guardrails](/docs/pt/amazon-bedrock#aws-guardrails) descreve como essa resposta termina. Quando qualquer outro evento referencia um bloco de conteúdo cujo `content_block_start` nunca chegou, ou um bloco cujo `content_block_stop` já chegou, Claude Code para de ler o stream naquele evento em vez de aplicá-lo, então um `content_block_stop` duplicado não pode executar a mesma chamada de ferramenta duas vezes. [A resposta acima pode estar incompleta](/docs/pt/errors#the-response-above-may-be-incomplete) descreve o que o usuário vê, sob as variantes `Part of the response never arrived` e `The response stream was malformed`.

77 77 

78Retransmita cada resposta através de seus eventos finais `message_delta` e `message_stop` antes de encerrar o corpo. Um corpo que termina após um `message_delta` carregando um `stop_reason`, sem bloco de conteúdo ainda aberto e sem evento de bloco de conteúdo após esse frame, conta como completo mesmo quando `message_stop` está faltando. Um corpo que seu gateway encerra de forma limpa qualquer momento antes, uma vez que um bloco de conteúdo começou, é tratado da mesma forma que uma conexão descartada: [Automatic retries](/docs/pt/errors#automatic-retries) diz quando Claude Code reemite a requisição, e [A resposta acima pode estar incompleta](/docs/pt/errors#the-response-above-may-be-incomplete) cobre o que ele mantém uma vez que conteúdo visível chegou. Claude Code mantém o `stop_reason` que um `message_delta` entrega, então um `message_delta` posterior apenas de uso cujo `delta` tem `stop_reason: null` ou nenhuma chave `stop_reason` não o limpa.78Retransmita cada resposta através de seus eventos finais `message_delta` e `message_stop` antes de encerrar o corpo. Um corpo que termina após um `message_delta` carregando um `stop_reason`, sem bloco de conteúdo ainda aberto e sem evento de bloco de conteúdo após esse frame, conta como completo mesmo quando `message_stop` está faltando. Um corpo que seu gateway encerra de forma limpa qualquer momento antes, uma vez que um bloco de conteúdo começou, é tratado da mesma forma que uma conexão descartada: [Automatic retries](/docs/pt/errors#automatic-retries) diz quando Claude Code reemite a requisição, e [A resposta acima pode estar incompleta](/docs/pt/errors#the-response-above-may-be-incomplete) cobre o que ele mantém uma vez que conteúdo visível chegou. Claude Code mantém o `stop_reason` que um `message_delta` entrega, então um `message_delta` posterior apenas de uso cujo `delta` tem `stop_reason: null` ou nenhuma chave `stop_reason` não o limpa.

79 79 

memory.md +21 −19

Details

50Trate CLAUDE.md como o lugar onde você escreve o que de outra forma teria que re-explicar. Adicione a ele quando:50Trate CLAUDE.md como o lugar onde você escreve o que de outra forma teria que re-explicar. Adicione a ele quando:

51 51 

52* Claude comete o mesmo erro uma segunda vez52* Claude comete o mesmo erro uma segunda vez

53* Uma revisão de código detecta algo que Claude deveria saber sobre este codebase53* Uma revisão de código detecta algo que Claude deveria saber sobre esta base de código

54* Você digita a mesma correção ou esclarecimento no chat que digitou na sessão anterior54* Você digita a mesma correção ou esclarecimento no chat que digitou na sessão anterior

55* Um novo colega de equipe precisaria do mesmo contexto para ser produtivo55* Um novo colega de equipe precisaria do mesmo contexto para ser produtivo

56 56 

57Mantenha-o com fatos que Claude deve manter em cada sessão: comandos de compilação, convenções, layout do projeto, regras "sempre faça X". Se uma entrada é um procedimento de várias etapas ou importa apenas para uma parte do codebase, mova-a para uma [skill](/docs/pt/skills) ou uma [regra com escopo de caminho](#organize-rules-with-claude/rules/) em vez disso. A [visão geral da extensão](/docs/pt/features-overview#build-your-setup-over-time) cobre quando usar cada mecanismo.57Mantenha-o com fatos que Claude deve manter em cada sessão: comandos de compilação, convenções, layout do projeto, regras "sempre faça X". Se uma entrada é um procedimento de várias etapas ou importa apenas para uma parte da base de código, mova-a para uma [skill](/docs/pt/skills) ou uma [regra com escopo de caminho](#organize-rules-with-claude/rules/) em vez disso. A [visão geral da extensão](/docs/pt/features-overview#build-your-setup-over-time) cobre quando usar cada mecanismo.

58 58 

59<h3 id="choose-where-to-put-claude-md-files">59<h3 id="choose-where-to-put-claude-md-files">

60 Escolha onde colocar os arquivos CLAUDE.md60 Escolha onde colocar os arquivos CLAUDE.md


71 71 

72Os arquivos CLAUDE.md e CLAUDE.local.md no diretório acima do diretório de trabalho são carregados na inicialização. Os arquivos em subdiretórios carregam sob demanda quando Claude lê arquivos nesses diretórios. Consulte [Como os arquivos CLAUDE.md carregam](#how-claude-md-files-load) para a ordem de resolução completa.72Os arquivos CLAUDE.md e CLAUDE.local.md no diretório acima do diretório de trabalho são carregados na inicialização. Os arquivos em subdiretórios carregam sob demanda quando Claude lê arquivos nesses diretórios. Consulte [Como os arquivos CLAUDE.md carregam](#how-claude-md-files-load) para a ordem de resolução completa.

73 73 

74Para projetos grandes, você pode dividir instruções em arquivos específicos de tópicos usando [regras de projeto](#organize-rules-with-claude/rules/). As regras permitem que você escope instruções para tipos de arquivo específicos ou subdiretórios.74Para projetos grandes, você pode dividir instruções em arquivos específicos de tópicos usando [regras de projeto](#organize-rules-with-claude/rules/). As regras permitem que você restrinja instruções a tipos de arquivo específicos ou subdiretórios.

75 75 

76<h3 id="set-up-a-project-claude-md">76<h3 id="set-up-a-project-claude-md">

77 Configure um CLAUDE.md de projeto77 Configure um CLAUDE.md de projeto


80Um CLAUDE.md de projeto pode ser armazenado em `./CLAUDE.md` ou `./.claude/CLAUDE.md`. Crie este arquivo e adicione instruções que se apliquem a qualquer pessoa trabalhando no projeto: comandos de compilação e teste, padrões de codificação, decisões arquitetônicas, convenções de nomenclatura e fluxos de trabalho comuns. Essas instruções são compartilhadas com sua equipe através do controle de versão, portanto, concentre-se em padrões em nível de projeto em vez de preferências pessoais. Para confirmar que o arquivo foi carregado, execute `/context` em uma sessão e verifique a lista em **Memory files**.80Um CLAUDE.md de projeto pode ser armazenado em `./CLAUDE.md` ou `./.claude/CLAUDE.md`. Crie este arquivo e adicione instruções que se apliquem a qualquer pessoa trabalhando no projeto: comandos de compilação e teste, padrões de codificação, decisões arquitetônicas, convenções de nomenclatura e fluxos de trabalho comuns. Essas instruções são compartilhadas com sua equipe através do controle de versão, portanto, concentre-se em padrões em nível de projeto em vez de preferências pessoais. Para confirmar que o arquivo foi carregado, execute `/context` em uma sessão e verifique a lista em **Memory files**.

81 81 

82<Tip>82<Tip>

83 Execute `/init` para gerar um CLAUDE.md inicial automaticamente. Claude analisa seu codebase e cria um arquivo com comandos de compilação, instruções de teste e convenções de projeto que descobre. Se um CLAUDE.md já existe, `/init` sugere melhorias em vez de sobrescrever. Refine a partir daí com instruções que Claude não descobriria por conta própria.83 Execute `/init` para gerar um CLAUDE.md inicial automaticamente. Claude analisa sua base de código e cria um arquivo com comandos de compilação, instruções de teste e convenções de projeto que descobre. Se um CLAUDE.md já existe, `/init` sugere melhorias em vez de sobrescrever. Refine a partir daí com instruções que Claude não descobriria por conta própria.

84 84 

85 Para um fluxo interativo de várias fases em vez disso, defina a variável de ambiente `CLAUDE_CODE_NEW_INIT` como `1` antes de executar `/init`. Defina-a em seu shell ou no bloco `env` de um arquivo de configurações, conforme mostrado em [Defina variáveis de ambiente](/docs/pt/env-vars#set-environment-variables). Com ela definida, `/init` pergunta quais artefatos configurar: arquivos CLAUDE.md, skills e hooks. Em seguida, explora seu codebase com um subagente, preenche lacunas por meio de perguntas de acompanhamento e apresenta uma proposta revisável antes de escrever qualquer arquivo. A variável apenas muda como `/init` é executado, portanto você pode deixá-la definida.85 Para um fluxo interativo de várias fases em vez disso, defina a variável de ambiente `CLAUDE_CODE_NEW_INIT` como `1` antes de executar `/init`. Defina-a em seu shell ou no bloco `env` de um arquivo de configurações, conforme mostrado em [Defina variáveis de ambiente](/docs/pt/env-vars#set-environment-variables). Com ela definida, `/init` pergunta quais artefatos configurar: arquivos CLAUDE.md, skills e hooks. Em seguida, explora sua base de código com um subagente, preenche lacunas por meio de perguntas de acompanhamento e apresenta uma proposta revisável antes de escrever qualquer arquivo. A variável apenas muda como `/init` é executado, portanto você pode deixá-la definida.

86</Tip>86</Tip>

87 87 

88<h3 id="write-effective-instructions">88<h3 id="write-effective-instructions">


97 97 

98Mantenha seus arquivos curtos, organizados e consistentes:98Mantenha seus arquivos curtos, organizados e consistentes:

99 99 

100* **Tamanho**: alvo de menos de 200 linhas por arquivo CLAUDE.md. Arquivos mais longos consomem mais contexto e reduzem a adesão. Mova instruções que importam apenas para parte do codebase em [regras com escopo de caminho](#path-specific-rules), que carregam apenas quando Claude trabalha com arquivos correspondentes. [Importações](#import-additional-files) ajudam você a organizar um arquivo longo, mas não reduzem seu custo de contexto, porque arquivos importados também carregam na inicialização.100* **Tamanho**: alvo de menos de 200 linhas por arquivo CLAUDE.md. Arquivos mais longos consomem mais contexto e reduzem a adesão. Mova instruções que importam apenas para parte da base de código em [regras com escopo de caminho](#path-specific-rules), que carregam apenas quando Claude trabalha com arquivos correspondentes. [Importações](#import-additional-files) ajudam você a organizar um arquivo longo, mas não reduzem seu custo de contexto, porque arquivos importados também carregam na inicialização.

101* **Estrutura**: agrupe instruções relacionadas sob cabeçalhos e bullets markdown. Seções organizadas são mais fáceis para Claude seguir do que parágrafos densos.101* **Estrutura**: agrupe instruções relacionadas sob cabeçalhos e bullets markdown. Seções organizadas são mais fáceis para Claude seguir do que parágrafos densos.

102* **Consistência**: se duas instruções se contradizem, Claude pode escolher uma arbitrariamente. Revise seus arquivos CLAUDE.md, arquivos CLAUDE.md aninhados em subdiretórios e [`.claude/rules/`](#organize-rules-with-claude/rules/) periodicamente para remover instruções desatualizadas ou conflitantes. Para ter Claude encontrá-las para você, [execute uma auditoria de prompt](#audit-your-instruction-files).102* **Consistência**: se duas instruções se contradizem, Claude pode escolher uma arbitrariamente. Revise seus arquivos CLAUDE.md, arquivos CLAUDE.md aninhados em subdiretórios e [`.claude/rules/`](#organize-rules-with-claude/rules/) periodicamente para remover instruções desatualizadas ou conflitantes. Para ter Claude encontrá-las para você, [execute uma auditoria de prompt](#audit-your-instruction-files).

103 103 


136- fluxo de trabalho git @docs/git-instructions.md136- fluxo de trabalho git @docs/git-instructions.md

137```137```

138 138 

139Para preferências pessoais por projeto que não devem ser verificadas no controle de versão, crie um `CLAUDE.local.md` na raiz do projeto. Ele carrega junto com `CLAUDE.md` e é tratado da mesma forma. Adicione `CLAUDE.local.md` ao seu `.gitignore` para que não seja confirmado. Com `CLAUDE_CODE_NEW_INIT=1` definido, executar `/init` e escolher a opção pessoal faz isso para você.139Para preferências pessoais por projeto que não devem ser verificadas no controle de versão, crie um `CLAUDE.local.md` na raiz do projeto. Ele carrega junto com `CLAUDE.md` e é tratado da mesma forma. Adicione `CLAUDE.local.md` ao seu `.gitignore` para que não seja incluído em um commit. Com `CLAUDE_CODE_NEW_INIT=1` definido, executar `/init` e escolher a opção pessoal faz isso para você.

140 140 

141Se você trabalha em várias Git Worktrees do mesmo repositório, um `CLAUDE.local.md` ignorado pelo git existe apenas na worktree onde você o criou. Para compartilhar instruções pessoais entre worktrees, importe um arquivo do seu diretório inicial em vez disso:141Se você trabalha em vários worktrees do Git do mesmo repositório, um `CLAUDE.local.md` ignorado pelo git existe apenas no worktree onde você o criou. Para compartilhar instruções pessoais entre worktrees, importe um arquivo do seu diretório pessoal em vez disso:

142 142 

143```text theme={null}143```text theme={null}

144# Preferências Individuais144# Preferências Individuais


146```146```

147 147 

148<Warning>148<Warning>

149 Uma importação em um arquivo de memória em nível de projeto é externa quando seu caminho é resolvido fora do seu diretório de trabalho, como a importação do diretório inicial acima. Na primeira vez que Claude Code encontra importações externas em um projeto, mostra um diálogo de aprovação listando os arquivos. Se você recusar, as importações permanecerão desabilitadas e o diálogo não aparecerá novamente.149 Uma importação em um arquivo de memória em nível de projeto é externa quando seu caminho é resolvido fora do seu diretório de trabalho, como a importação do diretório pessoal acima. Na primeira vez que Claude Code encontra importações externas em um projeto, mostra um diálogo de aprovação listando os arquivos. Se você recusar, as importações permanecerão desabilitadas e o diálogo não aparecerá novamente.

150 150 

151 Claude Code mostra o diálogo para protegê-lo de arquivos que outras pessoas confirmam em um projeto compartilhado. Arquivos de memória com escopo de usuário, como `~/.claude/CLAUDE.md` e `~/.claude/rules/`, são arquivos que você mesmo escreveu. Exceto em sessões [Cowork](https://claude.com/product/cowork) em seu desktop, Claude Code carrega suas importações sem o diálogo e confia nelas como o resto de sua configuração pessoal.151 Claude Code mostra o diálogo para protegê-lo de arquivos dos quais outras pessoas fazem commit em um projeto compartilhado. Arquivos de memória com escopo de usuário, como `~/.claude/CLAUDE.md` e `~/.claude/rules/`, são arquivos que você mesmo escreveu. Exceto em sessões [Cowork](https://claude.com/product/cowork) em seu desktop, Claude Code carrega suas importações sem o diálogo e confia nelas como o resto de sua configuração pessoal.

152 152 

153 Em sessões Cowork em seu desktop, Claude Code ignora qualquer importação em um arquivo com escopo de usuário que seja resolvida para um caminho fora do diretório de trabalho da sessão e carrega o resto do arquivo. Nessas sessões, também ignora um `~/.claude/CLAUDE.md` que é em si um symlink ou hard link, e um diretório `~/.claude/rules/` symlinked ou arquivo de regra que aponta para fora do diretório de trabalho.153 Em sessões Cowork em seu desktop, Claude Code ignora qualquer importação em um arquivo com escopo de usuário que seja resolvida para um caminho fora do diretório de trabalho da sessão e carrega o resto do arquivo. Nessas sessões, também ignora um `~/.claude/CLAUDE.md` que é em si um symlink ou hard link, e um diretório `~/.claude/rules/` symlinked ou arquivo de regra que aponta para fora do diretório de trabalho.

154</Warning>154</Warning>


159 159 

160Claude Code carrega `CLAUDE.md` e `CLAUDE.local.md` do seu diretório de trabalho atual e de cada diretório acima dele. Execute Claude Code em `foo/bar/` e ele carrega instruções de `foo/bar/CLAUDE.md`, `foo/CLAUDE.md` e qualquer arquivo `CLAUDE.local.md` ao lado deles.160Claude Code carrega `CLAUDE.md` e `CLAUDE.local.md` do seu diretório de trabalho atual e de cada diretório acima dele. Execute Claude Code em `foo/bar/` e ele carrega instruções de `foo/bar/CLAUDE.md`, `foo/CLAUDE.md` e qualquer arquivo `CLAUDE.local.md` ao lado deles.

161 161 

162Todos os arquivos descobertos são concatenados em contexto em vez de se sobreporem. Na árvore de diretórios, o conteúdo é ordenado da raiz do sistema de arquivos até seu diretório de trabalho. Para o exemplo `foo/bar/`, `foo/CLAUDE.md` aparece em contexto antes de `foo/bar/CLAUDE.md`, portanto as instruções mais próximas de onde você iniciou Claude são lidas por último. Dentro de cada diretório, `CLAUDE.local.md` é anexado após `CLAUDE.md`, portanto suas notas pessoais são a última coisa que Claude lê nesse nível.162Todos os arquivos descobertos são concatenados em contexto em vez de se sobrescreverem. Na árvore de diretórios, o conteúdo é ordenado da raiz do sistema de arquivos até seu diretório de trabalho. Para o exemplo `foo/bar/`, `foo/CLAUDE.md` aparece em contexto antes de `foo/bar/CLAUDE.md`, portanto as instruções mais próximas de onde você iniciou Claude são lidas por último. Dentro de cada diretório, `CLAUDE.local.md` é anexado após `CLAUDE.md`, portanto suas notas pessoais são a última coisa que Claude lê nesse nível.

163 163 

164Claude também descobre arquivos `CLAUDE.md` e `CLAUDE.local.md` em subdiretórios sob seu diretório de trabalho atual. Em vez de carregá-los na inicialização, eles são incluídos quando Claude lê arquivos nesses subdiretórios.164Claude também descobre arquivos `CLAUDE.md` e `CLAUDE.local.md` em subdiretórios sob seu diretório de trabalho atual. Em vez de carregá-los na inicialização, eles são incluídos quando Claude lê arquivos nesses subdiretórios. Para arquivos dentro de um worktree sob `.claude/worktrees/`, consulte [Isole subagentes com worktrees](/docs/pt/worktrees#isolate-subagents-with-worktrees).

165 165 

166Se você trabalha em um grande monorepo onde os arquivos CLAUDE.md de outras equipes são detectados, use [`claudeMdExcludes`](#exclude-specific-claude-md-files) para ignorá-los. Para o layout completo de arquivos CLAUDE.md raiz e por diretório e regras, consulte [Monorepos e repositórios grandes](/docs/pt/large-codebases).166Se você trabalha em um grande monorepo onde os arquivos CLAUDE.md de outras equipes são detectados, use [`claudeMdExcludes`](#exclude-specific-claude-md-files) para ignorá-los. Para o layout completo de arquivos CLAUDE.md raiz e por diretório e regras, consulte [Monorepos e repositórios grandes](/docs/pt/large-codebases).

167 167 


171 Carregue de diretórios adicionais171 Carregue de diretórios adicionais

172</h4>172</h4>

173 173 

174O sinalizador `--add-dir` dá ao Claude acesso a diretórios adicionais fora do seu diretório de trabalho principal. Por padrão, os arquivos CLAUDE.md desses diretórios não são carregados.174A flag `--add-dir` dá ao Claude acesso a diretórios adicionais fora do seu diretório de trabalho principal. Por padrão, os arquivos CLAUDE.md desses diretórios não são carregados.

175 175 

176Para também carregar arquivos de memória de diretórios adicionais, defina a variável de ambiente `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD`:176Para também carregar arquivos de memória de diretórios adicionais, defina a variável de ambiente `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD`:

177 177 


187 Organize regras com `.claude/rules/`187 Organize regras com `.claude/rules/`

188</h3>188</h3>

189 189 

190Para projetos maiores, você pode organizar instruções em vários arquivos usando o diretório `.claude/rules/`. Isso mantém as instruções modulares e mais fáceis para as equipes manterem. As regras também podem ser [escopo para caminhos de arquivo específicos](#path-specific-rules), portanto, carregam em contexto apenas quando Claude trabalha com arquivos correspondentes, reduzindo ruído e economizando espaço de contexto.190Para projetos maiores, você pode organizar instruções em vários arquivos usando o diretório `.claude/rules/`. Isso mantém as instruções modulares e mais fáceis para as equipes manterem. As regras também podem ser [restritas a caminhos de arquivo específicos](#path-specific-rules), portanto, carregam em contexto apenas quando Claude trabalha com arquivos correspondentes, reduzindo ruído e economizando espaço de contexto.

191 191 

192<Note>192<Note>

193 As regras carregam em contexto a cada sessão ou quando arquivos correspondentes são abertos. Para instruções específicas de tarefas que não precisam estar em contexto o tempo todo, use [skills](/docs/pt/skills) em vez disso, que carregam apenas quando você as invoca ou quando Claude determina que são relevantes para seu prompt.193 As regras carregam em contexto a cada sessão ou quando arquivos correspondentes são abertos. Para instruções específicas de tarefas que não precisam estar em contexto o tempo todo, use [skills](/docs/pt/skills) em vez disso, que carregam apenas quando você as invoca ou quando Claude determina que são relevantes para seu prompt.


217 Regras com escopo de caminho217 Regras com escopo de caminho

218</h4>218</h4>

219 219 

220As regras podem ser escopo para arquivos específicos usando frontmatter YAML com o campo `paths`. Essas regras condicionais se aplicam apenas quando Claude está trabalhando com arquivos que correspondem aos padrões especificados.220As regras podem ser restritas a arquivos específicos usando frontmatter YAML com o campo `paths`. Essas regras condicionais se aplicam apenas quando Claude está trabalhando com arquivos que correspondem aos padrões especificados.

221 221 

222```markdown theme={null}222```markdown theme={null}

223---223---


232- Inclua comentários de documentação OpenAPI232- Inclua comentários de documentação OpenAPI

233```233```

234 234 

235Regras sem um campo `paths` são carregadas incondicionalmente e se aplicam a todos os arquivos. As regras com escopo de caminho são acionadas quando Claude lê arquivos que correspondem ao padrão, não em cada uso de ferramenta. A partir da v2.1.198, a correspondência também funciona quando Claude alcança um arquivo através de um caminho symlinked para o diretório do projeto, por exemplo em um checkout symlinked.235Regras sem um campo `paths` são carregadas incondicionalmente e se aplicam a todos os arquivos. As regras com escopo de caminho são acionadas quando Claude lê arquivos que correspondem ao padrão, não em cada uso de ferramenta. A correspondência também funciona quando Claude alcança um arquivo através de um caminho symlinked para o diretório do projeto, por exemplo em um checkout symlinked.

236 236 

237Use padrões glob no campo `paths` para corresponder arquivos por extensão, diretório ou qualquer combinação:237Use padrões glob no campo `paths` para corresponder arquivos por extensão, diretório ou qualquer combinação:

238 238 


268 268 

269| Campo | Obrigatório | Descrição |269| Campo | Obrigatório | Descrição |

270| :- | :- | :- |270| :- | :- | :- |

271| `paths` | Não | Padrões glob que [escopo a regra para arquivos correspondentes](#path-specific-rules). Aceita uma lista YAML ou uma string separada por vírgulas |271| `paths` | Não | Padrões glob que [restringem a regra a arquivos correspondentes](#path-specific-rules). Aceita uma lista YAML ou uma string separada por vírgulas |

272 272 

273Se o YAML entre os marcadores não for analisado, Claude Code ignora o frontmatter e carrega a regra como se não tivesse `paths`. Execute `claude --debug` para ver o erro de análise.273Se o YAML entre os marcadores não for analisado, Claude Code ignora o frontmatter e carrega a regra como se não tivesse `paths`. Execute `claude --debug` para ver o erro de análise.

274 274 


329 329 

330A chave `claudeMd` permite que você coloque o conteúdo CLAUDE.md gerenciado diretamente dentro de `managed-settings.json` em vez de implantar um arquivo separado.330A chave `claudeMd` permite que você coloque o conteúdo CLAUDE.md gerenciado diretamente dentro de `managed-settings.json` em vez de implantar um arquivo separado.

331 331 

332**Escopo**: cada sessão Claude Code na máquina, em cada repositório. Para orientação específica do repositório, confirme um CLAUDE.md de projeto em vez disso.332**Escopo**: cada sessão Claude Code na máquina, em cada repositório. Para orientação específica do repositório, faça commit de um CLAUDE.md de projeto em vez disso.

333 333 

334**Precedência**: igual a um arquivo CLAUDE.md gerenciado. Carrega antes de CLAUDE.md do usuário e do projeto.334**Precedência**: igual a um arquivo CLAUDE.md gerenciado. Carrega antes de CLAUDE.md do usuário e do projeto.

335 335 


538 Ative ou desative a memória automática538 Ative ou desative a memória automática

539</h3>539</h3>

540 540 

541A memória automática está ativada por padrão. Para alterná-la, abra `/memory` em uma sessão e use o toggle de memória automática, que salva `autoMemoryEnabled` nas configurações do usuário em `~/.claude/settings.json`. Para desativá-la para um único projeto, defina `autoMemoryEnabled` nas configurações desse projeto:541A memória automática está ativada por padrão em sessões locais. Fora de sessões do [Claude Tag](https://claude.com/docs/claude-tag/overview), uma sessão em um [ambiente auto-hospedado](/docs/pt/self-hosted-environments-configuration#how-each-session’s-config-is-assembled) é executada com a memória automática desativada por padrão.

542 

543Para alterná-la, abra `/memory` em uma sessão e use o toggle de memória automática, que salva `autoMemoryEnabled` nas configurações do usuário em `~/.claude/settings.json`. Para desativá-la para um único projeto, defina `autoMemoryEnabled` nas configurações desse projeto:

542 544 

543```json theme={null}545```json theme={null}

544{546{

Details

1> ## Documentation Index

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

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

4 

5# Marketplaces da Anthropic

6 

7> Os marketplaces de plugins oficial, da comunidade e de demonstração da Anthropic para o Claude Code: seus nomes, repositórios, como adicionar cada um e onde navegar pelos seus plugins.

8 

9A Anthropic publica três marketplaces de plugins de uso geral para o Claude Code: [oficial](https://github.com/anthropics/claude-plugins-official), [comunidade](https://github.com/anthropics/claude-plugins-community) e [demonstração](https://github.com/anthropics/claude-code). Cada um é um catálogo de plugins em seu próprio repositório do GitHub. Quando você instala um plugin de um deles em uma sessão do Claude Code, você digita o nome do marketplace após `@`, como em `/plugin install commit-commands@claude-plugins-official`.

10 

11Use esta página para distinguir os três marketplaces e para descobrir onde verificar se o oficial contém um determinado plugin.

12 

13<Note>

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

15 

16 * **Como instalar um plugin**: consulte [Instalar plugins](/docs/pt/plugins/install)

17 * **Uma instalação que falhou**: consulte [Solução de problemas de plugins](/docs/pt/plugins/troubleshooting)

18</Note>

19 

20Vá para a parte da página de que você precisa:

21 

22* Para distinguir os três marketplaces por repositório, nome do marketplace e como obter cada um, consulte [Marketplaces da Anthropic](#anthropic’s-marketplaces).

23* Para encontrar um plugin no marketplace oficial, consulte [Encontrar plugins no marketplace oficial](#find-plugins-in-the-official-marketplace).

24 

25<h2 id="anthropic’s-marketplaces">

26 Marketplaces da Anthropic

27</h2>

28 

29Um marketplace é um catálogo de plugins que um repositório define em seu arquivo `.claude-plugin/marketplace.json`. Os marketplaces oficial, da comunidade e de demonstração vêm, cada um, de seu próprio repositório do GitHub. A Anthropic também publica marketplaces específicos por tema, como `anthropics/skills` e `anthropics/knowledge-work-plugins`, que você adiciona em uma sessão do Claude Code com `/plugin marketplace add <owner>/<repo>`.

30 

31Esta tabela apresenta o repositório e o nome de cada marketplace, que é o que você digita após `@` ao instalar um plugin desse marketplace. O nome do marketplace da comunidade é `claude-community`, não o nome do seu repositório.

32 

33| | Oficial | Comunidade | Demonstração |

34| :- | :- | :- | :- |

35| Repositório | [`anthropics/claude-plugins-official`](https://github.com/anthropics/claude-plugins-official) | [`anthropics/claude-plugins-community`](https://github.com/anthropics/claude-plugins-community) | [`anthropics/claude-code`](https://github.com/anthropics/claude-code/tree/main/plugins) |

36| Nome do marketplace | `claude-plugins-official` | `claude-community` | `claude-code-plugins` |

37| O que contém | Plugins que a Anthropic mantém, além de plugins de parceiros e outros autores | Plugins de terceiros que seus autores enviaram à Anthropic | Um pequeno conjunto de plugins de exemplo que mostram o que um plugin pode conter |

38| Como obtê-lo | O Claude Code o adiciona na primeira vez que você inicia uma sessão interativa no terminal, a menos que uma [política gerenciada](/docs/pt/plugins/org#allow-the-official-marketplace-and-your-own) ou `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` o bloqueie. Consulte [Marketplace `claude-plugins-official` não encontrado](/docs/pt/plugins/troubleshooting#marketplace-claude-plugins-official-not-found) se ele estiver ausente | Você o adiciona em uma sessão do Claude Code com `/plugin marketplace add anthropics/claude-plugins-community` | Você o adiciona em uma sessão do Claude Code com `/plugin marketplace add anthropics/claude-code` |

39 

40Se você escreveu um plugin e quer que outras pessoas o instalem, consulte [Publicar um plugin](/docs/pt/plugins/publish), que aborda seu próprio marketplace e o envio para o diretório da Anthropic.

41 

42<h3 id="the-demo-marketplace-in-anthropics/claude-code">

43 O marketplace de demonstração em `anthropics/claude-code`

44</h3>

45 

46Se um tutorial ou um conjunto de instruções mais antigo disser para você executar `/plugin marketplace add anthropics/claude-code`, isso adiciona o marketplace de demonstração, chamado `claude-code-plugins`. Ele não é o marketplace oficial.

47 

48A maioria dos plugins do marketplace de demonstração também está no marketplace oficial com os mesmos nomes. Por exemplo, `code-review`, `feature-dev`, `commit-commands` e `security-guidance` estão em ambos. Instale-os a partir de `claude-plugins-official` para não ter duas cópias instaladas.

49 

50<h2 id="find-plugins-in-the-official-marketplace">

51 Encontrar plugins no marketplace oficial

52</h2>

53 

54Por padrão, o Claude Code adiciona o marketplace oficial, `claude-plugins-official`, para você. A maior parte do que ele lista vem de parceiros e outros autores, e não da Anthropic: fornecedores de ferramentas publicam plugins que conectam o Claude Code aos seus serviços, e a Anthropic mantém um conjunto menor de plugins próprios, como `commit-commands`, `code-review`, `feature-dev` e os [plugins de servidor de linguagem](/docs/pt/plugins/code-intelligence). O catálogo muda com frequência, por isso esta página não o lista.

55 

56Para ver o que ele contém, use a aba **Discover** de `/plugin` em uma sessão do Claude Code, na qual você pode pesquisar, ou navegue pelo [Claude Marketplace](https://claude.com/marketplace/plugins) na web.

57 

58<h2 id="browse-and-install-from-anthropic’s-marketplaces">

59 Navegar e instalar a partir dos marketplaces da Anthropic

60</h2>

61 

62Você pode pesquisar um plugin nos marketplaces da Anthropic no Claude Code, na web ou no GitHub:

63 

64* **No Claude Code, navegando**: execute `/plugin` em uma sessão interativa. A aba **Discover** lista os plugins dos seus marketplaces.

65* **No Claude Code, pelo nome**: execute `/plugin install <name>` em uma sessão, o que procura o nome nos seus marketplaces. Se o plugin estiver em um deles, seus detalhes se abrem no painel `/plugin`, e nada é instalado até que você escolha um [escopo de instalação](/docs/pt/plugins/install#install-a-plugin) e confirme ali. Se não estiver, você verá `Plugin "<name>" not found in any marketplace`.

66* **Na web**: pesquise o catálogo completo no [Claude Marketplace](https://claude.com/marketplace/plugins), que mostra contagens de instalação e marca alguns plugins como **Anthropic verified**.

67* **No GitHub**: abra `.claude-plugin/marketplace.json` no repositório do marketplace, como [`anthropics/claude-plugins-official`](https://github.com/anthropics/claude-plugins-official). Esse arquivo é o próprio catálogo.

68 

69O diretório da Anthropic é separado desses marketplaces. O diretório é o catálogo no claude.ai. Um plugin que você adiciona a partir do diretório no claude.ai chega ao Claude Code por meio da [sincronização da conta](/docs/pt/plugins/loading#synced-plugins). Para listar seu próprio plugin ali, consulte [Enviar para o diretório da Anthropic](/docs/pt/plugins/publish#submit-to-anthropics-directory).

70 

71Para instalar a partir do aplicativo desktop ou de um script, ou para ver o que uma sessão na nuvem carrega, consulte [Instalar plugins](/docs/pt/plugins/install).

72 

73<h3 id="add-the-community-or-demo-marketplace">

74 Adicionar o marketplace da comunidade ou de demonstração

75</h3>

76 

77Os marketplaces da comunidade e de demonstração não são registrados até que você os adicione em uma sessão do Claude Code:

78 

79* **Comunidade**: execute `/plugin marketplace add anthropics/claude-plugins-community` e, em seguida, instale com o sufixo `@claude-community`.

80* **Demonstração**: execute `/plugin marketplace add anthropics/claude-code` e, em seguida, instale com o sufixo `@claude-code-plugins`.

81 

82Se `claude-plugins-official` não estiver na aba **Marketplaces** de `/plugin`, adicione-o da mesma forma com `/plugin marketplace add anthropics/claude-plugins-official`.

83 

84Para erros `not found` e marketplaces que não podem ser adicionados, consulte [Solução de problemas de plugins](/docs/pt/plugins/troubleshooting#install-a-plugin).

85 

86<h2 id="third-party-marketplaces">

87 Marketplaces de terceiros

88</h2>

89 

90Muitos plugins populares não estão em nenhum marketplace da Anthropic. Eles estão nos marketplaces próprios de seus autores, geralmente um repositório do GitHub com um `.claude-plugin/marketplace.json` na raiz.

91 

92A Anthropic não revisa marketplaces de terceiros, então leia [Segurança e confiança de plugins](/docs/pt/plugins/security) antes de adicionar um.

93 

94Para usar um marketplace de terceiros, adicione seu repositório em uma sessão do Claude Code com `/plugin marketplace add <owner>/<repo>` e, em seguida, instale com `/plugin install <plugin>@<marketplace-name>`. O nome do marketplace é o campo `name` desse `marketplace.json`, e o Claude Code o exibe assim que adiciona o marketplace.

95 

96Para outras formas de adicionar um marketplace, consulte [Adicionar um marketplace](/docs/pt/plugins/install#add-a-marketplace).

97 

98<h2 id="next-steps">

99 Próximos passos

100</h2>

101 

102* [Instalar e gerenciar plugins](/docs/pt/plugins/install): instale um plugin de um desses marketplaces e escolha um escopo

103* [Segurança e confiança de plugins](/docs/pt/plugins/security): o que um plugin pode fazer na sua máquina e como revisar um antes de instalá-lo

104* [Plugins de inteligência de código](/docs/pt/plugins/code-intelligence): instale um dos plugins de servidor de linguagem do marketplace oficial

105* [Criar um marketplace](/docs/pt/plugins/create-marketplace): execute seu próprio marketplace junto com os da Anthropic

Details

571* A tag já existe571* A tag já existe

572* A árvore de trabalho está suja572* A árvore de trabalho está suja

573 573 

574<h3 id="plugin-test">

575 plugin test

576</h3>

577 

578Execute os testes de um [mod](/docs/pt/plugins/mods/overview), um plugin cujo código registra manipuladores de eventos. O comando não precisa de sessão, login ou rede. Para saber como escrever um teste, veja [Testar um mod](/docs/pt/plugins/mods/test).

579 

580```bash theme={null}

581claude plugin test [directory]

582```

583 

584O `[directory]` é o diretório do mod, padronizando para o diretório atual. O comando executa todos os arquivos sob ele cujo nome termina em `.test.ts` ou `.test.tsx`, e sai com status 1 quando um teste falha.

585 

586Execute os testes de um mod em `./first-mod`:

587 

588```bash theme={null}

589claude plugin test ./first-mod

590```

591 

574<h3 id="plugin-validate">592<h3 id="plugin-validate">

575 plugin validate593 plugin validate

576</h3>594</h3>


804 822 

805Um `<plugin>` é um `name` de plugin ou `name@marketplace`.823Um `<plugin>` é um `name` de plugin ou `name@marketplace`.

806 824 

807A tabela abaixo lista cada forma de sessão. Os subcomandos de shell `init`, `update`, `details`, `prune`, `eval` e `eval init` não têm forma de sessão.825A tabela abaixo lista cada forma de sessão. Os subcomandos de shell `init`, `update`, `details`, `prune`, `eval`, `eval init` e `test` não têm forma de sessão.

808 826 

809| Comando | Aliases | O que faz |827| Comando | Aliases | O que faz |

810| :- | :- | :- |828| :- | :- | :- |

plugins/loading.md +20 −14

Details

244 Quando a instalação de dependência é executada244 Quando a instalação de dependência é executada

245</h4>245</h4>

246 246 

247Claude Code executa a instalação dentro do diretório de versão copiado cada vez que cria um:247Claude Code instala as dependências no diretório de versão copiado cada vez que cria um:

248 248 

249* Quando você instala um plugin249* Quando você instala um plugin

250* Quando Claude Code atualiza um plugin para uma nova versão250* Quando Claude Code atualiza um plugin para uma nova versão


252 252 

253Para um plugin de caminho relativo [carregado in-place](#in-place-and-copied-plugins) de um marketplace de diretório local, Claude Code não instala as dependências no diretório de origem. Instale-as lá você mesmo, ou de um hook para [`${CLAUDE_PLUGIN_DATA}`](/docs/pt/plugins/components#path-variables-and-persistent-data).253Para um plugin de caminho relativo [carregado in-place](#in-place-and-copied-plugins) de um marketplace de diretório local, Claude Code não instala as dependências no diretório de origem. Instale-as lá você mesmo, ou de um hook para [`${CLAUDE_PLUGIN_DATA}`](/docs/pt/plugins/components#path-variables-and-persistent-data).

254 254 

255A instalação é executada apenas quando o diretório raiz do plugin contém tanto um `package.json` quanto um lockfile suportado. O lockfile decide qual comando Claude Code executa:255A instalação é executada apenas quando o diretório raiz do plugin contém tanto um `package.json` quanto um lockfile suportado.

256 256 

257| Lockfile | Comando |257O lockfile decide qual gerenciador de pacotes Claude Code executa:

258 

259| Lockfile | Gerenciador de pacotes |

258| :- | :- |260| :- | :- |

259| `bun.lock` ou `bun.lockb` | `bun install --frozen-lockfile --ignore-scripts` |261| `bun.lock` | Bun |

260| `npm-shrinkwrap.json` ou `package-lock.json` | `npm ci --ignore-scripts` |262| `npm-shrinkwrap.json` ou `package-lock.json` | npm |

261 263 

262Se um plugin contém mais de um desses lockfiles, Claude Code usa a primeira correspondência, verificando em ordem: `bun.lock`, `bun.lockb`, `npm-shrinkwrap.json`, `package-lock.json`.264Se um plugin contém mais de um desses lockfiles, Claude Code usa a primeira correspondência, verificando em ordem: `bun.lock`, `npm-shrinkwrap.json`, `package-lock.json`.

263 265 

264Claude Code pula a instalação para lockfiles Yarn e pnpm e para um `bunfig.toml` ao lado do lockfile Bun:266Claude Code pula a instalação nestes casos de lockfile:

265 267 

266* Se seu plugin tem apenas um `yarn.lock` ou `pnpm-lock.yaml`, substitua-o por um lockfile npm268* **`bun.lockb`**: o lockfile binário do Bun não pode ser verificado. Distribua um `bun.lock` em texto ou um lockfile npm em vez disso

267* Se um `bunfig.toml` está no mesmo diretório que o lockfile Bun, remova o `bunfig.toml`, ou substitua o lockfile Bun por um lockfile npm269* **`yarn.lock` ou `pnpm-lock.yaml`**: substitua-o por um lockfile npm

270* **Um lockfile em um formato que Claude Code não lê**: um lockfile npm precisa de um `lockfileVersion` igual a `2` ou `3`, que o npm 7 ou posterior escreve, e um `bun.lock` precisa de um `lockfileVersion` não superior a `2`

268 271 

269Inclua um lockfile npm para alcançar a maioria dos usuários. Claude Code executa o gerenciador de pacotes do lockfile correspondente do PATH do usuário e não tenta o outro lockfile em vez disso se esse gerenciador de pacotes está faltando.272Inclua um lockfile npm para alcançar a maioria dos usuários. Claude Code executa o gerenciador de pacotes do lockfile correspondente do PATH do usuário e não tenta o outro lockfile em vez disso se esse gerenciador de pacotes está faltando.

270 273 


276 279 

277Claude Code restringe essa instalação de dependência para que nenhum código do plugin ou seus pacotes seja executado durante ela, e limita quanto tempo ela pode levar:280Claude Code restringe essa instalação de dependência para que nenhum código do plugin ou seus pacotes seja executado durante ela, e limita quanto tempo ela pode levar:

278 281 

279* **Resolução congelada**: Bun e npm instalam exatamente o que o lockfile fixa, e falham em vez de re-resolver versões quando `package.json` e o lockfile discordam282* **Apenas pacotes de registro**: cada dependência deve ser um pacote de registro fixado no lockfile em uma versão exata. Um plugin com uma dependência git, GitHub, de pasta, de workspace ou vinculada não recebe instalação.

283* **Downloads `https`**: um link de download no lockfile deve usar `https`, a menos que aponte para o registro npm padrão do próprio usuário que está instalando.

284* **Uma pasta de instalação separada**: o gerenciador de pacotes é executado em uma pasta própria que contém apenas uma cópia da lista de dependências verificada, então npm e Bun não leem o `.npmrc`, `.env` ou `bunfig.toml` do plugin. Quando a instalação é bem-sucedida, Claude Code move o `node_modules` resultante para o plugin.

285* **Resolução congelada**: a instalação usa exatamente as versões que o lockfile fixa, e Claude Code a pula quando `package.json` e o lockfile não listam as mesmas dependências

280* **Sem scripts de ciclo de vida**: `--ignore-scripts` mantém scripts `preinstall`, `install` e `postinstall` de serem executados, então dependências que constroem módulos nativos nesses scripts baixam mas não compilam durante essa instalação286* **Sem scripts de ciclo de vida**: `--ignore-scripts` mantém scripts `preinstall`, `install` e `postinstall` de serem executados, então dependências que constroem módulos nativos nesses scripts baixam mas não compilam durante essa instalação

287* **Sem substituições ou patches**: um plugin cujo `package.json` define `overrides` do npm não recebe instalação a partir de um lockfile npm, e um plugin que define `patchedDependencies` do Bun não recebe instalação a partir de `bun.lock`

281* **Tempo limite de 60 segundos**: Claude Code para uma instalação que é executada mais tempo e a trata como falha288* **Tempo limite de 60 segundos**: Claude Code para uma instalação que é executada mais tempo e a trata como falha

282 289 

283Claude Code busca um plugin de fonte npm antes dessa instalação de dependência, e nenhum dos scripts de instalação próprios do pacote é executado durante a busca. Veja [fonte de plugin npm](/docs/pt/plugins/marketplace-reference#npm-plugin-source).290Claude Code busca um plugin de fonte npm antes dessa instalação de dependência, e nenhum dos scripts de instalação próprios do pacote é executado durante a busca. Veja [fonte de plugin npm](/docs/pt/plugins/marketplace-reference#npm-plugin-source).


290 Quando a instalação de dependência falha ou é ignorada297 Quando a instalação de dependência falha ou é ignorada

291</h4>298</h4>

292 299 

293Uma instalação falha ou ignorada nunca bloqueia o plugin, e cada caso deixa um sinal diferente:300Uma instalação falha ou ignorada nunca bloqueia o plugin, que então carrega sem as dependências. Cada caso deixa um sinal diferente:

294 301 

295* Uma instalação falha, ou uma ignorada por causa de um lockfile Yarn ou pnpm ou um `bunfig.toml`, aparece como um aviso na saída `claude --debug`302* Uma instalação falha, ou uma ignorada por causa de seu lockfile ou de um dos [limites na instalação](#limits-on-the-dependency-install), aparece na saída `claude --debug` como uma linha `Plugin dependency install warning` que informa o motivo

296* Um plugin com um `package.json` e nenhum lockfile é ignorado sem uma entrada de log303* Um plugin com um `package.json` e nenhum lockfile é ignorado sem uma entrada de log

297* Uma instalação com tempo limite pode deixar uma árvore `node_modules` parcial na cópia em cache

298 304 

299Quando a instalação automática não pode fornecer uma dependência, instale-a de um hook para o [diretório de dados persistentes](/docs/pt/plugins/components#path-variables-and-persistent-data). Isso inclui pacotes que precisam de seus scripts de ciclo de vida para construir, dependências Python e plugins bloqueados com Yarn ou pnpm.305Quando a instalação automática não pode fornecer uma dependência, instale-a de um hook para o [diretório de dados persistentes](/docs/pt/plugins/components#path-variables-and-persistent-data). Isso inclui pacotes que precisam de seus scripts de ciclo de vida para fazer o build, dependências Python, plugins bloqueados com Yarn ou pnpm e dependências que não são pacotes de registro, como dependências git.

300 306 

301<h2 id="versions-and-updates">307<h2 id="versions-and-updates">

302 Versões e atualizações308 Versões e atualizações

Details

155| `github` | `repo`, `ref`, `sha` | Repositório GitHub na forma `owner/repo` |155| `github` | `repo`, `ref`, `sha` | Repositório GitHub na forma `owner/repo` |

156| `url` | `url`, `ref`, `sha` | Qualquer repositório git por URL |156| `url` | `url`, `ref`, `sha` | Qualquer repositório git por URL |

157| `git-subdir` | `url`, `path`, `ref`, `sha` | Um subdiretório de um repositório git, buscado com um clone parcial esparso |157| `git-subdir` | `url`, `path`, `ref`, `sha` | Um subdiretório de um repositório git, buscado com um clone parcial esparso |

158| `npm` | `package`, `version`, `registry` | Pacote npm, buscado com seu cliente npm e desempacotado sem executar scripts de instalação |158| `npm` | `package`, `version`, `registry` | Pacote do registro npm ou link de tarball, buscado com seu cliente npm e desempacotado sem executar scripts de instalação |

159| `archive` | `url`, `sha256` | Arquivo Zip sobre HTTPS. Requer Claude Code v2.1.224 ou posterior |159| `archive` | `url`, `sha256` | Arquivo Zip sobre HTTPS. Requer Claude Code v2.1.224 ou posterior |

160| `command` | `command`, `timeout`, `mode` | Diretório impresso por um comando que Claude Code executa na máquina do usuário. Requer Claude Code v2.1.229 ou posterior |160| `command` | `command`, `timeout`, `mode` | Diretório impresso por um comando que Claude Code executa na máquina do usuário. Requer Claude Code v2.1.229 ou posterior |

161 161 


258 258 

259Uma origem `npm` leva estes campos:259Uma origem `npm` leva estes campos:

260 260 

261* `package`: um nome de pacote, ou um nome com escopo como `@your-org/formatter`261* `package`: um nome de pacote do registro, como `@your-org/formatter`, um nome com uma versão anexada, como `@your-org/formatter@2.0.0`, ou um link `https` para o arquivo tarball do pacote

262* `version`: uma versão ou intervalo262* `version`: uma versão, um intervalo semver ou uma dist-tag, usado quando `package` é um nome de pacote sem versão anexada. Omita-o para buscar `latest`

263* `registry`: uma URL de registro para um pacote que não está no registro padrão263* `registry`: uma URL de registro para um pacote que não está no registro padrão

264 264 

265Claude Code busca o pacote com seu cliente npm. Os scripts de instalação do pacote, como `preinstall` ou `postinstall`, nunca são executados, e suas dependências não são instaladas durante a busca. Se o pacote tiver um lockfile suportado ao lado de seu `package.json`, Claude Code instala essas [dependências de pacote Node.js](/docs/pt/plugins/loading#node-js-package-dependencies) em uma etapa separada, também com scripts desabilitados.265Claude Code busca o pacote com seu cliente npm. Os scripts de instalação do pacote, como `preinstall` ou `postinstall`, nunca são executados, e suas dependências não são instaladas durante a busca. Se o pacote tiver um lockfile suportado ao lado de seu `package.json`, Claude Code instala essas [dependências de pacote Node.js](/docs/pt/plugins/loading#node-js-package-dependencies) em uma etapa separada, também com scripts desabilitados.

266 266 

267Claude Code verifica o valor de `package` antes de buscar qualquer coisa. Um valor recusado faz a instalação falhar com uma mensagem que nomeia o valor e o motivo. Os valores recusados incluem:

268 

269* **Um endereço git, uma pasta ou caminho `file:`, ou um alias `npm:`**: use uma [origem `github`, `url` ou `git-subdir`](#plugin-sources) para um repositório git, um caminho relativo para uma pasta no marketplace e o próprio nome do pacote para um alias

270* **Um link de tarball em github.com, gist.github.com, gitlab.com, bitbucket.org ou git.sr.ht**: recusado mesmo quando o link é um download de release do GitHub, a menos que seja um link do registro npm do GitLab sob `gitlab.com/api/v4/`

271* **Um link de tarball sobre `http`**: recusado a menos que aponte para o próprio registro npm padrão do usuário que está instalando

272 

273A URL de `registry` deve usar `https`, a menos que seja o próprio registro npm padrão do usuário que está instalando. Com qualquer outro registro `http`, a instalação falha antes que o npm o contate.

274 

267```json theme={null}275```json theme={null}

268{276{

269 "name": "formatter",277 "name": "formatter",

Details

167 167 

168Um usuário cujo mod não foi carregado encontra a razão em seu log de depuração. [Mensagens de recusa](/docs/pt/plugins/mods/troubleshoot#refusal-messages) lista as linhas para `allowManagedHooksOnly` e `disableAllHooks`, e [Mensagens do guard integrado](/docs/pt/plugins/mods/troubleshoot#messages-from-the-built-in-guard) tem a linha para `allowManagedModsOnly`.168Um usuário cujo mod não foi carregado encontra a razão em seu log de depuração. [Mensagens de recusa](/docs/pt/plugins/mods/troubleshoot#refusal-messages) lista as linhas para `allowManagedHooksOnly` e `disableAllHooks`, e [Mensagens do guard integrado](/docs/pt/plugins/mods/troubleshoot#messages-from-the-built-in-guard) tem a linha para `allowManagedModsOnly`.

169 169 

170<h3 id="allow-only-your-organization’s-mods">

171 Permita apenas os mods da sua organização

172</h3>

173 

174Para executar os mods da sua organização e bloquear os que os usuários trazem, implante as configurações da linha **Apenas mods da sua organização** da [tabela de políticas](#choose-how-much-to-allow), mais `disableSideloadFlags`. Com este `managed-settings.json` completo, Claude Code recusa os mods próprios dos usuários, então nenhum dos hooks deles é executado, e seu mod de política é executado antes dos outros mods:

175 

176```json managed-settings.json theme={null}

177{

178 "extraKnownMarketplaces": {

179 "acme-tools": {

180 "source": { "source": "directory", "path": "/opt/acme/claude-plugins" }

181 }

182 },

183 "enabledPlugins": { "acme-guard@acme-tools": true },

184 "prependPlugins": ["acme-guard@acme-tools", "sec-default@builtin"],

185 "pluginConfigs": {

186 "cc-plugin-sec-default@builtin": {

187 "options": { "allowManagedModsOnly": true }

188 }

189 },

190 "disableSideloadFlags": true

191}

192```

193 

194Cada grupo de chaves faz um trabalho:

195 

196* **`extraKnownMarketplaces`, `enabledPlugins` e `prependPlugins`**: instalam seu mod para que ele conte como seu, e o executam primeiro com o guard depois dele. [Instale os mods da sua organização e defina a ordem](#install-your-organizations-mods) cobre o diretório para o qual essas chaves apontam.

197* **`pluginConfigs`**: define a opção `allowManagedModsOnly` do guard, então Claude Code recusa os mods próprios dos usuários. Os hooks de configurações, linhas de status e `/goal` deles continuam funcionando.

198* **`disableSideloadFlags`**: consulte [`disableSideloadFlags`](/docs/pt/settings-reference#disablesideloadflags) para ver as flags que ela rejeita na inicialização

199 

200Para confirmar a política em uma máquina de teste, no seu shell inicie uma sessão com `claude --debug` e leia o log de depuração:

201 

202* **Seu mod**: sua linha `hooks module` tem `tier prepend`

203* **Um mod que o usuário instalou**: uma linha diz `refused by cc-plugin-sec-default: mods are limited to your organization's by policy (allowManagedModsOnly)`. Uma linha anterior diz que o hooks module desse mod foi `loaded`, então procure a recusa.

204* **Um diretório de plugin**: `claude --plugin-dir ./any-mod` sai com uma mensagem que começa com `--plugin-dir is disabled by your organization's managed settings (disableSideloadFlags)`

205 

206Para também limitar quais marketplaces os usuários podem adicionar, combine este arquivo com suas [restrições de marketplace](/docs/pt/plugins/org#restrict-what-users-can-install).

207 

208<h3 id="apply-your-plugin-controls-to-mods">

209 Aplique seus controles de plugin aos mods

210</h3>

211 

212Um mod é um plugin, então as formas como você [gerencia plugins para sua organização](/docs/pt/plugins/org) também se aplicam a um plugin que contém um mod:

213 

214* **Veja quais plugins são carregados em toda a sua frota**: [Auditar e revisar](/docs/pt/plugins/org#audit-and-review)

215* **Decida quando um plugin que você revisou pode ser atualizado**: [Definir política de atualização](/docs/pt/plugins/org#set-update-policy)

216* **Dê a um grupo uma política diferente, como um piloto**: [Planeje para o que as configurações gerenciadas não podem impor](/docs/pt/plugins/org#plan-for-what-managed-settings-can’t-enforce)

217* **Verifique quais apps e tipos de sessão aplicam as chaves de plugin**: [Quando cada superfície aplica as chaves de plugin](/docs/pt/plugins/org#when-each-surface-applies-the-plugin-keys)

218* **Configure CI e contêineres**: [Preparar contêineres e CI](/docs/pt/plugins/org#seed-containers-and-ci)

219* **Ofereça mods que seus usuários podem instalar**: [Hospedar um marketplace](/docs/pt/plugins/host-marketplace). Um mod que Claude Code copia de uma fonte GitHub, git, URL ou npm conta como de um usuário, não como [da sua organização](#install-your-organizations-mods).

220 

170<h3 id="set-options-on-the-built-in-guard">221<h3 id="set-options-on-the-built-in-guard">

171 Defina opções no guard integrado222 Defina opções no guard integrado

172</h3>223</h3>

Details

102Registre cada evento uma vez por matcher. Se você chamar `on` duas vezes para `session.start` sem um matcher, o módulo falhará ao carregar com `on("session.start") is registered twice without a matcher`. Coloque tudo o que seu mod faz no início da sessão em um hook.102Registre cada evento uma vez por matcher. Se você chamar `on` duas vezes para `session.start` sem um matcher, o módulo falhará ao carregar com `on("session.start") is registered twice without a matcher`. Coloque tudo o que seu mod faz no início da sessão em um hook.

103 103 

104<h2 id="hook-what-claude-is-doing">104<h2 id="hook-what-claude-is-doing">

105 Hook o que Claude está fazendo105 Fazer hook no que o Claude está fazendo

106</h2>106</h2>

107 107 

108Conecte esses eventos para ver ou alterar uma chamada de ferramenta, um prompt ou um turno conforme acontece. Para cada evento e o que um hook pode retornar, consulte a [referência de eventos](/docs/pt/plugins/mods/reference#events).108Faça hook nestes eventos para ver ou alterar uma chamada de ferramenta, um prompt ou um turno enquanto acontecem. Para cada evento e o que um hook pode retornar, consulte a [referência de eventos](/docs/pt/plugins/mods/reference#events).

109 109 

110<h3 id="guard-or-change-a-tool-call">110<h3 id="guard-or-change-a-tool-call">

111 Guarde ou altere uma chamada de ferramenta111 Proteger ou alterar uma chamada de ferramenta

112</h3>112</h3>

113 113 

114Um hook `tool.call` vê cada ferramenta que Claude está prestes a usar, portanto pode recusar a chamada, alterar seus argumentos ou deixá-la passar. `tool.call` dispara quando Claude Code está prestes a executar uma ferramenta, incluindo chamadas que um subagenteaz e chamadas para ferramentas MCP. `e.tool` é o nome da ferramenta e os argumentos da ferramenta são campos de `e`, como `e.command` para Bash. Quando você chama `next(e)`, Claude Code executa a verificação de permissão e depois a ferramenta.114Um hook `tool.call` vê cada ferramenta que o Claude está prestes a usar, então pode recusar a chamada, alterar seus argumentos ou deixá-la passar. `tool.call` é disparado quando o Claude Code está prestes a executar uma ferramenta, incluindo chamadas que um subagente faz e chamadas a ferramentas MCP. `e.tool` é o nome da ferramenta e os argumentos da ferramenta são campos de `e`, como `e.command` para Bash. Quando você chama `next(e)`, o Claude Code executa a verificação de permissão e depois a ferramenta.

115 115 

116Este hook recusa um comando Bash que força um push e diz a Claude por quê:116Este hook recusa um comando Bash que faz force push e informa ao Claude o motivo:

117 117 

118```javascript theme={null}118```javascript theme={null}

119// O matcher limita o hook a chamadas Bash, portanto e.command é o comando do shell119// The matcher limits the hook to Bash calls, so e.command is the shell command

120on('tool.call', { tool: 'Bash' }, async ($, e, next) => {120on('tool.call', { tool: 'Bash' }, async ($, e, next) => {

121 if (/git push .*--force/.test(e.command)) {121 if (/git push .*--force/.test(e.command)) {

122 // Retornar sem chamar next responde ao evento, portanto o comando nunca é executado122 // Returning without calling next answers the event, so the command never runs

123 return { deny: 'Force pushes are not allowed in this repository. Push to a new branch instead.' }123 return { deny: 'Force pushes are not allowed in this repository. Push to a new branch instead.' }

124 }124 }

125 // Cada outro comando passa para a verificação de permissão e depois para Bash125 // Every other command goes on to the permission check and then to Bash

126 return next(e)126 return next(e)

127})127})

128```128```

129 129 

130Quando Claude tenta `git push --force`, o comando não é executado e nenhum prompt de permissão aparece, porque o hook nunca chama `next`. Claude lê o texto `deny` como o resultado da ferramenta, portanto escreva-o como uma instrução que Claude pode agir. Cada outro comando Bash é executado como seria sem o mod.130Quando o Claude tenta `git push --force`, o comando não é executado e nenhum prompt de permissão aparece, porque o hook nunca chama `next`. O Claude lê o texto de `deny` como o resultado da ferramenta, então escreva-o como uma instrução sobre a qual o Claude possa agir. Todos os outros comandos Bash são executados como seriam sem o mod.

131 131 

132Para agir após uma ferramenta ter sido executada, `await next(e)`, faça seu trabalho e retorne o que `next` lhe deu. Este hook registra cada arquivo `.mdx` que Claude altera, com [`$.ui.log`](/docs/pt/plugins/mods/api#show-something-without-starting-a-turn), que adiciona uma linha fraca à transcrição que Claude não lê:132Para agir depois que uma ferramenta foi executada, use `await next(e)`, faça seu trabalho e retorne o que `next` lhe deu. Este hook registra em log cada arquivo `.mdx` que o Claude altera, com [`$.ui.log`](/docs/pt/plugins/mods/api#show-something-without-starting-a-turn), que adiciona uma linha esmaecida à transcrição que o Claude não lê:

133 133 

134```javascript theme={null}134```javascript theme={null}

135on('tool.call', { tool: ['Edit', 'Write'] }, async ($, e, next) => {135on('tool.call', { tool: ['Edit', 'Write'] }, async ($, e, next) => {

136 // Aguarde a verificação de permissão e a ferramenta, e mantenha o que produziram136 // Wait for the permission check and the tool, and keep what they produced

137 const result = await next(e)137 const result = await next(e)

138 // Uma chamada recusada volta como { deny }, e uma falhada tem isError definido138 // A refused call comes back as { deny }, and a failed one has isError set

139 const changed = !result.deny && !result.isError139 const changed = !result.deny && !result.isError

140 if (changed && e.file_path.endsWith('.mdx')) $.ui.log('Claude changed ' + e.file_path)140 if (changed && e.file_path.endsWith('.mdx')) $.ui.log('Claude changed ' + e.file_path)

141 // Retorne o resultado como veio, portanto Claude lê o que a ferramenta retornou141 // Return the result as it came, so Claude reads what the tool returned

142 return result142 return result

143})143})

144```144```

145 145 

146Depois que Claude edita ou escreve um arquivo `.mdx`, uma linha fraca na transcrição nomeia o arquivo. Nada é registrado para outro tipo de arquivo ou para uma chamada que foi recusada ou falhou. A visualização de Claude da chamada não muda, porque o hook retorna o resultado que recebeu.146Depois que o Claude edita ou escreve um arquivo `.mdx`, uma linha esmaecida na transcrição indica o nome do arquivo. Nada é registrado em log para outro tipo de arquivo, nem para uma chamada que foi recusada ou falhou. A visão do Claude sobre a chamada não muda, porque o hook retorna o resultado que recebeu.

147 147 

148Para alterar uma chamada, passe argumentos alterados para `next`. Para tentar novamente uma chamada, chame `next(e)` novamente: um hook que vê `isError` no primeiro resultado pode executar a ferramenta uma segunda vez e retornar esse resultado. Para responder a uma chamada você mesmo, retorne um objeto com um campo `result`, como `{ result: 'Skipped by my-mod' }`, sem chamar `next`. Quando você faz isso, nenhum prompt de permissão aparece e a ferramenta não é executada, portanto o resultado que você retorna é tudo que Claude aprende sobre o que aconteceu.148Para alterar uma chamada, passe argumentos alterados para `next`. Para tentar novamente uma chamada, chame `next(e)` outra vez: um hook que vê `isError` no primeiro resultado pode executar a ferramenta uma segunda vez e retornar esse resultado. Para responder você mesmo a uma chamada, retorne um objeto com um campo `result`, como `{ result: 'Skipped by my-mod' }`, sem chamar `next`. Quando você faz isso, nenhum prompt de permissão aparece e a ferramenta não é executada, então o resultado que você retorna é tudo o que o Claude fica sabendo sobre o que aconteceu.

149 149 

150Hooks nas [configurações gerenciadas](/docs/pt/server-managed-settings) de sua organização são executados antes de qualquer hook `tool.call` de mod, e um bloqueio de um deles é final.150Os hooks nas [configurações gerenciadas](/docs/pt/server-managed-settings) da sua organização são executados antes do hook `tool.call` de qualquer mod, e um bloqueio de um deles é definitivo.

151 151 

152<h4 id="hold-a-tool-call-until-the-user-decides">152<h4 id="hold-a-tool-call-until-the-user-decides">

153 Mantenha uma chamada de ferramenta até o usuário decidir153 Reter uma chamada de ferramenta até o usuário decidir

154</h4>154</h4>

155 155 

156Um hook pode pausar uma chamada de ferramenta e perguntar ao usuário o que fazer antes de prosseguir. Um hook `tool.call` pode `await` antes de chamar `next` ou retornar, e a chamada de ferramenta permanece pendente até então. Para fazer a pergunta ao usuário, chame `$.ui.ask`. Ele mostra sua pergunta acima de uma lista numerada de suas opções, no diálogo que Claude usa para lhe fazer uma pergunta, e é resolvido para o rótulo que o usuário escolhe. Após suas opções, o diálogo adiciona uma linha para digitar uma resposta diferente e uma linha **Chat about this**.156Um hook pode pausar uma chamada de ferramenta e perguntar ao usuário o que fazer antes que ela prossiga. Um hook `tool.call` pode usar `await` antes de chamar `next` ou retornar, e a chamada de ferramenta permanece pendente até lá. Para fazer a pergunta ao usuário, chame `$.ui.ask`. Ele mostra sua pergunta acima de uma lista numerada das suas opções, no diálogo que o Claude usa para lhe perguntar algo, e resolve para o rótulo que o usuário escolher. Depois das suas opções, o diálogo adiciona uma linha para digitar uma resposta diferente e uma linha **Chat about this**.

157 157 

158O padrão `RISKY` neste exemplo corresponde a `rm -r`, `rm -rf`, `git reset --hard` e `git push` com `--force`, e perde outras grafias como `git push -f`. Este módulo pergunta antes de executar um comando Bash que corresponde ao padrão:158O padrão `RISKY` neste exemplo corresponde a `rm -r`, `rm -rf`, `git reset --hard` e `git push` com `--force`, e não detecta outras grafias como `git push -f`. Este módulo pergunta antes de executar um comando Bash que corresponda ao padrão:

159 159 

160```javascript theme={null}160```javascript theme={null}

161const RISKY = /\brm\s+-rf?\b|\bgit\s+reset\s+--hard\b|\bgit\s+push\b.*--force/161const RISKY = /\brm\s+-rf?\b|\bgit\s+reset\s+--hard\b|\bgit\s+push\b.*--force/

162 162 

163export function register(on) {163export function register(on) {

164 on('tool.call', { tool: 'Bash' }, async ($, e, next) => {164 on('tool.call', { tool: 'Bash' }, async ($, e, next) => {

165 // Deixe cada outro comando passar sem uma pergunta165 // Let every other command through without a question

166 if (!RISKY.test(e.command)) return next(e)166 if (!RISKY.test(e.command)) return next(e)

167 // Comece a partir da resposta segura, portanto uma pergunta que ninguém responde recusa o comando167 // Start from the safe answer, so a question nobody answers refuses the command

168 let answer = 'Refuse'168 let answer = 'Refuse'

169 try {169 try {

170 // A chamada de ferramenta aguarda aqui até o usuário escolher um dos dois rótulos170 // The tool call waits here until the user picks one of the two labels

171 answer = await $.ui.ask('Run this command? ' + e.command, ['Run it', 'Refuse'])171 answer = await $.ui.ask('Run this command? ' + e.command, ['Run it', 'Refuse'])

172 } catch {172 } catch {

173 // O usuário descartou a pergunta ou esta é uma execução claude -p sem ninguém para perguntar173 // The user dismissed the question, or this is a claude -p run with nobody to ask

174 }174 }

175 if (answer !== 'Run it') {175 if (answer !== 'Run it') {

176 // Responda sem chamar next, portanto o comando não é executado176 // Answer without calling next, so the command doesn't run

177 return { deny: 'The user declined this command. Ask before trying a different approach.' }177 return { deny: 'The user declined this command. Ask before trying a different approach.' }

178 }178 }

179 return next(e)179 return next(e)


181}181}

182```182```

183 183 

184Quando Claude tenta um comando como `rm -rf build`, a pergunta aparece com o comando nela, e o comando aguarda a resposta:184Quando o Claude tenta um comando como `rm -rf build`, a pergunta aparece com o comando nela, e o comando aguarda a resposta:

185 185 

186* **O usuário escolhe Run it**: o hook chama `next(e)` e a verificação de permissão usual ainda é executada após ele186* **O usuário escolhe Run it**: o hook chama `next(e)`, e a verificação de permissão habitual ainda é executada depois disso

187* **O usuário escolhe Refuse**: o comando não é executado e Claude lê o texto `deny`187* **O usuário escolhe Refuse**: o comando não é executado, e o Claude lê o texto de `deny`

188* **O usuário digita uma resposta**: `$.ui.ask` é resolvido para o texto digitado. O hook o compara com `Run it`, portanto qualquer outro texto recusa o comando.188* **O usuário digita uma resposta**: `$.ui.ask` resolve para o texto digitado. O hook o compara com `Run it`, então qualquer outro texto recusa o comando.

189* **Ninguém responde**: `$.ui.ask` rejeita quando o usuário descarta a pergunta ou escolhe **Chat about this**, e em uma execução `claude -p`, portanto o bloco `catch` deixa a resposta em `Refuse`189* **Ninguém responde**: `$.ui.ask` é rejeitado quando o usuário dispensa a pergunta ou escolhe **Chat about this**, e em uma execução `claude -p`, então o bloco `catch` mantém a resposta como `Refuse`

190 190 

191Mantenha a espera dentro de uma chamada de API de mods como `$.ui.ask`, porque esse tempo não conta contra o [limite de tempo de 10 segundos](/docs/pt/plugins/mods/reference#limits) do hook. O tempo gasto aguardando uma promessa sua conta. Claude Code pula um hook que expira, portanto o comando mantido seria executado.191Mantenha a espera dentro de uma chamada da API de mods, como `$.ui.ask`, porque esse tempo não conta para o [limite de tempo de 10 segundos](/docs/pt/plugins/mods/reference#limits) do hook. O tempo gasto aguardando uma promise sua conta. O Claude Code ignora um hook que excede o tempo limite, então o comando retido seria executado.

192 

193<h4 id="approve-or-refuse-a-tool-call-before-the-user-is-asked">

194 Aprovar ou recusar uma chamada de ferramenta antes de o usuário ser consultado

195</h4>

196 

197Para decidir se uma chamada de ferramenta pode ser executada, trate [`tool.check`](/docs/pt/plugins/mods/reference#tools), o evento em que o Claude Code toma essa decisão. Ele é disparado depois que as regras de permissão e os hooks de configuração decidiram, e `next(e)` resolve para a decisão deles: `allow`, `ask` ou `deny`. Seu hook retorna essa decisão ou uma diferente. `e.input` contém os argumentos da ferramenta, como `command` para Bash.

198 

199Para um comando ou caminho fixo, use uma [regra de permissão](/docs/pt/permissions#permission-rule-syntax) como `Bash(npm test)`, que não exige código. Trate `tool.check` quando a decisão depender do que é verdade naquele momento, como o branch Git atual ou um valor que outro hook registrou.

200 

201Este hook recusa `git push` enquanto o branch atual for `main`:

202 

203```javascript theme={null}

204on('tool.check', { tool: 'Bash' }, async ($, e, next) => {

205 // What the permission rules and settings hooks decided: 'allow', 'ask', or 'deny'

206 const decided = await next(e)

207 if (!e.input.command.includes('git push')) return decided

208 const branch = await $.process.run(['git', 'branch', '--show-current'])

209 if (branch.stdout.trim() !== 'main') return decided

210 return { decision: 'deny', reason: 'Push from a branch other than main' }

211})

212```

213 

214Em `main`, o hook retorna `deny`, mesmo quando uma regra permite `git push`. Em outro branch, e para outros comandos, a chamada recebe a decisão que receberia sem o mod.

215 

216O hook compara o texto do comando, então trate-o como um lembrete para o Claude. Para bloquear pushes para `main` para todos, proteja o branch no seu host Git.

217 

218Um hook pode retornar qualquer uma das três decisões, então também pode aprovar uma chamada que um hook `PreToolUse` fora das configurações gerenciadas bloqueou. [Estender permissões com hooks](/docs/pt/permissions#extend-permissions-with-hooks) lista quais decisões prevalecem sobre um mod.

192 219 

193<h3 id="rewrite-or-add-to-a-prompt">220<h3 id="rewrite-or-add-to-a-prompt">

194 Reescreva ou adicione a um prompt221 Reescrever ou complementar um prompt

195</h3>222</h3>

196 223 

197Um hook `prompt.submit` vê cada prompt antes do turno começar, portanto pode reescrever o texto ou adicionar a ele. `e.text` é o que foi digitado.224Um hook `prompt.submit` vê cada prompt antes de o turno começar, então pode reescrever o texto ou complementá-lo. `e.text` é o que foi digitado.

198 225 

199| Para fazer isso | Retorne isto |226| Para fazer isto | Retorne isto |

200| :- | :- |227| :- | :- |

201| Reescreva o prompt. A mensagem na transcrição mostra o novo texto. | `next({ ...e, text: newText })` |228| Reescrever o prompt. A mensagem na transcrição mostra o novo texto. | `next({ ...e, text: newText })` |

202| Adicione texto apenas que Claude lê, após o prompt | `next({ ...e, context: [...(e.context ?? []), extraText] })` |229| Adicionar texto que só o Claude lê, depois do prompt | `next({ ...e, context: [...(e.context ?? []), extraText] })` |

203| Impeça que o prompt seja enviado | `{ drop: 'the reason' }` |230| Impedir que o prompt seja enviado | `{ drop: 'the reason' }` |

204 231 

205Este hook adiciona o nome da ramificação atual para Claude sempre que um prompt menciona uma solicitação de pull:232Este hook adiciona o nome do branch atual para o Claude sempre que um prompt menciona um pull request:

206 233 

207```javascript theme={null}234```javascript theme={null}

208on('prompt.submit', async ($, e, next) => {235on('prompt.submit', async ($, e, next) => {

209 // Passe um prompt que não menciona uma solicitação de pull como está236 // Pass on a prompt that doesn't mention a pull request as it is

210 if (!/\bPR\b|pull request/i.test(e.text)) return next(e)237 if (!/\bPR\b|pull request/i.test(e.text)) return next(e)

211 const git = await $.process.run(['git', 'branch', '--show-current'])238 const git = await $.process.run(['git', 'branch', '--show-current'])

212 // Fora de um repositório git o comando falha, portanto não há ramificação para adicionar239 // Outside a git repository the command fails, so there's no branch to add

213 if (git.exitCode !== 0) return next(e)240 if (git.exitCode !== 0) return next(e)

214 // Mantenha qualquer contexto que um hook anterior adicionou e adicione mais uma linha para Claude241 // Keep any context an earlier hook added, and add one more line for Claude

215 return next({ ...e, context: [...(e.context ?? []), 'Current branch: ' + git.stdout.trim()] })242 return next({ ...e, context: [...(e.context ?? []), 'Current branch: ' + git.stdout.trim()] })

216})243})

217```244```

218 245 

219Quando você envia um prompt como `open a PR for this change`, sua mensagem parece a mesma na transcrição e Claude também lê uma linha como `Current branch: feature/auth` após ela. Um prompt que não menciona uma solicitação de pull passa inalterado e `git` não é executado.246Quando você envia um prompt como `open a PR for this change`, sua mensagem aparece igual na transcrição, e o Claude também lê uma linha como `Current branch: feature/auth` depois dela. Um prompt que não menciona um pull request passa sem alterações, e `git` não é executado.

220 247 

221[Outros eventos](/docs/pt/plugins/mods/reference#prompts-and-what-claude-reads) cobrem o resto do que Claude lê: `prompt.section` para cada seção do prompt do sistema, `prompt.context` para o contexto enviado com a primeira mensagem e `skill.prompt` para o texto de uma skill. Texto desses hooks que muda entre solicitações [invalida o cache de prompt](/docs/pt/prompt-caching).248[Outros eventos](/docs/pt/plugins/mods/reference#prompts-and-what-claude-reads) cobrem o restante do que o Claude lê: `prompt.section` para cada seção do system prompt, `prompt.context` para o contexto enviado com a primeira mensagem e `skill.prompt` para o texto de uma skill. Texto desses hooks que muda entre requisições [invalida o cache de prompt](/docs/pt/prompt-caching).

222 249 

223<h3 id="follow-a-turn">250<h3 id="follow-a-turn">

224 Siga um turno251 Acompanhar um turno

225</h3>252</h3>

226 253 

227Um turno é tudo o que Claude faz em resposta a um prompt. Conecte `turn.start`, `turn.step` e `turn.complete` para seguir um:254Um turno é tudo o que o Claude faz em resposta a um prompt. Faça hook em `turn.start`, `turn.step` e `turn.complete` para acompanhar um:

228 255 

229| Evento | Quando dispara | O que um hook pode fazer |256| Evento | Quando é disparado | O que um hook pode fazer |

230| :- | :- | :- |257| :- | :- | :- |

231| `turn.start` | Um turno começa | Observe. `e.turnId` identifica o turno nos outros dois eventos. |258| `turn.start` | Um turno começa | Observar. `e.turnId` identifica o turno nos outros dois eventos. |

232| `turn.step` | Claude Code está prestes a enviar uma solicitação ao modelo. Um turno com chamadas de ferramentas tem várias. `e.agentId` é definido para uma solicitação de um subagenteaz. | Leia o uso de token de cada solicitação, envie-o para um modelo diferente com `next({ ...e, model })` ou responda sem chamar o modelo |259| `turn.step` | O Claude Code está prestes a enviar uma requisição ao modelo. Um turno com chamadas de ferramenta tem várias. `e.agentId` é definido para a requisição de um subagente. | Ler o uso de tokens de cada requisição, enviá-la para um modelo diferente com `next({ ...e, model })` ou responder sem chamar o modelo |

233| `turn.complete` | O turno terminou, incluindo um turno que o usuário interrompeu, onde `e.isAborted` é `true`. `e.answer` é o texto final de Claude, `e.durationMs` quanto tempo levou e `e.usage` os totais de token do turno. Um turno de um subagenteaz dispara com `e.agentId` definido. | Observe ou retorne um objeto com um campo `text`, como `{ text: 'Done in 12 seconds' }`, para mostrar uma linha sob a resposta |260| `turn.complete` | O turno terminou, incluindo um turno que o usuário interrompeu, em que `e.isAborted` é `true`. `e.answer` é o texto final do Claude, `e.durationMs` quanto tempo levou e `e.usage` os totais de tokens do turno. O turno de um subagente o dispara com `e.agentId` definido. | Observar, ou retornar um objeto com um campo `text`, como `{ text: 'Done in 12 seconds' }`, para mostrar uma linha abaixo da resposta |

234 261 

235Escreva um hook `turn.step` como um gerador assíncrono, porque o evento flui. `yield* next(e)` encaminha a resposta conforme flui e é avaliado para o resultado terminado. Este hook registra quanto de cada solicitação a API Claude serviu do [cache de prompt](/docs/pt/prompt-caching):262Escreva um hook `turn.step` como um gerador assíncrono, porque o evento é transmitido em streaming. `yield* next(e)` encaminha a resposta à medida que ela é transmitida e resulta no resultado final. Este hook registra em log quanto de cada requisição a API do Claude atendeu a partir do [cache de prompt](/docs/pt/prompt-caching):

236 263 

237```javascript theme={null}264```javascript theme={null}

238// function* torna o hook um gerador, que pode passar a resposta adiante pedaço por pedaço265// function* makes the hook a generator, which can pass the response on piece by piece

239on('turn.step', async function* ($, e, next) {266on('turn.step', async function* ($, e, next) {

240 // Envie a solicitação, encaminhe cada pedaço conforme chega e mantenha o resultado terminado267 // Send the request, forward each piece as it arrives, and keep the finished result

241 const result = yield* next(e)268 const result = yield* next(e)

242 // Pule um resultado que não relata contagens de token269 // Skip a result that reports no token counts

243 if (result.usage) {270 if (result.usage) {

244 $.ui.log('cache read ' + result.usage.cache_read_input_tokens + ' · wrote ' + result.usage.cache_creation_input_tokens)271 $.ui.log('cache read ' + result.usage.cache_read_input_tokens + ' · wrote ' + result.usage.cache_creation_input_tokens)

245 }272 }

246 // Retorne o resultado inalterado, portanto o turno continua como usual273 // Return the result unchanged, so the turn continues as usual

247 return result274 return result

248})275})

249```276```

250 277 

251A resposta de Claude flui para a tela como faria sem o mod. Após cada solicitação terminar, uma linha fraca na transcrição fornece o número de tokens lidos do cache e o número escrito nele. Um turno com chamadas de ferramentas tem várias solicitações, portanto adiciona várias linhas.278A resposta do Claude é transmitida para a tela como acontece sem o mod. Depois que cada requisição termina, uma linha esmaecida na transcrição informa o número de tokens lidos do cache e o número gravado nele. Um turno com chamadas de ferramenta tem várias requisições, então adiciona várias linhas.

252 279 

253`result.usage` contém as quatro contagens de token que a API Claude relata para uma solicitação, mais o `model` que respondeu: `input_tokens`, `output_tokens`, `cache_read_input_tokens` e `cache_creation_input_tokens`. O hook é executado para solicitações de subagenteaz também, portanto verifique `e.agentId` quando você quer apenas a conversa principal.280`result.usage` contém as quatro contagens de tokens que a API do Claude informa para uma requisição, mais o `model` que respondeu: `input_tokens`, `output_tokens`, `cache_read_input_tokens` e `cache_creation_input_tokens`. O hook também é executado para as requisições de subagentes, então verifique `e.agentId` quando quiser apenas a conversa principal.

254 281 

255<h3 id="hook-the-settings-hook-events">282<h3 id="hook-the-settings-hook-events">

256 Hook os eventos de hook de configurações283 Fazer hook nos eventos de hooks de configuração

257</h3>284</h3>

258 285 

259Hooks de configurações são os hooks de comando, HTTP, prompt e agente que você configura em arquivos de configurações. Cada [evento de hook de configurações](/docs/pt/hooks#hook-events), como `Stop`, `SessionEnd` ou `PostToolUse`, também é um evento nomeado `classic.` seguido pelo nome do evento de hook de configurações, como `classic.Stop`. `e` é o JSON que um hook de configurações recebe em stdin, incluindo `transcript_path`.286Hooks de configuração são os hooks de comando, HTTP, prompt e agente que você configura em arquivos de configuração. Cada [evento de hook de configuração](/docs/pt/hooks#hook-events), como `Stop`, `SessionEnd` ou `PostToolUse`, também é um evento nomeado `classic.` seguido do nome do evento de hook de configuração, como `classic.Stop`. `e` é o JSON que um hook de configuração recebe no stdin, incluindo `transcript_path`.

260 287 

261Este hook usa `Stop`, que dispara quando Claude termina de responder, para registrar onde a transcrição da sessão é salva:288Este hook usa `Stop`, que é disparado quando o Claude termina de responder, para registrar em log onde a transcrição da sessão está salva:

262 289 

263```javascript theme={null}290```javascript theme={null}

264on('classic.Stop', async ($, e, next) => {291on('classic.Stop', async ($, e, next) => {

265 // e tem os mesmos campos que um hook Stop em um arquivo de configurações lê de stdin292 // e has the same fields a Stop hook in a settings file reads from stdin

266 $.ui.log('Transcript saved at ' + e.transcript_path)293 $.ui.log('Transcript saved at ' + e.transcript_path)

267 // Passe o evento adiante, portanto hooks Stop em seus arquivos de configurações ainda são executados294 // Pass the event on, so Stop hooks in your settings files still run

268 return next(e)295 return next(e)

269})296})

270```297```

271 298 

272Cada vez que Claude termina de responder, uma linha fraca na transcrição fornece o caminho do arquivo de transcrição. O hook retorna `next(e)`, portanto observa o evento e não muda nada sobre como o turno termina.299Cada vez que o Claude termina de responder, uma linha esmaecida na transcrição informa o caminho do arquivo de transcrição. O hook retorna `next(e)`, então ele observa o evento e não altera nada em como o turno termina.

273 300 

274<h2 id="run-alongside-other-mods">301<h2 id="run-alongside-other-mods">

275 Execute ao lado de outros mods302 Execute ao lado de outros mods


301* **Hooks `PreToolUse` de configurações gerenciadas**: são executados antes do hook `tool.call` do primeiro mod, e um bloqueio de um deles é final, portanto nenhum mod vê a chamada.328* **Hooks `PreToolUse` de configurações gerenciadas**: são executados antes do hook `tool.call` do primeiro mod, e um bloqueio de um deles é final, portanto nenhum mod vê a chamada.

302* **Hooks `PreToolUse` de cada outro arquivo de configurações e de `hooks/hooks.json` de plugins**: são executados após o último mod chamar `next`, como parte do comportamento próprio de Claude Code. Um mod que responde `tool.call` sem chamar `next` os impede de serem executados, e um mod que chama `next` vê sua decisão no resultado que retorna.329* **Hooks `PreToolUse` de cada outro arquivo de configurações e de `hooks/hooks.json` de plugins**: são executados após o último mod chamar `next`, como parte do comportamento próprio de Claude Code. Um mod que responde `tool.call` sem chamar `next` os impede de serem executados, e um mod que chama `next` vê sua decisão no resultado que retorna.

303 330 

304[`tool.check`](/docs/pt/plugins/mods/reference#tools) é o evento onde Claude Code decide se uma chamada de ferramenta pode ser executada. Dispara após esses hooks e as regras de permissão terem decidido, e `next(e)` é resolvido para sua decisão. Um hook em `tool.check` pode retornar uma decisão diferente, como `{ decision: 'allow' }`, portanto pode aprovar uma chamada que um hook no segundo grupo bloqueou. [Estenda permissões com hooks](/docs/pt/permissions#extend-permissions-with-hooks) lista quais decisões prevalecem sobre um mod.331[`tool.check`](#approve-or-refuse-a-tool-call-before-the-user-is-asked) dispara após esses hooks e as regras de permissão terem decidido, portanto um hook nele pode aprovar uma chamada que um hook no segundo grupo bloqueou.

305 332 

306<h3 id="handle-a-hook-that-fails">333<h3 id="handle-a-hook-that-fails">

307 Manipule um hook que falha334 Manipule um hook que falha

Details

407 ```407 ```

408 408 

409 ```text theme={null}409 ```text theme={null}

410 Note: Type a note and press Enter ⏎ add410 Note: Type a note and press Enter

411 ```411 ```

412 </Tab>412 </Tab>

413</Tabs>413</Tabs>

414 414 

415Esta tabela lista cada elemento:415A [galeria de interface](/docs/pt/plugins/mods/gallery) tem exemplos e capturas de tela da maioria dos elementos. Esta tabela lista cada elemento:

416 416 

417| Elemento | O que desenha | Onde |417| Elemento | O que desenha | Onde |

418| :- | :- | :- |418| :- | :- | :- |

Details

72* **Agir sem pedir a você**: aprovar uma chamada de ferramenta antes de você ser perguntado72* **Agir sem pedir a você**: aprovar uma chamada de ferramenta antes de você ser perguntado

73* **Gastar seu uso**: chamar um modelo em seu plano ou chave de API73* **Gastar seu uso**: chamar um modelo em seu plano ou chave de API

74 74 

75Os mods não são executados em sandbox. Se você ativar o [sandboxing](/docs/pt/sandboxing), o sandbox isola os comandos Bash que o Claude executa, e um processo que um mod inicia é executado fora dele.

76 

75Um mod que aprova chamadas de ferramenta pode aprovar uma que uma regra `ask` solicitaria, ou que um de seus próprios hooks `PreToolUse` bloqueou. [Estender permissões com hooks](/docs/pt/permissions#extend-permissions-with-hooks) lista o que tal mod pode aprovar, incluindo quando pode aprovar uma chamada que uma regra `deny` recusa.77Um mod que aprova chamadas de ferramenta pode aprovar uma que uma regra `ask` solicitaria, ou que um de seus próprios hooks `PreToolUse` bloqueou. [Estender permissões com hooks](/docs/pt/permissions#extend-permissions-with-hooks) lista o que tal mod pode aprovar, incluindo quando pode aprovar uma chamada que uma regra `deny` recusa.

76 78 

77Um mod pode reformatar grande parte da interface do Claude Code, mas não o prompt de permissão. Não pode alterar o que um prompt mostra a você.79Um mod pode reformatar grande parte da interface do Claude Code, mas não o prompt de permissão. Não pode alterar o que um prompt mostra a você.


102 104 

103Se você usar o Claude Code através de uma organização, um administrador também pode limitar quais mods carregam. Os administradores começam em [Impedir que mods instalados pelo usuário sejam carregados](/docs/pt/plugins/mods/admin#stop-user-installed-mods-from-loading).105Se você usar o Claude Code através de uma organização, um administrador também pode limitar quais mods carregam. Os administradores começam em [Impedir que mods instalados pelo usuário sejam carregados](/docs/pt/plugins/mods/admin#stop-user-installed-mods-from-loading).

104 106 

107`disableAllHooks` e o `allowManagedModsOnly` da sua organização param um mod e mantêm o restante do seu plugin no lugar: o plugin permanece instalado, e suas skills, comandos, agentes e servidores MCP são carregados. Outras configurações e flags têm um alcance maior. [`disableAllHooks`](/docs/pt/settings-reference#disableallhooks) e [O que é executado sob `allowManagedHooksOnly`](/docs/pt/settings-reference#what-runs-under-allowmanagedhooksonly) listam o que cada uma faz com um plugin e com seus settings hooks.

108 

105Para descobrir se mods podem carregar para você, veja [Verificar se mods podem carregar](/docs/pt/plugins/mods/troubleshoot#check-whether-mods-can-load).109Para descobrir se mods podem carregar para você, veja [Verificar se mods podem carregar](/docs/pt/plugins/mods/troubleshoot#check-whether-mods-can-load).

106 110 

107<Note>111<Note>

Details

56 56 

57Leia o motivo após os dois pontos. A seção [mensagens de recusa](#refusal-messages) lista cada uma. Se o log não tiver tal linha, trabalhe através das outras entradas neste grupo.57Leia o motivo após os dois pontos. A seção [mensagens de recusa](#refusal-messages) lista cada uma. Se o log não tiver tal linha, trabalhe através das outras entradas neste grupo.

58 58 

59Algumas configurações interrompem um mod e deixam o restante do seu plugin funcionando. [Ativar ou desativar mods](/docs/pt/plugins/mods/overview#turn-mods-on-or-off) as nomeia.

60 

59<h3 id="a-claude-p-run-prints-hooks-module-not-loaded">61<h3 id="a-claude-p-run-prints-hooks-module-not-loaded">

60 Uma execução `claude -p` imprime `hooks module not loaded`62 Uma execução `claude -p` imprime `hooks module not loaded`

61</h3>63</h3>

plugins/relevance.md +247 −0 created

Details

1> ## Documentation Index

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

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

4 

5# Recomendar plugins para sua organização

6 

7> Adicione um bloco de relevância às entradas de plugins do marketplace para que o Claude Code os sugira quando o trabalho de um usuário corresponder, e adicione o marketplace à allowlist nas configurações gerenciadas.

8 

9O Claude Code pode sugerir a instalação de um plugin do marketplace da sua organização quando a sessão de um usuário corresponde aos sinais que você define para esse plugin. Os sinais incluem o diretório de trabalho, os arquivos que o Claude leu e os comandos que o Claude executou. Você os define adicionando um bloco `relevance` à entrada do plugin em `marketplace.json`.

10 

11Um operador de marketplace escreve as entradas `relevance`. Em seguida, um administrador adiciona o marketplace à allowlist nas configurações gerenciadas. Os usuários não veem sugestões de um marketplace até que ele seja adicionado à allowlist.

12 

13<Note>

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

15 

16 * **Você quer instalar plugins**: consulte [Instalar e gerenciar plugins](/docs/pt/plugins/install)

17 * **Você quer desativar as sugestões**: consulte [Entender como funciona a relevância de plugins](#understand-how-plugin-relevance-works)

18</Note>

19 

20Comece pelas seções correspondentes à sua função:

21 

22* **Operadores de marketplace**: leia [como as sugestões funcionam](#understand-how-plugin-relevance-works), depois [adicione relevância a uma entrada de plugin](#add-relevance-to-a-plugin-entry) e [valide seu marketplace](#validate-your-marketplace)

23* **Administradores**: [habilite as sugestões nas configurações gerenciadas](#enable-suggestions-in-managed-settings)

24 

25<h2 id="understand-how-plugin-relevance-works">

26 Entender como funciona a relevância de plugins

27</h2>

28 

29Cada entrada de plugin em `marketplace.json` pode incluir um objeto `relevance`. O objeto nomeia um tópico e um ou mais sinais. Um sinal é um padrão que o Claude Code testa em relação à sessão atual, como o diretório de trabalho ou os arquivos que o Claude leu.

30 

31A correspondência de sinais acontece localmente na máquina do usuário e não adiciona tráfego de rede. O Claude Code não informa à Anthropic nem ao operador do marketplace quais sinais corresponderam nem seus valores.

32 

33Quando um sinal corresponde e o plugin ainda não está instalado, o Claude Code sugere o plugin nestes locais:

34 

35* **Dica do spinner**: uma mensagem com o comando `/plugin install` aparece abaixo do spinner enquanto o Claude está respondendo.

36* **Notificação de início de sessão**: se um sinal `cwd` corresponder ao diretório de trabalho, uma notificação de uma linha aparece antes que o usuário envie a primeira mensagem.

37* **Aba Discover do `/plugin`**: o plugin é fixado no topo da lista Discover.

38 

39[Visualizar o que o usuário vê](#preview-what-the-user-sees) mostra o texto exato de cada um e com que frequência se repetem.

40 

41O Claude Code nunca instala o plugin automaticamente. O usuário sempre confirma.

42 

43A dica do spinner e a notificação de início de sessão deixam de aparecer quando o usuário ou o projeto define [`spinnerTipsEnabled`](/docs/pt/settings-reference#spinnertipsenabled) como `false`, ou quando um [`spinnerTipsOverride`](/docs/pt/settings-reference#spinnertipsoverride) com `excludeDefault` substitui as dicas integradas. A fixação na aba Discover não é afetada por nenhuma dessas configurações.

44 

45<h2 id="add-relevance-to-a-plugin-entry">

46 Adicionar relevância a uma entrada de plugin

47</h2>

48 

49Adicione um objeto `relevance` à entrada do plugin no seu `marketplace.json`. O exemplo a seguir declara que o plugin `terraform-helpers` é relevante quando o Claude lê um arquivo `.tf` ou executa `terraform`:

50 

51```json theme={null}

52{

53 "name": "your-marketplace",

54 "owner": { "name": "Your Org" },

55 "plugins": [

56 {

57 "name": "terraform-helpers",

58 "source": "./plugins/terraform-helpers",

59 "description": "Your organization's Terraform conventions and helpers",

60 "relevance": {

61 "topic": "Terraform",

62 "signals": {

63 "cli": ["terraform"],

64 "filesRead": ["**/*.tf"]

65 }

66 }

67 }

68 ]

69}

70```

71 

72Enquanto nenhum de seus sinais corresponder, o plugin mantém sua posição normal na lista Discover e não aparece como dica do spinner.

73 

74Para verificar o bloco antes de publicar, [valide seu marketplace](#validate-your-marketplace).

75 

76<h2 id="field-reference">

77 Referência de campos

78</h2>

79 

80O objeto `relevance` e seu objeto aninhado `signals` aceitam os campos nas tabelas a seguir.

81 

82Clientes mais antigos ainda carregam um marketplace que usa campos de `relevance` que eles não reconhecem, porque campos desconhecidos em `relevance` e `relevance.signals` são ignorados no momento do carregamento. Um campo reconhecido cujo valor excede seu limite na [referência de campos](#field-reference) invalida toda a entrada do plugin, e os usuários não conseguem instalar esse plugin do marketplace até que você o corrija; `claude plugin validate` informa os mesmos limites.

83 

84<h3 id="relevance">

85 `relevance`

86</h3>

87 

88| Campo | Tipo | Descrição |

89| :- | :- | :- |

90| `topic` | string | Opcional. A frase que preenche "Working with *topic*?" na dica do spinner. O padrão é o nome do plugin com cada segmento separado por hífen em maiúscula. Máximo de 64 caracteres. |

91| `signals` | object | Matchers que determinam quando o plugin é relevante. O Claude Code sugere o plugin somente se pelo menos um sinal estiver definido. Consulte [`relevance.signals`](#relevance-signals). |

92 

93O `topic` costuma ser o nome do produto, por exemplo `Terraform`. Use um domínio como `design` quando o nome do plugin não soar natural como tópico.

94 

95<h3 id="relevance-signals">

96 `relevance.signals`

97</h3>

98 

99O objeto `signals` aceita os campos a seguir.

100 

101| Campo | Tipo | Descrição | Limite |

102| :- | :- | :- | :- |

103| `cwd` | array de strings | Padrões glob comparados com o diretório de trabalho da sessão. Consulte [correspondência do diretório de trabalho](#working-directory-matching). | 10 padrões de 256 caracteres cada |

104| `cli` | array de strings | Nomes de comandos de comandos do shell que o Claude executou nesta sessão, por exemplo `["terraform"]`. Correspondência exata. Consulte [correspondência de nomes de comandos](#command-name-matching). | 10 entradas de 64 caracteres cada |

105| `hosts` | array de strings | Nomes de host vistos em URLs `http://` ou `https://` em comandos Bash nesta sessão, por exemplo `["registry.terraform.io"]`. Apenas o nome de host simples em minúsculas: sem esquema, porta ou caminho. Correspondência exata sem distinção entre maiúsculas e minúsculas. | 20 entradas de 128 caracteres cada |

106| `filesRead` | array de strings | Padrões glob comparados com os caminhos dos arquivos que o Claude leu nesta sessão, por exemplo `["**/*.tf"]`. Normalizados com barras normais e sem distinção entre maiúsculas e minúsculas. | 10 padrões de 256 caracteres cada |

107| `manifestDeps` | array de objetos | Dependências declaradas em manifestos de pacotes que o Claude leu nesta sessão. Cada entrada é `{ "file": "...", "pattern": "..." }`, em que ambos os valores são expressões regulares. Consulte [correspondência de dependências de manifesto](#manifest-dependency-matching). | 10 entradas, cada valor com no máximo 256 caracteres. Arquivos de manifesto maiores que 512 KB são ignorados |

108 

109Os sinais `filesRead` e `manifestDeps` também correspondem a arquivos que o Claude escreveu ou editou nesta sessão e aos arquivos de memória `CLAUDE.md` do projeto carregados automaticamente.

110 

111<h4 id="working-directory-matching">

112 Correspondência do diretório de trabalho

113</h4>

114 

115`cwd` é o único sinal que pode corresponder no início da sessão, antes que o usuário envie a primeira mensagem.

116 

117O Claude Code compara cada padrão `cwd` da seguinte forma:

118 

119* O padrão é comparado com o diretório de trabalho como caminho absoluto. Quando a sessão está dentro de um repositório git, ele também é comparado com o caminho do diretório de trabalho relativo à raiz do repositório.

120* A correspondência é normalizada com barras normais e não diferencia maiúsculas de minúsculas.

121* Todo padrão corresponde ao próprio diretório e a tudo abaixo dele, então `infra`, `infra/` e `infra/**` se comportam de forma idêntica.

122 

123<h4 id="command-name-matching">

124 Correspondência de nomes de comandos

125</h4>

126 

127O Claude Code registra um nome de comando para cada comando do shell que o Claude executa: o primeiro token após quaisquer atribuições iniciais de variáveis de ambiente e `sudo`. Comandos compostos contribuem apenas com seu comando inicial, então `cd infra && terraform plan` registra `cd`, não `terraform`.

128 

129<h4 id="manifest-dependency-matching">

130 Correspondência de dependências de manifesto

131</h4>

132 

133Cada entrada `manifestDeps` combina duas strings de origem `RegExp` do JavaScript:

134 

135* `file`: comparada sem distinção entre maiúsculas e minúsculas com o caminho do arquivo de manifesto. O caminho normalmente é absoluto, então ancore o padrão no final em vez de no início. Os caminhos não são normalizados quanto ao separador para este sinal, então caminhos do Windows usam barras invertidas.

136* `pattern`: comparada com distinção entre maiúsculas e minúsculas com o conteúdo desse arquivo.

137 

138O exemplo a seguir usa `manifestDeps` para sugerir seu plugin quando o Claude tiver lido um `package.json` que depende do pacote npm do seu SDK, chamado `your-sdk` aqui.

139 

140```json theme={null}

141{

142 "name": "your-plugin",

143 "source": "./plugins/your-plugin",

144 "relevance": {

145 "signals": {

146 "manifestDeps": [

147 {

148 "file": "[/\\\\]package\\.json$",

149 "pattern": "\"your-sdk\"\\s*:"

150 }

151 ]

152 }

153 }

154}

155```

156 

157Neste exemplo, o padrão `file` usa `[/\\\\]` para corresponder tanto a separadores de caminho com barra normal quanto com barra invertida, e `\\.` para que o ponto seja literal. Em JSON, cada barra invertida na expressão regular é escrita duas vezes.

158 

159<h2 id="validate-your-marketplace">

160 Validar seu marketplace

161</h2>

162 

163No seu shell, execute `claude plugin validate` no diretório do seu marketplace para verificar o bloco `relevance` antes de publicar:

164 

165```bash theme={null}

166claude plugin validate ./my-marketplace

167```

168 

169O validador informa erros e avisos sobre o bloco `relevance`, incluindo estes:

170 

171* Informa chaves desconhecidas em `relevance` e `relevance.signals` como avisos

172* Sinaliza um valor de `relevance` que não é um objeto

173* Rejeita uma entrada `signals.hosts` que inclui esquema, porta ou caminho

174 

175Cada resultado é exibido com o caminho do campo a que se refere, e a saída termina com `Validation passed`, `Validation passed with warnings` ou `Validation failed`.

176 

177<h2 id="enable-suggestions-in-managed-settings">

178 Habilitar sugestões nas configurações gerenciadas

179</h2>

180 

181Os usuários não veem sugestões de um marketplace até que um administrador o adicione à allowlist nas [configurações gerenciadas](/docs/pt/plugins/org), mesmo quando seu `marketplace.json` declara `relevance`.

182 

183Para adicionar um marketplace à allowlist, edite suas configurações gerenciadas da seguinte forma:

184 

185* Adicione o nome do marketplace a `pluginSuggestionMarketplaces`.

186* Para qualquer marketplace diferente do marketplace oficial da Anthropic, declare também a origem do marketplace, seja como a entrada desse nome em [`extraKnownMarketplaces`](/docs/pt/plugins/org#require-a-marketplace-and-its-plugins) ou como uma entrada em [`strictKnownMarketplaces`](/docs/pt/plugins/org#allowlist-with-strictknownmarketplaces).

187 

188Em uma máquina onde o marketplace não está registrado, ou está registrado com o nome da allowlist a partir de uma origem diferente, nenhuma sugestão dele aparece. A verificação de origem impede que uma origem não relacionada se registre com um nome da allowlist para ter seus plugins sugeridos em toda a sua organização.

189 

190O `managed-settings.json` a seguir registra um marketplace da organização a partir de um repositório do GitHub e habilita suas sugestões:

191 

192```json theme={null}

193{

194 "extraKnownMarketplaces": {

195 "your-marketplace": {

196 "source": {

197 "source": "github",

198 "repo": "your-org/your-marketplace"

199 }

200 }

201 },

202 "pluginSuggestionMarketplaces": ["your-marketplace"]

203}

204```

205 

206O nome do marketplace oficial só pode ser registrado a partir da origem oficial da Anthropic, então ele não precisa de declaração de origem. Para o marketplace oficial, adicione apenas o nome à allowlist:

207 

208```json theme={null}

209{

210 "pluginSuggestionMarketplaces": ["claude-plugins-official"]

211}

212```

213 

214<h2 id="preview-what-the-user-sees">

215 Visualizar o que o usuário vê

216</h2>

217 

218Quando um sinal `relevance` de um plugin corresponde durante uma sessão, a dica abaixo do spinner diz:

219 

220```text theme={null}

221Working with Terraform? Install the terraform-helpers plugin:

222/plugin install terraform-helpers@your-marketplace

223```

224 

225Quando um sinal `cwd` corresponde no início da sessão, a notificação de uma linha diz:

226 

227```text theme={null}

228plugin suggestion: terraform-helpers@your-marketplace · /plugin

229```

230 

231Na aba Discover do `/plugin`, o plugin é fixado acima dos outros resultados com uma anotação que nomeia o sinal correspondente, como `suggested for this directory` ou `suggested for terraform commands`.

232 

233O Claude Code limita a frequência com que sugere um determinado plugin:

234 

235* A sugestão aparece no máximo uma vez a cada três sessões, considerando a dica do spinner e a notificação de início de sessão em conjunto.

236* A notificação de início de sessão deixa de aparecer quando a dica do spinner e a notificação tiverem mostrado o plugin um total combinado de duas vezes.

237* Nem a dica do spinner nem a notificação de início de sessão se repetem depois que o plugin é instalado.

238* A aba Discover fixa o plugin na primeira vez que o usuário abre a aba enquanto os sinais do plugin correspondem. O Claude Code registra isso em `~/.claude.json`, então, em todas as vezes posteriores em que o usuário abrir `/plugin` nessa máquina, o plugin aparece na ordem normal.

239 

240<h2 id="see-also">

241 Veja também

242</h2>

243 

244* [Hospedar um marketplace](/docs/pt/plugins/host-marketplace): execute o marketplace que hospeda seus plugins

245* [Referência do marketplace](/docs/pt/plugins/marketplace-reference#plugin-entries): todos os campos que uma entrada de plugin aceita

246* [Recomendar seu plugin a partir da sua CLI](/docs/pt/plugins/cli-hints): solicite aos usuários a partir da sua própria CLI em vez de a partir dos sinais de sessão do Claude Code

247* [Gerenciar plugins para sua organização](/docs/pt/plugins/org): `extraKnownMarketplaces`, `strictKnownMarketplaces` e as demais chaves de política de plugins

Details

37 37 

38As [regras de permissão](/docs/pt/permissions) e [sandbox](/docs/pt/sandboxing) do Claude Code cobrem as chamadas de ferramenta que Claude faz, não o código que um plugin executa por si só:38As [regras de permissão](/docs/pt/permissions) e [sandbox](/docs/pt/sandboxing) do Claude Code cobrem as chamadas de ferramenta que Claude faz, não o código que um plugin executa por si só:

39 39 

40* **Hooks e processos de servidor**: command hooks executam comandos shell com suas permissões completas de usuário. Claude Code executa hooks e servidores MCP fora da sandbox.40* **Hooks e processos de servidor**: command hooks executam comandos shell com suas permissões completas de usuário. Claude Code executa hooks, servidores MCP e os processos que um [mod](/docs/pt/plugins/mods/overview#what-a-mod-can-reach) inicia fora do sandbox.

41* **Chamadas de ferramenta do Claude**: uma chamada para uma das ferramentas MCP do plugin e um comando Bash que executa um executável do `bin/` do plugin são chamadas de ferramenta, portanto suas regras de permissão se aplicam a elas. Para o que um mod pode fazer em uma chamada de ferramenta, veja [Decida se confia em um mod](/docs/pt/plugins/mods/overview#decide-whether-to-trust-a-mod).41* **Chamadas de ferramenta do Claude**: uma chamada para uma das ferramentas MCP do plugin e um comando Bash que executa um executável do `bin/` do plugin são chamadas de ferramenta, portanto suas regras de permissão se aplicam a elas. Para o que um mod pode fazer em uma chamada de ferramenta, veja [Decida se confia em um mod](/docs/pt/plugins/mods/overview#decide-whether-to-trust-a-mod).

42 42 

43Instalar um plugin também o habilita, a menos que seu manifesto ou entrada de marketplace defina [`defaultEnabled: false`](/docs/pt/plugins/install#choose-an-install-scope) e você não o tenha habilitado você mesmo.43Instalar um plugin também o habilita, a menos que seu manifesto ou entrada de marketplace defina [`defaultEnabled: false`](/docs/pt/plugins/install#choose-an-install-scope) e você não o tenha habilitado você mesmo.

Details

460* **Você publica o plugin**: recompute o digest do arquivo exato que a URL serve e atualize o `sha256` na entrada do marketplace. Use `shasum -a 256 my-plugin.zip`, ou `Get-FileHash -Algorithm SHA256 my-plugin.zip` no PowerShell460* **Você publica o plugin**: recompute o digest do arquivo exato que a URL serve e atualize o `sha256` na entrada do marketplace. Use `shasum -a 256 my-plugin.zip`, ou `Get-FileHash -Algorithm SHA256 my-plugin.zip` no PowerShell

461* **Você instala o plugin**: execute `/plugin marketplace update <name>` em uma sessão para atualizar o catálogo caso a entrada tenha sido corrigida, depois tente novamente a instalação. Se os digests ainda discordam após a atualização, peça ao proprietário do marketplace qual arquivo eles fixaram antes de instalar461* **Você instala o plugin**: execute `/plugin marketplace update <name>` em uma sessão para atualizar o catálogo caso a entrada tenha sido corrigida, depois tente novamente a instalação. Se os digests ainda discordam após a atualização, peça ao proprietário do marketplace qual arquivo eles fixaram antes de instalar

462 462 

463<h3 id="an-npm-plugin-source-must-name-a-registry-package">

464 `An npm plugin source must name a registry package`

465</h3>

466 

467Um plugin cuja entrada do marketplace usa uma [fonte `npm`](/docs/pt/plugins/marketplace-reference#npm-plugin-source) falhou ao instalar, atualizar ou carregar, e a mensagem inclui esta frase. Claude Code verificou o valor `package` da entrada antes de buscar qualquer coisa e o recusou. A mensagem nomeia o valor e o motivo:

468 

469```text theme={null}

470"github:acme/formatter" was not installed: it is not an http or https link. An npm plugin source must name a registry package (name or name@version) or link to a tarball file. For a plugin in a git repository, use a "github", "url" or "git-subdir" source.

471```

472 

473O proprietário do marketplace tem que alterar a entrada:

474 

475* **Se é você**: altere `package` para um valor que a [referência da fonte de plugin npm](/docs/pt/plugins/marketplace-reference#npm-plugin-source) aceita, ou mude a entrada para uma fonte `github`, `url` ou `git-subdir`

476* **Se não é você**: relate a mensagem ao proprietário do marketplace

477 

463<h3 id="marketplace-is-registered-from-an-untrusted-source">478<h3 id="marketplace-is-registered-from-an-untrusted-source">

464 `Marketplace "<name>" is registered from an untrusted source`479 `Marketplace "<name>" is registered from an untrusted source`

465</h3>480</h3>

Details

220 220 

221Esses comandos funcionam por cerca de quatro horas após o servidor parar. Depois disso, execute `claude remote-control` para iniciar uma nova sessão. Se você arquivou uma sessão enquanto isso, `--continue` e `--session-id` a desarchivam no Claude Code v2.1.228 ou posterior.221Esses comandos funcionam por cerca de quatro horas após o servidor parar. Depois disso, execute `claude remote-control` para iniciar uma nova sessão. Se você arquivou uma sessão enquanto isso, `--continue` e `--session-id` a desarchivam no Claude Code v2.1.228 ou posterior.

222 222 

223Para recuperar uma sessão que você iniciou com `claude --remote-control` ou `/remote-control`, retome a conversa com `claude --continue` ou `claude --resume`. Se Remote Control não se reconectar, consulte [Não foi possível reconectar à sua sessão de Remote Control](#couldnt-reconnect-to-your-remote-control-session).223Para recuperar uma sessão que você iniciou com `claude --remote-control` ou `/remote-control`, retome a conversa com `claude --continue` ou `claude --resume`. Para o modo de permissão em que a conversa retomada começa, consulte [modo de permissão ao retomar](/docs/pt/sessions#permission-mode-on-resume). Se Remote Control não se reconectar, consulte [Não foi possível reconectar à sua sessão de Remote Control](#couldnt-reconnect-to-your-remote-control-session).

224 224 

225Se você retomar a conversa em um segundo terminal enquanto o primeiro ainda tem Remote Control ativado, Claude Code imprime um aviso `Remote Control not started here` no segundo terminal e deixa Remote Control desativado lá em vez de tirar a sessão do primeiro. Execute `/remote-control` no segundo terminal para mover Remote Control para ele.225Se você retomar a conversa em um segundo terminal enquanto o primeiro ainda tem Remote Control ativado, Claude Code imprime um aviso `Remote Control not started here` no segundo terminal e deixa Remote Control desativado lá em vez de tirar a sessão do primeiro. Execute `/remote-control` no segundo terminal para mover Remote Control para ele.

226 226 

Details

107 107 

108* Seu diretório de projeto.108* Seu diretório de projeto.

109* Caminhos de configuração do Claude Code `~/.claude` e `~/.claude.json`.109* Caminhos de configuração do Claude Code `~/.claude` e `~/.claude.json`.

110* `/tmp`, onde o Claude Code escreve arquivos de runtime.110* O diretório onde o Claude Code escreve arquivos de runtime. A menos que você defina [`CLAUDE_CODE_TMPDIR`](/docs/pt/env-vars), esse diretório é:

111 * **Linux e WSL2**: `/tmp`

112 * **macOS**: `/private/tmp`. `/tmp` é um link simbólico para esse diretório, e o Seatbelt verifica o caminho resolvido.

111 113 

112Permita os domínios de rede que sua sessão precisa:114Permita os domínios de rede que sua sessão precisa:

113 115 

sandboxing.md +1 −0

Details

802* **Computer use**: quando Claude abre aplicativos e controla sua tela, ele é executado em seu desktop real em vez de em um ambiente isolado. Prompts de permissão por aplicativo controlam cada aplicativo. Consulte [computer use in the CLI](/docs/pt/computer-use) ou [computer use in Desktop](/docs/pt/desktop#let-claude-use-your-computer).802* **Computer use**: quando Claude abre aplicativos e controla sua tela, ele é executado em seu desktop real em vez de em um ambiente isolado. Prompts de permissão por aplicativo controlam cada aplicativo. Consulte [computer use in the CLI](/docs/pt/computer-use) ou [computer use in Desktop](/docs/pt/desktop#let-claude-use-your-computer).

803* **Variáveis de ambiente**: comandos Bash em sandbox herdam o ambiente do processo pai por padrão, incluindo quaisquer credenciais definidas lá. Use [`sandbox.credentials`](#protect-credentials) para remover ou mascarar variáveis específicas para comandos em sandbox, ou defina [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/docs/pt/env-vars) para remover credenciais de todos os subprocessos.803* **Variáveis de ambiente**: comandos Bash em sandbox herdam o ambiente do processo pai por padrão, incluindo quaisquer credenciais definidas lá. Use [`sandbox.credentials`](#protect-credentials) para remover ou mascarar variáveis específicas para comandos em sandbox, ou defina [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/docs/pt/env-vars) para remover credenciais de todos os subprocessos.

804* **Subagents**: [subagents](/docs/pt/sub-agents) são executados no mesmo processo que a sessão pai e usam a mesma configuração de sandbox. Comandos Bash dentro de um subagent são colocados em sandbox quando sandboxing está habilitado na sessão pai.804* **Subagents**: [subagents](/docs/pt/sub-agents) são executados no mesmo processo que a sessão pai e usam a mesma configuração de sandbox. Comandos Bash dentro de um subagent são colocados em sandbox quando sandboxing está habilitado na sessão pai.

805* **Mods**: um [mod](/docs/pt/plugins/mods/overview) é um plugin que executa seu próprio código dentro do Claude Code, e um processo iniciado por um mod é executado fora do sandbox. Consulte [O que um mod pode alcançar](/docs/pt/plugins/mods/overview#what-a-mod-can-reach).

805 806 

806<Warning>807<Warning>

807 Sandboxing eficaz requer isolamento tanto de sistema de arquivos quanto de rede. Sem isolamento de rede, um agente comprometido poderia exfiltrar arquivos sensíveis como chaves SSH. Sem isolamento de sistema de arquivos, seja de uma política permissiva ou de [desabilitar a camada de sistema de arquivos](#disable-filesystem-isolation), um agente comprometido poderia fazer backdoor de recursos do sistema para obter acesso à rede. Quando você amplia os padrões, verifique que um caminho `allowWrite`, uma entrada `allowedDomains` ampla ou uma exceção `excludedCommands` não desfaz uma restrição no outro lado.808 Sandboxing eficaz requer isolamento tanto de sistema de arquivos quanto de rede. Sem isolamento de rede, um agente comprometido poderia exfiltrar arquivos sensíveis como chaves SSH. Sem isolamento de sistema de arquivos, seja de uma política permissiva ou de [desabilitar a camada de sistema de arquivos](#disable-filesystem-isolation), um agente comprometido poderia fazer backdoor de recursos do sistema para obter acesso à rede. Quando você amplia os padrões, verifique que um caminho `allowWrite`, uma entrada `allowedDomains` ampla ou uma exceção `excludedCommands` não desfaz uma restrição no outro lado.

Details

61 61 

62Não feche ou reutilize o descritor de arquivo 3 no wrapper. Redirecionar stdout e stderr do filho é aceitável.62Não feche ou reutilize o descritor de arquivo 3 no wrapper. Redirecionar stdout e stderr do filho é aceitável.

63 63 

64<h3 id="pass-the-system-prompt-flags-through">

65 Pass the system prompt flags through

66</h3>

67 

68O system prompt e o system prompt anexado que o plano de controle da Anthropic envia para uma sessão chegam ao seu wrapper como caminhos de arquivo, não como texto inline. O runner grava cada prompt em um arquivo no diretório de configuração da sessão, `CLAUDE_CONFIG_DIR`, e passa seu caminho nos argumentos que seu wrapper recebe, como [`--system-prompt-file <path>` ou `--append-system-prompt-file <path>`](/docs/pt/cli-reference#system-prompt-flags).

69 

70Runners no Claude Code v2.1.281 ou posterior entregam os prompts como arquivos. Antes da v2.1.281, o runner os passava como `--system-prompt <text>` e `--append-system-prompt <text>`.

71 

72No seu script wrapper ou [hook `command`](#command), trate essas flags da seguinte forma:

73 

74* **Repasse-as**: termine o wrapper com `exec "$CLAUDE_RUNNER_CLAUDE_BIN" "$@"`, que encaminha as flags de arquivo junto com todos os outros argumentos. Não as descarte nem as reescreva. Se uma sessão perder uma flag de arquivo de prompt, ela será executada sem as instruções que o plano de controle enviou para ela.

75* **Em um runner na v2.1.281 ou posterior, uma flag de arquivo que você acrescenta substitui a do servidor, nunca se soma a ela**: cada flag de arquivo de prompt aceita um único valor e o Claude Code mantém a última ocorrência, então se você acrescentar `--append-system-prompt-file <path>` depois de `"$@"`, o conteúdo do seu arquivo substitui as instruções anexadas do servidor. Para adicionar instruções além das do servidor, coloque-as no `CLAUDE.md` da imagem do runner, que o runner [insere na configuração de nível de usuário de cada sessão](#how-each-session’s-config-is-assembled).

76 

64<h3 id="provision-credentials-scoped-to-the-session-creator">77<h3 id="provision-credentials-scoped-to-the-session-creator">

65 Provision credentials scoped to the session creator78 Provision credentials scoped to the session creator

66</h3>79</h3>


447* **Quem os autora**: o plano de controle popula os scripts de constantes fixas em sua própria implantação, nunca de entrada por sessão ou de terceiros.460* **Quem os autora**: o plano de controle popula os scripts de constantes fixas em sua própria implantação, nunca de entrada por sessão ou de terceiros.

448* **O que ainda os governa**: hooks entregues através de `--settings` entram na configuração de hook mesclada ordinária, não na camada gerenciada, então suas configurações gerenciadas ainda se aplicam. `disableAllHooks` os desabilita, e eles não estão entre as categorias que [`allowManagedHooksOnly`](/docs/pt/settings-reference#allowmanagedhooksonly) mantém carregadas.461* **O que ainda os governa**: hooks entregues através de `--settings` entram na configuração de hook mesclada ordinária, não na camada gerenciada, então suas configurações gerenciadas ainda se aplicam. `disableAllHooks` os desabilita, e eles não estão entre as categorias que [`allowManagedHooksOnly`](/docs/pt/settings-reference#allowmanagedhooksonly) mantém carregadas.

449 462 

463Fora das sessões do [Claude Tag](https://claude.com/docs/claude-tag/overview), uma sessão em um ambiente auto-hospedado é executada com a [memória automática](/docs/pt/memory#auto-memory) desativada por padrão. Para instruções que devem persistir entre sessões, use o `CLAUDE.md` em sua imagem do runner ou no repositório.

464 

465O snapshot do `~/.claude/` do host feito pelo runner deixa de fora o diretório `projects/`. O local de armazenamento padrão da memória automática fica sob esse diretório. Se você colocar arquivos de memória lá, o runner não os semeia nas sessões, e eles não ativam a memória automática.

466 

450<h3 id="repository-committed-permission-rules">467<h3 id="repository-committed-permission-rules">

451 Repository-committed permission rules468 Repository-committed permission rules

452</h3>469</h3>

Details

1958* Uma substituição de comando, um subshell ou um bloco de fluxo de controle como `if` ou `for`1958* Uma substituição de comando, um subshell ou um bloco de fluxo de controle como `if` ou `for`

1959* Um redirecionamento, como `docker build . > build.log`, outro que não apenas duplica um descritor de arquivo, como `2>&1` faz1959* Um redirecionamento, como `docker build . > build.log`, outro que não apenas duplica um descritor de arquivo, como `2>&1` faz

1960* Um nome de comando que vem de uma variável1960* Um nome de comando que vem de uma variável

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

1961 1962 

1962Por exemplo, `cd build && docker compose up` permanece em sandbox sob uma entrada `docker *`, e adicionar uma entrada `cd` não muda isso.1963Por exemplo, `cd build && docker compose up` permanece em sandbox sob uma entrada `docker *`, e adicionar uma entrada `cd` não muda isso. Sob uma entrada `git *`, `git clone <url> vendor/lib` é executado fora do sandbox, mas `git clone <url> ~/tools` permanece em sandbox. Um clone escreve uma árvore inteira de arquivos, possivelmente executáveis, onde quer que seu caminho de destino aponte.

1963 1964 

1964Comandos excluídos ainda passam pelo fluxo de permissão regular. Exclusão é uma conveniência, não uma barreira de segurança: prefira [`filesystem.allowWrite`](#sandbox-filesystem-allowwrite) quando uma ferramenta só precisa escrever em algum lugar específico. Claude Code mescla entradas em todos os escopos de configurações que a sessão carrega, e não há bloqueio somente gerenciado para essa lista, então mantenha uma lista gerenciada estreita.1965Comandos excluídos ainda passam pelo fluxo de permissão regular. Exclusão é uma conveniência, não uma barreira de segurança: prefira [`filesystem.allowWrite`](#sandbox-filesystem-allowwrite) quando uma ferramenta só precisa escrever em algum lugar específico. Claude Code mescla entradas em todos os escopos de configurações que a sessão carrega, e não há bloqueio somente gerenciado para essa lista, então mantenha uma lista gerenciada estreita.

1965 1966 


4281}4282}

4282```4283```

4283 4284 

4284A correspondência de nome de host não diferencia maiúsculas de minúsculas e trata `hooks.example.com.`, com o ponto final que marca um nome de domínio totalmente qualificado, da mesma forma que `hooks.example.com`, que é como o DNS os trata. A lista de permissões se aplica a hooks de todas as fontes, incluindo configurações gerenciadas.4285A correspondência de nome de host não diferencia maiúsculas de minúsculas e trata `hooks.example.com.`, com o ponto final que marca um nome de domínio totalmente qualificado, da mesma forma que `hooks.example.com`, que é como o DNS os trata. A allowlist se aplica a hooks de todas as fontes, incluindo configurações gerenciadas.

4285 4286 

4286<h3 id="allowmanagedhooksonly">4287<h3 id="allowmanagedhooksonly">

4287 `allowManagedHooksOnly`4288 `allowManagedHooksOnly`


4339* **Em configurações gerenciadas**: Claude Code desativa todos os hooks configurados, incluindo os gerenciados, e continua executando os hooks que o [Agent SDK](/docs/pt/agent-sdk/overview) registra em processo4340* **Em configurações gerenciadas**: Claude Code desativa todos os hooks configurados, incluindo os gerenciados, e continua executando os hooks que o [Agent SDK](/docs/pt/agent-sdk/overview) registra em processo

4340* **Em qualquer outro arquivo de configurações**: Claude Code desativa hooks de usuário, projeto, local e plugin; hooks gerenciados, hooks do Agent SDK e hooks de plugins forçadamente ativados em [`enabledPlugins`](#enabledplugins) gerenciado continuam sendo executados4341* **Em qualquer outro arquivo de configurações**: Claude Code desativa hooks de usuário, projeto, local e plugin; hooks gerenciados, hooks do Agent SDK e hooks de plugins forçadamente ativados em [`enabledPlugins`](#enabledplugins) gerenciado continuam sendo executados

4341 4342 

4343A chave também interrompe [mods](/docs/pt/plugins/mods/overview), que são plugins cujo código registra hooks:

4344 

4345* **Em configurações gerenciadas**: os mods em todos os plugins instalados são interrompidos, incluindo os da sua organização

4346* **Em qualquer outro arquivo de configurações**: os mods que você instalou são interrompidos, e os [mods da sua organização](/docs/pt/plugins/mods/admin#install-your-organizations-mods) continuam sendo executados

4347 

4348Mods integrados ao Claude Code continuam sendo executados em ambos os casos. Cada um tem [seu próprio controle](/docs/pt/plugins/mods/overview#mods-built-into-claude-code).

4349 

4342Manter hooks do Agent SDK em execução quando configurações gerenciadas definem essa chave requer Claude Code v2.1.242 ou posterior.4350Manter hooks do Agent SDK em execução quando configurações gerenciadas definem essa chave requer Claude Code v2.1.242 ou posterior.

4343 4351 

4344O comando [`/goal`](/docs/pt/goal) não pode ser executado enquanto hooks estão desativados, e o menu `/hooks` mostra um aviso em vez de seus hooks.4352O comando [`/goal`](/docs/pt/goal) não pode ser executado enquanto hooks estão desativados, e o menu `/hooks` mostra um aviso em vez de seus hooks.


4441}4449}

4442```4450```

4443 4451 

4444A lista de permissões se aplica a hooks de todas as fontes, incluindo configurações gerenciadas.4452A allowlist se aplica a hooks de todas as fontes, incluindo configurações gerenciadas.

4445 4453 

4446<h3 id="workflowkeywordtriggerenabled">4454<h3 id="workflowkeywordtriggerenabled">

4447 `workflowKeywordTriggerEnabled`4455 `workflowKeywordTriggerEnabled`


5930 `allowedProviders`5938 `allowedProviders`

5931</h3>5939</h3>

5932 5940 

5933Liste os serviços através dos quais uma máquina pode acessar Claude, como a API Anthropic, Amazon Bedrock ou um gateway LLM. Uma sessão em um provedor que não está listado é recusada na inicialização, no login e quando ele próximo contata a API, portanto mudar para um provedor não listado no meio da sessão também é recusado. A [mensagem de recusa](/docs/pt/errors#managed-settings-dont-allow-this-api-provider) nomeia o que selecionou o provedor e os passos para continuar. Requer Claude Code v2.1.285 ou posterior.5941Liste os serviços através dos quais uma máquina pode acessar Claude, como a API Anthropic, Amazon Bedrock ou um gateway de LLM. Uma sessão em um provedor que não está listado é recusada na inicialização, no login e quando ele próximo contata a API, portanto mudar para um provedor não listado no meio da sessão também é recusado. A [mensagem de recusa](/docs/pt/errors#managed-settings-dont-allow-this-api-provider) nomeia o que selecionou o provedor e os passos para continuar. Requer Claude Code v2.1.285 ou posterior.

5934 5942 

5935* **Escopo**: [`Gerenciado`](#scopes). Uma lista que as fontes de admin próprias da máquina definem, políticas MDM e arquivos de configurações gerenciadas, continua se aplicando quando configurações gerenciadas por servidor também entregam uma: uma sessão pode então usar apenas os provedores em ambas as listas, portanto uma lista gerenciada por servidor pode estreitar o que a máquina permite mas nunca ampliá-lo. Qual `allowedProviders` da fonte da máquina conta segue [como Claude Code combina fontes gerenciadas](/docs/pt/managed-settings#how-claude-code-combines-managed-sources). Uma lista entregue apenas através de configurações gerenciadas por servidor alcança apenas as sessões que [buscam configurações gerenciadas por servidor](/docs/pt/server-managed-settings#platform-availability).5943* **Escopo**: [`Gerenciado`](#scopes). Uma lista que as fontes de admin próprias da máquina definem, políticas MDM e arquivos de configurações gerenciadas, continua se aplicando quando configurações gerenciadas por servidor também entregam uma: uma sessão pode então usar apenas os provedores em ambas as listas, portanto uma lista gerenciada por servidor pode estreitar o que a máquina permite mas nunca ampliá-lo. Qual `allowedProviders` da fonte da máquina conta segue [como Claude Code combina fontes gerenciadas](/docs/pt/managed-settings#how-claude-code-combines-managed-sources). Uma lista entregue apenas através de configurações gerenciadas por servidor alcança apenas as sessões que [buscam configurações gerenciadas por servidor](/docs/pt/server-managed-settings#platform-availability).

5936* **Tipo**: array de strings, cada uma de:5944* **Tipo**: array de strings, cada uma de:

5937 * `"anthropic"`: a API Anthropic no host próprio da Anthropic, através de um login claude.ai ou Console ou uma chave API. Emparelhe-a com [`forceLoginMethod`](#forceloginmethod) ou [`forceLoginOrgUUID`](#forceloginorguuid) para também restringir o login5945 * `"anthropic"`: a API Anthropic no host próprio da Anthropic, através de um login claude.ai ou Console ou uma chave de API. Emparelhe-a com [`forceLoginMethod`](#forceloginmethod) ou [`forceLoginOrgUUID`](#forceloginorguuid) para também restringir o login

5938 * `"bedrock"`: [Amazon Bedrock](/docs/pt/amazon-bedrock)5946 * `"bedrock"`: [Amazon Bedrock](/docs/pt/amazon-bedrock)

5939 * `"vertex"`: [Plataforma de Agente do Google Cloud](/docs/pt/google-vertex-ai), anteriormente Vertex AI5947 * `"vertex"`: [Plataforma de Agente do Google Cloud](/docs/pt/google-vertex-ai), anteriormente Vertex AI

5940 * `"foundry"`: [Microsoft Foundry](/docs/pt/microsoft-foundry)5948 * `"foundry"`: [Microsoft Foundry](/docs/pt/microsoft-foundry)

5941 * `"anthropicAws"`: [Claude Platform on AWS](/docs/pt/claude-platform-on-aws)5949 * `"anthropicAws"`: [Claude Platform on AWS](/docs/pt/claude-platform-on-aws)

5942 * `"mantle"`: o endpoint [Mantle](/docs/pt/amazon-bedrock#use-the-mantle-endpoint) do Amazon Bedrock. Uma sessão que [executa Mantle junto com a API Invoke](/docs/pt/amazon-bedrock#run-mantle-alongside-the-invoke-api) usa ambos os provedores, portanto liste `"bedrock"` e `"mantle"` juntos para ela5950 * `"mantle"`: o endpoint [Mantle](/docs/pt/amazon-bedrock#use-the-mantle-endpoint) do Amazon Bedrock. Uma sessão que [executa Mantle junto com a API Invoke](/docs/pt/amazon-bedrock#run-mantle-alongside-the-invoke-api) usa ambos os provedores, portanto liste `"bedrock"` e `"mantle"` juntos para ela

5943 * `"customEndpoint"`: a API Anthropic ou a API de um provedor de nuvem enviada para outro host, como um [gateway LLM](/docs/pt/llm-gateway) nomeado por `ANTHROPIC_BASE_URL`, uma variável `ANTHROPIC_*_BASE_URL` do provedor, ou um valor `ANTHROPIC_FOUNDRY_RESOURCE` que não é um nome de recurso simples. Claude Code o admite apenas para o valor exato que um bloco [`env`](#env) gerenciado fixa5951 * `"customEndpoint"`: a API Anthropic ou a API de um provedor de nuvem enviada para outro host, como um [gateway de LLM](/docs/pt/llm-gateway) nomeado por `ANTHROPIC_BASE_URL`, uma variável `ANTHROPIC_*_BASE_URL` do provedor, ou um valor `ANTHROPIC_FOUNDRY_RESOURCE` que não é um nome de recurso simples. Claude Code o admite apenas para o valor exato que um bloco [`env`](#env) gerenciado fixa

5944 * `"gateway"`: um login de [gateway na nuvem](/docs/pt/claude-apps-gateway)5952 * `"gateway"`: um login de [gateway na nuvem](/docs/pt/claude-apps-gateway)

5945* **Padrão**: não definido, portanto qualquer provedor pode ser usado5953* **Padrão**: não definido, portanto qualquer provedor pode ser usado

5946 5954 


5975 `apiKeyHelper`5983 `apiKeyHelper`

5976</h3>5984</h3>

5977 5985 

5978Execute seu próprio comando para produzir a credencial que Claude Code envia com solicitações de modelo. Claude Code executa o comando através do shell do sistema, `/bin/sh` no macOS e Linux e `cmd` no Windows, e envia sua saída como ambos os cabeçalhos `X-Api-Key` e `Authorization: Bearer`. Use-o para credenciais dinâmicas ou rotativas, como tokens de curta duração obtidos de um cofre.5986Execute seu próprio comando para produzir a credencial que Claude Code envia com requisições de modelo. Claude Code executa o comando através do shell do sistema, `/bin/sh` no macOS e Linux e `cmd` no Windows, e envia sua saída como ambos os cabeçalhos `X-Api-Key` e `Authorization: Bearer`. Use-o para credenciais dinâmicas ou rotativas, como tokens de curta duração obtidos de um cofre.

5979 5987 

5980* **Escopo**: [`Qualquer arquivo`](#scopes)5988* **Escopo**: [`Qualquer arquivo`](#scopes)

5981* **Tipo**: string, uma linha de comando do shell5989* **Tipo**: string, uma linha de comando do shell


5990Claude Code armazena em cache o valor e executa novamente o comando nestes casos:5998Claude Code armazena em cache o valor e executa novamente o comando nestes casos:

5991 5999 

5992* Após o tempo de vida do cache, cinco minutos por padrão ou o intervalo que você define com [`CLAUDE_CODE_API_KEY_HELPER_TTL_MS`](/docs/pt/env-vars).6000* Após o tempo de vida do cache, cinco minutos por padrão ou o intervalo que você define com [`CLAUDE_CODE_API_KEY_HELPER_TTL_MS`](/docs/pt/env-vars).

5993* Quando uma solicitação para a API Anthropic, diretamente ou através de um [gateway LLM](/docs/pt/llm-gateway), falha com `401` ou `403`.6001* Quando uma requisição para a API Anthropic, diretamente ou através de um [gateway de LLM](/docs/pt/llm-gateway), falha com `401` ou `403`.

5994* Antes de enviar uma solicitação para a API Anthropic, diretamente ou através de um gateway LLM, quando a saída em cache é um JWT que expirou após o auxiliar produzi-lo. Requer Claude Code v2.1.246 ou posterior.6002* Antes de enviar uma requisição para a API Anthropic, diretamente ou através de um gateway de LLM, quando a saída em cache é um JWT que expirou após o auxiliar produzi-lo. Requer Claude Code v2.1.246 ou posterior.

5995 6003 

5996Os dois últimos casos se aplicam apenas quando a saída do auxiliar é a credencial que Claude Code envia e `ANTHROPIC_AUTH_TOKEN` não está definido.6004Os dois últimos casos se aplicam apenas quando a saída do auxiliar é a credencial que Claude Code envia e `ANTHROPIC_AUTH_TOKEN` não está definido.

5997 6005 


6003 6011 

6004Execute seu próprio comando, como `aws sso login`, para atualizar as credenciais em seu diretório `.aws` quando as que Claude Code tem para [Amazon Bedrock](/docs/pt/amazon-bedrock) deixarem de funcionar. Claude Code verifica as credenciais atuais em relação ao STS primeiro e executa o comando apenas quando essa verificação falha, depois lê o diretório `.aws` atualizado.6012Execute seu próprio comando, como `aws sso login`, para atualizar as credenciais em seu diretório `.aws` quando as que Claude Code tem para [Amazon Bedrock](/docs/pt/amazon-bedrock) deixarem de funcionar. Claude Code verifica as credenciais atuais em relação ao STS primeiro e executa o comando apenas quando essa verificação falha, depois lê o diretório `.aws` atualizado.

6005 6013 

6014Quando a verificação falha ao mesmo tempo em vários processos do Claude Code que usam o mesmo comando e as mesmas credenciais, como terminais ou janelas de IDE separados, um processo executa o comando e os demais aguardam essa execução em vez de iniciar a sua própria. Um processo que aguardou 60 segundos com uma requisição pendente executa o comando ele mesmo. Para desativar isso, defina [`CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK`](/docs/pt/env-vars) como `1`.

6015 

6006* **Escopo**: [`Qualquer arquivo`](#scopes)6016* **Escopo**: [`Qualquer arquivo`](#scopes)

6007* **Tipo**: string, uma linha de comando do shell6017* **Tipo**: string, uma linha de comando do shell

6008* **Padrão**: não definido, portanto Claude Code não atualiza credenciais AWS para você6018* **Padrão**: não definido, portanto Claude Code não atualiza credenciais AWS para você


6019 `awsCredentialExport`6029 `awsCredentialExport`

6020</h3>6030</h3>

6021 6031 

6022Execute seu próprio comando que imprime credenciais AWS como JSON, para que Claude Code possa chamar [Amazon Bedrock](/docs/pt/amazon-bedrock) com credenciais que não residem em seu diretório `.aws`. Claude Code aceita a forma de saída `aws sts` e a forma plana `aws configure export-credentials`, e limita as credenciais ao seu próprio cliente Bedrock, portanto os comandos do shell que Claude Code executa ainda veem suas credenciais ambientes.6032Execute seu próprio comando que imprime credenciais AWS como JSON, para que Claude Code possa chamar [Amazon Bedrock](/docs/pt/amazon-bedrock) com credenciais que não residem em seu diretório `.aws`. Claude Code aceita a forma de saída `aws sts` e a forma plana `aws configure export-credentials`, e limita as credenciais ao seu próprio cliente Bedrock, portanto os comandos do shell que Claude executa ainda veem suas credenciais ambientes.

6023 6033 

6024* **Escopo**: [`Qualquer arquivo`](#scopes)6034* **Escopo**: [`Qualquer arquivo`](#scopes)

6025* **Tipo**: string, uma linha de comando do shell6035* **Tipo**: string, uma linha de comando do shell


6054 6064 

6055Cada caminho de login de primeira parte aplica a restrição, incluindo a [extensão VS Code](/docs/pt/vs-code), o Agent SDK, `claude setup-token` e `/install-github-app`, exceto a tela de login interativa do terminal, acessada por `/login` ou onboarding de primeira execução, que pré-seleciona o método sem aplicá-lo. Antes da v2.1.212, apenas logins de terminal o aplicavam. Veja [Restringir login à sua organização](/docs/pt/authentication#restrict-login-to-your-organization) para como cada caminho de login, credenciais de ambiente e provedores de terceiros são tratados.6065Cada caminho de login de primeira parte aplica a restrição, incluindo a [extensão VS Code](/docs/pt/vs-code), o Agent SDK, `claude setup-token` e `/install-github-app`, exceto a tela de login interativa do terminal, acessada por `/login` ou onboarding de primeira execução, que pré-seleciona o método sem aplicá-lo. Antes da v2.1.212, apenas logins de terminal o aplicavam. Veja [Restringir login à sua organização](/docs/pt/authentication#restrict-login-to-your-organization) para como cada caminho de login, credenciais de ambiente e provedores de terceiros são tratados.

6056 6066 

6057Quando uma fonte gerenciada na máquina define `"gateway"`, Claude Code não usa um login restante, chave API ou credencial `apiKeyHelper`. Veja [A política do administrador requer um login de gateway na nuvem](/docs/pt/errors#administrator-policy-requires-a-cloud-gateway-sign-in) para a mensagem que cada um produz. Se você selecionar um provedor de nuvem através de `CLAUDE_CODE_USE_BEDROCK` ou uma variável de ambiente similar, a sessão não precisa do login do gateway. Antes da v2.1.261, Claude Code usava um login restante nessas máquinas.6067Quando uma fonte gerenciada na máquina define `"gateway"`, Claude Code não usa um login restante, chave de API ou credencial `apiKeyHelper`. Veja [A política do administrador requer um login de gateway na nuvem](/docs/pt/errors#administrator-policy-requires-a-cloud-gateway-sign-in) para a mensagem que cada um produz. Se você selecionar um provedor de nuvem através de `CLAUDE_CODE_USE_BEDROCK` ou uma variável de ambiente similar, a sessão não precisa do login do gateway. Antes da v2.1.261, Claude Code usava um login restante nessas máquinas.

6058 6068 

6059<h3 id="forcelogingatewayurl">6069<h3 id="forcelogingatewayurl">

6060 `forceLoginGatewayUrl`6070 `forceLoginGatewayUrl`


6062 6072 

6063Defina a URL do gateway à qual a tela `/login` Cloud gateway se conecta, para que as pessoas alcancem seu [gateway na nuvem](/docs/pt/claude-apps-gateway) sem digitar seu endereço. A tela não tem campo de URL: com esta chave definida, ela mostra a URL do seu gateway e se conecta quando a pessoa pressiona Enter; sem ela, diz a elas para entrar em contato com seu administrador de TI.6073Defina a URL do gateway à qual a tela `/login` Cloud gateway se conecta, para que as pessoas alcancem seu [gateway na nuvem](/docs/pt/claude-apps-gateway) sem digitar seu endereço. A tela não tem campo de URL: com esta chave definida, ela mostra a URL do seu gateway e se conecta quando a pessoa pressiona Enter; sem ela, diz a elas para entrar em contato com seu administrador de TI.

6064 6074 

6065Ou esta chave ou `forceLoginMethod: "gateway"` torna a máquina apenas gateway, exceto para sessões que selecionam um provedor de nuvem com `CLAUDE_CODE_USE_*`. `/login` então abre na tela Cloud gateway sem seletor de método de login. Veja [A política do administrador requer um login de gateway na nuvem](/docs/pt/errors#administrator-policy-requires-a-cloud-gateway-sign-in) para o que acontece com um login de primeira parte restante ou chave API. Defina ambas as chaves para que a tela se conecte em vez de mostrar um erro.6075Ou esta chave ou `forceLoginMethod: "gateway"` torna a máquina apenas gateway, exceto para sessões que selecionam um provedor de nuvem com `CLAUDE_CODE_USE_*`. `/login` então abre na tela Cloud gateway sem seletor de método de login. Veja [A política do administrador requer um login de gateway na nuvem](/docs/pt/errors#administrator-policy-requires-a-cloud-gateway-sign-in) para o que acontece com um login de primeira parte restante ou chave de API. Defina ambas as chaves para que a tela se conecte em vez de mostrar um erro.

6066 6076 

6067* **Escopo**: [`Gerenciado`](#scopes). Leia apenas de uma fonte na máquina: `managed-settings.json`, a plist do macOS ou registro HKLM do Windows, ou um auxiliar de política. Claude Code a ignora em configurações HKCU e gerenciadas por servidor.6077* **Escopo**: [`Gerenciado`](#scopes). Leia apenas de uma fonte na máquina: `managed-settings.json`, a plist do macOS ou registro HKLM do Windows, ou um auxiliar de política. Claude Code a ignora em configurações HKCU e gerenciadas por servidor.

6068* **Tipo**: string, uma URL completa incluindo o esquema6078* **Tipo**: string, uma URL completa incluindo o esquema


6080 `forceLoginOrgUUID`6090 `forceLoginOrgUUID`

6081</h3>6091</h3>

6082 6092 

6083De uma fonte gerenciada, exija que logins de contas claude.ai pertençam a uma organização Anthropic, fornecida como um único UUID, ou a qualquer uma de várias organizações, fornecidas como um array. De qualquer arquivo de configurações, Claude Code também usa um único UUID para pré-selecionar essa organização durante um login claude.ai ou Claude Console, e não pré-seleciona nada para um array. Se você definir a chave em qualquer arquivo de configurações, Claude Code também para de oferecer o [login Console sem chave](/docs/pt/authentication#sign-in-without-an-api-key) nas sessões às quais esse arquivo se aplica e cria uma chave API.6093De uma fonte gerenciada, exija que logins de contas claude.ai pertençam a uma organização Anthropic, fornecida como um único UUID, ou a qualquer uma de várias organizações, fornecidas como um array. De qualquer arquivo de configurações, Claude Code também usa um único UUID para pré-selecionar essa organização durante um login claude.ai ou Claude Console, e não pré-seleciona nada para um array. Se você definir a chave em qualquer arquivo de configurações, Claude Code também para de oferecer o [login Console sem chave](/docs/pt/authentication#sign-in-without-an-api-key) nas sessões às quais esse arquivo se aplica e cria uma chave de API.

6084 6094 

6085* **Escopo**: [`Qualquer arquivo`](#scopes). Apenas uma fonte gerenciada aplica a restrição; um único UUID em qualquer outro arquivo de configurações pré-seleciona a organização durante o login sem restringi-la.6095* **Escopo**: [`Qualquer arquivo`](#scopes). Apenas uma fonte gerenciada aplica a restrição; um único UUID em qualquer outro arquivo de configurações pré-seleciona a organização durante o login sem restringi-la.

6086* **Tipo**: string, um UUID, ou array de strings, vários UUIDs6096* **Tipo**: string, um UUID, ou array de strings, vários UUIDs


6124 `gcpAuthRefresh`6134 `gcpAuthRefresh`

6125</h3>6135</h3>

6126 6136 

6127Execute seu próprio comando para atualizar as Credenciais Padrão de Aplicativo do Google Cloud quando Claude Code descobrir que expiraram ou não podem ser carregadas, para que as solicitações da [Plataforma de Agente do Google Cloud](/docs/pt/google-vertex-ai) continuem funcionando sem você se autenticar novamente manualmente.6137Execute seu próprio comando para atualizar as Credenciais Padrão de Aplicativo do Google Cloud quando Claude Code descobrir que expiraram ou não podem ser carregadas, para que as requisições da [Plataforma de Agente do Google Cloud](/docs/pt/google-vertex-ai) continuem funcionando sem você se autenticar novamente manualmente.

6138 

6139Quando vários processos do Claude Code que usam o mesmo comando e as mesmas credenciais, como terminais ou janelas de IDE separados, descobrem ao mesmo tempo que elas expiraram, um processo executa o comando e os demais aguardam essa execução em vez de iniciar a sua própria. Um processo que aguardou 60 segundos com uma requisição pendente executa o comando ele mesmo. Para desativar isso, defina [`CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK`](/docs/pt/env-vars) como `1`.

6128 6140 

6129* **Escopo**: [`Qualquer arquivo`](#scopes)6141* **Escopo**: [`Qualquer arquivo`](#scopes)

6130* **Tipo**: string, uma linha de comando do shell6142* **Tipo**: string, uma linha de comando do shell

Details

22| `curl: (23)` ou `curl: (56) Failure writing output to destination` | [Verifique a conectividade ou use um instalador alternativo](#curl-56-failure-writing-output-to-destination) |22| `curl: (23)` ou `curl: (56) Failure writing output to destination` | [Verifique a conectividade ou use um instalador alternativo](#curl-56-failure-writing-output-to-destination) |

23| `Killed` durante a instalação no Linux, ou `Installation was killed before it could finish (exit code 137)` | [Libere memória ou adicione espaço de troca](#install-killed-on-low-memory-linux-servers) |23| `Killed` durante a instalação no Linux, ou `Installation was killed before it could finish (exit code 137)` | [Libere memória ou adicione espaço de troca](#install-killed-on-low-memory-linux-servers) |

24| `Raw mode is not supported` durante a instalação | [Execute novamente o instalador](#raw-mode-is-not-supported-during-install) |24| `Raw mode is not supported` durante a instalação | [Execute novamente o instalador](#raw-mode-is-not-supported-during-install) |

25| `EACCES: permission denied` durante a instalação | [Corrija as permissões do diretório de instalação](#permission-errors-during-installation) |

25| `TLS connect error` ou `SSL/TLS secure channel` | [Atualize os certificados CA](#tls-or-ssl-connection-errors) |26| `TLS connect error` ou `SSL/TLS secure channel` | [Atualize os certificados CA](#tls-or-ssl-connection-errors) |

26| `Failed to fetch version` ou não consegue alcançar o servidor de download | [Verifique as configurações de rede e proxy](#check-network-connectivity) |27| `Failed to fetch version` ou não consegue alcançar o servidor de download | [Verifique as configurações de rede e proxy](#check-network-connectivity) |

27| `irm is not recognized` ou `The token '&&' is not a valid statement separator` | [Use o comando correto para seu shell](#wrong-install-command-on-windows) |28| `irm is not recognized` ou `The token '&&' is not a valid statement separator` | [Use o comando correto para seu shell](#wrong-install-command-on-windows) |


295 Verifique permissões de diretório296 Verifique permissões de diretório

296</h3>297</h3>

297 298 

298O instalador precisa de acesso de escrita a `~/.local/bin/` e `~/.claude/` no macOS e Linux. No Windows, o local de instalação está sob `%USERPROFILE%`, que é gravável pelo seu usuário por padrão, então esta seção raramente se aplica lá.299Uma instalação que falha por permissões informa o caminho que não conseguiu criar ou gravar. No Windows, a instalação grava em `%USERPROFILE%`, que é gravável pelo seu usuário por padrão, então esta seção raramente se aplica lá.

300 

301No macOS e Linux, a instalação grava nestes locais:

302 

303* `~/.claude/downloads/`: onde o comando de instalação coloca o binário baixado

304* `~/.local/bin/`: o inicializador `claude`

305* `~/.local/share/claude/`: cada versão que ela baixa

306* `~/.local/state/claude/`: seus arquivos de bloqueio

307* `~/.cache/claude/`: downloads preparados

308* [`~/.claude.json`](/docs/pt/claude-directory): seu arquivo de configuração global, onde o instalador registra o método de instalação

309 

310Se você definir `XDG_DATA_HOME`, `XDG_STATE_HOME` ou `XDG_CACHE_HOME`, a instalação usa esses em vez de `~/.local/share`, `~/.local/state` e `~/.cache`. Se você definir [`CLAUDE_CONFIG_DIR`](/docs/pt/env-vars), o arquivo de configuração global fica nesse diretório em vez do seu diretório pessoal.

299 311 

300Verifique se os diretórios são graváveis:312Verifique se os diretórios são graváveis:

301 313 


1026 1038 

1027* **Usuários Claude Pro/Max**: verifique se sua assinatura está ativa em [claude.ai/settings](https://claude.ai/settings)1039* **Usuários Claude Pro/Max**: verifique se sua assinatura está ativa em [claude.ai/settings](https://claude.ai/settings)

1028* **Usuários do Anthropic Console**: confirme que sua conta tem a função "Claude Code" ou "Developer". Os administradores atribuem isso no Anthropic Console em Settings → Members.1040* **Usuários do Anthropic Console**: confirme que sua conta tem a função "Claude Code" ou "Developer". Os administradores atribuem isso no Anthropic Console em Settings → Members.

1029* **Atrás de um proxy**: proxies corporativos podem interferir com solicitações de API. Consulte [network configuration](/docs/pt/network-config) para configuração de proxy.1041* **Atrás de um proxy**: proxies corporativos podem interferir com requisições de API. Consulte [network configuration](/docs/pt/network-config) para configuração de proxy.

1030 1042 

1031<h3 id="claude-code-access-has-not-been-granted-for-this-account">1043<h3 id="claude-code-access-has-not-been-granted-for-this-account">

1032 Claude Code access has not been granted for this account1044 Claude Code access has not been granted for this account


1098 1110 

1099Execute `/login` para re-autenticar. Se isso acontecer frequentemente, verifique se seu relógio do sistema está preciso, pois a validação de token depende de timestamps corretos.1111Execute `/login` para re-autenticar. Se isso acontecer frequentemente, verifique se seu relógio do sistema está preciso, pois a validação de token depende de timestamps corretos.

1100 1112 

1101Sessões paralelas em uma máquina compartilham um login salvo e coordenam sua renovação para que apenas um processo atualize o token por vez. Antes da v2.1.211, acordar a máquina do sono poderia fazer com que duas sessões renovassem com o mesmo token, o que revogava o login salvo e solicitava que cada sessão aberta fizesse login novamente de uma vez.1113Sessões paralelas em uma máquina compartilham um login salvo e coordenam sua renovação para que apenas um processo atualize o token por vez. Para saber o que as outras sessões fazem depois que você faz login novamente em uma delas, consulte [Not logged in](/docs/pt/errors#not-logged-in).

1114 

1115Antes da v2.1.211, acordar a máquina do sono poderia fazer com que duas sessões renovassem com o mesmo token, o que revogava o login salvo e solicitava que cada sessão aberta fizesse login novamente de uma vez.

1102 1116 

1103No macOS, Claude Code salva credenciais no Keychain de login. Quando o Keychain rejeita a escrita, como quando está bloqueado em uma sessão SSH ou sua senha está fora de sincronização com sua senha de conta, Claude Code salva seu login no arquivo de texto simples `~/.claude/.credentials.json` em vez disso. Um login do Console que cria uma chave de API falha até que o Keychain seja gravável novamente.1117No macOS, Claude Code salva credenciais no Keychain de login. Quando o Keychain rejeita a escrita, como quando está bloqueado em uma sessão SSH ou sua senha está fora de sincronização com sua senha de conta, Claude Code salva seu login no arquivo de texto simples `~/.claude/.credentials.json` em vez disso. Um login do Console que cria uma chave de API falha até que o Keychain seja gravável novamente.

1104 1118 

troubleshooting.md +44 −21

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# Troubleshooting5# Solução de problemas

6 6 

7> Corrija o alto uso de CPU ou memória, travamentos, thrashing de auto-compact e problemas de pesquisa no Claude Code, e encontre a página correta para outros problemas.7> Corrija alto uso de CPU ou memória, travamentos, ciclos repetidos de compactação automática e problemas de pesquisa no Claude Code, e encontre a página certa para outros problemas.

8 8 

9Esta página cobre problemas de desempenho, estabilidade e pesquisa uma vez que Claude Code está em execução. Para outros problemas, comece com a página que corresponde ao local onde você está preso:9Esta página aborda problemas de desempenho, estabilidade e pesquisa depois que o Claude Code está em execução. Para outros problemas, comece pela página que corresponde ao ponto em que você está com dificuldades:

10 10 

11| Sintoma | Ir para |11| Sintoma | Acesse |

12| :- | :- |12| :- | :- |

13| `command not found`, falha na instalação, problemas de PATH, `EACCES`, erros de TLS | [Troubleshoot installation and login](/docs/pt/troubleshoot-install) |13| `command not found`, falha na instalação, problemas de PATH, `EACCES`, erros de TLS | [Solucionar problemas de instalação e login](/docs/pt/troubleshoot-install) |

14| Atualização ou falha de download de instalação com `The connection dropped while downloading the update` ou `aborted` | [Error reference](/docs/pt/errors#the-connection-dropped-while-downloading-the-update) |14| O download da atualização ou da instalação falha com `The connection dropped while downloading the update` ou `aborted` | [Referência de erros](/docs/pt/errors#the-connection-dropped-while-downloading-the-update) |

15| Loops de login, erros OAuth, `403 Forbidden`, "organization disabled", credenciais Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry | [Troubleshoot installation and login](/docs/pt/troubleshoot-install#login-and-authentication) |15| Loops de login, erros de OAuth, `403 Forbidden`, "organization disabled", credenciais do Amazon Bedrock, do Agent Platform do Google Cloud ou do Microsoft Foundry | [Solucionar problemas de instalação e login](/docs/pt/troubleshoot-install#login-and-authentication) |

16| Configurações não aplicadas, hooks não disparando, servidores MCP não carregando | [Debug your configuration](/docs/pt/debug-your-config) |16| Configurações não sendo aplicadas, hooks não sendo disparados, servidores MCP não carregando | [Depurar sua configuração](/docs/pt/debug-your-config) |

17| Sessão iniciada em modo automático, ou Claude edita arquivos e executa comandos sem perguntar | [Which mode a session starts in](/docs/pt/permission-modes#which-mode-a-session-starts-in) |17| A sessão iniciou no modo auto, ou o Claude edita arquivos e executa comandos sem perguntar | [Em qual modo uma sessão inicia](/docs/pt/permission-modes#which-mode-a-session-starts-in) |

18| `API Error: 5xx`, `529 Overloaded`, `429`, erros de validação de solicitação | [Error reference](/docs/pt/errors) |18| `API Error: 5xx`, `529 Overloaded`, `429`, erros de validação de requisição | [Referência de erros](/docs/pt/errors) |

19| `model not found` ou `you may not have access to it` | [Error reference](/docs/pt/errors#theres-an-issue-with-the-selected-model) |19| `model not found` ou `you may not have access to it` | [Referência de erros](/docs/pt/errors#theres-an-issue-with-the-selected-model) |

20| Extensão VS Code não conectando ou detectando Claude | [VS Code integration](/docs/pt/vs-code#fix-common-issues) |20| Um comando executado pelo Claude falha com `Your disk quota is full`, `is full (ENOSPC)` ou `Command output was lost` | [Referência de erros](/docs/pt/errors#disk-quota-or-temp-filesystem-is-full) |

21| `Claude Code process exited with code 1` no VS Code ou em um aplicativo SDK | [Error reference](/docs/pt/errors#claude-code-process-exited-with-code-n) |21| A extensão do VS Code não se conecta ou não detecta o Claude | [Integração com o VS Code](/docs/pt/vs-code#fix-common-issues) |

22| Plugin JetBrains ou IDE não detectado | [JetBrains integration](/docs/pt/jetbrains#troubleshooting) |22| `Claude Code process exited with code 1` no VS Code ou em um aplicativo SDK | [Referência de erros](/docs/pt/errors#claude-code-process-exited-with-code-n) |

23| Alto uso de CPU ou memória, respostas lentas, travamentos, pesquisa não encontrando arquivos | [Performance and stability](#performance-and-stability) abaixo |23| Plugin do JetBrains ou IDE não detectado | [Integração com o JetBrains](/docs/pt/jetbrains#troubleshooting) |

24 24| Alto uso de CPU ou memória, respostas lentas, travamentos, pesquisa que não encontra arquivos | [Desempenho e estabilidade](#performance-and-stability) abaixo |

25Se você não tem certeza qual se aplica, execute `/doctor` dentro do Claude Code para uma verificação automatizada de sua instalação, configurações, extensões e uso de contexto; ele propõe correções que pode aplicar após você confirmar. Se `claude` não iniciar completamente, execute `claude doctor` do seu shell em vez disso. Execute `/mcp` para verificar o status do servidor MCP.25 

26Se você não tiver certeza de qual se aplica, execute `/doctor` dentro do Claude Code para uma verificação automatizada da sua instalação, configurações, extensões e uso de contexto; ele propõe correções que pode aplicar após sua confirmação. Se o `claude` não iniciar de forma alguma, execute `claude doctor` no seu shell. Execute `/mcp` para verificar o status dos servidores MCP.

26 27 

27<h2 id="performance-and-stability">28<h2 id="performance-and-stability">

28 Desempenho e estabilidade29 Desempenho e estabilidade


413. Considere adicionar grandes diretórios de compilação ao seu arquivo `.gitignore`423. Considere adicionar grandes diretórios de compilação ao seu arquivo `.gitignore`

424. Reinicie com [`claude --safe-mode`](/docs/pt/cli-reference#cli-flags) para verificar se um plugin, servidor MCP ou hook é a origem. Isso desabilita todas as personalizações para a sessão; se o uso diminuir, veja [Debug your configuration](/docs/pt/debug-your-config#test-against-a-clean-configuration) para encontrar qual é434. Reinicie com [`claude --safe-mode`](/docs/pt/cli-reference#cli-flags) para verificar se um plugin, servidor MCP ou hook é a origem. Isso desabilita todas as personalizações para a sessão; se o uso diminuir, veja [Debug your configuration](/docs/pt/debug-your-config#test-against-a-clean-configuration) para encontrar qual é

43 44 

45Se a memória heap de uma sessão ultrapassar 2.5GB, um aviso crítico de uso de memória aparece. Para liberar a memória, reinicie Claude Code e execute [`claude --continue`](/docs/pt/cli-reference#cli-flags) para retomar a conversa em um novo processo.

46 

47Fora da [renderização em tela cheia](/docs/pt/fullscreen), executar `/compact` também libera memória. O aviso desaparece assim que o uso de memória volta a ficar abaixo de 2.5GB.

48 

44Se o uso de memória permanecer alto após essas etapas, execute `/heapdump` para escrever dois arquivos em `~/Desktop`: um snapshot de heap JavaScript nomeado `<session-id>.heapsnapshot` e um detalhamento de memória nomeado `<session-id>-diagnostics.json`. Claude Code [oculta o comando do menu de comandos](/docs/pt/commands#how-the-command-menu-matches-what-you-type); digite-o por completo. No Linux sem uma pasta Desktop, os arquivos são escritos em seu diretório home.49Se o uso de memória permanecer alto após essas etapas, execute `/heapdump` para escrever dois arquivos em `~/Desktop`: um snapshot de heap JavaScript nomeado `<session-id>.heapsnapshot` e um detalhamento de memória nomeado `<session-id>-diagnostics.json`. Claude Code [oculta o comando do menu de comandos](/docs/pt/commands#how-the-command-menu-matches-what-you-type); digite-o por completo. No Linux sem uma pasta Desktop, os arquivos são escritos em seu diretório home.

45 50 

46<Warning>51<Warning>

47 O arquivo `.heapsnapshot` contém todas as strings no processo, incluindo sua conversa completa e credenciais. Não o anexe a um problema público ou o compartilhe.52 O arquivo `.heapsnapshot` contém todas as strings no processo, incluindo sua conversa completa e credenciais. Não o anexe a um problema público ou o compartilhe.

48</Warning>53</Warning>

49 54 

50O comando também imprime um resumo na conversa, mostrando tamanho do conjunto residente, heap JS, buffers de array e memória nativa não contabilizada, além de quaisquer indicadores de vazamento que detectou, como uma alta taxa de crescimento de memória ou um número inusitadamente alto de identificadores abertos. O resumo diz se a maioria da memória está no heap JS, que o snapshot captura, ou em memória nativa, que não captura.55O comando também imprime um resumo na conversa, mostrando a memória total do processo, quanto dela está no heap JS e quanto fica fora do heap. O resumo também lista quaisquer indicadores de vazamento, como uma alta taxa de crescimento de memória ou um número inusitadamente alto de identificadores abertos. O resumo diz se a maioria da memória está no heap JS, que o snapshot captura, ou em memória nativa, que não captura.

51 56 

52Faça uma de duas coisas com a saída:57Relate a saída ou investigue-a você mesmo:

53 58 

54* **Relate-a**: abra um [problema no GitHub](https://github.com/anthropics/claude-code/issues) e anexe apenas o arquivo `-diagnostics.json`, que contém as estatísticas por trás do resumo impresso e nenhum conteúdo de conversa ou credenciais59* **Relate-a**: abra um [problema no GitHub](https://github.com/anthropics/claude-code/issues) e anexe apenas o arquivo `-diagnostics.json`, que contém as estatísticas por trás do resumo impresso e nenhum conteúdo de conversa ou credenciais

55* **Investigue você mesmo**: se o resumo disser que a maioria da memória é heap JS, abra o arquivo `.heapsnapshot` no Chrome DevTools em Memory → Load e classifique por tamanho retido para ver o que está mantendo a memória60* **Investigue você mesmo**: se o resumo disser que a maioria da memória é heap JS, abra o arquivo `.heapsnapshot` no Chrome DevTools em Memory → Load e classifique por tamanho retido para ver o que está mantendo a memória


753. Mova o trabalho de arquivo grande para um [subagent](/docs/pt/sub-agents) para que ele execute em uma janela de contexto separada803. Mova o trabalho de arquivo grande para um [subagent](/docs/pt/sub-agents) para que ele execute em uma janela de contexto separada

764. Execute `/clear` se a conversa anterior não for mais necessária814. Execute `/clear` se a conversa anterior não for mais necessária

77 82 

83Se o erro voltar após um `/clear`, execute [`/context`](/docs/pt/debug-your-config) e compare a linha `Messages` com as linhas acima dela:

84 

85* **`Messages` é a maior linha**: um arquivo ou saída de ferramenta na nova conversa está preenchendo novamente a janela, então repita as etapas 1 a 3

86* **As outras linhas juntas são maiores**: o que é carregado no início da sessão deixa pouco espaço para trabalhar, então [reduza o que é carregado na inicialização](/docs/pt/errors#prompt-is-too-long)

87 

78<h3 id="command-hangs-or-freezes">88<h3 id="command-hangs-or-freezes">

79 Comando trava ou congela89 Comando trava ou congela

80</h3>90</h3>


98 108 

99Na [renderização em tela cheia](/docs/pt/fullscreen), Claude Code rola a conversa em si em vez de deixá-la para seu terminal. Se cada entalhe da roda move menos linhas do que você quer, execute `/scroll-speed` para aumentar o número de linhas por entalhe e salve-o, ou defina a variável de ambiente `CLAUDE_CODE_SCROLL_SPEED`, exceto no terminal do IDE JetBrains, onde Claude Code aplica seu próprio tratamento de rolagem e nenhum dos dois tem efeito. Veja [Mouse wheel scrolling](/docs/pt/fullscreen#mouse-wheel-scrolling) para os valores que cada um aceita.109Na [renderização em tela cheia](/docs/pt/fullscreen), Claude Code rola a conversa em si em vez de deixá-la para seu terminal. Se cada entalhe da roda move menos linhas do que você quer, execute `/scroll-speed` para aumentar o número de linhas por entalhe e salve-o, ou defina a variável de ambiente `CLAUDE_CODE_SCROLL_SPEED`, exceto no terminal do IDE JetBrains, onde Claude Code aplica seu próprio tratamento de rolagem e nenhum dos dois tem efeito. Veja [Mouse wheel scrolling](/docs/pt/fullscreen#mouse-wheel-scrolling) para os valores que cada um aceita.

100 110 

101Para se mover mais rápido sem alterar a velocidade, pressione `PgUp` e `PgDn` para rolar meia tela por vez. Para devolver a rolagem ao backscroll nativo do seu terminal, execute `/tui default` para alternar para o renderizador clássico.111Para se mover mais rápido sem alterar a velocidade, pressione `PgUp` e `PgDn` para rolar meia tela por vez. Para usar o scrollback nativo do seu terminal em vez disso, execute `/tui default` para alternar para o renderizador clássico.

102 112 

103<h3 id="clipboard-commands-such-as-pbcopy-fail-inside-the-sandbox">113<h3 id="clipboard-commands-such-as-pbcopy-fail-inside-the-sandbox">

104 Comandos de área de transferência como `pbcopy` falham dentro da sandbox114 Comandos de área de transferência como `pbcopy` falham dentro da sandbox


108 118 

109Para colocar a saída do Claude em sua área de transferência, peça ao Claude para imprimir o conteúdo em sua resposta, depois execute [`/copy`](/docs/pt/commands). `/copy` escreve na área de transferência do próprio processo Claude Code em vez de um comando em sandbox, então sandboxing não o bloqueia. Ele pode copiar um único bloco de código em vez de toda a resposta, e também escreve o que copiou em um arquivo e imprime o caminho, o que lhe dá um fallback quando a escrita da área de transferência não alcança seu terminal, por exemplo sobre SSH.119Para colocar a saída do Claude em sua área de transferência, peça ao Claude para imprimir o conteúdo em sua resposta, depois execute [`/copy`](/docs/pt/commands). `/copy` escreve na área de transferência do próprio processo Claude Code em vez de um comando em sandbox, então sandboxing não o bloqueia. Ele pode copiar um único bloco de código em vez de toda a resposta, e também escreve o que copiou em um arquivo e imprime o caminho, o que lhe dá um fallback quando a escrita da área de transferência não alcança seu terminal, por exemplo sobre SSH.

110 120 

111Para permitir que um comando canalizado alcance a área de transferência diretamente, adicione `pbcopy *`, `wl-copy *` ou `xclip *` a [`excludedCommands`](/docs/pt/settings-reference#sandbox-excludedcommands) para que o comando execute fora da sandbox.121Quando Claude canaliza texto para uma dessas ferramentas, adicionar `pbcopy *`, `wl-copy *` ou `xclip *` a [`excludedCommands`](/docs/pt/settings-reference#sandbox-excludedcommands) não retira, por si só, essa chamada do sandbox.

122 

123<h3 id="copied-text-doesn’t-reach-your-local-clipboard-over-ssh">

124 O texto copiado não chega à sua área de transferência local via SSH

125</h3>

126 

127Quando Claude Code é executado em uma máquina remota via SSH, ele não consegue executar uma ferramenta de área de transferência em sua máquina local. Fora do tmux, quando você seleciona texto na [renderização em tela cheia](/docs/pt/fullscreen) ou executa `/copy`, Claude Code envia o texto ao seu terminal como uma sequência de escape OSC 52. Seu terminal decide se o coloca na sua área de transferência. `/copy` informa `Copied to clipboard` quer o texto tenha chegado ou não, e fora do tmux o aviso de seleção exibe `sent N chars via OSC 52`.

128 

129Alguns terminais não atuam sobre o OSC 52. O iTerm2 o ignora até que você ative **Settings > General > Selection > Applications in terminal may access clipboard**, e o Terminal.app do macOS não o suporta.

130 

131Para obter o texto sem OSC 52:

132 

133* Mantenha pressionada a tecla de seleção nativa do seu terminal enquanto arrasta e depois copie com o atalho habitual do seu terminal, como `Cmd+C`. A tecla é `Fn` no Terminal.app e `Option` no iTerm2. [Keep native text selection](/docs/pt/fullscreen#keep-native-text-selection) a lista para outros terminais.

134* Defina [`CLAUDE_CODE_DISABLE_MOUSE=1`](/docs/pt/env-vars) na máquina remota para que seu terminal cuide da seleção durante toda a sessão.

112 135 

113<h3 id="search-and-discovery-issues">136<h3 id="search-and-discovery-issues">

114 Problemas de pesquisa e descoberta137 Problemas de pesquisa e descoberta

worktrees.md +2 −0

Details

131 131 

132As worktrees de subagentes usam a mesma [branch base](#choose-the-base-branch) que `--worktree`, então elas fazem branch da branch padrão do seu repositório a menos que `worktree.baseRef` seja definido como `"head"`.132As worktrees de subagentes usam a mesma [branch base](#choose-the-base-branch) que `--worktree`, então elas fazem branch da branch padrão do seu repositório a menos que `worktree.baseRef` seja definido como `"head"`.

133 133 

134Um subagente em seu próprio worktree obtém os arquivos de instrução com os quais [começa](/docs/pt/sub-agents#what-loads-at-startup) da sua conversa principal, não do seu worktree. Quando esse worktree está no local padrão em `.claude/worktrees/`, o subagente também não carrega o arquivo `CLAUDE.md` nem o diretório `.claude/rules/` na raiz do worktree ao ler arquivos ali, mesmo que sejam diferentes no branch do worktree.

135 

134<h3 id="clean-up-subagent-and-background-session-worktrees">136<h3 id="clean-up-subagent-and-background-session-worktrees">

135 Limpe worktrees de subagente e sessão em segundo plano137 Limpe worktrees de subagente e sessão em segundo plano

136</h3>138</h3>