SpyBara
Go Premium

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

69 files changed +3,930 −2,005. View all changes and history on the product overview
2026
Fri 2 04:57 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>

admin-setup.md +22 −1

Details

123 123 

124Nenhum desses controles alcança sessões no Amazon Bedrock, na Agent Platform do Google Cloud, no Microsoft Foundry, ou [Claude Platform on AWS](/docs/pt/claude-platform-on-aws). Nesses provedores, use configurações gerenciadas em vez disso: `availableModels` para restrições, `model` para um padrão, e [`maxEffortLevel`](/docs/pt/settings-reference#maxeffortlevel) para um limite de esforço.124Nenhum desses controles alcança sessões no Amazon Bedrock, na Agent Platform do Google Cloud, no Microsoft Foundry, ou [Claude Platform on AWS](/docs/pt/claude-platform-on-aws). Nesses provedores, use configurações gerenciadas em vez disso: `availableModels` para restrições, `model` para um padrão, e [`maxEffortLevel`](/docs/pt/settings-reference#maxeffortlevel) para um limite de esforço.

125 125 

126[Cloud sessions](/docs/pt/claude-code-on-the-web) têm sua própria superfície de administrador: na página de ambientes de nuvem nas configurações de administrador, Proprietários criam [ambientes compartilhados da organização](/docs/pt/cloud-environments#organization-shared-environments) que definem o [nível de acesso à rede](/docs/pt/cloud-environments#network-access), variáveis de ambiente e script de configuração para sessões de nuvem dos membros. Os Proprietários escolhem o ambiente padrão da organização separadamente, em [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code).126As [sessões na nuvem](/docs/pt/claude-code-on-the-web) têm suas próprias superfícies de administrador em claude.ai:

127 

128* **Página de ambientes de nuvem**: os Proprietários criam [ambientes compartilhados da organização](/docs/pt/cloud-environments#organization-shared-environments) que definem o [nível de acesso à rede](/docs/pt/cloud-environments#network-access), as variáveis de ambiente e o script de configuração para as sessões na nuvem dos membros.

129* **Ambiente padrão**: os Proprietários escolhem o ambiente padrão da organização separadamente, em [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code).

130* **Página do GitHub**: consulte [Contas do GitHub conectadas](#connected-github-accounts) para ver as contas do GitHub vinculadas à sua organização.

127 131 

128As regras de permissão e sandboxing cobrem camadas diferentes. Negar WebFetch bloqueia a ferramenta de busca do Claude, mas se Bash for permitido, `curl` e `wget` ainda podem alcançar qualquer URL. O sandboxing fecha essa lacuna com uma lista de permissão de domínio de rede aplicada no nível do SO.132As regras de permissão e sandboxing cobrem camadas diferentes. Negar WebFetch bloqueia a ferramenta de busca do Claude, mas se Bash for permitido, `curl` e `wget` ainda podem alcançar qualquer URL. O sandboxing fecha essa lacuna com uma lista de permissão de domínio de rede aplicada no nível do SO.

129 133 

130Para o modelo de ameaça que esses controles defendem, consulte [Security](/docs/pt/security).134Para o modelo de ameaça que esses controles defendem, consulte [Security](/docs/pt/security).

131 135 

136<h3 id="connected-github-accounts">

137 Contas do GitHub conectadas

138</h3>

139 

140Nos planos Team e Enterprise, [**Admin settings > GitHub**](https://claude.ai/admin-settings/github) lista as organizações do GitHub e as contas pessoais vinculadas à sua organização Claude por meio do [Claude GitHub App](https://github.com/apps/claude). Claude Code, [Claude Tag](https://claude.com/docs/claude-tag/admins/configure-github) e Claude Security compartilham essa lista. Para abri-la, é necessária uma função de administrador na sua organização Claude.

141 

142Um administrador ou um membro pode vincular uma conta:

143 

144* **Conexão de administrador**: um administrador clica em **Connect** nessa página e instala o Claude GitHub App em uma organização do GitHub. Vincular uma organização dessa forma requer alguém que seja ao mesmo tempo proprietário da organização do GitHub e administrador da sua organização Claude.

145* **Conexão de membro**: quando um membro conecta sua conta do GitHub ao Claude, por exemplo ao [configurar sessões na nuvem](/docs/pt/web-quickstart#connect-github), o Claude vincula as contas do GitHub que esse membro possui nas quais o Claude GitHub App já está instalado. Isso pode incluir a conta pessoal dele e as organizações do GitHub das quais ele é proprietário.

146 

147Uma linha marcada como **Not linked** vem do seu próprio login no GitHub. É uma conta que você pode ver no GitHub na qual o Claude GitHub App está instalado.

148 

149Para desvincular uma conta da sua organização Claude, abra o menu da linha correspondente e selecione **Unlink from this workspace**. Desvincular mantém o Claude GitHub App instalado no GitHub, e a conta é vinculada novamente na próxima vez que um de seus proprietários conectar o GitHub ao Claude. Para impedir que ela seja vinculada novamente, desinstale o Claude GitHub App dessa conta no GitHub.

150 

151Nos planos Enterprise, os tipos de atividade da [Compliance API](https://platform.claude.com/docs/en/api/compliance/activities/list) para vinculação e desvinculação são `github_app_installation_linked` e `github_app_installation_unlinked`.

152 

132<h2 id="set-up-usage-visibility">153<h2 id="set-up-usage-visibility">

133 Configure a visibilidade de uso154 Configure a visibilidade de uso

134</h2>155</h2>

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

261 261 

262* **Campos de nível superior** são aceitos em cada evento: `systemMessage` mostra uma mensagem ao usuário, e `continue` (`continue_` em Python) determina se o agente continua executando após este hook. Alguns eventos descartam-nos ou os entregam em outro lugar. A seção de cada [evento](/docs/pt/hooks#hook-events) na página de hooks diz onde eles chegam.262* **Campos de nível superior** são aceitos em cada evento: `systemMessage` mostra uma mensagem ao usuário, e `continue` (`continue_` em Python) determina se o agente continua executando após este hook. Alguns eventos descartam-nos ou os entregam em outro lugar. A seção de cada [evento](/docs/pt/hooks#hook-events) na página de hooks diz onde eles chegam.

263* **`hookSpecificOutput`** controla a operação atual. Os campos que você define dentro dependem do tipo de evento de hook:263* **`hookSpecificOutput`** controla a operação atual. Os campos que você define dentro dependem do tipo de evento de hook:

264 * Para hooks `PreToolUse`, é aqui que você define `permissionDecision` (`"allow"`, `"deny"`, `"ask"` ou `"defer"`), `permissionDecisionReason` e `updatedInput`. Se você retornar `"defer"`, a consulta termina para que você possa [retomá-la depois](/docs/pt/hooks#defer-a-tool-call-for-later).264 * Para hooks `PreToolUse`, é aqui que você define `permissionDecision` (`"allow"`, `"deny"`, `"ask"` ou `"defer"`), `permissionDecisionReason` e `updatedInput`. Se você retornar `"defer"`, o turno termina com uma mensagem de resultado cujo `stop_reason` é `"tool_deferred"`, para que você possa [retomar a chamada depois](/docs/pt/hooks#defer-a-tool-call-for-later).

265 * Para hooks `PostToolUse`, você pode definir `additionalContext` para anexar informações ao resultado da ferramenta. Para substituir a saída da ferramenta antes de Claude vê-la, defina `updatedToolOutput`, que funciona para qualquer ferramenta em ambos os SDKs. O campo mais antigo `updatedMCPToolOutput` substitui apenas a saída de ferramentas MCP e está descontinuado.265 * Para hooks `PostToolUse`, você pode definir `additionalContext` para anexar informações ao resultado da ferramenta. Para substituir a saída da ferramenta antes de Claude vê-la, defina `updatedToolOutput`, que funciona para qualquer ferramenta em ambos os SDKs. O campo mais antigo `updatedMCPToolOutput` substitui apenas a saída de ferramentas MCP e está descontinuado.

266 * No SDK TypeScript, um callback `PostToolUse` também pode retornar `classifierContext`, uma nota breve sobre o resultado da chamada de ferramenta para o classificador de permissão [modo automático](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode). Como seu callback é executado no próprio processo de sua aplicação, o classificador pode pesar uma declaração de usuário que você transmite na nota como intenção do usuário. O campo requer Agent SDK TypeScript v0.3.236 ou posterior. [Anotar um resultado para o classificador de modo automático](/docs/pt/hooks#annotate-a-result-for-the-auto-mode-classifier) cobre o limite de comprimento, a regra somente síncrona e o que não colocar na nota.266 * No SDK TypeScript, um callback `PostToolUse` também pode retornar `classifierContext`, uma nota breve sobre o resultado da chamada de ferramenta para o classificador de permissão do [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode). Como seu callback é executado no próprio processo de sua aplicação, o classificador pode pesar uma declaração de usuário que você transmite na nota como intenção do usuário. O campo requer Agent SDK TypeScript v0.3.236 ou posterior. [Anotar um resultado para o classificador do modo auto](/docs/pt/hooks#annotate-a-result-for-the-auto-mode-classifier) cobre o limite de comprimento, a regra somente síncrona e o que não colocar na nota.

267 267 

268Retorne `{}` para permitir a operação sem alterações. Hooks de callback do SDK usam o mesmo formato de saída JSON que [hooks de comando shell do Claude Code](/docs/pt/hooks#json-output), que documenta cada campo e opção específica do evento. Para as definições de tipo do SDK, veja as referências do SDK [TypeScript](/docs/pt/agent-sdk/typescript#synchookjsonoutput) e [Python](/docs/pt/agent-sdk/python#synchookjsonoutput).268Retorne `{}` para permitir a operação sem alterações. Hooks de callback do SDK usam o mesmo formato de saída JSON que [hooks de comando shell do Claude Code](/docs/pt/hooks#json-output), que documenta cada campo e opção específica do evento. Para as definições de tipo do SDK, veja as referências do SDK [TypeScript](/docs/pt/agent-sdk/typescript#synchookjsonoutput) e [Python](/docs/pt/agent-sdk/python#synchookjsonoutput).

269 269 

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

92 Sandbox runtime92 Sandbox runtime

93</h3>93</h3>

94 94 

95Para isolamento leve sem contêineres, [sandbox-runtime](https://github.com/anthropic-experimental/sandbox-runtime) impõe restrições de sistema de arquivos e rede no nível do SO.95Para isolamento leve sem contêineres, [sandbox-runtime](https://github.com/anthropics/sandbox-runtime) impõe restrições de sistema de arquivos e rede no nível do SO.

96 96 

97A principal vantagem é a simplicidade: nenhuma configuração Docker, imagens de contêiner ou configuração de rede necessária. O proxy e as restrições de sistema de arquivos são integrados.97A principal vantagem é a simplicidade: nenhuma configuração Docker, imagens de contêiner ou configuração de rede necessária. O proxy e as restrições de sistema de arquivos são integrados.

98 98 


164 164 

165Com `--network none`, o contêiner não tem interfaces de rede. A única maneira para o agente alcançar o mundo externo é através do socket Unix montado, que se conecta a um proxy executado no host. Este proxy pode impor listas de permissão de domínio, injetar credenciais e registrar todo o tráfego.165Com `--network none`, o contêiner não tem interfaces de rede. A única maneira para o agente alcançar o mundo externo é através do socket Unix montado, que se conecta a um proxy executado no host. Este proxy pode impor listas de permissão de domínio, injetar credenciais e registrar todo o tráfego.

166 166 

167Esta é a mesma arquitetura usada por [sandbox-runtime](https://github.com/anthropic-experimental/sandbox-runtime). Mesmo que o agente seja comprometido via injeção de prompt, ele não pode exfiltrar dados para servidores arbitrários. Ele só pode se comunicar através do proxy, que controla quais domínios são alcançáveis. Para mais detalhes, consulte o [blog de sandboxing do Claude Code](https://www.anthropic.com/engineering/claude-code-sandboxing).167Esta é a mesma arquitetura usada por [sandbox-runtime](https://github.com/anthropics/sandbox-runtime). Mesmo que o agente seja comprometido via injeção de prompt, ele não pode exfiltrar dados para servidores arbitrários. Ele só pode se comunicar através do proxy, que controla quais domínios são alcançáveis. Para mais detalhes, consulte o [blog de sandboxing do Claude Code](https://www.anthropic.com/engineering/claude-code-sandboxing).

168 168 

169**Opções de endurecimento adicional:**169**Opções de endurecimento adicional:**

170 170 


385* [Documentação de segurança do Claude Code](/docs/pt/security)385* [Documentação de segurança do Claude Code](/docs/pt/security)

386* [Hospedando o Agent SDK](/docs/pt/agent-sdk/hosting)386* [Hospedando o Agent SDK](/docs/pt/agent-sdk/hosting)

387* [Tratando permissões](/docs/pt/agent-sdk/permissions)387* [Tratando permissões](/docs/pt/agent-sdk/permissions)

388* [Sandbox runtime](https://github.com/anthropic-experimental/sandbox-runtime)388* [Sandbox runtime](https://github.com/anthropics/sandbox-runtime)

389* [The Lethal Trifecta for AI Agents](https://simonwillison.net/2025/Jun/16/the-lethal-trifecta/)389* [The Lethal Trifecta for AI Agents](https://simonwillison.net/2025/Jun/16/the-lethal-trifecta/)

390* [OWASP Top 10 for LLM Applications](https://owasp.org/www-project-top-10-for-large-language-model-applications/)390* [OWASP Top 10 for LLM Applications](https://owasp.org/www-project-top-10-for-large-language-model-applications/)

391* [Docker Security Best Practices](https://docs.docker.com/engine/security/)391* [Docker Security Best Practices](https://docs.docker.com/engine/security/)

Details

378</h2>378</h2>

379 379 

380<Note>380<Note>

381 Para skills de projeto e pessoais, Claude Code aplica o campo frontmatter [`allowed-tools`](/docs/pt/skills#pre-approve-tools-for-a-skill) em sessões do SDK. Você também pode pré-aprovar ferramentas para essas skills através da opção `allowedTools` (`allowed_tools` em Python) em sua configuração de query. Skills [sincronizadas de claude.ai](/docs/pt/skills#how-claude-code-handles-the-frontmatter-of-a-synced-skill) seguem suas próprias regras de frontmatter.381 Em sessões do SDK, você pode pré-aprovar ferramentas para uma skill de projeto ou pessoal com o frontmatter [`allowed-tools`](/docs/pt/skills#pre-approve-tools-for-a-skill) da skill ou com a opção `allowedTools` (`allowed_tools` em Python) em sua configuração de query. Se sua organização definir [`allowManagedPermissionRulesOnly`](/docs/pt/settings-reference#allowmanagedpermissionrulesonly) nas configurações gerenciadas, Claude Code ignora ambos. Skills [sincronizadas de claude.ai](/docs/pt/skills#how-claude-code-handles-the-frontmatter-of-a-synced-skill) seguem suas próprias regras de frontmatter.

382</Note>382</Note>

383 383 

384Skills executam com as ferramentas da sessão. O exemplo abaixo pré-aprova `Read`, `Grep` e `Glob` com `allowedTools` (`allowed_tools` em Python), portanto Claude pode inspecionar arquivos enquanto executa a [skill security-check](#create-and-dispatch-your-first-skill) sem parar para aprovação:384Skills executam com as ferramentas da sessão. O exemplo abaixo pré-aprova `Read`, `Grep` e `Glob` com `allowedTools` (`allowed_tools` em Python), portanto Claude pode inspecionar arquivos enquanto executa a [skill security-check](#create-and-dispatch-your-first-skill) sem parar para aprovação:

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

1554* `'model_not_found'`: o modelo selecionado não existe ou não está disponível para sua conta ou implantação1554* `'model_not_found'`: o modelo selecionado não existe ou não está disponível para sua conta ou implantação

1555* `'overloaded'`: a API retornou um 529 porque o servidor está em capacidade máxima, em contraste com `'rate_limit'`, que é um 429 contra sua cota1555* `'overloaded'`: a API retornou um 529 porque o servidor está em capacidade máxima, em contraste com `'rate_limit'`, que é um 429 contra sua cota

1556* `'account_on_hold'`: [sua conta está em espera](/docs/pt/errors#your-account-is-on-hold)1556* `'account_on_hold'`: [sua conta está em espera](/docs/pt/errors#your-account-is-on-hold)

1557* `'cloud_credential_error'`: Claude Code não conseguiu obter credenciais AWS ou Google Cloud utilizáveis na máquina em que é executado, portanto nenhuma solicitação chegou ao provedor de nuvem. A causa usual é um login na nuvem que expirou ou nunca foi concluído nessa máquina, embora um serviço de credenciais brevemente inacessível reporte o mesmo valor. Consulte [Não foi possível carregar credenciais AWS ou Google Cloud](/docs/pt/errors#could-not-load-aws-or-google-cloud-credentials). Requer TypeScript Agent SDK v0.3.267 ou posterior, que agrupa Claude Code v2.1.2671557* `'cloud_credential_error'`: Claude Code não conseguiu obter credenciais AWS ou Google Cloud utilizáveis na máquina em que é executado, portanto nenhuma requisição chegou ao provedor de nuvem. A causa usual é um login na nuvem que expirou ou nunca foi concluído nessa máquina, embora um serviço de credenciais brevemente inacessível reporte o mesmo valor. Consulte [Não foi possível carregar credenciais AWS ou Google Cloud](/docs/pt/errors#could-not-load-aws-or-google-cloud-credentials). Requer TypeScript Agent SDK v0.3.267 ou posterior, que agrupa Claude Code v2.1.267

1558 1558 

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

1560 1560 

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

1562 1562 

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

1564 1564 

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

1566 1566 

1567<h3 id="sdkusermessage">1567<h3 id="sdkusermessage">

1568 `SDKUserMessage`1568 `SDKUserMessage`


1591 1591 

1592Defina `shouldQuery` ou `client_composed` para alterar como Claude Code manipula uma mensagem que você envia:1592Defina `shouldQuery` ou `client_composed` para alterar como Claude Code manipula uma mensagem que você envia:

1593 1593 

1594* `shouldQuery`: defina como `false` para anexar a mensagem à transcrição sem disparar uma rodada do assistente. A mensagem é mantida e mesclada na próxima mensagem do usuário que dispara uma rodada. Use isso para injetar contexto, como a saída de um comando que você executou fora de banda, sem gastar uma chamada de modelo.1594* `shouldQuery`: defina como `false` para anexar a mensagem à transcrição sem disparar um turno do assistente. A mensagem é mantida e mesclada na próxima mensagem do usuário que dispara um turno. Use isso para injetar contexto, como a saída de um comando que você executou fora de banda, sem gastar uma chamada de modelo.

1595* `client_composed`: defina como `true` para que Claude Code entregue o texto da mensagem conforme escrito. Claude Code então não expande menções `@path` ou [`@server:resource`](/docs/pt/mcp#use-mcp-resources), e não executa texto que começa com `/` como um comando. Enquanto a opção [`verbatimPrompts`](#options) está ativada, o SDK define o campo em cada mensagem. Requer TypeScript Agent SDK v0.3.280 ou posterior e Claude Code v2.1.248 ou posterior.1595* `client_composed`: defina como `true` para que Claude Code entregue o texto da mensagem conforme escrito. Claude Code então não expande menções `@path` ou [`@server:resource`](/docs/pt/mcp#use-mcp-resources), e não executa texto que começa com `/` como um comando. Enquanto a opção [`verbatimPrompts`](#options) está ativada, o SDK define o campo em cada mensagem. Requer TypeScript Agent SDK v0.3.280 ou posterior e Claude Code v2.1.248 ou posterior.

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 é tipado 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 


1623};1623};

1624```1624```

1625 1625 

1626Uma rodada do usuário injetada de fora da sessão, uma cuja [`origin`](#sdkmessageorigin) é `peer` ou `channel`, chega ao fluxo como uma repetição, independentemente de ter sido entregue durante uma rodada ativa ou iniciado uma nova rodada enquanto a sessão estava ociosa. Antes de v2.1.207, uma rodada injetada entregue enquanto a sessão estava ociosa não produzia nenhuma mensagem no fluxo e apenas aparecia quando você relê a transcrição.1626Um turno do usuário injetado de fora da sessão, um cujo tipo de [`origin`](#sdkmessageorigin) é `peer` ou `channel`, chega ao stream como uma repetição, independentemente de ter sido entregue durante um turno ativo ou iniciado um novo turno enquanto a sessão estava ociosa. Antes de v2.1.207, um turno injetado entregue enquanto a sessão estava ociosa não produzia nenhuma mensagem no stream e apenas aparecia quando você relia a transcrição.

1627 1627 

1628<h3 id="sdkresultmessage">1628<h3 id="sdkresultmessage">

1629 `SDKResultMessage`1629 `SDKResultMessage`


1703 1703 

1704Vários campos no resultado carregam detalhes de diagnóstico além de `subtype`:1704Vários campos no resultado carregam detalhes de diagnóstico além de `subtype`:

1705 1705 

1706* `api_error_status`: o código de status HTTP do erro de API que encerrou a conversa. Ausente ou `null` quando a rodada terminou sem um erro de API.1706* `api_error_status`: o código de status HTTP do erro de API que encerrou a conversa. Ausente ou `null` quando o turno terminou sem um erro de API.

1707* `ttft_ms`: tempo até o primeiro token em milissegundos, medido quando a primeira mensagem completa do assistente chega. Presente apenas no braço de sucesso.1707* `ttft_ms`: tempo até o primeiro token em milissegundos, medido quando a primeira mensagem completa do assistente chega. Presente apenas no braço de sucesso.

1708* `ttft_stream_ms`: tempo em milissegundos até o primeiro evento de fluxo `message_start`, quando o fluxo de resposta abre. Menor que `ttft_ms`; a lacuna entre os dois é o tempo gasto transmitindo a primeira mensagem. Presente apenas no braço de sucesso.1708* `ttft_stream_ms`: tempo em milissegundos até o primeiro evento de stream `message_start`, quando o stream de resposta abre. Menor que `ttft_ms`; a diferença entre os dois é o tempo gasto transmitindo a primeira mensagem. Presente apenas no braço de sucesso.

1709* `user_message_uuid`: o `uuid` da mensagem que você enviou que esta rodada respondeu. Consulte [`user_message_uuid`](#user_message_uuid) para saber quais resultados o carregam.1709* `user_message_uuid`: o `uuid` da mensagem que você enviou que este turno respondeu. Consulte [`user_message_uuid`](#user_message_uuid) para saber quais resultados o carregam.

1710* `user_message_uuids`: os `uuid`s de cada mensagem que você enviou que Claude Code respondeu nesta rodada. Consulte [`user_message_uuids`](#user_message_uuids).1710* `user_message_uuids`: os `uuid`s de cada mensagem que você enviou que Claude Code respondeu neste turno. Consulte [`user_message_uuids`](#user_message_uuids).

1711* `resume_reason`: por que Claude Code re-executou esta rodada após uma reinicialização interrompê-la. Presente em ambos os braços, e apenas em tal re-execução. Consulte [`resume_reason`](#resume_reason).1711* `resume_reason`: por que Claude Code re-executou este turno após uma reinicialização interrompê-lo. Presente em ambos os braços, e apenas em tal re-execução. Consulte [`resume_reason`](#resume_reason).

1712* `local_command`: o nome do comando que a rodada despachou, no resultado de sucesso de uma rodada que um comando completou sem entrar no loop do agente, como `/compact`. O nome é dobrado para letras minúsculas e underscores, portanto `/reload-plugins` relata `reload_plugins`. Um comando que um servidor MCP fornece, e o `/mcp` integrado, relatam `mcp`. Um comando que você definiu a si mesmo relata `custom`. Os argumentos nunca são incluídos. Ausente em cada rodada que entrou no loop do agente e em envios que não executaram nenhum comando. Requer Agent SDK v0.3.268 ou posterior.1712* `local_command`: o nome do comando que o turno despachou, no resultado de sucesso de um turno que um comando completou sem entrar no loop do agente, como `/compact`. O nome é convertido para letras minúsculas e underscores, portanto `/reload-plugins` relata `reload_plugins`. Um comando que um servidor MCP fornece, e o `/mcp` integrado, relatam `mcp`. Um comando que você mesmo definiu relata `custom`. Os argumentos nunca são incluídos. Ausente em cada turno que entrou no loop do agente e em envios que não executaram nenhum comando. Requer Agent SDK v0.3.268 ou posterior.

1713* `request_sent_wall_ms`: milissegundos de época em que Claude Code despachou a solicitação de API, para junções contra timestamps do lado do servidor. Presente apenas junto com [`user_message_uuid`](#user_message_uuid), em um resultado de sucesso com `is_error` false cuja rodada enviou uma solicitação de API.1713* `request_sent_wall_ms`: milissegundos de época em que Claude Code despachou a requisição de API, para junções com timestamps do lado do servidor. Presente apenas junto com [`user_message_uuid`](#user_message_uuid), em um resultado de sucesso com `is_error` false cujo turno enviou uma requisição de API.

1714* `first_content_frame_ms`: tempo em milissegundos até o primeiro evento de fluxo `content_block_start` ou `content_block_delta`, contando blocos de pensamento como conteúdo. Presente apenas no braço de sucesso, quando `is_error` é false. Requer Agent SDK v0.3.260 ou posterior.1714* `first_content_frame_ms`: tempo em milissegundos até o primeiro evento de stream `content_block_start` ou `content_block_delta`, contando blocos de pensamento como conteúdo. Presente apenas no braço de sucesso, quando `is_error` é false. Requer Agent SDK v0.3.260 ou posterior.

1715* `first_stream_post_ms`, `first_stream_post_ack_ms`, `first_stream_post_wall_ms`: cronometragens para fazer upload do primeiro evento de fluxo da rodada. Claude Code os registra apenas em sessões que transmite para claude.ai, como [sessões na nuvem](/docs/pt/claude-code-on-the-web), e os resultados que `query()` produz não os carregam. Requer Agent SDK v0.3.260 ou posterior.1715* `first_stream_post_ms`, `first_stream_post_ack_ms`, `first_stream_post_wall_ms`: cronometragens para fazer upload do primeiro evento de stream do turno. Claude Code os registra apenas em sessões que transmite para claude.ai, como [sessões na nuvem](/docs/pt/claude-code-on-the-web), e os resultados que `query()` produz não os carregam. Requer Agent SDK v0.3.260 ou posterior.

1716* `usage`: apenas loop do agente principal. Exclui chamadas de subagente e modelo auxiliar, e é por rodada em sessões de entrada de fluxo. Prefira `modelUsage` para contabilidade de token/custo.1716* `usage`: apenas loop do agente principal. Exclui chamadas de subagente e de modelo auxiliar, e é por turno em sessões de entrada por streaming. Prefira `modelUsage` para contabilidade de token/custo.

1717* `modelUsage`: totais por modelo para cada chamada de modelo feita através do pipeline de consulta durante esta chamada `query()`, incluindo o loop principal, subagentes e chamadas internas como compactação e agentes Workflow. Chamadas auxiliares fora desse pipeline, como o classificador de permissão e solicitações de contagem de tokens, são excluídas. Uma chamada que retoma uma sessão também conta os [totais por modelo restaurados das chamadas anteriores da sessão](/docs/pt/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls). Em sessões de entrada de fluxo, os totais são cumulativos entre rodadas, portanto leia o resultado mais recente em vez de somar entre resultados. Consulte [Rastrear custos no modo de entrada de fluxo](/docs/pt/agent-sdk/cost-tracking#track-costs-in-streaming-input-mode) para redefinições e [Recuperar totais após uma falha de sessão](/docs/pt/agent-sdk/cost-tracking#recover-totals-after-a-session-crash) para resultados zerados.1717* `modelUsage`: totais por modelo para cada chamada de modelo feita através do pipeline de consulta durante esta chamada `query()`, incluindo o loop principal, subagentes e chamadas internas como compactação e agentes Workflow. Chamadas auxiliares fora desse pipeline, como o classificador de permissão e requisições de contagem de tokens, são excluídas. Uma chamada que retoma uma sessão também conta os [totais por modelo restaurados das chamadas anteriores da sessão](/docs/pt/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls). Em sessões de entrada por streaming, os totais são cumulativos entre turnos, portanto leia o resultado mais recente em vez de somar entre resultados. Consulte [Rastrear custos no modo de entrada por streaming](/docs/pt/agent-sdk/cost-tracking#track-costs-in-streaming-input-mode) para redefinições e [Recuperar totais após uma falha de sessão](/docs/pt/agent-sdk/cost-tracking#recover-totals-after-a-session-crash) para resultados zerados.

1718* `total_cost_usd`: custo estimado cumulativo em USD, cobrindo as mesmas chamadas que `modelUsage` e redefinido nos mesmos pontos. Uma chamada que retoma uma sessão também conta os [totais restaurados das chamadas anteriores da sessão](/docs/pt/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls). É uma estimativa, não uma declaração de faturamento. Consulte [Rastrear custo e uso](/docs/pt/agent-sdk/cost-tracking) para ressalvas de precisão.1718* `total_cost_usd`: custo estimado cumulativo em USD, cobrindo as mesmas chamadas que `modelUsage` e redefinido nos mesmos pontos. Uma chamada que retoma uma sessão também conta os [totais restaurados das chamadas anteriores da sessão](/docs/pt/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls). É uma estimativa, não uma declaração de faturamento. Consulte [Rastrear custo e uso](/docs/pt/agent-sdk/cost-tracking) para ressalvas de precisão.

1719* `queued_turn_count`: o número de mensagens que você enviou com `origin: { kind: "human" }` que ainda estão aguardando quando Claude Code produziu o resultado. Consulte [`queued_turn_count`](#queued_turn_count) para saber o que `0` e um campo ausente indicam.1719* `queued_turn_count`: o número de mensagens que você enviou com `origin: { kind: "human" }` que ainda estão aguardando quando Claude Code produziu o resultado. Consulte [`queued_turn_count`](#queued_turn_count) para saber o que `0` e um campo ausente indicam.

1720* `result_index`: onde este resultado cai na ordem de entrega da execução, contando a partir de 0 em cada resultado que o processo escreve. Presente em ambos os braços. Um resultado cuja escrita falha ainda consome seu número, portanto uma lacuna na sequência significa que um resultado foi perdido. Requer Agent SDK v0.3.268 ou posterior.1720* `result_index`: onde este resultado cai na ordem de entrega da execução, contando a partir de 0 em cada resultado que o processo escreve. Presente em ambos os braços. Um resultado cuja escrita falha ainda consome seu número, portanto uma lacuna na sequência significa que um resultado foi perdido. Requer Agent SDK v0.3.268 ou posterior.

1721* `startup_failure_reason`: por que Claude Code recusou iniciar, no resultado `error_during_execution` que escreve antes de sair em uma falha de inicialização conhecida. Consulte [`startup_failure_reason`](#startup_failure_reason) para os valores e quais falhas o carregam. Requer Agent SDK v0.3.274 ou posterior.1721* `startup_failure_reason`: por que Claude Code se recusou a iniciar, no resultado `error_during_execution` que escreve antes de sair em uma falha de inicialização conhecida. Consulte [`startup_failure_reason`](#startup_failure_reason) para os valores e quais falhas o carregam. Requer Agent SDK v0.3.274 ou posterior.

1722* `terminal_reason`: por que o loop terminou. Um de `"completed"`, `"max_turns"`, `"tool_deferred"`, `"aborted_streaming"`, `"aborted_tools"`, `"hook_stopped"`, `"stop_hook_prevented"`, `"background_requested"`, `"blocking_limit"`, `"rapid_refill_breaker"`, `"prompt_too_long"`, `"image_error"`, `"model_error"`, `"api_error"`, `"malformed_tool_use_exhausted"`, `"budget_exhausted"`, `"structured_output_retry_exhausted"`, `"tool_deferred_unavailable"` ou `"turn_setup_failed"`.1722* `terminal_reason`: por que o loop terminou. Um de `"completed"`, `"max_turns"`, `"tool_deferred"`, `"aborted_streaming"`, `"aborted_tools"`, `"hook_stopped"`, `"stop_hook_prevented"`, `"background_requested"`, `"blocking_limit"`, `"rapid_refill_breaker"`, `"prompt_too_long"`, `"image_error"`, `"model_error"`, `"api_error"`, `"malformed_tool_use_exhausted"`, `"budget_exhausted"`, `"structured_output_retry_exhausted"`, `"tool_deferred_unavailable"` ou `"turn_setup_failed"`.

1723* `fast_mode_state`: um de `"on"`, `"off"` ou `"cooldown"`.1723* `fast_mode_state`: um de `"on"`, `"off"` ou `"cooldown"`.

1724* `fast_mode_disabled_reason`: por que [fast mode](/docs/pt/fast-mode) não está disponível agora. Ausente quando nada bloqueia o fast mode, embora uma solicitação ainda possa ser executada em velocidade padrão. Durante o resfriamento após um limite de taxa de fast mode, Claude Code relata `fast_mode_state: "cooldown"` sem código de motivo e reativa o fast mode quando o resfriamento expira. Requer Claude Code v2.1.219 ou posterior.1724* `fast_mode_disabled_reason`: por que o [modo rápido](/docs/pt/fast-mode) não está disponível agora. Ausente quando nada bloqueia o modo rápido, embora uma requisição ainda possa ser executada em velocidade padrão. Durante o resfriamento após um rate limit do modo rápido, Claude Code relata `fast_mode_state: "cooldown"` sem código de motivo e reativa o modo rápido quando o resfriamento expira. Requer Claude Code v2.1.219 ou posterior.

1725 1725 

1726Use o código de motivo para explicar por que o fast mode está desativado em sua própria interface em vez de rederivá-lo. Cada código nomeia a verificação que bloqueou o fast mode:1726Use o código de motivo para explicar por que o modo rápido está desativado em sua própria interface em vez de rederivar a disponibilidade. Cada código nomeia a verificação que bloqueou o modo rápido:

1727 1727 

1728| Código de motivo | Significado |1728| Código de motivo | Significado |

1729| - | - |1729| - | - |

1730| `free` | A conta não tem a assinatura paga ou créditos de uso que o fast mode requer |1730| `free` | A conta não tem a assinatura paga ou os créditos de uso que o modo rápido requer |

1731| `preference` | A organização desativou o fast mode |1731| `preference` | A organização desativou o modo rápido |

1732| `extra_usage_disabled` | Créditos de uso estão desativados para a conta |1732| `extra_usage_disabled` | Créditos de uso estão desativados para a conta |

1733| `network_error` | A [verificação de disponibilidade](/docs/pt/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) não conseguiu alcançar `api.anthropic.com` |1733| `network_error` | A [verificação de disponibilidade](/docs/pt/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) não conseguiu alcançar `api.anthropic.com` |

1734| `unknown` | Claude Code não conseguiu determinar a disponibilidade |1734| `unknown` | Claude Code não conseguiu determinar a disponibilidade |

1735| `not_first_party` | A sessão usa um provedor diferente da API Anthropic |1735| `not_first_party` | A sessão usa um provedor diferente da API Anthropic |

1736| `disabled_by_env` | [`CLAUDE_CODE_DISABLE_FAST_MODE`](/docs/pt/env-vars) está definido |1736| `disabled_by_env` | [`CLAUDE_CODE_DISABLE_FAST_MODE`](/docs/pt/env-vars) está definido |

1737| `model_not_allowed` | O modelo Opus de fast mode não está na lista de permissões [`availableModels`](/docs/pt/model-config#restrict-model-selection) da organização |1737| `model_not_allowed` | O modelo Opus do modo rápido não está na allowlist [`availableModels`](/docs/pt/model-config#restrict-model-selection) da organização |

1738| `sdk_opt_in_required` | A sessão não optou pelo fast mode: passe `fastMode: true` na opção [`settings`](#options) ou através de [`applyFlagSettings()`](#applyflagsettings) |1738| `sdk_opt_in_required` | A sessão não optou pelo modo rápido: passe `fastMode: true` na opção [`settings`](#options) ou através de [`applyFlagSettings()`](#applyflagsettings) |

1739| `pending` | A verificação de disponibilidade ainda não foi concluída |1739| `pending` | A verificação de disponibilidade ainda não foi concluída |

1740 1740 

1741O mesmo par de campos aparece em [`SDKSystemMessage`](#sdksystemmessage) e em [`SDKControlInitializeResponse`](#sdkcontrolinitializeresponse), portanto você pode ler o estado do fast mode antes da primeira rodada.1741O mesmo par de campos aparece em [`SDKSystemMessage`](#sdksystemmessage) e em [`SDKControlInitializeResponse`](#sdkcontrolinitializeresponse), portanto você pode ler o estado do modo rápido antes do primeiro turno.

1742 1742 

1743O campo `origin` encaminha o [`SDKMessageOrigin`](#sdkmessageorigin) da mensagem do usuário que disparou este resultado. Quando o SDK injeta uma rodada de acompanhamento sintética, como para uma tarefa de fundo concluída, o `SDKResultMessage` resultante carrega `origin: { kind: "task-notification" }`. Rotinas cujo gatilho disparou e mensagens verificadas pelo servidor de suas outras sessões chegam com este tipo também, cada uma com o `subkind` descrito em [Subtipos de notificação de tarefa](#task-notification-subkinds). Verifique `kind` para distinguir resultados que respondem seu prompt de acompanhamentos injetados antes de roteá-los ou suprimí-los. Se sua aplicação [declara execuções agendadas](#declare-a-scheduled-run), seus resultados carregam `kind: "task-notification"` também, portanto não suprima apenas em `kind`.1743O campo `origin` encaminha o [`SDKMessageOrigin`](#sdkmessageorigin) da mensagem do usuário que disparou este resultado. Quando o SDK injeta um turno de acompanhamento sintético, como para uma tarefa em segundo plano concluída, o `SDKResultMessage` resultante carrega `origin: { kind: "task-notification" }`. Rotinas cujo gatilho disparou e mensagens verificadas pelo servidor de suas outras sessões chegam com este tipo também, cada uma com o `subkind` descrito em [Subtipos de notificação de tarefa](#task-notification-subkinds). Verifique `kind` para distinguir resultados que respondem ao seu prompt de acompanhamentos injetados antes de roteá-los ou suprimi-los. Se sua aplicação [declara execuções agendadas](#declare-a-scheduled-run), seus resultados carregam `kind: "task-notification"` também, portanto não suprima com base apenas em `kind`.

1744 1744 

1745Quando várias conclusões de tarefa de fundo são enfileiradas juntas, Claude Code pode respondê-las em uma rodada em vez de uma rodada cada. Cada conclusão ainda produz seu próprio resultado com esta origem. Todos exceto o último das conclusões que Claude Code responde juntas produzem resultados vazios com `num_turns: 0`, em ordem, e o resultado do último carrega a rodada que responde a todos eles.1745Quando várias conclusões de tarefas em segundo plano são enfileiradas juntas, Claude Code pode respondê-las em um turno em vez de um turno para cada. Cada conclusão ainda produz seu próprio resultado com esta origem. Todas exceto a última das conclusões que Claude Code responde juntas produzem resultados vazios com `num_turns: 0`, em ordem, e o resultado da última carrega o turno que responde a todas elas.

1746 1746 

1747O campo está ausente para resultados emitidos antes de qualquer rodada do usuário, como erros de inicialização.1747O campo está ausente para resultados emitidos antes de qualquer turno do usuário, como erros de inicialização.

1748 1748 

1749Quando um hook `PreToolUse` retorna `permissionDecision: "defer"`, o resultado tem `stop_reason: "tool_deferred"` e `deferred_tool_use` carrega o `id`, `name` e `input` da ferramenta pendente. Leia este campo para exibir a solicitação em sua própria interface, depois retome com o mesmo `session_id` para continuar. Consulte [Adiar uma chamada de ferramenta para depois](/docs/pt/hooks#defer-a-tool-call-for-later) para a rodada completa.1749Quando um hook `PreToolUse` retorna `permissionDecision: "defer"`, o resultado tem `stop_reason: "tool_deferred"` e `deferred_tool_use` carrega o `id`, `name` e `input` da ferramenta pendente. Leia este campo para exibir a requisição em sua própria interface, depois retome com o mesmo `session_id` para continuar. Consulte [Adiar uma chamada de ferramenta para depois](/docs/pt/hooks#defer-a-tool-call-for-later) para o ciclo completo.

1750 1750 

1751<h4 id="user_message_uuid">1751<h4 id="user_message_uuid">

1752 `user_message_uuid`1752 `user_message_uuid`

1753</h4>1753</h4>

1754 1754 

1755O `uuid` da [`SDKUserMessage`](#sdkusermessage) que a rodada está respondendo, ecoado para que você possa corresponder a resposta de Claude Code à mensagem que você enviou. Claude Code ecoa um `uuid` apenas se você definir um na mensagem. O campo é opcional em `SDKUserMessage`, e um prompt de string passado para `query()` não carrega nenhum.1755O `uuid` da [`SDKUserMessage`](#sdkusermessage) que o turno está respondendo, ecoado para que você possa corresponder a resposta de Claude Code à mensagem que você enviou. Claude Code ecoa um `uuid` apenas se você definir um na mensagem. O campo é opcional em `SDKUserMessage`, e um prompt de string passado para `query()` não carrega nenhum.

1756 1756 

1757Qual de suas mensagens uma rodada responde depende de como a rodada começou:1757Qual de suas mensagens um turno responde depende de como o turno começou:

1758 1758 

1759* **Uma mensagem regular que você enviou**, significando uma sem `isSynthetic: true`: a rodada responde essa mensagem por toda sua execução. Quando você envia várias mensagens próximas, Claude Code pode mesclá-las em uma rodada, e o campo então carrega apenas o `uuid` da última mensagem. Para corresponder a resposta a qualquer uma das mensagens mescladas, use [`user_message_uuids`](#user_message_uuids).1759* **Uma mensagem regular que você enviou**, ou seja, uma sem `isSynthetic: true`: o turno responde a essa mensagem durante toda a sua execução. Quando você envia várias mensagens próximas, Claude Code pode mesclá-las em um turno, e o campo então carrega apenas o `uuid` da última mensagem. Para corresponder a resposta a qualquer uma das mensagens mescladas, use [`user_message_uuids`](#user_message_uuids).

1760* **Uma mensagem que você enviou com `isSynthetic: true`**: a rodada responde essa mensagem no início. Se Claude Code pegar uma mensagem regular sua entre chamadas de ferramenta, a rodada responde a mensagem capturada a partir de então. Ecoar o `uuid` de uma mensagem sintética requer Agent SDK v0.3.265 ou posterior; versões anteriores não ecoam nada em rodadas sintéticas.1760* **Uma mensagem que você enviou com `isSynthetic: true`**: o turno responde a essa mensagem no início. Se Claude Code captar uma mensagem regular sua entre chamadas de ferramenta, o turno responde à mensagem captada a partir de então. Ecoar o `uuid` de uma mensagem sintética requer Agent SDK v0.3.265 ou posterior; versões anteriores não ecoam nada em turnos sintéticos.

1761* **O prompt que Claude Code gera para re-executar uma rodada interrompida sob [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/pt/env-vars)**: quando o último prompt da rodada interrompida é uma mensagem regular que você enviou, independentemente de ter aberto a rodada ou Claude Code tê-la capturado durante a rodada, a re-execução responde essa mensagem no início. [`resume_reason`](#resume_reason) diz os quadros da re-execução do da tentativa interrompida. Quando o último prompt não é uma mensagem regular sua, a re-execução não responde nenhuma mensagem sua no início. Se Claude Code pegar uma mensagem regular sua entre chamadas de ferramenta, a rodada responde a mensagem capturada a partir de então. Ecoar o prompt da rodada interrompida requer Agent SDK v0.3.268 ou posterior.1761* **O prompt que Claude Code gera para re-executar um turno interrompido sob [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/pt/env-vars)**: quando o último prompt do turno interrompido é uma mensagem regular que você enviou, independentemente de ela ter aberto o turno ou de Claude Code tê-la captado durante o turno, a re-execução responde a essa mensagem no início. [`resume_reason`](#resume_reason) distingue os quadros da re-execução dos da tentativa interrompida. Quando o último prompt não é uma mensagem regular sua, a re-execução não responde a nenhuma mensagem sua no início. Se Claude Code captar uma mensagem regular sua entre chamadas de ferramenta, o turno responde à mensagem captada a partir de então. Ecoar o prompt do turno interrompido requer Agent SDK v0.3.268 ou posterior.

1762* **Qualquer outro prompt que Claude Code gerou a si mesmo**: a rodada não responde nenhuma mensagem sua no início e seus quadros não carregam nenhum eco. Se Claude Code pegar uma mensagem regular sua entre chamadas de ferramenta, a rodada responde essa mensagem a partir de então. O eco de captura requer Agent SDK v0.3.265 ou posterior; versões anteriores não ecoam nada nessas rodadas.1762* **Qualquer outro prompt que Claude Code gerou por conta própria**: o turno não responde a nenhuma mensagem sua no início e seus quadros não carregam nenhum eco. Se Claude Code captar uma mensagem regular sua entre chamadas de ferramenta, o turno responde a essa mensagem a partir de então. O eco de captação requer Agent SDK v0.3.265 ou posterior; versões anteriores não ecoam nada nesses turnos.

1763 1763 

1764Claude Code ecoa o `uuid` da mensagem respondida em três tipos de quadro:1764Claude Code ecoa o `uuid` da mensagem respondida em três tipos de quadro:

1765 1765 

1766* **O resultado**: cada resultado de uma rodada que respondeu uma mensagem que você enviou. Cada tal resultado o carrega em Agent SDK v0.3.265 ou posterior. Antes de v0.3.265, o resultado de sucesso de uma rodada que uma mensagem regular iniciou o faltava quando a rodada não enviou nenhuma solicitação de API ou terminou com uma chamada de ferramenta adiada. Antes de v0.3.246, resultados de erro também o faltavam, e antes de v0.3.216 cada resultado o faltava.1766* **O resultado**: cada resultado de um turno que respondeu a uma mensagem que você enviou. Todo resultado desse tipo o carrega em Agent SDK v0.3.265 ou posterior. Antes de v0.3.265, o resultado de sucesso de um turno que uma mensagem regular iniciou não o tinha quando o turno não enviou nenhuma requisição de API ou terminou com uma chamada de ferramenta adiada. Antes de v0.3.246, resultados de erro também não o tinham, e antes de v0.3.216 nenhum resultado o tinha.

1767* **A primeira resposta da rodada**: a primeira [mensagem do assistente](#sdkassistantmessage), ou com `includePartialMessages` o primeiro [evento de fluxo](#sdkpartialassistantmessage) cujo `event.type` não é `ping`, para que você possa vincular a resposta antes do resultado chegar. Quando uma rodada não transmite nada, Claude Code o define na primeira mensagem do assistente. O eco de primeira resposta requer Agent SDK v0.3.246 ou posterior. Quando a mensagem que a rodada está respondendo muda no meio da rodada, a primeira resposta após a mudança carrega o campo também, em Agent SDK v0.3.265 ou posterior; versões anteriores o definem em um quadro de resposta por rodada.1767* **A primeira resposta do turno**: a primeira [mensagem do assistente](#sdkassistantmessage) e, com `includePartialMessages`, também o primeiro [evento de stream](#sdkpartialassistantmessage) cujo `event.type` não é `ping`, para que você possa vincular a resposta antes de o resultado chegar. O eco de primeira resposta requer Agent SDK v0.3.246 ou posterior. Antes de v0.3.269, com `includePartialMessages`, Claude Code o definia apenas nesse primeiro evento de stream, ou na primeira mensagem do assistente quando o turno não transmitia nada. Quando a mensagem que o turno está respondendo muda no meio do turno, a primeira resposta após a mudança carrega o campo também, em Agent SDK v0.3.265 ou posterior; versões anteriores o definem em um quadro de resposta por turno.

1768* **Cada quadro [`thinking_tokens`](#sdkthinkingtokensmessage) da rodada**: para que você possa atribuir progresso de pensamento à mensagem que você enviou sem esperar pela primeira resposta da rodada. Requer Agent SDK v0.3.260 ou posterior.1768* **Cada quadro [`thinking_tokens`](#sdkthinkingtokensmessage) do turno**: para que você possa atribuir o progresso do pensamento à mensagem que você enviou sem esperar pela primeira resposta do turno. Requer Agent SDK v0.3.260 ou posterior.

1769 1769 

1770Claude Code omite o campo nestes casos:1770Claude Code omite o campo nestes casos:

1771 1771 

1772* Quadros de resposta diferentes daquelas primeiras respostas1772* Quadros de resposta diferentes daquelas primeiras respostas

1773* Quadros de subagente1773* Quadros de subagente

1774* Rodadas que não respondem nenhuma mensagem sua, ou respondem uma mensagem que você enviou sem um `uuid`1774* Turnos que não respondem a nenhuma mensagem sua, ou respondem a uma mensagem que você enviou sem um `uuid`

1775* Resultados que não respondem nenhuma mensagem que você enviou, como o resultado zerado após uma falha de processo de trabalho1775* Resultados que não respondem a nenhuma mensagem que você enviou, como o resultado zerado após uma falha de processo de trabalho

1776 1776 

1777<h4 id="user_message_uuids">1777<h4 id="user_message_uuids">

1778 `user_message_uuids`1778 `user_message_uuids`

1779</h4>1779</h4>

1780 1780 

1781Os `uuid`s de cada mensagem que você enviou que Claude Code respondeu nesta rodada. Quando você envia várias mensagens próximas, Claude Code pode mesclá-las em uma rodada, e `user_message_uuid` então nomeia apenas a última delas. Para corresponder a resposta a qualquer uma das mensagens mescladas, procure o `uuid` dessa mensagem em qualquer lugar desta lista. Requer Agent SDK v0.3.259 ou posterior.1781Os `uuid`s de cada mensagem que você enviou que Claude Code respondeu neste turno. Quando você envia várias mensagens próximas, Claude Code pode mesclá-las em um turno, e `user_message_uuid` então nomeia apenas a última delas. Para corresponder a resposta a qualquer uma das mensagens mescladas, procure o `uuid` dessa mensagem em qualquer lugar desta lista. Requer Agent SDK v0.3.259 ou posterior.

1782 1782 

1783Claude Code define a lista junto com `user_message_uuid` em cada quadro de resposta que carrega esse campo e no resultado. Para o conjunto completo de quadros de rodada que ecoam o `uuid` da mensagem respondida, e a versão que cada um requer, consulte [`user_message_uuid`](#user_message_uuid). A lista sempre contém `user_message_uuid` e contém no máximo 64 entradas.1783Claude Code define a lista junto com `user_message_uuid` em cada quadro de resposta que carrega esse campo e no resultado. Para o conjunto completo de quadros do turno que ecoam o `uuid` da mensagem respondida, e a versão que cada um requer, consulte [`user_message_uuid`](#user_message_uuid). A lista sempre contém `user_message_uuid` e contém no máximo 64 entradas.

1784 1784 

1785Quando Claude Code pega uma mensagem regular que você enviou enquanto uma rodada estava em execução, ele adiciona o `uuid` dessa mensagem à lista do resultado.1785Quando Claude Code capta uma mensagem regular que você enviou enquanto um turno estava em execução, ele adiciona o `uuid` dessa mensagem à lista do resultado.

1786 1786 

1787Quando uma primeira resposta ou resultado carrega `user_message_uuid` sem a lista, veio de uma versão anterior de Claude Code, portanto recue para o campo único.1787Quando uma primeira resposta ou resultado carrega `user_message_uuid` sem a lista, veio de uma versão anterior de Claude Code, portanto recorra ao campo único.

1788 1788 

1789<h4 id="resume_reason">1789<h4 id="resume_reason">

1790 `resume_reason`1790 `resume_reason`

1791</h4>1791</h4>

1792 1792 

1793Por que Claude Code re-executou esta rodada após uma reinicialização. Claude Code define este campo em uma rodada que re-executou sob [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/pt/env-vars), para que você possa dizer a resposta e o resultado da re-execução da tentativa interrompida. Requer Agent SDK v0.3.268 ou posterior.1793Por que Claude Code re-executou este turno após uma reinicialização. Claude Code define este campo em um turno que re-executou sob [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/pt/env-vars), para que você possa distinguir a resposta e o resultado da re-execução dos da tentativa interrompida. Requer Agent SDK v0.3.268 ou posterior.

1794 1794 

1795Claude Code define o campo em dois tipos de quadro:1795Claude Code define o campo em dois tipos de quadro:

1796 1796 

1797* **O resultado da re-execução**: em ambos os braços de sucesso e erro, independentemente de o resultado carregar `user_message_uuid`.1797* **O resultado da re-execução**: tanto no braço de sucesso quanto no de erro, independentemente de o resultado carregar `user_message_uuid`.

1798* **Os quadros de resposta da re-execução**: aqueles que carregam [`user_message_uuid`](#user_message_uuid).1798* **Os quadros de resposta da re-execução**: aqueles que carregam [`user_message_uuid`](#user_message_uuid).

1799 1799 

1800O valor é um token curto em minúsculas nomeando por que a rodada foi re-executada, como `interrupted_turn`. O campo está ausente em cada outra rodada.1800O valor é um token curto em minúsculas nomeando por que o turno foi re-executado, como `interrupted_turn`. O campo está ausente em todos os outros turnos.

1801 1801 

1802<h4 id="queued_turn_count">1802<h4 id="queued_turn_count">

1803 `queued_turn_count`1803 `queued_turn_count`


1807 1807 

1808O que `0` e um campo ausente indicam:1808O que `0` e um campo ausente indicam:

1809 1809 

1810* **`0`**: Claude Code não conta mensagens que você enviou sem esse `origin`, e não conta notificações de tarefa, portanto uma rodada ainda pode seguir.1810* **`0`**: Claude Code não conta mensagens que você enviou sem esse `origin`, e não conta notificações de tarefa, portanto um turno ainda pode seguir.

1811* **Ausente**: o resultado final que Claude Code emite após uma falha ou erro fatal de inicialização omite o campo, e [pode carregar totais zerados](/docs/pt/agent-sdk/cost-tracking#recover-totals-after-a-session-crash).1811* **Ausente**: o resultado final que Claude Code emite após uma falha ou erro fatal de inicialização omite o campo, e [pode carregar totais zerados](/docs/pt/agent-sdk/cost-tracking#recover-totals-after-a-session-crash).

1812 1812 

1813<h4 id="startup_failure_reason">1813<h4 id="startup_failure_reason">

1814 `startup_failure_reason`1814 `startup_failure_reason`

1815</h4>1815</h4>

1816 1816 

1817Por que Claude Code recusou iniciar, para que sua aplicação possa oferecer a correção em vez de uma tentativa. Claude Code o define no resultado `error_during_execution` que escreve antes de sair em uma falha de inicialização conhecida. Esse resultado carrega totais zerados, e seu array `errors` carrega o mesmo texto que stderr. O campo está ausente em cada outro resultado. Requer Agent SDK v0.3.274 ou posterior.1817Por que Claude Code se recusou a iniciar, para que sua aplicação possa oferecer a correção em vez de uma nova tentativa. Claude Code o define no resultado `error_during_execution` que escreve antes de sair em uma falha de inicialização conhecida. Esse resultado carrega totais zerados, e seu array `errors` carrega o mesmo texto que stderr. O campo está ausente em todos os outros resultados. Requer Agent SDK v0.3.274 ou posterior.

1818 1818 

1819Defina `CLAUDE_CODE_STARTUP_FAILURE_RESULTS` como `1` em [`env`](#options) para receber este resultado para cada valor `SDKStartupFailureReason`. Sem essa variável, Claude Code escreve o resultado apenas para essas falhas, e o resto termina com saída stderr, uma saída diferente de zero e nenhuma mensagem de resultado:1819Defina `CLAUDE_CODE_STARTUP_FAILURE_RESULTS` como `1` em [`env`](#options) para receber este resultado para cada valor de `SDKStartupFailureReason`. Sem essa variável, Claude Code escreve o resultado apenas para estas falhas, e as demais terminam com saída em stderr, um código de saída diferente de zero e nenhuma mensagem de resultado:

1820 1820 

1821* Uma retomada que Claude Code para porque não consegue [retornar a sessão para sua worktree](/docs/pt/worktrees#the-session-resumes-outside-its-worktree), com `worktree_unverified` ou `worktree_resume_refused`. Essa seção diz qual erro carrega qual valor.1821* Uma retomada que Claude Code interrompe porque [não consegue retornar a sessão ao seu worktree](/docs/pt/worktrees#the-session-resumes-outside-its-worktree), com `worktree_unverified` ou `worktree_resume_refused`. Essa seção diz qual erro carrega qual valor.

1822* Uma [`continue`](#options) recusada de uma conversa que uma sessão de fundo mantém, com `session_held_by_background`. Para uma [`resume`](#options) recusada de tal conversa, Claude Code escreve o resultado apenas quando a variável está definida.1822* Um [`continue`](#options) recusado de uma conversa que uma sessão em segundo plano mantém, com `session_held_by_background`. Para um [`resume`](#options) recusado de tal conversa, Claude Code escreve o resultado apenas quando a variável está definida.

1823 1823 

1824```typescript theme={null}1824```typescript theme={null}

1825type SDKStartupFailureReason =1825type SDKStartupFailureReason =


1846 1846 

1847| Valor | O que parou a sessão |1847| Valor | O que parou a sessão |

1848| :- | :- |1848| :- | :- |

1849| `org_pin_api_key_conflict` | Configurações gerenciadas [requerem um login de gateway de primeira parte ou Cloud](/docs/pt/authentication#restrict-login-to-your-organization), e uma chave de API Anthropic, token de autenticação ou `apiKeyHelper` está configurado em vez disso |1849| `org_pin_api_key_conflict` | Configurações gerenciadas [exigem um login de primeira parte ou do gateway Cloud](/docs/pt/authentication#restrict-login-to-your-organization), e uma chave de API Anthropic, token de autenticação ou `apiKeyHelper` está configurado em vez disso |

1850| `provider_not_allowed` | Configurações gerenciadas [listam os provedores de API que esta máquina pode usar](/docs/pt/settings-reference#allowedproviders), e a sessão está configurada para um provedor que não está listado, ou para um endpoint que as configurações não fixam. Requer Claude Code v2.1.285 ou posterior |1850| `provider_not_allowed` | Configurações gerenciadas [listam os provedores de API que esta máquina pode usar](/docs/pt/settings-reference#allowedproviders), e a sessão está configurada para um provedor que não está listado, ou para um endpoint que as configurações não fixam. Requer Claude Code v2.1.285 ou posterior |

1851| `org_verify_failed` | A organização do login não conseguiu ser verificada contra o pin, por exemplo, por causa de uma falha de rede ou um token revogado |1851| `org_verify_failed` | A organização do login não pôde ser verificada em relação ao pin, por exemplo, por causa de uma falha de rede ou um token revogado |

1852| `org_pin_mismatch` | O login pertence a uma organização que o pin não permite |1852| `org_pin_mismatch` | O login pertence a uma organização que o pin não permite |

1853| `managed_settings_invalid` | Configurações de política gerenciada não conseguiram ser lidas, o pin não nomeia nenhuma organização, ou [restrições de modelo gerenciadas](/docs/pt/errors#managed-settings-block-the-default-model) não deixam nenhum modelo permitido para a opção Padrão |1853| `managed_settings_invalid` | As configurações de política gerenciadas não puderam ser lidas, o pin não nomeia nenhuma organização, ou [restrições de modelo gerenciadas](/docs/pt/errors#managed-settings-block-the-default-model) não deixam nenhum modelo permitido para a opção Padrão |

1854| `remote_settings_required_unavailable` | Configurações gerenciadas que a organização requer não conseguiram ser carregadas |1854| `remote_settings_required_unavailable` | Configurações gerenciadas que a organização exige não puderam ser carregadas |

1855| `gateway_signin_required` | O [gateway Cloud](/docs/pt/claude-apps-gateway) encerrou este login |1855| `gateway_signin_required` | O [gateway Cloud](/docs/pt/claude-apps-gateway) encerrou este login |

1856| `gateway_access_denied` | A solicitação de configurações gerenciadas para o gateway Cloud voltou com um 403, que a [tabela de solução de problemas](/docs/pt/claude-apps-gateway-deploy#troubleshooting) do gateway cobre |1856| `gateway_access_denied` | A requisição de configurações gerenciadas ao gateway Cloud retornou um 403, que a [tabela de solução de problemas](/docs/pt/claude-apps-gateway-deploy#troubleshooting) do gateway cobre |

1857| `proxy_invalid` | Uma configuração de proxy não é uma URL completa |1857| `proxy_invalid` | Uma configuração de proxy não é uma URL completa |

1858| `temp_dir_unusable` | O diretório temporário por usuário é inseguro ou não conseguiu ser criado |1858| `temp_dir_unusable` | O diretório temporário por usuário é inseguro ou não pôde ser criado |

1859| `cwd_unavailable` | O diretório de trabalho foi deletado, movido ou não consegue ser lido |1859| `cwd_unavailable` | O diretório de trabalho foi excluído, movido ou não pode ser lido |

1860| `shell_tool_missing` | No Windows, nenhuma ferramenta de shell está disponível: Git Bash está faltando, e PowerShell está faltando ou desativado com `CLAUDE_CODE_USE_POWERSHELL_TOOL` |1860| `shell_tool_missing` | No Windows, nenhuma ferramenta de shell está disponível: Git Bash está ausente, e PowerShell está ausente ou desativado com `CLAUDE_CODE_USE_POWERSHELL_TOOL` |

1861| `session_held_by_background` | A conversa para retomar ou continuar está sendo executada como uma [sessão de fundo](/docs/pt/agent-view) |1861| `session_held_by_background` | A conversa a retomar ou continuar está sendo executada como uma [sessão em segundo plano](/docs/pt/agent-view) |

1862| `worktree_resume_refused` | A worktree da sessão falhou suas verificações de segurança, ou a retomada foi lançada de dentro dela. `errors` diz se executar a mesma retomada novamente continua sem a worktree |1862| `worktree_resume_refused` | O worktree da sessão falhou em suas verificações de segurança, ou a retomada foi iniciada de dentro dele. `errors` diz se executar a mesma retomada novamente continua sem o worktree |

1863| `worktree_unverified` | A worktree da sessão não conseguiu ser verificada agora, e tentar novamente pode ter sucesso |1863| `worktree_unverified` | O worktree da sessão não pôde ser verificado agora, e tentar novamente pode ter sucesso |

1864| `cli_version_too_old` | Esta versão de Claude Code está abaixo do mínimo que Anthropic requer |1864| `cli_version_too_old` | Esta versão de Claude Code está abaixo do mínimo que a Anthropic exige |

1865| `bypass_root` | Modo de permissões de bypass foi solicitado enquanto executava como root |1865| `bypass_root` | O modo de permissões de bypass foi solicitado durante a execução como root |

1866 1866 

1867<h3 id="sdksystemmessage">1867<h3 id="sdksystemmessage">

1868 `SDKSystemMessage`1868 `SDKSystemMessage`


1907};1907};

1908```1908```

1909 1909 

1910`fast_mode_state` relata o estado [fast mode](/docs/pt/fast-mode) da sessão. Quando algo bloqueia o fast mode, `fast_mode_disabled_reason` nomeia a verificação que o bloqueou; o campo requer Claude Code v2.1.219 ou posterior. Para os códigos de motivo e seus significados, consulte [`fast_mode_disabled_reason`](#sdkresultmessage) na mensagem de resultado.1910`fast_mode_state` relata o estado do [modo rápido](/docs/pt/fast-mode) da sessão. Quando algo bloqueia o modo rápido, `fast_mode_disabled_reason` nomeia a verificação que o bloqueou; o campo requer Claude Code v2.1.219 ou posterior. Para os códigos de motivo e seus significados, consulte [`fast_mode_disabled_reason`](#sdkresultmessage) na mensagem de resultado.

1911 1911 

1912`terminal_slash_commands` nomeia as entradas em `slash_commands` cuja interface está vinculada ao terminal local, como `exit`. Você pode enviá-las como qualquer outra entrada em `slash_commands`; o campo existe para que um cliente remoto ou móvel possa ocultá-las de seus menus de comando. O campo está presente apenas quando não vazio, e requer Agent SDK v0.3.229 ou posterior.1912`terminal_slash_commands` nomeia as entradas em `slash_commands` cuja interface está vinculada ao terminal local, como `exit`. Você pode enviá-las como qualquer outra entrada em `slash_commands`; o campo existe para que um cliente remoto ou móvel possa ocultá-las de seus menus de comando. O campo está presente apenas quando não vazio, e requer Agent SDK v0.3.229 ou posterior.

1913 1913 

1914* `source` em cada entrada `mcp_servers`: de onde veio a definição do servidor, com os mesmos valores que [`McpServerStatus`](#mcpserverstatus)'s `source`. Requer Agent SDK v0.3.274 ou posterior.1914* `source` em cada entrada de `mcp_servers`: de onde veio a definição do servidor, com os mesmos valores que o `source` de [`McpServerStatus`](#mcpserverstatus). Requer Agent SDK v0.3.274 ou posterior.

1915* `effort`: o [nível de esforço](/docs/pt/model-config#adjust-effort-level) que Claude Code envia na próxima solicitação da sessão, ou `null` quando não envia nenhum. Claude Code define o campo apenas na mensagem init que envia para clientes [Remote Control](/docs/pt/remote-control), e o omite da mensagem init que sua aplicação lê. Requer Agent SDK v0.3.234 ou posterior.1915* `effort`: o [nível de esforço](/docs/pt/model-config#adjust-effort-level) que Claude Code envia na próxima requisição da sessão, ou `null` quando não envia nenhum. Claude Code define o campo apenas na mensagem init que envia para clientes [Remote Control](/docs/pt/remote-control), e o omite da mensagem init que sua aplicação lê. Requer Agent SDK v0.3.234 ou posterior.

1916 1916 

1917O array `capabilities` nomeia os comportamentos de protocolo que este CLI implementa, para que você possa fazer detecção de recursos em vez de comparar strings `claude_code_version`. É um conjunto aberto: ignore valores que você não reconheça, e verifique a capacidade específica cujo comportamento você depende. O campo requer Claude Code v2.1.205 ou posterior e está ausente em CLIs anteriores.1917O array `capabilities` nomeia os comportamentos de protocolo que este CLI implementa, para que você possa fazer detecção de recursos em vez de comparar strings `claude_code_version`. É um conjunto aberto: ignore valores que você não reconheça, e verifique a capacidade específica de cujo comportamento você depende. O campo requer Claude Code v2.1.205 ou posterior e está ausente em CLIs anteriores.

1918 1918 

1919| Capacidade | Significado |1919| Capacidade | Significado |

1920| - | - |1920| - | - |

1921| `interrupt_receipt_v1` | [`interrupt()`](#query-object) resolve com um recibo [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse) listando as mensagens que estavam pendentes quando a interrupção chegou |1921| `interrupt_receipt_v1` | [`interrupt()`](#query-object) resolve com um recibo [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse) listando as mensagens que estavam pendentes quando a interrupção chegou |

1922| `interrupt_cancel_queued_v1` | A solicitação de controle `interrupt` honra `cancel_queued: true`, cancelando as mensagens que o recibo listaria sob `still_queued` e listando-as sob `cancelled` em vez disso. Consulte [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse). Requer Claude Code v2.1.219 ou posterior |1922| `interrupt_cancel_queued_v1` | A requisição de controle `interrupt` respeita `cancel_queued: true`, cancelando as mensagens que o recibo listaria sob `still_queued` e listando-as sob `cancelled` em vez disso. Consulte [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse). Requer Claude Code v2.1.219 ou posterior |

1923 1923 

1924O array `plugin_errors` lista falhas de carregamento de plugin. Uma entrada descreve um plugin que não carregou e está ausente de `plugins`, ou um plugin que carregou sem uma de suas partes, como seu arquivo de hooks. A chave é omitida quando nada falhou. `SDKSystemMessage` declara `plugin_errors` em Agent SDK v0.3.283 ou posterior.1924O array `plugin_errors` lista falhas de carregamento de plugin. Uma entrada descreve um plugin que não carregou e está ausente de `plugins`, ou um plugin que carregou sem uma de suas partes, como seu arquivo de hooks. A chave é omitida quando nada falhou. `SDKSystemMessage` declara `plugin_errors` em Agent SDK v0.3.283 ou posterior.

1925 1925 

1926Quando um diretório ou arquivo de sua opção [`plugins`](#options) falha em carregar, o campo `plugin` da entrada contém uma tag posicional como `inline[0]` em vez de um nome de plugin. Isso acontece, por exemplo, quando o caminho não existe ou o manifesto é inválido. Corresponda tal entrada à sua opção pelo seu campo `path`.1926Quando um diretório ou arquivo compactado da sua [opção `plugins`](#options) em si falha ao carregar, o campo `plugin` da entrada contém uma tag posicional como `inline[0]` em vez de um nome de plugin. Isso acontece, por exemplo, quando o caminho não existe ou o manifesto é inválido. Corresponda tal entrada à sua opção pelo campo `path`.

1927 1927 

1928A tabela abaixo lista os campos de cada entrada `plugin_errors`.1928A tabela abaixo lista os campos de cada entrada de `plugin_errors`.

1929 1929 

1930| Campo | Tipo | Descrição |1930| Campo | Tipo | Descrição |

1931| - | - | - |1931| - | - | - |

1932| `plugin` | `string` | O ID do plugin que falha, ou uma tag posicional como `inline[0]` quando o diretório ou arquivo do plugin em si falhou em carregar |1932| `plugin` | `string` | O ID do plugin que falhou, ou uma tag posicional como `inline[0]` quando o diretório ou arquivo compactado do plugin em si falhou ao carregar |

1933| `type` | `string` | Categoria de erro de um conjunto aberto, como `path-not-found` ou `manifest-validation-error`. Trate um valor que você não reconheça como uma falha genérica |1933| `type` | `string` | Categoria de erro de um conjunto aberto, como `path-not-found` ou `manifest-validation-error`. Trate um valor que você não reconheça como uma falha genérica |

1934| `message` | `string` | Texto de exibição descrevendo a falha |1934| `message` | `string` | Texto de exibição descrevendo a falha |

1935| `path` | `string` | Presente apenas quando o diretório ou arquivo do plugin em si falhou em carregar. Seu caminho absoluto, com um caminho relativo de sua opção `plugins` resolvido contra a opção [`cwd`](#options) |1935| `path` | `string` | Presente apenas quando o diretório ou arquivo compactado do plugin em si falhou ao carregar. Seu caminho absoluto, com um caminho relativo da sua opção `plugins` resolvido em relação à opção [`cwd`](#options) |

1936 1936 

1937<h3 id="sdkpartialassistantmessage">1937<h3 id="sdkpartialassistantmessage">

1938 `SDKPartialAssistantMessage`1938 `SDKPartialAssistantMessage`

1939</h3>1939</h3>

1940 1940 

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

1942 1942 

1943```typescript theme={null}1943```typescript theme={null}

1944type SDKPartialAssistantMessage = {1944type SDKPartialAssistantMessage = {


1954};1954};

1955```1955```

1956 1956 

1957Claude Code define `user_message_uuid` e `user_message_uuids` no primeiro evento de fluxo não-ping da rodada, e novamente quando a mensagem que a rodada está respondendo muda, sob as condições em [`user_message_uuid`](#user_message_uuid). Quando Claude Code re-executa uma rodada que uma reinicialização interrompeu, os eventos de fluxo da re-execução que carregam esses campos também carregam [`resume_reason`](#resume_reason).1957Claude Code define `user_message_uuid` e `user_message_uuids` no primeiro evento de stream não-ping do turno, e novamente quando a mensagem que o turno está respondendo muda, sob as condições em [`user_message_uuid`](#user_message_uuid). Quando Claude Code re-executa um turno que uma reinicialização interrompeu, os eventos de stream da re-execução que carregam esses campos também carregam [`resume_reason`](#resume_reason).

1958 1958 

1959<h3 id="sdkcompactboundarymessage">1959<h3 id="sdkcompactboundarymessage">

1960 `SDKCompactBoundaryMessage`1960 `SDKCompactBoundaryMessage`


1979 `SDKInformationalMessage`1979 `SDKInformationalMessage`

1980</h3>1980</h3>

1981 1981 

1982Banner de texto genérico emitido pelo loop. Carrega avisos, notificações e outras linhas de status não-erro que Claude Code levanta, e feedback de hook como um motivo de bloqueio de hook `UserPromptSubmit`.1982Banner de texto genérico emitido pelo loop. Carrega avisos, notificações e outras linhas de status que não são erros levantadas por Claude Code, e feedback de hook como o motivo de bloqueio de um hook `UserPromptSubmit`.

1983 1983 

1984Em Claude Code v2.1.227 ou posterior, a [`systemMessage`](/docs/pt/hooks#json-output) de um hook pode chegar como esta mensagem, com cada linha prefixada pelo nome do hook, como `PostToolUse:Bash says:`. Cada [seção de evento](/docs/pt/hooks#hook-events) na página de hooks diz como a saída aparece.1984Em Claude Code v2.1.227 ou posterior, a [`systemMessage`](/docs/pt/hooks#json-output) de um hook pode chegar como esta mensagem, com cada linha prefixada pelo nome do hook, como `PostToolUse:Bash says:`. A [seção de cada evento](/docs/pt/hooks#hook-events) na página de hooks diz como a saída aparece.

1985 1985 

1986Renderize `content` como texto simples no `level` dado.1986Renderize `content` como texto simples no `level` fornecido.

1987 1987 

1988```typescript theme={null}1988```typescript theme={null}

1989type SDKInformationalMessage = {1989type SDKInformationalMessage = {


2002 `SDKWorkerShuttingDownMessage`2002 `SDKWorkerShuttingDownMessage`

2003</h3>2003</h3>

2004 2004 

2005Emitido no encerramento gracioso do worker para que clientes remotos possam mostrar por que o worker saiu em vez de esperar pelo timeout de heartbeat. O `reason` é uma string curta em snake\_case definida pelo CLI do host, como `"host_exit"` ou `"remote_control_disabled"`. Aja nisto apenas quando transmitindo ao vivo. Uma sessão retomada reproduz instâncias passadas desta mensagem, portanto ignore-as nesse caso.2005Emitido no encerramento gracioso do worker para que clientes remotos possam mostrar por que o worker saiu em vez de esperar pelo timeout de heartbeat. O `reason` é uma string curta em snake\_case definida pelo CLI do host, como `"host_exit"` ou `"remote_control_disabled"`. Aja com base nisso apenas durante streaming ao vivo. Uma sessão retomada reproduz instâncias passadas desta mensagem, portanto ignore-as nesse caso.

2006 2006 

2007```typescript theme={null}2007```typescript theme={null}

2008type SDKWorkerShuttingDownMessage = {2008type SDKWorkerShuttingDownMessage = {


2018 `SDKPluginInstallMessage`2018 `SDKPluginInstallMessage`

2019</h3>2019</h3>

2020 2020 

2021Evento de progresso de instalação de plugin. Emitido quando [`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/docs/pt/env-vars) está definido, para que sua aplicação Agent SDK possa rastrear a instalação de plugin de marketplace antes da primeira rodada. Os status `started` e `completed` delimitam a instalação geral. Os status `installed` e `failed` relatam marketplaces individuais e incluem `name`.2021Evento de progresso de instalação de plugin. Emitido quando [`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/docs/pt/env-vars) está definido, para que sua aplicação Agent SDK possa rastrear a instalação de plugins do marketplace antes do primeiro turno. Os status `started` e `completed` delimitam a instalação geral. Os status `installed` e `failed` relatam marketplaces individuais e incluem `name`.

2022 2022 

2023```typescript theme={null}2023```typescript theme={null}

2024type SDKPluginInstallMessage = {2024type SDKPluginInstallMessage = {


2036 `SDKPermissionDeniedMessage`2036 `SDKPermissionDeniedMessage`

2037</h3>2037</h3>

2038 2038 

2039Evento de fluxo emitido quando o sistema de permissão nega uma chamada de ferramenta sem um prompt interativo. Use-o para renderizar a negação em sua interface conforme acontece, em vez de apenas observar o resultado de ferramenta `is_error` que segue. Quais negações ele relata depende de como a execução manipula prompts de permissão:2039Evento de stream emitido quando o sistema de permissão nega uma chamada de ferramenta sem um prompt interativo. Use-o para renderizar a negação em sua interface conforme acontece, em vez de apenas observar o resultado de ferramenta `is_error` que se segue. Quais negações ele relata depende de como a execução lida com prompts de permissão:

2040 2040 

2041* **Com um callback [`canUseTool`](#canusetool)** e o padrão [`permissionPrompts: 'host'`](#options): prompts de permissão vão para seu callback, e este evento relata as negações que Claude Code decide por conta própria sem chamá-lo.2041* **Com um callback [`canUseTool`](#canusetool)** e o padrão [`permissionPrompts: 'host'`](#options): prompts de permissão vão para seu callback, e este evento relata as negações que Claude Code decide por conta própria sem chamá-lo.

2042* **Com nenhum**: uma execução `-p` nua, ou `query()` que não define nem `canUseTool` nem `permissionPromptToolName`, nega qualquer chamada de ferramenta que teria solicitado, e este evento relata essas negações bem como as que Claude Code decide por conta própria. Antes de v2.1.223, Claude Code não emitia este evento em execuções sem um callback.2042* **Com nenhum dos dois**: uma execução `-p` simples, ou `query()` que não define nem `canUseTool` nem `permissionPromptToolName`, nega qualquer chamada de ferramenta que teria pedido confirmação, e este evento relata essas negações bem como as que Claude Code decide por conta própria. Antes de v2.1.223, Claude Code não emitia este evento em execuções sem um callback.

2043* **Com uma ferramenta de prompt MCP**, definida com `permissionPromptToolName` ou a flag [`--permission-prompt-tool`](/docs/pt/cli-reference#cli-flags), e o padrão `permissionPrompts: 'host'`: Claude Code não emite este evento em absoluto, nem mesmo para as negações de regra que decide por conta própria.2043* **Com uma ferramenta de prompt MCP**, definida com `permissionPromptToolName` ou a flag [`--permission-prompt-tool`](/docs/pt/cli-reference#cli-flags), e o padrão `permissionPrompts: 'host'`: Claude Code não emite este evento de forma alguma, nem mesmo para as negações por regra que decide por conta própria.

2044* **Com [`permissionPrompts: 'none'`](#options)**: Claude Code nega as chamadas que teriam solicitado, mesmo quando `canUseTool` ou uma ferramenta de prompt MCP também está definida, e este evento relata essas negações bem como as que Claude Code decide por conta própria. Requer Claude Code v2.1.259 ou posterior.2044* **Com [`permissionPrompts: 'none'`](#options)**: Claude Code nega as chamadas que teriam pedido confirmação, mesmo quando `canUseTool` ou uma ferramenta de prompt MCP também está definida, e este evento relata essas negações bem como as que Claude Code decide por conta própria. Requer Claude Code v2.1.259 ou posterior.

2045 2045 

2046Em cada configuração, este evento pula qualquer negação decidida no caminho do hook `PreToolUse`, independentemente de o hook ter negado a chamada em si ou uma regra de negação ter sobrescrito a decisão de permitir ou perguntar do hook. O evento também é melhor esforço: ocasionalmente Claude Code registra uma negação sem emitir este evento, portanto `permission_denials` na [mensagem de resultado](#sdkresultmessage) é o registro autoritário.2046Em todas as configurações, este evento ignora qualquer negação decidida no caminho do hook `PreToolUse`, independentemente de o hook ter negado a chamada em si ou de uma regra de negação ter sobrescrito a decisão de permitir ou perguntar do hook. O evento também é de melhor esforço: ocasionalmente Claude Code registra uma negação sem emitir este evento, portanto `permission_denials` na [mensagem de resultado](#sdkresultmessage) é o registro oficial.

2047 2047 

2048```typescript theme={null}2048```typescript theme={null}

2049type SDKPermissionDeniedMessage = {2049type SDKPermissionDeniedMessage = {


2063| Campo | Tipo | Descrição |2063| Campo | Tipo | Descrição |

2064| - | - | - |2064| - | - | - |

2065| `tool_name` | `string` | Nome da ferramenta que foi negada |2065| `tool_name` | `string` | Nome da ferramenta que foi negada |

2066| `tool_use_id` | `string` | ID do bloco `tool_use` que esta negação responde |2066| `tool_use_id` | `string` | ID do bloco `tool_use` ao qual esta negação responde |

2067| `agent_id` | `string` | ID do subagente quando a chamada negada originou dentro de um subagente. Espelha o campo em `can_use_tool` para roteamento do lado do host |2067| `agent_id` | `string` | ID do subagente quando a chamada negada se originou dentro de um subagente. Espelha o campo em `can_use_tool` para roteamento do lado do host |

2068| `decision_reason_type` | `string` | Discriminador para o componente que decidiu, como `"rule"`, `"mode"`, `"classifier"` ou `"asyncAgent"` |2068| `decision_reason_type` | `string` | Discriminador para o componente que decidiu, como `"rule"`, `"mode"`, `"classifier"` ou `"asyncAgent"` |

2069| `decision_reason` | `string` | Motivo legível por humanos do componente que decidiu, quando disponível |2069| `decision_reason` | `string` | Motivo legível por humanos do componente que decidiu, quando disponível |

2070| `message` | `string` | Mensagem de rejeição retornada ao modelo no `tool_result` |2070| `message` | `string` | Mensagem de rejeição retornada ao modelo no `tool_result` |


2087 `SDKContextUsage`2087 `SDKContextUsage`

2088</h3>2088</h3>

2089 2089 

2090Forma estruturada do relatório `/context`, carregada como `context_usage` na [`SDKAssistantMessage`](#sdkassistantmessage) que entrega um resultado `/context`. Agent SDK v0.3.232 e posterior exportam o tipo. Diferentemente de [`SDKControlGetContextUsageResponse`](#sdkcontrolgetcontextusageresponse), carrega apenas os dados necessários para renderizar o detalhamento de uso, sem campos de exibição como `color` e `gridRows`. Claude Code computa o relatório com solicitações de API de contagem de tokens que não aparecem no fluxo de mensagens; consulte [como essas solicitações são manipuladas](#sdkcontrolgetcontextusageresponse).2090Forma estruturada do relatório `/context`, carregada como `context_usage` na [`SDKAssistantMessage`](#sdkassistantmessage) que entrega um resultado `/context`. Agent SDK v0.3.232 e posterior exportam o tipo. Diferentemente de [`SDKControlGetContextUsageResponse`](#sdkcontrolgetcontextusageresponse), carrega apenas os dados necessários para renderizar o detalhamento de uso, sem campos de exibição como `color` e `gridRows`. Claude Code calcula o relatório com requisições de API de contagem de tokens que não aparecem no stream de mensagens; consulte [como essas requisições são tratadas](#sdkcontrolgetcontextusageresponse).

2091 2091 

2092```typescript theme={null}2092```typescript theme={null}

2093type SDKContextUsage = {2093type SDKContextUsage = {


2128 2128 

2129| Campo | Tipo | Descrição |2129| Campo | Tipo | Descrição |

2130| - | - | - |2130| - | - | - |

2131| `model` | `string` | O modelo do loop principal que Claude Code computou o uso para, não de um subagente |2131| `model` | `string` | O modelo do loop principal para o qual Claude Code calculou o uso, não o de um subagente |

2132| `total_tokens` | `number` | Estimativa de Claude Code dos tokens em uso. Não fixado à janela, portanto pode exceder `raw_max_tokens` quando a sessão está acima do limite |2132| `total_tokens` | `number` | Estimativa de Claude Code dos tokens em uso. Não é limitado à janela, portanto pode exceder `raw_max_tokens` quando a sessão está acima do limite |

2133| `raw_max_tokens` | `number` | A janela de contexto do modelo, ou a [janela de auto-compactação](/docs/pt/model-config#context-window-and-auto-compaction) mais baixa quando uma se aplica, como uma que você definiu ou o limite de 200K que Claude Code aplica a alguns modelos com uma janela de 1M-token. Claude Code mede `total_tokens` contra esta janela |2133| `raw_max_tokens` | `number` | A janela de contexto do modelo, ou a [janela de compactação automática](/docs/pt/model-config#context-window-and-auto-compaction) menor quando uma se aplica, como uma que você definiu ou o limite de 200K que Claude Code aplica a alguns modelos com uma janela de 1M tokens. Claude Code mede `total_tokens` em relação a esta janela |

2134| `percentage` | `number` | `total_tokens` como uma porcentagem arredondada de `raw_max_tokens`, portanto pode exceder 100 quando a sessão está acima do limite |2134| `percentage` | `number` | `total_tokens` como uma porcentagem arredondada de `raw_max_tokens`, portanto pode exceder 100 quando a sessão está acima do limite |

2135| `over_limit` | `object` | Presente apenas quando `total_tokens` excede `raw_max_tokens`. `tokens_over` é a quantidade acima, e `kind` diz como Claude Code resolveu a janela |2135| `over_limit` | `object` | Presente apenas quando `total_tokens` excede `raw_max_tokens`. `tokens_over` é a quantidade excedente, e `kind` diz como Claude Code resolveu a janela |

2136| `categories` | [`SDKContextUsageCategory`](#sdkcontextusagecategory)`[]` | Uma entrada por linha do detalhamento de uso por categoria |2136| `categories` | [`SDKContextUsageCategory`](#sdkcontextusagecategory)`[]` | Uma entrada por linha do detalhamento de uso por categoria |

2137| `mcp_tools` | `object[]` | Tokens atribuídos a cada ferramenta MCP, com seu nome de fio, como `mcp__linear__create_issue`, e seu `server_name` |2137| `mcp_tools` | `object[]` | Tokens atribuídos a cada ferramenta MCP, com seu nome de protocolo, como `mcp__linear__create_issue`, e seu `server_name` |

2138| `memory_files` | `object[]` | Tokens atribuídos a cada arquivo de memória carregado, com seu `path` e um rótulo de fonte como `Project` ou `User` em `type` |2138| `memory_files` | `object[]` | Tokens atribuídos a cada arquivo de memória carregado, com seu `path` e um rótulo de origem como `Project` ou `User` em `type` |

2139| `agents` | `object[]` | Tokens atribuídos a cada definição de subagente customizado, com um identificador de fonte como `projectSettings`, `userSettings` ou `plugin`. Subagentes integrados não estão listados |2139| `agents` | `object[]` | Tokens atribuídos a cada definição de subagente personalizado, com um identificador de origem como `projectSettings`, `userSettings` ou `plugin`. Subagentes integrados não são listados |

2140| `skills` | `object[]` | Tokens atribuídos a cada skill na listagem de skills, com um identificador de fonte e, para skills de plugin, o nome do plugin em `plugin_name`. Ausente quando nenhuma skill contribui tokens |2140| `skills` | `object[]` | Tokens atribuídos a cada skill na listagem de skills, com um identificador de origem e, para skills de plugin, o nome do plugin em `plugin_name`. Ausente quando nenhuma skill contribui com tokens |

2141 2141 

2142`over_limit.kind` registra como Claude Code resolveu a janela, não se a API aceita a próxima solicitação:2142`over_limit.kind` registra como Claude Code resolveu a janela, não se a API aceita a próxima requisição:

2143 2143 

2144* `hard_limit`: a janela é o que Claude Code acredita ser o próprio limite do modelo, além do qual a API recusa solicitações2144* `hard_limit`: a janela é o que Claude Code acredita ser o próprio limite do modelo, além do qual a API recusa requisições

2145* `compaction_window`: a janela é uma janela de política de compactação, que pode ou não coincidir com o limite do modelo2145* `compaction_window`: a janela é uma janela de política de compactação, que pode ou não coincidir com o limite do modelo

2146 2146 

2147Claude Code evolui o tipo aditivamente, adicionando novos dados como campos opcionais em vez de remodelar os existentes. Leia os campos que você conhece e ignore qualquer um que você não reconheça.2147Claude Code evolui o tipo de forma aditiva, adicionando novos dados como campos opcionais em vez de remodelar os existentes. Leia os campos que você conhece e ignore os que você não reconhece.

2148 2148 

2149<h3 id="sdkcontextusagecategory">2149<h3 id="sdkcontextusagecategory">

2150 `SDKContextUsageCategory`2150 `SDKContextUsageCategory`

2151</h3>2151</h3>

2152 2152 

2153Uma linha do detalhamento de uso `/context` por categoria.2153Uma linha do detalhamento de uso por categoria de `/context`.

2154 2154 

2155```typescript theme={null}2155```typescript theme={null}

2156type SDKContextUsageCategory = {2156type SDKContextUsageCategory = {


2168| `tokens` | `number` | A contagem de tokens da linha. Linhas podem carregar zero tokens |2168| `tokens` | `number` | A contagem de tokens da linha. Linhas podem carregar zero tokens |

2169| `kind` | `string` | O que a linha representa: `used`, `free`, `buffer` ou `deferred` |2169| `kind` | `string` | O que a linha representa: `used`, `free`, `buffer` ou `deferred` |

2170 2170 

2171Cada valor `kind` diz o que os tokens da linha são:2171Cada valor de `kind` diz o que são os tokens da linha:

2172 2172 

2173* `used`: conteúdo que ocupa a janela de contexto2173* `used`: conteúdo que ocupa a janela de contexto

2174* `free`: a janela restante2174* `free`: a janela restante

2175* `buffer`: a reserva de compactação2175* `buffer`: a reserva de compactação

2176* `deferred`: esquemas de ferramenta que Claude Code mantém fora da janela e exclui do cálculo de uso, listados para conscientização2176* `deferred`: esquemas de ferramenta que Claude Code mantém fora da janela e exclui do cálculo de uso, listados para conhecimento

2177 2177 

2178<h3 id="sdkmessageorigin">2178<h3 id="sdkmessageorigin">

2179 `SDKMessageOrigin`2179 `SDKMessageOrigin`

2180</h3>2180</h3>

2181 2181 

2182Proveniência de uma mensagem de papel de usuário. Isso aparece como `origin` em [`SDKUserMessage`](#sdkusermessage) e é encaminhado para o [`SDKResultMessage`](#sdkresultmessage) correspondente para que você possa dizer o que disparou uma determinada rodada.2182Proveniência de uma mensagem com papel de usuário. Isso aparece como `origin` em [`SDKUserMessage`](#sdkusermessage) e é encaminhado para o [`SDKResultMessage`](#sdkresultmessage) correspondente para que você possa saber o que disparou um determinado turno.

2183 2183 

2184```typescript theme={null}2184```typescript theme={null}

2185type SDKMessageOrigin =2185type SDKMessageOrigin =


2207 2207 

2208| `kind` | Significado |2208| `kind` | Significado |

2209| - | - |2209| - | - |

2210| `human` | Entrada direta do usuário final. Se sua aplicação encaminha o que o usuário digitou como uma mensagem de usuário, defina seu `origin` como `{ kind: "human" }` explicitamente: Claude Code trata uma mensagem de usuário sem `origin` como não atribuída, e verifica que requerem um prompt digitado por humano, como a [palavra-chave de workflow `ultracode`](/docs/pt/workflows#ask-for-a-workflow-in-your-prompt), não a aceitam. Antes de v2.1.210, Claude Code tratava um `origin` ausente em uma mensagem de usuário como entrada humana. |2210| `human` | Entrada direta do usuário final. Se sua aplicação encaminha o que o usuário digitou como uma mensagem de usuário, defina seu `origin` como `{ kind: "human" }` explicitamente: Claude Code trata uma mensagem de usuário sem `origin` como não atribuída, e verificações que exigem um prompt digitado por humano, como a [palavra-chave de workflow `ultracode`](/docs/pt/workflows#ask-for-a-workflow-in-your-prompt), não a aceitam. Antes de v2.1.210, Claude Code tratava um `origin` ausente em uma mensagem de usuário como entrada humana. |

2211| `channel` | Mensagem chegando em um [canal](/docs/pt/channels). `server` é o nome do servidor MCP de origem. |2211| `channel` | Mensagem chegando em um [canal](/docs/pt/channels). `server` é o nome do servidor MCP de origem. |

2212| `peer` | Mensagem de outro agente: um [colega](/docs/pt/agent-teams) em processo ou um [colega entre sessões](/docs/pt/cross-session-messaging), outra de suas sessões Claude Code. Consulte [Campos de origem de colega](#peer-origin-fields) para a semântica por campo e o modelo de confiança. |2212| `peer` | Mensagem de outro agente: um [colega](/docs/pt/agent-teams) em processo ou um [par entre sessões](/docs/pt/cross-session-messaging), outra de suas sessões Claude Code. Consulte [Campos de origem de par](#peer-origin-fields) para a semântica por campo e o modelo de confiança. |

2213| `task-notification` | Rodada sintética injetada para uma entrega que chega sem um prompt de usuário fresco, como uma tarefa de fundo concluída; consulte [`SDKTaskNotificationMessage`](#sdktasknotificationmessage) para esse braço. Um prompt que sua aplicação [declara como uma execução agendada](#declare-a-scheduled-run) carrega este tipo também. O `subkind` opcional marca o que levantou a notificação. Consulte [Subtipos de notificação de tarefa](#task-notification-subkinds). |2213| `task-notification` | Turno sintético injetado para uma entrega que chega sem um novo prompt do usuário, como uma tarefa em segundo plano concluída; consulte [`SDKTaskNotificationMessage`](#sdktasknotificationmessage) para esse braço. Um prompt que sua aplicação [declara como uma execução agendada](#declare-a-scheduled-run) carrega este tipo também. O `subkind` opcional marca o que levantou a notificação. Consulte [Subtipos de notificação de tarefa](#task-notification-subkinds). |

2214| `coordinator` | Mensagem de um coordenador de equipe em uma [equipe de agente](/docs/pt/agent-teams). |2214| `coordinator` | Mensagem de um coordenador de equipe em uma [equipe de agentes](/docs/pt/agent-teams). |

2215| `auto-continuation` | Rodada sintética injetada quando a sessão continua sem entrada de usuário fresca, como um resultado de comando que dispara um prompt de acompanhamento. |2215| `auto-continuation` | Turno sintético injetado quando a sessão continua sem nova entrada do usuário, como um resultado de comando que dispara um prompt de acompanhamento. |

2216| `unclassified` | Rodada injetada cuja origem não conseguiu ser determinada. Requer Claude Code v2.1.223 ou posterior. Quando Claude Code recebe um [`SDKUserMessage`](#sdkusermessage) com `isSynthetic: true` e não consegue classificá-lo como qualquer outro `kind`, define este kind conforme a mensagem chega e enquadra a rodada para o modelo como uma fonte não-usuário em vez de tratar como entrada humana. Sua aplicação não deve definir este valor. |2216| `unclassified` | Turno injetado cuja origem não pôde ser determinada. Requer Claude Code v2.1.223 ou posterior. Quando Claude Code recebe um [`SDKUserMessage`](#sdkusermessage) com `isSynthetic: true` e não consegue classificá-lo como nenhum outro `kind`, define este tipo quando a mensagem chega e enquadra o turno para o modelo como uma fonte que não é o usuário, em vez de tratá-lo como entrada humana. Sua aplicação não deve definir este valor. |

2217 2217 

2218<h3 id="task-notification-subkinds">2218<h3 id="task-notification-subkinds">

2219 Subtipos de notificação de tarefa2219 Subtipos de notificação de tarefa

2220</h3>2220</h3>

2221 2221 

2222Quando Claude Code entrega uma notificação de tarefa em uma sessão, ele define `subkind` na `origin` da notificação se servidores Anthropic verificaram de onde essa notificação veio. Ele também define `subkind` quando sua aplicação [declara a mensagem como uma execução agendada](#declare-a-scheduled-run) a si mesma, o que requer TypeScript Agent SDK v0.3.280 ou posterior. `subkind` requer Claude Code v2.1.213 ou posterior, e toma um de dois valores:2222Quando Claude Code entrega uma notificação de tarefa em uma sessão, ele define `subkind` no `origin` da notificação se os servidores da Anthropic verificaram de onde essa notificação veio. Ele também define `subkind` quando a própria sua aplicação [declara a mensagem como uma execução agendada](#declare-a-scheduled-run), o que requer TypeScript Agent SDK v0.3.280 ou posterior. `subkind` requer Claude Code v2.1.213 ou posterior, e assume um de dois valores:

2223 2223 

2224* `scheduled-trigger`: a notificação é um prompt armazenado de uma [rotina](/docs/pt/routines), entregue porque um dos gatilhos da rotina disparou: seu cronograma, seu [gatilho de API](/docs/pt/routines#add-an-api-trigger), seu [gatilho GitHub](/docs/pt/routines#add-a-github-trigger), ou **Executar agora**. Um prompt que sua aplicação [declara como uma execução agendada](#declare-a-scheduled-run) carrega este valor também. Claude Code enquadra estes para o modelo como a tarefa atribuída da sessão, com um aviso diferente do [aviso que outras notificações de tarefa carregam](#sdktasknotificationmessage).2224* `scheduled-trigger`: a notificação é o prompt armazenado de uma [rotina](/docs/pt/routines), entregue porque um dos gatilhos da rotina disparou: seu agendamento, seu [gatilho de API](/docs/pt/routines#add-an-api-trigger), seu [gatilho GitHub](/docs/pt/routines#add-a-github-trigger), ou **Executar agora**. Um prompt que sua aplicação [declara como uma execução agendada](#declare-a-scheduled-run) carrega este valor também. Claude Code enquadra estes para o modelo como a tarefa atribuída da sessão, com um aviso diferente do [aviso que outras notificações de tarefa carregam](#sdktasknotificationmessage).

2225* `peer-send-message`: a notificação é uma mensagem que outra de suas sessões enviou com a ferramenta `send_message` do lado do servidor que [sessões na nuvem](/docs/pt/claude-code-on-the-web) usam para se mensagear, não a [ferramenta `SendMessage` entre sessões](/docs/pt/cross-session-messaging), e servidores Anthropic verificaram que ambas as sessões pertencem ao mesmo grupo privado de sessões. Requer Claude Code v2.1.224 ou posterior. Uma entrega `send_message` que os servidores não verificaram dessa forma não obtém nenhum subkind.2225* `peer-send-message`: a notificação é uma mensagem que outra de suas sessões enviou com a ferramenta `send_message` do lado do servidor que [sessões na nuvem](/docs/pt/claude-code-on-the-web) usam para trocar mensagens entre si, não a [ferramenta `SendMessage` entre sessões](/docs/pt/cross-session-messaging), e os servidores da Anthropic verificaram que ambas as sessões pertencem ao mesmo grupo privado de sessões. Requer Claude Code v2.1.224 ou posterior. Uma entrega `send_message` que os servidores não verificaram dessa forma não recebe nenhum subkind.

2226 2226 

2227Cada outra notificação de tarefa não tem `subkind`. Isso inclui [atividade de PR](/docs/pt/claude-code-on-the-web#how-claude-responds-to-pr-activity) entregue em uma sessão e eventos de fundo como uma tarefa concluída. Mensagens da [ferramenta `SendMessage` entre sessões](/docs/pt/cross-session-messaging) não são notificações de tarefa em absoluto: independentemente de virem de uma sessão na mesma máquina ou através de servidores Anthropic de outra máquina, Claude Code lhes dá `kind: "peer"` e os [campos de origem de colega](#peer-origin-fields).2227Todas as outras notificações de tarefa não têm `subkind`. Isso inclui [atividade de PR](/docs/pt/claude-code-on-the-web#how-claude-responds-to-pr-activity) entregue em uma sessão e eventos em segundo plano como uma tarefa concluída. Mensagens da [ferramenta `SendMessage` entre sessões](/docs/pt/cross-session-messaging) não são notificações de tarefa de forma alguma: independentemente de virem de uma sessão na mesma máquina ou através de servidores da Anthropic a partir de outra máquina, Claude Code lhes dá `kind: "peer"` e os [campos de origem de par](#peer-origin-fields).

2228 2228 

2229`fireReason` diz por que uma notificação `scheduled-trigger` disparou, como um token em minúsculas curto como `scheduled`, `manual`, `retry`, `catch_up` ou `api`. Servidores Anthropic o definem nas entregas de uma [rotina](/docs/pt/routines), e sua aplicação o define quando declara uma execução agendada. Está ausente quando nenhum dos dois enviou um. Requer TypeScript Agent SDK v0.3.280 ou posterior.2229`fireReason` diz por que uma notificação `scheduled-trigger` disparou, como um token curto em minúsculas, como `scheduled`, `manual`, `retry`, `catch_up` ou `api`. Os servidores da Anthropic o definem nas entregas de uma [rotina](/docs/pt/routines), e sua aplicação o define quando declara uma execução agendada. Está ausente quando nenhum dos dois enviou um. Requer TypeScript Agent SDK v0.3.280 ou posterior.

2230 2230 

2231<h4 id="declare-a-scheduled-run">2231<h4 id="declare-a-scheduled-run">

2232 Declarar uma execução agendada2232 Declarar uma execução agendada

2233</h4>2233</h4>

2234 2234 

2235Se sua aplicação executa prompts em seu próprio cronograma, declare cada execução para que Claude Code enquadre a rodada para o modelo como uma tarefa agendada em vez de como entrada ao vivo do usuário. Inicie a sessão com `CLAUDE_CODE_HOST_SCHEDULED_RUN` definido como `1` em [`env`](#options), depois envie a [`SDKUserMessage`](#sdkusermessage) da execução com `origin: { kind: "task-notification", subkind: "scheduled-trigger", fireReason: "scheduled" }` e sem `isSynthetic`. Claude Code ignora a declaração em um processo iniciado sem essa variável. Ele também a ignora em um processo cujo ambiente carrega [`CLAUDECODE`](/docs/pt/env-vars) ou `CLAUDE_CODE_CHILD_SESSION`. Claude Code mantém `fireReason` apenas quando o valor é 1 a 32 letras minúsculas ou underscores. Requer TypeScript Agent SDK v0.3.280 ou posterior.2235Se sua aplicação executa prompts em seu próprio agendamento, declare cada execução para que Claude Code enquadre o turno para o modelo como uma tarefa agendada em vez de como entrada ao vivo do usuário. Inicie a sessão com `CLAUDE_CODE_HOST_SCHEDULED_RUN` definido como `1` em [`env`](#options), depois envie a [`SDKUserMessage`](#sdkusermessage) da execução com `origin: { kind: "task-notification", subkind: "scheduled-trigger", fireReason: "scheduled" }` e sem `isSynthetic`. Claude Code ignora a declaração em um processo iniciado sem essa variável. Ele também a ignora em um processo cujo ambiente carrega [`CLAUDECODE`](/docs/pt/env-vars) ou `CLAUDE_CODE_CHILD_SESSION`. Claude Code mantém `fireReason` apenas quando o valor tem de 1 a 32 letras minúsculas ou underscores. Requer TypeScript Agent SDK v0.3.280 ou posterior.

2236 2236 

2237<h3 id="peer-origin-fields">2237<h3 id="peer-origin-fields">

2238 Campos de origem de colega2238 Campos de origem de par

2239</h3>2239</h3>

2240 2240 

2241Uma origem `peer` identifica qual agente enviou a mensagem: um [colega](/docs/pt/agent-teams) em processo enviando para `main` com `SendMessage`, ou um [colega entre sessões](/docs/pt/cross-session-messaging), outra de suas sessões Claude Code. Colegas entre sessões requerem Claude Code v2.1.224 ou posterior em macOS e Linux; consulte [disponibilidade de mensagens entre sessões](/docs/pt/cross-session-messaging#availability) para o requisito nativo do Windows. Um colega entre sessões pode executar na mesma máquina, ou em [outra de suas máquinas](/docs/pt/cross-session-messaging#message-sessions-on-other-machines) ou [na nuvem](/docs/pt/claude-code-on-the-web) quando sua mensagem chega através de Remote Control. Os dois tipos de remetente preenchem os campos diferentemente:2241Uma origem `peer` identifica qual agente enviou a mensagem: um [colega](/docs/pt/agent-teams) em processo enviando para `main` com `SendMessage`, ou um [par entre sessões](/docs/pt/cross-session-messaging), outra de suas sessões Claude Code. Pares entre sessões requerem Claude Code v2.1.224 ou posterior no macOS e Linux; consulte [disponibilidade de mensagens entre sessões](/docs/pt/cross-session-messaging#availability) para o requisito do Windows nativo. Um par entre sessões pode ser executado na mesma máquina, ou em [outra de suas máquinas](/docs/pt/cross-session-messaging#message-sessions-on-other-machines) ou [na nuvem](/docs/pt/claude-code-on-the-web) quando sua mensagem chega através de Remote Control. Os dois tipos de remetente preenchem os campos de forma diferente:

2242 2242 

2243* `from`: o nome do colega, ou o endereço do remetente para um colega entre sessões. Para uma [mensagem entre máquinas unidirecional](/docs/pt/cross-session-messaging#message-sessions-on-other-machines), o remetente não tem endereço de resposta e `from` é `"unknown"`. O valor é criado pelo remetente; `verifiedPeerPid` é a identidade verificada.2243* `from`: o nome do colega, ou o endereço do remetente para um par entre sessões. Para uma [mensagem unidirecional entre máquinas](/docs/pt/cross-session-messaging#message-sessions-on-other-machines), o remetente não tem endereço de resposta e `from` é `"unknown"`. O valor é definido pelo remetente; `verifiedPeerPid` é a identidade verificada.

2244* `fromMode`: a classe de permissão da sessão de envio, `bypass` ou `prompting`, declarada por um host que retransmite uma mensagem de colega entre suas sessões, como o [aplicativo de desktop](/docs/pt/desktop#work-across-sessions). Claude Code a lê na sessão receptora quando aplica os [controles de entrada](/docs/pt/cross-session-messaging#control-inbound-messages). Requer Agent SDK v0.3.234 ou posterior.2244* `fromMode`: a classe de permissão da sessão remetente, `bypass` ou `prompting`, declarada por um host que retransmite uma mensagem de par entre suas sessões, como o [aplicativo de desktop](/docs/pt/desktop#work-across-sessions). Claude Code a lê na sessão receptora quando aplica os [controles de entrada](/docs/pt/cross-session-messaging#control-inbound-messages). Requer Agent SDK v0.3.234 ou posterior.

2245* `senderTaskId`: o ID de tarefa do colega. Ausente para um colega entre sessões.2245* `senderTaskId`: o ID de tarefa do colega. Ausente para um par entre sessões.

2246* `name`: o nome de exibição do remetente, normalizado por Claude Code: ele remove pontos de código de controle, formato, substituto e separador de linha ou parágrafo Unicode, depois aparar o resultado e limita a 64 pontos de código com uma elipse. Requer Claude Code v2.1.205 ou posterior.2246* `name`: o nome de exibição do remetente, normalizado por Claude Code: ele remove pontos de código Unicode de controle, formato, substitutos e separadores de linha ou parágrafo, depois apara o resultado e o limita a 64 pontos de código com reticências. Requer Claude Code v2.1.205 ou posterior.

2247* `body`: o corpo da mensagem decodificado com o envelope de colega removido, byte-exato com o que o modelo vê. Sempre presente para uma mensagem de colega; para um colega entre sessões, presente apenas quando a rodada é exatamente um envelope de colega formado por Claude Code. Renderize `name` e `body` em vez de reanalisar o texto da mensagem. Requer Claude Code v2.1.205 ou posterior.2247* `body`: o corpo da mensagem decodificado com o envelope de par removido, idêntico byte a byte ao que o modelo vê. Sempre presente para uma mensagem de colega; para um par entre sessões, presente apenas quando o turno é exatamente um envelope de par formado por Claude Code. Renderize `name` e `body` em vez de reanalisar o texto da mensagem. Requer Claude Code v2.1.205 ou posterior.

2248* `fromSession`: o ID de sessão do remetente que pode ser aberto pelo host, definido pelo host do remetente para que sua interface possa vincular de volta à sessão de envio. Como `from`, é afirmado pelo remetente: use-o como alvo de navegação apenas, e não o trate como prova da identidade do remetente. Requer Claude Code v2.1.216 ou posterior.2248* `fromSession`: o ID de sessão do remetente que pode ser aberto pelo host, definido pelo host do remetente para que sua interface possa vincular de volta à sessão remetente. Assim como `from`, é declarado pelo remetente: use-o apenas como destino de navegação, e não o trate como prova da identidade do remetente. Requer Claude Code v2.1.216 ou posterior.

2249* `verifiedPeerPid`: o ID do processo do processo que se conectou ao socket de mensagens entre sessões desta sessão, verificado pelo kernel e lido da conexão em si, nunca da carga útil. Use-o, não `from`, para identificar o remetente: `from` é forjável por qualquer processo do mesmo usuário. O campo está ausente quando Claude Code não consegue verificá-lo, como no Windows ou ingresso não-socket, portanto um valor ausente significa que o remetente não está verificado. Para tráfego retransmitido, identifica o retransmissor em vez do autor da mensagem, e IDs de processo são recicláveis, portanto trate-o como proveniência em vez de um token de autenticação. Requer Claude Code v2.1.216 ou posterior.2249* `verifiedPeerPid`: o ID do processo que se conectou ao socket de mensagens entre sessões desta sessão, verificado pelo kernel e lido da própria conexão, nunca do payload. Use-o, e não `from`, para identificar o remetente: `from` pode ser forjado por qualquer processo do mesmo usuário. O campo está ausente quando Claude Code não consegue verificá-lo, como no Windows ou em entradas que não são por socket, portanto um valor ausente significa que o remetente não está verificado. Para tráfego retransmitido, identifica o retransmissor em vez do autor da mensagem, e IDs de processo são recicláveis, portanto trate-o como proveniência em vez de um token de autenticação. Requer Claude Code v2.1.216 ou posterior.

2250 2250 

2251<h2 id="hook-types">2251<h2 id="hook-types">

2252 Tipos de Hook2252 Tipos de Hook


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

agent-teams.md +5 −2

Details

195* **Modo in-process**: use as teclas de seta para cima e para baixo no painel de agentes para selecionar um companheiro de equipe, depois pressione Enter para visualizar sua sessão e digite para enviar uma mensagem. Pressione `x` em um companheiro de equipe selecionado para interrompê-lo. Pressione Ctrl+T para alternar a lista de tarefas.195* **Modo in-process**: use as teclas de seta para cima e para baixo no painel de agentes para selecionar um companheiro de equipe, depois pressione Enter para visualizar sua sessão e digite para enviar uma mensagem. Pressione `x` em um companheiro de equipe selecionado para interrompê-lo. Pressione Ctrl+T para alternar a lista de tarefas.

196* **Modo split-pane**: clique em um painel de companheiro de equipe para interagir com sua sessão diretamente. Cada companheiro de equipe tem uma visualização completa de seu próprio terminal.196* **Modo split-pane**: clique em um painel de companheiro de equipe para interagir com sua sessão diretamente. Cada companheiro de equipe tem uma visualização completa de seu próprio terminal.

197 197 

198Enquanto você está visualizando um companheiro de equipe in-process, texto simples e [skills](/docs/pt/skills) vão para esse companheiro de equipe, mas comandos integrados ainda são executados na sessão do líder.198Enquanto você está visualizando um companheiro de equipe in-process, texto simples e [skills](/docs/pt/skills) vão para esse companheiro de equipe, e comandos integrados vão para a sessão do líder, com estas salvaguardas:

199 199 

200O modelo e modo rápido de um companheiro de equipe são fixos quando ele é gerado, portanto `/model` e `/fast` apenas alteram as configurações do líder. A partir da v2.1.199, digitar qualquer comando enquanto visualiza um companheiro de equipe mostra um aviso de que a alteração se aplica ao líder; versões anteriores a aplicavam ao líder sem indicação. `/effort` ainda se aplica aos turnos posteriores do companheiro de equipe visualizado, porque os companheiros de equipe seguem o [nível de esforço](/docs/pt/model-config#adjust-effort-level) do líder.200* `/compact`, `/clear` e `/rewind` atuam na conversa do líder, então Claude Code pede que você confirme antes de executar um deles a partir desta visualização.

201* `/model` e `/fast` definem o modelo e o modo rápido do líder, não os do companheiro de equipe, então eles não são executados a partir desta visualização. Um aviso informa o motivo.

202 

203O modelo e o modo rápido de um companheiro de equipe são fixos quando ele é gerado. `/effort` ainda se aplica aos turnos posteriores do companheiro de equipe visualizado, porque os companheiros de equipe seguem o [nível de esforço](/docs/pt/model-config#adjust-effort-level) do líder.

201 204 

202<h3 id="assign-and-claim-tasks">205<h3 id="assign-and-claim-tasks">

203 Atribuir e reivindicar tarefas206 Atribuir e reivindicar tarefas

agent-view.md +26 −6

Details

224 224 

225Na maioria das vezes, o painel de espiada é suficiente e você não precisa abrir o transcript completo.225Na maioria das vezes, o painel de espiada é suficiente e você não precisa abrir o transcript completo.

226 226 

227Digite uma resposta no painel de espiada e pressione `Enter` para enviá-la para essa sessão. Quando a sessão faz uma pergunta com opções predefinidas, o painel de espiada as mostra como uma lista numerada e você pode pressionar uma tecla numérica para escolher uma. Um prompt de permissão mostra como texto descrevendo o que a sessão quer executar, sem opções numeradas. Digite uma resposta para respondê-lo, ou anexe para responder com o prompt padrão. Para outras sessões bloqueadas, pressione `Tab` para preencher a entrada com uma resposta sugerida que você pode editar antes de enviar. Prefixe uma resposta com `!` para enviar um comando Bash em vez disso.227Digite uma resposta no painel de espiada e pressione `Enter` para enviá-la para essa sessão. Prefixe uma resposta com `!` para enviar um comando Bash em vez disso. O que acontece com a resposta depende da sessão e do que você envia:

228 

229* Uma sessão que está funcionando: a resposta entra na [fila de mensagens](/docs/pt/interactive-mode#queue-messages-while-claude-works) da sessão em vez de interromper a resposta, e entra em vigor [quando a entrada enfileirada entra](/docs/pt/interactive-mode#when-claude-code-sends-what-you-queued). Um [comando](/docs/pt/commands) aguarda o fim do turno, mesmo um que é executado assim que você o digita no próprio prompt de uma sessão

230* Uma resposta que é exatamente `/stop`: interrompe a sessão imediatamente em vez de ser entregue a ela, esteja a sessão funcionando ou aguardando você

231* Um [shell job](#run-a-shell-command): a resposta, incluindo `/stop`, vai para o terminal do comando como entrada digitada

232 

233Quando a sessão está aguardando você, a forma como você responde a partir do painel de espiada depende do que ela está aguardando:

234 

235* Uma pergunta com opções predefinidas: o painel lista as opções por número. Com a entrada de resposta vazia, pressione o número de uma opção para preenchê-la, depois `Enter` para enviá-la, ou digite sua própria resposta em vez disso

236* Uma pergunta sem opções predefinidas: digite sua resposta. Quando a entrada vazia mostra uma resposta sugerida, pressione `Tab` para preenchê-la e editá-la antes de enviar

237* Um prompt de permissão ou outro diálogo, como um prompt de [sandbox](/docs/pt/sandboxing) ou uma [solicitação de entrada](/docs/pt/mcp#respond-to-mcp-elicitation-requests) de um servidor MCP: responder não o responde. Sua resposta aguarda na fila. Para responder ao diálogo, anexe com `→`

228 238 

229Quando um hook [`PermissionRequest`](/docs/pt/hooks#permissionrequest) ou [`PreToolUse`](/docs/pt/hooks#pretooluse) retorna uma saída que Claude Code não consegue validar para a chamada que a sessão está pedindo, a linha mostra o evento do hook e `hook output invalid:` com o erro de validação antes do texto da solicitação pendente. Para um hook que falha de outra forma, a linha diz que o hook falhou. A sessão ainda aguarda a mesma solicitação.239Quando um hook [`PermissionRequest`](/docs/pt/hooks#permissionrequest) ou [`PreToolUse`](/docs/pt/hooks#pretooluse) retorna uma saída que Claude Code não consegue validar para a chamada que a sessão está pedindo, a linha mostra o evento do hook e `hook output invalid:` com o erro de validação antes do texto da solicitação pendente. Para um hook que falha de outra forma, a linha diz que o hook falhou. A sessão ainda aguarda a mesma solicitação.

230 240 


301* Pressione `Ctrl+T` para fixar uma sessão no topo e [manter seu processo em execução](#the-supervisor-process) enquanto inativo311* Pressione `Ctrl+T` para fixar uma sessão no topo e [manter seu processo em execução](#the-supervisor-process) enquanto inativo

302* Pressione `Shift+↑` ou `Shift+↓` para reordenar sessões312* Pressione `Shift+↑` ou `Shift+↓` para reordenar sessões

303* Pressione `Ctrl+R` para renomear uma sessão313* Pressione `Ctrl+R` para renomear uma sessão

304* Pressione `Enter` em um cabeçalho de grupo para recolhê-lo314* Pressione `Enter` em um cabeçalho de grupo para recolhê-lo, exceto enquanto um [filtro](#filter-sessions) está ativo, quando todos os grupos permanecem expandidos

305 315 

306Para remover uma sessão da lista, pressione `Ctrl+X` para interrompê-la e `Ctrl+X` novamente dentro de dois segundos para deletá-la. Pressionar `Ctrl+X` em um cabeçalho de grupo deleta cada sessão naquele grupo após confirmação.316Para remover uma sessão da lista, pressione `Ctrl+X` para interrompê-la e `Ctrl+X` novamente dentro de dois segundos para deletá-la. Pressionar `Ctrl+X` em um cabeçalho de grupo deleta cada sessão naquele grupo após confirmação.

307 317 


324 Filtrar sessões334 Filtrar sessões

325</h3>335</h3>

326 336 

327Digite na entrada de despacho para filtrar em vez de despachar:337Comece a entrada de despacho com um destes filtros para restringir a lista enquanto digita:

328 338 

329| Filtro | Mostra |339| Filtro | Mostra |

330| :- | :- |340| :- | :- |

331| `a:<name>` | Sessões executando o agente nomeado |341| `a:<name>` | Sessões executando o agente nomeado |

332| `s:<state>` | Sessões no estado fornecido, como `s:working`. Também aceita `s:blocked` para tudo que está aguardando você |342| `s:<state>` | Sessões no estado fornecido, como `s:working`, ou sob o cabeçalho de grupo fornecido, como `s:ready` para `Ready for review`. `s:blocked` lista tudo que está aguardando você |

333| `#<number>` ou uma URL de pull ou merge request | A sessão trabalhando naquele pull request ou merge request |343| `n:<text>` | Sessões cujo nome ou primeiro prompt contém o texto, como `n:login`. Requer Claude Code v2.1.287 ou posterior |

344| `o:<text>` | Sessões cujo resultado contém o texto, como `o:merged`. Um `o:` simples lista cada sessão que relatou um resultado |

345| Um número de pull ou merge request, como `#1234`, ou sua URL | A sessão trabalhando naquele pull request ou merge request |

334| Qualquer outra URL | A sessão cujo primeiro prompt continha essa URL |346| Qualquer outra URL | A sessão cujo primeiro prompt continha essa URL |

335 347 

348Para combinar filtros, comece com `a:`, `s:`, `n:` ou `o:` e adicione mais, separados por espaços. A lista mostra as sessões que correspondem a todos eles. Por exemplo, `s:blocked a:reviewer` lista as sessões `reviewer` que estão aguardando você.

349 

350Enquanto um filtro está ativo, os grupos que você recolheu se expandem para mostrar suas correspondências e a primeira correspondência é selecionada, então pressionar `Enter` a abre. Limpe a entrada para remover o filtro, e esses grupos se recolhem novamente.

351 

336<h3 id="keyboard-shortcuts">352<h3 id="keyboard-shortcuts">

337 Atalhos de teclado353 Atalhos de teclado

338</h3>354</h3>


342| Atalho | Ação |358| Atalho | Ação |

343| :- | :- |359| :- | :- |

344| `↑` / `↓` | Mover entre linhas |360| `↑` / `↓` | Mover entre linhas |

345| `Enter` | Anexar à sessão selecionada, ou despachar se houver texto na entrada |361| `PgUp` / `PgDn` | Mover para cima ou para baixo uma tela cheia de linhas |

362| `Home` / `End` | Ir para a primeira ou a última linha |

363| `Enter` | Anexar à sessão selecionada, ou enviar o texto da entrada se ele não for um [filtro](#filter-sessions) |

346| `Space` | Abrir ou fechar o painel de espiada para a sessão selecionada |364| `Space` | Abrir ou fechar o painel de espiada para a sessão selecionada |

347| `Shift+Enter` | Inserir uma nova linha na entrada de despacho, [como no prompt principal](/docs/pt/terminal-config#enter-multiline-prompts) |365| `Shift+Enter` | Inserir uma nova linha na entrada de despacho, [como no prompt principal](/docs/pt/terminal-config#enter-multiline-prompts) |

348| `Ctrl+Enter` | Despachar e anexar imediatamente, em terminais onde o overlay `?` lista `ctrl+enter to start and open` |366| `Ctrl+Enter` | Despachar e anexar imediatamente, em terminais onde o overlay `?` lista `ctrl+enter to start and open` |


1068 1086 

1069| Versão | Mudança |1087| Versão | Mudança |

1070| - | - |1088| - | - |

1089| v2.1.287 | O [filtro `n:<text>`](#filter-sessions) encontra sessões pelo nome ou pelo primeiro prompt. Enquanto qualquer filtro estiver ativo, os grupos que você recolheu se expandem para mostrar suas correspondências e a primeira correspondência é selecionada, então `Enter` a abre. |

1090| v2.1.287 | Um comando enviado como uma [resposta pela espiada](#peek-and-reply) é executado quando o turno atual da sessão termina, incluindo os comandos que são executados assim que você os digita no próprio prompt de uma sessão. Uma resposta que seja exatamente `/stop` para a sessão imediatamente. |

1071| v2.1.281 | Uma restrição [`--setting-sources`](/docs/pt/cli-reference#cli-flags) [se estende](#what-carries-over-when-you-background) para uma sessão que você coloca em background com `←` ou `/bg` e para as sessões que você despacha a partir de agent view. Antes desta versão, a sessão gerada carregava todas as fontes de configurações. |1091| v2.1.281 | Uma restrição [`--setting-sources`](/docs/pt/cli-reference#cli-flags) [se estende](#what-carries-over-when-you-background) para uma sessão que você coloca em background com `←` ou `/bg` e para as sessões que você despacha a partir de agent view. Antes desta versão, a sessão gerada carregava todas as fontes de configurações. |

1072| v2.1.281 | `claude --bg`, e os comandos que reiniciam uma sessão, verificam a confiança do workspace para o diretório da sessão primeiro. A partir de um terminal nesse diretório, [o diálogo de confiança aparece](#from-your-shell) se você não o aceitou; onde nenhum diálogo pode aparecer, como em um script, o comando sai com um erro [`Workspace not trusted`](/docs/pt/errors#workspace-not-trusted-when-dispatching-a-background-session). |1092| v2.1.281 | `claude --bg`, e os comandos que reiniciam uma sessão, verificam a confiança do workspace para o diretório da sessão primeiro. A partir de um terminal nesse diretório, [o diálogo de confiança aparece](#from-your-shell) se você não o aceitou; onde nenhum diálogo pode aparecer, como em um script, o comando sai com um erro [`Workspace not trusted`](/docs/pt/errors#workspace-not-trusted-when-dispatching-a-background-session). |

1073| v2.1.274 | Após uma auto-atualização, uma agent view de que você esteve longe por cerca de uma hora pode se relançar na nova compilação. Quando faz isso, mantém os [padrões de despacho](#dispatch-defaults) com os quais você a abriu: `--model`, `--effort`, `--permission-mode`, `--allow-dangerously-skip-permissions` e `--agent`. Antes desta versão, a view relançada mantinha apenas `--cwd` e flags de configuração como `--settings` e `--mcp-config`, então sessões que você despachava depois começavam sem esses padrões. |1093| v2.1.274 | Após uma auto-atualização, uma agent view de que você esteve longe por cerca de uma hora pode se relançar na nova compilação. Quando faz isso, mantém os [padrões de despacho](#dispatch-defaults) com os quais você a abriu: `--model`, `--effort`, `--permission-mode`, `--allow-dangerously-skip-permissions` e `--agent`. Antes desta versão, a view relançada mantinha apenas `--cwd` e flags de configuração como `--settings` e `--mcp-config`, então sessões que você despachava depois começavam sem esses padrões. |

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>

artifacts.md +9 −0

Details

118 118 

119Claude lê uma página que outra pessoa escreveu da mesma forma que lê uma página da web com [WebFetch](/docs/pt/tools-reference#webfetch-tool-behavior): ele obtém um resumo do que foi solicitado em vez da página bruta, e o resumo relata instruções escritas na página em vez de transmiti-las. Claude Code também salva o código-fonte completo da página em um arquivo local, que Claude pode abrir quando precisa do conteúdo exato, como para republicar o artefato como um [editor](#let-someone-edit-with-you).119Claude lê uma página que outra pessoa escreveu da mesma forma que lê uma página da web com [WebFetch](/docs/pt/tools-reference#webfetch-tool-behavior): ele obtém um resumo do que foi solicitado em vez da página bruta, e o resumo relata instruções escritas na página em vez de transmiti-las. Claude Code também salva o código-fonte completo da página em um arquivo local, que Claude pode abrir quando precisa do conteúdo exato, como para republicar o artefato como um [editor](#let-someone-edit-with-you).

120 120 

121Claude Code pede sua aprovação antes que Claude leia o artefato nestes casos, além de qualquer prompt exigido pelo seu modo de permissão ou pelas suas regras:

122 

123* **Sessão na nuvem sem acesso à rede**: para um [ambiente na nuvem](/docs/pt/cloud-environments#access-levels), esse é o nível **None**. No [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode), o classificador pode aprovar em seu lugar; em uma sessão do [Cowork](https://claude.com/product/cowork), a aprovação cabe somente a você.

124* **Artefato público de outra organização**: Claude Code pergunta a você primeiro, mesmo no modo auto. Quando Claude Code não pode perguntar a você, como no modo `bypassPermissions`, Claude não pode ler o artefato. Claude pode ler esses artefatos somente enquanto a [busca de feature flags](/docs/pt/env-vars#features-that-need-feature-flag-fetching) estiver ativada.

125* **Proprietário ou configuração de rede não confirmados**: quando Claude Code não consegue confirmar quem criou o artefato, ou não consegue confirmar a configuração de rede de uma sessão na nuvem, ele pergunta, e sua aprovação cobre apenas essa requisição.

126* **Modo de planejamento, ou busca de feature flags desativada**: no [modo de planejamento](/docs/pt/permission-modes#analyze-before-you-edit-with-plan-mode), ou se você desativou a [busca de feature flags](/docs/pt/env-vars#features-that-need-feature-flag-fetching), Claude Code pergunta antes que a ferramenta Artifact leia um artefato que outra pessoa da sua organização criou.

127 

128Quando Claude lê o artefato com WebFetch, as próprias [regras de prompt](/docs/pt/tools-reference#webfetch-tool-behavior) do WebFetch continuam valendo.

129 

121<h2 id="collect-comments-on-an-artifact">130<h2 id="collect-comments-on-an-artifact">

122 Coletar comentários em um artefato131 Coletar comentários em um artefato

123</h2>132</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 

Details

271 271 

272* **Credenciais do Git**: o cliente git dentro da VM usa uma credencial com escopo, que o proxy verifica e troca por seu token real do GitHub.272* **Credenciais do Git**: o cliente git dentro da VM usa uma credencial com escopo, que o proxy verifica e troca por seu token real do GitHub.

273* **Solicitações de API**: solicitações das ferramentas GitHub integradas e de `gh` sob o [placeholder `proxy-injected`](#work-with-github-issues-and-pull-requests), saem com suas credenciais reais substituídas.273* **Solicitações de API**: solicitações das ferramentas GitHub integradas e de `gh` sob o [placeholder `proxy-injected`](#work-with-github-issues-and-pull-requests), saem com suas credenciais reais substituídas.

274* **Proteção de push**: `git push` funciona apenas contra o branch de trabalho atual da sessão; clonagem, busca e operações de PR funcionam normalmente.274* **Restrições de push**: o proxy rejeita exclusões de branches e pushes de qualquer coisa que não seja um branch, como uma tag. Ele não limita quais branches um push pode atualizar. Para isso, use regras de proteção de branch ou rulesets no GitHub.

275* **Escopo do repositório**: as solicitações de API do GitHub e de ativos de lançamento alcançam apenas repositórios anexados à sessão, portanto um script de configuração que baixa ativos de lançamento de um repositório não anexado recebe um 403.275* **Escopo do repositório**: as solicitações de API do GitHub e de ativos de lançamento alcançam apenas repositórios anexados à sessão, portanto um script de configuração que baixa ativos de lançamento de um repositório não anexado recebe um 403.

276* **Restrições de GraphQL**: o proxy serve apenas um conjunto fixado de operações de GraphQL para fluxos de trabalho de solicitação de pull. O proxy rejeita tudo mais no endpoint de GraphQL com um 403 que diz `This GraphQL query is not enabled for this session` e nomeia o fallback REST, `gh api repos/{owner}/{repo}/...`. A restrição se aplica a cada solicitação através do proxy independentemente das credenciais que você fornece, portanto um `GH_TOKEN` que você define recebe o mesmo 403. Claude não pode alcançar APIs do GitHub que existem apenas em GraphQL, como Projects v2, através do proxy.276* **Restrições de GraphQL**: o proxy serve apenas um conjunto fixado de operações de GraphQL para fluxos de trabalho de solicitação de pull. O proxy rejeita tudo mais no endpoint de GraphQL com um 403 que diz `This GraphQL query is not enabled for this session` e nomeia o fallback REST, `gh api repos/{owner}/{repo}/...`. A restrição se aplica a cada solicitação através do proxy independentemente das credenciais que você fornece, portanto um `GH_TOKEN` que você define recebe o mesmo 403. Claude não pode alcançar APIs do GitHub que existem apenas em GraphQL, como Projects v2, através do proxy.

277 277 

code-review.md +14 −16

Details

337 /code-review337 /code-review

338 ```338 ```

339 339 

340 Ele revisa os commits de sua branch à frente de sua upstream mais quaisquer alterações não confirmadas, portanto precisa de trabalho na branch ou na árvore de trabalho para ter algo a relatar. Para revisar algo diferente, passe um alvo: um caminho de arquivo, um número de PR, um nome de branch ou um intervalo de ref como `main...my-feature`.340 Ele revisa os commits de seu branch à frente de seu upstream mais quaisquer alterações sem commit, portanto precisa de trabalho no branch ou na árvore de trabalho para ter algo a relatar. Para revisar algo diferente, passe um alvo: um caminho de arquivo, um número de PR, um nome de branch ou um intervalo de ref como `main...my-feature`.

341 341 

342 Você também pode adicionar sinalizadores:342 Você também pode adicionar flags:

343 343 

344 * `--fix`: aplica as descobertas à sua árvore de trabalho após a revisão344 * `--fix`: aplica as descobertas à sua árvore de trabalho após a revisão

345 * `--comment`: publica as descobertas em um pull request do GitHub como comentários inline, ou em um merge request do GitLab como uma única nota345 * `--comment`: publica as descobertas em um pull request do GitHub como comentários inline, ou em um merge request do GitLab como uma única nota


351 </Step>351 </Step>

352 352 

353 <Step title="Continue trabalhando">353 <Step title="Continue trabalhando">

354 A revisão é executada como um [subagent](/docs/pt/sub-agents) em segundo plano com sua própria janela de contexto, portanto não preenche sua conversa. As descobertas chegam em sua conversa quando a revisão é concluída.354 A revisão é executada como um [subagente](/docs/pt/sub-agents) em segundo plano com sua própria janela de contexto, portanto não preenche sua conversa. As descobertas chegam em sua conversa quando a revisão é concluída.

355 </Step>355 </Step>

356 356 

357 <Step title="Agir sobre as descobertas">357 <Step title="Agir sobre as descobertas">


361 361 

362Claude relata as descobertas como texto na resposta em ambas essas execuções, mesmo quando um aplicativo host solicita uma lista de descobertas:362Claude relata as descobertas como texto na resposta em ambas essas execuções, mesmo quando um aplicativo host solicita uma lista de descobertas:

363 363 

364* Em uma sessão de terminal, onde `/code-review` executa a revisão como um [subagent bifurcado](/docs/pt/skills#run-skills-in-a-subagent)364* Em uma sessão de terminal, onde `/code-review` executa a revisão como um [subagente bifurcado](/docs/pt/skills#run-skills-in-a-subagent)

365* Em uma execução `-p` com saída de texto ou JSON365* Em uma execução `-p` com saída de texto ou JSON

366 366 

367Em um aplicativo host que solicita a lista de descobertas, como o [aplicativo desktop](/docs/pt/desktop), Claude relata as descobertas da revisão através da ferramenta [`ReportFindings`](/docs/pt/tools-reference). Claude Code renderiza o relatório como uma lista de descobertas, e cada entrada mostra a localização do arquivo, um resumo de uma frase e uma tag de categoria como `correctness` quando a descoberta carrega uma. Uma solicitação de host se aplica em cada nível de esforço e requer Claude Code v2.1.218 ou posterior.367Em um aplicativo host que solicita a lista de descobertas, como o [aplicativo desktop](/docs/pt/desktop), Claude relata as descobertas da revisão através da ferramenta [`ReportFindings`](/docs/pt/tools-reference). Claude Code renderiza o relatório como uma lista de descobertas, e cada entrada mostra a localização do arquivo, um resumo de uma frase e uma tag de categoria como `correctness` quando a descoberta carrega uma. Uma requisição do host se aplica em cada nível de esforço e requer Claude Code v2.1.218 ou posterior.

368 368 

369Quando Claude corrige descobertas relatadas posteriormente na sessão, ele as relata novamente, e Claude Code marca cada descoberta na lista de descobertas atualizada como corrigida, ignorada ou sem alteração necessária.369Quando Claude corrige descobertas relatadas posteriormente na sessão, ele as relata novamente, e Claude Code marca cada descoberta na lista de descobertas atualizada como corrigida, ignorada ou sem alteração necessária.

370 370 


372 O que a revisão lê e edita372 O que a revisão lê e edita

373</h3>373</h3>

374 374 

375A revisão segue seu `CLAUDE.md` como qualquer sessão Claude Code, mas não lê [`REVIEW.md`](#review-md). Uma revisão em segundo plano aplica suas edições `--fix` fora dos [checkpoints](/docs/pt/checkpointing#subagent-edits-not-restored) de sua sessão, portanto `/rewind` não as desfaz; use git para revertê-las. Quando a revisão [é executada em primeiro plano](#run-in-the-foreground), ela edita sua árvore de trabalho durante sua própria vez, portanto `/rewind` restaura suas edições como de costume.375A revisão segue seu `CLAUDE.md` como qualquer sessão Claude Code, mas não lê [`REVIEW.md`](#review-md). Uma revisão em segundo plano aplica suas edições `--fix` fora dos [checkpoints](/docs/pt/checkpointing#subagent-edits-not-restored) de sua sessão, portanto `/rewind` não as desfaz; use git para revertê-las. Quando a revisão [é executada em primeiro plano](#run-in-the-foreground), ela edita sua árvore de trabalho durante seu próprio turno, portanto `/rewind` restaura suas edições como de costume.

376 376 

377<h3 id="tune-effort-and-arguments">377<h3 id="tune-effort-and-arguments">

378 Ajustar esforço e argumentos378 Ajustar esforço e argumentos


382 382 

383Quando você não digita um nível, a revisão reutiliza o último nível de `low` até `max` que você digitou, mesmo em uma sessão anterior, e Claude Code mostra um aviso como `Reusing high effort, the level you typed last time`. Digite um nível, como `/code-review high`, para alterar o que as execuções posteriores reutilizam; um nível que você passa em uma execução `-p` não interativa não o atualiza. `ultra` nem atualiza nem usa o nível lembrado. Se você nunca digitou um nível, a revisão usa o esforço atual da sessão. Antes da v2.1.223, um `/code-review` sem um nível sempre usava o esforço atual da sessão.383Quando você não digita um nível, a revisão reutiliza o último nível de `low` até `max` que você digitou, mesmo em uma sessão anterior, e Claude Code mostra um aviso como `Reusing high effort, the level you typed last time`. Digite um nível, como `/code-review high`, para alterar o que as execuções posteriores reutilizam; um nível que você passa em uma execução `-p` não interativa não o atualiza. `ultra` nem atualiza nem usa o nível lembrado. Se você nunca digitou um nível, a revisão usa o esforço atual da sessão. Antes da v2.1.223, um `/code-review` sem um nível sempre usava o esforço atual da sessão.

384 384 

385Após o nível de esforço e sinalizadores, Claude Code lê o resto da linha de uma de duas maneiras:385Após o nível de esforço e as flags, Claude Code lê o resto da linha de uma de duas maneiras:

386 386 

387* **Sem `ultra`**: tudo o que resta é o alvo da revisão, mesmo quando começa com outro nome de comando. `/code-review /fix-issue 123` revisa com `/fix-issue 123` como texto alvo em vez de carregar `/fix-issue` como um [skill empilhado](/docs/pt/skills#pass-arguments-to-skills) separado. Antes da v2.1.218, um comando empilhado após `/code-review` se expandia como seu próprio skill.387* **Sem `ultra`**: tudo o que resta é o alvo da revisão, mesmo quando começa com outro nome de comando. `/code-review /fix-issue 123` revisa com `/fix-issue 123` como texto alvo em vez de carregar `/fix-issue` como uma [skill empilhada](/docs/pt/skills#pass-arguments-to-skills) separada. Antes da v2.1.218, um comando empilhado após `/code-review` se expandia como sua própria skill.

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

389 389 

390<h3 id="run-in-the-foreground">390<h3 id="run-in-the-foreground">

391 Executar em primeiro plano391 Executar em primeiro plano


394A revisão é executada em segundo plano por padrão; antes da v2.1.218, era executada dentro de sua conversa. Ela é executada em primeiro plano em casos como estes:394A revisão é executada em segundo plano por padrão; antes da v2.1.218, era executada dentro de sua conversa. Ela é executada em primeiro plano em casos como estes:

395 395 

396* Você executa `/code-review` novamente enquanto uma revisão anterior ainda está em andamento396* Você executa `/code-review` novamente enquanto uma revisão anterior ainda está em andamento

397* Você a executa em modo não interativo, com o sinalizador `-p` ou o Agent SDK; Claude Code aguarda a revisão e inclui as descobertas na resposta, exceto para `ultra`, que [inicia a revisão na nuvem sem aguardar](#escalate-to-ultrareview)397* Você a executa em modo não interativo, com a flag `-p` ou o Agent SDK; Claude Code aguarda a revisão e inclui as descobertas na resposta, exceto para `ultra`, que [inicia a revisão na nuvem sem aguardar](#escalate-to-ultrareview)

398* Você define [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](/docs/pt/env-vars) como `1`, o que também desativa todos os outros recursos de tarefa em segundo plano398* Você define [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](/docs/pt/env-vars) como `1`, o que também desativa todos os outros recursos de tarefa em segundo plano

399 399 

400<h3 id="let-claude-start-the-review">400<h3 id="let-claude-start-the-review">

401 Deixar Claude iniciar a revisão401 Deixar Claude iniciar a revisão

402</h3>402</h3>

403 403 

404Claude pode iniciar `/code-review` por conta própria. Peça-lhe para revisar suas alterações em linguagem simples e ele pode executar o skill sem você digitar o comando, e uma [tarefa agendada](/docs/pt/scheduled-tasks) com `/code-review` como seu prompt executa a revisão.404Claude pode iniciar `/code-review` por conta própria. Peça-lhe para revisar suas alterações em linguagem simples e ele pode executar a skill sem você digitar o comando, e uma [tarefa agendada](/docs/pt/scheduled-tasks) com `/code-review` como seu prompt executa a revisão.

405 405 

406Uma tarefa agendada nunca inicia a [revisão na nuvem](#escalate-to-ultrareview), portanto agende `/code-review` sem o argumento `ultra`.406Uma tarefa agendada nunca inicia a [revisão na nuvem](#escalate-to-ultrareview), portanto agende `/code-review` sem o argumento `ultra`.

407 407 


415}415}

416```416```

417 417 

418Antes da v2.1.246, Claude iniciava `/code-review` por conta própria apenas onde um sinalizador de recurso obtido da Anthropic o ativava. Em [sessões que não buscam sinalizadores de recurso](/docs/pt/env-vars#features-that-need-feature-flag-fetching), `/code-review` era executado apenas quando você o digitava, e um `/code-review` agendado chegava ao Claude como texto simples.418Antes da v2.1.246, Claude iniciava `/code-review` por conta própria apenas onde uma flag de recurso obtida da Anthropic o ativava. Em [sessões que não buscam flags de recurso](/docs/pt/env-vars#features-that-need-feature-flag-fetching), `/code-review` era executado apenas quando você o digitava, e um `/code-review` agendado chegava ao Claude como texto simples.

419 419 

420<h3 id="escalate-to-ultrareview">420<h3 id="escalate-to-ultrareview">

421 Escalar para ultrareview421 Escalar para ultrareview


423 423 

424`/code-review ultra --fix` executa a [ultrareview](/docs/pt/ultrareview) mais profunda na nuvem, depois aplica suas descobertas à sua árvore de trabalho quando elas retornam em sua sessão.424`/code-review ultra --fix` executa a [ultrareview](/docs/pt/ultrareview) mais profunda na nuvem, depois aplica suas descobertas à sua árvore de trabalho quando elas retornam em sua sessão.

425 425 

426Ultrareview usa seu próprio escopo: sua branch atual contra a branch padrão do repositório, mais alterações não confirmadas e preparadas na árvore de trabalho. Para alterações não confirmadas em arquivos nomeados como credenciais ou chaves, como arquivos `.env` e `*.tfvars`, Claude Code segue as regras para [carregar um repositório local para uma sessão na nuvem](/docs/pt/claude-code-on-the-web#send-local-repositories-without-github). Passe um nome de branch, como `/code-review ultra develop`, para comparar contra uma base diferente.426Ultrareview usa seu próprio escopo: seu branch atual contra o branch padrão do repositório, mais alterações sem commit e preparadas na árvore de trabalho. Para alterações sem commit em arquivos nomeados como credenciais ou chaves, como arquivos `.env` e `*.tfvars`, Claude Code segue as regras para [carregar um repositório local para uma sessão na nuvem](/docs/pt/claude-code-on-the-web#send-local-repositories-without-github). Passe um nome de branch, como `/code-review ultra develop`, para comparar contra uma base diferente.

427 427 

428Quando o alvo é um pull request `github.com`, você pode fazer com que Claude [publique as descobertas concluídas no PR](/docs/pt/ultrareview#post-findings-to-the-pull-request) como um comentário de sua conta GitHub. Requer Claude Code v2.1.227 ou posterior.428Quando o alvo é um pull request `github.com`, você pode fazer com que Claude [publique as descobertas concluídas no PR](/docs/pt/ultrareview#post-findings-to-the-pull-request) como um comentário de sua conta GitHub. Requer Claude Code v2.1.227 ou posterior.

429 429 


431 Ultrareview requer autenticação com uma conta claude.ai e não está disponível no Amazon Bedrock, na Agent Platform do Google Cloud, no Microsoft Foundry, ou para organizações com Zero Data Retention habilitado. Quando ultrareview não está disponível, `/code-review ultra` executa uma revisão local em sua sessão.431 Ultrareview requer autenticação com uma conta claude.ai e não está disponível no Amazon Bedrock, na Agent Platform do Google Cloud, no Microsoft Foundry, ou para organizações com Zero Data Retention habilitado. Quando ultrareview não está disponível, `/code-review ultra` executa uma revisão local em sua sessão.

432</Note>432</Note>

433 433 

434Para iniciar uma revisão na nuvem a partir de um script ou CI, execute `claude -p '/code-review ultra'`. Claude Code inicia a revisão e imprime um link para rastreá-la. Requer Claude Code v2.1.218 ou posterior.434Para executar uma revisão na nuvem a partir de um script ou job de CI, use o [subcomando `claude ultrareview`](/docs/pt/ultrareview#run-ultrareview-non-interactively), que aguarda as descobertas e as imprime no stdout.

435 

436Quando a revisão cobraria [créditos de uso](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans), Claude Code para antes de iniciar, porque a confirmação de cobrança precisa de uma sessão interativa. Execute o [subcomando `claude ultrareview`](/docs/pt/ultrareview#run-ultrareview-non-interactively); ao executá-lo, você consente com a cobrança.

437 435 

438O comando foi nomeado `/simplify` antes da v2.1.147, quando aplicava correções por padrão. `/simplify` executa uma revisão separada apenas de limpeza que aplica correções sem procurar por bugs. Se você criou scripts com `/simplify` para busca de bugs, mude para `/code-review --fix`.436O comando foi nomeado `/simplify` antes da v2.1.147, quando aplicava correções por padrão. `/simplify` executa uma revisão separada apenas de limpeza que aplica correções sem procurar por bugs. Se você criou scripts com `/simplify` para busca de bugs, mude para `/code-review --fix`.

439 437 

commands.md +48 −48

Details

38 38 

39A tabela abaixo lista todos os comandos incluídos no Claude Code. A maioria são comandos integrados cujo comportamento é codificado na CLI. Dois tipos de entradas são marcados:39A tabela abaixo lista todos os comandos incluídos no Claude Code. A maioria são comandos integrados cujo comportamento é codificado na CLI. Dois tipos de entradas são marcados:

40 40 

41* **[Skill](/docs/pt/skills#bundled-skills)**: uma skill agrupada. Funciona como skills que você escreve: um prompt entregue ao Claude.41* **[Skill](/docs/pt/skills#bundled-skills)**: uma skill incluída. Funciona como skills que você escreve: um prompt entregue ao Claude.

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

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

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

45 45 

46Para adicionar seus próprios comandos, consulte [skills](/docs/pt/skills).46Para adicionar seus próprios comandos, consulte [skills](/docs/pt/skills).


53 53 

54| Comando | Propósito |54| Comando | Propósito |

55| :- | :- |55| :- | :- |

56| `/add-dir <path>` | Adicione um diretório de trabalho para acesso a arquivos durante a sessão atual. Digite um caminho parcial para ver sugestões de diretório correspondentes; pressione `Tab` para aceitar uma. A maioria da configuração `.claude/` [não é descoberta](/docs/pt/permissions#additional-directories-grant-file-access-not-configuration) do diretório adicionado. Você não pode adicionar a maioria dos [caminhos de rede](/docs/pt/errors#working-directory-is-a-network-path), como `\\server\share`. Após uma adição bem-sucedida, seus [hooks `DirectoryAdded`](/docs/pt/hooks#directoryadded) são executados. Quando você o executa enquanto Claude está respondendo, Claude Code pede que você confirme o diretório imediatamente, e uma vez confirmado, a próxima chamada de ferramenta do Claude na mesma volta pode acessá-lo. Antes da v2.1.234, Claude Code enfileirava o comando até que a volta terminasse |56| `/add-dir <path>` | Adicione um diretório de trabalho para acesso a arquivos durante a sessão atual. Digite um caminho parcial para ver sugestões de diretório correspondentes; pressione `Tab` para aceitar uma. A maioria da configuração `.claude/` [não é descoberta](/docs/pt/permissions#additional-directories-grant-file-access-not-configuration) do diretório adicionado. Você não pode adicionar a maioria dos [caminhos de rede](/docs/pt/errors#working-directory-is-a-network-path), como `\\server\share`. Após uma adição bem-sucedida, seus [hooks `DirectoryAdded`](/docs/pt/hooks#directoryadded) são executados. Quando você o executa enquanto Claude está respondendo, Claude Code pede que você confirme o diretório imediatamente, e uma vez confirmado, a próxima chamada de ferramenta do Claude no mesmo turno pode acessá-lo. Antes da v2.1.234, Claude Code enfileirava o comando até que o turno terminasse |

57| `/advisor [model\|off]` | Ative ou desative a [ferramenta advisor](/docs/pt/advisor), que consulta um segundo modelo para orientação em momentos-chave durante uma tarefa. Aceita `fable`, `opus`, `sonnet` ou um ID de modelo completo. `fable` requer [acesso a Fable](/docs/pt/advisor#choose-an-advisor-model). Sem um argumento, abre um seletor. Em uma sessão sem terminal interativo, ou sobre [Remote Control](/docs/pt/remote-control#limitations), passe o modelo ou `off` como um argumento; sem argumento lá, o comando imprime o advisor atual como texto. Esses formulários requerem Claude Code v2.1.260 ou posterior |57| `/advisor [model\|off]` | Ative ou desative a [ferramenta advisor](/docs/pt/advisor), que consulta um segundo modelo para orientação em momentos-chave durante uma tarefa. Aceita `fable`, `opus`, `sonnet` ou um ID de modelo completo. `fable` requer [acesso a Fable](/docs/pt/advisor#choose-an-advisor-model). Sem um argumento, abre um seletor. Em uma sessão sem terminal interativo, ou sobre [Remote Control](/docs/pt/remote-control#limitations), passe o modelo ou `off` como um argumento; sem argumento lá, o comando imprime o advisor atual como texto. Esses formulários requerem Claude Code v2.1.260 ou posterior |

58| `/agents` | A partir da v2.1.198, executar `/agents` imprime um lembrete para pedir ao Claude que crie ou gerencie [subagentes](/docs/pt/sub-agents), ou para editar `.claude/agents/` ou `~/.claude/agents/` diretamente. Na v2.1.197 e anterior, abre uma interface interativa para criar e gerenciar configurações de subagentes |58| `/agents` | A partir da v2.1.198, executar `/agents` imprime um lembrete para pedir ao Claude que crie ou gerencie [subagentes](/docs/pt/sub-agents), ou para editar `.claude/agents/` ou `~/.claude/agents/` diretamente. Na v2.1.197 e anterior, abre uma interface interativa para criar e gerenciar configurações de subagentes |

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

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

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

62| `/auto-mode-setup` | [Rascunhe entradas `autoMode.environment`](/docs/pt/auto-mode-config#generate-environment-entries) do seu projeto e sessões recentes, depois revise o rascunho e salve-o nas suas configurações de usuário. Requer um plano Pro, Max ou Team e Claude Code v2.1.228 ou posterior. No Windows nativo, requer v2.1.233 ou posterior |62| `/auto-mode-setup` | [Rascunhe entradas `autoMode.environment`](/docs/pt/auto-mode-config#generate-environment-entries) do seu projeto e sessões recentes, depois revise o rascunho e salve-o nas suas configurações de usuário. Requer um plano Pro, Max ou Team e Claude Code v2.1.228 ou posterior. No Windows nativo, requer v2.1.233 ou posterior |

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

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

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

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

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

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

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

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

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

72| `/claude-api [migrate\|upgrade\|managed-agents-onboard\|prompt-audit\|cost-optimize\|build-eval\|hillclimb\|preserved-thinking-migration]` | **[Skill](/docs/pt/skills#bundled-skills).** Carregue material de referência de [Claude API](https://platform.claude.com/docs/en/api/overview) e [Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) para a linguagem do seu projeto. Também ativa automaticamente quando seu código importa `anthropic` ou `@anthropic-ai/sdk`. Para o que cada subcomando faz e a versão que requer, consulte [Trabalhe em projetos Claude API](/docs/pt/skills#work-on-claude-api-projects) |72| `/claude-api [migrate\|upgrade\|managed-agents-onboard\|prompt-audit\|cost-optimize\|build-eval\|hillclimb\|preserved-thinking-migration]` | **[Skill](/docs/pt/skills#bundled-skills).** Carregue material de referência de [Claude API](https://platform.claude.com/docs/en/api/overview) e [Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) para a linguagem do seu projeto. Também ativa automaticamente quando seu código importa `anthropic` ou `@anthropic-ai/sdk`. Para o que cada subcomando faz e a versão que requer, consulte [Trabalhe em projetos Claude API](/docs/pt/skills#work-on-claude-api-projects) |

73| `/claude-in-chrome [task]` | **[Skill](/docs/pt/skills#bundled-skills).** Tenha Claude executar uma tarefa no seu navegador, como testar uma página, preencher um formulário ou ler logs do console, através de [Claude em Chrome](/docs/pt/chrome). Disponível quando a integração do Chrome está ativada para a sessão, por exemplo com `claude --chrome`, ou quando Claude Code pode oferecer [instalar a extensão](/docs/pt/chrome#install-the-extension-when-claude-asks) |73| `/claude-in-chrome [task]` | **[Skill](/docs/pt/skills#bundled-skills).** Tenha Claude executar uma tarefa no seu navegador, como testar uma página, preencher um formulário ou ler logs do console, através de [Claude em Chrome](/docs/pt/chrome). Disponível quando a integração do Chrome está ativada para a sessão, por exemplo com `claude --chrome`, ou quando Claude Code pode oferecer [instalar a extensão](/docs/pt/chrome#install-the-extension-when-claude-asks) |

74| `/clear [name]` | Inicie uma nova conversa com contexto vazio. Passe um nome para rotular a conversa anterior no seletor `/resume`. Para liberar contexto enquanto continua a mesma conversa, use `/compact` em vez disso. Retome a conversa anterior com `/resume`, ou, no mesmo processo Claude Code, restaure-a do [menu de retrocesso da entrada de sessão anterior](/docs/pt/checkpointing#rewind-past-a-cleared-conversation). Aliases: `/reset`, `/new` |74| `/clear [name]` | Inicie uma nova conversa com contexto vazio. Passe um nome para rotular a conversa anterior no seletor `/resume`. Para liberar contexto enquanto continua a mesma conversa, use `/compact` em vez disso. Retome a conversa anterior com `/resume`, ou, no mesmo processo Claude Code, restaure-a do [menu de retrocesso da entrada de sessão anterior](/docs/pt/checkpointing#rewind-past-a-cleared-conversation). Aliases: `/reset`, `/new` |

75| `/code-review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [pr#\|branch\|path]` | **[Skill](/docs/pt/skills#bundled-skills).** Revise o diff atual, ou um número de PR, branch ou caminho que você passa, para bugs de correção. Dependendo do seu modelo e nível de esforço, a revisão também cobre oportunidades de limpeza. Passe `--fix` para aplicar descobertas, `--comment` para postá-las no GitHub PR ou GitLab merge request, ou `ultra` para executar uma [revisão em nuvem](/docs/pt/ultrareview) profunda. Postar em um GitLab merge request requer Claude Code v2.1.257 ou posterior. Com `ultra` em um alvo de PR `github.com`, passe `--post` para pré-selecionar [postando as descobertas concluídas no PR](/docs/pt/ultrareview#post-findings-to-the-pull-request) no diálogo de inicialização; `--post` requer Claude Code v2.1.227 ou posterior. Consulte [Revise um diff localmente](/docs/pt/code-review#review-a-diff-locally) para os níveis de esforço, direcionamento e como se relaciona com `/simplify`. Alias: `/review` |75| `/code-review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [pr#\|branch\|path]` | **[Skill](/docs/pt/skills#bundled-skills).** Revise o diff atual, ou um número de PR, branch ou caminho que você passa, para bugs de correção. Dependendo do seu modelo e nível de esforço, a revisão também cobre oportunidades de limpeza. Passe `--fix` para aplicar descobertas, `--comment` para postá-las no GitHub PR ou GitLab merge request, ou `ultra` para executar uma [revisão na nuvem](/docs/pt/ultrareview) profunda. Postar em um GitLab merge request requer Claude Code v2.1.257 ou posterior. Com `ultra` em um alvo de PR `github.com`, passe `--post` para pré-selecionar [postando as descobertas concluídas no PR](/docs/pt/ultrareview#post-findings-to-the-pull-request) no diálogo de inicialização; `--post` requer Claude Code v2.1.227 ou posterior. Consulte [Revise um diff localmente](/docs/pt/code-review#review-a-diff-locally) para os níveis de esforço, direcionamento e como se relaciona com `/simplify`. Alias: `/review` |

76| `/color [color\|default]` | Defina a cor da barra de prompt para a sessão atual. Cores disponíveis: `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, `cyan`. Use `default` para redefinir, ou execute sem argumento para escolher uma cor aleatória. Quando [Remote Control](/docs/pt/remote-control) está conectado, a cor sincroniza com claude.ai/code. Também disponível em modo não interativo (`-p`); requer Claude Code v2.1.205 ou posterior |76| `/color [color\|default]` | Defina a cor da barra de prompt para a sessão atual. Cores disponíveis: `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, `cyan`. Use `default` para redefinir, ou execute sem argumento para escolher uma cor aleatória. Quando [Remote Control](/docs/pt/remote-control) está conectado, a cor sincroniza com claude.ai/code. Também disponível em modo não interativo (`-p`); requer Claude Code v2.1.205 ou posterior |

77| `/compact [instructions]` | Libere contexto resumindo a conversa até agora. Opcionalmente passe instruções de foco para o resumo. Consulte [como a compactação lida com regras, skills e arquivos de memória](/docs/pt/context-window#what-survives-compaction) |77| `/compact [instructions]` | Libere contexto resumindo a conversa até agora. Opcionalmente passe instruções de foco para o resumo. Consulte [como a compactação lida com regras, skills e arquivos de memória](/docs/pt/context-window#what-survives-compaction) |

78| `/config [key=value ...]` | Abra a interface de [Configurações](/docs/pt/settings) para ajustar tema, modelo, [estilo de saída](/docs/pt/output-styles) e outras preferências. Passe um ou mais pares `key=value` para definir uma configuração diretamente sem abrir a interface, por exemplo `/config thinking=false`, `/config theme=dark`, ou `/config model=sonnet`. O formulário `key=value` também funciona em modo não interativo (`-p`) e do aplicativo móvel Claude via [Remote Control](/docs/pt/remote-control). O formulário `key=value` não pode ativar uma configuração que precisa de sua confirmação no painel, como [`autoContinueAtUsageLimit`](/docs/pt/interactive-mode#turn-automatic-continue-off), embora possa desativá-la. Execute `/config --help` para listar as chaves que aceita. Alias: `/settings` |78| `/config [key=value ...]` | Abra a interface de [Configurações](/docs/pt/settings) para ajustar tema, modelo, [estilo de saída](/docs/pt/output-styles) e outras preferências. Passe um ou mais pares `key=value` para definir uma configuração diretamente sem abrir a interface, por exemplo `/config thinking=false`, `/config theme=dark`, ou `/config model=sonnet`. O formulário `key=value` também funciona em modo não interativo (`-p`) e do aplicativo móvel Claude via [Remote Control](/docs/pt/remote-control). O formulário `key=value` não pode ativar uma configuração que precisa de sua confirmação no painel, como [`autoContinueAtUsageLimit`](/docs/pt/interactive-mode#turn-automatic-continue-off), embora possa desativá-la. Execute `/config --help` para listar as chaves que aceita. Alias: `/settings` |

79| `/context [all]` | Visualize o uso de contexto atual como uma grade colorida. Mostra sugestões de otimização para ferramentas pesadas em contexto, inchaço de memória e avisos de capacidade. Quando a conversa excede a janela de contexto, a saída inclui um [aviso](/docs/pt/errors#context-exceeds-the-token-limit) mostrando o quão longe você está do limite e qual comando libera espaço. Em [modo tela cheia](/docs/pt/fullscreen), `/context` recolhe o detalhamento por item para manter a grade visível. Passe `all` para expandi-lo |79| `/context [all]` | Visualize o uso de contexto atual como uma grade colorida. Mostra sugestões de otimização para ferramentas pesadas em contexto, inchaço de memória e avisos de capacidade. Quando a conversa excede a janela de contexto, a saída inclui um [aviso](/docs/pt/errors#context-exceeds-the-token-limit) mostrando o quão longe você está do limite e qual comando libera espaço. Em [modo tela cheia](/docs/pt/fullscreen), `/context` recolhe o detalhamento por item para manter a grade visível. Passe `all` para expandi-lo |

80| `/copy [N]` | Copie a última resposta do assistente para a área de transferência. Passe um número `N` para copiar a Nª-última resposta: `/copy 2` copia a segunda-última. Quando blocos de código estão presentes, mostra um seletor interativo para selecionar blocos individuais ou a resposta completa. Pressione `w` no seletor para escrever a seleção em um arquivo em vez da área de transferência, o que é útil sobre SSH |80| `/copy [N]` | Copie a última resposta do assistente para a área de transferência. Passe um número `N` para copiar a Nª-última resposta: `/copy 2` copia a segunda-última. Quando blocos de código estão presentes, mostra um seletor interativo para selecionar blocos individuais ou a resposta completa. Pressione `w` no seletor para escrever a seleção em um arquivo em vez da área de transferência, o que é útil sobre SSH |

81| `/cost` | Alias para `/usage` |81| `/cost` | Alias para `/usage` |

82| `/dataviz [request]` | **[Skill](/docs/pt/skills#bundled-skills).** Orientação de design para gráficos, gráficos e painéis. Claude escolhe a forma de gráfico para os dados, atribui cor por função, valida a paleta para segurança de daltonismo e contraste com um script agrupado, e aplica regras de marca, interação e acessibilidade. Usa uma paleta de espaço reservado neutra da marca que você substitui pela sua própria. Requer Claude Code v2.1.198 ou posterior |82| `/dataviz [request]` | **[Skill](/docs/pt/skills#bundled-skills).** Orientação de design para gráficos, gráficos e painéis. Claude escolhe a forma de gráfico para os dados, atribui cor por função, valida a paleta para segurança de daltonismo e contraste com um script incluído, e aplica regras de marca, interação e acessibilidade. Usa uma paleta de espaço reservado neutra da marca que você substitui pela sua própria. Requer Claude Code v2.1.198 ou posterior |

83| `/debug [description]` | **[Skill](/docs/pt/skills#bundled-skills).** Ative o registro de debug para a sessão atual e solucione problemas lendo o log de debug da sessão. O registro de debug está desativado por padrão, a menos que você tenha iniciado com `claude --debug`, então executar `/debug` no meio da sessão começa a capturar logs a partir desse ponto. Opcionalmente descreva o problema para focar a análise |83| `/debug [description]` | **[Skill](/docs/pt/skills#bundled-skills).** Ative o registro de debug para a sessão atual e solucione problemas lendo o log de debug da sessão. O registro de debug está desativado por padrão, a menos que você tenha iniciado com `claude --debug`, então executar `/debug` no meio da sessão começa a capturar logs a partir desse ponto. Opcionalmente descreva o problema para focar a análise |

84| `/deep-research <question>` | **[Workflow](/docs/pt/workflows#bundled-workflows).** Distribua buscas na web em uma pergunta, busque e verifique cruzadamente fontes e sintetize um relatório citado |84| `/deep-research <question>` | **[Workflow](/docs/pt/workflows#bundled-workflows).** Distribua buscas na web em uma pergunta, busque e verifique cruzadamente fontes e sintetize um relatório citado |

85| `/design [brief]` | **[Skill](/docs/pt/skills#bundled-skills).** Rascunhe mockups de UI, fluxos de tela, páginas de destino ou pôsteres como artboards em uma tela, publicados como um [artefato](/docs/pt/artifacts#draft-a-design-canvas) Design, por exemplo `/design a settings screen for a mobile banking app`. Você edita os artboards em um navegador de desktop, e suas edições são salvas automaticamente. Você pode exportar cada artboard como PNG ou PDF. Requer Claude Code v2.1.265 ou posterior, uma sessão onde [artefatos estão disponíveis](/docs/pt/artifacts#availability) e uma conta onde o [modelo Design está disponível](/docs/pt/artifacts#start-from-a-slides-design-or-docs-template); se sua organização desativou esse modelo, `/design` não rascunha designs. Disponível na API Anthropic. No Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry e Claude Platform on AWS, artefatos não estão disponíveis, então o comando não está disponível lá |85| `/design [brief]` | **[Skill](/docs/pt/skills#bundled-skills).** Rascunhe mockups de UI, fluxos de tela, páginas de destino ou pôsteres como artboards em uma tela, publicados como um [artefato](/docs/pt/artifacts#draft-a-design-canvas) Claude Design, por exemplo `/design a settings screen for a mobile banking app`. Você edita os artboards em um navegador de desktop, e suas edições são salvas automaticamente. Você pode exportar cada artboard como PNG ou PDF. Requer Claude Code v2.1.265 ou posterior, uma sessão onde [artefatos estão disponíveis](/docs/pt/artifacts#availability) e uma conta onde o [modelo Design está disponível](/docs/pt/artifacts#start-from-a-slides-design-or-docs-template); se sua organização desativou esse modelo, `/design` não rascunha designs. Disponível na API Anthropic. No Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry e Claude Platform on AWS, artefatos não estão disponíveis, então o comando não está disponível lá |

86| `/design-login` | Autorize acesso ao sistema de design para `/design-sync` com sua conta claude.ai |86| `/design-login` | Autorize acesso ao sistema de design para `/design-sync` com sua conta claude.ai |

87| `/design-sync [hint]` | **[Skill](/docs/pt/skills#bundled-skills).** Converta o sistema de design React do seu repositório e carregue-o em [Claude Design](https://claude.ai/design), para que os designs que produz usem seus componentes reais. Opcionalmente nomeie o sistema de design, por exemplo `/design-sync Acme DS`. Uma primeira sincronização verifica cada componente e pode levar algumas horas em um repositório grande. Disponível na API Anthropic. Precisa de claude.ai, que a CLI não contatará 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), então o comando não está disponível lá |87| `/design-sync [hint]` | **[Skill](/docs/pt/skills#bundled-skills).** Converta o sistema de design React do seu repositório e carregue-o em [Claude Design](https://claude.ai/design), para que os designs que produz usem seus componentes reais. Opcionalmente nomeie o sistema de design, por exemplo `/design-sync Acme DS`. Uma primeira sincronização verifica cada componente e pode levar algumas horas em um repositório grande. Disponível na API Anthropic. Precisa de claude.ai, que a CLI não contatará 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), então o comando não está disponível lá |

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

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

90| `/doctor [prompt-audit [path]]` | **[Skill](/docs/pt/skills#bundled-skills).** Execute uma verificação de configuração que diagnostica problemas e pode corrigi-los. Verifica a saúde da instalação, incluindo instalações duplicadas ou restantes, problemas de `PATH` e arquivos de configuração não analisáveis. Encontra skills, servidores MCP e plugins não utilizados versus seu custo de contexto, sinaliza [hooks](/docs/pt/hooks) lentos e verifica uma versão mais nova no seu [canal de lançamento](/docs/pt/setup#configure-release-channel). Deduplica arquivos `CLAUDE.md` locais contra os verificados, aparas arquivos [`CLAUDE.md`](/docs/pt/memory#my-claude-md-is-too-large) verificados cortando conteúdo que Claude poderia derivar do codebase, e migra a orientação sempre carregada que permanece em [skills](/docs/pt/skills) e arquivos `CLAUDE.md` aninhados que carregam sob demanda. Também oferece fazer [modo automático](/docs/pt/permissions#permission-modes) seu padrão e [pré-aprovar](/docs/pt/permissions) comandos somente leitura frequentemente negados. Relata descobertas primeiro e pede confirmação antes de alterar qualquer coisa. Do terminal, `claude doctor` imprime diagnósticos de instalação somente leitura sem iniciar uma sessão. Alias: `/checkup`. Execute `/doctor prompt-audit` para ter Claude [auditar seus arquivos `CLAUDE.md`, skills e outras configurações](/docs/pt/memory#audit-your-instruction-files) para instruções desatualizadas ou conflitantes em vez de executar a verificação. O subcomando `prompt-audit` requer Claude Code v2.1.283 ou posterior. A verificação de aparas `CLAUDE.md` requer Claude Code v2.1.206 ou posterior. Antes da v2.1.205, `/doctor` abria uma tela de diagnósticos somente leitura e pressionar `f` enviava o relatório para Claude |90| `/doctor [prompt-audit [path]]` | **[Skill](/docs/pt/skills#bundled-skills).** Execute uma verificação de configuração que diagnostica problemas e pode corrigi-los. Verifica a saúde da instalação, incluindo instalações duplicadas ou restantes, problemas de `PATH` e arquivos de configuração não analisáveis. Encontra skills, servidores MCP e plugins não utilizados versus seu custo de contexto, sinaliza [hooks](/docs/pt/hooks) lentos e verifica uma versão mais nova no seu [canal de lançamento](/docs/pt/setup#configure-release-channel). Deduplica arquivos `CLAUDE.md` locais contra os verificados, apara arquivos [`CLAUDE.md`](/docs/pt/memory#my-claude-md-is-too-large) verificados cortando conteúdo que Claude poderia derivar da base de código, e migra a orientação sempre carregada que permanece em [skills](/docs/pt/skills) e arquivos `CLAUDE.md` aninhados que carregam sob demanda. Também oferece fazer do [modo auto](/docs/pt/permissions#permission-modes) seu padrão e [pré-aprovar](/docs/pt/permissions) comandos somente leitura frequentemente negados. Relata descobertas primeiro e pede confirmação antes de alterar qualquer coisa. Do terminal, `claude doctor` imprime diagnósticos de instalação somente leitura sem iniciar uma sessão. Alias: `/checkup`. Execute `/doctor prompt-audit` para ter Claude [auditar seus arquivos `CLAUDE.md`, skills e outras configurações](/docs/pt/memory#audit-your-instruction-files) para instruções desatualizadas ou conflitantes em vez de executar a verificação. O subcomando `prompt-audit` requer Claude Code v2.1.283 ou posterior. A verificação de aparas `CLAUDE.md` requer Claude Code v2.1.206 ou posterior. Antes da v2.1.205, `/doctor` abria uma tela de diagnósticos somente leitura e pressionar `f` enviava o relatório para Claude |

91| `/effort [level\|auto\|status\|ultracode [on\|off]]` | Defina o [nível de esforço](/docs/pt/model-config#adjust-effort-level): `low` a `xhigh`, `max`, ou `auto`; `status` o imprime. `ultracode` ou `ultracode on` ativa [ultracode](/docs/pt/workflows#let-claude-decide-with-ultracode) para a sessão no nível atual, e `ultracode off` o desativa; a chave [`ultracode`](/docs/pt/settings-reference#ultracode) persiste. `max` é apenas de sessão. Os argumentos `on` e `off` e manter o nível atual requerem Claude Code v2.1.284 ou posterior. Antes da v2.1.284, `/effort ultracode` definia a sessão para `xhigh`, e `/effort ultracode off` falhava com `Invalid argument`. Execute-o enquanto Claude está respondendo e, uma vez que você confirme o [aviso de cache](/docs/pt/prompt-caching#changing-effort-level), se Claude Code mostrar um, Claude Code aplica o novo nível à próxima solicitação nessa volta. Antes da v2.1.242, Claude Code decidiu de um sinalizador de recurso que buscou do Anthropic se executaria o comando no meio da volta ou o enfileiraria até que a volta terminasse, e sempre o enfileirava em uma sessão que não [busca sinalizadores de recurso](/docs/pt/env-vars#features-that-need-feature-flag-fetching), como em um [provedor de terceiros](/docs/pt/third-party-integrations). Funciona em `-p` |91| `/effort [level\|auto\|status\|ultracode [on\|off]]` | Defina o [nível de esforço](/docs/pt/model-config#adjust-effort-level): `low` a `xhigh`, `max`, ou `auto`; `status` o imprime. `ultracode` ou `ultracode on` ativa [ultracode](/docs/pt/workflows#let-claude-decide-with-ultracode) para a sessão no nível atual, e `ultracode off` o desativa; a chave [`ultracode`](/docs/pt/settings-reference#ultracode) persiste. `max` é apenas de sessão. Os argumentos `on` e `off` e manter o nível atual requerem Claude Code v2.1.284 ou posterior. Antes da v2.1.284, `/effort ultracode` definia a sessão para `xhigh`, e `/effort ultracode off` falhava com `Invalid argument`. Execute-o enquanto Claude está respondendo e, uma vez que você confirme o [aviso de cache](/docs/pt/prompt-caching#changing-effort-level), se Claude Code mostrar um, Claude Code aplica o novo nível à próxima requisição nesse turno. Antes da v2.1.242, Claude Code decidia a partir de uma flag de recurso que buscava do Anthropic se executaria o comando no meio do turno ou o enfileiraria até que o turno terminasse, e sempre o enfileirava em uma sessão que não [busca flags de recurso](/docs/pt/env-vars#features-that-need-feature-flag-fetching), como em um [provedor de terceiros](/docs/pt/third-party-integrations). Funciona em `-p` |

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

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

94| `/fast [on\|off]` | Alterne o [modo rápido](/docs/pt/fast-mode) ativado ou desativado. Execute-o enquanto Claude está respondendo e Claude Code alterna o modo rápido sem esperar que a volta termine, embora a volta em execução termine na sua velocidade original. Antes da v2.1.242, Claude Code decidiu de um sinalizador de recurso que buscou do Anthropic se executaria o comando no meio da volta ou o enfileiraria até que a volta terminasse, e sempre o enfileirava em uma sessão que não [busca sinalizadores de recurso](/docs/pt/env-vars#features-that-need-feature-flag-fetching). A disponibilidade em modo não interativo com `-p` é limitada; consulte [Alterne o modo rápido](/docs/pt/fast-mode#toggle-fast-mode). Requer Claude Code v2.1.205 ou posterior |94| `/fast [on\|off]` | Alterne o [modo rápido](/docs/pt/fast-mode) ativado ou desativado. Execute-o enquanto Claude está respondendo e Claude Code alterna o modo rápido sem esperar que o turno termine, embora o turno em execução termine na sua velocidade original. Antes da v2.1.242, Claude Code decidia a partir de uma flag de recurso que buscava do Anthropic se executaria o comando no meio do turno ou o enfileiraria até que o turno terminasse, e sempre o enfileirava em uma sessão que não [busca flags de recurso](/docs/pt/env-vars#features-that-need-feature-flag-fetching). A disponibilidade em modo não interativo com `-p` é limitada; consulte [Alterne o modo rápido](/docs/pt/fast-mode#toggle-fast-mode). Requer Claude Code v2.1.205 ou posterior |

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

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

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

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

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 turnos até que a condição seja atendida ou a meta [limpe por outro motivo](/docs/pt/goal#how-evaluation-works). Sem argumento, mostra a meta atual ou mais recentemente alcançada. `clear`, `stop`, `off`, `reset`, `none` ou `cancel` remove uma meta ativa antecipadamente |

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

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

102| `/hooks` | Veja configurações de [hook](/docs/pt/hooks) 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 flags de recurso](/docs/pt/env-vars#features-that-need-feature-flag-fetching). Requer Claude Code v2.1.213 ou posterior. Importar do Cursor requer v2.1.265 ou posterior |

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

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

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

108| `/install-slack-app` | Instale o Claude Slack app. Abre um navegador para completar o fluxo OAuth |108| `/install-slack-app` | Instale o Claude Slack app. Abre um navegador para completar o fluxo OAuth |

109| `/keybindings` | Abra seu arquivo de [atalhos de teclado](/docs/pt/keybindings) |109| `/keybindings` | Abra seu arquivo de [atalhos de teclado](/docs/pt/keybindings) |

110| `/list-agents` | Liste os subagentes, colegas da [equipe de agentes](/docs/pt/agent-teams) e outras sessões Claude Code que Claude pode enviar mensagens, com o nome a usar para cada. Consulte [mensagens entre sessões](/docs/pt/cross-session-messaging). Também disponível como `/peers`. Requer Claude Code v2.1.224 ou posterior; versões anteriores relatam `Unknown command: /list-agents`. Linhas de colegas e a primeira linha mostrando o nome da própria sessão requerem v2.1.239 ou posterior. Disponível apenas em sessões onde [mensagens entre sessões estão ativadas](/docs/pt/cross-session-messaging#availability) |110| `/list-agents` | Liste os subagentes, colegas da [equipe de agentes](/docs/pt/agent-teams) e outras sessões Claude Code que Claude pode enviar mensagens, com o nome a usar para cada. Consulte [mensagens entre sessões](/docs/pt/cross-session-messaging). Também disponível como `/peers`. Requer Claude Code v2.1.224 ou posterior; versões anteriores relatam `Unknown command: /list-agents`. Linhas de colegas e a primeira linha mostrando o nome da própria sessão requerem v2.1.239 ou posterior. Disponível apenas em sessões onde [mensagens entre sessões estão ativadas](/docs/pt/cross-session-messaging#availability) |

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

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

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

114| `/mcp [reconnect <server>\|enable\|disable [<server>\|all]]` | Gerencie conexões de servidor MCP e autenticação OAuth. Execute sem argumento para abrir a lista interativa, passe `reconnect <server>` para reconectar um servidor desconectado, ou passe `enable`/`disable` com um nome de servidor ou `all` para alterar o estado de conexão sem abrir o diálogo. Também disponível em modo não interativo (`-p`), onde executá-lo sem argumento imprime um resumo de texto do status do servidor em vez de abrir a lista; requer Claude Code v2.1.205 ou posterior |114| `/mcp [reconnect <server>\|enable\|disable [<server>\|all]]` | Gerencie conexões de servidor MCP e autenticação OAuth. Execute sem argumento para abrir a lista interativa, passe `reconnect <server>` para reconectar um servidor desconectado, ou passe `enable`/`disable` com um nome de servidor ou `all` para alterar o estado de conexão sem abrir o diálogo. Também disponível em modo não interativo (`-p`), onde executá-lo sem argumento imprime um resumo de texto do status do servidor em vez de abrir a lista; requer Claude Code v2.1.205 ou posterior |

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

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

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

118| `/output-style [style]` | Liste [estilos de saída](/docs/pt/output-styles) ou mude para um, por exemplo `/output-style concise`. Consulte [Altere seu estilo de saída](/docs/pt/output-styles#change-your-output-style). Requer Claude Code v2.1.269 ou posterior |118| `/output-style [style]` | Liste [estilos de saída](/docs/pt/output-styles) ou mude para um, por exemplo `/output-style concise`. Consulte [Altere seu estilo de saída](/docs/pt/output-styles#change-your-output-style). Requer Claude Code v2.1.269 ou posterior |

119| `/passes` | Compartilhe uma semana gratuita de Claude Code com amigos. Visível apenas se sua conta for elegível |119| `/passes` | Compartilhe uma semana gratuita de Claude Code com amigos. Visível apenas se sua conta for elegível |

120| `/permissions` | Gerencie regras de permissão de ferramentas permitir, perguntar e negar. Abre um diálogo interativo onde você pode visualizar regras por escopo, adicionar ou remover regras, gerenciar diretórios de trabalho e revisar [negações de modo automático recentes](/docs/pt/auto-mode-config#review-denials). Você também pode visualizar e editar [regras do classificador de modo automático](/docs/pt/auto-mode-config#edit-rules-from-permissions) da aba **Auto mode** do diálogo. Quando você o executa enquanto Claude está respondendo, Claude Code abre o diálogo imediatamente e aplica suas mudanças começando com a próxima chamada de ferramenta do Claude na mesma volta. Antes da v2.1.234, Claude Code enfileirava o comando até que a volta terminasse. Alias: `/allowed-tools` |120| `/permissions` | Gerencie regras de permissão de ferramentas permitir, perguntar e negar. Abre um diálogo interativo onde você pode visualizar regras por escopo, adicionar ou remover regras, gerenciar diretórios de trabalho e revisar [negações recentes do modo auto](/docs/pt/auto-mode-config#review-denials). Você também pode visualizar e editar [regras do classificador do modo auto](/docs/pt/auto-mode-config#edit-rules-from-permissions) da aba **Auto mode** do diálogo. Quando você o executa enquanto Claude está respondendo, Claude Code abre o diálogo imediatamente e aplica suas mudanças começando com a próxima chamada de ferramenta do Claude no mesmo turno. Antes da v2.1.234, Claude Code enfileirava o comando até que o turno terminasse. Alias: `/allowed-tools` |

121| `/plan [description]` | Entre no modo de plano diretamente do prompt. Passe uma descrição opcional para entrar no modo de plano e começar imediatamente com essa tarefa, por exemplo `/plan fix the auth bug` |121| `/plan [description]` | Entre no modo de planejamento diretamente do prompt. Passe uma descrição opcional para entrar no modo de planejamento e começar imediatamente com essa tarefa, por exemplo `/plan fix the auth bug` |

122| `/plugin [subcommand]` | Gerencie [plugins](/docs/pt/plugins/overview) do Claude Code. Execute sem argumento para abrir o menu de plugin, ou passe um subcomando como `list`, `install`, `enable` ou `disable` para agir diretamente. Claude Code pode ativar um plugin durante a instalação; o [resumo de instalação](/docs/pt/plugins/install#install-a-plugin) diz se fez ou se você deve executar `/reload-plugins` |122| `/plugin [subcommand]` | Gerencie [plugins](/docs/pt/plugins/overview) do Claude Code. Execute sem argumento para abrir o menu de plugin, ou passe um subcomando como `list`, `install`, `enable` ou `disable` para agir diretamente. Claude Code pode ativar um plugin durante a instalação; o [resumo de instalação](/docs/pt/plugins/install#install-a-plugin) diz se fez ou se você deve executar `/reload-plugins` |

123| `/powerup` | Descubra recursos do Claude Code através de lições interativas rápidas com demos animadas |123| `/powerup` | Descubra recursos do Claude Code através de lições interativas rápidas com demos animadas |

124| `/pr-comments [PR]` | Removido na v2.1.91. Peça ao Claude diretamente para visualizar comentários de pull request. Em versões anteriores, buscava e exibia comentários de um pull request GitHub; detecta automaticamente o PR para o branch atual, ou passe uma URL ou número de PR. Requer a CLI `gh` |124| `/pr-comments [PR]` | Removido na v2.1.91. Peça ao Claude diretamente para visualizar comentários de pull request. Em versões anteriores, buscava e exibia comentários de um pull request GitHub; detecta automaticamente o PR para o branch atual, ou passe uma URL ou número de PR. Requer a CLI `gh` |

125| `/privacy-settings` | Veja e atualize suas configurações de privacidade. Disponível apenas para assinantes de planos Pro e Max |125| `/privacy-settings` | Veja e atualize suas configurações de privacidade. Disponível apenas para assinantes de planos Pro e Max |

126| `/radio` | Abra Claude FM lo-fi radio no seu navegador. Imprime a URL do stream quando nenhum navegador está disponível |126| `/radio` | Abra Claude FM lo-fi radio no seu navegador. Imprime a URL do stream quando nenhum navegador está disponível |

127| `/rate-limit-options` | Mostre maneiras de continuar trabalhando quando um limite de uso claude.ai bloqueia uma solicitação: aguarde e [continue automaticamente quando o limite for redefinido](/docs/pt/interactive-mode#wait-for-a-usage-limit-to-reset), adicione [créditos de uso](/docs/pt/costs#add-usage-credits-to-your-subscription) ou atualize seu plano. Claude Code também pode abrir este menu por conta própria quando você atinge um limite no seu próprio terminal. Consulte [Desative a continuação automática](/docs/pt/interactive-mode#turn-automatic-continue-off). Requer uma assinatura claude.ai. As linhas de espera e continuação requerem Claude Code v2.1.234 ou posterior |127| `/rate-limit-options` | Mostre maneiras de continuar trabalhando quando um limite de uso claude.ai bloqueia uma requisição: aguarde e [continue automaticamente quando o limite for redefinido](/docs/pt/interactive-mode#wait-for-a-usage-limit-to-reset), adicione [créditos de uso](/docs/pt/costs#add-usage-credits-to-your-subscription) ou atualize seu plano. Claude Code também pode abrir este menu por conta própria quando você atinge um limite no seu próprio terminal. Consulte [Desative a continuação automática](/docs/pt/interactive-mode#turn-automatic-continue-off). Requer uma assinatura claude.ai. As linhas de espera e continuação requerem Claude Code v2.1.234 ou posterior |

128| `/recap` | Gere um resumo de uma linha da sessão atual sob demanda. Consulte [Recapitulação de sessão](/docs/pt/interactive-mode#session-recap) para o recapitulação automática que aparece depois que você esteve ausente |128| `/recap` | Gere um resumo de uma linha da sessão atual sob demanda. Consulte [Recapitulação de sessão](/docs/pt/interactive-mode#session-recap) para a recapitulação automática que aparece depois que você esteve ausente |

129| `/release-notes` | Veja o changelog em um seletor de versão interativo. Selecione uma versão específica para ver suas notas de lançamento, ou escolha mostrar todas as versões. As notas aparecem em sua transcrição sem entrar na conversa que Claude vê |129| `/release-notes` | Veja o changelog em um seletor de versão interativo. Selecione uma versão específica para ver suas notas de lançamento, ou escolha mostrar todas as versões. As notas aparecem em sua transcrição sem entrar na conversa que Claude vê |

130| `/reload-plugins [--force]` | Recarregue todos os [plugins](/docs/pt/plugins/overview) ativos para aplicar mudanças pendentes sem reiniciar. Relata contagens para cada componente recarregado e sinaliza erros de carregamento. Quando o recarregamento alteraria quais ferramentas MCP são carregadas e invalidaria o cache de prompt, o comando avisa e pula a menos que você passe `--force`. Também disponível em modo não interativo (`-p`), o Agent SDK e o aplicativo de desktop, onde é executado apenas em entrada digitada diretamente na sessão e não aplica mudanças de servidor MCP de plugin; requer Claude Code v2.1.260 ou posterior. Consulte [Aplique mudanças de plugin sem reiniciar](/docs/pt/plugins/cli-reference#reload-plugins) |130| `/reload-plugins [--force]` | Recarregue todos os [plugins](/docs/pt/plugins/overview) ativos para aplicar mudanças pendentes sem reiniciar. Relata contagens para cada componente recarregado e sinaliza erros de carregamento. Quando o recarregamento alteraria quais ferramentas MCP são carregadas e invalidaria o cache de prompt, o comando avisa e pula a menos que você passe `--force`. Também disponível em modo não interativo (`-p`), o Agent SDK e o aplicativo de desktop, onde é executado apenas em entrada digitada diretamente na sessão e não aplica mudanças de servidor MCP de plugin; requer Claude Code v2.1.260 ou posterior. Consulte [Aplique mudanças de plugin sem reiniciar](/docs/pt/plugins/cli-reference#reload-plugins) |

131| `/reload-skills` | Rescaneie diretórios de [skill](/docs/pt/skills) e comando para que skills adicionadas ou alteradas no disco durante a sessão fiquem disponíveis sem reiniciar. Relata quantas skills estão disponíveis e quantas foram adicionadas ou removidas |131| `/reload-skills` | Rescaneie diretórios de [skill](/docs/pt/skills) e comando para que skills adicionadas ou alteradas no disco durante a sessão fiquem disponíveis sem reiniciar. Relata quantas skills estão disponíveis e quantas foram adicionadas ou removidas |

132| `/remote-control` | Disponibilize esta sessão para [Remote Control](/docs/pt/remote-control) de claude.ai. Executá-lo enquanto desconectado imprime que Remote Control requer uma assinatura claude.ai e diz como conectar; antes da v2.1.206 relatava `Unknown command: /remote-control`. Alias: `/rc` |132| `/remote-control` | Disponibilize esta sessão para [Remote Control](/docs/pt/remote-control) de claude.ai. Executá-lo enquanto desconectado imprime que Remote Control requer uma assinatura claude.ai e diz como conectar; antes da v2.1.206 relatava `Unknown command: /remote-control`. Alias: `/rc` |

133| `/remote-env` | Escolha o [ambiente em nuvem](/docs/pt/cloud-environments#select-an-environment-from-the-cli) padrão para sessões em nuvem que você inicia a partir da CLI |133| `/remote-env` | Escolha o [ambiente na nuvem](/docs/pt/cloud-environments#select-an-environment-from-the-cli) padrão para sessões na nuvem que você inicia a partir da CLI |

134| `/rename [name]` | Renomeie a sessão atual e mostre o nome na barra de prompt. Sem um nome, auto-gera um a partir do histórico de conversa. Também disponível em modo não interativo (`-p`); requer Claude Code v2.1.205 ou posterior. De cada superfície de renomeação, incluindo claude.ai e o aplicativo de desktop, Claude Code substitui caracteres de controle e invisíveis no novo nome com espaços e limita o nome a 200 caracteres. Se o nome estiver vazio uma vez que caracteres invisíveis são removidos, Claude Code o rejeita e mostra `That name is empty once invisible characters are removed. Usage: /rename <name>`. A substituição de caracteres e limite de comprimento requerem Claude Code v2.1.221 ou posterior. Se outra sessão ativa nesta máquina já usar um nome que você passa, Claude Code aplica [uma variante dele](/docs/pt/sessions#name-your-sessions) |134| `/rename [name]` | Renomeie a sessão atual e mostre o nome na barra de prompt. Sem um nome, auto-gera um a partir do histórico de conversa. Também disponível em modo não interativo (`-p`); requer Claude Code v2.1.205 ou posterior. De cada superfície de renomeação, incluindo claude.ai e o aplicativo de desktop, Claude Code substitui caracteres de controle e invisíveis no novo nome com espaços e limita o nome a 200 caracteres. Se o nome estiver vazio uma vez que caracteres invisíveis são removidos, Claude Code o rejeita e mostra `That name is empty once invisible characters are removed. Usage: /rename <name>`. A substituição de caracteres e limite de comprimento requerem Claude Code v2.1.221 ou posterior. Se outra sessão ativa nesta máquina já usar um nome que você passa, Claude Code aplica [uma variante dele](/docs/pt/sessions#name-your-sessions) |

135| `/resume [session]` | Retome uma conversa por ID ou nome, ou abra o seletor de sessão. [Sessões de fundo](/docs/pt/agent-view) aparecem no seletor marcadas com `bg`. Retomar uma que ainda está em execução, do seletor ou por ID ou nome, [abre essa sessão](/docs/pt/sessions#resume-a-running-background-session): sua conversa atual se move para o fundo e este terminal se anexa à em execução. Pressione `←` em um prompt vazio para retornar à visualização de agente, que também lista a conversa que você deixou. Antes da v2.1.285, Claude Code recusava e dizia para abrir a sessão com `claude attach` ou pará-la primeiro. Alias: `/continue` |135| `/resume [session]` | Retome uma conversa por ID ou nome, ou abra o seletor de sessão. [Sessões em segundo plano](/docs/pt/agent-view) aparecem no seletor marcadas com `bg`. Retomar uma que ainda está em execução, do seletor ou por ID ou nome, [abre essa sessão](/docs/pt/sessions#resume-a-running-background-session): sua conversa atual vai para segundo plano e este terminal se anexa à em execução. Pressione `←` em um prompt vazio para retornar à visualização de agente, que também lista a conversa que você deixou. Antes da v2.1.285, Claude Code recusava e dizia para abrir a sessão com `claude attach` ou pará-la primeiro. Alias: `/continue` |

136| `/review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [pr#\|branch\|path]` | Alias de [`/code-review`](/docs/pt/code-review#review-a-diff-locally): revisa o diff atual, ou um número de PR, branch ou caminho que você passa, como `/review 1234`, e toma os mesmos níveis de esforço e sinalizadores. Sem um nível dado, a revisão reutiliza o último nível `low` através `max` que você digitou; consulte [Revise um diff localmente](/docs/pt/code-review#review-a-diff-locally) para as regras exatas. Para uma revisão em nuvem profunda, use [`/code-review ultra`](/docs/pt/ultrareview). Antes da v2.1.223, `/review` era um comando separado que executava uma revisão de uma única passagem, somente leitura de um pull request GitHub por número, listando PRs abertos para escolher quando executado sem argumento; de v2.1.186 através v2.1.201, executava o mesmo mecanismo multi-agente que `/code-review medium` |136| `/review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [pr#\|branch\|path]` | Alias de [`/code-review`](/docs/pt/code-review#review-a-diff-locally): revisa o diff atual, ou um número de PR, branch ou caminho que você passa, como `/review 1234`, e aceita os mesmos níveis de esforço e flags. Sem um nível dado, a revisão reutiliza o último nível `low` através `max` que você digitou; consulte [Revise um diff localmente](/docs/pt/code-review#review-a-diff-locally) para as regras exatas. Para uma revisão na nuvem profunda, use [`/code-review ultra`](/docs/pt/ultrareview). Antes da v2.1.223, `/review` era um comando separado que executava uma revisão de uma única passagem, somente leitura de um pull request GitHub por número, listando PRs abertos para escolher quando executado sem argumento; de v2.1.186 através v2.1.201, executava o mesmo mecanismo multi-agente que `/code-review medium` |

137| `/rewind` | Retroceda a conversa e/ou código para um ponto anterior, ou resuma a partir de uma mensagem selecionada. Consulte [checkpointing](/docs/pt/checkpointing). Aliases: `/checkpoint`, `/undo` |137| `/rewind` | Retroceda a conversa e/ou código para um ponto anterior, ou resuma a partir de uma mensagem selecionada. Consulte [checkpointing](/docs/pt/checkpointing). Aliases: `/checkpoint`, `/undo` |

138| `/run` | **[Skill](/docs/pt/skills#bundled-skills).** Inicie e dirija o aplicativo do seu projeto para ver uma mudança funcionando, não apenas passando testes. Consulte [Execute e verifique seu aplicativo](/docs/pt/skills#run-and-verify-your-app) |138| `/run` | **[Skill](/docs/pt/skills#bundled-skills).** Inicie e dirija o aplicativo do seu projeto para ver uma mudança funcionando, não apenas passando testes. Consulte [Execute e verifique seu aplicativo](/docs/pt/skills#run-and-verify-your-app) |

139| `/run-skill-generator` | **[Skill](/docs/pt/skills#bundled-skills).** Ensine `/run` e `/verify` como construir, iniciar e dirigir o aplicativo do seu projeto a partir de um ambiente limpo escrevendo uma [skill](/docs/pt/skills#run-and-verify-your-app) por projeto |139| `/run-skill-generator` | **[Skill](/docs/pt/skills#bundled-skills).** Ensine `/run` e `/verify` como fazer o build, iniciar e dirigir o aplicativo do seu projeto a partir de um ambiente limpo escrevendo uma [skill](/docs/pt/skills#run-and-verify-your-app) por projeto |

140| `/sandbox` | Alterne o [modo sandbox](/docs/pt/sandboxing). Disponível apenas em plataformas suportadas |140| `/sandbox` | Alterne o [modo sandbox](/docs/pt/sandboxing). Disponível apenas em plataformas suportadas |

141| `/schedule [description]` | Crie, atualize, liste ou execute [rotinas](/docs/pt/routines), que são executadas na nuvem. Claude o orienta através da configuração conversacionalmente. Você também pode perguntar sobre [execuções recentes de uma rotina](/docs/pt/routines#manage-routines-from-the-cli). Alias: `/routines` |141| `/schedule [description]` | Crie, atualize, liste ou execute [rotinas](/docs/pt/routines), que são executadas na nuvem. Claude o orienta através da configuração conversacionalmente. Você também pode perguntar sobre [execuções recentes de uma rotina](/docs/pt/routines#manage-routines-from-the-cli). Alias: `/routines` |

142| `/scroll-speed` | Ajuste a [velocidade de rolagem](/docs/pt/fullscreen#mouse-wheel-scrolling) da roda do mouse interativamente, com uma régua que você pode rolar enquanto o diálogo está aberto para visualizar a mudança. Disponível em [renderização tela cheia](/docs/pt/fullscreen) apenas e não no terminal IDE JetBrains |142| `/scroll-speed` | Ajuste a [velocidade de rolagem](/docs/pt/fullscreen#mouse-wheel-scrolling) da roda do mouse interativamente, com uma régua que você pode rolar enquanto o diálogo está aberto para visualizar a mudança. Disponível em [renderização tela cheia](/docs/pt/fullscreen) apenas e não no terminal IDE JetBrains |


144| `/setup-bedrock` | Configure autenticação, região e pinos de modelo [Amazon Bedrock](/docs/pt/amazon-bedrock) através de um assistente interativo. [Oculto do menu de comando](#how-the-command-menu-matches-what-you-type) até que `CLAUDE_CODE_USE_BEDROCK=1` seja definido; digite-o por completo. Usuários do Amazon Bedrock pela primeira vez também podem acessar este assistente da tela de login |144| `/setup-bedrock` | Configure autenticação, região e pinos de modelo [Amazon Bedrock](/docs/pt/amazon-bedrock) através de um assistente interativo. [Oculto do menu de comando](#how-the-command-menu-matches-what-you-type) até que `CLAUDE_CODE_USE_BEDROCK=1` seja definido; digite-o por completo. Usuários do Amazon Bedrock pela primeira vez também podem acessar este assistente da tela de login |

145| `/setup-vertex` | Configure autenticação, projeto, região e pinos de modelo [Google Cloud's Agent Platform](/docs/pt/google-vertex-ai) através de um assistente interativo. [Oculto do menu de comando](#how-the-command-menu-matches-what-you-type) até que `CLAUDE_CODE_USE_VERTEX=1` seja definido; digite-o por completo. Usuários do Google Cloud's Agent Platform pela primeira vez também podem acessar este assistente da tela de login |145| `/setup-vertex` | Configure autenticação, projeto, região e pinos de modelo [Google Cloud's Agent Platform](/docs/pt/google-vertex-ai) através de um assistente interativo. [Oculto do menu de comando](#how-the-command-menu-matches-what-you-type) até que `CLAUDE_CODE_USE_VERTEX=1` seja definido; digite-o por completo. Usuários do Google Cloud's Agent Platform pela primeira vez também podem acessar este assistente da tela de login |

146| `/simplify [target]` | **[Skill](/docs/pt/skills#bundled-skills).** Revise o código alterado para oportunidades de limpeza e aplique as correções. Quatro [agentes](/docs/pt/sub-agents) de revisão são executados em paralelo, cobrindo reutilização de helpers existentes, simplificação, eficiência e se a mudança está no nível certo de abstração. A revisão não procura por bugs de correção. Use `/code-review` para encontrar bugs. Passe um caminho ou referência de PR para revisar um alvo específico |146| `/simplify [target]` | **[Skill](/docs/pt/skills#bundled-skills).** Revise o código alterado para oportunidades de limpeza e aplique as correções. Quatro [agentes](/docs/pt/sub-agents) de revisão são executados em paralelo, cobrindo reutilização de helpers existentes, simplificação, eficiência e se a mudança está no nível certo de abstração. A revisão não procura por bugs de correção. Use `/code-review` para encontrar bugs. Passe um caminho ou referência de PR para revisar um alvo específico |

147| `/skill-doctor` | Mostre o que cada uma de suas [skills](/docs/pt/skills) custa em contexto e com que frequência é usada, para que você possa [encontrar skills para desativar](/docs/pt/skills#find-unused-skills). Requer Claude Code v2.1.252 ou posterior e [busca de sinalizador de recurso](/docs/pt/env-vars#features-that-need-feature-flag-fetching) |147| `/skill-doctor` | Mostre o que cada uma de suas [skills](/docs/pt/skills) custa em contexto e com que frequência é usada, para que você possa [encontrar skills para desativar](/docs/pt/skills#find-unused-skills). Requer Claude Code v2.1.252 ou posterior e [busca de flags de recurso](/docs/pt/env-vars#features-that-need-feature-flag-fetching) |

148| `/skills` | Liste [skills](/docs/pt/skills) disponíveis. Digite para filtrar a lista por nome, descrição ou fonte. Pressione `t` para classificar por contagem de token, `Space` ou `Enter` para [ciclar a visibilidade de uma skill para Claude e o menu `/`](/docs/pt/skills#override-skill-visibility-from-settings), e `Esc` para salvar e fechar. Você não pode ciclar skills de plugin, skills cuja frontmatter define `disable-model-invocation: true` ou skills com uma entrada `skillOverrides` em configurações gerenciadas ou o sinalizador `--settings` |148| `/skills` | Liste [skills](/docs/pt/skills) disponíveis. Digite para filtrar a lista por nome, descrição ou fonte. Pressione `t` para classificar por contagem de tokens, `Space` ou `Enter` para [ciclar a visibilidade de uma skill para Claude e o menu `/`](/docs/pt/skills#override-skill-visibility-from-settings), e `Esc` para salvar e fechar. Você não pode ciclar skills de plugin, skills cujo frontmatter define `disable-model-invocation: true` ou skills com uma entrada `skillOverrides` em configurações gerenciadas ou a flag `--settings` |

149| `/slides [brief]` | **[Skill](/docs/pt/skills#bundled-skills).** Faça uma nova apresentação como um [artefato](/docs/pt/artifacts#make-a-slide-deck) Claude Slides preenchido a partir de seu resumo, por exemplo `/slides a quarterly review of the platform team`. Requer Claude Code v2.1.265 ou posterior, uma sessão onde [artefatos estão disponíveis](/docs/pt/artifacts#availability) e uma conta onde o [modelo Slides está disponível](/docs/pt/artifacts#start-from-a-slides-design-or-docs-template); caso contrário o comando não aparece. Disponível na API Anthropic. No Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry e Claude Platform on AWS, artefatos não estão disponíveis, então o comando não está disponível lá |149| `/slides [brief]` | **[Skill](/docs/pt/skills#bundled-skills).** Faça uma nova apresentação como um [artefato](/docs/pt/artifacts#make-a-slide-deck) Claude Slides preenchido a partir de seu resumo, por exemplo `/slides a quarterly review of the platform team`. Requer Claude Code v2.1.265 ou posterior, uma sessão onde [artefatos estão disponíveis](/docs/pt/artifacts#availability) e uma conta onde o [modelo Slides está disponível](/docs/pt/artifacts#start-from-a-slides-design-or-docs-template); caso contrário o comando não aparece. Disponível na API Anthropic. No Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry e Claude Platform on AWS, artefatos não estão disponíveis, então o comando não está disponível lá |

150| `/stats` | Alias para `/usage`. Abre na aba Stats |150| `/stats` | Alias para `/usage`. Abre na aba Stats |

151| `/status` | Abra a interface de Configurações na aba Status, mostrando versão, modelo, conta e conectividade. Uma linha `Session kind` lê `background job · attached` ou `background job · unattended` em uma [sessão de fundo](/docs/pt/agent-view), dependendo se um terminal está anexado, e `interactive` em qualquer outra sessão. Antes da v2.1.221, `/status` não mostrava esta linha. Funciona enquanto Claude está respondendo |151| `/status` | Abra a interface de Configurações na aba Status, mostrando versão, modelo, conta e conectividade. Uma linha `Session kind` lê `background job · attached` ou `background job · unattended` em uma [sessão em segundo plano](/docs/pt/agent-view), dependendo se um terminal está anexado, e `interactive` em qualquer outra sessão. Antes da v2.1.221, `/status` não mostrava esta linha. Funciona enquanto Claude está respondendo |

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

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

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

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

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

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

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

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

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

161| `/tui [default\|fullscreen]` | Defina o renderizador de UI de terminal e reinicie nele com sua conversa intacta. `fullscreen` ativa o [renderizador alt-screen sem cintilação](/docs/pt/fullscreen). Sem argumento, imprime o renderizador ativo |161| `/tui [default\|fullscreen]` | Defina o renderizador de UI de terminal e reinicie nele com sua conversa intacta. `fullscreen` ativa o [renderizador alt-screen sem cintilação](/docs/pt/fullscreen). Sem argumento, imprime o renderizador ativo |

162| `/ultraplan <prompt>` | Removido. Use [modo de plano](/docs/pt/permission-modes#analyze-before-you-edit-with-plan-mode). Anteriormente enviava uma tarefa de planejamento para uma [sessão em nuvem](/docs/pt/claude-code-on-the-web) para revisão no seu navegador |162| `/ultraplan <prompt>` | Removido. Use o [modo de planejamento](/docs/pt/permission-modes#analyze-before-you-edit-with-plan-mode). Anteriormente enviava uma tarefa de planejamento para uma [sessão na nuvem](/docs/pt/claude-code-on-the-web) para revisão no seu navegador |

163| `/ultrareview [PR or branch]` | Execute uma revisão de código profunda e multi-agente em uma sandbox em nuvem com [ultrareview](/docs/pt/ultrareview). Passe uma referência de PR para revisar esse pull request, ou um branch base ou commit para alterar a base de comparação. A invocação preferida é `/code-review ultra`, e `/ultrareview` é um alias. Inclui 3 execuções gratuitas em Pro e Max, depois requer [créditos de uso](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |163| `/ultrareview [PR or branch]` | Execute uma revisão de código profunda e multi-agente em um sandbox na nuvem com [ultrareview](/docs/pt/ultrareview). Passe uma referência de PR para revisar esse pull request, ou um branch base ou commit para alterar a base de comparação. A invocação preferida é `/code-review ultra`, e `/ultrareview` é um alias. Inclui 3 execuções gratuitas em Pro e Max, depois requer [créditos de uso](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |

164| `/update-config [request]` | **[Skill](/docs/pt/skills#bundled-skills).** Descreva uma mudança de configurações, como permitir um comando, definir uma variável de ambiente ou adicionar um [hook](/docs/pt/hooks), e Claude edita o arquivo [`settings.json`](/docs/pt/settings) correspondente. Para opções como tema e modelo, use `/config` |164| `/update-config [request]` | **[Skill](/docs/pt/skills#bundled-skills).** Descreva uma mudança de configurações, como permitir um comando, definir uma variável de ambiente ou adicionar um [hook](/docs/pt/hooks), e Claude edita o arquivo [`settings.json`](/docs/pt/settings) correspondente. Para opções como tema e modelo, use `/config` |

165| `/upgrade` | Abra a página de atualização no seu navegador para mudar para um nível de plano superior. Quando o navegador falha em abrir, o comando mostra um prompt de login sem imprimir a URL |165| `/upgrade` | Abra a página de atualização no seu navegador para mudar para um nível de plano superior. Quando o navegador falha em abrir, o comando mostra um prompt de login sem imprimir a URL |

166| `/usage` | Mostre custo de sessão, limites de uso do plano e estatísticas de atividade. Em um plano Pro, Max, Team ou Enterprise, inclui um [detalhamento do que conta contra seus limites de plano](/docs/pt/costs#plan-usage-breakdown). `/cost` e `/stats` são aliases |166| `/usage` | Mostre custo de sessão, limites de uso do plano e estatísticas de atividade. Em um plano Pro, Max, Team ou Enterprise, inclui um [detalhamento do que conta contra seus limites de plano](/docs/pt/costs#plan-usage-breakdown). `/cost` e `/stats` são aliases |

167| `/usage-credits` | Configure créditos de uso, ou solicite-os do seu administrador, quando você atinge um limite. Abre suas [configurações de faturamento de créditos de uso](/docs/pt/costs#add-usage-credits-to-your-subscription) no navegador, exceto que membros de Team e Enterprise sem acesso de faturamento enviam uma solicitação de créditos de uso para seu administrador a partir da CLI, após confirmar em um diálogo que a solicitação notifica seus administradores. Quando nenhum navegador pode abrir a página de faturamento, por exemplo sobre SSH, o comando imprime a URL para visitar; isso requer Claude Code v2.1.205 ou posterior, e versões anteriores não mostravam nada nesse caso. Anteriormente `/extra-usage` |167| `/usage-credits` | Configure créditos de uso, ou solicite-os do seu administrador, quando você atinge um limite. Abre suas [configurações de faturamento de créditos de uso](/docs/pt/costs#add-usage-credits-to-your-subscription) no navegador, exceto que membros de Team e Enterprise sem acesso de faturamento enviam uma solicitação de créditos de uso para seu administrador a partir da CLI, após confirmar em um diálogo que a solicitação notifica seus administradores. Quando nenhum navegador pode abrir a página de faturamento, por exemplo sobre SSH, o comando imprime a URL para visitar; isso requer Claude Code v2.1.205 ou posterior, e versões anteriores não mostravam nada nesse caso. Anteriormente `/extra-usage` |

168| `/verify` | **[Skill](/docs/pt/skills#bundled-skills).** Confirme que uma mudança de código faz o que deveria construindo o aplicativo do seu projeto, executando-o e observando o resultado, em vez de confiar em testes ou verificações de tipo. Consulte [Execute e verifique seu aplicativo](/docs/pt/skills#run-and-verify-your-app) |168| `/verify` | **[Skill](/docs/pt/skills#bundled-skills).** Confirme que uma mudança de código faz o que deveria fazendo o build do aplicativo do seu projeto, executando-o e observando o resultado, em vez de confiar em testes ou verificações de tipo. Consulte [Execute e verifique seu aplicativo](/docs/pt/skills#run-and-verify-your-app) |

169| `/vim` | Removido na v2.1.92. Para alternar entre modos de edição Vim e Normal, use `/config` → Editor mode |169| `/vim` | Removido na v2.1.92. Para alternar entre modos de edição Vim e Normal, use `/config` → Editor mode |

170| `/voice [hold\|tap\|off]` | Alterne [ditado por voz](/docs/pt/voice-dictation), ou ative-o em um modo específico. Requer uma conta Claude.ai |170| `/voice [hold\|tap\|off]` | Alterne [ditado por voz](/docs/pt/voice-dictation), ou ative-o em um modo específico. Requer uma conta Claude.ai |

171| `/web-setup` | Conecte sua conta GitHub para [sessões em nuvem](/docs/pt/web-quickstart#connect-from-your-terminal) usando suas credenciais locais de CLI `gh` |171| `/web-setup` | Conecte sua conta GitHub para [sessões na nuvem](/docs/pt/web-quickstart#connect-from-your-terminal) usando suas credenciais locais de CLI `gh` |

172| `/workflow-authoring` | **[Skill](/docs/pt/skills#bundled-skills).** Carregue a referência para escrever scripts de [workflow dinâmico](/docs/pt/workflows): a API de script, comportamento de retomada, padrões de qualidade e exemplos trabalhados. Claude normalmente o carrega por conta própria antes de escrever um script; execute-o você mesmo antes de [editar um script salvo manualmente](/docs/pt/workflows#edit-a-saved-script). Disponível quando workflows dinâmicos estão ativados e requer Claude Code v2.1.248 ou posterior |172| `/workflow-authoring` | **[Skill](/docs/pt/skills#bundled-skills).** Carregue a referência para escrever scripts de [workflow dinâmico](/docs/pt/workflows): a API de script, comportamento de retomada, padrões de qualidade e exemplos trabalhados. Claude normalmente o carrega por conta própria antes de escrever um script; execute-o você mesmo antes de [editar um script salvo manualmente](/docs/pt/workflows#edit-a-saved-script). Disponível quando workflows dinâmicos estão ativados e requer Claude Code v2.1.248 ou posterior |

173| `/workflows` | Abra a visualização de progresso do [workflow](/docs/pt/workflows#watch-the-run) para assistir, pausar, retomar ou salvar workflows em execução e concluídos |173| `/workflows` | Abra a visualização de progresso do [workflow](/docs/pt/workflows#watch-the-run) para assistir, pausar, retomar ou salvar workflows em execução e concluídos |

174 174 

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 

Details

103 103 

104Se apt relatar `E: Unsupported file ./claude-desktop_*.deb given on commandline`, o padrão não correspondeu a um arquivo `.deb` no diretório atual. Confirme que o download foi concluído e execute o comando novamente a partir do diretório que contém o arquivo.104Se apt relatar `E: Unsupported file ./claude-desktop_*.deb given on commandline`, o padrão não correspondeu a um arquivo `.deb` no diretório atual. Confirme que o download foi concluído e execute o comando novamente a partir do diretório que contém o arquivo.

105 105 

106Instalar o `.deb` também registra o repositório apt da Anthropic em `/etc/apt/sources.list.d/claude-desktop.list`, para que as atualizações futuras cheguem com as [atualizações regulares de pacotes](#update) do seu sistema.106O `.deb` contém a chave de assinatura da Anthropic e a instala em `/usr/share/keyrings/claude-desktop-archive-keyring.asc`, para que você não precise baixar a chave por conta própria. A menos que você tenha desativado o registro com `CLAUDE_DESKTOP_ADD_REPO`, o pacote também registra o repositório apt em `/etc/apt/sources.list.d/claude-desktop.list`, para que as atualizações futuras cheguem com as [atualizações regulares de pacotes](#update) do seu sistema.

107 107 

108<h2 id="update">108<h2 id="update">

109 Atualizar109 Atualizar

env-vars.md +381 −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, remova a definição da variável ou defina-a como `0`. Para o painel de chat do VS Code, consulte [Continuar conversas após um recarregamento](/docs/pt/vs-code#continue-conversations-after-a-reload) |

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


542* Sincronizar as [skills](/docs/pt/skills#where-synced-skills-load) e [plugins](/docs/pt/plugins/loading#synced-plugins) ativados para sua conta claude.ai em suas sessões de terminal544* Sincronizar as [skills](/docs/pt/skills#where-synced-skills-load) e [plugins](/docs/pt/plugins/loading#synced-plugins) ativados para sua conta claude.ai em suas sessões de terminal

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

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

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

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

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

547* Obter [feedback rascunhado por Claude](/docs/pt/tools-reference#sendfeedback-tool-behavior), que Claude Code ativa através de uma flag buscada550* Obter [feedback rascunhado por Claude](/docs/pt/tools-reference#sendfeedback-tool-behavior), que Claude Code ativa através de uma flag buscada

errors.md +590 −563

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


75| `Remote Control stopped — the app running this session is now signed in to a different Claude account` | [Authentication](#remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts) |75| `Remote Control stopped — the app running this session is now signed in to a different Claude account` | [Authentication](#remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts) |

76| `Remote Control stopped — the app running this session is signed out of Claude` | [Authentication](#remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts) |76| `Remote Control stopped — the app running this session is signed out of Claude` | [Authentication](#remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts) |

77| `Couldn't verify your organization's policy for remote control` | [Troubleshoot Remote Control](/docs/pt/remote-control#couldnt-verify-your-organizations-policy-for-remote-control) |77| `Couldn't verify your organization's policy for remote control` | [Troubleshoot Remote Control](/docs/pt/remote-control#couldnt-verify-your-organizations-policy-for-remote-control) |

78| `Remote Control is disabled by your organization's policy` | [Troubleshoot Remote Control](/docs/pt/remote-control#remote-control-is-disabled-by-your-organizations-policy) |

79| `Remote Control was turned off by your organization's policy` | [Troubleshoot Remote Control](/docs/pt/remote-control#remote-control-was-turned-off-by-your-organizations-policy) |

78| `OAuth token revoked` / `OAuth token has expired` | [Authentication](#oauth-token-revoked-or-expired) |80| `OAuth token revoked` / `OAuth token has expired` | [Authentication](#oauth-token-revoked-or-expired) |

79| `API Error: 401 Invalid authentication credentials` | [Authentication](#api-error-401-invalid-authentication-credentials) |81| `API Error: 401 Invalid authentication credentials` | [Authentication](#api-error-401-invalid-authentication-credentials) |

80| `Login expired · Please run /login` | [Authentication](#login-expired) |82| `Login expired · Please run /login` | [Authentication](#login-expired) |


186| `The connection dropped while downloading the update` | [Installation errors](#the-connection-dropped-while-downloading-the-update) |188| `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) |189| `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) |190| `--bg and --print conflict` | [Command-line errors](#conflict-between-bg-and-print) |

191| `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) |192| `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) |193| `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) |194| `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) |215| `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) |216| `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) |217| `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) |218| `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) |219| ``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) |220| `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) |221| `Error: Input contained only whitespace` | [Command-line errors](#input-contained-only-whitespace) |


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

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

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

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

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

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

250| `Monitor "<name>" from plugin <plugin> references ${user_config.*} in its command` | [Plugin errors](#plugin-command-references-user-config) |255| `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) |256| `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) |257| `Plugin archive integrity check failed` | [Plugin errors](#plugin-archive-integrity-check-failed) |

258| `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) |259| `path escapes plugin directory` | [Plugin errors](#path-escapes-plugin-directory) |

254| `path could not be checked` | [Plugin errors](#path-could-not-be-checked) |260| `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) |261| `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 API492 No response from API

487</h3>493</h3>

488 494 

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).495Claude 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 496 

491```text theme={null}497```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.498API 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```499```

494 500 

495Claude Code define o tempo de espera para cabeçalhos de resposta da primeira tentativa e a espera da tentativa novamente separadamente:501Claude Code define o tempo de espera para cabeçalhos de resposta da primeira tentativa e a espera da nova tentativa separadamente:

496 502 

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.503* **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.504* **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 505 

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.506Nenhuma 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 507 


503 509 

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.510* 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).511* 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.512* 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.513* 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 514 

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.515Antes 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 516 

511<h3 id="the-response-above-may-be-incomplete">517<h3 id="the-response-above-may-be-incomplete">

512 The response above may be incomplete518 The response above may be incomplete


541 547 

542* Anteriormente na resposta, Claude Code ou tenta novamente a falha ou termina o turno com um erro diferente. Veja [Automatic retries](#automatic-retries).548* 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.549* 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.550* 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.551* 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 552 

547**O que fazer:**553**O que fazer:**


636The server-side auto mode classifier gave no verdict (timed out), so auto mode cannot determine the safety of <tool>.642The server-side auto mode classifier gave no verdict (timed out), so auto mode cannot determine the safety of <tool>.

637```643```

638 644 

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.645O 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 646 

641Após dez respostas seguidas sem veredicto, auto mode interrompe o turno:647Após dez respostas seguidas sem veredicto, auto mode interrompe o turno:

642 648 


663 Agent terminated early due to an API error669 Agent terminated early due to an API error

664</h3>670</h3>

665 671 

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.672A 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 673 

668```text theme={null}674```text theme={null}

669Agent terminated early due to an API error: <error detail>675Agent 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ção680* 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)681* 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 682 

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).683Quando 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 684 

679<h2 id="usage-limits">685<h2 id="usage-limits">

680 Limites de uso686 Limites de uso


885 Erros de autenticação891 Erros de autenticação

886</h2>892</h2>

887 893 

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.894Esses 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 895 

890<h3 id="not-logged-in">896<h3 id="not-logged-in">

891 Não conectado897 Não conectado


897Not logged in · Please run /login903Not logged in · Please run /login

898```904```

899 905 

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.906Em 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.

907 

908Se 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.

909 

910Antes 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 911 

902**O que fazer:**912**O que fazer:**

903 913 

904* Execute `/login` para se autenticar com sua assinatura Claude ou conta Console914* 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`915* 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ção916* 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 presentes917* 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 918 

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.919Se 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 920 

911<h3 id="could-not-resolve-authentication-method">921<h3 id="could-not-resolve-authentication-method">

912 Não foi possível resolver o método de autenticação922 Não foi possível resolver o método de autenticação

913</h3>923</h3>

914 924 

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.925A 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 926 

917```text theme={null}927```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 omitted928Could 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```929```

920 930 

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.931Nas 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 932 

923**O que fazer:**933**O que fazer:**

924 934 

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 configuradas935* 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 interativo936* 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)937* 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 é resolvida938* Execute `/status` em uma sessão interativa no mesmo ambiente para confirmar qual fonte de credencial é resolvida

929 939 

930<h3 id="invalid-api-key">940<h3 id="invalid-api-key">

931 Chave de API inválida941 Chave de API inválida

932</h3>942</h3>

933 943 

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.944A 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 945 

936```text theme={null}946```text theme={null}

937Invalid API key · Fix external API key947Invalid API key · Fix external API key

938```948```

939 949 

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.950Quando 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 951 

942**O que fazer:**952**O que fazer:**

943 953 

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)954* 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.955* 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 assinatura956* 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 stdout957* 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 usando958* Execute `/status` para confirmar qual fonte de credencial o Claude Code está realmente usando

949 959 

950<h3 id="your-apikeyhelper-script-is-failing">960<h3 id="your-apikeyhelper-script-is-failing">

951 Seu script apiKeyHelper está falhando961 Seu script apiKeyHelper está falhando

952</h3>962</h3>

953 963 

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:964O 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 965 

956* O comando saiu com um erro ou expirou966* O comando terminou com um erro ou atingiu o timeout

957* O comando não imprimiu nada em stdout967* 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.968* 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 969 

960```text theme={null}970```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 output971Your 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```972```

963 973 

964Em [modo não interativo](/docs/pt/headless), stderr também carrega o motivo específico, prefixado com `apiKeyHelper failed:`.974No [modo não interativo](/docs/pt/headless), o stderr também traz o motivo específico, prefixado com `apiKeyHelper failed:`.

965 975 

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.976O 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 977 

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.978Executar `/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 979 

970**O que fazer:**980**O que fazer:**

971 981 

972* Execute o comando configurado em `apiKeyHelper` diretamente no seu shell para reproduzir a falha982* 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 segredos983* 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.984* 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.985* 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`.986* 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 987 

978<h3 id="invalid-request-header-value">988<h3 id="invalid-request-header-value">

979 Valor de cabeçalho de solicitação inválido989 Valor de cabeçalho de requisição inválido

980</h3>990</h3>

981 991 

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

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.994O 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 995 

986```text theme={null}996```text theme={null}

987Invalid auth token · Fix external auth token997Invalid auth token · Fix external auth token


989Invalid request header from the environment · Fix the environment variable999Invalid request header from the environment · Fix the environment variable

990```1000```

991 1001 

992A primeira parte da mensagem depende de onde o valor ruim veio:1002A primeira parte da mensagem depende de onde veio o valor incorreto:

993 1003 

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)1004* `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.1005* `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.1006* `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 1007 

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).1008O 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 1009 

1000Após o segundo `·`, a mensagem descreve o problema, como neste exemplo completo:1010Após o segundo `·`, a mensagem descreve o problema, como neste exemplo completo:

1001 1011 


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).1013Invalid 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```1014```

1005 1015 

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`.1016As 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 1017 

1008**O que fazer:**1018**O que fazer:**

1009 1019 

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 novamente1020* 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 conta1021* 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á ativa1022* Execute `/status` para confirmar qual fonte de credencial está ativa

1013 1023 

1014<h3 id="this-organization-has-been-disabled">1024<h3 id="this-organization-has-been-disabled">

1015 Esta organização foi desabilitada1025 Esta organização foi desativada

1016</h3>1026</h3>

1017 1027 

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.1028O 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 1029 

1020```text theme={null}1030```text theme={null}

1021Your ANTHROPIC_API_KEY belongs to a disabled organization · Unset the environment variable to use your subscription instead1031Your 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.1033API Error: 400 ... This organization has been disabled.

1024```1034```

1025 1035 

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.1036A 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 1037 

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.1038Variá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 1039 

1030**O que fazer:**1040**O que fazer:**

1031 1041 

1032* Desdefina `ANTHROPIC_API_KEY` no shell atual e remova-a do seu perfil de shell, depois reinicie `claude`1042* 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.1043* 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 assinatura1044* 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.1045* 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 1046 

1037<h3 id="your-organization-has-disabled-api-key-authentication">1047<h3 id="your-organization-has-disabled-api-key-authentication">

1038 Sua organização desabilitou a autenticação por chave de API1048 Sua organização desativou a autenticação por chave de API

1039</h3>1049</h3>

1040 1050 

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:1051Esta 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 1052 

1043```text theme={null}1053```text theme={null}

1044Your organization has disabled API key authentication · Run /login to sign in with your claude.ai account1054Your 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 account1058Your organization has disabled API key authentication · Sign in again with your claude.ai account

1049```1059```

1050 1060 

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.1061A ú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 1062 

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).1063Variá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 1064 

1055**O que fazer:**1065**O que fazer:**

1056 1066 

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`1067* 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`1068* 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.ai1069* 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 API1070* 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 Console1071* 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 1072 

1063<h3 id="your-organization-has-disabled-claude-subscription-access">1073<h3 id="your-organization-has-disabled-claude-subscription-access">

1064 Sua organização desabilitou o acesso à assinatura Claude1074 Sua organização desativou o acesso por assinatura Claude

1065</h3>1075</h3>

1066 1076 

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.1077Sua 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 1078 

1069```text theme={null}1079```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 access1080Your organization has disabled Claude subscription access for Claude Code · Use an Anthropic API key instead, or ask your admin to enable access

1071```1081```

1072 1082 

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.1083Esta é 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 1084 

1075O Agent SDK e o modo não interativo `-p` apresentam isso como o código de erro `oauth_org_not_allowed`.1085O Agent SDK e o modo não interativo `-p` expõem isso como o código de erro `oauth_org_not_allowed`.

1076 1086 

1077**O que fazer:**1087**O que fazer:**

1078 1088 

1079* Peça ao seu administrador para habilitar o acesso ao Claude Code para sua organização1089* 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.1090* 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)1091* 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 1092 

1083<h3 id="routines-are-disabled-by-your-organizations-policy">1093<h3 id="routines-are-disabled-by-your-organizations-policy">

1084 Rotinas são desabilitadas pela política da sua organização1094 As rotinas estão desativadas pela política da sua organização

1085</h3>1095</h3>

1086 1096 

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.1097Um 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 1098 

1089```text theme={null}1099```text theme={null}

1090Routines are disabled by your organization's policy.1100Routines are disabled by your organization's policy.

1091```1101```

1092 1102 

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.1103Esta é 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 1104 

1095**O que fazer:**1105**O que fazer:**

1096 1106 

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)1107* 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)1108* Para trabalhos agendados pontuais que não exigem rotinas no nível da organização, consulte [tarefas agendadas](/docs/pt/scheduled-tasks)

1099 1109 

1100<h3 id="remote-control-requires-the-anthropic-api">1110<h3 id="remote-control-requires-the-anthropic-api">

1101 Remote Control requer a API Anthropic1111 O Remote Control requer a Anthropic API

1102</h3>1112</h3>

1103 1113 

1104A sessão não está falando com a API Anthropic diretamente, portanto, [Remote Control](/docs/pt/remote-control) requer.1114A sessão não está se comunicando diretamente com a Anthropic API, o que o [Remote Control](/docs/pt/remote-control) requer.

1105 1115 

1106```text theme={null}1116```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.1117Remote 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```1118```

1109 1119 

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:1120Uma 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 1121 

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)1122* 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 Control1123* [`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`1124* `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-la1125* 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 1126 

1117**O que fazer:**1127**O que fazer:**

1118 1128 

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 diretamente1129* 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ão1130* 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)1131* 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 1132 

1123<h3 id="remote-control-couldnt-refresh-your-login">1133<h3 id="remote-control-couldnt-refresh-your-login">

1124 Remote Control não conseguiu atualizar seu login1134 O Remote Control não conseguiu renovar seu login

1125</h3>1135</h3>

1126 1136 

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.1137O 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 1138 

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`.1139Quando 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 1140 

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:1141Quando 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 1142 

1133```text theme={null}1143```text theme={null}

1134Remote Control disconnected — Claude.ai login expired — run /login to restore Remote Control1144Remote Control disconnected — Claude.ai login expired — run /login to restore Remote Control


1140Remote Control disconnected — Signed out of Claude — run /login, then /remote-control1150Remote Control disconnected — Signed out of Claude — run /login, then /remote-control

1141```1151```

1142 1152 

1143Claude Code nomeia a causa no meio da mensagem:1153O Claude Code nomeia a causa no meio da mensagem:

1144 1154 

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 revogado1155* `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ção1156* `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 novo1157* `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 renovar1158* `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ão1159* `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 1160 

1151**O que fazer:**1161**O que fazer:**

1152 1162 

1153* Execute `/login` para se conectar novamente1163* 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.1164* 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 1165 

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.1166Antes 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 1167 

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.1168Antes 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 1169 

1160<h3 id="remote-control-stopped-because-the-signed-in-account-changed">1170<h3 id="remote-control-stopped-because-the-signed-in-account-changed">

1161 Remote Control parou porque a conta conectada mudou1171 O Remote Control foi interrompido porque a conta conectada mudou

1162</h3>1172</h3>

1163 1173 

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.1174O 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 1175 

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.1176Uma 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 1177 

1168```text theme={null}1178```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-control1179Remote 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```1180```

1171 1181 

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.1182O 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 1183 

1174**O que fazer:**1184**O que fazer:**

1175 1185 

1176* Execute `/remote-control` para iniciar uma nova sessão Remote Control sob a conta ou organização atual1186* 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`.1187* Para voltar, execute `/login` e entre novamente na conta ou organização anterior. Em seguida, execute `/remote-control`.

1178 1188 

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.1189Antes 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 1190 

1181<h3 id="remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts">1191<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 contas1192 O Remote Control foi interrompido porque o aplicativo que executa a sessão saiu ou trocou de conta

1183</h3>1193</h3>

1184 1194 

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:1195Quando 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 1196 

1187```text theme={null}1197```text theme={null}

1188Remote Control stopped — the app running this session is now signed in to a different Claude account1198Remote 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 on1199Remote Control stopped — the app running this session is signed out of Claude. Sign in there, then turn Remote Control back on

1190```1200```

1191 1201 

1192Sua sessão local continua em execução sem Remote Control.1202Sua sessão local continua em execução sem o Remote Control.

1193 1203 

1194**O que fazer:**1204**O que fazer:**

1195 1205 

1196* Se o aplicativo está desconectado, conecte-se a ele novamente e depois ative Remote Control novamente no aplicativo1206* 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.1207* 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 1208 

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.1209Antes 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 1210 

1201<h3 id="oauth-token-revoked-or-expired">1211<h3 id="oauth-token-revoked-or-expired">

1202 Token OAuth revogado ou expirado1212 Token OAuth revogado ou expirado

1203</h3>1213</h3>

1204 1214 

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.1215Seu 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 1216 

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.1217Ambas 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 1218 

1209```text theme={null}1219```text theme={null}

1210OAuth token revoked · Please run /login1220OAuth token revoked · Please run /login


1213 1223 

1214**O que fazer:**1224**O que fazer:**

1215 1225 

1216* Execute `/login` para se conectar novamente1226* 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.1227* 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)1228* 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)1229* 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 1230 

1221<h3 id="api-error-401-invalid-authentication-credentials">1231<h3 id="api-error-401-invalid-authentication-credentials">

1222 API Error: 401 Credenciais de autenticação inválidas1232 API Error: 401 Invalid authentication credentials

1223</h3>1233</h3>

1224 1234 

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.1235A 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 1236 

1227```text theme={null}1237```text theme={null}

1228Please run /login · API Error: 401 Invalid authentication credentials1238Please run /login · API Error: 401 Invalid authentication credentials


1230 1240 

1231**O que fazer:**1241**O que fazer:**

1232 1242 

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`.1243* 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.1244* 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.1245* 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.1246* 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 1247 

1238<h3 id="login-expired">1248<h3 id="login-expired">

1239 Login expirado1249 Login expirado

1240</h3>1250</h3>

1241 1251 

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.1252O 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 1253 

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.1254Antes 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 1255 

1246```text theme={null}1256```text theme={null}

1247Login expired · Please run /login1257Login expired · Please run /login

1248```1258```

1249 1259 

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`:1260No [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 1261 

1252```text theme={null}1262```text theme={null}

1253Failed to authenticate: OAuth session expired and could not be refreshed1263Failed to authenticate: OAuth session expired and could not be refreshed

1254```1264```

1255 1265 

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).1266Este 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 1267 

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.1268Sessõ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 1269 

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.1270Você 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 1271 

1262**O que fazer:**1272**O que fazer:**

1263 1273 

1264* Execute `/login` para se conectar novamente. Tentar novamente sem se conectar mostra a mesma mensagem em cada solicitação.1274* 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).1275* 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)1276* 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).

1277* Se entrar continuar falhando, consulte [Login e autenticação](/docs/pt/troubleshoot-install#login-and-authentication)

1267 1278 

1268<h3 id="could-not-refresh-your-login">1279<h3 id="could-not-refresh-your-login">

1269 Não foi possível atualizar seu login porque outro processo Claude Code está atualizando-o1280 Não foi possível renovar seu login porque outro processo do Claude Code está renovando-o

1270</h3>1281</h3>

1271 1282 

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:1283Esta 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 1284 

1274```text theme={null}1285```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 /login1286Could 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```1287```

1277 1288 

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`:1289No [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 1290 

1280```text theme={null}1291```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 again1292Failed 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```1293```

1283 1294 

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.1295Sessõ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 1296 

1286**O que fazer:**1297**O que fazer:**

1287 1298 

1288* Tente novamente em um minuto. Se outro processo completar a atualização primeiro, essa sessão usa o login renovado.1299* 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.1300* 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.1301* 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 1302 

1292<h3 id="couldnt-save-your-login">1303<h3 id="couldnt-save-your-login">

1293 Não foi possível salvar seu login1304 Não foi possível salvar seu login

1294</h3>1305</h3>

1295 1306 

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.1307Você 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 1308 

1298```text theme={null}1309```text theme={null}

1299Couldn't save your login. If your Mac's keychain is locked, unlock it and log in again.1310Couldn'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.1311Couldn't save your login. Try logging in again.

1301```1312```

1302 1313 

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.1314A 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 1315 

1305**O que fazer:**1316**O que fazer:**

1306 1317 

1307* No macOS, desbloqueie o keychain de login e execute `/login` novamente1318* No macOS, desbloqueie o keychain de login e execute `/login` novamente

1308* Em outras plataformas, execute `/login` novamente1319* 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 credenciais1320* 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 1321 

1311<h3 id="failed-to-start-oauth-callback-server">1322<h3 id="failed-to-start-oauth-callback-server">

1312 Falha ao iniciar servidor de callback OAuth1323 Falha ao iniciar o servidor de callback OAuth

1313</h3>1324</h3>

1314 1325 

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:1326Quando `/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 1327 

1317```text theme={null}1328```text theme={null}

1318Failed to start OAuth callback server: Failed to start server. Is port 0 in use?1329Failed to start OAuth callback server: Failed to start server. Is port 0 in use?

1319```1330```

1320 1331 

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.1332Se 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 1333 

1323**O que fazer:**1334**O que fazer:**

1324 1335 

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.1336* 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.1337* 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 1338 

1328<h3 id="claude-login-not-accepted">1339<h3 id="claude-login-not-accepted">

1329 Claude login não aceito1340 Login Claude não aceito

1330</h3>1341</h3>

1331 1342 

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.1343Você 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 1344 

1334A primeira parte da linha é o próprio motivo do servidor quando fornece um. Caso contrário, a linha lê:1345A primeira parte da linha é o próprio motivo do servidor, quando ele fornece um. Caso contrário, a linha diz:

1335 1346 

1336```text theme={null}1347```text theme={null}

1337Claude login not accepted · Run /login, then try again1348Claude login not accepted · Run /login, then try again


1339 1350 

1340**O que fazer:**1351**O que fazer:**

1341 1352 

1342* Execute `/login`, complete a conexão e inicie a sessão novamente1353* Execute `/login`, conclua o login e depois inicie a sessão novamente

1343 1354 

1344<h3 id="artifacts-need-a-claude-ai-login">1355<h3 id="artifacts-need-a-claude-ai-login">

1345 Artefatos precisam de um login claude.ai1356 Artefatos precisam de um login claude.ai

1346</h3>1357</h3>

1347 1358 

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.1359O 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 1360 

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ê:1361Todas 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 1362 

1352```text theme={null}1363```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.1364Artifacts 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:**1367**O que fazer:**

1357 1368 

1358* Execute `/login` e selecione **Claude account with subscription**. A opção **Anthropic Console account** não fornece credenciais claude.ai.1369* 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`1370* 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ão1371* 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.ai1372* 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ção1373* Consulte [Disponibilidade](/docs/pt/artifacts#availability) para os outros requisitos dos artefatos, como plano, provedor do modelo e política da organização

1363 1374 

1364<h3 id="administrator-policy-requires-a-cloud-gateway-sign-in">1375<h3 id="administrator-policy-requires-a-cloud-gateway-sign-in">

1365 A política do administrador requer um login do gateway de nuvem1376 A política do administrador requer um login no Cloud gateway

1366</h3>1377</h3>

1367 1378 

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:1379As [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 1380 

1370```text theme={null}1381```text theme={null}

1371Not signed in to the Cloud gateway — run /login.1382Not signed in to the Cloud gateway — run /login.

1372```1383```

1373 1384 

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.1385As 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 1386 

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:1387Se 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 1388 

1378```text theme={null}1389```text theme={null}

1379Administrator policy requires a Cloud gateway sign-in on this machine; the1390Administrator policy requires a Cloud gateway sign-in on this machine; the


1383 1394 

1384**O que fazer:**1395**O que fazer:**

1385 1396 

1386* Execute `/login` e complete a conexão na tela **Cloud gateway**1397* 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`1398* 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 gerenciadas1399* 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 1400 

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.1401Na 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 1402 

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á.1403Antes 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 1404 

1394<h3 id="your-account-is-on-hold">1405<h3 id="your-account-is-on-hold">

1395 Sua conta está em espera1406 Sua conta está suspensa

1396</h3>1407</h3>

1397 1408 

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:1409A 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 1410 

1400```text theme={null}1411```text theme={null}

1401Your account is on hold and can't use Claude Code. View details or appeal: https://claude.ai/restricted1412Your 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/restricted1413Your account is on hold and can't sign in to Claude Code. View details or appeal: https://claude.ai/restricted

1403```1414```

1404 1415 

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.1416Entrar 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 1417 

1407**O que fazer:**1418**O que fazer:**

1408 1419 

1409* Abra o link na mensagem para visualizar os detalhes da espera ou apelá-la1420* 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`1421* 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 1422 

1412<h3 id="anthropic-profile-login-expired">1423<h3 id="anthropic-profile-login-expired">

1413 Login de perfil Anthropic expirado1424 Login do perfil Anthropic expirado

1414</h3>1425</h3>

1415 1426 

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.1427O 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 1428 

1418```text theme={null}1429```text theme={null}

1419Anthropic profile login expired · Re-authenticate your Anthropic profile1430Anthropic 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 profile1431Anthropic profile login expired · Run /login to use your claude.ai account instead, or re-authenticate the profile

1421```1432```

1422 1433 

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.1434Isso 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 1435 

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:1436Em 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 1437 

1427* Quando você define `ANTHROPIC_PROFILE` explicitamente, a mensagem termina com `Re-authenticate your Anthropic profile`.1438* 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.1439* 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 1440 

1430**O que fazer:**1441**O que fazer:**

1431 1442 

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 criou1443* 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 nova1444* 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 perfil1445* 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`1446* 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 1447 

1437<h3 id="oauth-scope-requirement">1448<h3 id="oauth-scope-requirement">

1438 Requisito de escopo OAuth1449 Requisito de escopo OAuth

1439</h3>1450</h3>

1440 1451 

1441O token armazenado é anterior a um escopo de permissão que um recurso mais novo precisa:1452O token armazenado é anterior a um escopo de permissão de que um recurso mais recente precisa:

1442 1453 

1443```text theme={null}1454```text theme={null}

1444OAuth token does not meet scope requirement: user:profile1455OAuth token does not meet scope requirement: user:profile


1446 1457 

1447**O que fazer:**1458**O que fazer:**

1448 1459 

1449* Execute `/login` para obter um novo token com os escopos atuais. Você não precisa fazer logout primeiro.1460* Execute `/login` para obter um novo token com os escopos atuais. Você não precisa fazer logout antes.

1450 1461 

1451<h3 id="claude-ai-rejected-the-session-token">1462<h3 id="claude-ai-rejected-the-session-token">

1452 claude.ai rejeitou o token da sessão1463 O claude.ai rejeitou o token de sessão

1453</h3>1464</h3>

1454 1465 

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ê:1466Uma 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 1467 

1457```text theme={null}1468```text theme={null}

1458claude.ai rejected the session token. Run /login, then reconnect.1469claude.ai rejected the session token. Run /login, then reconnect.


1460 1471 

1461**O que fazer:**1472**O que fazer:**

1462 1473 

1463* Execute `/login` para se conectar novamente1474* 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.1475* 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 1476 

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.1477Antes 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 1478 

1468<h3 id="mcp-server-needs-you-to-sign-in-again">1479<h3 id="mcp-server-needs-you-to-sign-in-again">

1469 Servidor MCP precisa que você se conecte novamente1480 O servidor MCP precisa que você entre novamente

1470</h3>1481</h3>

1471 1482 

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).1483Um [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 1484 

1474Para um servidor que você se conecta a partir de Claude Code, incluindo um conector claude.ai, a conexão expirou ou foi revogada:1485Para um servidor no qual você entra a partir do Claude Code, incluindo um conector do claude.ai, o login expirou ou foi revogado:

1475 1486 

1476```text theme={null}1487```text theme={null}

1477MCP server "<name>" needs you to sign in again (run /mcp to re-authenticate)1488MCP server "<name>" needs you to sign in again (run /mcp to re-authenticate)

1478```1489```

1479 1490 

1480Execute `/mcp`, selecione o servidor e conecte-se novamente a partir de seu menu.1491Execute `/mcp`, selecione o servidor e entre novamente a partir do menu dele.

1481 1492 

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:1493Para 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 1494 

1484```text theme={null}1495```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)1496MCP 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```1497```

1487 1498 

1488Verifique se o helper retorna uma credencial que o servidor aceita, depois reconecte de `/mcp`, que executa o helper novamente.1499Verifique se o helper retorna uma credencial que o servidor aceita e depois reconecte a partir de `/mcp`, que executa o helper novamente.

1489 1500 

1490Para um servidor com um cabeçalho `Authorization` estático em sua configuração:1501Para um servidor com um cabeçalho `Authorization` estático em sua configuração:

1491 1502 


1493MCP server "<name>" rejected the Authorization header in its config (update it, then run /mcp to reconnect)1504MCP server "<name>" rejected the Authorization header in its config (update it, then run /mcp to reconnect)

1494```1505```

1495 1506 

1496Atualize o valor do cabeçalho onde o servidor está configurado, depois reconecte de `/mcp`.1507Atualize o valor do cabeçalho onde o servidor está configurado e depois reconecte a partir de `/mcp`.

1497 1508 

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)`.1509Antes 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 1510 

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:1511Um 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 1512 


1503MCP server "<name>" needs additional permissions (scope: "<scope>") — run /mcp to re-authenticate1514MCP server "<name>" needs additional permissions (scope: "<scope>") — run /mcp to re-authenticate

1504```1515```

1505 1516 

1506Execute `/mcp`, selecione o servidor e autentique-se novamente a partir de seu menu.1517Execute `/mcp`, selecione o servidor e autentique-se novamente a partir do menu dele.

1507 1518 

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.1519Quando 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 1520 

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.1521Antes 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 1522 

1512<h3 id="mcp-server-url-is-missing-or-not-a-valid-url">1523<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álida1524 A URL do servidor MCP está ausente ou não é uma URL válida

1514</h3>1525</h3>

1515 1526 

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:1527O 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 1528 

1518```text theme={null}1529```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.1530Couldn'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 1532 

1522**O que fazer:**1533**O que fazer:**

1523 1534 

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.1535* 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 1536 

1526<h3 id="issuer-mismatch-in-authorization-response">1537<h3 id="issuer-mismatch-in-authorization-response">

1527 Incompatibilidade de emissor na resposta de autorização1538 Incompatibilidade de emissor na resposta de autorização

1528</h3>1539</h3>

1529 1540 

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:1541Durante 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 1542 

1532```text theme={null}1543```text theme={null}

1533Issuer mismatch in authorization response (RFC 9207): expected "https://auth.example.com", received "https://other.example.com"1544Issuer mismatch in authorization response (RFC 9207): expected "https://auth.example.com", received "https://other.example.com"

1534```1545```

1535 1546 

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.1547`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 1548 

1538**O que fazer:**1549**O que fazer:**

1539 1550 

1540* Tente a conexão novamente de `/mcp`1551* 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 metadados1552* 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 servidor1553* 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 1554 

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`.1555Antes 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 1556 

1546<h3 id="refusing-to-send-credentials-to-non-https-token-endpoint">1557<h3 id="refusing-to-send-credentials-to-non-https-token-endpoint">

1547 Recusando enviar credenciais para endpoint de token não-https1558 Recusa em enviar credenciais para endpoint de token não https

1548</h3>1559</h3>

1549 1560 

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.1561No [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 1562 

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:1563Em 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 1564 

1554```text theme={null}1565```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).1566Refusing 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```1567```

1557 1568 

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`.1569O 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 1570 

1560**O que fazer:**1571**O que fazer:**

1561 1572 

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://`1573* 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 HTTPS1574* 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 1575 

1565<h3 id="aws-credentials-expired-or-invalid">1576<h3 id="aws-credentials-expired-or-invalid">

1566 Credenciais AWS expiradas ou inválidas1577 Credenciais AWS expiradas ou inválidas

1567</h3>1578</h3>

1568 1579 

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.1580Seu 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 1581 

1571A dica de ação no meio varia com sua configuração. A parte estável é o `AWS credentials expired or invalid` inicial:1582A 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 1583 

1573```text theme={null}1584```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 ...1585AWS 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```1586```

1576 1587 

1577Antes da v2.1.273, essa mensagem aparecia apenas quando `awsAuthRefresh` estava configurado.1588Antes da v2.1.273, esta mensagem aparecia apenas quando `awsAuthRefresh` estava configurado.

1578 1589 

1579**O que fazer:**1590**O que fazer:**

1580 1591 

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 administrador1592* 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 proxy1593* 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)1594* 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 perfil1595* 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 1596 

1586<h3 id="aws-authentication-failed">1597<h3 id="aws-authentication-failed">

1587 Falha na autenticação AWS1598 Falha na autenticação AWS

1588</h3>1599</h3>

1589 1600 

1590Seu provedor AWS retornou um 403, ou [Amazon Bedrock](/docs/pt/amazon-bedrock) retornou um 401.1601Seu provedor AWS retornou um 403, ou o [Amazon Bedrock](/docs/pt/amazon-bedrock) retornou um 401.

1591 1602 

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.1603O 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 1604 

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.1605Um 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 1606 

1596Uma atualização de credencial corrige um token expirado e não consegue corrigir as outras causas, portanto, a mensagem oferece ambas:1607Uma renovação de credencial corrige um token expirado e não pode corrigir as outras causas, então a mensagem oferece ambas:

1597 1608 

1598```text theme={null}1609```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 ...1610AWS 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```1611```

1601 1612 

1602A dica de ação no meio varia com sua configuração. A parte estável é o `AWS authentication failed` inicial.1613A dica de ação no meio varia de acordo com sua configuração. A parte estável é o início `AWS authentication failed`.

1603 1614 

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.1615Quando 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 1616 

1606Antes da v2.1.273, essa mensagem aparecia apenas quando `awsAuthRefresh` estava configurado.1617Antes da v2.1.273, esta mensagem aparecia apenas quando `awsAuthRefresh` estava configurado.

1607 1618 

1608**O que fazer:**1619**O que fazer:**

1609 1620 

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 administrador1621* 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 proxy1622* 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ão1623* 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 usam1624* Execute `aws sts get-caller-identity` para confirmar qual identidade suas requisições usam

1614 1625 

1615<h3 id="google-cloud-credentials-expired-or-invalid">1626<h3 id="google-cloud-credentials-expired-or-invalid">

1616 Credenciais do Google Cloud expiradas ou inválidas1627 Credenciais do Google Cloud expiradas ou inválidas

1617</h3>1628</h3>

1618 1629 

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.1630Suas 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 1631 

1621A dica de ação no meio varia com sua configuração. A parte estável é o `Google Cloud credentials expired or invalid` inicial:1632A 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 1633 

1623```text theme={null}1634```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 ...1635Google 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 1637 

1627**O que fazer:**1638**O que fazer:**

1628 1639 

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 administrador1640* 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 novamente1641* 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 novamente1642* 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)1643* 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 shell1644* 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 1645 

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.1646Antes 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 1647 

1637<h3 id="google-cloud-authentication-failed">1648<h3 id="google-cloud-authentication-failed">

1638 Falha na autenticação do Google Cloud1649 Falha na autenticação do Google Cloud

1639</h3>1650</h3>

1640 1651 

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.1652O [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 1653 

1643A dica de ação no meio varia com sua configuração. A parte estável é o `Google Cloud authentication failed` inicial:1654A 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 1655 

1645```text theme={null}1656```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 ...1657Google 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 1659 

1649**O que fazer:**1660**O que fazer:**

1650 1661 

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 administrador1662* 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 autentica1663* 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)1664* Confirme que o modelo está habilitado para seu projeto. Consulte [Solicitar acesso ao modelo](/docs/pt/google-vertex-ai#2-request-model-access)

1654 1665 

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.1666Antes 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 1667 

1657<h3 id="microsoft-foundry-authentication-failed">1668<h3 id="microsoft-foundry-authentication-failed">

1658 Falha na autenticação do Microsoft Foundry1669 Falha na autenticação do Microsoft Foundry

1659</h3>1670</h3>

1660 1671 

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:1672O [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 1673 

1663```text theme={null}1674```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 ...1675Microsoft 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 1677 

1667**O que fazer:**1678**O que fazer:**

1668 1679 

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 administrador1680* 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 novamente1681* 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)1682* 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 1683 

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.1684Antes 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 1685 

1675<h3 id="could-not-load-aws-or-google-cloud-credentials">1686<h3 id="could-not-load-aws-or-google-cloud-credentials">

1676 Não foi possível carregar credenciais AWS ou Google Cloud1687 Não foi possível carregar as credenciais da AWS ou do Google Cloud

1677</h3>1688</h3>

1678 1689 

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`:1690O 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 1691 

1681```text theme={null}1692```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.1693API 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.1694API Error: Could not load Google Cloud credentials · invalid_grant. Check or refresh your Google Cloud credentials and try again.

1684```1695```

1685 1696 

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`.1697No [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 1698 

1688**O que fazer:**1699**O que fazer:**

1689 1700 

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 Code1701* 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)1702* 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 1703 

1693<h3 id="aws-default-chain-credential-resolve-timed-out">1704<h3 id="aws-default-chain-credential-resolve-timed-out">

1694 Resolução de credencial de cadeia padrão AWS expirou1705 A resolução de credenciais da cadeia padrão da AWS atingiu o timeout

1695</h3>1706</h3>

1696 1707 

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.1708A 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 1709 

1699```text theme={null}1710```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.1711API Error: Could not load AWS credentials · AWS default-chain credential resolve timed out. Check or refresh your AWS credentials and try again.

1701```1712```

1702 1713 

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.1714As 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 1715 

1705Antes da v2.1.267, a mensagem lia `API Error: AWS default-chain credential resolve timed out`.1716Antes 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.1717Antes da v2.1.207, uma cadeia travada deixava a requisição aguardando indefinidamente em vez de falhar.

1707 1718 

1708**O que fazer:**1719**O que fazer:**

1709 1720 

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.1721* 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 navegador1722* 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)1723* 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 1724 

1714<h3 id="bedrock-setup-verification-timed-out-waiting-for-aws">1725<h3 id="bedrock-setup-verification-timed-out-waiting-for-aws">

1715 Verificação de configuração Bedrock expirou esperando por AWS1726 A verificação da configuração do Bedrock atingiu o timeout aguardando a AWS

1716</h3>1727</h3>

1717 1728 

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:1729Uma 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 1730 

1720```text theme={null}1731```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.1732Timed 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```1733```

1723 1734 

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).1735O 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 1736 

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.1737As 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 1738 

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:1739Uma ú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 1740 

1730```text theme={null}1741```text theme={null}

1731A request to AWS timed out. Check your network and proxy settings, then try again.1742A request to AWS timed out. Check your network and proxy settings, then try again.

1732```1743```

1733 1744 

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.1745Quando 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 1746 

1736**O que fazer:**1747**O que fazer:**

1737 1748 

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.1749* 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`1750* 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)1751* 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 1752 

1742<h3 id="cloud-gateway-session-expired">1753<h3 id="cloud-gateway-session-expired">

1743 Sessão de gateway de nuvem expirada1754 Sessão do gateway de nuvem expirada

1744</h3>1755</h3>

1745 1756 

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:1757Você 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 1758 

1748```text theme={null}1759```text theme={null}

1749Cloud gateway session expired — run /login to reconnect.1760Cloud gateway session expired — run /login to reconnect.

1750```1761```

1751 1762 

1752A mesma linha pode aparecer no meio da sessão quando a credencial de gateway expira e Claude Code não consegue renová-la.1763A 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 1764 

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:1765Em 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 1766 

1756```text theme={null}1767```text theme={null}

1757Cloud gateway <url> no longer accepts this session. Start `claude` and sign in again with /login.1768Cloud gateway <url> no longer accepts this session. Start `claude` and sign in again with /login.


1759 1770 

1760**O que fazer:**1771**O que fazer:**

1761 1772 

1762* Execute `/login` na sessão e complete a conexão do navegador1773* 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 comando1774* Para uma inicialização não interativa, inicie o `claude` no mesmo ambiente, execute `/login` e, em seguida, execute seu comando novamente

1764 1775 

1765<h3 id="sign-in-timed-out-while-waiting-for-you-to-continue">1776<h3 id="sign-in-timed-out-while-waiting-for-you-to-continue">

1766 Conexão expirou enquanto esperava você continuar1777 O login atingiu o timeout enquanto aguardava você continuar

1767</h3>1778</h3>

1768 1779 

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:1780Durante 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 1781 

1771```text theme={null}1782```text theme={null}

1772Sign-in timed out while waiting for you to continue. Try again.1783Sign-in timed out while waiting for you to continue. Try again.


1774 1785 

1775**O que fazer:**1786**O que fazer:**

1776 1787 

1777* Execute `/login` novamente e confirme a conta antes da conexão expirar1788* Execute `/login` novamente e confirme a conta antes que o login expire

1778 1789 

1779<h3 id="gateway-refused-the-request">1790<h3 id="gateway-refused-the-request">

1780 Gateway recusou a solicitação1791 O gateway recusou a requisição

1781</h3>1792</h3>

1782 1793 

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:1794Você 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 1795 

1785```text theme={null}1796```text theme={null}

1786Gateway refused the request · signing in again won't change this — check with your gateway administrator · API Error: 403 ...1797Gateway refused the request · signing in again won't change this — check with your gateway administrator · API Error: 403 ...


1788 1799 

1789**O que fazer:**1800**O que fazer:**

1790 1801 

1791* Peça ao seu administrador de gateway para procurar a solicitação. A cauda `API Error:` carrega a recusa que o gateway retornou1802* 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)1803* 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 1804 

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.1805Antes 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 1806 

1796<h2 id="network-and-connection-errors">1807<h2 id="network-and-connection-errors">

1797 Erros de rede e conexão1808 Erros de rede e conexão


2852 Erros de linha de comando2863 Erros de linha de comando

2853</h2>2864</h2>

2854 2865 

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.2866Esses 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 2867 

2857<h3 id="conflict-between-bg-and-print">2868<h3 id="conflict-between-bg-and-print">

2858 Conflito entre `--bg` e `--print`2869 Conflito entre `--bg` e `--print`

2859</h3>2870</h3>

2860 2871 

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.2872Esta 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 2873 

2863```text theme={null}2874```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>'`.2875--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 2877 

2867**O que fazer:**2878**O que fazer:**

2868 2879 

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).2880* 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>"`2881* 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>"`

2882 

2883<h3 id="conflict-between-a-system-prompt-flag-and-its-file-form">

2884 Conflito entre uma flag de system prompt e sua forma de arquivo

2885</h3>

2886 

2887Você 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:

2888 

2889```text theme={null}

2890Error: Cannot use both --append-subagent-system-prompt and --append-subagent-system-prompt-file. Please use only one.

2891```

2892 

2893Antes 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.

2894 

2895**O que fazer:**

2896 

2897* 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 2898 

2872<h3 id="invalid-agents-configuration">2899<h3 id="invalid-agents-configuration">

2873 Configuração inválida de `--agents`2900 Configuração de `--agents` inválida

2874</h3>2901</h3>

2875 2902 

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.2903O 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 2904 

2878```text theme={null}2905```text theme={null}

2879Error: Invalid --agents configuration:2906Error: Invalid --agents configuration:

2880<what failed>2907<what failed>

2881```2908```

2882 2909 

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:2910O 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 2911 

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 JSON29121. 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 problema29132. 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 '-'`29143. Quando um nome de agente começa com `-`, o Claude Code imprime `<name>: agent names must not start with '-'`

2888 2915 

2889Quando há mais de 20 linhas de problema, Claude Code imprime as primeiras 20 e substitui o resto por `…and N more`.2916Quando há mais de 20 linhas de problemas, o Claude Code imprime as primeiras 20 e substitui o restante por `…and N more`.

2890 2917 

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:2918Com `--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 2919 

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.2920* **`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.2921* **`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 2922 

2896**O que fazer:**2923**O que fazer:**

2897 2924 

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).2925* 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 2926 

2900<h3 id="cloud-sessions-cannot-be-created-from-a-restricted-session">2927<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`2928 Sessões na nuvem não podem ser criadas a partir de uma sessão `--restricted`

2902</h3>2929</h3>

2903 2930 

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:2931Quando 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 2932 

2906```text theme={null}2933```text theme={null}

2907Cloud sessions cannot be created from a --restricted session: they would not enforce it.2934Cloud sessions cannot be created from a --restricted session: they would not enforce it.


2910**O que fazer:**2937**O que fazer:**

2911 2938 

2912* Execute a tarefa localmente na sessão restrita2939* 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í2940* 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 2941 

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.2942Antes 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 2943 

2917<h3 id="cloud-sessions-are-disabled-by-your-organizations-policy">2944<h3 id="cloud-sessions-are-disabled-by-your-organizations-policy">

2918 Sessões em nuvem estão desabilitadas pela política da sua organização2945 Sessões na nuvem estão desativadas pela política da sua organização

2919</h3>2946</h3>

2920 2947 

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:2948A 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 2949 

2923```text theme={null}2950```text theme={null}

2924Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them.2951Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them.

2925```2952```

2926 2953 

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.2954A 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 2955 

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.2956Esta é 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 2957 

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.2958Se 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 2959 

2933**O que fazer:**2960**O que fazer:**

2934 2961 

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)2962* 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 novamente2963* 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 2964 

2938<h3 id="the-json-schema-value-is-not-a-valid-json-schema">2965<h3 id="the-json-schema-value-is-not-a-valid-json-schema">

2939 O valor `--json-schema` não é um JSON Schema válido2966 O valor de `--json-schema` não é um JSON Schema válido

2940</h3>2967</h3>

2941 2968 

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.2969O 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 2970 

2944```text theme={null}2971```text theme={null}

2945Error: --json-schema is not a valid JSON Schema: data/type must be equal to one of the allowed values2972Error: --json-schema is not a valid JSON Schema: data/type must be equal to one of the allowed values

2946```2973```

2947 2974 

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.2975O 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 2976 

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`.2977O 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 2978 

2952**O que fazer:**2979**O que fazer:**

2953 2980 

2954* Corrija a parte do esquema que o diagnóstico nomeia, depois execute o comando novamente2981* 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 comando2982* Consulte [Obter saída estruturada](/docs/pt/headless#get-structured-output) para ver um esquema e um comando que funcionam

2956 2983 

2957<h3 id="settings-file-exceeds-the-2mib-limit">2984<h3 id="settings-file-exceeds-the-2mib-limit">

2958 Arquivo de configurações excede o limite de 2MiB2985 O arquivo de configurações excede o limite de 2MiB

2959</h3>2986</h3>

2960 2987 

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.2988O 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 2989 

2963```text theme={null}2990```text theme={null}

2964Error: Settings file exceeds the 2MiB limit: /path/to/settings.json2991Error: Settings file exceeds the 2MiB limit: /path/to/settings.json

2965```2992```

2966 2993 

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`.2994O 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 2995 

2969**O que fazer:**2996**O que fazer:**

2970 2997 

2971* Aponte `--settings` para um arquivo JSON de configurações regular com menos de 2 MiB. Veja [Settings](/docs/pt/settings) para o formato.2998* 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 2999 

2973<h3 id="the-current-directory-no-longer-exists">3000<h3 id="the-current-directory-no-longer-exists">

2974 O diretório atual não existe mais3001 O diretório atual não existe mais

2975</h3>3002</h3>

2976 3003 

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.3004Você 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 3005 

2979```text theme={null}3006```text theme={null}

2980The current directory no longer exists (it was deleted or moved). Start Claude Code from an existing directory.3007The 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.3008error: The current working directory was deleted, so that command didn't work. Please cd into a different directory and try again.

2982```3009```

2983 3010 

2984A causa e a correção são as mesmas para ambas as formas.3011A causa e a correção são as mesmas para as duas formas.

2985 3012 

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.`3013Quando 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 3014 

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`.3015No 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 3016 

2990**O que fazer:**3017**O que fazer:**

2991 3018 

2992* Mude para um diretório que existe, como seu diretório inicial ou de projeto, depois execute `claude` novamente3019* 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` novamente3020* 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 terminal3021* 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 3022 

2996<h3 id="temp-directory-refused-or-cannot-be-created">3023<h3 id="temp-directory-refused-or-cannot-be-created">

2997 Diretório temporário recusado ou não pode ser criado3024 Diretório temporário recusado ou não pode ser criado

2998</h3>3025</h3>

2999 3026 

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:3027No 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 3028 

3002```text wrap theme={null}3029```text wrap theme={null}

3003ENOSPC: no space left on device, mkdir '/tmp/claude-501'3030ENOSPC: no space left on device, mkdir '/tmp/claude-501'


3012**O que fazer:**3039**O que fazer:**

3013 3040 

3014* Para `ENOSPC`, libere espaço em disco no volume que contém o diretório temporário3041* 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ê-la3042* 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 novamente3043* 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 sozinho3044* 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 3045 

3019<h3 id="directory-couldnt-be-resolved-to-a-real-location">3046<h3 id="directory-couldnt-be-resolved-to-a-real-location">

3020 Diretório não pôde ser resolvido para um local real3047 O diretório não pôde ser resolvido para um local real

3021</h3>3048</h3>

3022 3049 

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.3050Você 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 3051 

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:3052Você 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 3053 

3027```text theme={null}3054```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.3055packages/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 3057 

3031**O que fazer:**3058**O que fazer:**

3032 3059 

3033* Verifique se o caminho nomeia um diretório real dentro do diretório de trabalho, depois execute `/add-dir` novamente3060* 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 carregado3061* 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 3062 

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.3063Antes 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 3064 

3038<h3 id="workspace-not-trusted-when-starting-remote-control">3065<h3 id="workspace-not-trusted-when-starting-remote-control">

3039 Workspace não confiável ao iniciar Remote Control3066 Workspace não confiável ao iniciar o Remote Control

3040</h3>3067</h3>

3041 3068 

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:3069Você 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 3070 

3044```text theme={null}3071```text theme={null}

3045Error: Workspace not trusted. Please run `claude` in /Users/you/project first to review and accept the workspace trust dialog.3072Error: Workspace not trusted. Please run `claude` in /Users/you/project first to review and accept the workspace trust dialog.

3046```3073```

3047 3074 

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.3075Duas 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 3076 

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á.3077No 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 3078 

3052```text theme={null}3079```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).3080Error: 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 3084 

3058**O que fazer:**3085**O que fazer:**

3059 3086 

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 novamente3087* 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á3088* No seu diretório pessoal, mude para um diretório de projeto e inicie o Remote Control ali

3062 3089 

3063Antes da v2.1.284, o comando nunca perguntava, mesmo em um terminal.3090Antes da v2.1.284, o comando nunca perguntava, nem mesmo em um terminal.

3064 3091 

3065<h3 id="not-carried-over-to-the-sessions-remote-control-starts">3092<h3 id="not-carried-over-to-the-sessions-remote-control-starts">

3066 Não levado para as sessões que Remote Control inicia3093 Não é repassada para as sessões que o Remote Control inicia

3067</h3>3094</h3>

3068 3095 

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:3096Você 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 3097 

3071```text theme={null}3098```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`).3099Error: `--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```3100```

3074 3101 

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.3102O 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 3103 

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.3104O 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 3105 

3079**O que fazer:**3106**O que fazer:**

3080 3107 

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 lista3108* 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 inicia3109* 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 3110 

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.3111Antes 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 3112 

3086<h3 id="claude-import-is-not-yet-available-in-this-build">3113<h3 id="claude-import-is-not-yet-available-in-this-build">

3087 claude import ainda não está disponível nesta compilação3114 claude import ainda não está disponível neste build

3088</h3>3115</h3>

3089 3116 

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.3117Você 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 3118 

3092```text theme={null}3119```text theme={null}

3093`claude import` is not yet available in this build. Run `claude` and use /mcp or edit ~/.claude/settings.json directly.3120`claude import` is not yet available in this build. Run `claude` and use /mcp or edit ~/.claude/settings.json directly.

3094```3121```

3095 3122 

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:3123O 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 3124 

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ê.3125* 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.3126* 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.3127* 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 3128 

3102**O que fazer:**3129**O que fazer:**

3103 3130 

3104* Em uma instalação nova, inicie `claude`, aguarde o carregamento da sessão, saia e execute `claude import` novamente3131* 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.3132* 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 3133 

3107<h3 id="could-not-read-claude-code-config">3134<h3 id="could-not-read-claude-code-config">

3108 Não foi possível ler a configuração do Claude Code3135 Não foi possível ler a configuração do Claude Code

3109</h3>3136</h3>

3110 3137 

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.3138Você 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 3139 

3113```text theme={null}3140```text theme={null}

3114Could not read Claude Code config — run `claude` with no arguments to recover it.3141Could not read Claude Code config — run `claude` with no arguments to recover it.


3116 3143 

3117**O que fazer:**3144**O que fazer:**

3118 3145 

3119* Execute `claude` sem argumentos. Claude Code detecta o arquivo inválido e oferece redefini-lo. Depois execute `claude import` novamente.3146* 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` novamente3147* Para manter edições manuais que você fez, corrija a sintaxe JSON em `~/.claude.json` em um editor e execute `claude import` novamente

3121 3148 

3122<h3 id="could-not-import-a-server-from-claude-desktop">3149<h3 id="could-not-import-a-server-from-claude-desktop">

3123 Não foi possível importar um servidor do Claude Desktop3150 Não foi possível importar um servidor do Claude Desktop

3124</h3>3151</h3>

3125 3152 

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.3153O 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 3154 

3128```text theme={null}3155```text theme={null}

3129Could not import my server: Invalid name my server. Names can only contain letters, numbers, hyphens, and underscores.3156Could not import my server: Invalid name my server. Names can only contain letters, numbers, hyphens, and underscores.

3130```3157```

3131 3158 

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.3159O 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 3160 

3134**O que fazer:**3161**O que fazer:**

3135 3162 

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` novamente3163* 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).3164* 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 3165 

3139<h3 id="cannot-add-mcp-server-to-the-managed-scope">3166<h3 id="cannot-add-mcp-server-to-the-managed-scope">

3140 Não é possível adicionar servidor MCP ao escopo gerenciado3167 Não é possível adicionar o servidor MCP ao escopo managed

3141</h3>3168</h3>

3142 3169 

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.3170Você 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 3171 

3145```text theme={null}3172```text theme={null}

3146Cannot add MCP server to scope: managed3173Cannot add MCP server to scope: managed


3148 3175 

3149**O que fazer:**3176**O que fazer:**

3150 3177 

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)3178* 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ê implanta3179* 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 3180 

3154<h3 id="cant-read-mcp-json">3181<h3 id="cant-read-mcp-json">

3155 Não é possível ler .mcp.json3182 Não é possível ler .mcp.json

3156</h3>3183</h3>

3157 3184 

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.3185Um 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 3186 

3160```text theme={null}3187```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.3188Can'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```3189```

3163 3190 

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.3191Antes 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 3192 

3166**O que fazer:**3193**O que fazer:**

3167 3194 

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.3195* 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 3196 

3170<h3 id="mcp-server-was-not-saved-or-removed">3197<h3 id="mcp-server-was-not-saved-or-removed">

3171 Servidor MCP não foi salvo ou removido3198 O servidor MCP não foi salvo ou removido

3172</h3>3199</h3>

3173 3200 

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.3201Você 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 3202 

3176```text theme={null}3203```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.3204MCP 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```3205```

3179 3206 

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)`.3207Apó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 3208 

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.3209Antes 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 3210 

3184**O que fazer:**3211**O que fazer:**

3185 3212 

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.3213* 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 3214 

3188<h3 id="mcp-server-may-not-have-been-saved-or-removed">3215<h3 id="mcp-server-may-not-have-been-saved-or-removed">

3189 Servidor MCP pode não ter sido salvo ou removido3216 O servidor MCP pode não ter sido salvo ou removido

3190</h3>3217</h3>

3191 3218 

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.3219Você 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 3220 

3194```text theme={null}3221```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.3222MCP 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```3223```

3197 3224 

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`.3225Apó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 3226 

3200Antes da v2.1.283, os comandos relatavam sucesso mesmo quando a mudança não conseguia ser confirmada.3227Antes da v2.1.283, os comandos reportavam sucesso mesmo quando a alteração não podia ser confirmada.

3201 3228 

3202**O que fazer:**3229**O que fazer:**

3203 3230 

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.3231* 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.3232* 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 3233 

3207<h3 id="anthropic-hosted-and-doesnt-support-local-oauth">3234<h3 id="anthropic-hosted-and-doesnt-support-local-oauth">

3208 Servidor é hospedado pela Anthropic e não suporta OAuth local3235 O servidor é hospedado pela Anthropic e não oferece suporte a OAuth local

3209</h3>3236</h3>

3210 3237 

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).3238Você 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 3239 

3213```text theme={null}3240```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.3241"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```3242```

3216 3243 

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:**3244**O que fazer:**

3220 3245 

3221* Remova sua entrada com `claude mcp remove <name>`, para que não possa ocultar o conector claude.ai na mesma URL3246* 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.ai3247* 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 3248 

3224<h3 id="server-rejected-the-authorization-header-minted-by-the-configured-headershelper">3249<h3 id="server-rejected-the-authorization-header-minted-by-the-configured-headershelper">

3225 Servidor rejeitou o cabeçalho Authorization cunhado pelo headersHelper configurado3250 O servidor rejeitou o cabeçalho Authorization gerado pelo headersHelper configurado

3226</h3>3251</h3>

3227 3252 

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:3253Um 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 3254 

3230```text theme={null}3255```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.3256Server 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```3257```

3233 3258 

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.3259O 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 3260 

3236**O que fazer:**3261**O que fazer:**

3237 3262 

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 aceita3263* 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**3264* Depois de corrigir o helper ou sua fonte de credenciais, selecione o servidor em `/mcp` e escolha **Reconnect**

3240 3265 

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.3266Antes 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 3267 

3243<h3 id="mcp-permission-prompt-tool-not-found">3268<h3 id="mcp-permission-prompt-tool-not-found">

3244 Ferramenta de prompt de permissão MCP não encontrada3269 Ferramenta de prompt de permissão MCP não encontrada

3245</h3>3270</h3>

3246 3271 

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.3272A 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 3273 

3249```text theme={null}3274```text theme={null}

3250Error: MCP tool mcp__permissions__approve (passed via --permission-prompt-tool) not found. Available MCP tools: none3275Error: MCP tool mcp__permissions__approve (passed via --permission-prompt-tool) not found. Available MCP tools: none

3251```3276```

3252 3277 

3253A lista após `Available MCP tools:` nomeia as ferramentas MCP que estavam conectadas quando a espera terminou.3278A lista após `Available MCP tools:` nomeia as ferramentas MCP que estavam conectadas.

3254 3279 

3255**O que fazer:**3280**O que fazer:**

3256 3281 

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 conectado3282* 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õe3283* 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)3284* Se o servidor precisar de mais de 30 segundos para iniciar, aumente [`MCP_TIMEOUT`](/docs/pt/env-vars)

3260 3285 

3261<h3 id="oauth-callback-port-is-already-in-use">3286<h3 id="oauth-callback-port-is-already-in-use">

3262 Porta de callback OAuth já está em uso3287 A porta de callback do OAuth já está em uso

3263</h3>3288</h3>

3264 3289 

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.3290Quando 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 3291 

3267```text theme={null}3292```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.3293OAuth callback port <port> is already in use — another process may be holding it. Run `lsof -ti:<port> -sTCP:LISTEN` to find it.

3269```3294```

3270 3295 

3271No Windows, o comando sugerido é `netstat -ano | findstr :<port>` em vez disso.3296No Windows, o comando sugerido é `netstat -ano | findstr :<port>`.

3272 3297 

3273**O que fazer:**3298**O que fazer:**

3274 3299 

3275* Execute o comando da mensagem para encontrar o processo que mantém a porta e pare-o ou aguarde que termine3300* 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ê usar3301* 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`3302* Em seguida, inicie o login novamente, por exemplo selecionando o servidor em `/mcp`

3278 3303 

3279<h3 id="no-available-ports-for-oauth-redirect">3304<h3 id="no-available-ports-for-oauth-redirect">

3280 Nenhuma porta disponível para redirecionamento OAuth3305 Nenhuma porta disponível para o redirecionamento do OAuth

3281</h3>3306</h3>

3282 3307 

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.3308Quando 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 3309 

3285```text theme={null}3310```text theme={null}

3286No available ports for OAuth redirect3311No available ports for OAuth redirect

3287```3312```

3288 3313 

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.3314Antes 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 3315 

3291**O que fazer:**3316**O que fazer:**

3292 3317 

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 local3318* 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`3319* Em seguida, inicie o login novamente, por exemplo selecionando o servidor em `/mcp`

3295 3320 

3296<h3 id="security-review-fails-without-origin-head">3321<h3 id="security-review-fails-without-origin-head">

3297 /security-review falha sem origin/HEAD3322 /security-review falha sem origin/HEAD

3298</h3>3323</h3>

3299 3324 

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.3325[`/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 3326 

3302```text theme={null}3327```text theme={null}

3303Error: Shell command failed for pattern "!`git diff --name-only origin/HEAD...`": [stderr]3328Error: Shell command failed for pattern "!`git diff --name-only origin/HEAD...`": [stderr]


3306'git <command> [<revision>...] -- [<file>...]'3331'git <command> [<revision>...] -- [<file>...]'

3307```3332```

3308 3333 

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:3334A 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 3335 

3311* Um checkout de branch único ou CI, que busca um refspec muito estreito3336* 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 push3337* 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 buscou3338* Um repositório sem remoto `origin`, ou um do qual você nunca fez fetch

3314 3339 

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:3340O 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 3341 

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`3342* `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)3343* ``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 3344 

3320**O que fazer:**3345**O que fazer:**

3321 3346 

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.3347* 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.3348* 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.3349* 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 3350 

3326<h3 id="input-must-be-provided-when-using-print">3351<h3 id="input-must-be-provided-when-using-print">

3327 Entrada deve ser fornecida ao usar `--print`3352 É necessário fornecer entrada ao usar `--print`

3328</h3>3353</h3>

3329 3354 

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.3355O `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 3356 

3332```text theme={null}3357```text theme={null}

3333Error: Input must be provided either through stdin or as a prompt argument when using --print3358Error: Input must be provided either through stdin or as a prompt argument when using --print


3335 3360 

3336**O que fazer:**3361**O que fazer:**

3337 3362 

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ída3363* 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`3364* Para uso pontual, passe o prompt: `claude -p "your question"`, ou envie-o por pipe com `echo "your question" | claude -p`

3340 3365 

3341<h3 id="input-contained-only-whitespace">3366<h3 id="input-contained-only-whitespace">

3342 Entrada continha apenas espaço em branco3367 A entrada continha apenas espaços em branco

3343</h3>3368</h3>

3344 3369 

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:3370No [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 3371 

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`3372* **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.`3373* **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 3374 

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.3375Antes 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 3376 

3352**O que fazer:**3377**O que fazer:**

3353 3378 

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.3379* 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 3380 

3356<h3 id="stream-json-input-carried-over-256m-characters-with-no-newline">3381<h3 id="stream-json-input-carried-over-256m-characters-with-no-newline">

3357 entrada stream-json levou mais de 256M caracteres sem quebra de linha3382 A entrada stream-json transportou mais de 256M caracteres sem quebra de linha

3358</h3>3383</h3>

3359 3384 

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.3385Seu 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 3386 

3362```text theme={null}3387```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.3388Error: 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```3389```

3365 3390 

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.3391Uma 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 3392 

3368**O que fazer:**3393**O que fazer:**

3369 3394 

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 linha3395* 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ão3396* Para enviar texto simples, remova `--input-format stream-json`; `claude -p` lê um prompt de texto simples do stdin por padrão

3372 3397 

3373<h3 id="unknown-command">3398<h3 id="unknown-command">

3374 Comando desconhecido3399 Comando desconhecido

3375</h3>3400</h3>

3376 3401 

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:3402Em 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 3403 

3379```text theme={null}3404```text theme={null}

3380Unknown command: /hepl. Did you mean /help?3405Unknown command: /hepl. Did you mean /help?

3381```3406```

3382 3407 

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:3408O 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 3409 

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 enviar3410* 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)3411* 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ão3412* 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 3413 

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:3414O 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 3415 

3391* execuções `-p`3416* Execuções com `-p`

3392* aplicações [Agent SDK](/docs/pt/agent-sdk/overview)3417* Aplicações do [Agent SDK](/docs/pt/agent-sdk/overview)

3393* A aba Code do [aplicativo Desktop](/docs/pt/desktop)3418* A aba Code do [aplicativo Desktop](/docs/pt/desktop)

3394* O painel de chat da [extensão VS Code](/docs/pt/vs-code)3419* 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)3420* [Sessões na nuvem](/docs/pt/claude-code-on-the-web) e [rotinas](/docs/pt/routines)

3396 3421 

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`.3422Para 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 3423 

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`.3424O 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 3425 

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.3426Antes 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 3427 

3403**O que fazer:**3428**O que fazer:**

3404 3429 

3405* Execute o nome sugerido, ou digite `/` seguido de parte do nome para ver o que está disponível nessa sessão3430* 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 nomeia3431* 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 3432 

3408<h3 id="diff-is-too-large-for-ultrareview">3433<h3 id="diff-is-too-large-for-ultrareview">

3409 Diff é muito grande para ultrareview3434 O diff é grande demais para o ultrareview

3410</h3>3435</h3>

3411 3436 

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.3437O 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 3438 

3414```text theme={null}3439```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.3440Diff 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```3441```

3417 3442 

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.3443Revisar 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 3444 

3420**O que fazer:**3445**O que fazer:**

3421 3446 

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 branch3447* 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.3448* 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 3449 

3425<h3 id="could-not-find-merge-base-with-the-base-branch">3450<h3 id="could-not-find-merge-base-with-the-base-branch">

3426 Não foi possível encontrar merge-base com o branch base3451 Não foi possível encontrar a merge-base com o branch base

3427</h3>3452</h3>

3428 3453 

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.3454`/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 3455 

3431```text theme={null}3456```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.3457Could 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```3458```

3434 3459 

3435A dica após a primeira sentença depende do que Claude Code observou:3460A dica após a primeira frase depende do que o Claude Code observou:

3436 3461 

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 acima3462* **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>`)``3463* **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`.3464* **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 3465 

3441**O que fazer:**3466**O que fazer:**

3442 3467 

3443* Se outro branch é seu base real, passe-o explicitamente: `/code-review ultra <branch>`3468* 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 novamente3469* Se seu clone talvez não tenha o histórico completo, execute `git fetch --unshallow origin` e execute a revisão novamente

3445 3470 

3446<h3 id="your-checkout-has-no-branches">3471<h3 id="your-checkout-has-no-branches">

3447 Seu checkout não tem branches3472 Seu checkout não tem branches

3448</h3>3473</h3>

3449 3474 

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.3475Um 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 3476 

3452```text theme={null}3477```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.3478Your 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```3479```

3455 3480 

3456Antes da v2.1.221, Claude Code tentava revisar cada arquivo rastreado nesse checkout, e o carregamento falhava.3481Antes da v2.1.221, o Claude Code tentava revisar todos os arquivos rastreados neste checkout, e o upload falhava.

3457 3482 

3458**O que fazer:**3483**O que fazer:**

3459 3484 

3460* Crie um branch em seu commit atual com `git checkout -b <name>`, depois execute a revisão novamente3485* Crie um branch no seu commit atual com `git checkout -b <name>` e execute a revisão novamente

3461 3486 

3462<h3 id="no-github-account-is-connected-to-your-claude-account">3487<h3 id="no-github-account-is-connected-to-your-claude-account">

3463 Nenhuma conta GitHub está conectada à sua conta Claude3488 Nenhuma conta do GitHub está conectada à sua conta Claude

3464</h3>3489</h3>

3465 3490 

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.3491Você 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 3492 

3468```text theme={null}3493```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).3494Ultrareview 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```3495```

3471 3496 

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.3497Quando [`/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 3498 

3474**O que fazer:**3499**O que fazer:**

3475 3500 

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)3501* 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 conectar3502* Execute a revisão novamente um minuto após conectar

3478 3503 

3479Antes da v2.1.248, Claude Code não verificava isso antes do lançamento.3504Antes da v2.1.248, o Claude Code não verificava isso antes da inicialização.

3480 3505 

3481<h3 id="your-connected-github-account-cant-see-the-repository">3506<h3 id="your-connected-github-account-cant-see-the-repository">

3482 Sua conta GitHub conectada não consegue ver o repositório3507 Sua conta do GitHub conectada não consegue ver o repositório

3483</h3>3508</h3>

3484 3509 

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.3510Você 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 3511 

3487```text theme={null}3512```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.3513Your 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```3514```

3490 3515 

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.3516Quando [`/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 3517 

3493**O que fazer:**3518**O que fazer:**

3494 3519 

3495* Se seu CLI `gh` local consegue ler o repositório, execute `/web-setup` para conectar esse login à sua conta Claude3520* 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ça3521* Execute a revisão novamente após a alteração

3497 3522 

3498Antes da v2.1.248, Claude Code não verificava isso antes do lançamento.3523Antes da v2.1.248, o Claude Code não verificava isso antes da inicialização.

3499 3524 

3500<h3 id="the-github-app-preflight-failed-transiently">3525<h3 id="the-github-app-preflight-failed-transiently">

3501 A verificação prévia do GitHub App falhou transitoriamente3526 A verificação prévia do GitHub App falhou temporariamente

3502</h3>3527</h3>

3503 3528 

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:3529Você 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 3530 

3506```text theme={null}3531```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 instead3532Could 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 3534 

3510**O que fazer:**3535**O que fazer:**

3511 3536 

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çamento3537* 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 disso3538* 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 3539 

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.3540Antes 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 3541 

3517<h3 id="the-repository-upload-cant-follow-a-git-setting">3542<h3 id="the-repository-upload-cant-follow-a-git-setting">

3518 O upload do repositório não consegue seguir uma configuração git3543 O upload do repositório não consegue seguir uma configuração do git

3519</h3>3544</h3>

3520 3545 

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:3546Você 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 3547 

3523```text theme={null}3548```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.3549Not 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```3550```

3526 3551 

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.3552A 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 3553 

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.3554A 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 3555 

3531**O que fazer:**3556**O que fazer:**

3532 3557 

3533* Aplique a correção na sentença final da mensagem3558* Aplique a correção indicada na frase final da mensagem

3534 3559 

3535<h3 id="github-isnt-connected-to-your-claude-account">3560<h3 id="github-isnt-connected-to-your-claude-account">

3536 GitHub não está conectado à sua conta Claude3561 O GitHub não está conectado à sua conta Claude

3537</h3>3562</h3>

3538 3563 

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:3564Você 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 3565 

3541```text theme={null}3566```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-github3567GitHub 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```3568```

3544 3569 

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.3570Quando 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 3571 

3547**O que fazer:**3572**O que fazer:**

3548 3573 

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.3574* 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 conectar3575* Execute o comando novamente um minuto após conectar

3551 3576 

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.3577Antes 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 3578 

3554<h3 id="single-sign-on-authorization-needed">3579<h3 id="single-sign-on-authorization-needed">

3555 Autorização de single sign-on necessária3580 Autorização de single sign-on necessária

3556</h3>3581</h3>

3557 3582 

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:3583Você 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 3584 

3560```text theme={null}3585```text theme={null}

3561Single sign-on authorization needed3586Single sign-on authorization needed


3564 3589 

3565**O que fazer:**3590**O que fazer:**

3566 3591 

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-on3592* 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ção3593* 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` novamente3594* Execute `/install-github-app` novamente

3570 3595 

3571Antes da v2.1.273, Claude Code mostrava o aviso `Admin permissions required` para essa condição em vez disso.3596Antes da v2.1.273, o Claude Code mostrava o aviso `Admin permissions required` para essa condição.

3572 3597 

3573<h3 id="failed-to-resume-the-conversation">3598<h3 id="failed-to-resume-the-conversation">

3574 Falha ao retomar a conversa3599 Falha ao retomar a conversa

3575</h3>3600</h3>

3576 3601 

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:3602O 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 3603 

3579```text theme={null}3604```text theme={null}

3580Failed to resume the conversation.3605Failed to resume the conversation.

3581Run claude --resume <session-id> to retry, or claude to start a new session.3606Run claude --resume <session-id> to retry, or claude to start a new session.

3582```3607```

3583 3608 

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.3609O 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 3610 

3586**O que fazer:**3611**O que fazer:**

3587 3612 

3588* Execute `claude --resume <session-id>` com o ID da sessão da mensagem para tentar novamente3613* 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.3614* 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ão3615* Se a nova tentativa falhar novamente, execute `claude` para iniciar uma nova sessão

3591 3616 

3592<h3 id="no-conversation-found-with-the-session-id">3617<h3 id="no-conversation-found-with-the-session-id">

3593 Nenhuma conversa encontrada com o ID da sessão3618 Nenhuma conversa encontrada com o ID da sessão

3594</h3>3619</h3>

3595 3620 

3596Você passou um ID de sessão para `claude --resume <session-id>` e nenhuma transcrição salva correspondeu:3621Você passou um ID de sessão para `claude --resume <session-id>` e nenhuma transcrição salva correspondeu a ele:

3597 3622 

3598```text theme={null}3623```text theme={null}

3599No conversation found with session ID: <session-id>3624No conversation found with session ID: <session-id>

3600```3625```

3601 3626 

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.3627O 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 3628 

3604Causas comuns:3629Causas comuns:

3605 3630 

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)3631* **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)3632* **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 executada3633* **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 arbitrariamente3634* **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 3635 

3611**O que fazer:**3636**O que fazer:**

3612 3637 

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ão3638* 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 imprimiu3639* 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 3640 

3616<h3 id="windows-reported-an-error-ebadf">3641<h3 id="windows-reported-an-error-ebadf">

3617 Windows relatou um erro (EBADF) quando Claude Code leu o arquivo de transcrição desta sessão3642 O Windows relatou um erro (EBADF) quando o Claude Code leu o arquivo de transcrição desta sessão

3618</h3>3643</h3>

3619 3644 

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:3645Você 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 3646 

3622```text theme={null}3647```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.3648Windows 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```3649```

3625 3650 

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.3651A 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 3652 

3628**O que fazer:**3653**O que fazer:**

3629 3654 

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) nomeia3655* 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 disso3656* Se você não puder adicionar uma exclusão, adicione o Claude Code aos aplicativos permitidos desse software

3632* Retome a sessão novamente3657* Retome a sessão novamente

3633 3658 

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`.3659Antes 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 3660 

3636<h3 id="cannot-switch-renderers-in-this-session">3661<h3 id="cannot-switch-renderers-in-this-session">

3637 Não é possível alternar renderizadores nesta sessão3662 Não é possível trocar de renderizador nesta sessão

3638</h3>3663</h3>

3639 3664 

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:3665Quando 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 3666 

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` novamente3667* `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 elas3668* `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 3669 

3645Na mensagem de restrições, a parte entre parênteses nomeia as restrições que Claude Code encontrou:3670Na mensagem de restrições, a parte entre parênteses indica as restrições que o Claude Code encontrou:

3646 3671 

3647```text theme={null}3672```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.3673Cannot 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 3675 

3651Cada motivo que a mensagem pode mostrar entre parênteses:3676Cada motivo que a mensagem pode mostrar entre parênteses:

3652 3677 

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)3678* `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 disso3679* `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 pergunta3680* `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 valor3681* `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 3682 

3658**O que fazer:**3683**O que fazer:**

3659 3684 

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á3685* 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 3686 

3662<h3 id="couldnt-open-claude-desktop">3687<h3 id="couldnt-open-claude-desktop">

3663 Não foi possível abrir Claude Desktop3688 Não foi possível abrir o Claude Desktop

3664</h3>3689</h3>

3665 3690 

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.3691Você 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 3692 

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`:3693O 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 3694 

3670```text theme={null}3695```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.3696Error: 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 3698 

3674**O que fazer:**3699**O que fazer:**

3675 3700 

3676* Abra Claude Desktop você mesmo, depois execute `/desktop` ou `claude --desktop` novamente3701* 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 debug3702* 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 3703 

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.3704Antes 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 3705 

3681<h3 id="terminal-setup-left-your-zed-keymap-unchanged">3706<h3 id="terminal-setup-left-your-zed-keymap-unchanged">

3682 /terminal-setup deixou seu mapa de teclas Zed inalterado3707 /terminal-setup deixou seu keymap do Zed inalterado

3683</h3>3708</h3>

3684 3709 

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.3710Você 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 3711 

3687Cada mensagem nomeia o caminho para seu mapa de teclas e termina com o bloco de atalho de teclado para adicionar você mesmo:3712Cada mensagem indica o caminho do seu keymap e termina com o bloco de atalho de teclado para você mesmo adicionar:

3688 3713 

3689```text theme={null}3714```text theme={null}

3690Couldn't update your Zed keymap, so it was left unchanged.3715Couldn't update your Zed keymap, so it was left unchanged.


3692{ "context": "Terminal", "bindings": { "shift-enter": ["terminal::SendText", "\u001b\r"] } }3717{ "context": "Terminal", "bindings": { "shift-enter": ["terminal::SendText", "\u001b\r"] } }

3693```3718```

3694 3719 

3695A primeira linha da mensagem nomeia a causa:3720A primeira linha da mensagem indica a causa:

3696 3721 

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 arquivo3722* `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 permitidas3723* `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 nada3724* `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 isso3725* `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 3726 

3702**O que fazer:**3727**O que fazer:**

3703 3728 

3704* Copie o bloco da mensagem para o array de nível superior em seu `keymap.json` no caminho que a mensagem nomeia3729* 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` novamente3730* 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 3731 

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).3732Antes 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 3733 

3709<h3 id="skill-usage-reports-are-not-available-on-this-connection">3734<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ão3735 Relatórios de uso de skills não estão disponíveis nesta conexão

3711</h3>3736</h3>

3712 3737 

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:3738Você 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 3739 

3715```text theme={null}3740```text theme={null}

3716Skill usage reports are not available on this connection.3741Skill usage reports are not available on this connection.


3718 3743 

3719**O que fazer:**3744**O que fazer:**

3720 3745 

3721* Execute `/skill-doctor` no terminal na máquina onde a sessão está em execução, ou execute `claude -p "/skill-doctor"` lá3746* Execute `/skill-doctor` no terminal da máquina onde a sessão está sendo executada, ou execute `claude -p "/skill-doctor"` ali

3722 3747 

3723<h3 id="custom-output-styles-cant-be-selected-over-remote-control">3748<h3 id="custom-output-styles-cant-be-selected-over-remote-control">

3724 Estilos de saída personalizados não podem ser selecionados sobre Remote Control3749 Estilos de saída personalizados não podem ser selecionados pelo Remote Control

3725</h3>3750</h3>

3726 3751 

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:3752Você 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 3753 

3729```text theme={null}3754```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.3755Custom 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:**3758**O que fazer:**

3734 3759 

3735* Escolha um estilo integrado, por exemplo `/output-style concise`3760* 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 um3761* 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 3762 

3738<h3 id="output-styles-are-saved-to-local-settings-which-this-session-doesnt-load">3763<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 carrega3764 Estilos de saída são salvos nas configurações locais, que esta sessão não carrega

3740</h3>3765</h3>

3741 3766 

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:3767Você 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 3768 

3744```text theme={null}3769```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.3770Output 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 3772 

3748**O que fazer:**3773**O que fazer:**

3749 3774 

3750* Adicione `local` às fontes de configuração da sessão e alterne novamente3775* 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)3776* 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 3777 

3753<h2 id="plugin-errors">3778<h2 id="plugin-errors">

3754 Erros de plugin3779 Erros de plugin


4514**O que fazer:**4539**O que fazer:**

4515 4540 

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.4541* 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 link4542* 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 4543 

4519<h3 id="write-or-command-blocked-because-the-path-names-a-network-location">4544<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 rede4545 Write ou command bloqueado porque o caminho nomeia um local de rede


4583```4608```

4584 4609 

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`.4610* **`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.4611* **`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 4612 

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.4613Claude 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 4614 


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:4644Você 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 4645 

4621```text theme={null}4646```text theme={null}

4622kept 7c5dcf5d — its worktree is still at "/home/you/project/.claude/worktrees/fix-login"4647kept 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.4648 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@0123456789abcdef0123456789abcdef4649 push them and run 'claude rm 7c5dcf5d' again, or discard the worktree and its commits: claude rm 7c5dcf5d --discard-unpushed a1b2c3d000000000000000000000000000000000@0123456789abcdef0123456789abcdef

4625```4650```

4626 4651 


4631**O que fazer:**4656**O que fazer:**

4632 4657 

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 novamente4658* 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 atualizado4659* 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 novamente4660* 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 4661 

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.4662Antes 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>.4748This 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```4749```

4725 4750 

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.4751O 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 4752 

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.4753Claude 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 4754 


4773 4798 

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.4799* 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 novamente4800* 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ção4801* 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.4802* 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 4803 

4779<h3 id="eacces-when-starting-a-background-session">4804<h3 id="eacces-when-starting-a-background-session">


4829 Diretório de trabalho não existe mais ao iniciar uma sessão em background4854 Diretório de trabalho não existe mais ao iniciar uma sessão em background

4830</h3>4855</h3>

4831 4856 

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:4857O 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 4858 

4834```text theme={null}4859```text theme={null}

4835Couldn't start a background session (working directory no longer exists or is not accessible: /tmp/demo)4860Couldn'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.4885* **`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.4886* **`<path> could not be resolved on disk`**: Claude Code não conseguiu encontrar o diretório da sessão no disco.

4862 4887 

4888Antes 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.

4889 

4863**O que fazer:**4890**O que fazer:**

4864 4891 

4865* Execute `claude` no diretório que a mensagem nomeia e aceite o diálogo de confiança, depois execute o comando novamente4892* Execute `claude` no diretório que a mensagem nomeia e aceite o diálogo de confiança, depois execute o comando novamente

fullscreen.md +3 −1

Details

104* **Click an option in a multi-select menu** to toggle it, and click the submit button to confirm your choices. Clicking a free-text row, such as the `Other` row in a multiple-choice question, focuses its input field so you can type an answer. Requires Claude Code v2.1.208 or later.104* **Click an option in a multi-select menu** to toggle it, and click the submit button to confirm your choices. Clicking a free-text row, such as the `Other` row in a multiple-choice question, focuses its input field so you can type an answer. Requires Claude Code v2.1.208 or later.

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

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

107* **Scroll an overflowing list with its scrollbar.** In list panels such as `/skills`, `/mcp`, and `/plugin`'s Installed list, a scrollbar appears beside a list with more rows than fit while the pointer is over it. Click the track to jump to that point, or drag the thumb. Requires Claude Code v2.1.281 or later.107* **Role uma lista que transborda com a barra de rolagem dela.** Em painéis de lista como `/skills`, `/mcp` e a lista Installed do `/plugin`, uma barra de rolagem aparece ao lado de uma lista com mais linhas do que cabem enquanto o ponteiro está sobre ela. Clique na trilha para pular para aquele ponto ou arraste o indicador. Requer Claude Code v2.1.281 ou posterior.

108 * Onde a barra tem setas `↑` e `↓` nas extremidades, clique em uma seta para rolar uma única linha ou mantenha-a pressionada para continuar rolando. As setas requerem Claude Code v2.1.286 ou posterior.

109* **Clique na linha `↑ N more` ou `↓ N more` na borda de uma lista** para pular para aquela extremidade da lista sem escolher uma opção. Requer Claude Code v2.1.286 ou posterior.

108* **Click a collapsed tool result** to expand it and see the full output. Click again to collapse. The tool call and its result expand together. Only messages that have more to show are clickable.110* **Click a collapsed tool result** to expand it and see the full output. Click again to collapse. The tool call and its result expand together. Only messages that have more to show are clickable.

109 * Clicking also expands the output of a `!` shell command, whether an older truncated result or the live progress row while the command runs. Requires Claude Code v2.1.257 or later.111 * Clicking also expands the output of a `!` shell command, whether an older truncated result or the live progress row while the command runs. Requires Claude Code v2.1.257 or later.

110 * Clicking also expands a dim `Message from @<sender>` line when the sender is a [teammate](/docs/pt/agent-teams) or another agent running in your session. The line for a message from [one of your other sessions](/docs/pt/cross-session-messaging#what-a-message-looks-like) also shows the message's first line and isn't clickable, so press `Ctrl+o` to read that one.112 * Clicking also expands a dim `Message from @<sender>` line when the sender is a [teammate](/docs/pt/agent-teams) or another agent running in your session. The line for a message from [one of your other sessions](/docs/pt/cross-session-messaging#what-a-message-looks-like) also shows the message's first line and isn't clickable, so press `Ctrl+o` to read that one.

headless.md +8 −0

Details

62| Agentes personalizados | `--agents <json>` |62| Agentes personalizados | `--agents <json>` |

63| Um plugin | `--plugin-dir <path>`, `--plugin-url <url>` |63| Um plugin | `--plugin-dir <path>`, `--plugin-url <url>` |

64 64 

65O modo bare também limita o que acontece enquanto a sessão é executada:

66 

67* **Servidores MCP**: apenas os servidores fornecidos na linha de comando se conectam, por exemplo com `--mcp-config`. Em uma sessão interativa, Claude Code também pula a conexão automática com o IDE, a menos que você passe `--ide`.

68* **Lembretes do sistema**: Claude recebe seus prompts e os resultados das ferramentas sem os [lembretes do sistema](/docs/pt/glossary#system-reminder) que Claude Code adicionaria junto com eles. Por exemplo, Claude não é informado quando um arquivo que leu anteriormente muda no disco, e não recebe a lista de skills disponíveis, incluindo skills de uma pasta `--add-dir`.

69* **Tarefas em segundo plano**: nenhuma é executada. Um comando que atinge seu [timeout](/docs/pt/tools-reference#timeout-and-output-limits) para em vez de [ir para o segundo plano](/docs/pt/tools-reference#background-commands).

70 

71Antes da v2.1.286, esses limites valiam apenas parcialmente: uma sessão interativa `--bare` conectava os servidores MCP que uma sessão normal conectaria, toda sessão `--bare` enviava lembretes do sistema e as tarefas em segundo plano continuavam disponíveis.

72 

65<Note>73<Note>

66 `--bare` é o modo recomendado para chamadas com script e SDK, e se tornará o padrão para `-p` em uma versão futura.74 `--bare` é o modo recomendado para chamadas com script e SDK, e se tornará o padrão para `-p` em uma versão futura.

67</Note>75</Note>

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

394* Saia com `Escape`, `Backspace` ou `Ctrl+U` em um prompt vazio394* Saia com `Escape`, `Backspace` ou `Ctrl+U` em um prompt vazio

395* Colar texto que começa com `!` em um prompt vazio entra no modo shell automaticamente, correspondendo ao comportamento de `!` digitado395* Colar texto que começa com `!` em um prompt vazio entra no modo shell automaticamente, correspondendo ao comportamento de `!` digitado

396 396 

397A menos que sua sessão seja uma daquelas listadas em [modo de sandbox estrito](/docs/pt/sandboxing#the-unsandboxed-retry-escape-hatch), os comandos que você digita no modo shell são executados fora da [sandbox](/docs/pt/sandboxing) mesmo quando você ativou sandboxing, porque a sandbox se aplica aos comandos que Claude executa.397A menos que sua sessão seja uma daquelas listadas em [modo de sandbox estrito](/docs/pt/sandboxing#turn-off-the-retry-with-strict-sandbox-mode), os comandos que você digita no modo shell são executados fora do [sandbox](/docs/pt/sandboxing) mesmo quando você ativou o sandboxing, porque o sandbox se aplica aos comandos que Claude executa.

398 398 

399Claude responde automaticamente à saída do comando assim que ela chega à transcrição, para que você possa executar `! npm test` e obter uma explicação das falhas sem um segundo prompt. A resposta custa o mesmo que enviar um prompt normal. Para restaurar o comportamento anterior onde a saída é adicionada ao contexto sem uma resposta, defina [`respondToBashCommands`](/docs/pt/settings-reference#respondtobashcommands) como `false` em `settings.json`. Antes da v2.1.186, o modo shell sempre adicionava saída ao contexto sem uma resposta.399Claude responde automaticamente à saída do comando assim que ela chega à transcrição, para que você possa executar `! npm test` e obter uma explicação das falhas sem um segundo prompt. A resposta custa o mesmo que enviar um prompt normal. Para restaurar o comportamento anterior onde a saída é adicionada ao contexto sem uma resposta, defina [`respondToBashCommands`](/docs/pt/settings-reference#respondtobashcommands) como `false` em `settings.json`. Antes da v2.1.186, o modo shell sempre adicionava saída ao contexto sem uma resposta.

400 400 

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 

Details

470| [`wslInheritsWindowsSettings`](/docs/pt/settings-reference#wslinheritswindowssettings) | Quando definido no registro HKLM ou em um arquivo sob `C:\Program Files\ClaudeCode`, faça o WSL ler a cadeia de política do Windows e ler `/etc/claude-code` apenas quando [nenhum documento de administrador do Windows está presente](#present-admin-documents); a entrada fornece a ordem |470| [`wslInheritsWindowsSettings`](/docs/pt/settings-reference#wslinheritswindowssettings) | Quando definido no registro HKLM ou em um arquivo sob `C:\Program Files\ClaudeCode`, faça o WSL ler a cadeia de política do Windows e ler `/etc/claude-code` apenas quando [nenhum documento de administrador do Windows está presente](#present-admin-documents); a entrada fornece a ordem |

471 471 

472<Note>472<Note>

473 Nos planos Team e Enterprise, um Proprietário ativa ou desativa [Controle Remoto](/docs/pt/remote-control) e [sessões na nuvem](/docs/pt/claude-code-on-the-web) em toda a organização nas [configurações de administrador do Claude Code](https://claude.ai/admin-settings/claude-code). O Controle Remoto pode ser desativado adicionalmente por dispositivo com a configuração [`disableRemoteControl`](/docs/pt/settings-reference#disableremotecontrol). As sessões na nuvem não têm chave de configurações gerenciadas por dispositivo.473 Nos planos Team e Enterprise, um Owner ativa ou desativa o [Remote Control](/docs/pt/remote-control) e as [sessões na nuvem](/docs/pt/claude-code-on-the-web) em toda a organização nas [configurações de administrador do Claude Code](https://claude.ai/admin-settings/claude-code). Quando um Owner desativa o Remote Control, as sessões já conectadas que executam Claude Code v2.1.286 ou posterior também são desconectadas. Cada uma se desconecta na próxima vez que atualiza a política da sua organização, aproximadamente uma vez por hora. Para saber o que acontece nessas sessões, veja [`Remote Control was turned off by your organization's policy`](/docs/pt/remote-control#remote-control-was-turned-off-by-your-organizations-policy).

474 

475 O Remote Control pode ser desativado adicionalmente por dispositivo com a configuração [`disableRemoteControl`](/docs/pt/settings-reference#disableremotecontrol). As sessões na nuvem não têm chave de configurações gerenciadas por dispositivo.

474 476 

475 Para verificar se essas configurações de organização chegaram a uma determinada máquina, execute `claude doctor` lá e leia a linha `Organization policy`, que diz onde Claude Code carregou a política ou por que não carregou. Requer Claude Code v2.1.261 ou posterior. Em uma sessão em execução, `/status` mostra a mesma linha quando a política não foi carregada.477 Para verificar se essas configurações de organização chegaram a uma determinada máquina, execute `claude doctor` lá e leia a linha `Organization policy`, que diz onde Claude Code carregou a política ou por que não carregou. Requer Claude Code v2.1.261 ou posterior. Em uma sessão em execução, `/status` mostra a mesma linha quando a política não foi carregada.

476</Note>478</Note>

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{

model-config.md +16 −2

Details

280* **[Cadeias de modelo de fallback](#fallback-model-chains)**: entradas fora da lista de permissões são descartadas280* **[Cadeias de modelo de fallback](#fallback-model-chains)**: entradas fora da lista de permissões são descartadas

281* **Atualizações de modo de plano**: na API Anthropic e Claude Platform on AWS, uma atualização como [`opusplan`](#opusplan-model-setting) para um modelo excluído usa a versão mais recente permitida da família de atualização. Em provedores com IDs de modelo específicos do provedor, e quando nenhuma versão é permitida, a atualização é ignorada e o planejamento continua no modelo da sessão281* **Atualizações de modo de plano**: na API Anthropic e Claude Platform on AWS, uma atualização como [`opusplan`](#opusplan-model-setting) para um modelo excluído usa a versão mais recente permitida da família de atualização. Em provedores com IDs de modelo específicos do provedor, e quando nenhuma versão é permitida, a atualização é ignorada e o planejamento continua no modelo da sessão

282* **[Fallback automático de modelo](#automatic-model-fallback)**: um fallback cujo alvo é excluído não é executado, portanto a solicitação sinalizada termina com uma recusa282* **[Fallback automático de modelo](#automatic-model-fallback)**: um fallback cujo alvo é excluído não é executado, portanto a solicitação sinalizada termina com uma recusa

283* **[Classificador de modo automático](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode)**: o padrão Claude Sonnet 5 do classificador se aplica apenas quando a lista de permissões permite Sonnet 5. Quando é excluído, o classificador é executado no modelo da sessão, que a lista de permissões já governa, ou em um modelo Opus quando a sessão é executada em um [modelo Fable](#work-with-fable). Em provedores diferentes da API Anthropic, esse fallback Opus é executado no modelo Opus padrão do provedor sem consultar a lista de permissões. Requer Claude Code v2.1.210 ou posterior283* **[Classificador do modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode)**: o padrão Claude Sonnet 5 do classificador se aplica apenas quando a allowlist permite Sonnet 5. Quando é excluído, o classificador é executado no modelo da sessão, que a allowlist já governa, ou em um modelo Opus quando a sessão é executada em um [modelo Fable](#work-with-fable). Em provedores diferentes da API Anthropic, esse fallback Opus é executado no modelo que você define em `ANTHROPIC_DEFAULT_OPUS_MODEL` ou, caso contrário, no Opus 5, sem consultar a allowlist. Requer Claude Code v2.1.210 ou posterior

284* **[Modo rápido](/docs/pt/fast-mode)**: ativar o modo rápido é recusado quando o modelo em que a sessão seria executada depois está fora da lista de permissões284* **[Modo rápido](/docs/pt/fast-mode)**: ativar o modo rápido é recusado quando o modelo em que a sessão seria executada depois está fora da lista de permissões

285 285 

286```json theme={null}286```json theme={null}


570 570 

571O modelo de fallback é verificado contra [`availableModels`](#restrict-model-selection). Quando é bloqueado, nenhum fallback ocorre. A recusa é mostrada como um erro normal e o modelo da sessão permanece inalterado.571O modelo de fallback é verificado contra [`availableModels`](#restrict-model-selection). Quando é bloqueado, nenhum fallback ocorre. A recusa é mostrada como um erro normal e o modelo da sessão permanece inalterado.

572 572 

573<h4 id="effort-level-after-a-fallback">

574 Nível de esforço após um fallback

575</h4>

576 

577Quando Claude Code alterna sua sessão para o modelo de fallback, ele mantém o nível de esforço com que a requisição sinalizada foi executada, em vez do esforço padrão desse modelo. Por exemplo, uma sessão em Opus 5.5 no seu padrão `medium` que recorre a Opus 4.8 como fallback permanece em `medium`, embora o padrão de Opus 4.8 seja `high`.

578 

579Um nível diferente se aplica em casos como estes:

580 

581* **Configurações ou padrão da organização**: um nível em suas configurações que se aplica ao modelo de fallback, ou um esforço padrão que sua organização definiu para ele, se aplica em vez disso.

582* **Sua própria alteração**: assim que você escolhe um nível de esforço, seleciona um modelo em `/model` ou retoma a sessão mais tarde, o nível da requisição sinalizada deixa de ser mantido.

583* **Esforço da skill**: um nível que o frontmatter `effort` de uma skill definiu para a requisição sinalizada se aplica a esse turno, e os turnos posteriores são executados no nível que a [ordem de resolução de esforço](#adjust-effort-level) atribui ao modelo de fallback.

584 

585O cabeçalho da sessão mostra o nível em vigor ao lado do nome do modelo. Para alterá-lo, execute `/effort` na sessão.

586 

573<h4 id="check-what-triggered-fallback">587<h4 id="check-what-triggered-fallback">

574 Verificar o que acionou o fallback588 Verificar o que acionou o fallback

575</h4>589</h4>


636 650 

6371. Uma escolha explícita: a variável de ambiente [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/pt/env-vars#variables), lançamento com `--effort`, ou `/effort` na sessão ([um `/effort` não interativo tem efeito mais estreito](#non-interactive-effort))6511. Uma escolha explícita: a variável de ambiente [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/pt/env-vars#variables), lançamento com `--effort`, ou `/effort` na sessão ([um `/effort` não interativo tem efeito mais estreito](#non-interactive-effort))

6382. Suas configurações: o nível que você salvou para o modelo ou uma chave [`effortLevel`](/docs/pt/settings-reference#effortlevel), com a precedência entre eles e entre arquivos de configurações declarada em [`modelSettings`](/docs/pt/settings-reference#modelsettings)6522. Suas configurações: o nível que você salvou para o modelo ou uma chave [`effortLevel`](/docs/pt/settings-reference#effortlevel), com a precedência entre eles e entre arquivos de configurações declarada em [`modelSettings`](/docs/pt/settings-reference#modelsettings)

6393. O esforço padrão do modelo: `high` em cada modelo que suporta esforço, exceto que Opus 5.5 e Sonnet 5.5 padrão para `medium`, Opus 4.7 padrão para `xhigh` e, quando sua organização define um nível de esforço padrão para seu [modelo padrão da organização](#organization-default-model), esse nível é o padrão quando você executa esse modelo6533. O esforço padrão do modelo: `high` em cada modelo que suporta esforço, exceto que Opus 5.5 e Sonnet 5.5 padrão para `medium`, Opus 4.7 padrão para `xhigh` e, quando sua organização define um nível de esforço padrão para seu [modelo padrão da organização](#organization-default-model), esse nível é o padrão quando você executa esse modelo. Após um fallback automático de modelo, consulte [Nível de esforço após um fallback](#effort-level-after-a-fallback) para o nível que se aplica.

640 654 

641Opus 5.5 começa em `medium` a menos que uma das fontes acima defina um nível para ele, e um `effortLevel` de nível superior em seu arquivo de configurações de usuário não conta para Opus 5.5. Essa chave é a forma mais antiga que `/effort` escreveu antes de Claude Code salvar níveis por modelo: continua se aplicando onde se aplicava antes, em Opus 5, Fable 5.1 e modelos anteriores, enquanto Opus 5.5 e modelos lançados após ele começam em seu próprio padrão até você escolher um nível para eles com `/effort` ou o seletor `/model`. Um `effortLevel` de nível superior em configurações de projeto, local ou gerenciadas, ou um passado com `--settings`, se aplica a cada modelo.655Opus 5.5 começa em `medium` a menos que uma das fontes acima defina um nível para ele, e um `effortLevel` de nível superior em seu arquivo de configurações de usuário não conta para Opus 5.5. Essa chave é a forma mais antiga que `/effort` escreveu antes de Claude Code salvar níveis por modelo: continua se aplicando onde se aplicava antes, em Opus 5, Fable 5.1 e modelos anteriores, enquanto Opus 5.5 e modelos lançados após ele começam em seu próprio padrão até você escolher um nível para eles com `/effort` ou o seletor `/model`. Um `effortLevel` de nível superior em configurações de projeto, local ou gerenciadas, ou um passado com `--settings`, se aplica a cada modelo.

642 656 

Details

511 <Accordion title="Como o classificador avalia ações">511 <Accordion title="Como o classificador avalia ações">

512 Cada ação passa por uma ordem de decisão fixa. O primeiro passo correspondente vence:512 Cada ação passa por uma ordem de decisão fixa. O primeiro passo correspondente vence:

513 513 

514 1. Ações que correspondem a suas [regras de permitir, solicitar ou negar](/docs/pt/permissions#manage-permissions) resolvem imediatamente, com essas exceções:514 1. Ações que correspondem às suas [regras de permitir, solicitar ou negar](/docs/pt/permissions#manage-permissions) são resolvidas imediatamente, com estas exceções:

515 * Escritas em [caminhos protegidos](#protected-paths) são roteadas para o classificador mesmo quando uma regra de permitir corresponde515 * Escritas em [caminhos protegidos](#protected-paths) são encaminhadas ao classificador mesmo quando uma regra de permitir corresponde

516 * Nenhuma regra de permitir aprova remoções de `rm` e `rmdir` direcionadas a um [caminho crítico](#critical-paths)516 * Nenhuma regra de permitir aprova remoções com `rm` e `rmdir` direcionadas a um [caminho crítico](#critical-paths)

517 * Ferramentas MCP marcadas [`requiresUserInteraction`](/docs/pt/mcp#require-approval-for-a-specific-tool) o solicitam diretamente mesmo quando uma regra de permitir corresponde, e também ferramentas de conector [sua organização definiu como `ask`](/docs/pt/mcp#organization-controls-on-connector-tools) em sessões onde essa configuração chega a Claude Code517 * Ferramentas MCP marcadas com [`requiresUserInteraction`](/docs/pt/mcp#require-approval-for-a-specific-tool) pedem sua confirmação diretamente mesmo quando uma regra de permitir corresponde, assim como ferramentas de conector que [sua organização definiu como `ask`](/docs/pt/mcp#organization-controls-on-connector-tools) em sessões onde essa configuração chega a Claude Code

518 * Um comando de shell que carrega [domínios permitidos por comando](/docs/pt/sandboxing#per-command-allowed-domains-in-auto-mode) também é roteado para o classificador mesmo quando uma regra de permitir corresponde, porque uma regra aprova o comando, não seus hosts518 * Um comando de shell que carrega [domínios permitidos por comando](/docs/pt/sandboxing#per-command-allowed-domains-in-auto-mode) também é encaminhado ao classificador mesmo quando uma regra de permitir corresponde, porque uma regra aprova o comando, não seus hosts

519 * Regras de solicitação que correspondem no conteúdo de um comando, como `Bash(git push *)`, voltam para um prompt de permissão519 * Regras de solicitação que correspondem ao conteúdo de um comando, como `Bash(git push *)`, recorrem a um prompt de permissão

520 * Uma escrita que a [verificação de symlink](/docs/pt/permissions#symlinks) resolve para um caminho protegido o solicita quando o caminho que Claude solicitou não é em si protegido520 * Uma escrita que a [verificação de symlink](/docs/pt/permissions#symlinks) resolve para um caminho protegido pede sua confirmação quando o caminho que Claude solicitou não é protegido em si

521 2. Ações somente leitura e edições de arquivo em seu diretório de trabalho são auto-aprovadas, exceto escritas em [caminhos protegidos](#protected-paths) e [a primeira leitura fora dos diretórios de trabalho](#first-read-outside-the-working-directories), que o solicita521 2. Ações somente leitura e edições de arquivo no seu diretório de trabalho são aprovadas automaticamente, exceto escritas em [caminhos protegidos](#protected-paths) e [a primeira leitura fora dos diretórios de trabalho](#first-read-outside-the-working-directories), que pede sua confirmação

522 * Em uma sessão com [revisão do classificador no servidor](#server-side-classifier-review), ações somente leitura e comandos de shell [em sandbox](/docs/pt/sandboxing#sandbox-modes) esperam por essa revisão e são bloqueados se a sinalizam522 * Em uma sessão com [revisão do classificador no servidor](#server-side-classifier-review), comandos de shell somente leitura e [em sandbox](/docs/pt/sandboxing#sandbox-modes) aguardam essa revisão e são bloqueados se ela os sinalizar

523 * Uma escrita dentro de seu diretório de trabalho que a [verificação de symlink](/docs/pt/permissions#symlinks) resolve para um local fora dele o solicita523 * Uma escrita dentro do seu diretório de trabalho que a [verificação de symlink](/docs/pt/permissions#symlinks) resolve para um local fora dele pede sua confirmação

524 3. Tudo mais vai para o classificador, além de [remoções de caminho crítico](#critical-paths) sob seu tratamento padrão. As ferramentas de conector e ferramentas MCP `requiresUserInteraction` que o solicitam diretamente na etapa 1 nunca chegam ao classificador também, então nem uma aprovação exigida pela org nem uma etapa de consentimento é auto-aprovada524 * Quando Claude lê um [artefato que outra pessoa criou](/docs/pt/artifacts#read-an-artifact-shared-with-you), aplicam-se os casos de aprovação listados naquela seção

525 4. Se o classificador bloqueia, Claude recebe o motivo. Na maioria das sessões o motivo nomeia a regra que o classificador correspondeu, como `[Data Exfiltration]`, em vez de dar uma explicação escrita; consulte [Revisar negações](/docs/pt/auto-mode-config#review-denials)525 3. Todo o resto vai para o classificador, exceto [remoções de caminho crítico](#critical-paths) sob seu tratamento padrão. As ferramentas de conector e ferramentas MCP `requiresUserInteraction` que pedem sua confirmação diretamente na etapa 1 também nunca chegam ao classificador, então nem uma aprovação exigida pela organização nem uma etapa de consentimento é aprovada automaticamente

526 4. Se o classificador bloqueia, Claude recebe o motivo. Na maioria das sessões, o motivo nomeia a regra à qual o classificador correspondeu a ação, como `[Data Exfiltration]`, em vez de dar uma explicação escrita; consulte [Revisar negações](/docs/pt/auto-mode-config#review-denials)

526 527 

527 Um [mod](/docs/pt/plugins/mods/overview) que você instala que conecta `tool.check` pode aprovar uma ação antes da etapa 3, e o classificador não verifica uma ação que o mod aprova. Consulte [Estender permissões com hooks](/docs/pt/permissions#extend-permissions-with-hooks).528 Um [mod](/docs/pt/plugins/mods/overview) que você instala que conecta `tool.check` pode aprovar uma ação antes da etapa 3, e o classificador não verifica uma ação que o mod aprova. Consulte [Estender permissões com hooks](/docs/pt/permissions#extend-permissions-with-hooks).

528 529 


548 <Accordion title="Como o modo automático lida com subagentes">549 <Accordion title="Como o modo automático lida com subagentes">

549 O classificador verifica o trabalho de [subagente](/docs/pt/sub-agents) em três pontos:550 O classificador verifica o trabalho de [subagente](/docs/pt/sub-agents) em três pontos:

550 551 

551 1. Antes de um subagente iniciar, a descrição da tarefa delegada é avaliada, então uma tarefa que parece perigosa é bloqueada no tempo de spawn.552 1. Antes de um subagente iniciar, a descrição da tarefa delegada é avaliada, então uma tarefa de aparência perigosa é bloqueada no momento da criação.

552 2. Enquanto o subagente executa, cada uma de suas ações passa pela mesma [ordem de decisão](#how-the-classifier-evaluates-actions) como na sessão pai, com as mesmas regras de bloqueio e permitir. Qualquer `permissionMode` no frontmatter do subagente é ignorado.553 2. Enquanto o subagente executa, cada uma de suas ações passa pela mesma [ordem de decisão](#how-the-classifier-evaluates-actions) que na sessão pai, com as mesmas regras de bloqueio e permissão. Qualquer `permissionMode` no frontmatter do subagente é ignorado.

553 3. Quando o subagente termina, o classificador revisa seu trabalho e seu relatório final antes que o pai leia o relatório. Quando o classificador sinaliza o trabalho ou relatório do subagente, ou uma verificação de segurança de API separada recusa a revisão, o relatório ainda é entregue, precedido por um aviso de segurança. Quando o classificador não está disponível para a revisão, o relatório chega com uma nota para verificar o trabalho do subagente antes de agir sobre ele.554 3. Quando o subagente termina, o classificador revisa seu trabalho e seu relatório final antes que o pai leia o relatório. Quando o classificador sinaliza o trabalho ou o relatório do subagente, ou uma verificação de segurança separada da API recusa a revisão, o relatório ainda é entregue, precedido de um aviso de segurança. Quando o classificador não está disponível para a revisão, o relatório chega com uma nota para verificar o trabalho do subagente antes de agir com base nele.

554 </Accordion>555 </Accordion>

555 556 

556 <Accordion title="Custo e latência">557 <Accordion title="Custo e latência">

557 O classificador executa em Claude Sonnet 5 por padrão em vez de em sua seleção `/model`. Um modelo classificador que a Anthropic configura no servidor tem precedência sobre esse padrão. Quando o modelo de sua sessão é Claude Sonnet 4.6, ou quando [`availableModels`](/docs/pt/model-config#restrict-model-selection) exclui Sonnet 5, o classificador executa no modelo de sua sessão em vez disso, ou em um modelo Opus quando a sessão executa em um [modelo Fable](/docs/pt/model-config#work-with-fable); em provedores diferentes da API Anthropic, esse fallback Opus é o modelo Opus padrão do provedor.558 O classificador executa no Claude Sonnet 5 por padrão, em vez de na sua seleção de `/model`. Um modelo classificador que a Anthropic configura no servidor tem precedência sobre esse padrão. Quando o modelo da sua sessão é Claude Sonnet 4.6, ou quando [`availableModels`](/docs/pt/model-config#restrict-model-selection) exclui o Sonnet 5, o classificador executa no modelo da sessão em vez disso, ou em um modelo Opus quando a sessão executa em um [modelo Fable](/docs/pt/model-config#work-with-fable). Em provedores diferentes da API Anthropic, esse fallback Opus é o modelo que você define em [`ANTHROPIC_DEFAULT_OPUS_MODEL`](/docs/pt/model-config#environment-variables), ou Opus 5 se você não tiver definido um.

558 559 

559 A primeira solicitação de modo automático da sessão valida o padrão Sonnet 5: se a solicitação for bem-sucedida, Sonnet 5 permanece o modelo classificador da sessão, e se falhar porque o modelo não está disponível, a sessão usa o fallback em vez disso.560 A primeira solicitação de modo automático da sessão valida o padrão Sonnet 5: se a solicitação for bem-sucedida, Sonnet 5 permanece o modelo classificador da sessão, e se falhar porque o modelo não está disponível, a sessão usa o fallback em vez disso.

560 561 


588 589 

589O modo `bypassPermissions` desativa prompts de permissão e verificações de segurança para que chamadas de ferramentas sejam executadas imediatamente, incluindo gravações em [caminhos protegidos](#protected-paths).590O modo `bypassPermissions` desativa prompts de permissão e verificações de segurança para que chamadas de ferramentas sejam executadas imediatamente, incluindo gravações em [caminhos protegidos](#protected-paths).

590 591 

591As [ações que nenhum modo auto-aprova](#actions-no-mode-auto-approves) ainda solicitam neste modo. As [Remove-Item no PowerShell](#remove-item-in-powershell) negações também se aplicam neste modo.592As [ações que nenhum modo auto-aprova](#actions-no-mode-auto-approves) ainda solicitam confirmação neste modo. Ler [o artefato público de outra organização](/docs/pt/artifacts#read-an-artifact-shared-with-you) requer sua aprovação, e este modo não a solicita, então Claude não consegue ler um. As negações de [Remove-Item no PowerShell](#remove-item-in-powershell) também se aplicam neste modo.

592 593 

593Duas [salvaguardas de mensagens entre sessões](/docs/pt/cross-session-messaging) ainda se aplicam neste modo, e em sessões de modo plan interativas onde permissões de bypass estão disponíveis:594Duas [salvaguardas de mensagens entre sessões](/docs/pt/cross-session-messaging) ainda se aplicam neste modo, e em sessões de modo plan interativas onde permissões de bypass estão disponíveis:

594 595 

permissions.md +1 −1

Details

358 Read e Edit358 Read e Edit

359</h3>359</h3>

360 360 

361Para bloquear as ferramentas de arquivo do Claude de ler um arquivo ou diretório, adicione uma regra deny `Read` para seu caminho, como `Read(./.env)` ou `Read(./secrets/**)`. [Excluir arquivos sensíveis](/docs/pt/settings-reference#exclude-sensitive-files) tem um exemplo pronto para colar.361Para bloquear as ferramentas de arquivo do Claude de ler um arquivo ou diretório, adicione uma regra deny `Read` para seu caminho, como `Read(./.env)` ou `Read(./secrets/**)`; [Excluir arquivos sensíveis](/docs/pt/settings-reference#exclude-sensitive-files) tem um exemplo pronto para colar. Se seu projeto tiver um arquivo `.claudeignore`, ele não tem efeito, portanto mova suas entradas para regras deny `Read`.

362 362 

363As regras `Edit` se aplicam a todas as ferramentas integradas que editam arquivos. Claude faz uma tentativa de melhor esforço para aplicar regras `Read` a todas as ferramentas integradas que leem arquivos como Grep e Glob, a menções `@file` em seus prompts, e à seleção e contexto de arquivo aberto que um [IDE](/docs/pt/vs-code#the-built-in-ide-mcp-server) conectado compartilha com Claude.363As regras `Edit` se aplicam a todas as ferramentas integradas que editam arquivos. Claude faz uma tentativa de melhor esforço para aplicar regras `Read` a todas as ferramentas integradas que leem arquivos como Grep e Glob, a menções `@file` em seus prompts, e à seleção e contexto de arquivo aberto que um [IDE](/docs/pt/vs-code#the-built-in-ide-mcp-server) conectado compartilha com Claude.

364 364 

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| :- | :- | :- |

Details

435 435 

436<PluginExplorer>436<PluginExplorer>

437 <Piece id="manifest">437 <Piece id="manifest">

438 O [manifesto](/docs/pt/plugins/manifest-reference) é o arquivo `plugin.json` no diretório `.claude-plugin/` de um plugin. Ele contém os metadados do plugin e os valores `userConfig` que Claude Code solicita ao usuário. Claude Code carrega um plugin sem um, mas o [diretório da Anthropic](/docs/pt/plugins/publish#submit-to-anthropics-directory) o exige. Dentro do arquivo, apenas `name` é obrigatório. Neste, `description` é o texto que os usuários veem para o plugin em `/plugin`, e `version` mantém os usuários nessa versão até você alterá-la:438 O [manifesto](/docs/pt/plugins/manifest-reference) é o arquivo `plugin.json` no diretório `.claude-plugin/` de um plugin. Ele contém os metadados do plugin e os valores `userConfig` que Claude Code solicita ao usuário. Claude Code carrega um plugin sem um. Dentro do arquivo, apenas `name` é obrigatório. Neste, `description` é o texto que os usuários veem para o plugin em `/plugin`, e `version` mantém os usuários nessa versão até você alterá-la:

439 439 

440 ```json theme={null}440 ```json theme={null}

441 {441 {

Details

130* `source`: onde Claude Code busca o plugin. Escreva uma string de caminho relativo para um plugin dentro do diretório do marketplace, como no [passo a passo](#create-a-marketplace), ou um objeto de source para um plugin fora dele. Veja [Escolher uma source de plugin](#choose-a-plugin-source).130* `source`: onde Claude Code busca o plugin. Escreva uma string de caminho relativo para um plugin dentro do diretório do marketplace, como no [passo a passo](#create-a-marketplace), ou um objeto de source para um plugin fora dele. Veja [Escolher uma source de plugin](#choose-a-plugin-source).

131* `description`: a linha que as pessoas veem ao lado do plugin quando navegam seu marketplace em `/plugin`.131* `description`: a linha que as pessoas veem ao lado do plugin quando navegam seu marketplace em `/plugin`.

132 132 

133Para a lista completa de campos, veja [Entradas de plugin](/docs/pt/plugins/marketplace-reference#plugin-entries).133Para a lista completa de campos, veja [Entradas de plugin](/docs/pt/plugins/marketplace-reference#plugin-entries), que também aborda os campos [`plugin.json`](/docs/pt/plugins/manifest-reference) que uma entrada pode definir e quando eles se aplicam.

134 

135Uma entrada também pode definir qualquer campo [`plugin.json`](/docs/pt/plugins/manifest-reference). Para quando os campos `plugin.json` de uma entrada se aplicam a um plugin que tem seu próprio `plugin.json`, veja [Entrada e plugin.json](/docs/pt/plugins/marketplace-reference#entry-and-plugin-json).

136 134 

137<h2 id="rules-for-plugin-entries">135<h2 id="rules-for-plugin-entries">

138 Regras para entradas de plugin136 Regras para entradas de plugin

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

142| `license` | String | Identificador SPDX como `MIT` ou `Apache-2.0` |142| `license` | String | Identificador SPDX como `MIT` ou `Apache-2.0` |

143| `keywords` | Array de strings | Tags de descoberta |143| `keywords` | Array de strings | Tags de descoberta |

144| [`metadata`](#metadata) | Object | Objeto de forma livre para seus próprios dados. Claude Code não o lê |144| [`metadata`](#metadata) | Object | Objeto de forma livre para seus próprios dados. Claude Code não o lê |

145| [`icon`](#directory-listing-fields) | String | Ícone para a listagem do plugin no diretório da Anthropic. Claude Code não o lê |

146| [`documentationUrl`](#directory-listing-fields) | String | Link de documentação para a listagem do plugin no diretório da Anthropic. Claude Code não o lê |

147| [`supportUrl`](#directory-listing-fields) | String | Link de suporte para a listagem do plugin no diretório da Anthropic. Claude Code não o lê |

148| [`privacyPolicyUrl`](#directory-listing-fields) | String | Link da política de privacidade para a listagem do plugin no diretório da Anthropic. Claude Code não o lê |

149| [`termsOfServiceUrl`](#directory-listing-fields) | String | Link dos termos de serviço para a listagem do plugin no diretório da Anthropic. Claude Code não o lê |

145| [`defaultEnabled`](#defaultenabled) | Boolean | Se o plugin inicia habilitado quando o usuário não o configurou. Padrão é `true` |150| [`defaultEnabled`](#defaultenabled) | Boolean | Se o plugin inicia habilitado quando o usuário não o configurou. Padrão é `true` |

146| [`dependencies`](#dependencies) | Array de strings ou objetos | Plugins que devem estar habilitados para este funcionar |151| [`dependencies`](#dependencies) | Array de strings ou objetos | Plugins que devem estar habilitados para este funcionar |

147| [`settings`](#settings) | Object | Configurações que Claude Code aplica enquanto o plugin está habilitado. Apenas `agent` e `subagentStatusLine` têm efeito |152| [`settings`](#settings) | Object | Configurações que Claude Code aplica enquanto o plugin está habilitado. Apenas `agent` e `subagentStatusLine` têm efeito |


202 207 

203Um objeto de forma livre para seus próprios dados, como campos de catálogo ou direito. Claude Code não o lê. Requer Claude Code v2.1.222 ou posterior.208Um objeto de forma livre para seus próprios dados, como campos de catálogo ou direito. Claude Code não o lê. Requer Claude Code v2.1.222 ou posterior.

204 209 

210<h3 id="directory-listing-fields">

211 Campos de listagem do diretório

212</h3>

213 

214O diretório da Anthropic lê os campos `icon`, `documentationUrl`, `supportUrl`, `privacyPolicyUrl` e `termsOfServiceUrl` de `plugin.json` para a listagem do seu plugin quando você [envia o plugin](/docs/pt/plugins/publish#submit-to-anthropics-directory). Claude Code os ignora no tempo de carregamento. Configure-os apenas em `plugin.json`. Em uma [entrada do marketplace](#marketplace-entries-and-the-manifest), `claude plugin validate` relata cada um como um campo desconhecido.

215 

216Defina `icon` como o caminho de um arquivo de imagem dentro do plugin, como `./logo.png`, e cada um dos quatro campos de URL como uma URL `https://`.

217 

218`claude plugin validate` aceita esses campos sem aviso no Claude Code v2.1.281 ou posterior. Versões anteriores imprimem um aviso `Unknown field` para cada um, então uma execução com `--strict` falha nessas versões.

219 

205<h3 id="defaultenabled">220<h3 id="defaultenabled">

206 `defaultEnabled`221 `defaultEnabled`

207</h3>222</h3>


276 291 

277`hooks` recebe um caminho de arquivo `.json`, um objeto de hooks inline na mesma forma que [`hooks` em `settings.json`](/docs/pt/hooks#configuration), ou um array misturando ambos. Para eventos de hook e campos de handler, veja a [referência de hooks](/docs/pt/hooks#hook-events).292`hooks` recebe um caminho de arquivo `.json`, um objeto de hooks inline na mesma forma que [`hooks` em `settings.json`](/docs/pt/hooks#configuration), ou um array misturando ambos. Para eventos de hook e campos de handler, veja a [referência de hooks](/docs/pt/hooks#hook-events).

278 293 

279Claude Code mescla o que você declara com `hooks/hooks.json` quando esse arquivo existe.294Um arquivo de hooks envolve o mapa de eventos em uma chave `"hooks"` de nível superior, a forma que [`hooks/hooks.json`](/docs/pt/plugins/components#hooks) usa. Um arquivo que contém apenas o mapa de eventos, sem esse invólucro, falha ao carregar. Um objeto inline é o próprio mapa de eventos, sem invólucro.

295 

296Claude Code mescla o que você declara com `hooks/hooks.json` quando esse arquivo existe. Este array carrega um arquivo de hooks e declara um hook `PostToolUse` inline:

280 297 

281```json theme={null}298```json theme={null}

282{299{


296}313}

297```314```

298 315 

316O arquivo que esse array nomeia carrega o invólucro `"hooks"` em torno do seu próprio mapa de eventos:

317 

318```json config/extra-hooks.json theme={null}

319{

320 "hooks": {

321 "PreToolUse": [

322 {

323 "matcher": "Bash",

324 "hooks": [

325 { "type": "command", "command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/check-command.sh" }

326 ]

327 }

328 ]

329 }

330}

331```

332 

299<h3 id="mcpservers">333<h3 id="mcpservers">

300 `mcpServers`334 `mcpServers`

301</h3>335</h3>


400* **`skills`**: também aceita `"."`. Ambos `"."` e `"./"` denotam a raiz do plugin. Antes de v2.1.221, `"."` falhou na validação do manifesto, então use `"./"` quando o plugin deve carregar em versões anteriores434* **`skills`**: também aceita `"."`. Ambos `"."` e `"./"` denotam a raiz do plugin. Antes de v2.1.221, `"."` falhou na validação do manifesto, então use `"./"` quando o plugin deve carregar em versões anteriores

401* **`mcpServers`**: também aceita uma URL de bundle `https://`435* **`mcpServers`**: também aceita uma URL de bundle `https://`

402 436 

437`experimental.evals` não é um caminho de componente, portanto as regras desta seção não se aplicam a ele, e `claude plugin eval` verifica o valor quando é executado. Ele nomeia um diretório abaixo da raiz do plugin, como `"quality/evals"`, com ou sem o prefixo `./`. Com um array, apenas a primeira entrada é usada. Para saber o que o valor aceita e o que acontece com um valor inutilizável, consulte [Usar um diretório de eval diferente](/docs/pt/plugin-evals#use-a-different-eval-directory).

438 

403<h3 id="containment-and-existence">439<h3 id="containment-and-existence">

404 Contenção e existência440 Contenção e existência

405</h3>441</h3>


693 Entradas de marketplace e o manifesto729 Entradas de marketplace e o manifesto

694</h2>730</h2>

695 731 

696Uma [entrada de marketplace](/docs/pt/plugins/marketplace-reference) aceita cada campo nesta página junto com [seus próprios campos](/docs/pt/plugins/marketplace-reference#plugin-entries), incluindo `strict`.732Uma [entrada de marketplace](/docs/pt/plugins/marketplace-reference) aceita [seus próprios campos](/docs/pt/plugins/marketplace-reference#plugin-entries), incluindo `strict`, e todos os campos desta página, exceto os [campos de listagem de diretório](#directory-listing-fields).

697 733 

698O campo `strict` decide se a entrada pode adicionar componentes a um plugin que tem seu próprio `plugin.json`. Padrão é `true`.734O campo `strict` decide se a entrada pode adicionar componentes a um plugin que tem seu próprio `plugin.json`. Padrão é `true`.

699 735 

Details

81 81 

82Cada objeto no array `plugins` de nível superior de `marketplace.json` nomeia um plugin e diz onde buscá-lo. `name` e `source` são obrigatórios.82Cada objeto no array `plugins` de nível superior de `marketplace.json` nomeia um plugin e diz onde buscá-lo. `name` e `source` são obrigatórios.

83 83 

84Uma entrada também aceita cada campo [`plugin.json`](/docs/pt/plugins/manifest-reference), como `description`, `version`, `author`, `commands` e `hooks`. Para quando esses campos se aplicam, veja [How an entry combines with plugin.json](#entry-and-plugin-json).84Além dos [campos de listagem do diretório](/docs/pt/plugins/manifest-reference#directory-listing-fields), uma entrada também aceita cada [campo de `plugin.json`](/docs/pt/plugins/manifest-reference), como `description`, `version`, `author`, `commands` e `hooks`. Para quando esses campos se aplicam, veja [How an entry combines with plugin.json](#entry-and-plugin-json).

85 85 

86A tabela lista os campos próprios da entrada e os campos de manifesto cuja significação muda em uma entrada.86A tabela lista os campos próprios da entrada e os campos de manifesto cuja significação muda em uma entrada.

87 87 


108 108 

109Os campos da entrada se aplicam diferentemente a um plugin buscado que tem seu próprio `.claude-plugin/plugin.json` e a um que não tem:109Os campos da entrada se aplicam diferentemente a um plugin buscado que tem seu próprio `.claude-plugin/plugin.json` e a um que não tem:

110 110 

111* **Sem `plugin.json`**: a entrada é o manifesto independentemente de `strict`. Cada campo de manifesto na entrada se aplica, incluindo [`mcpServers`, `lspServers`, `userConfig` e `channels`](/docs/pt/plugins/manifest-reference).111* **Sem `plugin.json`**: a entrada é o manifesto independentemente de `strict`. Cada campo de manifesto que a entrada aceita se aplica, incluindo [`mcpServers`, `lspServers`, `userConfig` e `channels`](/docs/pt/plugins/manifest-reference).

112* **`plugin.json` presente**: `plugin.json` é o manifesto. [Strict mode](#strict-mode) decide se os seis campos de componente da entrada, `commands`, `agents`, `skills`, `hooks`, `outputStyles` e `themes`, são combinados com ele ou rejeitados como um conflito. Entrada `mcpServers`, `lspServers`, `userConfig` e `channels` não se aplicam. Declare-os em `plugin.json`.112* **`plugin.json` presente**: `plugin.json` é o manifesto. [Strict mode](#strict-mode) decide se os seis campos de componente da entrada, `commands`, `agents`, `skills`, `hooks`, `outputStyles` e `themes`, são combinados com ele ou rejeitados como um conflito. Entrada `mcpServers`, `lspServers`, `userConfig` e `channels` não se aplicam. Declare-os em `plugin.json`.

113 113 

114<h4 id="hooks-in-an-entry">114<h4 id="hooks-in-an-entry">


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

283 </Tab>283 </Tab>

284</Tabs>284</Tabs>

285 285 

286O prompt de permissão não é um site de renderização, então um mod não pode alterar o que mostra. O diálogo de pergunta, `AskUserQuestion`, é um, então um mod pode alterar isso.286Nesses sites, `next(e)` retorna uma referência ao desenho do Claude Code, `{ type: 'engine', ref }`, a menos que um mod executado depois do seu tenha retornado uma árvore própria. Para alterar o que está nesse desenho, passe para `next` uma cópia do evento com props diferentes, como faz a aba **Change a detail**. Você pode retornar a referência como está ou colocá-la em uma `Box` ao lado de elementos seus:

287 

288```javascript theme={null}

289on('ui.render', { component: 'Spinner' }, async ($, e, next) => {

290 const { Box, Text } = $.ui.resolve(e)

291 const theirs = await next(e)

292 return Box({ flexDirection: 'column', children: [theirs, Text({ children: ['under the spinner'] })] })

293})

294```

295 

296Enquanto o Claude trabalha, o spinner anima como antes, e `under the spinner` aparece abaixo dele.

297 

298O prompt de permissão não é um site de renderização, então um mod não pode alterar o que mostra. O diálogo de pergunta, `AskUserQuestion`, é um, então um mod pode alterar isso. Uma árvore para o diálogo precisa conter a referência exatamente uma vez, com seus elementos acima dela. Caso contrário, o Claude Code desenha seu próprio diálogo.

287 299 

288O terminal e o app Desktop não disparam todos os mesmos sites. `Pane`, `AbovePrompt`, `Spinner` e os sites de transcrição funcionam em ambos. Algumas outras linhas de status são disparadas apenas no terminal. A [tabela de sites de renderização](/docs/pt/plugins/mods/reference#render-sites) lista onde cada um é disparado.300O terminal e o app Desktop não disparam todos os mesmos sites. `Pane`, `AbovePrompt`, `Spinner` e os sites de transcrição funcionam em ambos. Algumas outras linhas de status são disparadas apenas no terminal. A [tabela de sites de renderização](/docs/pt/plugins/mods/reference#render-sites) lista onde cada um é disparado.

289 301 


407 ```419 ```

408 420 

409 ```text theme={null}421 ```text theme={null}

410 Note: Type a note and press Enter ⏎ add422 Note: Type a note and press Enter

411 ```423 ```

412 </Tab>424 </Tab>

413</Tabs>425</Tabs>

414 426 

415Esta tabela lista cada elemento:427A [galeria de interface](/docs/pt/plugins/mods/gallery) tem exemplos e capturas de tela da maioria dos elementos. Esta tabela lista cada elemento:

416 428 

417| Elemento | O que desenha | Onde |429| Elemento | O que desenha | Onde |

418| :- | :- | :- |430| :- | :- | :- |

Details

34 34 

35* **Use um que você já tem**: alguns dos próprios recursos do Claude Code são mods, como `/diff`. Veja [Mods integrados ao Claude Code](#mods-built-into-claude-code).35* **Use um que você já tem**: alguns dos próprios recursos do Claude Code são mods, como `/diff`. Veja [Mods integrados ao Claude Code](#mods-built-into-claude-code).

36* **Crie um**: descreva o que você quer em uma sessão do Claude Code, e o Claude escreve o mod. Veja [Peça ao Claude por um mod](/docs/pt/plugins/mods/create#ask-claude-for-a-mod). Para aprender como o código de um mod funciona, [escreva um você mesmo](/docs/pt/plugins/mods/create#write-a-mod-yourself).36* **Crie um**: descreva o que você quer em uma sessão do Claude Code, e o Claude escreve o mod. Veja [Peça ao Claude por um mod](/docs/pt/plugins/mods/create#ask-claude-for-a-mod). Para aprender como o código de um mod funciona, [escreva um você mesmo](/docs/pt/plugins/mods/create#write-a-mod-yourself).

37* **Instale um**: veja [Instalar ou atualizar um mod](#install-or-update-a-mod)37* **Instale um**: veja [Instalar ou atualizar um mod](#install-or-update-a-mod), ou [experimente um mod de exemplo](#try-a-sample-mod)

38 38 

39<h3 id="install-or-update-a-mod">39<h3 id="install-or-update-a-mod">

40 Instalar ou atualizar um mod40 Instalar ou atualizar um mod


53 53 

54Se você instalar ou atualizar um mod do seu shell enquanto uma sessão está aberta, execute `/reload-plugins` nessa sessão para carregá-lo. Caso contrário, ele carrega na próxima vez que você iniciar o Claude Code.54Se você instalar ou atualizar um mod do seu shell enquanto uma sessão está aberta, execute `/reload-plugins` nessa sessão para carregá-lo. Caso contrário, ele carrega na próxima vez que você iniciar o Claude Code.

55 55 

56<h3 id="try-a-sample-mod">

57 Experimentar um mod de exemplo

58</h3>

59 

60A Anthropic compartilha mods de exemplo no [diretório `claude-code/mods` do repositório `claude-code-playground`](https://github.com/anthropics/claude-code-playground/tree/main/claude-code/mods). Cada um é um plugin completo, e seu README explica como foi construído. O repositório os compartilha como estão, sem suporte.

61 

62* [`token-weather`](https://github.com/anthropics/claude-code-playground/tree/main/claude-code/mods/token-weather): desenha uma previsão da sua janela de contexto acima do prompt

63* [`blast-radius`](https://github.com/anthropics/claude-code-playground/tree/main/claude-code/mods/blast-radius): retém um comando de shell arriscado, como `rm -rf` ou um force push, e mostra o que ele alteraria, com botões para prosseguir ou cancelar

64* [`replay-theater`](https://github.com/anthropics/claude-code-playground/tree/main/claude-code/mods/replay-theater): adiciona um comando `/replay` que percorre passo a passo as edições de arquivos que o Claude fez no último turno

65 

66Um mod de exemplo é executado com suas permissões. Para ver o que um faz antes de carregá-lo, [liste seus hooks e chamadas](#list-what-a-mod-does-before-you-install-one).

67 

68Para experimentar um, clone o repositório e [carregue o diretório do mod para uma sessão](/docs/pt/plugins/create#load-a-directory-or-archive-for-one-session) com `--plugin-dir`. Para confirmar que o mod foi carregado, [verifique quais mods a sessão carregou](#see-which-mods-a-session-loaded).

69 

70Para mantê-lo, [adicione o diretório `claude-code/mods` do clone como um marketplace](/docs/pt/plugins/install#add-a-marketplace) e, em seguida, instale o mod de `claude-code-playground-mods`. O marketplace aponta para o seu clone, então o mod deixa de ser carregado se você movê-lo ou excluí-lo.

71 

56<h2 id="decide-whether-to-trust-a-mod">72<h2 id="decide-whether-to-trust-a-mod">

57 Decidir se confia em um mod73 Decidir se confia em um mod

58</h2>74</h2>


72* **Agir sem pedir a você**: aprovar uma chamada de ferramenta antes de você ser perguntado88* **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 API89* **Gastar seu uso**: chamar um modelo em seu plano ou chave de API

74 90 

91Os 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.

92 

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.93Um 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 94 

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ê.95Um 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 120 

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).121Se 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 122 

123`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.

124 

105Para descobrir se mods podem carregar para você, veja [Verificar se mods podem carregar](/docs/pt/plugins/mods/troubleshoot#check-whether-mods-can-load).125Para descobrir se mods podem carregar para você, veja [Verificar se mods podem carregar](/docs/pt/plugins/mods/troubleshoot#check-whether-mods-can-load).

106 126 

107<Note>127<Note>


136Este é um `register.js` completo. Ele conta as chamadas de ferramenta que o Claude faz e mostra a contagem ao lado do spinner enquanto o Claude trabalha, como em `Thinking · tool calls: 3…`.156Este é um `register.js` completo. Ele conta as chamadas de ferramenta que o Claude faz e mostra a contagem ao lado do spinner enquanto o Claude trabalha, como em `Thinking · tool calls: 3…`.

137 157 

138```javascript hooks/register.js theme={null}158```javascript hooks/register.js theme={null}

139// A contagem, compartilhada pelos dois hooks abaixo159// The count, shared by the two hooks below

140let calls = 0160let calls = 0

141 161 

142// Claude Code chama isso uma vez quando o mod carrega162// Claude Code calls this once when the mod loads

143export function register(on) {163export function register(on) {

144 // Executado cada vez que Claude está prestes a usar uma ferramenta164 // Runs each time Claude is about to use a tool

145 on('tool.call', async ($, e, next) => {165 on('tool.call', async ($, e, next) => {

146 calls += 1166 calls += 1

147 // Peça ao Claude Code para desenhar a interface novamente, para que a nova contagem apareça167 // Ask Claude Code to draw the interface again, so the new count shows

148 $.ui.invalidate('ui.render')168 $.ui.invalidate('ui.render')

149 // Deixe a ferramenta ser executada normalmente169 // Let the tool run as usual

150 return next(e)170 return next(e)

151 })171 })

152 172 

153 // Executado cada vez que Claude Code desenha o spinner173 // Runs each time Claude Code draws the spinner

154 on('ui.render', { component: 'Spinner' }, async ($, e, next) => {174 on('ui.render', { component: 'Spinner' }, async ($, e, next) => {

155 // Mantenha o spinner do Claude Code, com a contagem adicionada após sua palavra175 // Keep Claude Code's spinner, with the count added after its word

156 return next({ ...e, props: { ...e.props, suffix: ' · tool calls: ' + calls + '…' } })176 return next({ ...e, props: { ...e.props, suffix: ' · tool calls: ' + calls + '…' } })

157 })177 })

158}178}


181* **Reescrever**: alterar o evento antes de continuar, como o hook `ui.render` faz quando adiciona a contagem ao spinner201* **Reescrever**: alterar o evento antes de continuar, como o hook `ui.render` faz quando adiciona a contagem ao spinner

182* **Responder**: manipular o evento em si, para que o comportamento usual não seja executado, como recusar um comando202* **Responder**: manipular o evento em si, para que o comportamento usual não seja executado, como recusar um comando

183 203 

184Para fazer qualquer coisa fora de seu próprio código, como desenhar, adicionar um comando, chamar um modelo, ler um arquivo, iniciar um processo ou fazer uma solicitação de rede, um hook chama a API de mods. Um hook não tem outra maneira de fazer essas coisas, é por isso que o Claude Code pode [listar o que um mod faz](#list-what-a-mod-does-before-you-install-one) antes de você instalá-lo.204Para fazer qualquer coisa fora de seu próprio código, como desenhar, adicionar um comando, chamar um modelo, ler um arquivo, iniciar um processo ou fazer uma requisição de rede, um hook chama a API de mods. Um hook não tem outra maneira de fazer essas coisas, é por isso que o Claude Code pode [listar o que um mod faz](#list-what-a-mod-does-before-you-install-one) antes de você instalá-lo.

185 205 

186Para o código por trás de cada opção, veja [Reagir a eventos](/docs/pt/plugins/mods/events#how-a-hook-handles-an-event). Para o que um hook pode chamar, veja [Usar a API de mods](/docs/pt/plugins/mods/api).206Para o código por trás de cada opção, veja [Reagir a eventos](/docs/pt/plugins/mods/events#how-a-hook-handles-an-event). Para o que um hook pode chamar, veja [Usar a API de mods](/docs/pt/plugins/mods/api).

187 207 

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>


481 496 

482Antes da v2.1.205, Claude Code verificava o nome apenas quando você adicionava o marketplace, então uma entrada registrada antes de seu nome se tornar reservado continuava carregando.497Antes da v2.1.205, Claude Code verificava o nome apenas quando você adicionava o marketplace, então uma entrada registrada antes de seu nome se tornar reservado continuava carregando.

483 498 

499<h3 id="marketplace-is-added-but-ignored">

500 `Marketplace "<name>" is added but ignored`

501</h3>

502 

503O marketplace tem uma entrada em `~/.claude/plugins/known_marketplaces.json`, mas a entrada falhou em uma verificação que Claude Code executa toda vez que lê esse arquivo, então o marketplace e os plugins instalados a partir dele param de carregar. No seu shell, `claude plugin list` relata cada plugin afetado com uma linha que nomeia o motivo e a correção:

504 

505```text theme={null}

506Marketplace team-tools is added but ignored. Its location is on a network drive, has "." or ".." in its path, or couldn't be checked. Re-add the marketplace (one added from a folder or file must be re-added from a copy on this computer), or, to trust a folder on a network drive, declare it under extraKnownMarketplaces in user or managed settings.

507```

508 

509Em uma sessão, a aba **Errors** do `/plugin` coloca o nome do marketplace entre aspas, termina a linha após o motivo e mostra a correção na linha abaixo dela.

510 

511A frase após `is added but ignored` nomeia a verificação em que a entrada falhou:

512 

513* `Its location is on a network drive, has "." or ".." in its path, or couldn't be checked`, ou a mesma frase sobre `The folder or file it was added from`: o diretório do marketplace, ou o caminho local a partir do qual ele foi adicionado, está em um local de rede, tem um segmento `.` ou `..` em seu caminho, ou não pôde ser verificado

514* `Its git URL can't be used: <reason>` ou `Its URL can't be read as an https:// or http:// address`: a URL de origem registrada da entrada é uma a partir da qual Claude Code se recusa a clonar ou buscar

515* `Its source doesn't match its extraKnownMarketplaces entry in user or managed settings`: a entrada não corresponde à declaração [`extraKnownMarketplaces`](/docs/pt/settings-reference#extraknownmarketplaces) de mesmo nome

516 

517Quando `(see the debug log)` vem após `is added but ignored` no lugar de um motivo, Claude Code recusa o nome do marketplace, como [outra grafia de um nome reservado](/docs/pt/errors#marketplace-name-is-another-spelling-of-a-reserved-name). O [log de depuração](/docs/pt/debug-your-config) nomeia a entrada.

518 

519**O que fazer:**

520 

521* Siga a correção na mensagem. No seu shell, execute `claude plugin marketplace remove <name>`, depois adicione o marketplace novamente a partir de uma fonte suportada ou de um caminho local e reinstale seus plugins, que o comando remove desinstala. O comando remove funciona em uma entrada ignorada

522* Para manter um marketplace em um local de rede, declare-o sob [`extraKnownMarketplaces`](/docs/pt/settings-reference#extraknownmarketplaces) nas suas configurações de usuário ou gerenciadas; uma declaração em `.claude/settings.json` ou `.claude/settings.local.json` de um repositório não conta

523* Para uma fonte que difere de sua declaração nas configurações, adicione novamente o marketplace a partir da fonte declarada ou altere a declaração. `claude plugin marketplace add` recusa a mesma divergência; veja [a entrada `Cannot add marketplace` correspondente](#cannot-add-marketplace-its-network-source-differs)

524* Para um nome recusado, remova o marketplace, usando o comando após `Remove it:` quando a linha fornecer um; adicioná-lo novamente sob o mesmo nome é recusado de novo

525 

526Antes da v2.1.286, qualquer que fosse o motivo, `claude plugin list` relatava tal marketplace como `Marketplace <name> not found`, e a aba **Errors** do `/plugin` o relatava como `Marketplace "<name>" is registered but was refused (see the debug log)`. O motivo aparecia apenas no log de depuração. Na v2.1.286, as frases de motivo e de correção usavam uma redação diferente, como `Its recorded location is network-shaped or unclassifiable (never probed)`.

527 

484<h3 id="plugin-has-a-corrupt-manifest-file-or-has-an-invalid-manifest-file">528<h3 id="plugin-has-a-corrupt-manifest-file-or-has-an-invalid-manifest-file">

485 `Plugin <name> has a corrupt manifest file` or `has an invalid manifest file`529 `Plugin <name> has a corrupt manifest file` or `has an invalid manifest file`

486</h3>530</h3>


488Claude Code buscou o plugin, depois falhou ao ler seu `.claude-plugin/plugin.json`. No shell, o `<name>` nesta linha pode ser um nome de diretório temporário; o prefixo `Failed to install plugin "<name>@<marketplace>"` carrega o nome real do plugin. A redação diz qual verificação falhou:532Claude Code buscou o plugin, depois falhou ao ler seu `.claude-plugin/plugin.json`. No shell, o `<name>` nesta linha pode ser um nome de diretório temporário; o prefixo `Failed to install plugin "<name>@<marketplace>"` carrega o nome real do plugin. A redação diz qual verificação falhou:

489 533 

490* **`corrupt manifest file`, seguido por `JSON parse error:`**: o arquivo não é JSON válido534* **`corrupt manifest file`, seguido por `JSON parse error:`**: o arquivo não é JSON válido

491* **`invalid manifest file`, seguido por `Validation errors:`**: o arquivo analisa mas falha no schema, como `name: Invalid input` para um campo obrigatório faltando535* **`invalid manifest file`, seguido por `Validation errors:`**: o arquivo analisa mas falha no esquema, como `name: Invalid input` para um campo obrigatório faltando

492 536 

493`claude plugin install` relata qualquer um como `Failed to install plugin "<name>@<marketplace>":` e sai com código 1.537`claude plugin install` relata qualquer um como `Failed to install plugin "<name>@<marketplace>":` e sai com código 1.

494 538 


898 `--plugin-dir` at a marketplace root doesn't load the plugins under `plugins/`942 `--plugin-dir` at a marketplace root doesn't load the plugins under `plugins/`

899</h3>943</h3>

900 944 

901Você iniciou `claude --plugin-dir <path>` e não vê erro, mas as skills, agents e hooks do plugin não estão lá.945Você iniciou `claude --plugin-dir <path>` e não vê erro, mas as skills, agentes e hooks do plugin não estão lá.

902 946 

903`--plugin-dir` leva o diretório raiz do plugin, aquele que contém `.claude-plugin/plugin.json` e os diretórios de componentes como `skills/`. Se você apontá-lo para uma raiz de marketplace em vez disso, Claude Code não lê `marketplace.json`, então um plugin sob `plugins/` não carrega, e você não vê erro. Antes da v2.1.281, Claude Code carregava uma raiz de marketplace como um plugin vazio nomeado após esse diretório. Aponte o sinalizador para o diretório do plugin em si:947`--plugin-dir` leva o diretório raiz do plugin, aquele que contém `.claude-plugin/plugin.json` e os diretórios de componentes como `skills/`. Se você apontá-lo para uma raiz de marketplace em vez disso, Claude Code não lê `marketplace.json`, então um plugin sob `plugins/` não carrega, e você não vê erro. Antes da v2.1.281, Claude Code carregava uma raiz de marketplace como um plugin vazio nomeado após esse diretório. Aponte a flag para o diretório do plugin em si:

904 948 

905```shell theme={null}949```shell theme={null}

906claude --plugin-dir ./my-marketplace/plugins/my-plugin950claude --plugin-dir ./my-marketplace/plugins/my-plugin


943 Skill loads but Claude never invokes the skill987 Skill loads but Claude never invokes the skill

944</h3>988</h3>

945 989 

946A skill do seu plugin é executada quando você digita seu comando `/<plugin>:<skill>`, mas Claude nunca a invoca em resposta a um pedido simples.990A skill do seu plugin é executada quando você digita seu comando `/<plugin>:<skill>`, mas Claude nunca a invoca em resposta a uma solicitação simples.

947 991 

948Verifique estas causas em ordem:992Verifique estas causas em ordem:

949 993 

950* **A skill define `disable-model-invocation: true`**: com esse campo definido, apenas você pode invocar a skill. A skill de modelo em [Create your first plugin](/docs/pt/plugins/create#create-your-first-plugin) a define. Remova a linha de uma skill que você quer que Claude invoque por conta própria. [Control who invokes a skill](/docs/pt/skills#control-who-invokes-a-skill) cobre o campo994* **A skill define `disable-model-invocation: true`**: com esse campo definido, apenas você pode invocar a skill. A skill de modelo em [Create your first plugin](/docs/pt/plugins/create#create-your-first-plugin) a define. Remova a linha de uma skill que você quer que Claude invoque por conta própria. [Control who invokes a skill](/docs/pt/skills#control-who-invokes-a-skill) cobre o campo

951* **A descrição não corresponde a como as pessoas pedem**: trabalhe através das verificações em [Skill not triggering](/docs/pt/skills#skill-not-triggering)995* **A descrição não corresponde a como as pessoas pedem**: trabalhe através das verificações em [Skill not triggering](/docs/pt/skills#skill-not-triggering)

952* **A descrição está truncada**: quando muitas skills estão instaladas, Claude Code encurta descrições para caber na listagem do orçamento de caracteres, o que pode remover as palavras-chave que Claude precisa para corresponder a um pedido. Veja [Skill descriptions are cut short](/docs/pt/skills#skill-descriptions-are-cut-short)996* **A descrição está truncada**: quando muitas skills estão instaladas, Claude Code encurta descrições para caber no orçamento de caracteres da listagem, o que pode remover as palavras-chave que Claude precisa para corresponder a uma solicitação. Veja [Skill descriptions are cut short](/docs/pt/skills#skill-descriptions-are-cut-short)

953 997 

954Para medir com que frequência a skill dispara em prompts realistas em vez de verificar um de cada vez, escreva um caso de eval com um [grader `tool_used: Skill`](/docs/pt/plugin-evals#create-your-first-eval-suite) e execute-o com `claude plugin eval` após cada mudança de descrição.998Para medir com que frequência a skill dispara em prompts realistas em vez de verificar um de cada vez, escreva um caso de eval com um [grader `tool_used: Skill`](/docs/pt/plugin-evals#create-your-first-eval-suite) e execute-o com `claude plugin eval` após cada mudança de descrição.

955 999 


957 `<directory> is not a plugin or skill folder` from `claude plugin eval init`1001 `<directory> is not a plugin or skill folder` from `claude plugin eval init`

958</h3>1002</h3>

959 1003 

960Você executou `claude plugin eval init` a partir de um diretório que não é a raiz de um plugin, como seu diretório inicial ou a raiz de um repositório que mantém o plugin em um subdiretório. `init` escreve a suite sob o diretório de trabalho, então para em vez de criar um diretório `evals/` que o plugin nunca veria.1004Você executou `claude plugin eval init` a partir de um diretório que não é a raiz de um plugin, como seu diretório pessoal ou a raiz de um repositório que mantém o plugin em um subdiretório. `init` escreve a suite sob o diretório de trabalho, então para em vez de criar um diretório `evals/` que o plugin nunca veria.

961 1005 

962Mude para a raiz do plugin, o diretório que contém `.claude-plugin/plugin.json` ou o `SKILL.md` da skill, e execute o comando novamente. Para estruturar a suite em outro lugar de propósito, passe `--eval-dir`. Veja [Test plugins with evals](/docs/pt/plugin-evals).1006Mude para a raiz do plugin, o diretório que contém `.claude-plugin/plugin.json` ou o `SKILL.md` da skill, e execute o comando novamente. Para estruturar a suite em outro lugar de propósito, passe `--eval-dir`. Veja [Test plugins with evals](/docs/pt/plugin-evals).

963 1007 


973* **O diálogo Manage plugins da extensão VS Code**: solicita opções não definidas como um formulário após a instalação. Antes da v2.1.285, instalar lá não mostrava formulário de opções, então defina os valores a partir de uma sessão de terminal com `/plugin configure <plugin>@<marketplace>`1017* **O diálogo Manage plugins da extensão VS Code**: solicita opções não definidas como um formulário após a instalação. Antes da v2.1.285, instalar lá não mostrava formulário de opções, então defina os valores a partir de uma sessão de terminal com `/plugin configure <plugin>@<marketplace>`

974* **`claude plugin install` no seu shell**: nunca pede valores `userConfig`. Salva qualquer valor `--config KEY=VALUE` que você passa, e quando opções permanecem não definidas imprime `N userConfig options not yet set — run /plugin configure <plugin>@<marketplace> in Claude Code, or pass --config KEY=VALUE.` Quando qualquer uma das opções não definidas é obrigatória, `(M required)` segue `not yet set`.1018* **`claude plugin install` no seu shell**: nunca pede valores `userConfig`. Salva qualquer valor `--config KEY=VALUE` que você passa, e quando opções permanecem não definidas imprime `N userConfig options not yet set — run /plugin configure <plugin>@<marketplace> in Claude Code, or pass --config KEY=VALUE.` Quando qualquer uma das opções não definidas é obrigatória, `(M required)` segue `not yet set`.

975 1019 

976Se você instalou a partir do shell, passe os valores com `--config`, um sinalizador por opção:1020Se você instalou a partir do shell, passe os valores com `--config`, uma flag por opção:

977 1021 

978```shell theme={null}1022```shell theme={null}

979claude plugin install my-plugin@my-marketplace --config api_url=https://example.com1023claude plugin install my-plugin@my-marketplace --config api_url=https://example.com


993 1037 

994Você executou `claude plugin validate <path>`, ou `/plugin validate <path>` em uma sessão, e imprimiu `Found N errors` e `Validation failed`, depois saiu com código 1.1038Você executou `claude plugin validate <path>`, ou `/plugin validate <path>` em uma sessão, e imprimiu `Found N errors` e `Validation failed`, depois saiu com código 1.

995 1039 

996O validador lê o manifesto no caminho que você fornece: `.claude-plugin/plugin.json` para um diretório de plugin, ou `.claude-plugin/marketplace.json` para um diretório de marketplace. Para um marketplace, ele prefixos problemas no manifesto próprio de uma entrada com o índice de entrada, como `plugins[1] plugin.json → json: ...`.1040O validador lê o manifesto no caminho que você fornece: `.claude-plugin/plugin.json` para um diretório de plugin, ou `.claude-plugin/marketplace.json` para um diretório de marketplace. Para um marketplace, ele prefixa problemas no manifesto próprio de uma entrada com o índice de entrada, como `plugins[1] plugin.json → json: ...`.

997 1041 

998A tabela cobre as mensagens que param a validação e dois avisos, `No frontmatter block found` e `Unknown field '<key>'`, que a param apenas quando você passa `--strict`. Outros avisos, como uma descrição faltando, não estão listados.1042A tabela cobre as mensagens que param a validação e dois avisos, `No frontmatter block found` e `Unknown field '<key>'`, que a param apenas quando você passa `--strict`. Outros avisos, como uma descrição faltando, não estão listados.

999 1043 


1005| `Path not found: <path>. The runtime loader will report this as a load failure.` | Um caminho de componente no manifesto não existe. | Corrija o caminho ou crie o diretório. |1049| `Path not found: <path>. The runtime loader will report this as a load failure.` | Um caminho de componente no manifesto não existe. | Corrija o caminho ou crie o diretório. |

1006| `Path contains ".." which could be a path traversal attempt: <path>` | Um caminho de componente escapa do diretório do plugin. | Use caminhos dentro da raiz do plugin. |1050| `Path contains ".." which could be a path traversal attempt: <path>` | Um caminho de componente escapa do diretório do plugin. | Use caminhos dentro da raiz do plugin. |

1007| `Path is a file; skills entries must be directories containing SKILL.md` | Uma entrada `skills` aponta para `SKILL.md` em vez de seu diretório. | Aponte para o diretório pai, ou `.` para um `SKILL.md` no nível raiz. |1051| `Path is a file; skills entries must be directories containing SKILL.md` | Uma entrada `skills` aponta para `SKILL.md` em vez de seu diretório. | Aponte para o diretório pai, ou `.` para um `SKILL.md` no nível raiz. |

1008| `No frontmatter block found` ou `YAML frontmatter failed to parse: <error>` | Um arquivo de skill, agent ou comando tem frontmatter YAML faltando ou inválido. | Adicione ou corrija o frontmatter entre delimitadores `---`. Relatado ao validar um diretório de plugin. |1052| `No frontmatter block found` ou `YAML frontmatter failed to parse: <error>` | Um arquivo de skill, agente ou comando tem frontmatter YAML faltando ou inválido. | Adicione ou corrija o frontmatter entre delimitadores `---`. Relatado ao validar um diretório de plugin. |

1009| `Plugin name "<name>" is reserved: it passes as one of Anthropic's own` | O nome `name` do plugin é um dos [nomes reservados](/docs/pt/plugins/manifest-reference#name). | Renomeie o plugin para o que ele faz. |1053| `Plugin name "<name>" is reserved: it passes as one of Anthropic's own` | O nome `name` do plugin é um dos [nomes reservados](/docs/pt/plugins/manifest-reference#name). | Renomeie o plugin para o que ele faz. |

1010| `Unknown field '<key>'` | O manifesto tem um campo que o schema não define. | Remova-o, ou use o nome que a mensagem sugere. Claude Code ignora campos desconhecidos no tempo de carregamento. |1054| `Unknown field '<key>'` | O manifesto tem um campo que o esquema não define. | Remova-o, ou use o nome que a mensagem sugere. Claude Code ignora campos desconhecidos no tempo de carregamento. Para `privacyPolicyUrl` e os outros campos de listagem de diretório em `plugin.json`, veja [Directory listing fields](/docs/pt/plugins/manifest-reference#directory-listing-fields). |

1011 1055 

1012Execute o comando novamente após cada correção até que imprima sem erros.1056Execute o comando novamente após cada correção até que imprima sem erros.

1013 1057 

prompt-library.md +283 −60

Details

622 const m = p.slice(base.length).match(/^\/([a-z]{2}(?:-[A-Z]{2})?)\//);622 const m = p.slice(base.length).match(/^\/([a-z]{2}(?:-[A-Z]{2})?)\//);

623 const locale = m ? m[1] : 'en';623 const locale = m ? m[1] : 'en';

624 return href => {624 return href => {

625 if (!href || href[0] !== '/' || href[1] === '/') return href;625 if (!href) return undefined;

626 if (href[0] === '#' || href.startsWith('https://')) return href;

627 if (!(/^\/[A-Za-z0-9]/).test(href)) return undefined;

626 return base + (href.startsWith('/en/') ? '/' + locale + href.slice(3) : href);628 return base + (href.startsWith('/en/') ? '/' + locale + href.slice(3) : href);

627 };629 };

628 }, []);630 }, []);


671 const assemble = p => p.prompt.replace(/\{(\w+)\}/g, (_, k) => fillOf(p, k) || p.slots && p.slots[k] || k);673 const assemble = p => p.prompt.replace(/\{(\w+)\}/g, (_, k) => fillOf(p, k) || p.slots && p.slots[k] || k);

672 const preview = p => p.prompt.replace(/\{(\w+)\}/g, (_, k) => p.slots && p.slots[k] || k);674 const preview = p => p.prompt.replace(/\{(\w+)\}/g, (_, k) => p.slots && p.slots[k] || k);

673 const bodyText = p => preview(p) + ' ' + p.teaches.replace(/\[([^\]]+)\]\([^)]+\)/g, '$1') + ' ' + (p.next || '');675 const bodyText = p => preview(p) + ' ' + p.teaches.replace(/\[([^\]]+)\]\([^)]+\)/g, '$1') + ' ' + (p.next || '');

674 const widthFor = s => (s || '').length + 3 + 'ch';676 const WIDE_RE = /[\u1100-\u115F\u2E80-\uA4CF\uAC00-\uD7A3\uF900-\uFAFF\uFE30-\uFE4F\uFF00-\uFF60\uFFE0-\uFFE6]/g;

677 const widthFor = s => {

678 const t = typeof s === 'string' ? s : '';

679 return t.length + (t.match(WIDE_RE) || []).length + 3 + 'ch';

680 };

675 const ql = q.trim().toLowerCase();681 const ql = q.trim().toLowerCase();

676 const toggleTag = k => {682 const toggleTag = k => {

677 setStart(false);683 setStart(false);


1098 "get-oriented-in-a": {1104 "get-oriented-in-a": {

1099 title: "Orientar-se em um novo repositório",1105 title: "Orientar-se em um novo repositório",

1100 teaches: "Descreva o que você quer saber, não quais arquivos ler. Claude explora o projeto por conta própria e retorna um resumo de como ele se encaixa.",1106 teaches: "Descreva o que você quer saber, não quais arquivos ler. Claude explora o projeto por conta própria e retorna um resumo de como ele se encaixa.",

1101 next: "Execute `/init` para configurar `CLAUDE.md` para que Claude se lembre disso a cada sessão"1107 next: "Execute `/init` para configurar `CLAUDE.md` para que Claude se lembre disso a cada sessão",

1108 prompt: "dê-me uma visão geral desta base de código: arquitetura, diretórios principais e como as partes se conectam"

1102 },1109 },

1103 "explain-unfamiliar-code": {1110 "explain-unfamiliar-code": {

1104 title: "Explicar código desconhecido",1111 title: "Explicar código desconhecido",

1105 teaches: "Nomeie o arquivo e diga em qual formato você quer a resposta. Troque a página HTML por um diagrama, pontos de bala ou o que se adequar a como você aprende.",1112 teaches: "Nomeie o arquivo e diga em qual formato você quer a resposta. Troque a página HTML por um diagrama, tópicos ou o que se adequar a como você aprende.",

1106 next: "Defina um estilo de saída para que Claude sempre explique em seu formato preferido"1113 next: "Defina um estilo de saída para que Claude sempre explique em seu formato preferido",

1114 prompt: "explique o que {path} faz e como os dados fluem por ele. escreva isso como {format}",

1115 slots: {

1116 path: "src/scheduler/queue.ts",

1117 format: "uma página HTML com um diagrama e depois abra-a no meu navegador"

1118 }

1107 },1119 },

1108 "find-where-something-happens": {1120 "find-where-something-happens": {

1109 title: "Encontrar onde algo acontece",1121 title: "Encontrar onde algo acontece",

1110 teaches: "Pesquise por comportamento em vez de por nome de arquivo. A pesquisa funciona mesmo quando você não sabe como o arquivo é chamado ou em qual diretório ele está."1122 teaches: "Pesquise por comportamento em vez de por nome de arquivo. A pesquisa funciona mesmo quando você não sabe como o arquivo é chamado ou em qual diretório ele está.",

1123 prompt: "onde nós {behavior}?",

1124 slots: {

1125 behavior: "validamos os tipos de arquivo enviados"

1126 }

1111 },1127 },

1112 "see-what-depends-on": {1128 "see-what-depends-on": {

1113 title: "Verificar o que quebra antes de você deletar",1129 title: "Verificar o que quebra antes de você deletar",

1114 teaches: "Pergunte antes de remover qualquer coisa. A lista de chamadores e efeitos downstream diz se você está olhando para uma limpeza de uma linha ou uma mudança que você precisa coordenar."1130 teaches: "Pergunte antes de remover qualquer coisa. A lista de chamadores e efeitos downstream diz se você está olhando para uma limpeza de uma linha ou uma mudança que você precisa coordenar.",

1131 prompt: "o que quebraria se eu deletasse {target}?",

1132 slots: {

1133 target: "o helper retryWithBackoff"

1134 }

1115 },1135 },

1116 "trace-how-code-evolved": {1136 "trace-how-code-evolved": {

1117 title: "Rastrear como o código evoluiu",1137 title: "Rastrear como o código evoluiu",

1118 teaches: "Aponte para o histórico de commits quando a pergunta é por quê, não o quê. Claude lê o log e blame para qualquer controle de versão que você use e explica as decisões por trás da implementação atual."1138 teaches: "Aponte para o histórico de commits quando a pergunta é por quê, não o quê. Claude lê o log e blame para qualquer controle de versão que você use e explica as decisões por trás da implementação atual.",

1139 prompt: "analise o histórico de commits de {path} e resuma como ele evoluiu e por quê",

1140 slots: {

1141 path: "internal/auth/session.go"

1142 }

1119 },1143 },

1120 "scope-a-change-before": {1144 "scope-a-change-before": {

1121 title: "Definir o escopo de uma mudança antes de começar",1145 title: "Definir o escopo de uma mudança antes de começar",

1122 teaches: "Dimensione o trabalho antes de comprometê-lo com um roadmap. A lista de arquivos diz se você está olhando para um componente ou uma mudança transversal."1146 teaches: "Dimensione o trabalho antes de comprometê-lo com um roadmap. A lista de arquivos diz se você está olhando para um componente ou uma mudança transversal.",

1147 prompt: "quais arquivos eu precisaria alterar para {change}?",

1148 slots: {

1149 change: "adicionar um botão de modo escuro nas configurações"

1150 }

1123 },1151 },

1124 "ask-the-codebase-a": {1152 "ask-the-codebase-a": {

1125 title: "Fazer uma pergunta de produto à base de código",1153 title: "Fazer uma pergunta de produto à base de código",

1126 teaches: "Declare seu papel para que a resposta seja no nível certo. Claude explica o que o produto realmente faz a partir do código-fonte, sem você precisar lê-lo.",1154 teaches: "Declare seu papel para que a resposta seja no nível certo. Claude explica o que o produto realmente faz a partir do código-fonte, sem você precisar lê-lo.",

1127 next: "Defina um estilo de saída para que Claude sempre apresente respostas neste nível"1155 next: "Defina um estilo de saída para que Claude sempre apresente respostas neste nível",

1156 prompt: "eu sou {role}. mostre-me o que acontece quando um usuário {action}, da UI até o resultado",

1157 slots: {

1158 role: "PM",

1159 action: "clica em Exportar para PDF"

1160 }

1128 },1161 },

1129 "plan-a-multi-file": {1162 "plan-a-multi-file": {

1130 title: "Planejar uma mudança em vários arquivos antes de tocar no código",1163 title: "Planejar uma mudança em vários arquivos antes de tocar no código",

1131 teaches: "Adicionar \"não edite ainda\" separa exploração de mudanças, para que você veja a abordagem antes de qualquer código se mover. Para fazer o planejamento primeiro o padrão em cada prompt, pressione Shift+Tab para [modo de plano](/docs/pt/permission-modes#analyze-before-you-edit-with-plan-mode)."1164 teaches: "Adicionar \"não edite nada ainda\" separa exploração de mudanças, para que você veja a abordagem antes de qualquer código se mover. Para fazer o planejamento primeiro o padrão em cada prompt, pressione Shift+Tab para o [modo de planejamento](/docs/pt/permission-modes#analyze-before-you-edit-with-plan-mode).",

1165 prompt: "planeje como refatorar o {target} para {goal}. liste os arquivos que você alteraria, mas não edite nada ainda",

1166 slots: {

1167 target: "módulo de pagamento",

1168 goal: "suportar várias moedas"

1169 }

1132 },1170 },

1133 "draft-a-spec-by": {1171 "draft-a-spec-by": {

1134 title: "Rascunhar uma especificação por entrevista",1172 title: "Rascunhar uma especificação por entrevista",

1135 teaches: "Peça para ser entrevistado em vez de escrever a especificação você mesmo. Claude faz perguntas estruturadas até que os requisitos estejam completos e depois escreve o resultado em um arquivo.",1173 teaches: "Peça para ser entrevistado em vez de escrever a especificação você mesmo. Claude faz perguntas estruturadas até que os requisitos estejam completos e depois escreve o resultado em um arquivo.",

1136 next: "Salve suas perguntas de entrevista como uma skill `/spec` para que cada especificação comece da mesma forma"1174 next: "Salve suas perguntas de entrevista como uma skill `/spec` para que cada especificação comece da mesma forma",

1175 prompt: "quero criar {feature}. me entreviste sobre implementação, UX, casos extremos e tradeoffs até cobrirmos tudo, depois escreva a especificação em SPEC.md",

1176 slots: {

1177 feature: "rate limits por workspace"

1178 }

1137 },1179 },

1138 "turn-a-meeting-into": {1180 "turn-a-meeting-into": {

1139 title: "Transformar uma reunião em tickets",1181 title: "Transformar uma reunião em tickets",

1140 teaches: "Pule a etapa de transcrição. Claude extrai itens de ação da entrada não estruturada e os escreve diretamente em seu rastreador via [MCP](/docs/pt/mcp), para que você revise os tickets, não a transcrição.",1182 teaches: "Pule a etapa de transcrição. Claude extrai itens de ação da entrada não estruturada e os escreve diretamente em seu rastreador via [MCP](/docs/pt/mcp), para que você revise os tickets, não a transcrição.",

1141 next: "Salve isto como uma skill `/tickets`"1183 next: "Salve isto como uma skill `/tickets`",

1184 prompt: "leia {input} e escreva os itens de ação, depois crie um ticket no {tracker} para cada um com critérios de aceitação",

1185 slots: {

1186 input: "@meeting-notes.md",

1187 tracker: "Linear"

1188 }

1142 },1189 },

1143 "map-edge-cases-before": {1190 "map-edge-cases-before": {

1144 title: "Mapear casos extremos antes de construir",1191 title: "Mapear casos extremos antes de construir",

1145 teaches: "Peça pelo que está faltando, não pelo que está lá. Claude lista os estados de erro, estados vazios e casos extremos que um design de caminho feliz tende a pular."1192 teaches: "Peça pelo que está faltando, não pelo que está lá. Claude lista os estados de erro, estados vazios e casos extremos que um design de caminho feliz tende a pular.",

1193 prompt: "liste os estados de erro, estados vazios e casos extremos de {feature} que o design precisa cobrir",

1194 slots: {

1195 feature: "o fluxo de upload de arquivos"

1196 }

1146 },1197 },

1147 "turn-a-mockup-into": {1198 "turn-a-mockup-into": {

1148 title: "Transformar um mockup em um protótipo funcional",1199 title: "Transformar um mockup em um protótipo funcional",

1149 teaches: "Um protótipo clicável responde perguntas que um mockup estático não consegue. Entregue o código funcional à engenharia em vez de explicar as interações em um documento."1200 teaches: "Um protótipo clicável responde perguntas que um mockup estático não consegue. Entregue o código funcional à engenharia em vez de explicar as interações em um documento.",

1201 prompt: "aqui está um mockup. crie um protótipo funcional no qual eu possa clicar, seguindo o layout e os estados mostrados"

1150 },1202 },

1151 "implement-from-a-screenshot": {1203 "implement-from-a-screenshot": {

1152 title: "Implementar a partir de uma captura de tela e auto-verificar",1204 title: "Implementar a partir de uma captura de tela e auto-verificar",

1153 teaches: "Isto dá a Claude um loop de verificação: ele renderiza, compara com a imagem de origem e itera sem você apontar cada lacuna.",1205 teaches: "Isto dá a Claude um loop de verificação: ele renderiza, compara com a imagem de origem e itera sem você apontar cada lacuna.",

1154 next: "Use `/goal` para manter Claude iterando até que as capturas de tela correspondam"1206 next: "Use `/goal` para manter Claude iterando até que as capturas de tela correspondam",

1207 prompt: "implemente este design, depois tire uma captura de tela do resultado, compare-a com o original e corrija quaisquer diferenças"

1155 },1208 },

1156 "follow-an-existing-pattern": {1209 "follow-an-existing-pattern": {

1157 title: "Seguir um padrão existente",1210 title: "Seguir um padrão existente",

1158 teaches: "Aponte para código que você já gosta. Sem uma referência, Claude usa como padrão as melhores práticas gerais. Com uma, ele corresponde às convenções que sua base de código realmente usa.",1211 teaches: "Aponte para código que você já gosta. Sem uma referência, Claude usa como padrão as boas práticas gerais. Com uma, ele corresponde às convenções que sua base de código realmente usa.",

1159 next: "Peça a Claude para escrever o padrão que seguiu em `CLAUDE.md` para que futuras sessões o correspondam sem a referência"1212 next: "Peça a Claude para escrever o padrão que seguiu em `CLAUDE.md` para que futuras sessões o correspondam sem a referência",

1213 prompt: "veja como {example} é implementado para entender o padrão, depois crie {new} da mesma forma",

1214 slots: {

1215 example: "o handler de webhook do GitHub",

1216 new: "um handler de webhook do Stripe"

1217 }

1160 },1218 },

1161 "add-a-small-well": {1219 "add-a-small-well": {

1162 title: "Adicionar um recurso pequeno e bem definido",1220 title: "Adicionar um recurso pequeno e bem definido",

1163 teaches: "Declare as entradas e saídas, não como construir. Claude encontra onde código similar vive e adiciona o seu ao lado."1221 teaches: "Declare as entradas e saídas, não como construir. Claude encontra onde código similar vive e adiciona o seu ao lado.",

1222 prompt: "adicione um endpoint {endpoint} que retorne {payload}",

1223 slots: {

1224 endpoint: "/health",

1225 payload: "a versão do app e o uptime"

1226 }

1164 },1227 },

1165 "build-a-small-internal": {1228 "build-a-small-internal": {

1166 title: "Construir uma pequena ferramenta interna do zero",1229 title: "Construir uma pequena ferramenta interna do zero",

1167 teaches: "Você não precisa de um projeto, um framework ou uma etapa de construção. Descreva a ferramenta e peça a Claude para abri-la para que você a veja funcionando imediatamente."1230 teaches: "Você não precisa de um projeto, um framework ou uma etapa de build. Descreva a ferramenta e peça a Claude para abri-la para que você a veja funcionando imediatamente.",

1231 prompt: "crie um {tool} usando HTML, CSS e JavaScript puro, depois abra-o no meu navegador",

1232 slots: {

1233 tool: "quadro Kanban de arrastar e soltar com três colunas"

1234 }

1168 },1235 },

1169 "work-an-issue-end": {1236 "work-an-issue-end": {

1170 title: "Trabalhar um problema de ponta a ponta",1237 title: "Trabalhar um problema de ponta a ponta",

1171 teaches: "Dê o número do problema, não um resumo. Claude lê o ticket completo em si, para que requisitos que você esqueceria de mencionar apareçam e valide a mudança antes de relatar."1238 teaches: "Dê o número do problema, não um resumo. Claude lê o ticket completo em si, para que requisitos que você esqueceria de mencionar apareçam e valide a mudança antes de relatar.",

1239 prompt: "leia a issue #{issue}, implemente a correção e execute os testes",

1240 slots: {

1241 issue: "312"

1242 }

1172 },1243 },

1173 "find-and-update-copy": {1244 "find-and-update-copy": {

1174 title: "Encontrar e atualizar cópia em toda a base de código",1245 title: "Encontrar e atualizar cópia em toda a base de código",

1175 teaches: "Peça por variantes e diga o que pular. Claude encontra fraseados que uma pesquisa literal perderia e deixa fixtures de teste e histórico intocados, para que você revise apenas a cópia que os usuários realmente veem."1246 teaches: "Peça por variantes e diga o que pular. Claude encontra fraseados que uma pesquisa literal perderia e deixa fixtures de teste e histórico intocados, para que você revise apenas a cópia que os usuários realmente veem.",

1247 prompt: "encontre todos os lugares onde dizemos \"{copy}\" ou uma variante próxima, mostre cada um no contexto, depois atualize todos para \"{new}\". não mexa nos testes nem no changelog",

1248 slots: {

1249 copy: "Cadastre-se grátis",

1250 new: "Comece o teste gratuito"

1251 }

1176 },1252 },

1177 "draft-from-past-examples": {1253 "draft-from-past-examples": {

1178 title: "Rascunhar um documento a partir de exemplos passados",1254 title: "Rascunhar um documento a partir de exemplos passados",

1179 teaches: "Aponte para uma pasta de trabalho concluída em vez de descrever seu estilo. Claude aprende a estrutura e a voz do que você já lançou, para que o primeiro rascunho pareça um dos seus.",1255 teaches: "Aponte para uma pasta de trabalho concluída em vez de descrever seu estilo. Claude aprende a estrutura e a voz do que você já lançou, para que o primeiro rascunho pareça um dos seus.",

1180 next: "Salve a voz como uma skill para que cada rascunho comece lá"1256 next: "Salve a voz como uma skill para que cada rascunho comece lá",

1257 prompt: "leia as {examples} em {folder} para aprender a estrutura e a voz, depois rascunhe uma nova para {topic}",

1258 slots: {

1259 examples: "avaliações de impacto à privacidade",

1260 folder: "legal/pia/",

1261 topic: "a nova integração de analytics"

1262 }

1181 },1263 },

1182 "write-tests-run-them": {1264 "write-tests-run-them": {

1183 title: "Escrever testes, executá-los, corrigir falhas",1265 title: "Escrever testes, executá-los, corrigir falhas",

1184 teaches: "Peça para escrever, executar e corrigir juntos para que Claude itere sem parar para instruções.",1266 teaches: "Peça para escrever, executar e corrigir juntos para que Claude itere sem parar para instruções.",

1185 next: "Execute `/init` para que Claude aprenda seu comando de teste automaticamente"1267 next: "Execute `/init` para que Claude aprenda seu comando de teste automaticamente",

1268 prompt: "escreva testes para {path}, execute-os e corrija quaisquer falhas",

1269 slots: {

1270 path: "app/parsers/feed.py"

1271 }

1186 },1272 },

1187 "drive-implementation-from-tests": {1273 "drive-implementation-from-tests": {

1188 title: "Conduzir implementação a partir de testes",1274 title: "Conduzir implementação a partir de testes",

1189 teaches: "Desenvolvimento orientado por testes: os testes definem quando o trabalho está completo e Claude itera na implementação até que passem."1275 teaches: "Desenvolvimento orientado por testes: os testes definem quando o trabalho está completo e Claude itera na implementação até que passem.",

1276 prompt: "escreva primeiro os testes para {feature}, depois implemente até que passem",

1277 slots: {

1278 feature: "o fluxo de redefinição de senha"

1279 }

1190 },1280 },

1191 "fill-gaps-from-a": {1281 "fill-gaps-from-a": {

1192 title: "Preencher lacunas a partir de um relatório de cobertura",1282 title: "Preencher lacunas a partir de um relatório de cobertura",

1193 teaches: "Aponte para o relatório de cobertura em vez de adivinhar o que não foi testado. Claude lê os números reais e escreve testes para os arquivos que mais precisam.",1283 teaches: "Aponte para o relatório de cobertura em vez de adivinhar o que não foi testado. Claude lê os números reais e escreve testes para os arquivos que mais precisam.",

1194 next: "Defina isto como um `/goal` para que Claude continue escrevendo testes até que a cobertura atinja o alvo"1284 next: "Defina isto como um `/goal` para que Claude continue escrevendo testes até que a cobertura atinja o alvo",

1285 prompt: "leia {report} e adicione testes para os arquivos com menor cobertura até que cada um esteja acima de {target}%",

1286 slots: {

1287 report: "coverage/coverage-summary.json",

1288 target: "80"

1289 }

1195 },1290 },

1196 "port-code-between-languages": {1291 "port-code-between-languages": {

1197 title: "Portar código para outra linguagem",1292 title: "Portar código para outra linguagem",

1198 teaches: "Diga o que preservar, não apenas a linguagem de destino. Nomear a API ou comportamento que deve permanecer igual dá a Claude um contrato para verificar a porta."1293 teaches: "Diga o que preservar, não apenas a linguagem de destino. Nomear a API ou comportamento que deve permanecer igual dá a Claude um contrato para verificar a porta.",

1294 prompt: "porte {source} para {target}, mantendo {keep}",

1295 slots: {

1296 source: "este módulo Python",

1297 target: "Rust",

1298 keep: "a mesma API pública e o mesmo comportamento dos testes"

1299 }

1199 },1300 },

1200 "generate-docs-for-code": {1301 "generate-docs-for-code": {

1201 title: "Gerar documentação para código não documentado",1302 title: "Gerar documentação para código não documentado",

1202 teaches: "Nomeie o escopo e o formato. Claude encontra o que está faltando e corresponde ao estilo de comentário já no arquivo, para que a nova documentação pareça o resto."1303 teaches: "Nomeie o escopo e o formato. Claude encontra o que está faltando e corresponde ao estilo de comentário já no arquivo, para que a nova documentação pareça o resto.",

1304 prompt: "encontre {scope} sem comentários {format} e adicione-os, seguindo o estilo já usado no arquivo",

1305 slots: {

1306 scope: "as funções públicas em src/auth/",

1307 format: "JSDoc"

1308 }

1203 },1309 },

1204 "migrate-a-pattern-across": {1310 "migrate-a-pattern-across": {

1205 title: "Migrar um padrão em toda a base de código",1311 title: "Migrar um padrão em toda a base de código",

1206 teaches: "Descreva o padrão antigo e o novo. Pedir a Claude para identificar cada lugar primeiro significa que os sites de chamada são listados na resposta, para que você possa verificar se nenhum foi perdido. Para uma migração em muitos arquivos, execute [/batch](/docs/pt/commands). Claude divide o trabalho em unidades para você aprovar, depois subagentes em background fazem as mudanças."1312 teaches: "Descreva o padrão antigo e o novo. Pedir a Claude para identificar cada lugar primeiro significa que os sites de chamada são listados na resposta, para que você possa verificar se nenhum foi perdido. Para uma migração em muitos arquivos, execute [/batch](/docs/pt/commands). Claude divide o trabalho em unidades para você aprovar, depois subagentes em background fazem as mudanças.",

1313 prompt: "migre tudo de {from} para {to}: identifique cada lugar que precisa mudar, depois faça as mudanças",

1314 slots: {

1315 from: "a API de logging antiga",

1316 to: "o logger estruturado"

1317 }

1207 },1318 },

1208 "optimize-against-a-measurable": {1319 "optimize-against-a-measurable": {

1209 title: "Otimizar contra um alvo mensurável",1320 title: "Otimizar contra um alvo mensurável",

1210 teaches: "Declarar a métrica e o alvo dá a Claude uma definição clara de conclusão.",1321 teaches: "Declarar a métrica e o alvo dá a Claude uma definição clara de conclusão.",

1211 next: "Defina isto como um `/goal` para que Claude continue medindo e iterando até atingir o número"1322 next: "Defina isto como um `/goal` para que Claude continue medindo e iterando até atingir o número",

1323 prompt: "otimize {target} para reduzir {metric} de {current} para menos de {goal}",

1324 slots: {

1325 target: "a consulta de busca",

1326 metric: "a latência p95",

1327 current: "2s",

1328 goal: "500ms"

1329 }

1212 },1330 },

1213 "fix-a-precise-visual": {1331 "fix-a-precise-visual": {

1214 title: "Corrigir um bug visual preciso",1332 title: "Corrigir um bug visual preciso",

1215 teaches: "Feedback visual preciso obtém uma correção precisa. Declare o elemento exato, medição e viewport.",1333 teaches: "Feedback visual preciso obtém uma correção precisa. Declare o elemento exato, medição e viewport.",

1216 next: "Adicione uma ferramenta de visualização para que Claude faça captura de tela e verifique a correção em si"1334 next: "Adicione uma ferramenta de visualização para que Claude faça captura de tela e verifique a correção em si",

1335 prompt: "o {element} se estende {amount} além da {container} no {viewport}. corrija.",

1336 slots: {

1337 element: "botão de login",

1338 amount: "20px",

1339 container: "borda do card",

1340 viewport: "mobile"

1341 }

1217 },1342 },

1218 "review-your-changes-before": {1343 "review-your-changes-before": {

1219 title: "Revisar suas mudanças antes de fazer commit",1344 title: "Revisar suas mudanças antes de fazer commit",

1220 teaches: "Pegue problemas enquanto ainda são baratos de corrigir. Claude lê os arquivos alterados na íntegra, não apenas as linhas de diff, para que detecte problemas que uma auto-revisão rápida perde.",1345 teaches: "Pegue problemas enquanto ainda são baratos de corrigir. Claude lê os arquivos alterados na íntegra, não apenas as linhas de diff, para que detecte problemas que uma auto-revisão rápida perde.",

1221 next: "Execute `/code-review` para a mesma verificação em um comando"1346 next: "Execute `/code-review` para a mesma verificação em um comando",

1347 prompt: "revise minhas mudanças sem commit e sinalize qualquer coisa que pareça arriscada antes de eu fazer commit"

1222 },1348 },

1223 "review-a-pull-request": {1349 "review-a-pull-request": {

1224 title: "Revisar um pull request",1350 title: "Revisar um pull request",

1225 teaches: "Claude revisa com toda a base de código em contexto, não apenas o diff. Ele lê o código alterado e o que ele chama, para que detecte problemas que uma revisão apenas de diff perderia.",1351 teaches: "Claude revisa com toda a base de código em contexto, não apenas o diff. Ele lê o código alterado e o que ele chama, para que detecte problemas que uma revisão apenas de diff perderia.",

1226 next: "Execute `/code-review <pr#>` em um comando, ou ative Code Review para cada PR"1352 next: "Execute `/code-review <pr#>` em um comando, ou ative Code Review para cada PR",

1353 prompt: "revise o PR #{pr} e resuma o que mudou, depois liste quaisquer preocupações",

1354 slots: {

1355 pr: "247"

1356 }

1227 },1357 },

1228 "review-infrastructure-changes-before": {1358 "review-infrastructure-changes-before": {

1229 title: "Revisar mudanças de infraestrutura antes de aplicar",1359 title: "Revisar mudanças de infraestrutura antes de aplicar",

1230 teaches: "A saída do plano é densa e difícil de escanear. Colá-la obtém um resumo em linguagem simples do que realmente vai mudar antes de você aplicar."1360 teaches: "A saída do plano é densa e difícil de escanear. Colá-la obtém um resumo em linguagem simples do que realmente vai mudar antes de você aplicar.",

1361 prompt: "aqui está a saída do meu plano Terraform. o que isso vai fazer, e algo aqui vai causar problemas?"

1231 },1362 },

1232 "run-a-security-review": {1363 "run-a-security-review": {

1233 title: "Executar uma revisão de segurança com um subagente",1364 title: "Executar uma revisão de segurança com um subagente",

1234 teaches: "Um [subagente](/docs/pt/sub-agents) executa a auditoria em sua própria janela de contexto e relata um resumo, para que uma revisão de segurança longa não preencha sua sessão principal. O subagente de propósito geral integrado lida com isto sem configuração extra.",1365 teaches: "Um [subagente](/docs/pt/sub-agents) executa a auditoria em sua própria janela de contexto e relata um resumo, para que uma revisão de segurança longa não preencha sua sessão principal. O subagente de propósito geral integrado lida com isto sem configuração extra.",

1235 next: "Configure um subagente dedicado de revisão de segurança que todo o seu time possa usar"1366 next: "Configure um subagente dedicado de revisão de segurança que todo o seu time possa usar",

1367 prompt: "use um subagente para revisar {path} em busca de problemas de segurança e relate o que ele encontrar",

1368 slots: {

1369 path: "src/api/"

1370 }

1236 },1371 },

1237 "review-content-before-sending": {1372 "review-content-before-sending": {

1238 title: "Detectar problemas antes da revisão formal",1373 title: "Detectar problemas antes da revisão formal",

1239 teaches: "Obtenha uma primeira passagem antes de um humano gastar tempo com isto. Nomeie as preocupações que você quer verificadas para que a revisão seja focada e depois corrija o que encontra e envie um rascunho mais limpo.",1374 teaches: "Obtenha uma primeira passagem antes de um humano gastar tempo com isto. Nomeie as preocupações que você quer verificadas para que a revisão seja focada e depois corrija o que encontra e envie um rascunho mais limpo.",

1240 next: "Capture sua lista de verificação de revisão como uma skill que todo o seu time possa executar"1375 next: "Capture sua lista de verificação de revisão como uma skill que todo o seu time possa executar",

1376 prompt: "revise {file} em busca de {concerns} e liste tudo o que eu devo corrigir antes de enviar para o {reviewer}",

1377 slots: {

1378 file: "launch-post.md",

1379 concerns: "afirmações sem fundamento, atribuições ausentes e problemas com as diretrizes da marca",

1380 reviewer: "jurídico"

1381 }

1241 },1382 },

1242 "course-correct-a-wrong": {1383 "course-correct-a-wrong": {

1243 title: "Corrigir uma abordagem errada",1384 title: "Corrigir uma abordagem errada",

1244 teaches: "Nomeie a restrição que Claude perdeu, não apenas que está errado. Uma razão específica dá a Claude uma restrição concreta a satisfazer na tentativa novamente, em vez de adivinhar novamente.",1385 teaches: "Nomeie a restrição que Claude perdeu, não apenas que está errado. Uma razão específica dá a Claude uma restrição concreta a satisfazer na nova tentativa, em vez de adivinhar novamente.",

1245 next: "Pressione `Esc` duas vezes para abrir o menu de retrocesso e restaurar código e conversa para que a tentativa novamente comece limpa"1386 next: "Pressione `Esc` duas vezes para abrir o menu de retrocesso e restaurar código e conversa para que a nova tentativa comece limpa",

1387 prompt: "isso não está certo: {feedback}. tente uma abordagem diferente",

1388 slots: {

1389 feedback: "a assinatura da função precisa continuar retrocompatível"

1390 }

1246 },1391 },

1247 "narrow-the-scope-of": {1392 "narrow-the-scope-of": {

1248 title: "Estreitar o escopo de uma mudança",1393 title: "Estreitar o escopo de uma mudança",

1249 teaches: "Quando a direção está certa mas a mudança ficou muito ampla, peça a Claude para manter parte dela em vez de retroceder tudo. Um limite declarado mantém uma pequena correção de se tornar uma refatoração."1394 teaches: "Quando a direção está certa mas a mudança ficou muito ampla, peça a Claude para manter parte dela em vez de retroceder tudo. Um limite declarado mantém uma pequena correção de se tornar uma refatoração.",

1395 prompt: "isso é demais. mantenha apenas as mudanças em {scope} e desfaça suas outras edições",

1396 slots: {

1397 scope: "a lógica de validação em src/forms/"

1398 }

1250 },1399 },

1251 "turn-a-correction-into": {1400 "turn-a-correction-into": {

1252 title: "Transformar uma correção em uma regra",1401 title: "Transformar uma correção em uma regra",

1253 teaches: "Uma correção no chat não é compartilhada com seu time. Uma regra no [CLAUDE.md](/docs/pt/memory) do projeto é compartilhada uma vez que você a faz commit e Claude a lê no início de cada sessão.",1402 teaches: "Uma correção no chat não é compartilhada com seu time. Uma regra no [CLAUDE.md](/docs/pt/memory) do projeto é compartilhada uma vez que você faz commit dela, e Claude a lê no início de cada sessão.",

1254 next: "Abra `/memory` para revisar o que Claude escreveu"1403 next: "Abra `/memory` para revisar o que Claude escreveu",

1404 prompt: "você continua {mistake}. adicione uma regra ao CLAUDE.md para que isso pare de acontecer",

1405 slots: {

1406 mistake: "usando default exports quando este projeto usa named exports"

1407 }

1255 },1408 },

1256 "resolve-merge-conflicts": {1409 "resolve-merge-conflicts": {

1257 title: "Resolver conflitos de merge",1410 title: "Resolver conflitos de merge",

1258 teaches: "Diga qual estado você quer, não quais marcadores manter. Pedir o raciocínio torna o merge revisável em vez de uma caixa preta."1411 teaches: "Diga qual estado você quer, não quais marcadores manter. Pedir o raciocínio torna o merge revisável em vez de uma caixa preta.",

1412 prompt: "resolva os conflitos de merge neste branch e explique o que você manteve de cada lado"

1259 },1413 },

1260 "commit-with-a-generated": {1414 "commit-with-a-generated": {

1261 title: "Fazer commit com uma mensagem gerada",1415 title: "Fazer commit com uma mensagem gerada",

1262 teaches: "Deixe Claude derivar a mensagem do diff. Ela corresponde ao estilo de commit existente do seu repositório."1416 teaches: "Deixe Claude derivar a mensagem do diff. Ela corresponde ao estilo de commit existente do seu repositório.",

1417 prompt: "faça commit destas mudanças com uma mensagem que resuma o que eu fiz"

1263 },1418 },

1264 "open-a-pull-request": {1419 "open-a-pull-request": {

1265 title: "Abrir um pull request a partir de um ticket",1420 title: "Abrir um pull request a partir de um ticket",

1266 teaches: "Pule a troca de contexto entre rastreador, editor e GitHub. Um prompt lê a especificação, faz a mudança e abre o PR."1421 teaches: "Pule a troca de contexto entre rastreador, editor e GitHub. Um prompt lê a especificação, faz a mudança e abre o PR.",

1422 prompt: "encontre o ticket do {tracker} sobre {topic} e abra um PR que o implemente",

1423 slots: {

1424 tracker: "Linear",

1425 topic: "o timeout de login"

1426 }

1267 },1427 },

1268 "draft-release-notes-from": {1428 "draft-release-notes-from": {

1269 title: "Rascunhar notas de lançamento do histórico git",1429 title: "Rascunhar notas de lançamento do histórico git",

1270 teaches: "Dê dois pontos de referência e a estrutura que você quer. Claude lê o log de commit entre eles e rascunha um changelog que você pode editar.",1430 teaches: "Dê dois pontos de referência e a estrutura que você quer. Claude lê o log de commit entre eles e rascunha um changelog que você pode editar.",

1271 next: "Salve isto como uma skill `/changelog`"1431 next: "Salve isto como uma skill `/changelog`",

1432 prompt: "compare {from} com {to} e rascunhe notas de lançamento agrupadas por recurso, correção e breaking change",

1433 slots: {

1434 from: "v2.3.0",

1435 to: "v2.4.0"

1436 }

1272 },1437 },

1273 "write-a-ci-workflow": {1438 "write-a-ci-workflow": {

1274 title: "Escrever um workflow de CI",1439 title: "Escrever um workflow de CI",

1275 teaches: "Descreva quando deve ser executado e o que deve fazer; o YAML é gerado para você, correspondido aos comandos de construção e teste do seu projeto."1440 teaches: "Descreva quando deve ser executado e o que deve fazer; o YAML é gerado para você, correspondido aos comandos de build e teste do seu projeto.",

1441 prompt: "escreva um workflow do GitHub Actions que {steps} a cada push para {branch}",

1442 slots: {

1443 steps: "execute os testes e faça deploy para staging",

1444 branch: "main"

1445 }

1276 },1446 },

1277 "find-and-fix-a": {1447 "find-and-fix-a": {

1278 title: "Encontrar e corrigir um teste falhando",1448 title: "Encontrar e corrigir um teste falhando",

1279 teaches: "Descreva o sintoma; você não precisa saber qual arquivo está quebrado. Claude executa o teste para ver a falha, rastreia-a para a origem e a corrige."1449 teaches: "Descreva o sintoma; você não precisa saber qual arquivo está quebrado. Claude executa o teste para ver a falha, rastreia-a para a origem e a corrige.",

1450 prompt: "o teste {test} está falhando, descubra por quê e corrija",

1451 slots: {

1452 test: "UserAuth"

1453 }

1280 },1454 },

1281 "investigate-a-reported-error": {1455 "investigate-a-reported-error": {

1282 title: "Investigar um erro relatado",1456 title: "Investigar um erro relatado",

1283 teaches: "Descreva o sintoma e localização; Claude lê o caminho de código relevante e rastreia as causas prováveis. Cole stack traces ou logs se você tiver.",1457 teaches: "Descreva o sintoma e localização; Claude lê o caminho de código relevante e rastreia as causas prováveis. Cole stack traces ou logs se você tiver.",

1284 next: "Coloque um deeplink em seu runbook que abre Claude com este prompt pré-preenchido"1458 next: "Coloque um deeplink em seu runbook que abre Claude com este prompt pré-preenchido",

1459 prompt: "os usuários estão vendo {symptom} em {where}. investigue e me diga o que está acontecendo",

1460 slots: {

1461 symptom: "erros 500",

1462 where: "/api/settings"

1463 }

1285 },1464 },

1286 "fix-a-build-error": {1465 "fix-a-build-error": {

1287 title: "Corrigir um erro de construção na raiz",1466 title: "Corrigir um erro de build na raiz",

1288 teaches: "Pedir causa raiz e verificação previne patches de nível de superfície que suprimem o erro sem corrigi-lo."1467 teaches: "Pedir causa raiz e verificação previne patches de nível de superfície que suprimem o erro sem corrigi-lo.",

1468 prompt: "aqui está um erro de build. corrija a causa raiz e verifique se o build é bem-sucedido"

1289 },1469 },

1290 "investigate-a-production-incident": {1470 "investigate-a-production-incident": {

1291 title: "Investigar um incidente de produção",1471 title: "Investigar um incidente de produção",

1292 teaches: "Liste as fontes de evidência para correlacionar, não os passos a tomar. Claude lê logs, histórico git e config juntos para estreitar a causa.",1472 teaches: "Liste as fontes de evidência para correlacionar, não os passos a tomar. Claude lê logs, histórico git e config juntos para estreitar a causa.",

1293 next: "Conecte Sentry ou seu armazenamento de logs via MCP"1473 next: "Conecte Sentry ou seu armazenamento de logs via MCP",

1474 prompt: "{symptom}. verifique os logs, deploys recentes e mudanças de configuração, depois me diga a causa mais provável",

1475 slots: {

1476 symptom: "o endpoint de checkout começou a retornar 500s há uma hora"

1477 }

1294 },1478 },

1295 "query-logs-in-plain": {1479 "query-logs-in-plain": {

1296 title: "Consultar logs em inglês simples",1480 title: "Consultar logs em linguagem simples",

1297 teaches: "Faça a pergunta em vez de escrever o SQL. Claude constrói a consulta, a executa contra seus logs conectados e mostra tanto a consulta quanto o resultado para que você possa verificar o que foi executado."1481 teaches: "Faça a pergunta em vez de escrever o SQL. Claude constrói a consulta, a executa contra seus logs conectados e mostra tanto a consulta quanto o resultado para que você possa verificar o que foi executado.",

1482 prompt: "mostre-me todos os {events} de {scope} em {timeframe}. escreva a consulta, execute-a e me diga o que se destaca",

1483 slots: {

1484 events: "logins com falha",

1485 scope: "o serviço de auth",

1486 timeframe: "as últimas 24 horas"

1487 }

1298 },1488 },

1299 "diagnose-from-a-console": {1489 "diagnose-from-a-console": {

1300 title: "Diagnosticar a partir de uma captura de tela do console",1490 title: "Diagnosticar a partir de uma captura de tela do console",

1301 teaches: "Consoles em nuvem mostram o problema mas não os comandos para corrigi-lo. Claude lê a captura de tela e traduz o dashboard nos comandos kubectl, gcloud ou aws para executar."1491 teaches: "Consoles em nuvem mostram o problema mas não os comandos para corrigi-lo. Claude lê a captura de tela e traduz o dashboard nos comandos kubectl, gcloud ou aws para executar.",

1492 prompt: "aqui está uma captura de tela de {console}. explique por que {resource} está falhando e me dê os comandos exatos para corrigir",

1493 slots: {

1494 console: "o dashboard do Kubernetes no GCP",

1495 resource: "este pod"

1496 }

1302 },1497 },

1303 "analyze-a-data-file": {1498 "analyze-a-data-file": {

1304 title: "Analisar um arquivo de dados",1499 title: "Analisar um arquivo de dados",

1305 teaches: "Uma pergunta única não precisa de um script único. Aponte para um arquivo em sua pasta de projeto e Claude o lê diretamente, encontra os padrões e escreve a saída onde você pedir.",1500 teaches: "Uma pergunta única não precisa de um script único. Aponte para um arquivo em sua pasta de projeto e Claude o lê diretamente, encontra os padrões e escreve a saída onde você pedir.",

1306 next: "Conecte a fonte de dados via MCP em vez de exportar arquivos"1501 next: "Conecte a fonte de dados via MCP em vez de exportar arquivos",

1502 prompt: "leia {file}, resuma os principais padrões e escreva os resultados em {output}",

1503 slots: {

1504 file: "@reports/q1-signups.csv",

1505 output: "uma página HTML com gráficos e depois abra-a no meu navegador"

1506 }

1307 },1507 },

1308 "generate-variations-from-performance": {1508 "generate-variations-from-performance": {

1309 title: "Gerar variações a partir de dados de desempenho",1509 title: "Gerar variações a partir de dados de desempenho",

1310 teaches: "Declare a restrição no início para que a geração permaneça dentro do limite. Claude lê as métricas, escolhe o que substituir e produz alternativas que se encaixam.",1510 teaches: "Declare a restrição no início para que a geração permaneça dentro do limite. Claude lê as métricas, escolhe o que substituir e produz alternativas que se encaixam.",

1311 next: "Conecte a plataforma de anúncios via MCP em vez de exportar um arquivo"1511 next: "Conecte a plataforma de anúncios via MCP em vez de exportar um arquivo",

1512 prompt: "leia {file}, encontre os {items} com pior desempenho e gere {n} novas variações com menos de {limit} caracteres",

1513 slots: {

1514 file: "@ads-performance.csv",

1515 items: "títulos",

1516 n: "20",

1517 limit: "90"

1518 }

1312 },1519 },

1313 "turn-a-recurring-task": {1520 "turn-a-recurring-task": {

1314 title: "Transformar uma tarefa recorrente em uma skill",1521 title: "Transformar uma tarefa recorrente em uma skill",

1315 teaches: "Nomeie os passos uma vez; reutilize-os como um comando. Claude escreve uma [skill](/docs/pt/skills) que qualquer pessoa do seu time possa executar."1522 teaches: "Nomeie os passos uma vez; reutilize-os como um comando. Claude escreve uma [skill](/docs/pt/skills) que qualquer pessoa do seu time possa executar.",

1523 prompt: "crie uma skill /{name} para este projeto que {steps}",

1524 slots: {

1525 name: "ship",

1526 steps: "execute o linter e os testes, depois rascunhe uma mensagem de commit"

1527 }

1316 },1528 },

1317 "add-a-hook-for": {1529 "add-a-hook-for": {

1318 title: "Adicionar um hook para comportamento repetido",1530 title: "Adicionar um hook para comportamento repetido",

1319 teaches: "Hooks tornam um comportamento automático em vez de algo que você tem que se lembrar de pedir. Descreva o gatilho e ação e Claude escreve a configuração do [hook](/docs/pt/hooks)."1531 teaches: "Hooks tornam um comportamento automático em vez de algo que você tem que se lembrar de pedir. Descreva o gatilho e ação e Claude escreve a configuração do [hook](/docs/pt/hooks).",

1532 prompt: "escreva um hook que {action} após cada {event}",

1533 slots: {

1534 action: "execute o prettier",

1535 event: "edição em um arquivo .ts ou .tsx"

1536 }

1320 },1537 },

1321 "connect-a-tool-with": {1538 "connect-a-tool-with": {

1322 title: "Conectar uma ferramenta com MCP",1539 title: "Conectar uma ferramenta com MCP",

1323 teaches: "Conecte a fonte uma vez em vez de colar dados a cada sessão. Após a configuração do [MCP](/docs/pt/mcp), Claude lê da ferramenta diretamente quando você pergunta sobre ela."1540 teaches: "Conecte a fonte uma vez em vez de colar dados a cada sessão. Após a configuração do [MCP](/docs/pt/mcp), Claude lê da ferramenta diretamente quando você pergunta sobre ela.",

1541 prompt: "configure o servidor MCP do {server} para que você possa ler meus {data} diretamente",

1542 slots: {

1543 server: "Sentry",

1544 data: "relatórios de erro"

1545 }

1324 },1546 },

1325 "capture-what-to-remember": {1547 "capture-what-to-remember": {

1326 title: "Capturar o que lembrar para a próxima vez",1548 title: "Capturar o que lembrar para a próxima vez",

1327 teaches: "Pergunte antes de esquecer. Claude sabe o que teve que descobrir nesta sessão e propõe entradas [CLAUDE.md](/docs/pt/memory) para que a próxima sessão comece com esse contexto."1549 teaches: "Pergunte antes de esquecer. Claude sabe o que teve que descobrir nesta sessão e propõe entradas [CLAUDE.md](/docs/pt/memory) para que a próxima sessão comece com esse contexto.",

1550 prompt: "resuma o que fizemos nesta sessão e sugira o que adicionar ao CLAUDE.md"

1328 }1551 }

1329};1552};

1330 1553 

remote-control.md +24 −10

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 


367* **Interrupção de rede estendida**: se sua máquina estiver ligada mas não conseguir alcançar a rede, o que você faz a seguir depende do modo:367* **Interrupção de rede estendida**: se sua máquina estiver ligada mas não conseguir alcançar a rede, o que você faz a seguir depende do modo:

368 * **Modo servidor**: Claude Code desiste após aproximadamente 10 minutos e o processo `claude remote-control` sai. Execute `claude remote-control` novamente para iniciar uma nova sessão.368 * **Modo servidor**: Claude Code desiste após aproximadamente 10 minutos e o processo `claude remote-control` sai. Execute `claude remote-control` novamente para iniciar uma nova sessão.

369 * **Sessão interativa**: continue trabalhando localmente. Claude Code tenta novamente enquanto a interrupção durar e se reconecta automaticamente quando a rede retorna.369 * **Sessão interativa**: continue trabalhando localmente. Claude Code tenta novamente enquanto a interrupção durar e se reconecta automaticamente quando a rede retorna.

370* **Anexos que não são baixados**: se um arquivo que você anexa a partir do seu telefone ou navegador não puder ser baixado para sua máquina, Claude ainda recebe sua mensagem e os arquivos que foram baixados. No lugar dos arquivos ausentes, Claude Code adiciona uma nota como `[1 of 3 attachments did not arrive]` à mensagem.

370* **Falhas de heartbeats de presença**: se uma sessão interativa se desconectar com `could not reach the Remote Control server for about 30 minutes`, execute `/remote-control` para se reconectar.371* **Falhas de heartbeats de presença**: se uma sessão interativa se desconectar com `could not reach the Remote Control server for about 30 minutes`, execute `/remote-control` para se reconectar.

371* **Diálogos encaminhados expiram**: Claude Code mantém prompts de permissão e perguntas `AskUserQuestion` abertas até que você as responda. Quando Claude Code encaminha outro tipo de diálogo para a sessão remota, como o prompt de escolha de modelo mostrado após uma recusa de segurança, ele aguarda cinco minutos por padrão, depois fecha o diálogo e continua com o padrão sem ação do diálogo. Defina [`dialogExpiry`](/docs/pt/settings-reference#dialogexpiry) para ajustar ou desabilitar o prazo. Requer Claude Code v2.1.224 ou posterior.372* **Diálogos encaminhados expiram**: Claude Code mantém prompts de permissão e perguntas `AskUserQuestion` abertas até que você as responda. Quando Claude Code encaminha outro tipo de diálogo para a sessão remota, como o prompt de escolha de modelo mostrado após uma recusa de segurança, ele aguarda cinco minutos por padrão, depois fecha o diálogo e continua com o padrão sem ação do diálogo. Defina [`dialogExpiry`](/docs/pt/settings-reference#dialogexpiry) para ajustar ou desabilitar o prazo. Requer Claude Code v2.1.224 ou posterior.

372* **O prompt de consentimento de créditos de uso do Fable não é encaminhado**: Claude Code mostra o prompt de consentimento de créditos de uso do [Fable](/docs/pt/model-config#fable-and-usage-credits) no meio da sessão apenas onde a sessão é executada, não em seu dispositivo. Quando a sessão é executada em um terminal e ninguém lá responde antes de Claude Code fechar o prompt, a vez termina sem enviar a solicitação; veja [O prompt para confirmar não foi respondido](/docs/pt/errors#the-prompt-to-confirm-went-unanswered).373* **O prompt de consentimento de créditos de uso do Fable não é encaminhado**: Claude Code mostra o prompt de consentimento de créditos de uso do [Fable](/docs/pt/model-config#fable-and-usage-credits) no meio da sessão apenas onde a sessão é executada, não em seu dispositivo. Quando a sessão é executada em um terminal e ninguém lá responde antes de Claude Code fechar o prompt, o turno termina sem enviar a requisição; veja [O prompt para confirmar não foi respondido](/docs/pt/errors#the-prompt-to-confirm-went-unanswered).

373* **Alguns comandos são apenas locais**: comandos que só são executados na interface do terminal, como `/plugin` ou `/resume`, funcionam apenas a partir da CLI local, independentemente de você passar um argumento ou não. Os seguintes funcionam em dispositivos móveis e web:374* **Alguns comandos são apenas locais**: comandos que só são executados na interface do terminal, como `/plugin` ou `/resume`, funcionam apenas a partir da CLI local, independentemente de você passar um argumento ou não. Os seguintes funcionam em dispositivos móveis e web:

374 * Comandos de saída de texto: `/compact`, `/clear`, `/context`, `/usage`, `/exit`, `/usage-credits`, `/recap` e `/reload-plugins`. `/usage-credits` imprime a URL de faturamento em vez de abrir um navegador. `/reload-plugins` funciona apenas quando a sessão é executada em um terminal interativo; uma sessão sem um a recusa.375 * Comandos de saída de texto: `/compact`, `/clear`, `/context`, `/usage`, `/exit`, `/usage-credits`, `/recap` e `/reload-plugins`. `/usage-credits` imprime a URL de faturamento em vez de abrir um navegador. `/reload-plugins` funciona apenas quando a sessão é executada em um terminal interativo; uma sessão sem um a recusa.

375 * `/model`, `/effort`, `/fast`, `/color` e `/rename`: passe o valor como um argumento, por exemplo `/model sonnet` ou `/effort high`. De dispositivos móveis e web, `/model` e `/effort` usam o argumento no lugar do seletor de terminal ou controle deslizante.376 * `/model`, `/effort`, `/fast`, `/color` e `/rename`: passe o valor como um argumento, por exemplo `/model sonnet` ou `/effort high`. De dispositivos móveis e web, `/model` e `/effort` usam o argumento no lugar do seletor de terminal ou controle deslizante.


382 * `/focus`, a partir de v2.1.281: passe `on` ou `off` como um argumento, por exemplo `/focus on`, ou execute-o sem argumento para alternar a [visualização de foco](/docs/pt/commands#all-commands). Ambas as formas se aplicam apenas à sessão atual e deixam sua seleção salva inalterada.383 * `/focus`, a partir de v2.1.281: passe `on` ou `off` como um argumento, por exemplo `/focus on`, ou execute-o sem argumento para alternar a [visualização de foco](/docs/pt/commands#all-commands). Ambas as formas se aplicam apenas à sessão atual e deixam sua seleção salva inalterada.

383 384 

384<h2 id="troubleshooting">385<h2 id="troubleshooting">

385 Troubleshooting386 Solução de problemas

386</h2>387</h2>

387 388 

388<h3 id="remote-control-requires-a-claude-ai-subscription">389<h3 id="remote-control-requires-a-claude-ai-subscription">


401 "Remote Control requires a full-scope login token"402 "Remote Control requires a full-scope login token"

402</h3>403</h3>

403 404 

404Você está autenticado com um token de longa duração de `claude setup-token` ou da variável de ambiente `CLAUDE_CODE_OAUTH_TOKEN`. Esses tokens podem apenas fazer solicitações de modelo, então não conseguem estabelecer sessões de Remote Control. Execute `claude auth login` para autenticar com um token de sessão de escopo completo em vez disso.405Você está autenticado com um token de longa duração de `claude setup-token` ou da variável de ambiente `CLAUDE_CODE_OAUTH_TOKEN`. Esses tokens podem apenas fazer requisições de modelo, então não conseguem estabelecer sessões de Remote Control. Execute `claude auth login` para autenticar com um token de sessão de escopo completo em vez disso.

405 406 

406<h3 id="unable-to-determine-your-organization-for-remote-control-eligibility">407<h3 id="unable-to-determine-your-organization-for-remote-control-eligibility">

407 "Unable to determine your organization for Remote Control eligibility"408 "Unable to determine your organization for Remote Control eligibility"


423 "Couldn't verify Remote Control eligibility"424 "Couldn't verify Remote Control eligibility"

424</h3>425</h3>

425 426 

426Claude Code não conseguiu alcançar o serviço de sinalizador de recurso para verificar se Remote Control está habilitado para sua conta, normalmente porque você está offline ou um proxy está bloqueando a solicitação. Tente novamente assim que tiver acesso à rede, ou execute `claude doctor` para obter detalhes. A mensagem relacionada "Couldn't verify your organization's Remote Control policy" significa que Claude Code encontrou um erro ao ler essa política, e tem a mesma solução.427Claude Code não conseguiu alcançar o serviço de sinalizador de recurso para verificar se Remote Control está habilitado para sua conta, normalmente porque você está offline ou um proxy está bloqueando a requisição. Tente novamente assim que tiver acesso à rede, ou execute `claude doctor` para obter detalhes. A mensagem relacionada "Couldn't verify your organization's Remote Control policy" significa que Claude Code encontrou um erro ao ler essa política, e tem a mesma solução.

427 428 

428<h3 id="remote-control-requires-feature-flag-evaluation">429<h3 id="remote-control-requires-feature-flag-evaluation">

429 "Remote Control requires feature-flag evaluation"430 "Remote Control requires feature-flag evaluation"


438 "Remote Control is only available when using Claude via api.anthropic.com"439 "Remote Control is only available when using Claude via api.anthropic.com"

439</h3>440</h3>

440 441 

441A sessão não está falando com a API Anthropic diretamente, o que Remote Control requer. Isso acontece no Amazon Bedrock, na Agent Platform do Google Cloud e no Microsoft Foundry. Também acontece quando [`ANTHROPIC_BASE_URL`](/docs/pt/env-vars) aponta para um host diferente de `api.anthropic.com`, como um [gateway LLM](/docs/pt/llm-gateway) ou proxy, mesmo se você se conectar com claude.ai. Veja a [referência de erros](/docs/pt/errors#remote-control-requires-the-anthropic-api) para a lista completa de causas.442A sessão não está falando com a API Anthropic diretamente, o que Remote Control requer. Isso acontece no Amazon Bedrock, na Agent Platform do Google Cloud e no Microsoft Foundry. Também acontece quando [`ANTHROPIC_BASE_URL`](/docs/pt/env-vars) aponta para um host diferente de `api.anthropic.com`, como um [gateway de LLM](/docs/pt/llm-gateway) ou proxy, mesmo se você se conectar com claude.ai. Veja a [referência de erros](/docs/pt/errors#remote-control-requires-the-anthropic-api) para a lista completa de causas.

442 443 

443A mensagem nomeia o que roteou a sessão para longe da API Anthropic, como `CLAUDE_CODE_USE_BEDROCK` ou um `ANTHROPIC_BASE_URL` personalizado. Se você tiver um login claude.ai elegível, desdefina a variável nomeada, remova-a da chave `env` em [configurações](/docs/pt/settings) se você a definiu lá, e reinicie a sessão.444A mensagem nomeia o que roteou a sessão para longe da API Anthropic, como `CLAUDE_CODE_USE_BEDROCK` ou um `ANTHROPIC_BASE_URL` personalizado. Se você tiver um login claude.ai elegível, desdefina a variável nomeada, remova-a da chave `env` em [configurações](/docs/pt/settings) se você a definiu lá, e reinicie a sessão.

444 445 

445<h3 id="remote-control-is-disabled-by-your-organization’s-policy">446<h3 id="remote-control-is-disabled-by-your-organizations-policy">

446 "Remote Control is disabled by your organization's policy"447 "Remote Control is disabled by your organization's policy"

447</h3>448</h3>

448 449 


455 456 

456Antes da v2.1.281, essa mensagem também aparecia quando Claude Code não tinha carregado a política da sua organização nesta máquina, por exemplo após iniciar offline. Versões posteriores relatam esse estado como [`Couldn't verify your organization's policy for remote control`](#couldnt-verify-your-organizations-policy-for-remote-control) em vez disso.457Antes da v2.1.281, essa mensagem também aparecia quando Claude Code não tinha carregado a política da sua organização nesta máquina, por exemplo após iniciar offline. Versões posteriores relatam esse estado como [`Couldn't verify your organization's policy for remote control`](#couldnt-verify-your-organizations-policy-for-remote-control) em vez disso.

457 458 

459<h3 id="remote-control-was-turned-off-by-your-organizations-policy">

460 "Remote Control was turned off by your organization's policy"

461</h3>

462 

463A política da sua organização deixou de permitir Remote Control enquanto uma sessão estava conectada, então Claude Code a desconectou. O que acontece com a sessão depende de como você iniciou Remote Control:

464 

465* **Com `/remote-control`, `claude --remote-control` ou [auto-connect](#enable-remote-control-for-all-sessions)**: a sessão continua em execução sem Remote Control, e Claude Code a arquiva em claude.ai

466* **Com `claude remote-control`**: o servidor para e arquiva as sessões que estava servindo, e então encerra

467 

468Você ainda pode encontrar uma sessão arquivada [filtrando por sessões arquivadas](/docs/pt/claude-code-on-the-web#archive-sessions).

469 

470Remote Control não se reconecta por conta própria. Para ativá-lo novamente depois que sua organização voltar a permiti-lo, execute `/remote-control` na sessão ou `claude remote-control` no seu shell. Qualquer um dos comandos falha com [`Remote Control is disabled by your organization's policy`](#remote-control-is-disabled-by-your-organizations-policy) até que Claude Code nesta máquina tenha buscado a política alterada. Uma sessão aberta a busca cerca de uma vez por hora. Para descobrir o que está bloqueando Remote Control, compare o texto completo que o comando imprime com essa entrada.

471 

458<h3 id="couldnt-verify-your-organizations-policy-for-remote-control">472<h3 id="couldnt-verify-your-organizations-policy-for-remote-control">

459 "Couldn't verify your organization's policy for remote control"473 "Couldn't verify your organization's policy for remote control"

460</h3>474</h3>

461 475 

462Claude Code não conseguiu buscar a política da sua organização e não tem uma cópia salva nesta máquina para usar em vez disso, então mantém Remote Control desativado até que possa confirmar que sua organização o permite. Isso geralmente acontece quando você inicia Claude Code offline ou antes de uma VPN se conectar, ou quando um proxy interfere na solicitação. Em uma conexão lenta, também pode aparecer enquanto a primeira solicitação ainda está em andamento.476Claude Code não conseguiu buscar a política da sua organização e não tem uma cópia salva nesta máquina para usar em vez disso, então mantém Remote Control desativado até que possa confirmar que sua organização o permite. Isso geralmente acontece quando você inicia Claude Code offline ou antes de uma VPN se conectar, ou quando um proxy interfere na requisição. Em uma conexão lenta, também pode aparecer enquanto a primeira requisição ainda está em andamento.

463 477 

464A mensagem assume uma destas formas:478A mensagem assume uma destas formas:

465 479 


483Causas comuns:497Causas comuns:

484 498 

485* Não conectado: execute `claude` e use `/login` para autenticar com sua conta claude.ai. Autenticação de chave de API não é suportada para Remote Control.499* Não conectado: execute `claude` e use `/login` para autenticar com sua conta claude.ai. Autenticação de chave de API não é suportada para Remote Control.

486* Problema de rede ou proxy: um firewall ou proxy pode estar bloqueando a solicitação HTTPS de saída. Remote Control requer acesso à API Anthropic na porta 443.500* Problema de rede ou proxy: um firewall ou proxy pode estar bloqueando a requisição HTTPS de saída. Remote Control requer acesso à API Anthropic na porta 443.

487* Falha na criação de sessão: se você também vir `Session creation failed — see debug log`, a falha aconteceu mais cedo na configuração. Verifique se sua assinatura está ativa.501* Falha na criação de sessão: se você também vir `Session creation failed — see debug log`, a falha aconteceu mais cedo na configuração. Verifique se sua assinatura está ativa.

488 502 

489<h3 id="couldnt-reconnect-to-your-remote-control-session">503<h3 id="couldnt-reconnect-to-your-remote-control-session">


506 "Remote Control got an unexpected server response"520 "Remote Control got an unexpected server response"

507</h3>521</h3>

508 522 

509O servidor de Remote Control aceitou uma solicitação mas respondeu de uma forma que esta versão de Claude Code não conseguiu ler, ao criar a sessão remota ou buscar suas credenciais. Tentar novamente na mesma versão falha da mesma forma. Execute `claude update`, então execute `/remote-control` para se reconectar.523O servidor de Remote Control aceitou uma requisição mas respondeu de uma forma que esta versão de Claude Code não conseguiu ler, ao criar a sessão remota ou buscar suas credenciais. Tentar novamente na mesma versão falha da mesma forma. Execute `claude update`, então execute `/remote-control` para se reconectar.

510 524 

511<h3 id="your-organization-requires-trusted-devices-for-remote-control-but-this-device-is-not-enrolled">525<h3 id="your-organization-requires-trusted-devices-for-remote-control-but-this-device-is-not-enrolled">

512 "Your organization requires Trusted Devices for Remote Control, but this device is not enrolled"526 "Your organization requires Trusted Devices for Remote Control, but this device is not enrolled"

routines.md +1 −5

Details

365 365 

366Cada repositório que você adiciona é clonado em cada execução. Claude começa a partir do branch padrão do repositório, a menos que seu prompt especifique o contrário.366Cada repositório que você adiciona é clonado em cada execução. Claude começa a partir do branch padrão do repositório, a menos que seu prompt especifique o contrário.

367 367 

368Claude faz push de seu trabalho para branches com prefixo `claude/`, que são sempre aceitos. Quando seu prompt direciona Claude para fazer push para outro branch, Claude Code verifica o push primeiro e o rejeita se qualquer um dos seguintes for verdadeiro:368Claude faz push de seu trabalho para um branch com prefixo `claude/`, a menos que seu prompt o direcione a fazer push para outro branch. Para controlar para quais branches uma execução pode fazer push, use regras de proteção de branch ou rulesets no GitHub. Para execuções na infraestrutura gerenciada pela Anthropic, e para execuções auto-hospedadas que fazem push através do [proxy git da Anthropic](/docs/pt/self-hosted-environments-deploy#use-the-anthropic-git-proxy), o GitHub as aplica ao acesso ao GitHub que você conectou, portanto uma regra que esse acesso pode ignorar não bloqueia o push de uma execução. Uma execução auto-hospedada que faz push com as credenciais git fornecidas pela sua implantação é verificada em relação a essas credenciais. Consulte [Configurar git](/docs/pt/self-hosted-environments-deploy#configure-git).

369 

370* O branch é protegido no GitHub

371* Alguém mais tem um pull request aberto a partir desse branch

372* O branch contém commits criados por alguém que não é você

373 369 

374<h3 id="connectors">370<h3 id="connectors">

375 Conectores371 Conectores

Details

91 Sandbox runtime91 Sandbox runtime

92</h2>92</h2>

93 93 

94O pacote [`@anthropic-ai/sandbox-runtime`](https://github.com/anthropic-experimental/sandbox-runtime) envolve um processo inteiro no mesmo isolamento Seatbelt ou bubblewrap que o sandbox Bash integrado usa. Executar o Claude Code através do runtime restringe cada ferramenta, hook e servidor MCP na sessão, não apenas comandos shell. O runtime é uma visualização prévia de pesquisa beta, e seu formato de configuração pode mudar conforme o pacote evolui.94O pacote [`@anthropic-ai/sandbox-runtime`](https://github.com/anthropics/sandbox-runtime) envolve um processo inteiro no mesmo isolamento Seatbelt ou bubblewrap que o sandbox Bash integrado usa. Executar o Claude Code através do runtime restringe as ferramentas, hooks e servidores MCP da sessão, além dos comandos shell. O runtime é uma prévia de pesquisa beta, e seu formato de configuração pode mudar conforme o pacote evolui.

95 95 

96Esta seção aborda o que você configura e o que o runtime impõe por conta própria. Para implantar o runtime em aplicações do Agent SDK, consulte o [guia de implantação segura](/docs/pt/agent-sdk/secure-deployment#sandbox-runtime).96Esta seção aborda o que você configura e o que o runtime impõe por conta própria. Para implantar o runtime em aplicações do Agent SDK, consulte o [guia de implantação segura](/docs/pt/agent-sdk/secure-deployment#sandbox-runtime).

97 97 


101 101 

102No Linux e WSL2, o runtime depende dos mesmos pacotes `bubblewrap` e `socat` que o sandbox integrado usa, mais `ripgrep`, que o Claude Code agrupa, mas o runtime autônomo resolve do seu PATH. Instale `bubblewrap` e `socat` conforme descrito em [Configurar Linux e WSL2](/docs/pt/sandboxing#set-up-linux-and-wsl2), e `ripgrep` do gerenciador de pacotes da sua distribuição. No macOS você não precisa de pacotes adicionais. O runtime usa o sandbox Seatbelt integrado lá.102No Linux e WSL2, o runtime depende dos mesmos pacotes `bubblewrap` e `socat` que o sandbox integrado usa, mais `ripgrep`, que o Claude Code agrupa, mas o runtime autônomo resolve do seu PATH. Instale `bubblewrap` e `socat` conforme descrito em [Configurar Linux e WSL2](/docs/pt/sandboxing#set-up-linux-and-wsl2), e `ripgrep` do gerenciador de pacotes da sua distribuição. No macOS você não precisa de pacotes adicionais. O runtime usa o sandbox Seatbelt integrado lá.

103 103 

104Por padrão, o runtime nega acesso à rede e confina escritas a um pequeno conjunto de caminhos de runtime integrados, portanto configure-o antes de iniciar o Claude Code através dele. Coloque sua configuração em `~/.srt-settings.json`, ou em um arquivo que você passa com `--settings`. O [README](https://github.com/anthropic-experimental/sandbox-runtime) do pacote documenta o esquema de configuração completo.104Por padrão, o runtime nega acesso à rede e confina escritas a um pequeno conjunto de caminhos de runtime integrados, portanto configure-o antes de iniciar o Claude Code através dele. Coloque sua configuração em `~/.srt-settings.json`, ou em um arquivo que você passa com `--settings`. O [README](https://github.com/anthropics/sandbox-runtime) do pacote documenta o esquema de configuração.

105 105 

106Permita acesso de escrita a pelo menos:106Permita acesso de escrita a pelo menos:

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 


165 167 

166Vários serviços gerenciados de sandbox e execução remota podem hospedar o container para você. A mesma lista de verificação se aplica como para qualquer container que você opera: revise o que é montado com permissão de escrita, quais credenciais e tokens são alcançáveis dentro dele, e o que a política de egresso de rede permite.168Vários serviços gerenciados de sandbox e execução remota podem hospedar o container para você. A mesma lista de verificação se aplica como para qualquer container que você opera: revise o que é montado com permissão de escrita, quais credenciais e tokens são alcançáveis dentro dele, e o que a política de egresso de rede permite.

167 169 

168Você pode combinar o sandbox Bash integrado dentro do container para restrições por comando. Containers sem privilégios precisam da configuração nested-sandbox descrita em [Sandboxing troubleshooting](/docs/pt/sandboxing#troubleshooting).170Você pode combinar o sandbox Bash integrado dentro do container para restrições por comando. Containers sem privilégios precisam de `enableWeakerNestedSandbox`, descrito em [O Bubblewrap não inicia dentro de um container](/docs/pt/sandboxing#bubblewrap-fails-to-start-inside-a-container).

169 171 

170<h2 id="virtual-machine">172<h2 id="virtual-machine">

171 Virtual machine173 Virtual machine

sandboxing.md +601 −302

Details

4 4 

5# Configurar a ferramenta Bash em sandbox5# Configurar a ferramenta Bash em sandbox

6 6 

7> Aprenda como a ferramenta Bash em sandbox do Claude Code fornece isolamento de sistema de arquivos e rede para execução de agentes mais segura e autônoma.7> Restrinja os arquivos e hosts de rede que os comandos de shell do Claude Code podem acessar com o sandbox integrado. Ative-o, defina o limite e corrija o que ele quebra.

8 8 

9O sandbox Bash permite que Claude execute a maioria dos comandos shell sem parar para pedir permissão. Em vez de aprovar cada comando, você define quais arquivos e domínios de rede os comandos podem acessar, e o sistema operacional impõe esse limite para cada comando Bash, PowerShell ou Monitor e seus processos filhos.9O sandbox do Bash é um limite que o sistema operacional impõe em torno dos comandos de shell que o Claude executa na sua máquina. Você define quais arquivos e domínios de rede esses comandos podem acessar, e os limites se aplicam aos comandos Bash, PowerShell e Monitor e aos processos que eles iniciam. Como o sistema operacional aplica os limites enquanto um comando é executado, o Claude Code pode [executar comandos em sandbox sem pedir a você](#sandbox-modes) que aprove cada um deles.

10 

11O sandbox abrange apenas comandos de shell. As ferramentas de arquivo do Claude, os servidores MCP e os hooks [são executados fora dele](#what-runs-outside-the-sandbox).

12 

13O sandbox funciona no macOS, Linux e WSL2. No Windows nativo, o Claude Code executa comandos sem sandbox. Para usar o sandbox em uma máquina Windows, execute o Claude Code dentro de uma distribuição WSL2.

10 14 

11<Note>15<Note>

12 Para comparar outras abordagens de isolamento, como dev containers, containers personalizados e máquinas virtuais, consulte [Sandbox environments](/docs/pt/sandbox-environments). Para reduzir prompts de permissão para ferramentas diferentes de Bash, consulte [permission modes](/docs/pt/permission-modes).16 Esta página aborda o sandbox em torno de comandos de shell na sua própria máquina. Outras páginas abordam questões relacionadas:

17 

18 * Para saber como uma sessão na nuvem é isolada, consulte [Segurança e isolamento](/docs/pt/claude-code-on-the-web#security-and-isolation)

19 * Para comparar outras abordagens de isolamento, como dev containers, contêineres personalizados e máquinas virtuais, consulte [Ambientes de sandbox](/docs/pt/sandbox-environments)

20 * Para reduzir os prompts de permissão para ferramentas além do Bash, consulte [modos de permissão](/docs/pt/permission-modes)

13</Note>21</Note>

14 22 

23<h2 id="what-the-sandbox-restricts">

24 O que o sandbox restringe

25</h2>

26 

27Enquanto o sandbox está ativado, os comandos de shell que o Claude executa começam dentro do seu limite, assim como os processos que eles iniciam. O sandbox fica desativado por padrão. Para ativá-lo, execute `/sandbox` em uma sessão, como mostra [Começar](#get-started), ou defina [`sandbox.enabled`](/docs/pt/settings-reference#sandbox-enabled) como `true` em um [arquivo de configurações](/docs/pt/settings) como `~/.claude/settings.json`.

28 

29A tabela mostra o que um comando em sandbox pode acessar por padrão e as configurações que alteram cada padrão.

30 

31| Acesso | Padrão | Altere com |

32| :- | :- | :- |

33| Escritas | O diretório de trabalho, um diretório temporário por usuário e [diretórios que você adicionou](/docs/pt/permissions#additional-directories-grant-file-access-not-configuration). [Caminhos protegidos](#protected-paths) permanecem com escrita negada | [`filesystem.allowWrite`](/docs/pt/settings-reference#sandbox-filesystem-allowwrite), [`filesystem.denyWrite`](/docs/pt/settings-reference#sandbox-filesystem-denywrite) |

34| Leituras | A maior parte da máquina, incluindo arquivos de credenciais como `~/.ssh` e `~/.aws/credentials` | [`filesystem.denyRead`](/docs/pt/settings-reference#sandbox-filesystem-denyread), [`credentials`](#protect-credentials) |

35| Rede | Nenhuma rota direta para fora. As conexões passam por um proxy na sua máquina que verifica cada host em relação aos seus domínios permitidos, que começam vazios. Seu modo de permissão decide [o que acontece com outros hosts](#hosts-outside-your-allowed-domains) | [`network.allowedDomains`](/docs/pt/settings-reference#sandbox-network-alloweddomains), [`network.deniedDomains`](/docs/pt/settings-reference#sandbox-network-denieddomains) |

36| Variáveis de ambiente | Herdadas do Claude Code, incluindo quaisquer segredos em seu ambiente | [`credentials`](#protect-credentials), [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/docs/pt/env-vars) |

37 

38O Claude Code constrói o sandbox sobre o pacote de código aberto [`@anthropic-ai/sandbox-runtime`](https://github.com/anthropics/sandbox-runtime).

39 

40<h3 id="what-runs-outside-the-sandbox">

41 O que é executado fora do sandbox

42</h3>

43 

44O sandbox envolve comandos de shell. Estas ferramentas e processos são executados fora dele:

45 

46* **Ferramentas integradas de arquivos e web**: ferramentas como Read, Edit, Write, WebFetch e WebSearch seguem [regras de permissão](/docs/pt/permissions) em vez disso. Uma entrada `denyRead` não impede a ferramenta Read, e `allowedDomains` não limita a WebFetch

47* **Outros processos que o Claude Code inicia**: [hooks](/docs/pt/hooks) de comando, [servidores MCP](/docs/pt/mcp) locais, [monitores de plugins](/docs/pt/plugins/components#monitors), [servidores LSP](/docs/pt/tools-reference#lsp-tool-behavior) e comandos auxiliares como o comando da sua [linha de status](/docs/pt/statusline) e `apiKeyHelper` são executados com seu acesso completo

48 

49Alguns comandos de shell também são executados fora do sandbox, dependendo das suas configurações:

50 

51* **Comandos que você mesmo digita**: um comando que você insere no [prompt do modo shell `!`](/docs/pt/interactive-mode#shell-mode-with-prefix) é executado fora do sandbox na maioria das sessões. O [modo sandbox estrito](#turn-off-the-retry-with-strict-sandbox-mode) lista as sessões em que um comando que você digita é executado em sandbox

52* **Comandos excluídos**: comandos que correspondem a [`excludedCommands`](#run-commands-outside-the-sandbox-with-excludedcommands) são executados fora do sandbox

53* **Novas tentativas fora do sandbox**: o Claude pode [pedir para executar um comando fora do sandbox](#the-unsandboxed-retry-escape-hatch), geralmente depois que ele falha no sandbox

54 

55Para colocar as ferramentas, processos e comandos desta seção atrás de um único limite, execute o próprio processo do Claude Code em um [contêiner, máquina virtual ou no sandbox runtime](/docs/pt/sandbox-environments).

56 

15<h2 id="get-started">57<h2 id="get-started">

16 Comece agora58 Primeiros passos

17</h2>59</h2>

18 60 

19O sandbox é integrado ao Claude Code e é executado em macOS, Linux e WSL2. Windows nativo não é suportado. No Windows, execute Claude Code dentro de uma distribuição WSL2.61O sandbox é integrado ao Claude Code. O que você instala depende da sua plataforma:

20 62 

21No macOS, não há nada para instalar: o sandboxing usa o framework Seatbelt integrado. No Linux e WSL2, o sandbox depende de dois pacotes, abordados em [Set up Linux and WSL2](#set-up-linux-and-wsl2). Mesmo que você ainda não os tenha instalado, você pode começar com `/sandbox`, porque seu painel mostra se algo está faltando.63* **macOS**: o sandboxing usa o framework Seatbelt integrado, então você pode ir direto para os passos

64* **Linux e WSL2**: o sandbox depende de `bubblewrap` e `socat`, abordados em [Configurar Linux e WSL2](#set-up-linux-and-wsl2). Mesmo que você ainda não os tenha instalado, pode começar com `/sandbox`, porque o painel mostra se algo está faltando

22 65 

23<Steps>66<Steps>

24 <Step title="Run /sandbox">67 <Step title="Execute /sandbox">

25 Inicie uma sessão do Claude Code e execute o comando `/sandbox`:68 Inicie uma sessão do Claude Code e execute o comando `/sandbox`:

26 69 

27 ```text theme={null}70 ```text theme={null}

28 /sandbox71 /sandbox

29 ```72 ```

30 73 

31 Isso abre o painel de sandbox com três abas, mais uma aba Dependencies no Linux quando o filtro seccomp opcional está faltando:74 Isso abre o painel do sandbox com três abas, além de uma aba Dependencies no Linux quando o filtro seccomp opcional está ausente:

32 75 

33 * **Mode**: escolha como os comandos em sandbox são aprovados, abordado na próxima etapa76 * **Mode**: escolha como os comandos em sandbox são aprovados, abordado no próximo passo

34 * **Overrides**: escolha se os comandos que falham sob o sandbox podem voltar a ser executados sem sandbox. Esta é a configuração [`allowUnsandboxedCommands`](/docs/pt/settings-reference#sandbox-allowunsandboxedcommands)77 * **Overrides**: escolha se os comandos que falham no sandbox podem recorrer à execução fora do sandbox. Esta é a configuração [`allowUnsandboxedCommands`](/docs/pt/settings-reference#sandbox-allowunsandboxedcommands)

35 * **Config**: visualize as configurações de sandbox resolvidas78 * **Config**: visualize as configurações resolvidas do sandbox

36 79 

37 Se o painel mostrar apenas uma aba Dependencies, um pacote necessário está faltando. Instale-o conforme descrito em [Set up Linux and WSL2](#set-up-linux-and-wsl2), reinicie Claude Code e execute `/sandbox` novamente.80 Se o painel mostrar apenas uma aba Dependencies, um pacote obrigatório está faltando. Instale-o conforme descrito em [Configurar Linux e WSL2](#set-up-linux-and-wsl2), reinicie o Claude Code e execute `/sandbox` novamente.

38 </Step>81 </Step>

39 82 

40 <Step title="Choose a mode">83 <Step title="Escolha um modo">

41 Na aba Mode, selecione auto-allow ou regular permissions. Auto-allow executa comandos em sandbox sem avisar, e regular permissions mantém os prompts de permissão regulares mesmo quando os comandos estão em sandbox. Consulte [Sandbox modes](#sandbox-modes) para saber quais comandos ainda solicitam no modo auto-allow.84 Na aba Mode, selecione auto-allow ou permissões regulares. O auto-allow executa comandos em sandbox sem solicitar confirmação, e as permissões regulares mantêm os prompts de permissão regulares mesmo quando os comandos estão em sandbox. Consulte [Modos do sandbox](#sandbox-modes) para saber quais comandos ainda solicitam confirmação no modo auto-allow.

42 </Step>85 </Step>

43 86 

44 <Step title="Run a Bash command">87 <Step title="Execute um comando Bash">

45 Peça ao Claude para executar um comando, como uma compilação ou um conjunto de testes. Por padrão, os comandos dentro do sandbox podem escrever no diretório de trabalho, em um [diretório temporário por usuário](/docs/pt/env-vars) e em qualquer [diretório que você tenha adicionado](/docs/pt/permissions#additional-directories-grant-file-access-not-configuration) com `--add-dir`, `/add-dir` ou `permissions.additionalDirectories`.88 Peça ao Claude para executar um comando, como um build ou uma suíte de testes. Por padrão, os comandos dentro do sandbox podem gravar no diretório de trabalho, em um [diretório temporário por usuário](/docs/pt/env-vars) e em quaisquer [diretórios que você adicionou](/docs/pt/permissions#additional-directories-grant-file-access-not-configuration) com `--add-dir`, `/add-dir` ou `permissions.additionalDirectories`.

46 89 

47 Na primeira vez que um comando precisa de um novo domínio de rede, Claude Code solicita aprovação; em [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode), Claude em vez disso nomeia os hosts que um comando precisa [no próprio comando](#per-command-allowed-domains-in-auto-mode) para o classificador revisar com ele.90 Na primeira vez que um comando precisa de um novo domínio de rede, o Claude Code solicita aprovação; no [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode), o Claude, em vez disso, nomeia os hosts de que um comando precisa [no próprio comando](#per-command-allowed-domains-in-auto-mode) para que o classificador os revise junto com ele.

48 91 

49 Comandos que não podem ser executados em sandbox voltam ao fluxo de permissão regular. Claude Code intitula seu prompt de permissão como "Bash command (unsandboxed)" em vez de "Bash command", para que você possa saber quais comandos foram executados fora do sandbox. Para ampliar ou estreitar o que o sandbox permite, consulte [Configure sandboxing](#configure-sandboxing).92 Para ampliar ou restringir o que o sandbox permite, consulte [Configurar o sandboxing](#configure-sandboxing).

50 93 

51 Se comandos em sandbox falharem com `Operation not permitted` dentro de um container, consulte a entrada Bubblewrap em [Troubleshooting](#troubleshooting).94 Se os comandos em sandbox falharem com `Operation not permitted` dentro de um contêiner, consulte [O Bubblewrap não consegue iniciar dentro de um contêiner](#bubblewrap-fails-to-start-inside-a-container).

52 </Step>95 </Step>

53</Steps>96</Steps>

54 97 

55Quando você seleciona um modo no painel, Claude Code o salva nas configurações locais do seu projeto em `.claude/settings.local.json`, que se aplicam ao projeto atual. Claude Code adiciona esse arquivo ao seu gitignore global quando salva uma configuração lá. Para habilitar o sandbox em todos os seus projetos, defina [`sandbox.enabled`](/docs/pt/settings-reference#sandbox-enabled) como `true` em suas configurações de usuário em `~/.claude/settings.json`. Para impor sandboxing para cada desenvolvedor em uma organização, use [managed settings](#enforce-sandboxing-with-managed-settings).98Quando você seleciona um modo no painel, o Claude Code o salva nas configurações locais do seu projeto em `.claude/settings.local.json`, que se aplicam ao projeto atual. O Claude Code adiciona esse arquivo ao seu gitignore global quando salva uma configuração nele. Para ativar o sandbox em todos os seus projetos, defina [`sandbox.enabled`](/docs/pt/settings-reference#sandbox-enabled) como `true` nas suas configurações de usuário em `~/.claude/settings.json`. Para impor o sandboxing a todos os desenvolvedores de uma organização, use [configurações gerenciadas](#enforce-sandboxing-with-managed-settings).

56 99 

57Para alterar o sandbox para uma sessão sem escrever em um arquivo de configurações, inicie Claude Code com [`--settings`](/docs/pt/settings#change-a-setting-for-one-session). Por exemplo, este comando inicia uma sessão em sandbox na qual Claude não pode tentar novamente um comando bloqueado fora do sandbox:100Para alterar o sandbox em uma sessão sem gravar em um arquivo de configurações, inicie o Claude Code com [`--settings`](/docs/pt/settings#change-a-setting-for-one-session). Por exemplo, este comando inicia uma sessão em sandbox na qual o Claude não pode tentar novamente um comando bloqueado fora do sandbox:

58 101 

59```bash theme={null}102```bash theme={null}

60claude --settings '{"sandbox": {"enabled": true, "allowUnsandboxedCommands": false}}'103claude --settings '{"sandbox": {"enabled": true, "allowUnsandboxedCommands": false}}'

61```104```

62 105 

63<Warning>106<Warning>

64 Por padrão, se o sandbox não conseguir iniciar porque as dependências estão faltando ou a plataforma não é suportada, Claude Code mostra um aviso e executa comandos sem sandboxing. Para tornar isso uma falha difícil em vez disso, defina [`sandbox.failIfUnavailable`](/docs/pt/settings-reference#sandbox-failifunavailable) como `true`. Isso é destinado a implantações gerenciadas que exigem sandboxing como um portão de segurança.107 Por padrão, se o sandbox não puder ser iniciado porque uma dependência está ausente ou a plataforma não é compatível, o Claude Code executa os comandos sem sandboxing. Para fazer o Claude Code encerrar na inicialização em vez disso, defina [`sandbox.failIfUnavailable`](/docs/pt/settings-reference#sandbox-failifunavailable) como `true`. Implantações gerenciadas que exigem sandboxing como barreira de segurança podem usar essa configuração.

65</Warning>108</Warning>

66 109 

110<h3 id="confirm-commands-run-inside-the-sandbox">

111 Confirmar que os comandos são executados dentro do sandbox

112</h3>

113 

114Para verificar se o sandbox está funcionando, peça ao Claude para executar cada linha da tabela. O que você digita no [prompt `!`](#what-runs-outside-the-sandbox) geralmente é executado fora do sandbox, então digitar uma linha você mesmo não o testa.

115 

116| Comando | Resultado dentro do sandbox |

117| :- | :- |

118| `touch ~/sandbox-probe` | Falha com `Operation not permitted` no macOS, ou `Read-only file system` no Linux e WSL2 |

119| `curl --noproxy '*' https://example.com` | Falha com `Could not resolve host`, porque o comando não tem rota para contornar o proxy do sandbox |

120 

121Se o Claude pedir para tentar novamente um comando que falhou fora do sandbox, recuse a nova tentativa. Se `touch` for bem-sucedido e seu diretório pessoal não for um dos diretórios em que o sandbox permite que os comandos gravem, exclua `~/sandbox-probe`. Em seguida, execute `/sandbox` para verificar se o sandbox está ativado e se suas dependências estão instaladas.

122 

67<h3 id="set-up-linux-and-wsl2">123<h3 id="set-up-linux-and-wsl2">

68 Configure o Linux e o WSL2124 Configurar Linux e WSL2

69</h3>125</h3>

70 126 

71No Linux e WSL2, o sandbox depende de dois pacotes:127No Linux e no WSL2, o sandbox depende destes pacotes:

72 128 

73* [`bubblewrap`](https://github.com/containers/bubblewrap): a ferramenta de sandboxing sem privilégios que impõe isolamento de sistema de arquivos129* [`bubblewrap`](https://github.com/containers/bubblewrap): a ferramenta de sandboxing sem privilégios que impõe o isolamento do sistema de arquivos

74* [`socat`](http://www.dest-unreach.org/socat/): o relay usado para rotear tráfego de rede através do proxy de sandbox130* [`socat`](http://www.dest-unreach.org/socat/): o relay usado para rotear o tráfego de rede pelo proxy do sandbox

75 131 

76Instale-os com o gerenciador de pacotes da sua distribuição:132Instale-os com o gerenciador de pacotes da sua distribuição:

77 133 


89 </Tab>145 </Tab>

90</Tabs>146</Tabs>

91 147 

92Quando uma dependência está faltando, a aba Dependencies em `/sandbox` lista qual de `ripgrep`, `bubblewrap`, `socat` e o filtro seccomp sua plataforma não possui. Se você não vir a aba após instalar e reiniciar Claude Code, todas as dependências estão presentes.148Quando uma dependência está ausente, a aba Dependencies em `/sandbox` lista quais dentre `ripgrep`, `bubblewrap`, `socat` e o filtro seccomp estão faltando na sua plataforma. Se você não vir a aba após instalar e reiniciar o Claude Code, todas as dependências estão presentes.

93 149 

94Ripgrep é incluído no binário nativo do Claude Code. O filtro seccomp é opcional e adiciona bloqueio de socket de domínio Unix. Instale-o com `npm install -g @anthropic-ai/sandbox-runtime` se estiver faltando.150O ripgrep vem incluído no binário nativo do Claude Code. O filtro seccomp é opcional e adiciona o bloqueio de sockets de domínio Unix. Instale-o com `npm install -g @anthropic-ai/sandbox-runtime` se estiver ausente.

95 151 

96Quando uma dependência necessária está faltando, a aba Dependencies é a única aba mostrada até que você a instale. Quando apenas o filtro seccomp opcional está faltando, a aba Dependencies aparece junto com as outras abas. A verificação de dependência é executada na inicialização, portanto reinicie Claude Code após instalar pacotes para que `/sandbox` os detecte.152Quando uma dependência obrigatória está ausente, a aba Dependencies é a única exibida até que você a instale. Quando apenas o filtro seccomp opcional está ausente, a aba Dependencies aparece junto com as outras abas. A verificação de dependências é executada na inicialização, então reinicie o Claude Code após instalar pacotes para que `/sandbox` os detecte.

97 153 

98<AccordionGroup>154<AccordionGroup>

99 <Accordion title="Ubuntu 24.04 e posterior: permitir que bubblewrap crie namespaces de usuário">155 <Accordion title="Ubuntu 24.04 e posteriores: permitir que o bubblewrap crie user namespaces">

100 No Ubuntu 24.04 e posterior, a política padrão do AppArmor impede que bubblewrap crie os namespaces de usuário que precisa para isolamento.156 No Ubuntu 24.04 e posteriores, a política padrão do AppArmor impede que o bubblewrap crie os user namespaces de que precisa para o isolamento.

101 157 

102 Para verificar se seu ambiente impõe essa restrição, incluindo dentro do WSL2, execute `sysctl kernel.apparmor_restrict_unprivileged_userns`. Se o comando retornar `0`, pule esta etapa. Se imprimir um erro `No such file or directory`, a chave não existe e você pode pular esta etapa. Se retornar `1`, adicione um perfil AppArmor que conceda a `bwrap` essa capacidade:158 Para verificar se o seu ambiente impõe essa restrição, inclusive dentro do WSL2, execute `sysctl kernel.apparmor_restrict_unprivileged_userns`. Se o comando retornar `0`, pule este passo. Se ele exibir um erro `No such file or directory`, a chave não existe e você pode pular este passo. Se retornar `1`, adicione um perfil do AppArmor que conceda essa capacidade ao `bwrap`:

103 159 

104 ```bash theme={null}160 ```bash theme={null}

105 sudo tee /etc/apparmor.d/bwrap > /dev/null <<'EOF'161 sudo tee /etc/apparmor.d/bwrap > /dev/null <<'EOF'


113 EOF169 EOF

114 ```170 ```

115 171 

116 O perfil se aplica apenas a `bwrap` em si, não aos comandos executados dentro do sandbox. Recarregue AppArmor para aplicá-lo:172 O perfil se aplica apenas ao próprio `bwrap`, não aos comandos que ele executa dentro do sandbox. Recarregue o AppArmor para aplicá-lo:

117 173 

118 ```bash theme={null}174 ```bash theme={null}

119 sudo systemctl reload apparmor175 sudo systemctl reload apparmor

120 ```176 ```

121 </Accordion>177 </Accordion>

122 178 

123 <Accordion title="Notas do WSL2">179 <Accordion title="Observações sobre o WSL2">

124 Verifique sua versão do WSL com `wsl -l -v` do PowerShell. Se você vir `Sandboxing requires WSL2`, sua distribuição está executando WSL1. Atualize-a para WSL2 ou execute Claude Code sem sandboxing.180 Verifique sua versão do WSL com `wsl -l -v` no PowerShell. Se você vir `Sandboxing requires WSL2`, sua distribuição está executando o WSL1. Atualize-a para o WSL2 ou execute o Claude Code sem sandboxing.

125 181 

126 No WSL2, WSL entrega um lançamento de um binário do Windows como `cmd.exe`, `powershell.exe` ou qualquer coisa em `/mnt/c/` para o host do Windows através de um socket Unix, portanto, se um comando em sandbox pode ou não lançar um deles depende das configurações de [Unix-socket](/docs/pt/settings-reference#sandbox-network-allowunixsockets) do sandbox: o filtro seccomp opcional tem que ser instalado para bloquear o socket em primeiro lugar. Para permitir esses lançamentos, defina `allowAllUnixSockets`; para mantê-los fora do sandbox completamente, adicione o comando a [`excludedCommands`](/docs/pt/settings-reference#sandbox-excludedcommands).182 No WSL2, o WSL repassa a inicialização de um binário do Windows, como `cmd.exe`, `powershell.exe` ou qualquer coisa em `/mnt/c/`, ao host Windows por meio de um socket Unix, então a possibilidade de um comando em sandbox iniciar um deles segue as [configurações de socket Unix](/docs/pt/settings-reference#sandbox-network-allowunixsockets) do sandbox: o filtro seccomp opcional precisa estar instalado para que o socket seja bloqueado. Para permitir essas inicializações, defina `allowAllUnixSockets`, que abre todos os sockets Unix para os comandos em sandbox.

127 </Accordion>183 </Accordion>

128</AccordionGroup>184</AccordionGroup>

129 185 

130<h3 id="sandbox-modes">186<h3 id="sandbox-modes">

131 Modos de sandbox187 Modos do sandbox

132</h3>188</h3>

133 189 

134Claude Code oferece dois modos de sandbox. Em ambos, o sandbox impõe as mesmas restrições de sistema de arquivos e rede; a diferença é apenas se os comandos em sandbox são aprovados automaticamente ou requerem permissão explícita.190O Claude Code oferece dois modos de sandbox. Em ambos, o sandbox impõe as mesmas restrições de sistema de arquivos e de rede; a diferença está apenas em se os comandos em sandbox são aprovados automaticamente ou exigem permissão explícita.

135 191 

136<h4 id="auto-allow-mode">192<h4 id="auto-allow-mode">

137 Modo auto-allow193 Modo auto-allow

138</h4>194</h4>

139 195 

140Quando um comando pode ser colocado em sandbox, Claude Code o executa dentro do sandbox e o aprova automaticamente, sem pedir sua permissão. Comandos que não podem ser colocados em sandbox, como aqueles que precisam de acesso à rede para hosts não permitidos, voltam ao fluxo de permissão regular, onde Claude Code verifica suas [permission rules](/docs/pt/permissions) e bloqueia qualquer comando que essas regras não permitam, com um prompt no modo Manual.196O Claude Code aprova um comando automaticamente, sem prompt, quando o comando é executado dentro do sandbox. Um comando passa pelo [fluxo de permissão](/docs/pt/permissions) regular quando é executado fora do sandbox porque corresponde a [`excludedCommands`](#run-commands-outside-the-sandbox-with-excludedcommands) ou porque o Claude [o tenta novamente fora do sandbox](#the-unsandboxed-retry-escape-hatch).

197 

198Um comando em sandbox que se conecta a um host que você não permitiu permanece no sandbox. [Hosts fora dos seus domínios permitidos](#hosts-outside-your-allowed-domains) explica quem decide se a conexão é realizada.

141 199 

142Mesmo no modo auto-allow, o seguinte ainda se aplica:200Mesmo no modo auto-allow, o seguinte ainda se aplica:

143 201 

144* [Deny rules](/docs/pt/permissions) explícitas são sempre respeitadas202* [Regras de negação](/docs/pt/permissions) explícitas são sempre respeitadas

145* Comandos `rm` ou `rmdir` que visam um [critical path](/docs/pt/permission-modes#critical-paths) ainda passam pelo fluxo de permissão regular203* Comandos `rm` ou `rmdir` que têm como alvo um [caminho crítico](/docs/pt/permission-modes#critical-paths) ainda passam pelo fluxo de permissão regular

146* [Ask rules](/docs/pt/permissions) com escopo de conteúdo como `Bash(git push *)` ainda forçam um prompt mesmo para comandos em sandbox204* [Regras de solicitação](/docs/pt/permissions) com escopo de conteúdo, como `Bash(git push *)`, ainda forçam um prompt mesmo para comandos em sandbox

147* Uma regra ask `Bash` simples, ou o formulário equivalente `Bash(*)`, é ignorada para comandos executados em sandbox; ainda se aplica a comandos que voltam ao fluxo de permissão regular. Em [plan mode](/docs/pt/permission-modes#analyze-before-you-edit-with-plan-mode), a regra não é ignorada: ela solicita comandos em sandbox também, incluindo os somente leitura. Antes da v2.1.212, a omissão se aplicava no modo plan também205* Uma regra de solicitação `Bash` simples, ou a forma equivalente `Bash(*)`, é ignorada para comandos executados em sandbox; ela ainda se aplica a comandos que recorrem ao fluxo de permissão regular. No [modo de planejamento](/docs/pt/permission-modes#analyze-before-you-edit-with-plan-mode), a regra não é ignorada: ela solicita confirmação também para comandos em sandbox, incluindo os somente leitura

148 206 

149<Info>207<Info>

150 O modo auto-allow funciona independentemente de sua configuração de permission mode, com três exceções: [plan mode](/docs/pt/permission-modes#analyze-before-you-edit-with-plan-mode), um comando auto mode que carrega [per-command allowed domains](#per-command-allowed-domains-in-auto-mode), e [server-side classifier review](/docs/pt/permission-modes#how-the-classifier-evaluates-actions) de comandos em sandbox no modo auto. Mesmo que você não esteja no modo "accept edits", comandos Bash em sandbox são executados automaticamente quando auto-allow está habilitado. Isso significa que comandos Bash que modificam arquivos dentro dos limites do sandbox são executados sem avisar, mesmo no modo Manual, onde as ferramentas de edição de arquivo solicitariam.208 O modo auto-allow funciona independentemente da configuração do seu modo de permissão, com três exceções: o [modo de planejamento](/docs/pt/permission-modes#analyze-before-you-edit-with-plan-mode), um comando do modo auto que traz [domínios permitidos por comando](#per-command-allowed-domains-in-auto-mode) e a [revisão do classificador no lado do servidor](/docs/pt/permission-modes#how-the-classifier-evaluates-actions) de comandos em sandbox no modo auto. Mesmo que você não esteja no modo "accept edits", os comandos Bash em sandbox são executados automaticamente quando o auto-allow está ativado. Isso significa que comandos Bash que modificam arquivos dentro dos limites do sandbox são executados sem solicitar confirmação, mesmo no modo Manual, em que as ferramentas de edição de arquivos solicitariam.

151 209 

152 No modo plan, auto-allow não amplia aprovações; consulte [plan mode](/docs/pt/permission-modes#analyze-before-you-edit-with-plan-mode) para saber como Claude Code bloqueia comandos enquanto você planeja. Antes da v2.1.212, auto-allow executava comandos em sandbox sem um prompt no modo plan também.210 No modo de planejamento, o auto-allow não amplia as aprovações; consulte [modo de planejamento](/docs/pt/permission-modes#analyze-before-you-edit-with-plan-mode) para saber como o Claude Code controla os comandos enquanto você planeja.

153</Info>211</Info>

154 212 

155<h4 id="regular-permissions-mode">213<h4 id="regular-permissions-mode">

156 Modo de permissões regular214 Modo de permissões regulares

157</h4>215</h4>

158 216 

159Todos os comandos Bash passam pelo fluxo de permissão regular, mesmo quando em sandbox. Isso fornece mais controle, mas requer mais aprovações.217Todos os comandos Bash passam pelo fluxo de permissão regular, mesmo quando em sandbox. Isso oferece mais controle, mas exige mais aprovações.

160 218 

161<h4 id="the-unsandboxed-retry-escape-hatch">219<h4 id="the-unsandboxed-retry-escape-hatch">

162 A válvula de escape da nova tentativa fora do sandbox220 A válvula de escape de nova tentativa fora do sandbox

221</h4>

222 

223A nova tentativa fora do sandbox é uma válvula de escape para comandos que falham dentro do sandbox, como ferramentas incompatíveis com ele. Quando o sandbox bloqueia uma conexão de rede, o Claude Code nomeia o host negado no resultado do comando, para que o Claude veja o que foi bloqueado. O Claude analisa a falha e pode tentar novamente o comando com o parâmetro `dangerouslyDisableSandbox`.

224 

225O comando tentado novamente é executado fora do sandbox. Em uma sessão interativa de terminal, quem o aprova depende do seu modo de permissão:

226 

227* **Modo `bypassPermissions`**: a nova tentativa é executada sem prompt

228* **Modo Manual e modo `acceptEdits`**: você recebe um prompt intitulado "Bash command (unsandboxed)"

229* **[Modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode)**: um modelo classificador separado avalia o comando subjacente

230* **Modo `dontAsk`**: o Claude Code nega a nova tentativa

231* **Modo de planejamento**: consulte [como o Claude Code controla os comandos enquanto você planeja](/docs/pt/permission-modes#analyze-before-you-edit-with-plan-mode)

232 

233Estas regras e configurações mudam quem aprova a nova tentativa:

234 

235* **Uma regra de permissão correspondente**: se uma regra de permissão como `Bash(curl *)` corresponder ao comando, ela também aprova a nova tentativa, então o comando é executado fora do sandbox sem prompt

236* **Uma regra de solicitação para o parâmetro**: adicione uma [regra de solicitação](/docs/pt/permissions#match-by-input-parameter) para `Bash(dangerouslyDisableSandbox:true)` para receber um prompt nas novas tentativas do Bash. Você recebe o prompt também no modo auto e no modo `bypassPermissions`, e a regra tem precedência sobre uma regra de permissão correspondente

237* **[`permissions.blockReadsOutsideWorkingDirectories`](/docs/pt/settings-reference#permissions-blockreadsoutsideworkingdirectories)**: [Ações que nenhum modo aprova automaticamente](/docs/pt/permission-modes#actions-no-mode-auto-approves) abrange as novas tentativas que solicitam confirmação enquanto ela está ativada

238 

239<h4 id="turn-off-the-retry-with-strict-sandbox-mode">

240 Desativar a nova tentativa com o modo de sandbox estrito

163</h4>241</h4>

164 242 

165Alguns comandos não podem ser executados dentro do sandbox, como ferramentas que são incompatíveis com ele ou que precisam de um host que você não permitiu. Claude Code relata violações de sandbox no resultado do comando bloqueado, nomeando o caminho ou host que o sandbox negou, para que Claude veja o que o sandbox bloqueou. Em vez de falhar na tarefa ou exigir que você desative o sandboxing, Claude Code inclui um escape hatch: Claude analisa a violação e pode tentar novamente o comando com o parâmetro `dangerouslyDisableSandbox`.243Você pode desativar a nova tentativa fora do sandbox definindo `"allowUnsandboxedCommands": false` nas suas [configurações do sandbox](/docs/pt/settings-reference#sandbox-settings). Com a nova tentativa desativada, o Claude Code ignora o parâmetro `dangerouslyDisableSandbox`. Enquanto o sandbox estiver em execução, os comandos que o Claude executa passam então a ser executados em sandbox, a menos que correspondam a uma entrada de `excludedCommands`. Para impedir que o Claude Code execute comandos fora do sandbox quando o sandbox não puder ser iniciado, defina também [`failIfUnavailable`](/docs/pt/settings-reference#sandbox-failifunavailable). A aba **Overrides** de `/sandbox` mostra essa configuração como **Strict sandbox mode**.

166 244 

167O comando retentado é executado fora do sandbox, portanto passa pelo fluxo de permissão regular. No modo Manual você recebe um prompt de confirmação. Em [auto mode](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode), o classificador avalia o comando subjacente. Enquanto [`permissions.blockReadsOutsideWorkingDirectories`](/docs/pt/settings-reference#permissions-blockreadsoutsideworkingdirectories) está ativado, uma retentativa que precisa de aprovação para ser executada fora do sandbox o solicita em vez disso. Para ser solicitado em cada retentativa sem sandbox mesmo no modo auto, adicione uma [ask rule](/docs/pt/permissions#match-by-input-parameter) para `Bash(dangerouslyDisableSandbox:true)`.245Um `false` nas suas configurações de usuário, em `--settings` ou nas configurações gerenciadas prevalece mesmo quando as configurações de um projeto definem `true`. Um `false` nas suas configurações de usuário não torna o sandbox exigido pelo administrador, então as outras configurações do sandbox de um projeto ainda se aplicam. Antes da v2.1.285, um `true` de um projeto sobrescrevia um `false` nas suas configurações de usuário.

168 246 

169Você pode desabilitar esse escape hatch definindo `"allowUnsandboxedCommands": false` em suas [sandbox settings](/docs/pt/settings-reference#sandbox-settings). Com o escape hatch desabilitado, Claude Code ignora o parâmetro `dangerouslyDisableSandbox`, e cada comando que Claude executa deve ser executado em sandbox a menos que você o tenha listado em `excludedCommands`. A aba **Overrides** do `/sandbox` mostra essa configuração como **Strict sandbox mode**.247Se você ou seu administrador desativarem a nova tentativa nas configurações gerenciadas ou com a flag `--settings`, o sandbox passa a ser exigido pelo administrador. O Claude Code então ignora as configurações nos arquivos de um repositório que afrouxam o sandbox, incluindo as entradas de `excludedCommands`. [Configurações do repositório sob um sandbox exigido pelo administrador](#repository-settings-under-an-admin-required-sandbox) as lista.

170 248 

171O modo strict sandbox se aplica aos comandos que Claude executa. Comandos que você digita você mesmo no prompt [shell-mode com prefixo `!`](/docs/pt/interactive-mode#shell-mode-with-prefix) são executados fora do sandbox a menos que a sessão seja uma destas:249O modo de sandbox estrito se aplica aos comandos que o Claude executa. Os comandos que você mesmo digita no [prompt do modo shell `!`](/docs/pt/interactive-mode#shell-mode-with-prefix) são executados fora do sandbox, a menos que a sessão seja uma destas:

172 250 

173* **Uma [background session](/docs/pt/agent-view)**: o modo strict sandbox cobre comandos shell-mode também251* **Uma [sessão em segundo plano](/docs/pt/agent-view)**: o modo de sandbox estrito também abrange os comandos do modo shell

174* **Uma sessão Linux com [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/docs/pt/env-vars#variables) definido**: cada comando é executado em sandbox, comandos shell-mode incluídos252* **Uma sessão no Linux com [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/docs/pt/env-vars#variables) definida**: todos os comandos são executados em sandbox, incluindo os comandos do modo shell

175 253 

176Antes da v2.1.260, o modo strict sandbox colocava em sandbox comandos shell-mode em cada sessão.254Antes da v2.1.260, o modo de sandbox estrito executava em sandbox os comandos do modo shell em todas as sessões.

177 255 

178<h4 id="temporary-directories">256<h4 id="temporary-directories">

179 Diretórios temporários257 Diretórios temporários

180</h4>258</h4>

181 259 

182O diretório temporário por usuário é gravável dentro do sandbox por padrão, junto com o diretório de trabalho. A menos que você [desabilite isolamento de sistema de arquivos](#disable-filesystem-isolation), Claude Code define `$TMPDIR` para este diretório para comandos em sandbox, portanto ferramentas que escrevem arquivos temporários funcionam sem configuração extra.260Um diretório temporário por usuário é gravável dentro do sandbox por padrão, junto com o diretório de trabalho. A menos que você [desative o isolamento do sistema de arquivos](#disable-filesystem-isolation), o Claude Code define `$TMPDIR` como esse diretório para os comandos em sandbox, para que as ferramentas que gravam arquivos temporários funcionem sem configuração extra.

183 261 

184Comandos não em sandbox herdam o `$TMPDIR` do seu shell quando está definido, portanto enquanto isolamento de sistema de arquivos está ativado, comandos em sandbox e não em sandbox resolvem `$TMPDIR` para diretórios diferentes. Se seu shell deixar `$TMPDIR` indefinido ou vazio, um comando não em sandbox que referencia `$TMPDIR` recebe sua substituição [`CLAUDE_CODE_TMPDIR`](/docs/pt/env-vars) ou o diretório temporário do sistema operacional quando você não definiu uma ou a substituição é um caminho longo, portanto a variável não se expande para uma string vazia. Para passar arquivos temporários entre os dois, escreva-os no diretório de trabalho em vez disso.262Os comandos fora do sandbox herdam o `$TMPDIR` do seu shell quando ele está definido, então, enquanto o isolamento do sistema de arquivos estiver ativado, os comandos em sandbox e fora do sandbox resolvem `$TMPDIR` para diretórios diferentes. Se o seu shell deixar `$TMPDIR` indefinido ou vazio, um comando fora do sandbox que referencia `$TMPDIR` recebe o valor que você definiu em [`CLAUDE_CODE_TMPDIR`](/docs/pt/env-vars) para sobrescrevê-lo, ou o diretório temporário do sistema operacional quando você não definiu um ou quando esse valor é um caminho longo, para que a variável não se expanda para uma string vazia. Para passar arquivos temporários entre os dois, grave-os no diretório de trabalho.

185 263 

186<h2 id="configure-sandboxing">264<h2 id="configure-sandboxing">

187 Configure o sandboxing265 Configurar o sandboxing

188</h2>266</h2>

189 267 

190Personalize o comportamento do sandbox através de seu arquivo `settings.json`. Consulte [Settings](/docs/pt/settings-reference#sandbox-settings) para a referência de configuração completa.268Personalize o comportamento do sandbox por meio do seu arquivo `settings.json`. Consulte [Configurações](/docs/pt/settings-reference#sandbox-settings) para a referência completa de configuração.

191 269 

192Por padrão, comandos em sandbox podem escrever no diretório de trabalho atual, no diretório temporário por usuário e em qualquer [diretório que você tenha adicionado](/docs/pt/permissions#additional-directories-grant-file-access-not-configuration) com `--add-dir`, `/add-dir` ou `permissions.additionalDirectories`. Se comandos de subprocesso como `kubectl`, `terraform` ou `npm` precisarem escrever fora desses diretórios, use `sandbox.filesystem.allowWrite` para conceder acesso a caminhos específicos:270Por padrão, os comandos em sandbox podem gravar no diretório de trabalho atual, no diretório temporário por usuário e em quaisquer [diretórios que você adicionou](/docs/pt/permissions#additional-directories-grant-file-access-not-configuration) com `--add-dir`, `/add-dir` ou `permissions.additionalDirectories`. Se comandos de subprocesso como `kubectl`, `terraform` ou `npm` precisarem gravar fora desses diretórios, use `sandbox.filesystem.allowWrite` para conceder acesso a caminhos específicos:

193 271 

194```json theme={null}272```json theme={null}

195{273{


202}280}

203```281```

204 282 

205Esses caminhos são impostos no nível do SO, portanto todos os comandos executados dentro do sandbox, incluindo seus processos filhos, os respeitam. Esta é a abordagem recomendada quando uma ferramenta precisa de acesso de escrita a um local específico, em vez de excluir a ferramenta do sandbox inteiramente com `excludedCommands`.283Esses caminhos são aplicados no nível do sistema operacional, portanto todos os comandos executados dentro do sandbox, incluindo seus processos filhos, os respeitam. Essa é a abordagem recomendada quando uma ferramenta precisa de acesso de gravação a um local específico, em vez de excluir a ferramenta do sandbox inteiramente com `excludedCommands`.

206 284 

207Quando você define o mesmo array de sistema de arquivos em múltiplos [settings scopes](/docs/pt/settings#settings-precedence), Claude Code mescla-os, combinando caminhos de cada escopo em vez de substituir o array de um escopo pelo de outro.285Quando você define o mesmo array de sistema de arquivos em vários [escopos de configurações](/docs/pt/settings#settings-precedence), o Claude Code os mescla, combinando os caminhos de todos os escopos em vez de substituir o array de um escopo pelo de outro.

208 286 

209Se você excluir uma fonte com [`--setting-sources`](/docs/pt/cli-reference) na CLI ou [`settingSources`](/docs/pt/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources) no Agent SDK, Claude Code ignora suas entradas `sandbox.filesystem`, suas regras de permissão `Edit` e suas regras de negação `Read` ao construir a configuração do sandbox. Requer Claude Code v2.1.246 ou posterior.287Se você excluir uma origem com [`--setting-sources`](/docs/pt/cli-reference) na CLI ou [`settingSources`](/docs/pt/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources) no Agent SDK, o Claude Code ignora suas entradas `sandbox.filesystem`, suas regras de permissão `Edit` e suas regras de negação `Read` ao montar a configuração do sandbox. Requer o Claude Code v2.1.246 ou posterior.

210 288 

211Quando você edita essas listas de sistema de arquivos durante uma sessão, Claude Code [aplica a mudança à sessão em execução](/docs/pt/settings#when-edits-take-effect), portanto o próximo comando em sandbox é executado sob os novos caminhos.289Quando você edita essas listas de sistema de arquivos durante uma sessão, o Claude Code [aplica a alteração à sessão em execução](/docs/pt/settings#when-edits-take-effect), de modo que o próximo comando em sandbox é executado com os novos caminhos.

212 290 

213Prefixos de caminho controlam como os caminhos são resolvidos:291Os caminhos de sistema de arquivos do sandbox usam convenções padrão: `/tmp/build` é absoluto e `~/.kube` é relativo ao seu diretório pessoal. Isso difere das [regras de permissão Read e Edit](/docs/pt/permissions#read-and-edit), que usam `//path` para caminhos absolutos e `/path` para caminhos relativos ao projeto. Para caminhos relativos, barras finais e curingas, consulte [Prefixos de caminho do sandbox](/docs/pt/settings-reference#sandbox-path-prefixes).

214 292 

215| Prefixo | Significado | Exemplo |293Você também pode negar acesso de gravação ou leitura usando `sandbox.filesystem.denyWrite` e `sandbox.filesystem.denyRead`, e voltar a permitir caminhos específicos dentro de uma região negada usando `sandbox.filesystem.allowRead`. Quando regras de leitura se sobrepõem, aplica-se a regra com o caminho mais restrito:

216| :- | :- | :- |

217| `/` | Caminho absoluto da raiz do sistema de arquivos | `/tmp/build` permanece `/tmp/build` |

218| `~/` | Relativo ao diretório home | `~/.kube` torna-se `$HOME/.kube` |

219| `./` ou sem prefixo | Relativo à raiz do projeto para configurações de projeto, ou a `~/.claude` para configurações de usuário | `./output` em `.claude/settings.json` resolve para `<project-root>/output` |

220 

221Esta sintaxe difere das [Read and Edit permission rules](/docs/pt/permissions#read-and-edit), que usam `//path` para absoluto e `/path` para relativo ao projeto. Os caminhos do sistema de arquivos do sandbox usam convenções padrão: `/tmp/build` é absoluto. Para como Claude Code trata uma barra à direita ou um curinga nesses caminhos, consulte [Sandbox path prefixes](/docs/pt/settings-reference#sandbox-path-prefixes).

222 

223Você também pode negar acesso de escrita ou leitura usando `sandbox.filesystem.denyWrite` e `sandbox.filesystem.denyRead`, e permitir novamente caminhos específicos dentro de uma região negada usando `sandbox.filesystem.allowRead`. Quando as regras de leitura se sobrepõem, o caminho mais específico vence:

224 294 

225| Regras de exemplo | Resultado |295| Regras de exemplo | Resultado |

226| :- | :- |296| :- | :- |

227| `"denyRead": ["~/"]` com `"allowRead": ["~/projects"]` | `~/projects` é legível e o resto do diretório home permanece bloqueado. O allow mais estreito reabre essa parte da região negada |297| `"denyRead": ["~/"]` com `"allowRead": ["~/projects"]` | `~/projects` pode ser lido e o restante do diretório pessoal permanece bloqueado. A permissão mais restrita reabre essa parte da região negada |

228| `"allowRead": ["~/"]` com `"denyRead": ["~/.env"]` | `~/.env` permanece bloqueado e o resto do diretório home é legível. O deny se mantém dentro de um allow mais amplo, portanto um allow amplo não pode reexpor silenciosamente um segredo |298| `"allowRead": ["~/"]` com `"denyRead": ["~/.env"]` | `~/.env` permanece bloqueado e o restante do diretório pessoal pode ser lido. A negação se mantém dentro de uma permissão mais ampla, de modo que uma permissão ampla não pode reexpor silenciosamente um segredo |

229| `"allowRead": ["~/"]` com `"denyRead": ["~/**/.env"]` | Cada `.env` sob o diretório home permanece bloqueado e o resto é legível. Um [wildcard deny](/docs/pt/settings-reference#sandbox-path-prefixes) se mantém dentro de um allow mais amplo da mesma forma que um caminho exato |299| `"allowRead": ["~/"]` com `"denyRead": ["~/**/.env"]` | Todo `.env` sob o diretório pessoal permanece bloqueado e o restante pode ser lido. Uma [negação com curinga](/docs/pt/settings-reference#sandbox-path-prefixes) se mantém dentro de uma permissão mais ampla da mesma forma que um caminho exato |

230 300 

231O exemplo abaixo bloqueia a leitura de todo o diretório home enquanto ainda permite leituras do projeto atual. Coloque-o no `.claude/settings.json` do seu projeto, porque o caminho relativo `.` resolve para a raiz do projeto apenas quando a configuração reside em configurações de projeto:301O exemplo abaixo bloqueia a leitura de todo o diretório pessoal, mas ainda permite leituras do projeto atual. Coloque-o no `.claude/settings.json` do seu projeto, pois o caminho relativo `.` é resolvido para a raiz do projeto somente quando a configuração está nas configurações de projeto:

232 302 

233```json theme={null}303```json theme={null}

234{304{


242}312}

243```313```

244 314 

245Se você colocasse a mesma configuração em `~/.claude/settings.json`, `.` resolveria para `~/.claude` em vez disso, e arquivos do projeto permaneceriam bloqueados pela regra `denyRead`.315Se você colocasse a mesma configuração em `~/.claude/settings.json`, `.` seria resolvido para `~/.claude`, e os arquivos do projeto permaneceriam bloqueados pela regra `denyRead`.

316 

317Para negar aos comandos em sandbox acesso de leitura a diretórios pessoais e volumes montados, mantendo os diretórios de trabalho legíveis, defina [`permissions.blockReadsOutsideWorkingDirectories`](/docs/pt/settings-reference#permissions-blockreadsoutsideworkingdirectories) em vez de escrever regras de caminho.

318 

319<h3 id="run-commands-outside-the-sandbox-with-excludedcommands">

320 Executar comandos fora do sandbox com `excludedCommands`

321</h3>

322 

323Liste um padrão de comando em [`sandbox.excludedCommands`](/docs/pt/settings-reference#sandbox-excludedcommands) para executar os comandos correspondentes fora do sandbox, o que significa sem restrições de sistema de arquivos e sem proxy de rede. Use-o para uma ferramenta que não funciona dentro do sandbox e à qual você confia seu acesso completo. Uma ferramenta que precisa de mais um diretório ou mais um host pode funcionar com `allowWrite` ou `allowedDomains`, que mantêm o comando no sandbox.

324 

325Este exemplo tira comandos `docker compose` do sandbox. Salve-o em `~/.claude/settings.json` para aplicá-lo a todos os seus projetos:

326 

327```json theme={null}

328{

329 "sandbox": {

330 "enabled": true,

331 "excludedCommands": ["docker compose *"]

332 }

333}

334```

335 

336O Claude Code verifica suas entradas em cada chamada de Bash e Monitor. Uma chamada é a linha de comando inteira que o Claude envia, que pode encadear vários comandos. As regras a seguir decidem se uma chamada sai do sandbox:

337 

338* **Termine o padrão com ` *`**: as entradas usam a mesma sintaxe de uma [regra de permissão](/docs/pt/permissions#permission-rule-syntax) `Bash(...)`, em que um padrão sem curinga é uma correspondência exata. `docker` corresponde apenas a `docker` sem argumentos. `docker *` corresponde a `docker` com ou sem argumentos

339* **Todo comando na chamada precisa corresponder**: `npm ci && docker compose build` permanece no sandbox, a menos que outra entrada cubra `npm ci`

340* **O Claude Code compara o texto da chamada**: um script ou alvo do `make` que chama `docker` internamente não corresponde, nem `/usr/local/bin/docker`

341* **Algumas chamadas permanecem no sandbox**: um redirecionamento para um arquivo, um `cd` ou uma substituição de comando como `$(...)` mantém a chamada inteira no sandbox. A [entrada de referência](/docs/pt/settings-reference#sandbox-excludedcommands) lista mais chamadas que permanecem no sandbox

342* **O local onde você salva a entrada pode importar**: enquanto o sandbox é [exigido pelo administrador](#repository-settings-under-an-admin-required-sandbox), o Claude Code ignora entradas em `.claude/settings.json` e `.claude/settings.local.json`

343 

344Um comando excluído passa pelo fluxo normal de permissões:

246 345 

247Para negar aos comandos em sandbox acesso de leitura a diretórios home e volumes montados enquanto mantém os diretórios de trabalho legíveis, defina [`permissions.blockReadsOutsideWorkingDirectories`](/docs/pt/settings-reference#permissions-blockreadsoutsideworkingdirectories) em vez de escrever regras de caminho.346* [Comandos somente leitura](/docs/pt/permissions#read-only-commands) e comandos cobertos pelas suas regras de permissão são executados sem prompt

347* No modo auto, o classificador revisa os demais comandos excluídos

348* No modo `bypassPermissions`, um comando excluído é executado sem prompt, a menos que uma regra ask corresponda a ele

349 

350Para confirmar que uma entrada corresponde, mude para o modo Manual e peça ao Claude para executar um comando correspondente que altere algo, como `docker compose up -d`. O prompt de permissão tem o título "Bash command (unsandboxed)".

351 

352<Warning>

353 Um comando excluído é executado com seu acesso completo. Uma entrada ampla como `docker *` cobre tudo o que essa ferramenta pode fazer. Se você escrever um padrão que cubra um interpretador, um script dentro do seu diretório de trabalho ou uma ferramenta que atue sobre um arquivo ali, como `docker compose` faz com seu arquivo compose, o Claude pode gravar esse arquivo e depois executá-lo fora do sandbox. Um padrão mais restrito deixa menos coisas que o Claude pode executar fora do sandbox.

354</Warning>

248 355 

249<h3 id="disable-filesystem-isolation">356<h3 id="disable-filesystem-isolation">

250 Desative o isolamento do sistema de arquivos357 Desativar o isolamento do sistema de arquivos

251</h3>358</h3>

252 359 

253Defina `sandbox.filesystem.disabled` como `true` para pular o isolamento do sistema de arquivos enquanto mantém o isolamento de rede. O exemplo abaixo desativa o isolamento do sistema de arquivos enquanto mantém uma lista de permissão de domínios de rede:360Defina `sandbox.filesystem.disabled` como `true` para ignorar o isolamento do sistema de arquivos, mantendo o isolamento de rede. O exemplo abaixo desativa o isolamento do sistema de arquivos, mantendo uma allowlist de domínios de rede:

254 361 

255```json theme={null}362```json theme={null}

256{363{


266}373}

267```374```

268 375 

269O sandbox tem duas camadas independentes: [filesystem isolation](#filesystem-isolation) controla quais caminhos os comandos em sandbox podem ler e escrever, e [network isolation](#network-isolation) controla quais domínios eles podem alcançar. Com a camada de sistema de arquivos desativada, comandos em sandbox obtêm acesso irrestrito de leitura e escrita ao sistema de arquivos do host, enquanto sua saída de rede permanece confinada aos seus domínios permitidos. Desative a camada quando você fizer sandbox para controlar onde os comandos se conectam em vez do que eles escrevem.376O sandbox tem duas camadas independentes: o [isolamento do sistema de arquivos](#filesystem-isolation) controla quais caminhos os comandos em sandbox podem ler e gravar, e o [isolamento de rede](#network-isolation) controla quais domínios eles podem alcançar. Com a camada de sistema de arquivos desativada, os comandos em sandbox obtêm acesso irrestrito de leitura e gravação ao sistema de arquivos do host, enquanto seu tráfego de saída de rede permanece restrito aos seus domínios permitidos. Desative a camada quando você usa o sandbox para controlar onde os comandos se conectam, e não o que eles gravam.

270 377 

271A configuração está desativada por padrão e se aplica nas plataformas onde o sandbox é executado: macOS, Linux e WSL2. Requer Claude Code v2.1.216 ou posterior.378`sandbox.filesystem.disabled` tem `false` como padrão. Requer o Claude Code v2.1.216 ou posterior.

272 379 

273<Warning>380<Warning>

274 Com o isolamento do sistema de arquivos desativado e comandos auto-permitidos, um comando em sandbox pode escrever arquivos que comandos posteriores executam ou leem, como arquivos de inicialização do shell, executáveis em `$PATH` ou `~/.claude/settings.json`, e usá-los para ampliar seu próprio acesso na próxima execução. Defina `filesystem.disabled` como `true` apenas para cargas de trabalho que você confia não escalarem seu próprio acesso. Bloquear domínios de rede com [`allowManagedDomainsOnly`](#keep-developers-from-widening-the-policy) reduz o risco, mas não o remove, já que esse bloqueio se aplica apenas a comandos executados dentro do sandbox.381 Com o isolamento do sistema de arquivos desativado e os comandos permitidos automaticamente, um comando em sandbox pode gravar arquivos que comandos posteriores executam ou leem, como arquivos de inicialização do shell, executáveis no `$PATH` ou `~/.claude/settings.json`, e usá-los para ampliar seu próprio acesso na próxima execução. Defina `filesystem.disabled` como `true` somente para cargas de trabalho nas quais você confia que não escalarão seu próprio acesso. Bloquear os domínios de rede com [`allowManagedDomainsOnly`](#keep-developers-from-widening-the-policy) reduz o risco, mas não o elimina, pois esse bloqueio se aplica apenas a comandos executados dentro do sandbox.

275</Warning>382</Warning>

276 383 

277<h4 id="which-settings-can-disable-it">384<h4 id="which-settings-can-disable-it">

278 Quais configurações podem desativá-lo385 Quais configurações podem desativá-lo

279</h4>386</h4>

280 387 

281Como desativar o isolamento do sistema de arquivos amplia o que os comandos em sandbox podem fazer, Claude Code honra `filesystem.disabled` apenas dessas fontes de configuração:388Como desativar o isolamento do sistema de arquivos amplia o que os comandos em sandbox podem fazer, o Claude Code respeita `filesystem.disabled` somente a partir destas origens de configurações:

282 389 

283* Configurações de usuário, configurações gerenciadas e o sinalizador CLI `--settings` podem defini-lo. Configurações de projeto em `.claude/settings.json` e `.claude/settings.local.json` não podem, portanto um projeto verificado não pode desativar o isolamento do sistema de arquivos.390* Configurações de usuário, configurações gerenciadas e a flag de CLI `--settings` podem defini-la. Configurações de projeto em `.claude/settings.json` e `.claude/settings.local.json` não podem, de modo que um projeto baixado não pode desativar o isolamento do sistema de arquivos.

284* Quando as configurações gerenciadas configuram `sandbox.filesystem` de qualquer forma, ou listam qualquer entrada `sandbox.credentials.files` com `"mode": "deny"`, apenas as configurações gerenciadas podem definir a chave. Isso mantém as restrições de sistema de arquivos implantadas pelo administrador em vigor; para relaxar tal implantação, defina `"disabled": true` nas configurações gerenciadas.391* Quando as configurações gerenciadas configuram `sandbox.filesystem` de qualquer forma, ou listam qualquer entrada `sandbox.credentials.files` com `"mode": "deny"`, somente as configurações gerenciadas podem definir a chave. Isso mantém em vigor as restrições de sistema de arquivos implantadas pelo administrador; para relaxar tal implantação, defina `"disabled": true` nas configurações gerenciadas.

285* Quando [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/docs/pt/env-vars) está definido, Claude Code ignora `filesystem.disabled` de cada fonte, incluindo configurações gerenciadas, e mantém o isolamento do sistema de arquivos ativado.392* Quando [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/docs/pt/env-vars) está definida, o Claude Code ignora `filesystem.disabled` de todas as origens, incluindo as configurações gerenciadas, e mantém o isolamento do sistema de arquivos ativado.

286 393 

287Se uma entrada `credentials.files` gerenciada fixa `filesystem.disabled`, bloqueando a chave para configurações gerenciadas para que os desenvolvedores não possam desativar o isolamento do sistema de arquivos, depende do `mode` da entrada e do que acontece com a entrada quando o sandbox inicia:394Uma entrada `mask` [válida](/docs/pt/settings-reference#invalid-credential-entries-in-managed-settings) não trava a chave, mesmo quando o Claude Code [recorre ao fallback `deny`](#mask-credential-files) para ela na inicialização. Liste um caminho que não pode ser mascarado, como um diretório de credenciais, como uma entrada `deny` explícita nas configurações gerenciadas, o que trava a chave.

288 

289| Entrada gerenciada | Fixa `filesystem.disabled` | O que protege o arquivo quando o isolamento está desativado |

290| - | - | - |

291| `"mode": "deny"` | Sim | Nada: o bloqueio de leitura faz parte da camada do sistema de arquivos |

292| `"mode": "mask"`, aplicado como uma máscara | Não | A própria mascaragem: a [cópia sentinela e proxy](#mask-credential-files) no Linux e WSL2, as próprias regras de leitura do sandbox no macOS |

293| `"mode": "mask"`, [recuado para `deny`](#mask-credential-files) na configuração | Não | Nada, igual a `deny`. Liste um caminho que não pode ser mascarado, como um diretório, como uma entrada `deny` explícita, que fixa a chave |

294| `"mode": "mask"`, [degradado para `deny` pela validação](/docs/pt/managed-settings#invalid-entries-in-managed-settings) | Sim, como um `deny` explícito | Nada, igual a `deny` |

295 

296Um recuo acontece quando o sandbox inicia, depois que Claude Code já leu as configurações em que a verificação de pino é executada, portanto uma entrada recuada nunca fixa. A validação reescreve uma entrada inválida para `deny` enquanto as configurações carregam, portanto uma entrada degradada fixa como uma que você escreveu como `deny`.

297 395 

298<h4 id="what-changes-when-filesystem-isolation-is-off">396<h4 id="what-changes-when-filesystem-isolation-is-off">

299 O que muda quando o isolamento do sistema de arquivos está desativado397 O que muda quando o isolamento do sistema de arquivos está desativado

300</h4>398</h4>

301 399 

302Definir `filesystem.disabled` remove as proteções que a camada do sistema de arquivos em si aplica. Proteções que outras camadas aplicam continuam se aplicando:400Definir `filesystem.disabled` remove as proteções que a própria camada de sistema de arquivos aplica. As proteções que outras camadas aplicam continuam valendo:

303 401 

304| Proteção | Com isolamento do sistema de arquivos desativado |402| Proteção | Com o isolamento do sistema de arquivos desativado |

305| - | - |403| - | - |

306| `filesystem.denyRead` e [`credentials.files`](#protect-credentials) blocos de leitura `deny` | Não aplicado. A camada do sistema de arquivos aplica ambos |404| Bloqueios de leitura `filesystem.denyRead` e `deny` de [`credentials.files`](#protect-credentials) | Não aplicados. A camada de sistema de arquivos aplica ambos |

307| `credentials.envVars` entradas `deny` e `mask` | Aplicado. A limpeza de variáveis de ambiente é independente da camada do sistema de arquivos |405| Entradas `deny` e `mask` de `credentials.envVars` | Aplicadas. A limpeza de variáveis de ambiente é independente da camada de sistema de arquivos |

308| [`credentials.files` entradas `mask`](#mask-credential-files) aplicadas como máscaras | Aplicado: mascaramento é independente da camada do sistema de arquivos. Uma entrada que [recuou para `deny`](#mask-credential-files) não é aplicada, como qualquer entrada `deny` |406| [Entradas `mask` de `credentials.files`](#mask-credential-files) aplicadas como máscaras | Aplicadas: o mascaramento é independente da camada de sistema de arquivos. Uma entrada que [recorreu ao fallback `deny`](#mask-credential-files) não é aplicada, como qualquer entrada `deny` |

309 407 

310Duas outras coisas mudam:408Duas outras coisas mudam:

311 409 

312* Comandos em sandbox herdam `$TMPDIR` do seu shell em vez do diretório temporário por usuário, porque cada diretório temporário é gravável e Claude Code não redireciona mais comandos para o da sessão.410* Os comandos em sandbox herdam o `$TMPDIR` do seu shell em vez do diretório temporário por usuário, pois todo diretório temporário é gravável e o Claude Code não redireciona mais os comandos para o diretório por usuário.

313 411 

314 No Linux a variável geralmente não está definida no shell pai. A orientação de ferramenta Bash diz a Claude para criar diretórios de rascunho com `mktemp -d` em vez de confiar em `$TMPDIR`.412 No Linux, a variável muitas vezes não está definida no shell pai. A orientação da ferramenta Bash instrui o Claude a criar diretórios de rascunho com `mktemp -d` em vez de depender de `$TMPDIR`.

315* [`autoAllowBashIfSandboxed`](/docs/pt/settings-reference#sandbox-autoallowbashifsandboxed) ainda padrão para `true`, portanto comandos em sandbox continuam executando sem prompts. Defina-o como `false` para solicitar comandos em sandbox.413* [`autoAllowBashIfSandboxed`](/docs/pt/settings-reference#sandbox-autoallowbashifsandboxed) ainda tem `true` como padrão, de modo que os comandos em sandbox continuam sendo executados sem prompts. Defina-o como `false` para solicitar confirmação para comandos em sandbox.

316 414 

317<h3 id="protect-credentials">415<h3 id="protect-credentials">

318 Proteja credenciais416 Proteger credenciais

319</h3>417</h3>

320 418 

321A configuração `sandbox.credentials` declara arquivos de credenciais e variáveis de ambiente a proteger de comandos em sandbox. Cada entrada nomeia um caminho de arquivo ou uma variável de ambiente e um `mode`. O bloco `credentials` dedicado mantém as regras de credenciais agrupadas e separadas das regras gerais do sistema de arquivos.419A configuração `sandbox.credentials` declara arquivos de credenciais e variáveis de ambiente a serem protegidos dos comandos em sandbox. Cada entrada nomeia um caminho de arquivo ou uma variável de ambiente e um `mode`. O bloco dedicado `credentials` mantém as regras de credenciais agrupadas e separadas das regras gerais de sistema de arquivos.

322 420 

323Para entradas com `"mode": "deny"`, caminhos de arquivo são negados para leituras dentro do sandbox, a mesma restrição que `filesystem.denyRead` aplica, e variáveis de ambiente são removidas antes de cada comando em sandbox ser executado. A proteção de arquivo faz parte da camada do sistema de arquivos, portanto não se aplica se você [desativar o isolamento do sistema de arquivos](#disable-filesystem-isolation); a proteção de variável de ambiente ainda se aplica.421Para entradas com `"mode": "deny"`, os caminhos de arquivo têm a leitura negada dentro do sandbox, a mesma restrição que `filesystem.denyRead` aplica, e as variáveis de ambiente são removidas antes da execução de cada comando em sandbox. A proteção de arquivos faz parte da camada de sistema de arquivos, portanto não se aplica se você [desativar o isolamento do sistema de arquivos](#disable-filesystem-isolation); a proteção de variáveis de ambiente continua se aplicando.

324 422 

325O exemplo abaixo bloqueia leituras do arquivo de credenciais AWS e do diretório SSH e remove `GITHUB_TOKEN` e `NPM_TOKEN` do ambiente de comandos em sandbox:423O exemplo abaixo bloqueia a leitura do arquivo de credenciais da AWS e do diretório SSH e remove `GITHUB_TOKEN` e `NPM_TOKEN` do ambiente dos comandos em sandbox:

326 424 

327```json theme={null}425```json theme={null}

328{426{


342}440}

343```441```

344 442 

345Entradas de variáveis de ambiente e entradas de arquivo também aceitam `"mode": "mask"`, descrito em [Mask credentials](#mask-credentials).443Entradas de variáveis de ambiente e entradas de arquivo também aceitam `"mode": "mask"`, descrito em [Mascarar credenciais](#mask-credentials).

346 444 

347Os caminhos de arquivo seguem as mesmas [regras de prefixo](/docs/pt/settings-reference#sandbox-path-prefixes) que as configurações `sandbox.filesystem.*`.445Os caminhos de arquivo seguem as mesmas [regras de prefixo](/docs/pt/settings-reference#sandbox-path-prefixes) das configurações `sandbox.filesystem.*`.

348 446 

349Claude Code mescla as entradas `deny` de cada [settings scope](/docs/pt/settings#settings-precedence) que a sessão carrega. Uma entrada `deny` apenas restringe o acesso, portanto qualquer escopo pode adicionar uma, mas nenhum escopo pode remover uma que outro escopo adicionou.447O Claude Code mescla as entradas `deny` de todos os [escopos de configurações](/docs/pt/settings#settings-precedence) que a sessão carrega. Uma entrada `deny` apenas restringe o acesso, então qualquer escopo pode adicionar uma, mas nenhum escopo pode remover uma que outro escopo adicionou.

350 448 

351Quando você [exclui uma fonte de configuração](#configure-sandboxing):449Quando você [exclui uma origem de configurações](#configure-sandboxing):

352 450 

353* **Configurações de projeto ou local**: Claude Code não aplica nenhuma de suas entradas `credentials`. Requer Claude Code v2.1.246 ou posterior.451* **Configurações de projeto ou locais**: o Claude Code não aplica nenhuma de suas entradas `credentials`. Requer o Claude Code v2.1.246 ou posterior.

354* **Configurações de usuário**: Claude Code ainda aplica as entradas `deny` em `~/.claude/settings.json` e mantém suas entradas `mask` de [arquivo](#mask-credential-files) como restrições, mas descarta suas entradas `mask` de [variável de ambiente](#mask-environment-variables).452* **Configurações de usuário**: o Claude Code ainda aplica as entradas `deny` em `~/.claude/settings.json` e mantém suas [entradas `mask` de arquivo](#mask-credential-files) como restrições que deixam de autorizar o proxy a substituir o valor real, mas descarta suas [entradas `mask` de variáveis de ambiente](#mask-environment-variables).

355 453 

356Não há uma lista de negação de credenciais integrada, portanto apenas os arquivos e variáveis que você listar são restritos.454Não há uma lista de negação de credenciais integrada, então somente os arquivos e variáveis que você listar são restringidos.

357 455 

358`sandbox.credentials` afeta apenas comandos Bash em sandbox. Para remover credenciais de todos os subprocessos independentemente do sandboxing, defina [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/docs/pt/env-vars).456`sandbox.credentials` afeta apenas comandos Bash em sandbox. Para remover credenciais de todos os subprocessos independentemente do sandboxing, defina [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/docs/pt/env-vars).

359 457 

360<h3 id="mask-credentials">458<h3 id="mask-credentials">

361 Mascare credenciais459 Mascarar credenciais

362</h3>460</h3>

363 461 

364Mascaramento vai além de uma entrada `deny` em [Protect credentials](#protect-credentials). Em vez de bloquear uma credencial, Claude Code mostra aos comandos em sandbox um espaço reservado, o sentinela, e o [sandbox proxy](#network-isolation) troca o valor real em solicitações de saída para hosts que você permite. Para arquivos, a substituição é comportamento do Linux e WSL2; [macOS bloqueia o arquivo em vez disso](#mask-credential-files).462Quando você mascara uma credencial, o Claude Code mostra aos comandos em sandbox um valor substituto por sessão chamado sentinela, e o [proxy do sandbox](#network-isolation) substitui o valor real nas requisições de saída para hosts que você permite. Uma entrada `deny` em [Proteger credenciais](#protect-credentials), por sua vez, bloqueia a credencial. Para arquivos no macOS, o Claude Code [bloqueia o arquivo em vez disso](#mask-credential-files), em vez de mascará-lo.

365 463 

366<h4 id="mask-environment-variables">464Mascarar variáveis de ambiente requer o Claude Code v2.1.199 ou posterior. A referência de [`sandbox.credentials`](/docs/pt/settings-reference#sandbox-credentials) lista todos os campos.

367 Mascare variáveis de ambiente

368</h4>

369 465 

370`"mode": "mask"` protege uma credencial mantendo as ferramentas que se autenticam com ela funcionando. `deny` remove a variável inteiramente, o que também quebra ferramentas que precisam dela, como `gh` ou `npm`. Requer Claude Code v2.1.199 ou posterior.466O mascaramento requer o seguinte:

371 467 

372Com `mask`, o comando em sandbox vê um valor sentinela por sessão em vez do real. Cada entrada `mask` pode listar `injectHosts`, os hosts aos quais o valor real é permitido alcançar. Quando uma solicitação sai do sandbox para um deles, o [sandbox proxy](#network-isolation) substitui o sentinela pelo valor real. O comando e tudo que ele registra nunca mantêm a credencial real, mas suas solicitações ainda se autenticam.468* **Terminação TLS**: o proxy substitui o valor real dentro do conteúdo da requisição, então precisa enxergá-lo. Defina [`network.tlsTerminate`](/docs/pt/settings-reference#sandbox-network-tlsterminate) para que o proxy termine o TLS por conta própria. Sem isso, o mascaramento falha sem expor nada: o comando ainda vê apenas o sentinela, mas o sentinela chega ao servidor inalterado e a autenticação falha. O Claude Code relata essa configuração incorreta na inicialização.

469* **Um destino permitido**: cada entrada `mask` pode listar `injectHosts`, os hosts que o valor real tem permissão para alcançar. O proxy injeta apenas em conexões que a [allowlist de domínios](#network-isolation) admite, então cada host de `injectHosts` também precisa estar acessível por meio de `network.allowedDomains`. Para uma entrada `mask` sem `injectHosts`, o proxy substitui o valor real em requisições para todos os hosts em `network.allowedDomains`.

470* **Um escopo de configurações confiável**: o mascaramento autoriza o proxy a enviar sua credencial real para algum lugar, então o Claude Code respeita entradas `mask`, `network.tlsTerminate`, [`credentials.allowPlaintextInject`](/docs/pt/settings-reference#sandbox-credentials-allowplaintextinject), `awsPairs` e `sigv4` somente a partir de configurações de usuário, configurações gerenciadas e da flag `--settings`. Ele os ignora no `.claude/settings.json` ou `.claude/settings.local.json` de um repositório. Quando seu administrador fornece entradas `mask`, `network.tlsTerminate` ou `credentials.allowPlaintextInject` por meio de configurações gerenciadas pelo servidor, elas contam como [configurações que precisam de aprovação](/docs/pt/server-managed-settings#security-approval-dialogs).

373 471 

374O proxy substitui a credencial dentro do conteúdo da solicitação, portanto tem que vê-lo. Defina [`network.tlsTerminate`](/docs/pt/settings-reference#sandbox-network-tlsterminate) para que o proxy termine TLS em si.472<h4 id="mask-environment-variables">

375 473 Mascarar variáveis de ambiente

376Sem isso, o mascaramento falha sem expor nada: o comando ainda vê apenas o sentinela, mas o sentinela chega ao servidor inalterado e a autenticação falha. Claude Code relata essa configuração incorreta na inicialização.474</h4>

377 

378A substituição cobre cabeçalhos e corpos de solicitação. Solicitações que se autenticam com uma assinatura derivada da credencial, em vez da credencial em si, precisam ser re-assinadas no proxy; [Re-sign AWS requests](#re-sign-aws-requests) cobre como isso funciona para AWS.

379 475 

380O proxy injeta apenas em conexões que a [lista de permissão de domínio](#network-isolation) admite, portanto cada destino `injectHosts` também deve ser alcançável através de `network.allowedDomains`.476Para mascarar uma variável de ambiente, defina `"mode": "mask"` em sua entrada `credentials.envVars`. O comando e tudo o que ele registra em log nunca contêm a credencial real, mas suas requisições ainda se autenticam. Quando a mesma variável é listada com `deny` em qualquer escopo, `deny` tem precedência.

381 477 

382O exemplo abaixo mascara dois tokens. `GH_TOKEN` é substituído apenas em solicitações para `api.github.com`, enquanto `NPM_TOKEN` não tem `injectHosts` e é substituído em solicitações para cada host em `network.allowedDomains`.478Este exemplo mascara dois tokens. `GH_TOKEN` é substituído apenas em requisições para `api.github.com`, enquanto `NPM_TOKEN` não tem `injectHosts` e é substituído em requisições para todos os hosts em `network.allowedDomains`:

383 479 

384```json theme={null}480```json theme={null}

385{481{


399}495}

400```496```

401 497 

402<span id="ipv6-destinations-in-injecthosts" />Soletra um destino IPv6 de forma diferente nas duas listas, porque cada lista tem seu próprio matcher:498O mascaramento substitui o valor inteiro por padrão. Para um valor com estrutura, como uma string de conexão `DATABASE_URL` ou um JWT, use os [campos `extract`, `decode`, `maskClaims` e `onExtractNoMatch`](/docs/pt/settings-reference#sandbox-credentials-envvars) para que as ferramentas que analisam o valor continuem funcionando.

403 

404* **`network.allowedDomains`**: a [forma entre colchetes que listas de domínio usam](#ipv6-addresses-in-domain-lists), como `"[::1]"`. O proxy verifica esta lista para admitir a conexão.

405* **`injectHosts`**: o endereço nu em sua forma canônica comprimida, como `"::1"` ou `"2001:db8::1"`. O proxy corresponde cada entrada ao endereço de destino nu da conexão, ignorando portas, portanto uma soletração entre colchetes, com ID de zona ou comprimida de forma diferente nunca corresponde e o proxy nunca injeta a credencial lá.

406 

407`claude doctor` sinaliza entradas `injectHosts` que nunca podem corresponder com o aviso `Sandbox credential injectHosts entries can never match their destination`. Esta verificação requer Claude Code v2.1.229 ou posterior.

408 

409Diferentemente de `deny`, o mascaramento autoriza o proxy a enviar sua credencial real para os hosts listados, portanto Claude Code o honra apenas de configurações que você ou seu administrador controlam: configurações de usuário, configurações gerenciadas e o sinalizador CLI `--settings`. Claude Code ignora entradas `mask` no `.claude/settings.json` ou `.claude/settings.local.json` de um repositório. Nesses arquivos também ignora `network.tlsTerminate` e [`credentials.allowPlaintextInject`](/docs/pt/settings-reference#sandbox-credentials-allowplaintextinject), a configuração que permite ao proxy injetar credenciais em solicitações não criptografadas. Se você [excluir configurações de usuário](#configure-sandboxing), Claude Code descarta as entradas `mask` de variável de ambiente em `~/.claude/settings.json` também.

410 499 

411Quando seu administrador entrega entradas `mask`, `network.tlsTerminate` ou `credentials.allowPlaintextInject` através de configurações gerenciadas pelo servidor, elas contam como [configurações que precisam de aprovação](/docs/pt/server-managed-settings#security-approval-dialogs).500<span id="ipv6-destinations-in-injecthosts" />Para um destino IPv6, escreva o endereço de forma diferente nas duas listas:

412 501 

413Quando a mesma variável é listada com `deny` em qualquer escopo, `deny` tem precedência.502* **`network.allowedDomains`**: a forma entre colchetes, como `"[::1]"`

503* **`injectHosts`**: o endereço puro em sua forma canônica comprimida, como `"::1"`

414 504 

415Mascaramento substitui o valor inteiro da variável por padrão, o que se adequa a um token nu. Campos de entrada opcionais, que requerem Claude Code v2.1.224 ou posterior, lidam com valores com estrutura:505O proxy compara cada entrada de `injectHosts` com o endereço de destino puro da conexão, ignorando portas, então uma grafia entre colchetes, com ID de zona ou comprimida de outra forma nunca corresponde. `claude doctor` sinaliza entradas que nunca podem corresponder com o aviso `Sandbox credential injectHosts entries can never match their destination`. Essa verificação requer o Claude Code v2.1.229 ou posterior.

416 

417* `extract`: uma expressão regular que Claude Code aplica através do valor, substituindo apenas o texto capturado pelo grupo 1 de cada correspondência, portanto uma ferramenta que analisa o valor, como uma string de conexão `DATABASE_URL`, ainda funciona dentro do sandbox. O padrão deve conter pelo menos um grupo de captura.

418* `onExtractNoMatch` controla o que acontece quando o padrão não corresponde a nada:

419 * `warn`, o padrão, avisa e passa a variável através desmascarada

420 * `deny` desativa a variável dentro do sandbox

421 * `error` interrompe a inicialização do sandbox até você corrigir a configuração

422* `decode: "jwt"`: para uma variável contendo um JSON Web Token (JWT). Claude Code verifica se o valor é um JWT e o substitui por um token falso estruturalmente válido, portanto o código dentro do sandbox que decodifica o token continua funcionando. Adicione `maskClaims` para listar reivindicações de carga útil de nível superior para mascarar individualmente em vez de substituir o token inteiro; as outras reivindicações permanecem legíveis. Quando o valor não se verifica como um JWT, ou nenhuma reivindicação listada corresponde, Claude Code passa a variável através desmascarada com um aviso. `decode` não pode ser combinado com `extract`.

423 

424Consulte as [linhas `credentials.envVars[]` na referência de configurações](/docs/pt/settings-reference#sandbox-settings) para a lista de campos completa.

425 506 

426<h4 id="re-sign-aws-requests">507<h4 id="re-sign-aws-requests">

427 Reassine solicitações da AWS508 Reassinar requisições da AWS

428</h4>509</h4>

429 510 

430Solicitações AWS carregam assinaturas SigV4 sobre o conteúdo da solicitação, portanto mascara `AWS_ACCESS_KEY_ID` e `AWS_SECRET_ACCESS_KEY` juntos. O proxy detecta uma solicitação SigV4 pela sentinela da chave de acesso e a re-assina depois de substituir os valores reais. Mascarar apenas o segredo deixa solicitações assinadas com o espaço reservado, que o proxy não pode detectar, portanto falham na AWS; Claude Code avisa sobre este caso na inicialização, mas não quando apenas a ID da chave de acesso é mascarada. Uma solicitação detectada que o proxy não pode re-assinar, como uma faltando seu cabeçalho `x-amz-date`, falha com um erro de proxy em vez de alcançar o servidor com uma assinatura quebrada.511As requisições da AWS carregam assinaturas SigV4 sobre o conteúdo da requisição, então mascare `AWS_ACCESS_KEY_ID` e `AWS_SECRET_ACCESS_KEY` juntos. O proxy detecta uma requisição SigV4 pelo [sentinela](#mask-credentials) da chave de acesso e reassina a requisição com os valores reais, o que requer o Claude Code v2.1.221 ou posterior. Se você mascarar apenas o segredo, as requisições são assinadas com um valor substituto que o proxy não consegue detectar, então elas falham na AWS.

431 

432Claude Code vincula as variáveis convencionais `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` e `AWS_SESSION_TOKEN` em uma credencial automaticamente quando você mascara seus valores inteiros. Se sua credencial AWS reside em variáveis com outros nomes, agrupe-as você mesmo com [`credentials.awsPairs`](/docs/pt/settings-reference#sandbox-credentials-awspairs), que requer Claude Code v2.1.224 ou posterior. Este exemplo adiciona o emparelhamento a uma configuração que já mascara `MY_KEY_ID`, `MY_SECRET_KEY` e `MY_SESSION_TOKEN` inteiros, como na [configuração de mascaramento acima](#mask-environment-variables):

433 

434```json theme={null}

435{

436 "sandbox": {

437 "credentials": {

438 "awsPairs": [

439 {

440 "accessKeyIdVar": "MY_KEY_ID",

441 "secretAccessKeyVar": "MY_SECRET_KEY",

442 "sessionTokenVar": "MY_SESSION_TOKEN"

443 }

444 ]

445 }

446 }

447}

448```

449 

450Cada entrada segue estas regras:

451 

452* `accessKeyIdVar` e `secretAccessKeyVar` nomeiam as entradas `envVars` mascaradas contendo a ID da chave de acesso e a chave secreta. O `sessionTokenVar` opcional nomeia a entrada contendo o token de sessão para credenciais temporárias; quando definido, o proxy envia o token real como `x-amz-security-token` em solicitações re-assinadas.

453* Cada variável nomeada deve ser uma entrada `mask` que mascara seu valor inteiro, sem `extract` ou `decode`.

454* O proxy re-assina solicitações nos hosts listados na entrada `injectHosts` da ID da chave de acesso.

455* Nomear qualquer uma das variáveis convencionais em um par substitui o emparelhamento automático.

456 512 

457Como entradas `mask`, `awsPairs` é honrado apenas de configurações de usuário, configurações gerenciadas e o sinalizador CLI `--settings`.513O Claude Code vincula automaticamente as variáveis convencionais `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` e `AWS_SESSION_TOKEN` em uma única credencial quando você mascara seus valores inteiros. Se sua credencial da AWS estiver em variáveis com outros nomes, agrupe-as com [`credentials.awsPairs`](/docs/pt/settings-reference#sandbox-credentials-awspairs), que requer o Claude Code v2.1.224 ou posterior.

458 514 

459Três formas de solicitação AWS carregam assinaturas que o proxy não pode recomputar. Quando tal solicitação é assinada com um espaço reservado de um par mascarado, o proxy falha em vez de encaminhar uma assinatura quebrada; solicitações assinadas com credenciais desmascaradas nunca são afetadas. A configuração [`credentials.sigv4`](/docs/pt/settings-reference#sandbox-credentials-sigv4), que requer Claude Code v2.1.224 ou posterior, relaxa isto por forma: definir a chave de uma forma como `passthrough` encaminha a solicitação com sua assinatura derivada de espaço reservado, portanto a ferramenta chamadora recebe a própria rejeição da AWS em vez de um erro de proxy. Como `awsPairs`, `sigv4` é honrado apenas de configurações de usuário, configurações gerenciadas e o sinalizador CLI `--settings`.515Uploads por streaming, URLs pré-assinadas e requisições SigV4A carregam assinaturas que o proxy não consegue recalcular. Quando uma dessas requisições é assinada com o valor substituto de um par mascarado, o proxy a faz falhar em vez de encaminhar uma assinatura quebrada. Requisições assinadas com credenciais não mascaradas não são afetadas. Use [`credentials.sigv4`](/docs/pt/settings-reference#sandbox-credentials-sigv4), que requer o Claude Code v2.1.224 ou posterior, para encaminhar uma dessas formas de requisição em vez disso. A AWS ainda rejeita a requisição, então a ferramenta chamadora recebe a própria resposta de rejeição da AWS em vez de um erro de proxy.

460 

461| Forma de solicitação | Chave `sigv4` | Por que o proxy não pode re-assinar |

462| :- | :- | :- |

463| uploads de streaming aws-chunked | `streaming` | Assinaturas por chunk se encadeiam fora da assinatura de semente, portanto re-assinar exigiria reescrever o corpo |

464| URLs pré-assinadas | `presigned` | A assinatura reside na URL em si, sem cabeçalho `Authorization` |

465| Assinaturas assimétricas SigV4A | `sigv4a` | Não há HMAC de chave compartilhada para recomputar |

466 516 

467<h4 id="mask-credential-files">517<h4 id="mask-credential-files">

468 Mascare arquivos de credenciais518 Mascarar arquivos de credenciais

469</h4>519</h4>

470 520 

471Entradas de arquivo também aceitam `"mode": "mask"`, que requer Claude Code v2.1.221 ou posterior. O que um comando em sandbox vê depende da plataforma:521Para mascarar um arquivo de credenciais, defina `"mode": "mask"` em sua entrada `credentials.files`. Mascarar arquivos requer o Claude Code v2.1.221 ou posterior. O que um comando em sandbox vê depende da plataforma:

472 522 

473* **Linux e WSL2**: comandos em sandbox leem uma cópia sentinela do arquivo, um substituto cujo segredo é substituído por um valor de espaço reservado, e o [sandbox proxy](#network-isolation) substitui o valor real na saída.523* **Linux e WSL2**: os comandos em sandbox leem uma cópia [sentinela](#mask-credentials) do arquivo, e o proxy substitui o valor real nas requisições de saída.

474* **macOS**: comandos em sandbox não podem ler o arquivo listado. Claude Code não constrói nenhuma cópia sentinela e não substitui nada na saída, portanto ferramentas que se autenticam com o arquivo não funcionam dentro do sandbox, o mesmo efeito que `deny`. Diferentemente de uma entrada `deny`, o bloqueio de leitura se mantém mesmo quando você [desativa o isolamento do sistema de arquivos](#disable-filesystem-isolation).524* **macOS**: os comandos em sandbox não conseguem ler o arquivo de forma alguma. O Claude Code não cria cópia sentinela, então as ferramentas que se autenticam com o arquivo não funcionam dentro do sandbox, o mesmo efeito de `deny`. O bloqueio de leitura se mantém mesmo quando você [desativa o isolamento do sistema de arquivos](#disable-filesystem-isolation).

475 525 

476Em cada plataforma, Claude Code aplica o requisito [`network.tlsTerminate`](/docs/pt/settings-reference#sandbox-network-tlsterminate) e `injectHosts` da mesma forma que para [variáveis de ambiente mascaradas](#mask-environment-variables), e ignora configurações de repositório da mesma forma. Se você [excluir configurações de usuário](#configure-sandboxing), Claude Code mantém as entradas `mask` de arquivo em `~/.claude/settings.json` como restrições, mas as entradas não autorizam mais o proxy a substituir o valor real.526Este exemplo mascara um token do GitHub armazenado em `~/.config/gh/hosts.yml`. O padrão `extract` marca qual parte do arquivo é o segredo, de modo que, no Linux e no WSL2, o `gh` ainda analisa o restante de sua configuração:

477 

478O exemplo abaixo mascara um token GitHub armazenado em `~/.config/gh/hosts.yml`; o padrão `extract`, coberto abaixo, diz a Claude Code qual parte do arquivo é o segredo. No Linux e WSL2, comandos em sandbox que leem o arquivo obtêm um sentinela no lugar do token, e o proxy substitui o token real em solicitações para `api.github.com`:

479 527 

480```json theme={null}528```json theme={null}

481{529{


499}547}

500```548```

501 549 

502Para confirmar que a máscara está ativa, peça a Claude para executar `cat ~/.config/gh/hosts.yml` em um comando em sandbox: no Linux e WSL2 a saída mostra um valor sentinela no lugar do token, e no macOS a leitura falha em vez disso.550Para confirmar que a máscara está ativa, peça ao Claude para executar `cat ~/.config/gh/hosts.yml` em um comando em sandbox. No Linux e no WSL2, a saída mostra um sentinela no lugar do token, e no macOS a leitura falha.

503 

504No Linux e WSL2, o padrão `extract` é o que mantém o resto de `hosts.yml` legível. Claude Code aplica a expressão regular através de todo o arquivo e substitui apenas o texto capturado pelo grupo 1 de cada correspondência, portanto `gh` ainda analisa sua configuração e apenas o token é um espaço reservado. Use `extract` para qualquer arquivo estruturado que ferramentas analisem, como `.netrc`, JSON ou YAML; o padrão deve conter pelo menos um grupo de captura. Sem `extract`, Claude Code substitui todo o conteúdo do arquivo por um valor sentinela, o que se adequa a um arquivo que contém um único segredo nu e nada mais.

505 

506Para um arquivo que contém um JSON Web Token (JWT), defina `decode: "jwt"` em vez de, ou junto com, `extract`. `decode` requer Claude Code v2.1.224 ou posterior. Claude Code encontra candidatos JWT com um padrão integrado, ou com seu padrão `extract` quando definido, verifica se cada candidato é um JWT e o substitui por um token falso estruturalmente válido, portanto o código que decodifica o token dentro do sandbox continua funcionando. Adicione `maskClaims` para mascarar apenas as reivindicações de carga útil de nível superior nomeadas dentro de cada token verificado e deixar as outras reivindicações legíveis. Quando nenhum candidato se verifica, ou nenhuma reivindicação nomeada corresponde, o campo `onExtractNoMatch` abaixo governa o resultado, como faz para um padrão que não corresponde a nada.

507 

508Dois campos opcionais refinam como a correspondência se comporta. Ambos se aplicam apenas quando `mode` é `mask` e `extract` ou `decode` está definido. No macOS, Claude Code aplica entradas `mask` como `deny` antes do padrão ser executado sempre que o isolamento do sistema de arquivos está ativado, portanto esses campos e os resultados de não correspondência abaixo têm efeito lá apenas quando [o isolamento do sistema de arquivos está desativado](#disable-filesystem-isolation):

509 551 

510* `onExtractNoMatch` controla o que acontece quando a correspondência não encontra nada para mascarar no arquivo:552Sem `extract` ou `decode`, o Claude Code substitui o arquivo inteiro por um único sentinela, o que é adequado para um arquivo que contém um único segredo simples. Use os [campos `extract`, `decode`, `maskClaims`, `onExtractNoMatch` e `maskDuplicates`](/docs/pt/settings-reference#sandbox-credentials-files) para controlar o mascaramento parcial e o que acontece quando o padrão não corresponde a nada.

511 553 

512 * `warn`, o padrão, avisa e pula a entrada, portanto comandos em sandbox podem ler o arquivo real desmascarado. O padrão se adequa a credenciais que podem estar legitimamente ausentes; se o segredo pode estar presente mas o padrão pode perdê-lo, use `deny`554<Warning>

513 * `deny` torna o arquivo ilegível em vez disso555 Quando a correspondência não encontra nada para mascarar, o valor padrão de `onExtractNoMatch`, `warn`, ignora a entrada, de modo que os comandos em sandbox podem ler o arquivo real sem máscara. No macOS, o Claude Code aplica entradas `mask` como `deny` antes de o padrão ser executado sempre que o isolamento do sistema de arquivos está ativado, então os resultados de ausência de correspondência só têm efeito ali quando o [isolamento do sistema de arquivos está desativado](#disable-filesystem-isolation). O padrão é adequado para credenciais que podem estar legitimamente ausentes. Se o segredo puder estar presente, mas o padrão puder não encontrá-lo, use [`deny`](/docs/pt/settings-reference#mask-fields-for-files).

514 * `error` interrompe a inicialização do sandbox até você corrigir a configuração556</Warning>

515 

516 Claude Code trata `deny` como `error` sempre que o bloqueio de leitura não seria aplicado: quando você [desativa o isolamento do sistema de arquivos](#disable-filesystem-isolation), e quando uma entrada `filesystem.allowRead` de qualquer fonte de configuração reabre o caminho do arquivo.

517* `maskDuplicates` também substitui cópias verbatim de cada valor de credencial mascarado, uma captura `extract` ou um token verificado por `decode`, encontrado fora dos intervalos correspondidos, para um segredo repetido onde a correspondência não alcança. Ele corresponde substrings brutas, portanto um valor curto ou comum seria substituído em todos os lugares que aparece; reserve-o para segredos longos e de alta entropia. Padrão: false.

518 557 

519`mask` se aplica a um único arquivo, portanto liste cada arquivo de credencial individualmente. Claude Code recua para `deny` para uma entrada `mask` que não pode mascarar com segurança: um caminho de diretório, um padrão glob, um arquivo maior que 8 MiB ou um arquivo que não é texto UTF-8. Escreva diretórios como entradas `deny` explícitas em vez disso; a tabela em [Which settings can disable it](#which-settings-can-disable-it) cobre se cada forma fixa `filesystem.disabled` e como se comporta com o isolamento do sistema de arquivos desativado.558`mask` se aplica a um único arquivo, então liste cada arquivo de credenciais individualmente. O Claude Code recorre a `deny` como fallback para uma entrada `mask` que não consegue mascarar com segurança: um caminho de diretório, um padrão glob, um arquivo maior que 8 MiB ou um arquivo que não é texto UTF-8.

520 559 

521<h2 id="how-sandboxing-works">560<h2 id="how-sandboxing-works">

522 Como o sandboxing funciona561 Como o sandboxing funciona


528 567 

529A ferramenta Bash em sandbox restringe o acesso ao sistema de arquivos a diretórios específicos:568A ferramenta Bash em sandbox restringe o acesso ao sistema de arquivos a diretórios específicos:

530 569 

531* **Comportamento padrão de escrita**: acesso de leitura e escrita ao diretório de trabalho atual e seus subdiretórios, quaisquer diretórios que você adicionou com `--add-dir`, `/add-dir`, ou [`permissions.additionalDirectories`](/docs/pt/settings-reference#permissions-additionaldirectories), além do diretório temporário da sessão para o qual `$TMPDIR` aponta570* **Comportamento padrão de escrita**: acesso de leitura e escrita ao diretório de trabalho atual e seus subdiretórios, a quaisquer diretórios que você tenha adicionado com `--add-dir`, `/add-dir` ou [`permissions.additionalDirectories`](/docs/pt/settings-reference#permissions-additionaldirectories), além do diretório temporário por usuário para o qual `$TMPDIR` aponta

532* **Comportamento padrão de leitura**: acesso de leitura a todo o computador, exceto certos diretórios negados. Observe que esse padrão ainda permite ler arquivos de credenciais como `~/.aws/credentials` e `~/.ssh/`. Use [`sandbox.credentials`](#protect-credentials) para bloquear leituras desses arquivos e desconfigurar variáveis de ambiente secretas, ou adicione os caminhos a `denyRead`.571* **Comportamento padrão de leitura**: acesso de leitura a todo o computador, exceto a certos diretórios negados. Esse padrão ainda permite a leitura de arquivos de credenciais, então [proteja as credenciais](#protect-credentials) que você não quer que os comandos leiam.

533* **Bloqueio de leitura**: com [`permissions.blockReadsOutsideWorkingDirectories`](/docs/pt/settings-reference#permissions-blockreadsoutsideworkingdirectories) ativado, comandos em sandbox também perdem acesso de leitura ao seu diretório inicial e aos outros diretórios que contêm arquivos do usuário, exceto pelos caminhos que [Comandos em sandbox sob o bloqueio](/docs/pt/settings-reference#sandboxed-commands-under-the-block) lista. Essa seção também diz quando essa parte do bloqueio não se aplica.572* **Bloqueio de leitura**: com [`permissions.blockReadsOutsideWorkingDirectories`](/docs/pt/settings-reference#permissions-blockreadsoutsideworkingdirectories) ativado, os comandos em sandbox também perdem o acesso de leitura ao seu diretório pessoal e aos outros diretórios que contêm arquivos do usuário, exceto os caminhos listados em [Comandos em sandbox sob o bloqueio](/docs/pt/settings-reference#sandboxed-commands-under-the-block). Essa seção também informa quando essa parte do bloqueio não se aplica.

534* **Acesso bloqueado**: não é possível modificar arquivos fora do diretório de trabalho, diretórios adicionados e diretório temporário da sessão sem permissão explícita, incluindo arquivos de configuração de shell como `~/.bashrc` e binários do sistema em `/bin/`573* **Git worktrees**: quando o diretório de trabalho é um [worktree git vinculado](/docs/pt/worktrees), o sandbox também permite escritas no diretório `.git` compartilhado do repositório principal, para que comandos como `git commit` possam atualizar refs e o índice. Escritas em `hooks/` e `config` dentro desse diretório continuam negadas.

535* **Git worktrees**: quando o diretório de trabalho é um [git worktree vinculado](/docs/pt/worktrees), o sandbox também permite escritas no diretório `.git` compartilhado do repositório principal para que comandos como `git commit` possam atualizar refs e o índice. As escritas em `hooks/` e `config` dentro desse diretório permanecem negadas.

536* **Configurável**: defina caminhos permitidos e negados personalizados através de configurações

537 574 

538Para ignorar o isolamento do sistema de arquivos inteiramente mantendo o isolamento de rede, defina [`sandbox.filesystem.disabled`](#disable-filesystem-isolation).575Para ignorar completamente o isolamento do sistema de arquivos mantendo o isolamento de rede, defina [`sandbox.filesystem.disabled`](#disable-filesystem-isolation).

539 576 

540<h3 id="protected-paths">577<h3 id="protected-paths">

541 Caminhos protegidos578 Caminhos protegidos

542</h3>579</h3>

543 580 

544Dentro dos diretórios que comandos em sandbox podem escrever, o sandbox ainda nega escritas nos arquivos dos quais Claude Code carrega configuração e código. Um comando que pudesse editar esses arquivos poderia conceder a si mesmo permissões, ou adicionar um hook ou servidor MCP que Claude Code executa fora do sandbox. O sistema de permissões tem seus próprios [caminhos protegidos](/docs/pt/permission-modes#protected-paths), que controlam o que Claude Code aprova antes de uma ferramenta ser executada; a lista do sandbox se aplica a um comando que já está em execução. Ela cobre quatro grupos de caminhos:581Dentro dos diretórios nos quais os comandos em sandbox podem escrever, o sandbox ainda nega escritas nos arquivos dos quais o Claude Code carrega configuração e código. Um comando que pudesse editar esses arquivos poderia conceder permissões a si mesmo, ou adicionar um hook ou servidor MCP que o Claude Code executa fora do sandbox. O sistema de permissões tem seus próprios [caminhos protegidos](/docs/pt/permission-modes#protected-paths), que controlam o que o Claude Code aprova antes de uma ferramenta ser executada; a lista do sandbox se aplica a um comando que já está em execução. Ela abrange quatro grupos de caminhos:

545 582 

546* **No seu diretório de trabalho e nos diretórios acima dele**: os arquivos de configurações `.claude`, os diretórios `.claude/skills`, `.claude/agents`, `.claude/commands` e `.claude/hooks`, `.mcp.json`, e os arquivos que Claude Code executa por conta própria, como `.claude/workflows` e `.claude/scheduled_tasks.json`583* **No seu diretório de trabalho e nos diretórios acima dele**: os arquivos de configuração `.claude`, os diretórios `.claude/skills`, `.claude/agents`, `.claude/commands` e `.claude/hooks`, `.mcp.json` e os arquivos que o Claude Code executa por conta própria, como `.claude/workflows` e `.claude/scheduled_tasks.json`

547* **Apenas no seu diretório de trabalho**: arquivos de inicialização de shell como `.bashrc` e `.zshrc`, `.gitconfig`, os diretórios `.vscode` e `.idea`, e `hooks` e `config` dentro de `.git`584* **Somente no seu diretório de trabalho**: arquivos de inicialização do shell, como `.bashrc` e `.zshrc`, `.gitconfig`, os diretórios `.vscode` e `.idea`, e `hooks` e `config` dentro de `.git`

548* **Arquivos que transformariam seu diretório de trabalho em um repositório git bare**: `HEAD`, `objects` e `refs` no nível superior, além de `config` e `hooks` lá quando um `HEAD` fica ao lado deles. Um arquivo nomeado `config` é negado mesmo sem `HEAD`. No Linux e WSL2, o sandbox exclui um arquivo `HEAD` de nível superior ou diretório `objects` ou `refs` que apareça enquanto um comando em sandbox está em execução585* **Arquivos que transformariam seu diretório de trabalho em um repositório git bare**: `HEAD`, `objects` e `refs` no nível superior, além das entradas `config` e `hooks` existentes ali quando há um `HEAD` ao lado delas. Um arquivo chamado `config` é negado mesmo sem `HEAD`. No Linux e no WSL2, o sandbox exclui um arquivo `HEAD` ou um diretório `objects` ou `refs` de nível superior que apareça enquanto um comando em sandbox está em execução

549* **Em `~/.claude`, ou no diretório para o qual `CLAUDE_CONFIG_DIR` aponta**: a maioria de seu conteúdo, além de `~/.claude.json` e o armazenamento de credenciais `.credentials.json`586* **Em `~/.claude`, ou no diretório para o qual `CLAUDE_CONFIG_DIR` aponta**: a maior parte de seu conteúdo, além de `~/.claude.json` e do armazenamento de credenciais `.credentials.json`

550 587 

551Se um symlink aparecer no caminho de um arquivo de configurações protegidas durante a sessão, o sandbox também nega escritas no arquivo para o qual ele aponta, começando com o próximo comando.588Se um link simbólico aparecer no caminho de um arquivo de configuração protegido durante a sessão, o sandbox também nega escritas no arquivo para o qual ele aponta, a partir do próximo comando.

552 589 

553Não há forma de isentar um desses caminhos: uma entrada `allowWrite` ou uma regra de permissão Edit que cubra o caminho não remove a proteção. A única forma de desativar a proteção é [`filesystem.disabled`](#disable-filesystem-isolation), que desativa o isolamento do sistema de arquivos para cada caminho. Para ver a maioria desses caminhos resolvidos para sua máquina, execute `/sandbox` e abra a aba **Config**, que os lista sob **Denied within allowed**, misturados com suas próprias entradas `denyWrite`.590Não há como isentar um desses caminhos: uma entrada `allowWrite` ou uma regra de permissão allow de `Edit` que abranja o caminho não remove a proteção. A única forma de desativar a proteção é [`filesystem.disabled`](#disable-filesystem-isolation), que desativa o isolamento do sistema de arquivos para todos os caminhos. Para ver a maioria desses caminhos resolvidos para a sua máquina, execute `/sandbox` e abra a aba **Config**, que os lista em **Denied within allowed**, misturados com suas próprias entradas `denyWrite`.

554 591 

555Se `git merge` ou `git checkout` falhar com `unable to unlink old` em um desses caminhos, consulte [Troubleshooting](#troubleshooting).592Se `git merge` ou `git checkout` falhar com `unable to unlink old` em um desses caminhos, consulte [Um comando git falha com `unable to unlink old`](#a-git-command-fails-with-unable-to-unlink-old).

556 593 

557<h3 id="network-isolation">594<h3 id="network-isolation">

558 Isolamento de rede595 Isolamento de rede

559</h3>596</h3>

560 597 

561O acesso à rede é controlado através de um servidor proxy executado fora do sandbox:598Um comando em sandbox não tem rota direta para a rede:

562 599 

563* **Restrições de domínio**: Claude Code não pré-permite nenhum domínio por padrão. Na primeira vez que um comando precisa de um novo domínio, Claude Code solicita aprovação; em [modo automático](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode), Claude nomeia os hosts que um comando precisa no próprio comando, por [Domínios permitidos por comando](#per-command-allowed-domains-in-auto-mode).600* **Linux e WSL2**: o comando é executado em um namespace de rede separado que não tem conexão com a sua rede

564* **Opções de aprovação**: se você escolher Sim quando solicitado, Claude Code permite o host para o resto da sessão atual e não solicita novamente para conexões posteriores ao mesmo host. Se você escolher "Sim, e não pergunte novamente", Claude Code salva uma regra de permissão `WebFetch(domain:...)` em suas [configurações locais](/docs/pt/permissions#permission-system), para que o host permaneça permitido em sessões futuras.601* **macOS**: o framework de sandbox Seatbelt, por padrão, bloqueia conexões que não sejam a conexão com o proxy do sandbox

565* **Domínios pré-permitidos**: pré-permita domínios com [`allowedDomains`](/docs/pt/settings-reference#sandbox-network-alloweddomains) para evitar o prompt inteiramente. Claude Code também pré-permite domínios de regras de permissão `WebFetch(domain:...)`, conforme descrito em [Regras de permissão](#permission-rules).

566* **Allowlist rigorosa**: se você definir [`strictAllowlist`](/docs/pt/settings-reference#sandbox-network-strictallowlist) como `true` em configurações de usuário, gerenciadas ou CLI `--settings`, Claude Code nega aos comandos em sandbox acesso a qualquer host fora da allowlist em vez de solicitar. A allowlist é a mesma contra a qual o sandbox solicita de outra forma: `allowedDomains` mais domínios de regras de permissão `WebFetch(domain:...)`, ou apenas as entradas de configurações gerenciadas quando `allowManagedDomainsOnly` está definido. Claude Code impõe isso apenas para comandos em sandbox; ferramentas em processo como `WebFetch` ainda seguem suas [regras de permissão](#permission-rules). Defini-lo no `.claude/settings.json` ou `.claude/settings.local.json` de um repositório não tem efeito. Requer Claude Code v2.1.219 ou posterior.

567* **Bloqueio gerenciado**: se [`allowManagedDomainsOnly`](/docs/pt/settings-reference#sandbox-network-allowmanageddomainsonly) estiver definido em configurações gerenciadas, domínios não permitidos são bloqueados automaticamente em vez de solicitar, e apenas `allowedDomains` e regras de permissão `WebFetch(domain:...)` de configurações gerenciadas são honrados.

568* **Proxy corporativo**: quando sua rede requer que o tráfego de saída passe por um proxy corporativo, defina `HTTPS_PROXY`, `HTTP_PROXY` e `NO_PROXY` conforme [configuração de proxy](/docs/pt/network-config#proxy-configuration) descreve, no bloco `env` de suas configurações para que [agentes de fundo](/docs/pt/network-config#set-network-variables-in-settings-not-the-shell) também os obtenham, ou no ambiente a partir do qual você inicia Claude Code. Claude Code impõe a allowlist de domínio e então encaminha conexões permitidas através desse proxy upstream.

569* **Suporte a proxy personalizado**: usuários avançados podem implementar regras personalizadas no tráfego de saída

570* **Cobertura abrangente**: as restrições se aplicam a todos os scripts, programas e subprocessos gerados por comandos

571 602 

572Em uma regra `WebFetch(domain:...)`, o sandbox honra duas formas de wildcard: um `*.` inicial, como `*.example.com`, e um `*` simples. A forma `*` simples requer Claude Code v2.1.186 ou posterior. Um wildcard em qualquer outra posição, como `WebFetch(domain:example.*)`, ainda corresponde a buscas mas não tem efeito em comandos em sandbox.603O Claude Code executa o proxy do sandbox na sua máquina, fora do sandbox, e direciona os comandos para ele com `HTTP_PROXY`, `HTTPS_PROXY`, `ALL_PROXY` e variáveis de ambiente relacionadas. O proxy verifica o hostname de cada conexão em relação aos seus domínios permitidos e negados.

604 

605O que uma ferramenta pode alcançar depende de ela usar o proxy:

606 

607* **Ferramentas que leem as variáveis de proxy**: `curl`, `npm`, `git` via HTTPS e ferramentas semelhantes se conectam assim que seu host é permitido. Uma entrada `allowedDomains` sem porta permite todas as portas desse host

608* **Ferramentas que ignoram as variáveis de proxy**: `ssh` simples, a maioria dos drivers de banco de dados e ferramentas semelhantes não conseguem se conectar, mesmo a um host permitido. Consulte [Um cliente de banco de dados ou outra ferramenta não HTTP não consegue alcançar um host permitido](#a-database-client-or-other-non-http-tool-fails-to-reach-an-allowed-host)

609* **Qualquer coisa que não seja TCP**: UDP, HTTP/3 sobre QUIC e ferramentas ICMP como `ping` não conseguem sair do sandbox

610 

611As seguintes configurações e comportamentos controlam quais hosts o proxy permite:

612 

613* **Restrições de domínio**: seus domínios permitidos começam vazios. [Hosts fora dos seus domínios permitidos](#hosts-outside-your-allowed-domains) aborda o que acontece na primeira vez que um comando precisa de um novo domínio.

614* **Opções de aprovação**: se você escolher Yes quando solicitado, o Claude Code permite o host pelo restante da sessão atual. Se você escolher "Yes, and don't ask again", o Claude Code salva uma regra de permissão allow `WebFetch(domain:...)` nas suas [configurações locais](/docs/pt/permissions#permission-system), para que o host continue permitido em sessões futuras. Enquanto o sandbox for [exigido pelo administrador](#repository-settings-under-an-admin-required-sandbox), o Claude Code salva a regra nas suas configurações de usuário, onde ela se aplica em todos os projetos.

615* **Domínios pré-permitidos**: pré-permita domínios com [`allowedDomains`](/docs/pt/settings-reference#sandbox-network-alloweddomains) para evitar o prompt completamente. O Claude Code também pré-permite domínios de regras de permissão allow `WebFetch(domain:...)`, conforme descrito em [Regras de permissão](#permission-rules).

616* **Allowlist estrita**: se você definir [`strictAllowlist`](/docs/pt/settings-reference#sandbox-network-strictallowlist) como `true` nas configurações de usuário, gerenciadas ou de `--settings` da CLI, o Claude Code nega aos comandos em sandbox o acesso a qualquer host fora da allowlist em vez de solicitar confirmação. A allowlist é `allowedDomains` mais os domínios de regras de permissão allow `WebFetch(domain:...)`, ou apenas as entradas das configurações gerenciadas quando `allowManagedDomainsOnly` está definido. [Bloqueios que se aplicam sem um sandbox exigido pelo administrador](#locks-that-apply-without-an-admin-required-sandbox) aborda as entradas de um repositório. O Claude Code aplica isso somente a comandos em sandbox; ferramentas em processo, como `WebFetch`, continuam seguindo suas [regras de permissão](#permission-rules). Defini-la no `.claude/settings.json` ou `.claude/settings.local.json` de um repositório não tem efeito. Requer Claude Code v2.1.219 ou posterior.

617* **Bloqueio gerenciado**: se [`allowManagedDomainsOnly`](/docs/pt/settings-reference#sandbox-network-allowmanageddomainsonly) estiver definido nas configurações gerenciadas, domínios não permitidos são bloqueados automaticamente em vez de solicitar confirmação, e somente `allowedDomains` e as regras de permissão allow `WebFetch(domain:...)` das configurações gerenciadas são respeitados.

618* **Proxy corporativo**: quando sua rede exige que o tráfego de saída passe por um proxy corporativo, defina `HTTPS_PROXY`, `HTTP_PROXY` e `NO_PROXY` conforme descrito em [configuração de proxy](/docs/pt/network-config#proxy-configuration), no bloco `env` das suas configurações, para que os [agentes em segundo plano](/docs/pt/network-config#set-network-variables-in-settings-not-the-shell) também as recebam, ou no ambiente a partir do qual você inicia o Claude Code. O Claude Code aplica a allowlist de domínios e então encaminha por túnel as conexões permitidas através desse proxy upstream. URLs de proxy `http://` e `https://` funcionam, com autenticação básica na URL se você precisar.

619 

620Em uma regra `WebFetch(domain:...)`, o sandbox respeita duas formas de curinga: um `*.` inicial, como `*.example.com`, e um `*` isolado. A forma `*` isolada requer Claude Code v2.1.186 ou posterior. Um curinga em qualquer outra posição, como `WebFetch(domain:example.*)`, ainda corresponde a fetches, mas não tem efeito sobre comandos em sandbox.

573 621 

574<Note>622<Note>

575 O proxy integrado impõe a allowlist com base no nome de host solicitado e, por padrão, não termina ou inspeciona tráfego TLS. A configuração experimental [`network.tlsTerminate`](/docs/pt/settings-reference#sandbox-network-tlsterminate), disponível no Claude Code v2.1.199 e posterior, faz com que o proxy integrado termine TLS em si mesmo, o que as entradas de credenciais [`mask`](#mask-credentials) exigem. Consulte [Limitações de segurança](#security-limitations) para as implicações do padrão, e [Configuração de proxy personalizado](#custom-proxy-configuration) se seu modelo de ameaça exigir inspeção TLS.623 O proxy integrado aplica a allowlist com base no hostname solicitado e, por padrão, não termina nem inspeciona o tráfego TLS. A configuração experimental [`network.tlsTerminate`](/docs/pt/settings-reference#sandbox-network-tlsterminate), disponível no Claude Code v2.1.199 e posterior, faz com que o próprio proxy integrado termine o TLS, o que as [entradas de credencial `mask`](#mask-credentials) exigem. Consulte [Limitações de segurança](#security-limitations) para as implicações do padrão e [Configuração de proxy personalizado](#custom-proxy-configuration) se o seu modelo de ameaças exigir inspeção de TLS.

576</Note>624</Note>

577 625 

626<h4 id="hosts-outside-your-allowed-domains">

627 Hosts fora dos seus domínios permitidos

628</h4>

629 

630Quando um comando em sandbox se conecta a um host que não está nos seus domínios permitidos, o comando permanece no sandbox e aguarda uma decisão. Em uma sessão de terminal interativa, a decisão depende do seu modo de permissão:

631 

632| Modo de permissão | O que acontece com a conexão |

633| :- | :- |

634| Modo `bypassPermissions` e modo de planejamento com [bypass de permissões disponível](/docs/pt/permission-modes#skip-all-checks-with-bypasspermissions-mode) | Permitida sem prompt |

635| Modo manual, modo `acceptEdits` e modo de planejamento nos demais casos | Você recebe um prompt |

636| Modo auto | Recusada, a menos que o comando [tenha listado o host](#per-command-allowed-domains-in-auto-mode) e o classificador tenha aprovado a lista |

637| Modo `dontAsk` | Recusada |

638 

639Com [`strictAllowlist`](/docs/pt/settings-reference#sandbox-network-strictallowlist) ou [`allowManagedDomainsOnly`](/docs/pt/settings-reference#sandbox-network-allowmanageddomainsonly) ativado, o proxy integrado do sandbox recusa a conexão em todos os modos de permissão. No modo `bypassPermissions`, hosts fora dos seus domínios permitidos são permitidos, a menos que um deles esteja ativado. [A saída de emergência de nova tentativa fora do sandbox](#the-unsandboxed-retry-escape-hatch) aborda quando um comando pode sair do sandbox nesse modo. Uma conexão com um host em [`deniedDomains`](/docs/pt/settings-reference#sandbox-network-denieddomains) também é recusada em todos os modos de permissão.

640 

641<h4 id="hostnames-that-resolve-to-local-addresses">

642 Hostnames que resolvem para endereços locais

643</h4>

644 

645Depois que um hostname passa pela allowlist, o proxy do sandbox o resolve e recusa a conexão quando o nome resolve apenas para endereços locais. Endereços locais incluem endereços de loopback como `127.0.0.1`, endereços link-local como o endpoint de metadados de nuvem `169.254.169.254` e endereços atribuídos à sua própria máquina. Os nomes `localhost` e `*.localhost` podem resolver para loopback.

646 

647Um hostname de intranet permitido que resolve para um intervalo privado como `10.0.0.0/8` se conecta. Para permitir que um nome resolva para um endereço recusado, adicione esse endereço IP a `allowedDomains`, como `"127.0.0.1:8080"`.

648 

649A verificação se aplica a hostnames. Seus domínios permitidos e seu modo de permissão decidem uma conexão com um endereço IP. O proxy também ignora a verificação para conexões que ele envia através de um proxy corporativo upstream, porque esse proxy resolve o nome.

650 

578<h4 id="per-command-allowed-domains-in-auto-mode">651<h4 id="per-command-allowed-domains-in-auto-mode">

579 Domínios permitidos por comando em modo automático652 Domínios permitidos por comando no modo auto

580</h4>653</h4>

581 654 

582Em [modo automático](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) com sandboxing ativado, Claude nomeia os hosts que um comando precisa no próprio comando em vez de disparar uma aprovação de rede para cada conexão. Cada comando Bash, PowerShell ou [Monitor](/docs/pt/tools-reference#monitor-tool) que é executado no sandbox pode carregar uma lista de hosts além da allowlist do sandbox: um domínio como `registry.npmjs.org`, um wildcard como `*.pythonhosted.org`, ou um endereço IP, cada um com uma porta opcional `:port`. O classificador revisa os hosts junto com o comando. Requer Claude Code v2.1.271 ou posterior.655No [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) com o sandboxing ativado, o Claude nomeia os hosts de que um comando precisa no próprio comando, em vez de acionar uma aprovação de rede para cada conexão. Cada comando Bash, PowerShell ou [Monitor](/docs/pt/tools-reference#monitor-tool) executado no sandbox pode carregar uma lista de hosts além da allowlist do sandbox: um domínio como `registry.npmjs.org`, um curinga como `*.pythonhosted.org` ou um endereço IP, cada um com um `:port` opcional. O classificador revisa os hosts junto com o comando. Requer Claude Code v2.1.271 ou posterior.

583 656 

584Uma lista aprovada abre esses hosts apenas para esse comando, enquanto ele é executado. Nada é adicionado aos hosts permitidos da sua sessão ou às suas configurações; o próximo comando nomeia seus próprios hosts.657Uma lista aprovada abre esses hosts apenas para aquele comando, enquanto ele estiver em execução. Nada é adicionado aos hosts permitidos da sua sessão nem às suas configurações; o próximo comando nomeia seus próprios hosts.

585 658 

586Um comando que carrega hosts vai para o classificador em vez de ser aprovado por uma regra de permissão ou pelo [modo de aprovação automática](#sandbox-modes) do sandbox. Se uma [regra ask](/docs/pt/permissions#manage-permissions) força um prompt para o comando, o diálogo de permissão em seu terminal lista os hosts ao lado dele, e aprovar lá cobre ambos.659Um comando que carrega hosts vai para o classificador em vez de ser aprovado por uma regra de permissão ou pelo [modo de permissão automática](#sandbox-modes) do sandbox. Se uma [regra ask](/docs/pt/permissions#manage-permissions) forçar um prompt para o comando, a caixa de diálogo de permissão no seu terminal lista os hosts ao lado dele, e aprovar ali abrange ambos.

587 660 

588Uma lista por comando amplia apenas o que o sandbox nega por padrão. As entradas [`deniedDomains`](/docs/pt/settings-reference#sandbox-network-denieddomains) ainda bloqueiam. Quando [`strictAllowlist`](/docs/pt/settings-reference#sandbox-network-strictallowlist) ou [`allowManagedDomainsOnly`](/docs/pt/settings-reference#sandbox-network-allowmanageddomainsonly) bloqueia a allowlist, Claude Code recusa listas por comando.661Uma lista por comando amplia apenas o que o sandbox nega por padrão. As entradas de [`deniedDomains`](/docs/pt/settings-reference#sandbox-network-denieddomains) continuam bloqueando. Quando [`strictAllowlist`](/docs/pt/settings-reference#sandbox-network-strictallowlist) ou [`allowManagedDomainsOnly`](/docs/pt/settings-reference#sandbox-network-allowmanageddomainsonly) bloqueia a allowlist, o Claude Code recusa listas por comando.

589 662 

590Enquanto listas por comando se aplicam, Claude Code recusa uma conexão a um host que nenhum comando aprovado listou, sem um prompt ou uma verificação do classificador. A recusa nomeia o host no resultado do comando, e Claude executa novamente o comando com o host adicionado.663Enquanto as listas por comando se aplicam, o Claude Code recusa uma conexão com um host que nenhum comando aprovado listou, sem prompt nem verificação do classificador. A recusa nomeia o host no resultado do comando, e o Claude executa o comando novamente com o host adicionado.

591 664 

592<h4 id="ipv6-addresses-in-domain-lists">665<h4 id="ipv6-addresses-in-domain-lists">

593 Endereços IPv6 em listas de domínios666 Endereços IPv6 em listas de domínios

594</h4>667</h4>

595 668 

596As listas de domínios do sandbox são `allowedDomains`, `deniedDomains` e as regras `WebFetch(domain:...)` que as alimentam. Para corresponder a um endereço IPv6 em qualquer uma delas, escreva o literal entre colchetes: `"[::1]"` corresponde a esse endereço em cada porta, e `"[::1]:443"` corresponde a ele apenas na porta 443. Escreva a porta como um número de 1 a 65535 sem zeros à esquerda. A forma entre colchetes requer Claude Code v2.1.229 ou posterior. Antes da v2.1.229, quando o texto após o último dois-pontos de uma entrada sem colchetes era um número de porta, Claude Code o lia como um, então `::1:443` nomeava o endereço `::1` na porta 443.669Para corresponder a um endereço IPv6 em `allowedDomains`, `deniedDomains` ou em uma regra `WebFetch(domain:...)`, escreva o endereço entre colchetes: `"[::1]"` corresponde a esse endereço em todas as portas, e `"[::1]:443"` corresponde a ele apenas na porta 443. A forma entre colchetes requer Claude Code v2.1.229 ou posterior.

597 

598Quando você escolhe "Sim, e não pergunte novamente" no prompt de aprovação de rede para um endereço IPv6, Claude Code salva a regra `WebFetch(domain:...)` com o endereço entre colchetes, para que a regra continue correspondendo ao endereço em sessões futuras.

599 670 

600Uma entrada sem colchetes com dois ou mais dois-pontos é ambígua: `::1:443` é tanto um endereço IPv6 completo quanto um endereço seguido por uma porta. Claude Code impõe ortografias ambíguas conservadoramente em vez de adivinhar qual leitura você pretendia:671Uma entrada sem colchetes, como `::1:443`, é ambígua entre um endereço e um endereço com uma porta:

601 672 

602* **Listas de negação**: Claude Code nega cada leitura que a entrada analisa como, então qualquer leitura que você pretendia é bloqueada. Para uma entrada sem leitura analisável, Claude Code não bloqueia nada.673* **Listas de negação**: o Claude Code nega todas as leituras possíveis da entrada, de modo que qualquer que seja a leitura pretendida, ela é bloqueada. Para uma entrada sem nenhuma leitura analisável, o Claude Code não bloqueia nada

603* **Listas de permissão**: Claude Code nunca permite mais do que você escreveu. Ele reescreve uma entrada ambígua para sua leitura de host-e-porta quando essa leitura analisa de forma limpa, e pode descartar a entrada inteiramente em vez de ampliar a allowlist.674* **Listas de permissão**: o Claude Code nunca permite mais do que você escreveu. Ele reescreve uma entrada ambígua para sua leitura de host e porta quando essa leitura é analisada corretamente, e pode descartar a entrada completamente em vez de ampliar a allowlist

604 675 

605Execute `claude doctor` em seu terminal para encontrar as entradas afetadas: o aviso `Sandbox network domain entries have unreliable spellings` nomeia até três delas e conta o resto. Reescreva cada uma na forma entre colchetes para limpar o aviso. O aviso também nomeia entradas cuja ortografia é não confiável por outras razões, como `@`, caracteres de caminho ou consulta, ou wildcards dentro de colchetes.676Para encontrar entradas ambíguas, execute `claude doctor` no seu terminal e procure o aviso `Sandbox network domain entries have unreliable spellings`. Reescreva cada entrada ambígua na forma entre colchetes.

606 677 

607<h3 id="os-level-enforcement">678<h3 id="os-level-enforcement">

608 Imposição no nível do SO679 Aplicação no nível do sistema operacional

609</h3>680</h3>

610 681 

611A ferramenta Bash em sandbox usa primitivos de segurança do sistema operacional:682A ferramenta Bash em sandbox usa primitivas de segurança do sistema operacional:

612 683 

613* **macOS**: usa Seatbelt para imposição de sandbox684* **macOS**: usa o Seatbelt para a aplicação do sandbox

614* **Linux**: usa [bubblewrap](https://github.com/containers/bubblewrap) para isolamento685* **Linux**: usa o [bubblewrap](https://github.com/containers/bubblewrap) para isolamento

615* **WSL2**: usa bubblewrap, igual ao Linux686* **WSL2**: usa o bubblewrap, assim como o Linux

616 687 

617WSL1 não é suportado porque bubblewrap requer recursos de kernel disponíveis apenas no WSL2.688Você também pode executar o pacote [`@anthropic-ai/sandbox-runtime`](https://github.com/anthropics/sandbox-runtime) de forma independente para envolver o processo do Claude Code. Consulte [Sandbox runtime](/docs/pt/sandbox-environments#sandbox-runtime).

618 

619Esses mesmos primitivos estão disponíveis como o pacote autônomo [`@anthropic-ai/sandbox-runtime`](https://github.com/anthropic-experimental/sandbox-runtime), que a página [Sandbox environments](/docs/pt/sandbox-environments#sandbox-runtime) aborda como uma abordagem separada para envolver todo o processo do Claude Code.

620 689 

621<h2 id="how-sandboxing-relates-to-permissions-and-permission-modes">690<h2 id="how-sandboxing-relates-to-permissions-and-permission-modes">

622 Como o sandboxing se relaciona com permissões e modos de permissão691 Como o sandboxing se relaciona com permissões e modos de permissão


677 Imponha o sandboxing com configurações gerenciadas746 Imponha o sandboxing com configurações gerenciadas

678</h3>747</h3>

679 748 

680Para exigir o sandbox para cada desenvolvedor, entregue as chaves `sandbox` através de [managed settings](/docs/pt/managed-settings#delivery-mechanisms), seja como um arquivo gerenciado pelo seu MDM ou através de [server-managed settings](/docs/pt/server-managed-settings) no claude.ai.749Para exigir o sandbox para cada desenvolvedor, entregue as chaves `sandbox` através de [configurações gerenciadas](/docs/pt/managed-settings#delivery-mechanisms), seja como um arquivo gerenciado pelo seu MDM ou através de [configurações gerenciadas pelo servidor](/docs/pt/server-managed-settings) no claude.ai.

681 750 

682A seguinte configuração de managed settings habilita o sandbox, recusa iniciar Claude Code se o sandbox não conseguir inicializar e impede que o modelo tente novamente comandos fora do sandbox:751A seguinte configuração de configurações gerenciadas habilita o sandbox, recusa iniciar o Claude Code quando a plataforma não é suportada ou uma dependência está faltando e impede que o modelo tente novamente comandos fora do sandbox:

683 752 

684```json theme={null}753```json theme={null}

685{754{


693 762 

694As duas chaves além de `enabled` controlam o que acontece quando o sandbox não consegue executar um comando:763As duas chaves além de `enabled` controlam o que acontece quando o sandbox não consegue executar um comando:

695 764 

696* **`failIfUnavailable`**: uma dependência faltante como bubblewrap no Linux bloqueia Claude Code de iniciar em vez de mostrar um aviso e voltar a execução sem sandbox765* **`failIfUnavailable`**: uma dependência faltante como bubblewrap no Linux impede o Claude Code de iniciar em vez de recorrer à execução sem sandbox

697* **`allowUnsandboxedCommands: false`**: Claude Code ignora o escape hatch `dangerouslyDisableSandbox`, portanto quando um comando falha sob o sandbox, Claude não consegue retentá-lo sem sandbox766* **`allowUnsandboxedCommands: false`**: o Claude Code ignora o escape hatch `dangerouslyDisableSandbox`, portanto quando um comando falha sob o sandbox, Claude não consegue tentá-lo novamente sem sandbox

767 

768Considere estas adições junto com elas:

698 769 

699Duas adições valem a pena considerar junto com elas. Adicione `excludedCommands` para qualquer ferramenta aprovada pela organização que deve ser executada sem isolamento. Adicione entradas [`sandbox.credentials`](#protect-credentials) para diretórios de credenciais como `~/.aws` e `~/.ssh` e para variáveis de ambiente secretas, já que a política de leitura padrão ainda permite.770* Adicione `excludedCommands` para quaisquer ferramentas aprovadas pela organização que devem ser executadas sem isolamento, porque esta configuração [impede que as configurações de um repositório tirem comandos do sandbox](#repository-settings-under-an-admin-required-sandbox)

771* Adicione entradas [`sandbox.credentials`](#protect-credentials) para diretórios de credenciais como `~/.aws` e `~/.ssh` e para variáveis de ambiente secretas, já que a política de leitura padrão ainda as permite

700 772 

701Esta configuração coloca em sandbox os comandos que Claude executa. Um desenvolvedor ainda pode digitar um comando no [prompt de shell-mode com `!`](/docs/pt/interactive-mode#shell-mode-with-prefix) e executá-lo fora do sandbox, com o mesmo acesso que já possui em qualquer terminal fora do Claude Code. Veja [The unsandboxed retry escape hatch](#the-unsandboxed-retry-escape-hatch) para as sessões onde comandos digitados são executados em sandbox.773Esta configuração coloca em sandbox os comandos que Claude executa. Um desenvolvedor ainda pode digitar um comando no [prompt de shell-mode com `!`](/docs/pt/interactive-mode#shell-mode-with-prefix) e executá-lo fora do sandbox, com o mesmo acesso que já possui em qualquer terminal fora do Claude Code. Veja [modo de sandbox estrito](#turn-off-the-retry-with-strict-sandbox-mode) para as sessões onde comandos digitados são executados em sandbox.

702 774 

703O sandbox não é executado no Windows nativo, portanto se sua frota inclui hosts Windows, escope esta configuração para macOS e Linux ou tenha esses usuários executarem Claude Code dentro do WSL2 ou um container.775O sandbox não é executado no Windows nativo, portanto com `failIfUnavailable` definido, o Claude Code encerra na inicialização nessas máquinas. Se sua frota inclui hosts Windows, você pode:

776 

777* **Entregar a configuração por sistema operacional**: implante-a através do seu MDM ou como um [arquivo de configurações gerenciadas](/docs/pt/managed-settings#delivery-mechanisms) apenas em máquinas macOS e Linux. As [configurações gerenciadas pelo servidor](/docs/pt/server-managed-settings#current-limitations) se aplicam a todos os usuários da organização

778* **Mover usuários Windows para um ambiente suportado**: faça com que executem o Claude Code dentro do WSL2 ou de um container

704 779 

705<h3 id="keep-developers-from-widening-the-policy">780<h3 id="keep-developers-from-widening-the-policy">

706 Impeça que desenvolvedores ampliem a política781 Impeça que desenvolvedores ampliem a política

707</h3>782</h3>

708 783 

709Para chaves booleanas como `enabled` e `failIfUnavailable`, Claude Code usa o valor gerenciado e ignora qualquer coisa que um desenvolvedor defina localmente. Para chaves de array como `excludedCommands` e `allowRead`, Claude Code mescla entradas de cada escopo que a sessão carrega, portanto um desenvolvedor pode anexar entradas que ampliem a política.784Quando as configurações gerenciadas definem uma chave booleana como `enabled` ou `failIfUnavailable`, o Claude Code usa o valor gerenciado e ignora qualquer coisa que um desenvolvedor defina localmente. Para chaves de array como `allowRead`, o Claude Code mescla entradas dos escopos que a sessão carrega, portanto um desenvolvedor pode anexar entradas que ampliem a política, a menos que um bloqueio cubra essa chave.

785 

786A menos que as configurações gerenciadas as definam, as configurações de usuário de um desenvolvedor ou `--settings` podem ativar as seguintes chaves. O `.claude/settings.json` de um repositório também pode, a menos que o sandbox seja [exigido pelo administrador](#repository-settings-under-an-admin-required-sandbox). Cada uma enfraquece o sandbox, portanto defina-a como `false` nas configurações gerenciadas se você não quiser que seja usada:

787 

788* [`enableWeakerNestedSandbox`](/docs/pt/settings-reference#sandbox-enableweakernestedsandbox)

789* [`enableWeakerNetworkIsolation`](/docs/pt/settings-reference#sandbox-enableweakernetworkisolation)

790* [`network.allowAllUnixSockets`](/docs/pt/settings-reference#sandbox-network-allowallunixsockets)

791* [`network.allowLocalBinding`](/docs/pt/settings-reference#sandbox-network-allowlocalbinding)

792* [`allowAppleEvents`](/docs/pt/settings-reference#sandbox-allowappleevents), que um repositório não pode ativar

793 

794Defina `allowManagedReadPathsOnly` como `true` nas configurações gerenciadas para que apenas entradas `allowRead` das configurações gerenciadas sejam honradas. Isso impede que desenvolvedores ampliem o acesso de leitura além dos caminhos aprovados pela organização.

710 795 

711Defina `allowManagedReadPathsOnly` como `true` em managed settings para que apenas entradas `allowRead` de managed settings sejam honradas. Isso impede que desenvolvedores ampliem o acesso de leitura além dos caminhos aprovados pela organização. Para bloquear domínios de rede para os valores gerenciados da mesma forma, defina [`allowManagedDomainsOnly`](/docs/pt/settings-reference#sandbox-network-allowmanageddomainsonly).796Para bloquear domínios de rede para os valores gerenciados da mesma forma, defina [`allowManagedDomainsOnly`](/docs/pt/settings-reference#sandbox-network-allowmanageddomainsonly). Com o bloqueio ativado, apenas as configurações gerenciadas podem definir uma [porta de proxy](#custom-proxy-configuration).

712 797 

713Quando managed settings configuram `sandbox.filesystem` ou listam qualquer entrada `sandbox.credentials.files` com `"mode": "deny"`, apenas managed settings podem definir [`filesystem.disabled`](#disable-filesystem-isolation), portanto desenvolvedores não conseguem desativar restrições de filesystem implantadas pelo administrador. Se uma entrada `mask` fixa a chave depende de como ela se resolve; a tabela sob [Which settings can disable it](#which-settings-can-disable-it) cobre os quatro casos.798Quando as configurações gerenciadas configuram `sandbox.filesystem` ou listam qualquer entrada `sandbox.credentials.files` com `"mode": "deny"`, apenas as configurações gerenciadas podem definir [`filesystem.disabled`](#disable-filesystem-isolation), portanto desenvolvedores não conseguem desativar restrições de filesystem implantadas pelo administrador. Uma entrada `mask` [válida](/docs/pt/settings-reference#invalid-credential-entries-in-managed-settings) não bloqueia a chave. Veja [Quais configurações podem desativá-lo](#which-settings-can-disable-it).

714 799 

715`excludedCommands` não tem um equivalente de lockdown apenas gerenciado, portanto um desenvolvedor sempre pode anexar entradas que executem comandos adicionais fora do sandbox. Mantenha a lista gerenciada estreita.800<h4 id="repository-settings-under-an-admin-required-sandbox">

801 Configurações do repositório sob um sandbox exigido pelo administrador

802</h4>

803 

804O sandbox é exigido pelo administrador enquanto uma destas configurações estiver em vigor:

805 

806* [`allowUnsandboxedCommands`](/docs/pt/settings-reference#sandbox-allowunsandboxedcommands) definido como `false` nas configurações gerenciadas, ou com a flag `--settings`, a menos que as configurações gerenciadas o definam como `true`

807* [`allowManagedDomainsOnly`](/docs/pt/settings-reference#sandbox-network-allowmanageddomainsonly) definido como `true` nas configurações gerenciadas

808 

809Essas configurações não ativam o sandbox, portanto defina `enabled` também.

810 

811Enquanto o sandbox é exigido pelo administrador, o Claude Code aceita as configurações que o afrouxam apenas das configurações gerenciadas, da flag `--settings` e do `~/.claude/settings.json` de cada desenvolvedor. Ele ignora estas configurações no `.claude/settings.json` e no `.claude/settings.local.json` de um repositório:

812 

813| Configuração do repositório | O que o Claude Code ignora |

814| :- | :- |

815| `excludedCommands`, `ignoreViolations`, `network.allowedDomains`, `network.allowUnixSockets`, `network.allowMachLookup`, `network.httpProxyPort`, `network.socksProxyPort` | Todas as entradas |

816| `filesystem.allowWrite`, regras de permissão `Edit(...)`, `permissions.additionalDirectories` | O acesso de escrita que cada entrada concede a comandos em sandbox. As ferramentas de arquivo do Claude ainda seguem as regras `Edit(...)` e os diretórios adicionais |

817| Regras de permissão `WebFetch(domain:...)` | O host que cada regra adiciona à allowlist do sandbox. A ferramenta WebFetch ainda segue a regra |

818| `enableWeakerNestedSandbox`, `enableWeakerNetworkIsolation`, `network.allowAllUnixSockets`, `network.allowLocalBinding` | `true`. Um `false` ainda se aplica |

819| `enabled`, `failIfUnavailable` | `false`, quando o `~/.claude/settings.json` do desenvolvedor define `true` |

820| `filesystem.allowRead` | Uma entrada em ou sob um caminho cuja leitura as configurações gerenciadas, `--settings` ou as configurações de usuário negam, ou um glob que possa corresponder a um |

821 

822Estas configurações ainda se aplicam enquanto o sandbox é exigido pelo administrador:

823 

824* **Nos arquivos de um repositório**: entradas de negação e o valor de `autoAllowBashIfSandboxed`. Defina a chave nas configurações gerenciadas para impedir que um repositório a altere

825* **Nas configurações do próprio desenvolvedor**: as configurações da tabela ainda se aplicam a partir de `~/.claude/settings.json` ou `--settings`, a menos que um bloqueio exclusivo das configurações gerenciadas, como `allowManagedDomainsOnly`, as cubra. A maioria delas, como `excludedCommands` e `filesystem.allowWrite`, não tem bloqueio exclusivo das configurações gerenciadas

826 

827A configuração em [Imponha o sandboxing com configurações gerenciadas](#enforce-sandboxing-with-managed-settings) torna o sandbox exigido pelo administrador. Adicione às configurações gerenciadas as entradas `excludedCommands`, `allowWrite` e de sockets de que suas ferramentas aprovadas precisam, porque um repositório não pode fornecê-las.

828 

829Requer Claude Code v2.1.285 ou posterior. Da v2.1.282 à v2.1.284, as mesmas configurações faziam o Claude Code ignorar as entradas `excludedCommands` de um repositório.

830 

831<h4 id="locks-that-apply-without-an-admin-required-sandbox">

832 Bloqueios que se aplicam sem um sandbox exigido pelo administrador

833</h4>

834 

835Algumas configurações fazem o Claude Code ignorar as chaves do repositório que sobrescrevem diretamente uma restrição, mesmo quando o sandbox não é exigido pelo administrador. Cada uma tem esse efeito apenas quando você a define em um arquivo indicado em sua linha, e as outras configurações de sandbox do repositório ainda se aplicam. Requer Claude Code v2.1.285 ou posterior.

836 

837| Configuração | Onde você a define | O que o Claude Code ignora nas configurações de um repositório |

838| :- | :- | :- |

839| `network.deniedDomains` ou uma regra de negação `WebFetch(domain:...)` | Configurações gerenciadas, `--settings` | `httpProxyPort` e `socksProxyPort` |

840| `network.strictAllowlist` | Configurações gerenciadas, `--settings`, configurações de usuário | As portas de proxy, `allowedDomains` e regras de permissão `WebFetch(domain:...)` |

841| `filesystem.denyRead`, uma regra de negação `Read(...)` ou uma entrada `credentials.files` | Configurações gerenciadas, `--settings` | Uma entrada `allowRead`, `allowWrite`, de permissão `Edit(...)` ou `additionalDirectories` em ou sob um caminho cuja leitura as configurações gerenciadas, `--settings` ou as configurações de usuário negam, ou um glob que possa corresponder a um |

842 

843Esses bloqueios alteram o que os comandos em sandbox podem alcançar. A ferramenta WebFetch e as ferramentas de arquivo do Claude ainda seguem as regras e os diretórios adicionais de um repositório.

716 844 

717<h3 id="custom-proxy-configuration">845<h3 id="custom-proxy-configuration">

718 Configuração de proxy personalizado846 Configuração de proxy personalizado

719</h3>847</h3>

720 848 

721Para organizações que exigem segurança de rede avançada, você pode implementar um proxy personalizado para:849Para inspecionar, filtrar ou registrar em log o tráfego do sandbox com suas próprias ferramentas, substitua o proxy integrado do sandbox por um proxy que você executa na mesma máquina.

722 850 

723* Descriptografar e inspecionar tráfego HTTPS851Para rotear o tráfego do sandbox através de um proxy corporativo em outro lugar da sua rede, defina `HTTPS_PROXY` em vez disso, como descreve a entrada **Corporate proxy** em [Isolamento de rede](#network-isolation). Dessa forma, a allowlist do Claude Code ainda se aplica.

724* Aplicar regras de filtragem personalizadas

725* Registrar todas as solicitações de rede

726* Integrar com infraestrutura de segurança existente

727 852 

728Para apontar Claude Code para seu proxy, defina as portas de proxy em [sandbox settings](/docs/pt/settings-reference#sandbox-settings):853Para direcionar comandos em sandbox para seu proxy, defina as portas de localhost em que ele escuta nas [configurações do sandbox](/docs/pt/settings-reference#sandbox-settings):

729 854 

730```json theme={null}855```json theme={null}

731{856{


738}863}

739```864```

740 865 

866Se você definir uma porta e também definir `HTTPS_PROXY` ou `HTTP_PROXY`, o Claude Code não encaminha o que os comandos em sandbox enviam ao seu proxy para o proxy indicado por essas variáveis. Para alcançar um proxy corporativo, configure seu próprio proxy para encaminhar para ele.

867 

868Quais arquivos podem definir uma porta depende das suas outras configurações de sandbox:

869 

870* **`allowManagedDomainsOnly` está ativado**: apenas configurações gerenciadas

871* **O sandbox é [exigido pelo administrador](#repository-settings-under-an-admin-required-sandbox), ou um [bloqueio de rede mais restrito](#locks-that-apply-without-an-admin-required-sandbox) se aplica**: configurações gerenciadas, `--settings` e configurações de usuário

872* **Caso contrário**: qualquer arquivo de configurações

873 

874O Claude Code ignora uma porta definida em qualquer outro lugar. Antes da v2.1.285, qualquer arquivo de configurações podia definir uma porta.

875 

876<Warning>

877 Assim que qualquer uma das portas se aplica, seu proxy é responsável por filtrar tudo o que é enviado a ele. Os próprios controles de rede do Claude Code, como `allowedDomains`, `deniedDomains`, `strictAllowlist`, prompts de aprovação e a [verificação de endereço local](#hostnames-that-resolve-to-local-addresses), deixam de se aplicar a esse tráfego. Um comando em sandbox pode se conectar a qualquer um dos proxies, portanto se você definir apenas uma porta, as listas de domínios do Claude Code no outro proxy não limitam o que o comando alcança através do seu.

878</Warning>

879 

741<h2 id="troubleshooting">880<h2 id="troubleshooting">

742 Troubleshooting881 Solução de problemas

743</h2>882</h2>

744 883 

745Alguns comandos falham dentro do sandbox mesmo que funcionem fora dele. As correções abaixo abrangem os casos mais comuns.884Alguns comandos falham dentro do sandbox mesmo que funcionem fora dele. Encontre o título que corresponde ao seu sintoma ou mensagem de erro.

885 

886Se o sandbox da sua organização for [exigido pelo administrador](#repository-settings-under-an-admin-required-sandbox), o Claude Code ignora as configurações que essas correções mencionam nos arquivos de configurações de um projeto, então salve-as em `~/.claude/settings.json`, onde elas se aplicam em todos os projetos. Se uma correção ainda não tiver efeito, as configurações gerenciadas da sua organização podem definir essa chave.

887 

888Uma correção que adiciona um padrão a `excludedCommands` remove o sandbox dos comandos que correspondem ao padrão. Consulte [o que um comando excluído pode fazer](#run-commands-outside-the-sandbox-with-excludedcommands).

889 

890<h3 id="commands-fail-with-a-host-not-allowed-error">

891 Comandos falham com um erro host-not-allowed

892</h3>

893 

894Muitas ferramentas CLI precisam alcançar hosts específicos. Aprove o host quando solicitado ou adicione-o a [`allowedDomains`](/docs/pt/settings-reference#sandbox-network-alloweddomains). Se a sua organização bloquear a allowlist com `allowManagedDomainsOnly`, não há prompt, então peça ao seu administrador para adicionar o host.

895 

896<h3 id="jest-hangs-or-fails">

897 `jest` trava ou falha

898</h3>

899 

900`watchman` é incompatível com o sandbox. Execute `jest --no-watchman` em vez disso.

901 

902<h3 id="go-based-clis-fail-tls-verification-on-macos">

903 CLIs baseadas em Go falham na verificação TLS no macOS

904</h3>

905 

906Ferramentas como `gh`, `gcloud` e `terraform` podem falhar na verificação TLS sob [Seatbelt](#os-level-enforcement). Para executar essas ferramentas fora do sandbox, adicione um padrão para cada ferramenta, como `gh *`, a [`excludedCommands`](#run-commands-outside-the-sandbox-with-excludedcommands). A ferramenta então é executada com seu acesso completo e suas credenciais armazenadas. Se você estiver usando `httpProxyPort` com um proxy MITM e CA personalizado, defina [`enableWeakerNetworkIsolation`](/docs/pt/settings-reference#sandbox-enableweakernetworkisolation) como `true` em vez disso.

907 

908<h3 id="open-osascript-or-browser-based-auth-flows-fail-with-error-600-on-macos">

909 `open`, `osascript`, ou fluxos de autenticação baseados em navegador falham com erro `-600` no macOS

910</h3>

911 

912O sandbox bloqueia Apple Events por padrão. Defina [`allowAppleEvents`](/docs/pt/settings-reference#sandbox-allowappleevents) como `true` em suas configurações de usuário, gerenciadas ou CLI para permiti-los. O Claude Code ignora esta chave nas configurações do projeto.

913 

914Habilitar `allowAppleEvents` remove o isolamento de execução de código, pois comandos em sandbox podem então iniciar outras aplicações sem sandbox sem prompt do usuário e enviar comandos AppleScript para aplicações em execução, sujeito ao prompt de consentimento de automação do macOS (TCC). Alternativamente, adicione um padrão como `open *` a [`excludedCommands`](#run-commands-outside-the-sandbox-with-excludedcommands). Cada chamada de `open` então passa pelo fluxo de permissão, e `open` pode iniciar qualquer arquivo ou aplicativo, incluindo um que o Claude escreveu.

915 

916<h3 id="docker-commands-fail">

917 Comandos `docker` falham

918</h3>

919 

920`docker` é incompatível com o sandbox. Tire do sandbox os comandos `docker` de que você precisa com um padrão em `excludedCommands`, como `docker compose *`. [Executar comandos fora do sandbox com `excludedCommands`](#run-commands-outside-the-sandbox-with-excludedcommands) explica o que um comando `docker` excluído pode alcançar. Um padrão mais restrito tira menos comandos do sandbox.

921 

922<h3 id="pbcopy-xclip-or-wl-copy-doesn’t-update-the-clipboard">

923 `pbcopy`, `xclip`, ou `wl-copy` não atualiza a área de transferência

924</h3>

925 

926Os utilitários de área de transferência `pbcopy`, `xclip` e `wl-copy` podem falhar ao alcançar a área de transferência do sistema de dentro do sandbox, caso em que o texto canalizado para eles não chega.

927 

928Para colocar a saída do Claude em sua área de transferência, peça ao Claude para imprimi-la em sua resposta e execute [`/copy`](/docs/pt/commands). `/copy` escreve na área de transferência do processo Claude Code em vez de um comando em sandbox.

929 

930Quando Claude canaliza texto para uma dessas ferramentas, adicionar a ferramenta a [`excludedCommands`](/docs/pt/settings-reference#sandbox-excludedcommands) não tira essa chamada do sandbox por si só.

931 

932<h3 id="a-git-command-fails-with-unable-to-unlink-old">

933 Um comando git falha com `unable to unlink old`

934</h3>

935 

936`git merge`, `git checkout` e comandos similares falham com `unable to unlink old` quando precisam substituir um arquivo no qual o sandbox nega gravações. No Linux e WSL2 o erro termina com `Read-only file system`. O arquivo pode estar em um destes lugares:

937 

938* Sob um [caminho protegido](#protected-paths) como `.claude/skills`

939* Sob uma de suas entradas `denyWrite`

940* Fora dos diretórios em que o sandbox permite que comandos gravem

941 

942Após a falha, o Claude pode [oferecer executar novamente o comando fora do sandbox](#the-unsandboxed-retry-escape-hatch). Aprove essa nova tentativa ou execute o comando git você mesmo em outro terminal. Se você definiu `allowUnsandboxedCommands` como `false`, o Claude não pode oferecer a nova tentativa, então execute o comando você mesmo.

943 

944<h3 id="bubblewrap-fails-to-start-inside-a-container">

945 Bubblewrap falha ao iniciar dentro de um container

946</h3>

947 

948Em um container sem privilégios, o [bubblewrap](#os-level-enforcement) não consegue montar um sistema de arquivos `/proc` novo, então comandos em sandbox falham com um erro `bwrap` como `Can't mount proc on /newroot/proc: Operation not permitted`. Defina [`enableWeakerNestedSandbox`](/docs/pt/settings-reference#sandbox-enableweakernestedsandbox) como `true` para que o sandbox faça bind-mount do `/proc` existente do container em vez disso. Use esta configuração apenas quando o container externo já fornece o limite de isolamento de que você precisa, pois a configuração expõe informações de processo a comandos em sandbox que uma montagem `/proc` nova ocultaria.

949 

950<h3 id="0-byte-read-only-files-appear-at-claude-settings-paths-and-yes-and-don’t-ask-again-doesn’t-save">

951 Arquivos somente leitura de 0 bytes aparecem em caminhos de configurações `.claude`, e "Sim, e não pergunte novamente" não salva

952</h3>

953 

954No Linux e WSL2, o sandbox mantém uma negação de gravação em um arquivo que ainda não existe criando um espaço reservado somente leitura de 0 bytes lá enquanto um comando em sandbox é executado. O sandbox remove o espaço reservado depois. Se uma sessão for encerrada antes dessa limpeza ser executada, por exemplo por SIGKILL, os espaços reservados permanecem. Sessões posteriores vinculam os espaços reservados como somente leitura novamente a cada início, então uma gravação de configurações, como salvar uma escolha de permissão, falha em um caminho onde um espaço reservado permanece.

955 

956Execute `claude doctor` no seu terminal para listar os arquivos de espaço reservado restantes. O aviso [`Stale sandbox mask files left by a killed session`](/docs/pt/errors#stale-sandbox-mask-files-left-by-a-killed-session) nomeia alguns deles e conta o resto. Exclua cada arquivo com `rm` enquanto nenhuma outra sessão do Claude Code estiver sendo executada nesse projeto. Antes da v2.1.257, o Claude Code deixava os mesmos espaços reservados para trás sem sinalizá-los.

957 

958<h3 id="git-over-ssh-fails-with-the-sandbox-on">

959 `git` via SSH falha com o sandbox ativado

960</h3>

961 

962No macOS, `git fetch`, `git pull` e `git push` contra um remoto SSH falham dentro do sandbox mesmo quando o host é permitido. No Linux e WSL2, eles funcionam assim que o host é permitido. O Claude Code encaminha a conexão SSH do git por um túnel através do [proxy do sandbox](#network-isolation), e o túnel do macOS não consegue se autenticar nesse proxy.

963 

964No Linux e WSL2, verifique estes pontos se a conexão ainda falhar:

965 

966* **O host é permitido na porta 22**: uma entrada em `allowedDomains` sem porta, como `"git.example.com"`, cobre isso

967* **Seu proxy corporativo permite a porta 22**: se a sua rede exigir um proxy upstream, o túnel também passa por ele

968* **A chave pode ser lida como arquivo**: o sandbox pode bloquear o socket do `ssh-agent`, e uma entrada `denyRead` ou `credentials` para `~/.ssh` oculta seus arquivos de chave

969 

970No macOS, mude o remoto para HTTPS, o que exige credenciais HTTPS, como um token de acesso pessoal:

971 

972```bash theme={null}

973git remote set-url origin https://git.example.com/example-org/example-repo.git

974```

975 

976Se você precisar manter o remoto SSH, tire os comandos de rede do git do sandbox com [`excludedCommands`](#run-commands-outside-the-sandbox-with-excludedcommands):

977 

978```json theme={null}

979{

980 "sandbox": {

981 "excludedCommands": ["git fetch *", "git pull *", "git push *"]

982 }

983}

984```

985 

986Essas entradas correspondem a `git push origin main`. Uma chamada que adiciona um `cd`, usa `git -C` ou contém uma substituição de comando permanece no sandbox. Os comandos git excluídos podem alcançar qualquer host, não apenas os que estão em `allowedDomains`.

987 

988`ssh`, `scp` e `rsync` simples via SSH falham pelo motivo que [a entrada sobre clientes de banco de dados](#a-database-client-or-other-non-http-tool-fails-to-reach-an-allowed-host) apresenta.

989 

990<h3 id="a-database-client-or-other-non-http-tool-fails-to-reach-an-allowed-host">

991 Um cliente de banco de dados ou outra ferramenta não HTTP falha ao alcançar um host permitido

992</h3>

993 

994Uma ferramenta que ignora as variáveis de ambiente de proxy não consegue se conectar de dentro do sandbox, mesmo a um host em `allowedDomains`. Um comando em sandbox [não tem rota direta para a rede](#network-isolation), então uma ferramenta que abre sua própria conexão falha. A maioria dos drivers de banco de dados, o `ssh` simples e ferramentas que usam UDP se comportam dessa forma.

995 

996A falha se parece com um erro de rede ou de resolução de nomes:

997 

998* **macOS**: `Operation not permitted`, ou um erro de resolução de nomes como `Could not resolve host`

999* **Linux e WSL2**: `Network is unreachable`, ou um erro de resolução de nomes como `Temporary failure in name resolution`

1000 

1001Uma ferramenta que usa o proxy falha de forma diferente quando seu host não é permitido. Você recebe um prompt de rede, ou a ferramenta recebe uma resposta `403` do proxy.

1002 

1003Para permitir que a ferramenta se conecte, execute o comando que precisa dela fora do sandbox com [`excludedCommands`](#run-commands-outside-the-sandbox-with-excludedcommands). Este exemplo exclui um script e adiciona uma [regra ask](/docs/pt/permissions) para que você aprove cada execução:

1004 

1005```json theme={null}

1006{

1007 "sandbox": {

1008 "excludedCommands": ["python scripts/load_orders.py *"]

1009 },

1010 "permissions": {

1011 "ask": ["Bash(python scripts/load_orders.py *)"]

1012 }

1013}

1014```

1015 

1016O script é executado com seu acesso completo, e o Claude pode editar um script que esteja dentro do seu diretório de trabalho, então revise-o quando o prompt aparecer.

1017 

1018<h3 id="a-command-fails-to-reach-a-server-on-localhost">

1019 Um comando falha ao alcançar um servidor em localhost

1020</h3>

1021 

1022Por padrão, um comando em sandbox não consegue se conectar diretamente a um servidor que está em execução na sua máquina fora do sandbox, como um servidor de desenvolvimento ou um banco de dados em um container. O que você pode alterar depende da sua plataforma:

746 1023 

747* **Comandos falham com um erro host-not-allowed**: muitas ferramentas CLI precisam alcançar hosts específicos. Conceder permissão quando solicitado adiciona o host à sua lista de permitidos para que a ferramenta seja executada dentro do sandbox no futuro.1024* **macOS**: defina [`network.allowLocalBinding`](/docs/pt/settings-reference#sandbox-network-allowlocalbinding) como `true`. Comandos em sandbox podem então escutar em portas de rede e se conectar a qualquer porta em localhost, o que inclui todos os outros serviços escutando ali. Um serviço em localhost que não exige autenticação, como um depurador, pode então agir em nome do comando fora do sandbox, e um comando que escuta em um endereço que não é de loopback aceita conexões de outras máquinas

748* **`jest` trava ou falha**: `watchman` é incompatível com o sandbox. Execute `jest --no-watchman` em vez disso.1025* **Linux e WSL2**: o `localhost` de um comando em sandbox é privado para esse comando. O comando pode escutar em uma porta e alcançar servidores que ele mesmo iniciou. Uma conexão direta a `localhost` ou `127.0.0.1` não alcança servidores no host, e `allowLocalBinding` não tem efeito. Execute o comando que precisa do servidor do host fora do sandbox com [`excludedCommands`](#run-commands-outside-the-sandbox-with-excludedcommands), onde ele não tem limites de sistema de arquivos ou de rede. Para conexões que passam pelo proxy do sandbox, consulte [Nomes de host que resolvem para endereços locais](#hostnames-that-resolve-to-local-addresses)

749* **CLIs baseadas em Go falham na verificação TLS no macOS**: ferramentas como `gh`, `gcloud` e `terraform` podem falhar na verificação TLS sob Seatbelt. Liste essas ferramentas em [`excludedCommands`](/docs/pt/settings-reference#sandbox-excludedcommands). Se você estiver usando `httpProxyPort` com um proxy MITM e CA personalizado, defina [`enableWeakerNetworkIsolation`](/docs/pt/settings-reference#sandbox-enableweakernetworkisolation) como `true` em vez disso.

750* **`open`, `osascript`, ou fluxos de autenticação baseados em navegador falham com erro `-600` no macOS**: o sandbox bloqueia Apple Events por padrão. Defina [`allowAppleEvents`](/docs/pt/settings-reference#sandbox-allowappleevents) como `true` em suas configurações de usuário, gerenciadas ou CLI para permitir. As configurações do projeto são ignoradas para esta chave. Habilitá-lo remove o isolamento de execução de código, pois comandos em sandbox podem então iniciar outras aplicações sem sandbox sem prompt do usuário e enviar comandos AppleScript para aplicações em execução, sujeito ao prompt de consentimento de automação do macOS (TCC). Alternativamente, adicione o comando a [`excludedCommands`](/docs/pt/settings-reference#sandbox-excludedcommands).

751* **Comandos `docker` falham**: `docker` é incompatível com o sandbox. Adicione `docker *` a [`excludedCommands`](/docs/pt/settings-reference#sandbox-excludedcommands).

752* **`pbcopy`, `xclip`, ou `wl-copy` não atualiza a área de transferência**: esses utilitários de área de transferência podem falhar ao alcançar a área de transferência do sistema de dentro do sandbox, caso em que o texto canalizado para eles não chega.

753 1026 

754 Para colocar a saída do Claude em sua área de transferência, peça ao Claude para imprimi-la em sua resposta e execute [`/copy`](/docs/pt/commands). `/copy` escreve na área de transferência do processo Claude Code em vez de um comando em sandbox.1027Este exemplo ativa a configuração para macOS:

755 1028 

756 Quando Claude canaliza texto para uma dessas ferramentas, adicionar a ferramenta a [`excludedCommands`](/docs/pt/settings-reference#sandbox-excludedcommands) não tira essa chamada do sandbox por si só.1029```json theme={null}

757* **Um comando git falha com `unable to unlink old`**: `git merge`, `git checkout` e comandos similares falham dessa forma quando precisam substituir um arquivo que o sandbox nega gravações, seja esse arquivo sob um [caminho protegido](#protected-paths) como `.claude/skills`, sob uma de suas entradas `denyWrite`, ou fora dos diretórios que o sandbox permite que comandos gravem. No Linux e WSL2 o erro termina com `Read-only file system`.1030{

1031 "sandbox": {

1032 "network": {

1033 "allowLocalBinding": true

1034 }

1035 }

1036}

1037```

1038 

1039Uma entrada em `allowedDomains` para `localhost` se aplica a conexões que passam pelo proxy, então ela não altera uma conexão direta. O Claude Code define `NO_PROXY` para comandos em sandbox para que eles se conectem a `localhost` diretamente em vez de através do proxy. A entrada também expõe todas as portas do localhost da sua máquina a um comando que usa o proxy. Para um nome de host de desenvolvimento que aponta para `127.0.0.1`, consulte [Um nome de host permitido é recusado com `resolved to a loopback address`](#an-allowed-hostname-is-refused-with-resolved-to-a-loopback-address).

1040 

1041<h3 id="an-allowed-hostname-is-refused-with-resolved-to-a-loopback-address">

1042 Um nome de host permitido é recusado com `resolved to a loopback address`

1043</h3>

1044 

1045O proxy do sandbox recusa um nome de host permitido que [resolve para um endereço local](#hostnames-that-resolve-to-local-addresses), o que afeta nomes de desenvolvimento como `myapp.test` que apontam para `127.0.0.1`. O comando vê uma resposta `403` cujo corpo indica o tipo de endereço, como `Connection to myapp.test blocked: resolved to a loopback address`.

1046 

1047Adicione o endereço IP para o qual o nome resolve junto com o nome de host em `allowedDomains`, cada um com a porta em que seu servidor escuta:

1048 

1049```json theme={null}

1050{

1051 "sandbox": {

1052 "network": {

1053 "allowedDomains": ["myapp.test:3000", "127.0.0.1:3000"]

1054 }

1055 }

1056}

1057```

758 1058 

759 Após a falha, Claude pode [oferecer executar novamente o comando fora do sandbox](#the-unsandboxed-retry-escape-hatch); aprove essa nova tentativa ou execute o comando git você mesmo em outro terminal. Se você definiu `allowUnsandboxedCommands` como `false`, Claude não pode oferecer a nova tentativa, então execute o comando você mesmo. Se o mesmo comando git falhar frequentemente, adicione-o a [`excludedCommands`](/docs/pt/settings-reference#sandbox-excludedcommands).1059Uma entrada de endereço IP sem porta permite que comandos em sandbox alcancem todos os serviços escutando nesse endereço.

760* **Bubblewrap falha ao iniciar dentro de um container**: em um container sem privilégios, bubblewrap não consegue montar um sistema de arquivos `/proc` fresco, então comandos em sandbox falham com um erro `bwrap` como `Can't mount proc on /newroot/proc: Operation not permitted`. Defina [`enableWeakerNestedSandbox`](/docs/pt/settings-reference#sandbox-enableweakernestedsandbox) como `true` para que o sandbox interno faça bind-mount do `/proc` existente do container em vez disso. Use esta configuração apenas quando o container externo já fornece o limite de isolamento que você precisa, pois expõe informações de processo a comandos em sandbox que uma montagem `/proc` fresca ocultaria.

761* **Arquivos de somente leitura de 0 bytes aparecem em caminhos de configurações `.claude`, e "Sim, e não pergunte novamente" não salva**: no Linux e WSL2, o sandbox mantém uma negação de gravação em um arquivo que ainda não existe criando um espaço reservado de somente leitura de 0 bytes lá enquanto um comando em sandbox é executado. O sandbox remove o espaço reservado depois. Se uma sessão for encerrada antes dessa limpeza ser executada, por exemplo por SIGKILL, os espaços reservados permanecem. Sessões posteriores os vinculam como somente leitura novamente a cada início, então uma gravação de configurações como salvar uma escolha de permissão falha onde um está.

762 1060 

763 Execute `claude doctor` para listar os arquivos de espaço reservado restantes. O aviso [`Stale sandbox mask files left by a killed session`](/docs/pt/errors#stale-sandbox-mask-files-left-by-a-killed-session) nomeia até três deles e conta o resto. Delete cada arquivo com `rm` enquanto nenhuma outra sessão Claude Code está sendo executada nesse projeto. Antes da v2.1.257, Claude Code deixava os mesmos espaços reservados para trás sem sinalizá-los.1061Antes da v2.1.284, o proxy se conectava a qualquer endereço para o qual um nome de host permitido resolvesse.

764* **`--dangerously-skip-permissions` falha como root**: este sinalizador é bloqueado ao executar como root ou via sudo no Linux e macOS, porque acesso root combinado com nenhum prompt de permissão pode modificar qualquer arquivo ou serviço no sistema. A verificação é ignorada automaticamente dentro de um sandbox reconhecido. Para executar autonomamente em um container, use a configuração [dev container](/docs/pt/devcontainer), que executa Claude Code como um usuário não-root.1062 

1063<h3 id="/sandbox-fails-with-sandbox-settings-are-overridden-by-a-higher-priority-configuration">

1064 `/sandbox` falha com `Sandbox settings are overridden by a higher-priority configuration`

1065</h3>

1066 

1067`/sandbox` imprime `Error: Sandbox settings are overridden by a higher-priority configuration and cannot be changed locally.` em vez de abrir seu painel quando um [nível de configurações](/docs/pt/settings#settings-precedence) superior define `sandbox.enabled`, `sandbox.autoAllowBashIfSandboxed` ou `sandbox.allowUnsandboxedCommands`. O painel salva suas escolhas em `.claude/settings.local.json`, e um valor salvo ali não pode sobrescrever esses níveis.

1068 

1069As configurações gerenciadas e `--settings` têm prioridade sobre as configurações locais. Para ver quais delas esta sessão carregou, execute `/status` e leia a linha `Setting sources`:

1070 

1071* **`Command line arguments`**: se você iniciou o Claude Code com [`--settings`](/docs/pt/settings#change-a-setting-for-one-session), verifique se o arquivo ou JSON que você passou define uma dessas chaves. Se definir, altere o valor ali ou inicie o Claude Code novamente sem essas chaves.

1072* **`Enterprise managed settings`**: as configurações gerenciadas da sua organização estão carregadas. Se elas definirem uma dessas chaves, você não pode alterar essa chave pelo `/sandbox` nem por nenhum arquivo de configurações que você controla, então consulte seu administrador.

765 1073 

766<h2 id="limitations">1074<h2 id="limitations">

767 Limitações1075 Limitações


781 1089 

782* **Escalação de privilégio via Unix sockets**: a configuração `allowUnixSockets` pode inadvertidamente conceder acesso a serviços do sistema que poderiam levar a bypasses de sandbox. Por exemplo, permitir acesso a `/var/run/docker.sock` efetivamente concede acesso ao sistema host através do socket Docker. Considere cuidadosamente quaisquer Unix sockets que você permita através do sandbox.1090* **Escalação de privilégio via Unix sockets**: a configuração `allowUnixSockets` pode inadvertidamente conceder acesso a serviços do sistema que poderiam levar a bypasses de sandbox. Por exemplo, permitir acesso a `/var/run/docker.sock` efetivamente concede acesso ao sistema host através do socket Docker. Considere cuidadosamente quaisquer Unix sockets que você permita através do sandbox.

783* **Escalação de permissão de sistema de arquivos**: permissões de escrita de sistema de arquivos excessivamente amplas podem habilitar ataques de escalação de privilégio. Permitir escritas em diretórios contendo executáveis em `$PATH`, diretórios de configuração do sistema ou arquivos de configuração de shell do usuário como `.bashrc` ou `.zshrc` pode levar a execução de código em diferentes contextos de segurança quando outros usuários ou processos do sistema acessam esses arquivos.1091* **Escalação de permissão de sistema de arquivos**: permissões de escrita de sistema de arquivos excessivamente amplas podem habilitar ataques de escalação de privilégio. Permitir escritas em diretórios contendo executáveis em `$PATH`, diretórios de configuração do sistema ou arquivos de configuração de shell do usuário como `.bashrc` ou `.zshrc` pode levar a execução de código em diferentes contextos de segurança quando outros usuários ou processos do sistema acessam esses arquivos.

784* **Força do sandbox Linux**: a implementação Linux fornece isolamento forte de sistema de arquivos e rede, mas inclui um modo `enableWeakerNestedSandbox` que o habilita a funcionar dentro de ambientes Docker sem namespaces privilegiados, ou em hosts Linux onde namespaces de usuário sem privilégios são desabilitados por sysctl. Esta opção enfraquece consideravelmente a segurança e deve ser usada apenas quando isolamento adicional é de outra forma imposto.1092* **Força do sandbox Linux**: a implementação Linux fornece isolamento forte de sistema de arquivos e rede, mas inclui um modo `enableWeakerNestedSandbox` que o habilita a funcionar dentro de ambientes Docker sem namespaces privilegiados. Esta opção enfraquece consideravelmente a segurança e deve ser usada apenas quando isolamento adicional é de outra forma imposto.

785* **Apple Events no macOS**: o sandbox macOS bloqueia Apple Events por padrão. A configuração `allowAppleEvents` remove essa restrição para que ferramentas como `open` e `osascript` funcionem, mas remove isolamento de execução de código: comandos em sandbox podem iniciar outras aplicações sem sandbox sem nenhum prompt do usuário, e podem enviar comandos AppleScript para aplicações em execução, sujeito ao prompt de consentimento de automação macOS por aplicativo (TCC). Isso é apenas honrado a partir de configurações de usuário, gerenciadas ou CLI. Configurações de projeto não podem habilitá-lo.1093* **Apple Events no macOS**: o sandbox macOS bloqueia Apple Events por padrão. A configuração `allowAppleEvents` remove essa restrição para que ferramentas como `open` e `osascript` funcionem, mas remove isolamento de execução de código: comandos em sandbox podem iniciar outras aplicações sem sandbox sem nenhum prompt do usuário, e podem enviar comandos AppleScript para aplicações em execução, sujeito ao prompt de consentimento de automação macOS por aplicativo (TCC). Isso é apenas honrado a partir de configurações de usuário, gerenciadas ou CLI. Configurações de projeto não podem habilitá-lo.

786 1094 

787<h3 id="platform-and-tool-compatibility">

788 Compatibilidade de plataforma e ferramentas

789</h3>

790 

791* **Suporte de plataforma**: suporta macOS, Linux e WSL2. WSL1 e Windows nativo não são suportados.

792* **Overhead de desempenho**: mínimo, mas algumas operações de sistema de arquivos podem ser ligeiramente mais lentas.

793* **Compatibilidade de ferramentas**: algumas ferramentas que exigem padrões de acesso específicos do sistema podem precisar de ajustes de configuração, ou podem precisar ser executadas fora do sandbox.

794 

795<h3 id="scope">1095<h3 id="scope">

796 Escopo1096 Escopo

797</h3>1097</h3>

798 1098 

799O sandbox isola subprocessos Bash. Outras ferramentas operam sob limites diferentes:1099O sandbox isola comandos de shell e seus processos filhos. [O que é executado fora do sandbox](#what-runs-outside-the-sandbox) lista as ferramentas e os processos auxiliares que ele não cobre. Computer use e subagentes se relacionam com o sandbox da seguinte forma:

800 1100 

801* **Ferramentas de arquivo integradas**: Read, Edit e Write usam o sistema de permissão diretamente em vez de serem executadas através do sandbox. Consulte [permissions](/docs/pt/permissions).

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).1101* **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.1102* **Subagentes**: [subagentes](/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 subagente 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.1103* **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 1104 

806<Warning>1105<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.1106 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.

security.md +16 −20

Details

20 Arquitetura baseada em permissões20 Arquitetura baseada em permissões

21</h3>21</h3>

22 22 

23No modo Manual, Claude Code começa com permissões somente leitura. Quando Claude Code precisa editar arquivos, executar testes ou executar comandos, ele solicita sua aprovação primeiro, e você escolhe se deseja aprovar a ação uma única vez ou permitir a partir de então.23O modo de permissão de uma sessão define quais ações Claude pode realizar sem perguntar a você primeiro. O modo auto é o modo de permissão inicial integrado para sessões interativas no terminal e no VS Code. [Em qual modo uma sessão começa](/docs/pt/permission-modes#which-mode-a-session-starts-in) aborda versões anteriores, outras superfícies e as configurações que alteram o modo de permissão inicial.

24 24 

25No modo Manual, Claude Code também solicita antes de executar comandos Bash que podem modificar seu sistema. Ele executa um conjunto integrado de [comandos somente leitura](/docs/pt/permissions#read-only-commands) como `ls`, `cat` e `git status` sem solicitar. Você e sua organização configuram essas permissões diretamente.25* **Modo auto**: Um modelo classificador separado revisa as ações em vez de você e bloqueia as que julga inseguras. [Como o classificador avalia ações](/docs/pt/permission-modes#how-the-classifier-evaluates-actions) lista quais ações Claude Code aprova imediatamente, quais envia ao classificador e sobre quais Claude Code ainda pergunta a você. Suas regras ask e deny explícitas ainda se aplicam, e sua organização pode [desativar o modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode)

26* **Modo Manual**: Claude Code começa com permissões somente leitura. Quando precisa editar arquivos, executar testes ou executar comandos, ele pergunta a você primeiro, e você escolhe se deseja aprovar a ação uma única vez ou permiti-la a partir de então. Ele executa um conjunto integrado de [comandos somente leitura](/docs/pt/permissions#read-only-commands) como `ls`, `cat` e `git status` sem perguntar

26 27 

27No [modo automático](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode), um modelo classificador separado revisa as ações em vez de você e bloqueia as que julga inseguras. [Como o classificador avalia ações](/docs/pt/permission-modes#how-the-classifier-evaluates-actions) lista quais ações Claude Code aprova imediatamente, quais envia ao classificador e quais Claude Code ainda solicita sua aprovação. Suas regras ask e deny explícitas ainda se aplicam, e sua organização pode [desativar o modo automático](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode).28Você e sua organização configuram essas permissões diretamente. Para configuração detalhada de permissões, consulte [Permissions](/docs/pt/permissions).

28 

29Qual modo de permissão uma sessão começa depende do seu plano, da superfície a partir da qual você a inicia e de suas configurações e da sua organização; consulte [Permission modes](/docs/pt/permission-modes#which-mode-a-session-starts-in).

30 

31Para configuração detalhada de permissões, consulte [Permissions](/docs/pt/permissions).

32 29 

33<h3 id="built-in-protections">30<h3 id="built-in-protections">

34 Proteções integradas31 Proteções integradas


37Para mitigar riscos em sistemas agentic:34Para mitigar riscos em sistemas agentic:

38 35 

39* **Ferramenta bash em sandbox**: [Sandbox](/docs/pt/sandboxing) comandos bash com isolamento de sistema de arquivos e rede, reduzindo prompts de permissão enquanto mantém a segurança. Configure com `/sandbox` para definir limites onde Claude Code pode trabalhar autonomamente36* **Ferramenta bash em sandbox**: [Sandbox](/docs/pt/sandboxing) comandos bash com isolamento de sistema de arquivos e rede, reduzindo prompts de permissão enquanto mantém a segurança. Configure com `/sandbox` para definir limites onde Claude Code pode trabalhar autonomamente

40* **Limite de diretório de trabalho**: No modo Manual, Claude Code pode escrever apenas na pasta onde foi iniciado e suas subpastas, e não pode modificar arquivos em diretórios pai sem permissão explícita. No modo Manual, Claude Code também solicita antes de ler caminhos fora deste limite com as ferramentas Read, Grep e Glob. Estenda o limite com [diretórios adicionais](/docs/pt/permissions#working-directories) para pular o prompt, ou restrinja o acesso de leitura mais amplo disponível para comandos Bash somente leitura com [regras de sandbox `denyRead`](/docs/pt/sandboxing#filesystem-isolation), que se aplicam apenas quando o sandboxing está ativado37* **Limite de diretório de trabalho**: No modo Manual, Claude Code pergunta a você antes que suas ferramentas de arquivo leiam ou escrevam fora da pasta onde foi iniciado e de suas subpastas. O limite é um prompt de permissão, então um comando Bash que você aprova ainda pode escrever em qualquer lugar onde sua conta de usuário possa escrever

38 * Para ler uma pasta sem o prompt, adicione-a como um [diretório adicional](/docs/pt/permissions#working-directories)

39 * Para restringir comandos Bash no nível do sistema operacional, ative o [sandboxing](/docs/pt/sandboxing#filesystem-isolation)

41* **Mitigação de fadiga de prompt**: Suporte para lista de permissões de comandos seguros frequentemente usados por usuário, por base de código ou por organização40* **Mitigação de fadiga de prompt**: Suporte para lista de permissões de comandos seguros frequentemente usados por usuário, por base de código ou por organização

42* **Modo Accept Edits**: Aprova automaticamente edições de arquivo e um conjunto fixo de comandos Bash do sistema de arquivos como `mkdir`, `touch`, `rm`, `mv`, `cp` e `sed` para caminhos no diretório de trabalho. Outros comandos Bash e caminhos fora do escopo ainda solicitam aprovação41* **Modo Accept Edits**: Aprova automaticamente edições de arquivo e um conjunto fixo de comandos Bash do sistema de arquivos como `mkdir`, `touch`, `rm`, `mv`, `cp` e `sed` para caminhos no diretório de trabalho. Outros comandos Bash e caminhos fora do escopo ainda solicitam aprovação

43 42 


45 Responsabilidade do usuário44 Responsabilidade do usuário

46</h3>45</h3>

47 46 

48Claude Code tem apenas as permissões que você concede. Você é responsável por revisar código e comandos propostos quanto à segurança antes da aprovação.47Você é responsável por revisar código e comandos propostos quanto à segurança antes da aprovação.

49 48 

50<h2 id="protect-against-prompt-injection">49<h2 id="protect-against-prompt-injection">

51 Proteja-se contra injeção de prompt50 Proteja-se contra injeção de prompt


58</h3>57</h3>

59 58 

60* **Sistema de permissões**: No modo Manual, operações sensíveis requerem aprovação explícita59* **Sistema de permissões**: No modo Manual, operações sensíveis requerem aprovação explícita

61* **Análise com reconhecimento de contexto**: Detecta instruções potencialmente prejudiciais analisando a solicitação completa

62* **Sanitização de entrada**: Previne injeção de comando processando entradas do usuário

63* **Aprovação de comando de rede**: Comandos que buscam conteúdo da web como `curl` e `wget` não são aprovados automaticamente por padrão. No modo Manual, eles solicitam aprovação como qualquer outro comando Bash não somente leitura, portanto você ainda pode aprovar uma vez ou adicionar uma regra de permissão explícita como `Bash(curl *)`. Para impedir que Claude os execute, adicione-os a [`permissions.deny`](/docs/pt/permissions#tool-specific-permission-rules). Uma regra de negação corresponde ao comando [conforme escrito](/docs/pt/permissions#bash-rule-limits); para imposição de rede que não depende do texto do comando, consulte [isolamento de rede sandbox](/docs/pt/sandboxing#network-isolation)60* **Aprovação de comando de rede**: Comandos que buscam conteúdo da web como `curl` e `wget` não são aprovados automaticamente por padrão. No modo Manual, eles solicitam aprovação como qualquer outro comando Bash não somente leitura, portanto você ainda pode aprovar uma vez ou adicionar uma regra de permissão explícita como `Bash(curl *)`. Para impedir que Claude os execute, adicione-os a [`permissions.deny`](/docs/pt/permissions#tool-specific-permission-rules). Uma regra de negação corresponde ao comando [conforme escrito](/docs/pt/permissions#bash-rule-limits); para imposição de rede que não depende do texto do comando, consulte [isolamento de rede sandbox](/docs/pt/sandboxing#network-isolation)

64 61 

65<h3 id="privacy-safeguards">62<h3 id="privacy-safeguards">


79</h3>76</h3>

80 77 

81* **Aprovação de solicitação de rede**: No modo Manual, a maioria das ferramentas que fazem solicitações de rede requerem aprovação do usuário por padrão78* **Aprovação de solicitação de rede**: No modo Manual, a maioria das ferramentas que fazem solicitações de rede requerem aprovação do usuário por padrão

82* **Janelas de contexto isoladas**: Web fetch usa uma janela de contexto separada para evitar injetar prompts potencialmente maliciosos79* **Resumos de páginas web**: Na maioria das buscas, WebFetch executa uma chamada de modelo separada sobre a página, e Claude recebe a resposta dessa chamada em vez da página bruta. Consulte [comportamento da ferramenta WebFetch](/docs/pt/tools-reference#webfetch-tool-behavior)

83* **Verificação de confiança**: Primeiras execuções de base de código e novos MCP servers requerem verificação de confiança80* **Verificação de confiança**: Em uma sessão interativa, Claude Code mostra o diálogo de confiança do workspace quando você o inicia em uma pasta na qual ainda não confiou. Servidores no `.mcp.json` de um projeto têm seu próprio prompt de aprovação, e [Escopo de projeto](/docs/pt/mcp#project-scope) lista as sessões que o ignoram

84 * Nota: A verificação de confiança é desabilitada ao executar de forma não interativa com a flag `-p`81 * Nota: Uma sessão `-p` não mostra nenhum dos dois prompts. [O que é executado antes de você confiar em uma pasta](/docs/pt/permissions#what-runs-before-you-trust-a-folder) lista o que os arquivos de um repositório podem executar nesse caso

85 * Nota: Quando você inicia Claude Code diretamente no seu diretório inicial, a aceitação de confiança é mantida apenas para a sessão atual e não é gravada em disco, portanto o prompt reaparece a cada inicialização. Não há configuração para persistir isso. Inicie Claude Code a partir de um subdiretório do projeto, onde a aceitação de confiança é salva por diretório82 * Nota: Quando você inicia Claude Code diretamente no seu diretório pessoal, a aceitação de confiança é mantida apenas para a sessão atual e não é gravada em disco, portanto o prompt reaparece a cada inicialização. Não há configuração para persistir isso. Inicie Claude Code a partir de um subdiretório do projeto, onde a aceitação de confiança é salva por diretório

86* **Detecção de injeção de comando**: No modo Manual, comandos bash suspeitos requerem aprovação manual mesmo se previamente permitidos83* **Detecção de injeção de comando**: No modo Manual, Claude Code pergunta antes de executar um comando Bash que não consegue analisar completamente. Uma regra de permissão para parte de um comando, como `Bash(git *)`, não ignora esse prompt. [Comandos em sandbox](/docs/pt/permissions#how-permissions-interact-with-sandboxing) podem ser executados sem ele

87* **Correspondência fail-closed**: No modo Manual, comandos não correspondidos requerem aprovação por padrão84* **Correspondência fail-closed**: No modo Manual, comandos não correspondidos requerem aprovação por padrão

88* **Descrições em linguagem natural**: Comandos bash complexos incluem explicações para compreensão do usuário85* **Armazenamento seguro de credenciais**: Chaves de API e tokens são armazenados no Keychain do macOS quando disponível. No Linux, eles são armazenados em um arquivo com modo `0600`, e no Windows em um arquivo que herda os controles de acesso do diretório do seu perfil de usuário. Consulte [Credential Management](/docs/pt/authentication#credential-management)

89* **Armazenamento seguro de credenciais**: Chaves de API e tokens são armazenados no Keychain do macOS quando disponível, e protegidos por permissões de arquivo no Windows e Linux. Consulte [Credential Management](/docs/pt/authentication#credential-management)

90 86 

91<Warning>87<Warning>

92 **Risco de segurança do WebDAV no Windows**: Ao executar Claude Code no Windows, recomendamos contra ativar WebDAV ou permitir que Claude Code acesse caminhos como `\\*` que podem conter subdiretórios WebDAV. [WebDAV foi descontinuado pela Microsoft](https://learn.microsoft.com/en-us/windows/whats-new/deprecated-features#:~:text=The%20Webclient%20\(WebDAV\)%20service%20is%20deprecated) devido a riscos de segurança. Ativar WebDAV pode permitir que Claude Code dispare solicitações de rede para hosts remotos, contornando o sistema de permissões.88 **Risco de segurança do WebDAV no Windows**: Ao executar Claude Code no Windows, recomendamos contra ativar WebDAV ou permitir que Claude Code acesse caminhos como `\\*` que podem conter subdiretórios WebDAV. [WebDAV foi descontinuado pela Microsoft](https://learn.microsoft.com/en-us/windows/whats-new/deprecated-features#:~:text=The%20Webclient%20\(WebDAV\)%20service%20is%20deprecated) devido a riscos de segurança. Ativar WebDAV pode permitir que Claude Code dispare solicitações de rede para hosts remotos, contornando o sistema de permissões.


110 Segurança do MCP106 Segurança do MCP

111</h2>107</h2>

112 108 

113Claude Code permite que os usuários configurem servidores Model Context Protocol (MCP). A lista de servidores MCP permitidos é configurada no seu código-fonte, como parte das configurações do Claude Code que os engenheiros verificam no controle de versão.109Você pode conectar o Claude Code a servidores Model Context Protocol (MCP). Servidores com escopo de projeto são definidos em `.mcp.json`, que você pode adicionar ao controle de versão. Servidores em [outros escopos](/docs/pt/mcp#mcp-installation-scopes) e [conectores do claude.ai](/docs/pt/mcp#how-connectors-reach-claude-code) são configurados fora do repositório, e plugins também podem adicionar servidores, portanto revisar `.mcp.json` não mostra todos os servidores que uma sessão pode carregar. Para restringir quais servidores são executados na sua organização, consulte [Configuração gerenciada de MCP](/docs/pt/managed-mcp).

114 110 

115Encorajamos escrever seus próprios servidores MCP ou usar servidores MCP de provedores em que você confia. Você é capaz de configurar permissões do Claude Code para servidores MCP. Anthropic analisa conectores em relação aos seus [critérios de listagem](https://claude.com/docs/connectors/building/review-criteria) antes de adicioná-los ao [Diretório Anthropic](https://claude.ai/directory), mas não realiza auditoria de segurança ou gerencia nenhum servidor MCP.111Encorajamos escrever seus próprios servidores MCP ou usar servidores MCP de provedores em que você confia. Você é capaz de configurar permissões do Claude Code para servidores MCP. Anthropic analisa conectores em relação aos seus [critérios de listagem](https://claude.com/docs/connectors/building/review-criteria) antes de adicioná-los ao [Diretório Anthropic](https://claude.ai/directory), mas não realiza auditoria de segurança ou gerencia nenhum servidor MCP.

116 112 


129* **Máquinas virtuais isoladas**: Cada sessão em nuvem é executada em uma VM isolada gerenciada pela Anthropic125* **Máquinas virtuais isoladas**: Cada sessão em nuvem é executada em uma VM isolada gerenciada pela Anthropic

130* **Controles de acesso à rede**: O acesso à rede é limitado por padrão e pode ser configurado para ser desabilitado ou permitir apenas domínios específicos126* **Controles de acesso à rede**: O acesso à rede é limitado por padrão e pode ser configurado para ser desabilitado ou permitir apenas domínios específicos

131* **Proteção de credenciais**: As credenciais do GitHub são armazenadas criptografadas nos servidores da Anthropic e nunca entram na VM da sessão. A VM mantém uma credencial de curta duração com escopo para essa sessão, e o tráfego do GitHub passa por um [proxy da Anthropic](/docs/pt/cloud-environments#github-proxy) que anexa a credencial do GitHub no lado do servidor. Consulte [Opções de autenticação do GitHub](/docs/pt/claude-code-on-the-web#github-authentication-options) para saber como você concede acesso127* **Proteção de credenciais**: As credenciais do GitHub são armazenadas criptografadas nos servidores da Anthropic e nunca entram na VM da sessão. A VM mantém uma credencial de curta duração com escopo para essa sessão, e o tráfego do GitHub passa por um [proxy da Anthropic](/docs/pt/cloud-environments#github-proxy) que anexa a credencial do GitHub no lado do servidor. Consulte [Opções de autenticação do GitHub](/docs/pt/claude-code-on-the-web#github-authentication-options) para saber como você concede acesso

132* **Restrições de branch**: Operações de git push são restritas ao branch de trabalho atual128* **Restrições de push**: O [proxy do GitHub](/docs/pt/cloud-environments#github-proxy) rejeita exclusões de branch e pushes de qualquer coisa que não seja um branch, como uma tag. O GitHub decide quais branches uma sessão pode atualizar aplicando as regras de proteção de branch e os rulesets do seu repositório ao acesso do GitHub que você conectou. Uma regra que esse acesso pode contornar não bloqueia o push de uma sessão

133* **Registro de auditoria**: Todas as operações em sessões em nuvem são registradas para fins de conformidade e auditoria129* **Registro de auditoria**: Todas as operações em sessões em nuvem são registradas para fins de conformidade e auditoria

134* **Limpeza automática**: VMs de sessão são recuperadas após um período de inatividade130* **Limpeza automática**: VMs de sessão são recuperadas após um período de inatividade

135* **Exclusão**: Você pode [excluir uma sessão](/docs/pt/claude-code-on-the-web#delete-sessions) a qualquer momento. Consulte [Fluxo de dados de execução em nuvem](/docs/pt/data-usage#cloud-execution-data-flow-and-dependencies) para saber o que a Anthropic armazena para uma sessão em nuvem131* **Exclusão**: Você pode [excluir uma sessão](/docs/pt/claude-code-on-the-web#delete-sessions) a qualquer momento. Consulte [Fluxo de dados de execução em nuvem](/docs/pt/data-usage#cloud-execution-data-flow-and-dependencies) para saber o que a Anthropic armazena para uma sessão em nuvem

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

216 "enabledPlugins": {216 "enabledPlugins": {

217 "code-formatter@acme-tools": true217 "code-formatter@acme-tools": true

218 },218 },

219 // Comandos de sandbox: diretório de compilação gravável; npm e example.com pré-permitidos, outros hosts ainda solicitam219 // Comandos em sandbox: diretório de build gravável; npm e example.com pré-permitidos

220 "sandbox": {220 "sandbox": {

221 "enabled": true,221 "enabled": true,

222 "filesystem": {222 "filesystem": {


250* [`allowManagedPermissionRulesOnly`](/docs/pt/settings-reference#allowmanagedpermissionrulesonly) e [`allowManagedMcpServersOnly`](/docs/pt/settings-reference#allowmanagedmcpserversonly) fazem as listas de permissão gerenciadas e MCP as únicas que se aplicam250* [`allowManagedPermissionRulesOnly`](/docs/pt/settings-reference#allowmanagedpermissionrulesonly) e [`allowManagedMcpServersOnly`](/docs/pt/settings-reference#allowmanagedmcpserversonly) fazem as listas de permissão gerenciadas e MCP as únicas que se aplicam

251* `allowedMcpServers` fixa o servidor MCP pela URL251* `allowedMcpServers` fixa o servidor MCP pela URL

252* `strictKnownMarketplaces` permite um marketplace de plugins252* `strictKnownMarketplaces` permite um marketplace de plugins

253* `sandbox` coloca comandos em sandbox com uma lista de permissão de rede fixa e sem retry não sandboxed253* `sandbox` coloca comandos em sandbox com uma allowlist de rede fixa e sem nova tentativa fora do sandbox. Sua chave `failIfUnavailable` [impede que Claude Code seja iniciado onde o sandbox não pode ser executado](/docs/pt/sandboxing#enforce-sandboxing-with-managed-settings)

254* `requiredMinimumVersion` define uma versão mínima de Claude Code254* `requiredMinimumVersion` define uma versão mínima de Claude Code

255* `cleanupPeriodDays` encurta a retenção de transcrições de sessão e outros dados locais para sete dias255* `cleanupPeriodDays` encurta a retenção de transcrições de sessão e outros dados locais para sete dias

256* `companyAnnouncements` mostra uma mensagem na inicialização256* `companyAnnouncements` mostra uma mensagem na inicialização

settings-reference.md +164 −131

Details

596| [`agentPushNotifEnabled`](#agentpushnotifenabled) | Permita que Claude envie uma [notificação push para seu telefone](/docs/pt/remote-control#mobile-push-notifications) quando decidir | Remoto, desktop e notificações | Any file |596| [`agentPushNotifEnabled`](#agentpushnotifenabled) | Permita que Claude envie uma [notificação push para seu telefone](/docs/pt/remote-control#mobile-push-notifications) quando decidir | Remoto, desktop e notificações | Any file |

597| [`allowAllClaudeAiMcps`](#allowallclaudeaimcps) | Carregue os [conectores claude.ai](/docs/pt/mcp) que Claude Code busca por conta própria junto com um [`managed-mcp.json`](/docs/pt/managed-mcp#exclusive-control-with-managed-mcp-json) implantado | MCP | Managed |597| [`allowAllClaudeAiMcps`](#allowallclaudeaimcps) | Carregue os [conectores claude.ai](/docs/pt/mcp) que Claude Code busca por conta própria junto com um [`managed-mcp.json`](/docs/pt/managed-mcp#exclusive-control-with-managed-mcp-json) implantado | MCP | Managed |

598| [`allowClaudeInChromeWithManagedMcp`](#allowclaudeinchromewithmanagedmcp) | Permita que o servidor [Claude in Chrome](/docs/pt/chrome) integrado seja executado junto com um [`managed-mcp.json`](/docs/pt/managed-mcp#exclusive-control-with-managed-mcp-json) implantado | MCP | Managed |598| [`allowClaudeInChromeWithManagedMcp`](#allowclaudeinchromewithmanagedmcp) | Permita que o servidor [Claude in Chrome](/docs/pt/chrome) integrado seja executado junto com um [`managed-mcp.json`](/docs/pt/managed-mcp#exclusive-control-with-managed-mcp-json) implantado | MCP | Managed |

599| [`allowedChannelPlugins`](#allowedchannelplugins) | Substitua a lista de permissões padrão de [plugins de canal](/docs/pt/channels#restrict-which-channel-plugins-can-run) que podem enviar mensagens | Plugins e skills | Managed |599| [`allowedChannelPlugins`](#allowedchannelplugins) | Substitua a allowlist padrão de [plugins de canal](/docs/pt/channels#restrict-which-channel-plugins-can-run) que podem enviar mensagens | Plugins e skills | Managed |

600| [`allowedHttpHookUrls`](#allowedhttphookurls) | Limite quais URLs os [hooks HTTP](/docs/pt/hooks) podem atingir | Hooks e automação | Any file |600| [`allowedHttpHookUrls`](#allowedhttphookurls) | Limite quais URLs os [hooks HTTP](/docs/pt/hooks) podem atingir | Hooks e automação | Any file |

601| [`allowedMcpServers`](#allowedmcpservers) | Lista de permissões de quais [servidores MCP](/docs/pt/mcp) os usuários podem adicionar | MCP | Any file |601| [`allowedMcpServers`](#allowedmcpservers) | Defina a allowlist de quais [servidores MCP](/docs/pt/mcp) os usuários podem adicionar | MCP | Any file |

602| [`allowedProviders`](#allowedproviders) | Limite quais [provedores de API](/docs/pt/third-party-integrations) uma máquina pode usar | Autenticação e provedores | Managed |602| [`allowedProviders`](#allowedproviders) | Limite quais [provedores de API](/docs/pt/third-party-integrations) uma máquina pode usar | Autenticação e provedores | Managed |

603| [`allowManagedHooksOnly`](#allowmanagedhooksonly) | Execute apenas os [hooks](/docs/pt/hooks) que sua organização implanta | Hooks e automação | Managed |603| [`allowManagedHooksOnly`](#allowmanagedhooksonly) | Execute apenas os [hooks](/docs/pt/hooks) que sua organização implanta | Hooks e automação | Managed |

604| [`allowManagedMcpServersOnly`](#allowmanagedmcpserversonly) | Faça a lista de permissões de [MCP](/docs/pt/mcp) gerenciada ser a única que se aplica | MCP | Managed |604| [`allowManagedMcpServersOnly`](#allowmanagedmcpserversonly) | Faça a allowlist de [MCP](/docs/pt/mcp) gerenciada ser a única que se aplica | MCP | Managed |

605| [`allowManagedPermissionRulesOnly`](#allowmanagedpermissionrulesonly) | Faça as [configurações gerenciadas](/docs/pt/managed-settings) serem a única fonte de [regras de permissão](/docs/pt/permissions#managed-settings) | Configurações de permissão | Managed |605| [`allowManagedPermissionRulesOnly`](#allowmanagedpermissionrulesonly) | Faça as [configurações gerenciadas](/docs/pt/managed-settings) serem a única fonte de [regras de permissão](/docs/pt/permissions#managed-settings) | Configurações de permissão | Managed |

606| [`alwaysThinkingEnabled`](#alwaysthinkingenabled) | Desative o [pensamento estendido](/docs/pt/model-config#extended-thinking) para cada sessão | Modelo e respostas | Any file |606| [`alwaysThinkingEnabled`](#alwaysthinkingenabled) | Desative o [pensamento estendido](/docs/pt/model-config#extended-thinking) para cada sessão | Modelo e respostas | Any file |

607| [`apiKeyHelper`](#apikeyhelper) | Gere a [credencial de API](/docs/pt/authentication#credential-management) com seu próprio comando | Autenticação e provedores | Any file |607| [`apiKeyHelper`](#apikeyhelper) | Gere a [credencial de API](/docs/pt/authentication#credential-management) com seu próprio comando | Autenticação e provedores | Any file |


628| [`awsAuthRefresh`](#awsauthrefresh) | Atualize as [credenciais Bedrock](/docs/pt/amazon-bedrock#advanced-credential-configuration) expiradas em `.aws` com seu próprio comando | Autenticação e provedores | Any file |628| [`awsAuthRefresh`](#awsauthrefresh) | Atualize as [credenciais Bedrock](/docs/pt/amazon-bedrock#advanced-credential-configuration) expiradas em `.aws` com seu próprio comando | Autenticação e provedores | Any file |

629| [`awsCredentialExport`](#awscredentialexport) | Forneça as [credenciais Bedrock](/docs/pt/amazon-bedrock#advanced-credential-configuration) como JSON a partir de seu próprio comando | Autenticação e provedores | Any file |629| [`awsCredentialExport`](#awscredentialexport) | Forneça as [credenciais Bedrock](/docs/pt/amazon-bedrock#advanced-credential-configuration) como JSON a partir de seu próprio comando | Autenticação e provedores | Any file |

630| [`axScreenReader`](#axscreenreader) | Renderize a [saída amigável ao leitor de tela](/docs/pt/accessibility) | Interface e terminal | Any file |630| [`axScreenReader`](#axscreenreader) | Renderize a [saída amigável ao leitor de tela](/docs/pt/accessibility) | Interface e terminal | Any file |

631| [`bashEditDiffEnabled`](#basheditdiffenabled) | Registre os [arquivos que um comando Bash alterou](/docs/pt/hooks#bash) em cada modo de permissão | Interface e terminal | User or managed |631| [`bashEditDiffEnabled`](#basheditdiffenabled) | Registre os [arquivos que foram alterados enquanto um comando Bash era executado](/docs/pt/hooks#bash) em cada modo de permissão | Interface e terminal | User or managed |

632| [`bashOutputMaxChars`](#bashoutputmaxchars) | Defina quanto da [saída](/docs/pt/tools-reference#output-limits) de um comando bem-sucedido Claude recebe inline | Memória e contexto | Any file |632| [`bashOutputMaxChars`](#bashoutputmaxchars) | Defina quanto da [saída](/docs/pt/tools-reference#output-limits) de um comando bem-sucedido Claude recebe inline | Memória e contexto | Any file |

633| [`blockedMarketplaces`](#blockedmarketplaces) | Bloqueie as fontes do [marketplace de plugins](/docs/pt/plugins/overview) para sua organização | Plugins e skills | Managed |633| [`blockedMarketplaces`](#blockedmarketplaces) | Bloqueie as fontes do [marketplace de plugins](/docs/pt/plugins/overview) para sua organização | Plugins e skills | Managed |

634| [`browserExternalPageTools`](#browserexternalpagetools) | Mantenha as ferramentas de Claude desativadas em páginas externas no painel [desktop](/docs/pt/desktop) Browser | Ferramentas | Managed |634| [`browserExternalPageTools`](#browserexternalpagetools) | Mantenha as ferramentas de Claude desativadas em páginas externas no painel [desktop](/docs/pt/desktop) Browser | Ferramentas | Managed |


661| [`disabledMcpjsonServers`](#disabledmcpjsonservers) | Rejeite servidores específicos do [`.mcp.json`](/docs/pt/mcp#project-scope) de um projeto | MCP | Any file |661| [`disabledMcpjsonServers`](#disabledmcpjsonservers) | Rejeite servidores específicos do [`.mcp.json`](/docs/pt/mcp#project-scope) de um projeto | MCP | Any file |

662| [`disableMobileSimulatorTools`](#disablemobilesimulatortools) | Bloqueie as ferramentas de Claude no painel [desktop](/docs/pt/desktop) iOS Simulator | Ferramentas | Managed |662| [`disableMobileSimulatorTools`](#disablemobilesimulatortools) | Bloqueie as ferramentas de Claude no painel [desktop](/docs/pt/desktop) iOS Simulator | Ferramentas | Managed |

663| [`disableRemoteControl`](#disableremotecontrol) | Desative o [Remote Control](/docs/pt/remote-control) em todos os lugares onde pode começar | Remoto, desktop e notificações | Any file |663| [`disableRemoteControl`](#disableremotecontrol) | Desative o [Remote Control](/docs/pt/remote-control) em todos os lugares onde pode começar | Remoto, desktop e notificações | Any file |

664| [`disableSideloadFlags`](#disablesideloadflags) | Rejeite os sinalizadores CLI que carregam [plugins](/docs/pt/plugins/overview), [subagentes](/docs/pt/sub-agents) e [servidores MCP](/docs/pt/mcp) | Configurações empresariais e gerenciadas | Managed |664| [`disableSideloadFlags`](#disablesideloadflags) | Rejeite as flags CLI que carregam [plugins](/docs/pt/plugins/overview), [subagentes](/docs/pt/sub-agents) e [servidores MCP](/docs/pt/mcp) | Configurações empresariais e gerenciadas | Managed |

665| [`disableSkillShellExecution`](#disableskillshellexecution) | Impeça [skills](/docs/pt/skills) e comandos personalizados de executar shell inline | Plugins e skills | Any file |665| [`disableSkillShellExecution`](#disableskillshellexecution) | Impeça [skills](/docs/pt/skills) e comandos personalizados de executar shell inline | Plugins e skills | Any file |

666| [`disableWorkflows`](#disableworkflows) | Desative [workflows dinâmicos](/docs/pt/workflows) para todos; use `enableWorkflows` para você mesmo | Hooks e automação | Any file |666| [`disableWorkflows`](#disableworkflows) | Desative [workflows dinâmicos](/docs/pt/workflows) para todos; use `enableWorkflows` para você mesmo | Hooks e automação | Any file |

667| [`editorMode`](#editormode) | Use [atalhos de teclado vim](/docs/pt/interactive-mode#vim-editor-mode) no prompt de entrada | Interface e terminal | Any file |667| [`editorMode`](#editormode) | Use [atalhos de teclado vim](/docs/pt/interactive-mode#vim-editor-mode) no prompt de entrada | Interface e terminal | Any file |


672| [`enabledMcpjsonServers`](#enabledmcpjsonservers) | Aprove servidores específicos do [`.mcp.json`](/docs/pt/mcp#project-server-approvals-and-workspace-trust) de um projeto | MCP | Any file |672| [`enabledMcpjsonServers`](#enabledmcpjsonservers) | Aprove servidores específicos do [`.mcp.json`](/docs/pt/mcp#project-server-approvals-and-workspace-trust) de um projeto | MCP | Any file |

673| [`enabledPlugins`](#enabledplugins) | Ative ou desative [plugins](/docs/pt/plugins/overview) individuais por escopo | Plugins e skills | Any file |673| [`enabledPlugins`](#enabledplugins) | Ative ou desative [plugins](/docs/pt/plugins/overview) individuais por escopo | Plugins e skills | Any file |

674| [`enableWorkflows`](#enableworkflows) | Ative ou desative [workflows dinâmicos](/docs/pt/workflows) contra o padrão de seu plano | Hooks e automação | Any file |674| [`enableWorkflows`](#enableworkflows) | Ative ou desative [workflows dinâmicos](/docs/pt/workflows) contra o padrão de seu plano | Hooks e automação | Any file |

675| [`enforceAvailableModels`](#enforceavailablemodels) | Mantenha a [escolha Padrão de `/model`](/docs/pt/model-config#enforce-the-allowlist-for-the-default-model) dentro de sua lista de permissões `availableModels` | Modelo e respostas | Any file |675| [`enforceAvailableModels`](#enforceavailablemodels) | Mantenha a [escolha Padrão de `/model`](/docs/pt/model-config#enforce-the-allowlist-for-the-default-model) dentro de sua allowlist `availableModels` | Modelo e respostas | Any file |

676| [`env`](#env) | Defina [variáveis de ambiente](/docs/pt/env-vars#in-settings-files) para cada sessão e seus subprocessos | Memória e contexto | Any file |676| [`env`](#env) | Defina [variáveis de ambiente](/docs/pt/env-vars#in-settings-files) para cada sessão e seus subprocessos | Memória e contexto | Any file |

677| [`externalEditorContext`](#externaleditorcontext) | Mostre a última resposta de Claude como comentários quando você pressiona [Ctrl+G](/docs/pt/interactive-mode#general-controls) para editar | Configurações de config global | Global config |677| [`externalEditorContext`](#externaleditorcontext) | Mostre a última resposta de Claude como comentários quando você pressiona [Ctrl+G](/docs/pt/interactive-mode#general-controls) para editar | Configurações de config global | Global config |

678| [`extraKnownMarketplaces`](#extraknownmarketplaces) | Registre [marketplaces](/docs/pt/plugins/overview) para um repositório ou uma organização | Plugins e skills | Any file |678| [`extraKnownMarketplaces`](#extraknownmarketplaces) | Registre [marketplaces](/docs/pt/plugins/overview) para um repositório ou uma organização | Plugins e skills | Any file |


721| [`permissions.defaultMode`](#permissions-defaultmode) | Defina o [modo de permissão](/docs/pt/permission-modes#which-mode-a-session-starts-in) em que novas sessões começam | Configurações de permissão | Any file |721| [`permissions.defaultMode`](#permissions-defaultmode) | Defina o [modo de permissão](/docs/pt/permission-modes#which-mode-a-session-starts-in) em que novas sessões começam | Configurações de permissão | Any file |

722| [`permissions.deny`](#permissions-deny) | Bloqueie [usos de ferramentas](/docs/pt/permissions#permission-rule-syntax) listados, incluindo leituras de arquivos que contêm segredos | Configurações de permissão | Any file |722| [`permissions.deny`](#permissions-deny) | Bloqueie [usos de ferramentas](/docs/pt/permissions#permission-rule-syntax) listados, incluindo leituras de arquivos que contêm segredos | Configurações de permissão | Any file |

723| [`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode) | Impeça qualquer pessoa de entrar no [modo bypassPermissions](/docs/pt/permission-modes#skip-all-checks-with-bypasspermissions-mode) | Configurações de permissão | Any file |723| [`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode) | Impeça qualquer pessoa de entrar no [modo bypassPermissions](/docs/pt/permission-modes#skip-all-checks-with-bypasspermissions-mode) | Configurações de permissão | Any file |

724| [`plansDirectory`](#plansdirectory) | Escolha onde o [modo de plano](/docs/pt/permission-modes#analyze-before-you-edit-with-plan-mode) escreve arquivos de plano | Memória e contexto | Any file |724| [`plansDirectory`](#plansdirectory) | Escolha onde o [modo de planejamento](/docs/pt/permission-modes#analyze-before-you-edit-with-plan-mode) escreve arquivos de plano | Memória e contexto | Any file |

725| [`pluginConfigs`](#pluginconfigs) | Armazene as respostas que você deu ao diálogo de configuração de um [plugin](/docs/pt/plugins/overview) | Plugins e skills | User or managed |725| [`pluginConfigs`](#pluginconfigs) | Armazene as respostas que você deu ao diálogo de configuração de um [plugin](/docs/pt/plugins/overview) | Plugins e skills | User or managed |

726| [`pluginSuggestionMarketplaces`](#pluginsuggestionmarketplaces) | Escolha quais [marketplaces](/docs/pt/plugins/org#restrict-what-users-can-install) podem exibir sugestões de instalação de plugin em `/plugin` | Plugins e skills | Managed |726| [`pluginSuggestionMarketplaces`](#pluginsuggestionmarketplaces) | Escolha quais [marketplaces](/docs/pt/plugins/org#restrict-what-users-can-install) podem exibir sugestões de instalação de plugin em `/plugin` | Plugins e skills | Managed |

727| [`pluginTrustMessage`](#plugintrustmessage) | Adicione seu próprio texto ao aviso de confiança de [plugin](/docs/pt/plugins/overview) | Plugins e skills | Managed |727| [`pluginTrustMessage`](#plugintrustmessage) | Adicione seu próprio texto ao aviso de confiança de [plugin](/docs/pt/plugins/overview) | Plugins e skills | Managed |


737| [`promptSuggestionEnabled`](#promptsuggestionenabled) | Oculte as [sugestões de prompt](/docs/pt/interactive-mode#prompt-suggestions) acinzentadas na caixa de entrada | Interface e terminal | Any file |737| [`promptSuggestionEnabled`](#promptsuggestionenabled) | Oculte as [sugestões de prompt](/docs/pt/interactive-mode#prompt-suggestions) acinzentadas na caixa de entrada | Interface e terminal | Any file |

738| [`prStatusFooterEnabled`](#prstatusfooterenabled) | Desative o [status de revisão de PR](/docs/pt/interactive-mode#pr-review-status) do rodapé do prompt e a verificação de pull request por trás dele | Configurações de config global | Global config |738| [`prStatusFooterEnabled`](#prstatusfooterenabled) | Desative o [status de revisão de PR](/docs/pt/interactive-mode#pr-review-status) do rodapé do prompt e a verificação de pull request por trás dele | Configurações de config global | Global config |

739| [`prUrlTemplate`](#prurltemplate) | Aponte links de PR para uma ferramenta de revisão de código interna em vez de github.com | Git e atribuição | Any file |739| [`prUrlTemplate`](#prurltemplate) | Aponte links de PR para uma ferramenta de revisão de código interna em vez de github.com | Git e atribuição | Any file |

740| [`remote.defaultEnvironmentId`](#remote-defaultenvironmentid) | Escolha o [ambiente de nuvem](/docs/pt/cloud-environments) padrão para `claude --cloud`; um ID `ccpool_` auto-hospedado é somente leitura a partir de configurações de usuário e gerenciadas e `--settings` | Remoto, desktop e notificações | Any file |740| [`remote.defaultEnvironmentId`](#remote-defaultenvironmentid) | Escolha o [ambiente de nuvem](/docs/pt/cloud-environments) padrão para `claude --cloud`; um ID `ccpool_` auto-hospedado é lido apenas das configurações de usuário e gerenciadas e de `--settings` | Remoto, desktop e notificações | Any file |

741| [`remoteControlAtStartup`](#remotecontrolatstartup) | Conecte o [Remote Control](/docs/pt/remote-control#enable-remote-control-for-all-sessions) automaticamente quando uma sessão começar | Remoto, desktop e notificações | Any file |741| [`remoteControlAtStartup`](#remotecontrolatstartup) | Conecte o [Remote Control](/docs/pt/remote-control#enable-remote-control-for-all-sessions) automaticamente quando uma sessão começar | Remoto, desktop e notificações | Any file |

742| [`requiredMaximumVersion`](#requiredmaximumversion) | [Recuse-se a iniciar](/docs/pt/setup#pin-a-minimum-version) em uma versão mais recente do que sua organização permite | Atualizações e versionamento | Managed |742| [`requiredMaximumVersion`](#requiredmaximumversion) | [Recuse-se a iniciar](/docs/pt/setup#pin-a-minimum-version) em uma versão mais recente do que sua organização permite | Atualizações e versionamento | Managed |

743| [`requiredMinimumVersion`](#requiredminimumversion) | [Recuse-se a iniciar](/docs/pt/setup#pin-a-minimum-version) em uma versão mais antiga do que sua organização exige | Atualizações e versionamento | Managed |743| [`requiredMinimumVersion`](#requiredminimumversion) | [Recuse-se a iniciar](/docs/pt/setup#pin-a-minimum-version) em uma versão mais antiga do que sua organização exige | Atualizações e versionamento | Managed |


753| [`sandbox.credentials.awsPairs`](#sandbox-credentials-awspairs) | Vincule variáveis de chave AWS com nomes personalizados em uma credencial para [re-assinatura](/docs/pt/sandboxing#re-sign-aws-requests) | Configurações de sandbox | User or managed |753| [`sandbox.credentials.awsPairs`](#sandbox-credentials-awspairs) | Vincule variáveis de chave AWS com nomes personalizados em uma credencial para [re-assinatura](/docs/pt/sandboxing#re-sign-aws-requests) | Configurações de sandbox | User or managed |

754| [`sandbox.credentials.envVars`](#sandbox-credentials-envvars) | Desdefina ou mascare uma variável de ambiente dentro do [sandbox](/docs/pt/sandboxing#mask-environment-variables) | Configurações de sandbox | Any file |754| [`sandbox.credentials.envVars`](#sandbox-credentials-envvars) | Desdefina ou mascare uma variável de ambiente dentro do [sandbox](/docs/pt/sandboxing#mask-environment-variables) | Configurações de sandbox | Any file |

755| [`sandbox.credentials.files`](#sandbox-credentials-files) | Bloqueie ou mascare leituras de um arquivo de credenciais dentro do [sandbox](/docs/pt/sandboxing#mask-credential-files) | Configurações de sandbox | Any file |755| [`sandbox.credentials.files`](#sandbox-credentials-files) | Bloqueie ou mascare leituras de um arquivo de credenciais dentro do [sandbox](/docs/pt/sandboxing#mask-credential-files) | Configurações de sandbox | Any file |

756| [`sandbox.credentials.sigv4`](#sandbox-credentials-sigv4) | Escolha se solicitações [SigV4A AWS](/docs/pt/sandboxing#re-sign-aws-requests) de streaming, pré-assinadas ou falham ou passam | Configurações de sandbox | User or managed |756| [`sandbox.credentials.sigv4`](#sandbox-credentials-sigv4) | Escolha se requisições de streaming, pré-assinadas ou [requisições AWS SigV4A](/docs/pt/sandboxing#re-sign-aws-requests) falham ou passam direto | Configurações de sandbox | User or managed |

757| [`sandbox.enabled`](#sandbox-enabled) | Ative o [sandboxing de Bash](/docs/pt/sandboxing#get-started) no macOS, Linux e WSL2 | Configurações de sandbox | Any file |757| [`sandbox.enabled`](#sandbox-enabled) | Ative o [sandboxing de Bash](/docs/pt/sandboxing#get-started) no macOS, Linux e WSL2 | Configurações de sandbox | Any file |

758| [`sandbox.enableWeakerNestedSandbox`](#sandbox-enableweakernestedsandbox) | Execute o [sandbox](/docs/pt/sandboxing) do Linux dentro de um contêiner sem privilégios | Configurações de sandbox | Any file |758| [`sandbox.enableWeakerNestedSandbox`](#sandbox-enableweakernestedsandbox) | Execute o [sandbox](/docs/pt/sandboxing) do Linux dentro de um contêiner sem privilégios | Configurações de sandbox | Any file |

759| [`sandbox.enableWeakerNetworkIsolation`](#sandbox-enableweakernetworkisolation) | Permita que `gh`, `gcloud` e `terraform` verifiquem TLS atrás de um proxy MITM dentro do [sandbox](/docs/pt/sandboxing#troubleshooting) no macOS | Configurações de sandbox | Any file |759| [`sandbox.enableWeakerNetworkIsolation`](#sandbox-enableweakernetworkisolation) | Permita que `gh`, `gcloud` e `terraform` verifiquem TLS atrás de um proxy MITM dentro do [sandbox](/docs/pt/sandboxing#go-based-clis-fail-tls-verification-on-macos) no macOS | Configurações de sandbox | Any file |

760| [`sandbox.excludedCommands`](#sandbox-excludedcommands) | Nomeie comandos que Claude Code pode executar fora do [sandbox](/docs/pt/sandboxing) | Configurações de sandbox | Any file |760| [`sandbox.excludedCommands`](#sandbox-excludedcommands) | Nomeie comandos que Claude Code pode executar fora do [sandbox](/docs/pt/sandboxing) | Configurações de sandbox | Any file |

761| [`sandbox.failIfUnavailable`](#sandbox-failifunavailable) | Recuse-se a iniciar quando o [sandbox](/docs/pt/sandboxing) não puder, em vez de executar sem sandbox | Configurações de sandbox | Any file |761| [`sandbox.failIfUnavailable`](#sandbox-failifunavailable) | Recuse-se a iniciar quando o [sandbox](/docs/pt/sandboxing) não puder, em vez de executar sem sandbox | Configurações de sandbox | Any file |

762| [`sandbox.filesystem`](#sandbox-filesystem) | Controle quais caminhos [comandos em sandbox](/docs/pt/sandboxing#filesystem-isolation) podem ler e escrever | Configurações de sandbox | Any file |762| [`sandbox.filesystem`](#sandbox-filesystem) | Controle quais caminhos [comandos em sandbox](/docs/pt/sandboxing#filesystem-isolation) podem ler e escrever | Configurações de sandbox | Any file |


770| [`sandbox.network`](#sandbox-network) | Controle quais hosts, portas e sockets [comandos em sandbox](/docs/pt/sandboxing#network-isolation) alcançam | Configurações de sandbox | Any file |770| [`sandbox.network`](#sandbox-network) | Controle quais hosts, portas e sockets [comandos em sandbox](/docs/pt/sandboxing#network-isolation) alcançam | Configurações de sandbox | Any file |

771| [`sandbox.network.allowAllUnixSockets`](#sandbox-network-allowallunixsockets) | Permita que [comandos em sandbox](/docs/pt/sandboxing) se conectem a cada socket Unix | Configurações de sandbox | Any file |771| [`sandbox.network.allowAllUnixSockets`](#sandbox-network-allowallunixsockets) | Permita que [comandos em sandbox](/docs/pt/sandboxing) se conectem a cada socket Unix | Configurações de sandbox | Any file |

772| [`sandbox.network.allowedDomains`](#sandbox-network-alloweddomains) | Pré-permita domínios para que [comandos em sandbox](/docs/pt/sandboxing) não solicitem permissão para eles | Configurações de sandbox | Any file |772| [`sandbox.network.allowedDomains`](#sandbox-network-alloweddomains) | Pré-permita domínios para que [comandos em sandbox](/docs/pt/sandboxing) não solicitem permissão para eles | Configurações de sandbox | Any file |

773| [`sandbox.network.allowLocalBinding`](#sandbox-network-allowlocalbinding) | Permita que [comandos em sandbox](/docs/pt/sandboxing) se vinculem a portas localhost no macOS | Configurações de sandbox | Any file |773| [`sandbox.network.allowLocalBinding`](#sandbox-network-allowlocalbinding) | Permita que [comandos em sandbox](/docs/pt/sandboxing) escutem em portas de rede e se conectem a localhost no macOS | Configurações de sandbox | Any file |

774| [`sandbox.network.allowMachLookup`](#sandbox-network-allowmachlookup) | Permita que ferramentas macOS [em sandbox](/docs/pt/sandboxing) como o iOS Simulator ou Playwright alcancem seus serviços XPC | Configurações de sandbox | Any file |774| [`sandbox.network.allowMachLookup`](#sandbox-network-allowmachlookup) | Permita que ferramentas macOS [em sandbox](/docs/pt/sandboxing) como o iOS Simulator ou Playwright alcancem seus serviços XPC | Configurações de sandbox | Any file |

775| [`sandbox.network.allowManagedDomainsOnly`](#sandbox-network-allowmanageddomainsonly) | Bloqueie a lista de permissões de rede para [configurações gerenciadas](/docs/pt/sandboxing#keep-developers-from-widening-the-policy) | Configurações de sandbox | Managed |775| [`sandbox.network.allowManagedDomainsOnly`](#sandbox-network-allowmanageddomainsonly) | Restrinja a allowlist de rede às [configurações gerenciadas](/docs/pt/sandboxing#keep-developers-from-widening-the-policy) | Configurações de sandbox | Managed |

776| [`sandbox.network.allowUnixSockets`](#sandbox-network-allowunixsockets) | Liste caminhos de socket Unix que [comandos em sandbox](/docs/pt/sandboxing) podem usar no macOS | Configurações de sandbox | Any file |776| [`sandbox.network.allowUnixSockets`](#sandbox-network-allowunixsockets) | Liste caminhos de socket Unix que [comandos em sandbox](/docs/pt/sandboxing) podem usar no macOS | Configurações de sandbox | Any file |

777| [`sandbox.network.deniedDomains`](#sandbox-network-denieddomains) | Bloqueie domínios para [comandos em sandbox](/docs/pt/sandboxing), mesmo dentro de um curinga permitido | Configurações de sandbox | Any file |777| [`sandbox.network.deniedDomains`](#sandbox-network-denieddomains) | Bloqueie domínios para [comandos em sandbox](/docs/pt/sandboxing), mesmo dentro de um curinga permitido | Configurações de sandbox | Any file |

778| [`sandbox.network.httpProxyPort`](#sandbox-network-httpproxyport) | Roteie o tráfego HTTP do [sandbox](/docs/pt/sandboxing#custom-proxy-configuration) através de seu próprio proxy | Configurações de sandbox | Any file |778| [`sandbox.network.httpProxyPort`](#sandbox-network-httpproxyport) | Roteie o tráfego HTTP do [sandbox](/docs/pt/sandboxing#custom-proxy-configuration) através de seu próprio proxy | Configurações de sandbox | Any file |

779| [`sandbox.network.socksProxyPort`](#sandbox-network-socksproxyport) | Roteie o tráfego SOCKS do [sandbox](/docs/pt/sandboxing#custom-proxy-configuration) através de seu próprio proxy | Configurações de sandbox | Any file |779| [`sandbox.network.socksProxyPort`](#sandbox-network-socksproxyport) | Roteie o tráfego SOCKS do [sandbox](/docs/pt/sandboxing#custom-proxy-configuration) através de seu próprio proxy | Configurações de sandbox | Any file |

780| [`sandbox.network.strictAllowlist`](#sandbox-network-strictallowlist) | Negue hosts fora da [lista de permissões](/docs/pt/sandboxing#network-isolation) em vez de solicitar | Configurações de sandbox | User or managed |780| [`sandbox.network.strictAllowlist`](#sandbox-network-strictallowlist) | Negue hosts fora da [allowlist](/docs/pt/sandboxing#network-isolation) em vez de solicitar | Configurações de sandbox | User or managed |

781| [`sandbox.network.tlsTerminate`](#sandbox-network-tlsterminate) | Faça o [sandbox](/docs/pt/sandboxing#network-isolation) fazer proxy terminar TLS para que possa ler solicitações HTTPS | Configurações de sandbox | User or managed |781| [`sandbox.network.tlsTerminate`](#sandbox-network-tlsterminate) | Faça o proxy do [sandbox](/docs/pt/sandboxing#network-isolation) terminar TLS para que possa ler requisições HTTPS | Configurações de sandbox | User or managed |

782| [`sandbox.ripgrep`](#sandbox-ripgrep) | Use seu próprio binário ripgrep dentro do [sandbox](/docs/pt/sandboxing) | Configurações de sandbox | User or managed |782| [`sandbox.ripgrep`](#sandbox-ripgrep) | Use seu próprio binário ripgrep dentro do [sandbox](/docs/pt/sandboxing) | Configurações de sandbox | User or managed |

783| [`sandbox.socatPath`](#sandbox-socatpath) | Aponte o proxy do [sandbox](/docs/pt/sandboxing) para um binário `socat` fora de `PATH` | Configurações de sandbox | Managed |783| [`sandbox.socatPath`](#sandbox-socatpath) | Aponte o proxy do [sandbox](/docs/pt/sandboxing) para um binário `socat` fora de `PATH` | Configurações de sandbox | Managed |

784| [`showClearContextOnPlanAccept`](#showclearcontextonplanaccept) | Mostre uma opção "limpar contexto" na [tela de aceitação de plano](/docs/pt/permission-modes#review-and-approve-a-plan) | Interface e terminal | Any file |784| [`showClearContextOnPlanAccept`](#showclearcontextonplanaccept) | Mostre uma opção "limpar contexto" na [tela de aceitação de plano](/docs/pt/permission-modes#review-and-approve-a-plan) | Interface e terminal | Any file |


793| [`spellcheck`](#spellcheck) | Sublinhe palavras com erros de ortografia na entrada do prompt com um [verificador de ortografia](/docs/pt/interactive-mode#check-spelling-as-you-type) que você instala | Interface e terminal | User or managed |793| [`spellcheck`](#spellcheck) | Sublinhe palavras com erros de ortografia na entrada do prompt com um [verificador de ortografia](/docs/pt/interactive-mode#check-spelling-as-you-type) que você instala | Interface e terminal | User or managed |

794| [`spinnerTipsEnabled`](#spinnertipsenabled) | Oculte dicas no spinner enquanto Claude trabalha | Interface e terminal | Any file |794| [`spinnerTipsEnabled`](#spinnertipsenabled) | Oculte dicas no spinner enquanto Claude trabalha | Interface e terminal | Any file |

795| [`spinnerTipsOverride`](#spinnertipsoverride) | Adicione suas próprias dicas à rotação do spinner, ou substitua as dicas integradas | Interface e terminal | Any file |795| [`spinnerTipsOverride`](#spinnertipsoverride) | Adicione suas próprias dicas à rotação do spinner, ou substitua as dicas integradas | Interface e terminal | Any file |

796| [`spinnerVerbs`](#spinnerverbs) | Adicione ou substitua os verbos mostrados enquanto uma volta é executada | Interface e terminal | Any file |796| [`spinnerVerbs`](#spinnerverbs) | Adicione ou substitua os verbos mostrados enquanto um turno é executado | Interface e terminal | Any file |

797| [`sshConfigs`](#sshconfigs) | Adicione [conexões SSH](/docs/pt/desktop#pre-configure-ssh-connections-for-your-team) ao dropdown de ambiente Desktop | Remoto, desktop e notificações | User or managed |797| [`sshConfigs`](#sshconfigs) | Adicione [conexões SSH](/docs/pt/desktop#pre-configure-ssh-connections-for-your-team) ao dropdown de ambiente Desktop | Remoto, desktop e notificações | User or managed |

798| [`sshHostAllowlist`](#sshhostallowlist) | Limite quais hosts as [sessões SSH do Desktop](/docs/pt/desktop#restrict-which-ssh-hosts-users-can-connect-to) podem alcançar | Remoto, desktop e notificações | Managed |798| [`sshHostAllowlist`](#sshhostallowlist) | Limite quais hosts as [sessões SSH do Desktop](/docs/pt/desktop#restrict-which-ssh-hosts-users-can-connect-to) podem alcançar | Remoto, desktop e notificações | Managed |

799| [`statusLine`](#statusline) | Execute seu próprio comando para renderizar uma [linha de status](/docs/pt/statusline) abaixo do prompt | Interface e terminal | Any file |799| [`statusLine`](#statusline) | Execute seu próprio comando para renderizar uma [linha de status](/docs/pt/statusline) abaixo do prompt | Interface e terminal | Any file |

800| [`strictKnownMarketplaces`](#strictknownmarketplaces) | Lista de permissões das fontes de [marketplace](/docs/pt/plugins/overview) que os usuários podem adicionar e instalar | Plugins e skills | Managed |800| [`strictKnownMarketplaces`](#strictknownmarketplaces) | Defina a allowlist das fontes de [marketplace](/docs/pt/plugins/overview) que os usuários podem adicionar e a partir das quais podem instalar | Plugins e skills | Managed |

801| [`strictPluginOnlyCustomization`](#strictpluginonlycustomization) | Bloqueie [skills](/docs/pt/skills), [agentes](/docs/pt/sub-agents), [hooks](/docs/pt/hooks) e [servidores MCP](/docs/pt/mcp) de fontes de usuário e projeto | Plugins e skills | Managed |801| [`strictPluginOnlyCustomization`](#strictpluginonlycustomization) | Bloqueie [skills](/docs/pt/skills), [agentes](/docs/pt/sub-agents), [hooks](/docs/pt/hooks) e [servidores MCP](/docs/pt/mcp) de fontes de usuário e projeto | Plugins e skills | Managed |

802| [`strictPluginOnlyCustomization.agents`](#strictpluginonlycustomization-agents) | Restrinja [agentes](/docs/pt/sub-agents) a fontes de plugin e gerenciadas | Plugins e skills | Managed |802| [`strictPluginOnlyCustomization.agents`](#strictpluginonlycustomization-agents) | Restrinja [agentes](/docs/pt/sub-agents) a fontes de plugin e gerenciadas | Plugins e skills | Managed |

803| [`strictPluginOnlyCustomization.hooks`](#strictpluginonlycustomization-hooks) | Restrinja [hooks](/docs/pt/hooks) a fontes de plugin e gerenciadas | Plugins e skills | Managed |803| [`strictPluginOnlyCustomization.hooks`](#strictpluginonlycustomization-hooks) | Restrinja [hooks](/docs/pt/hooks) a fontes de plugin e gerenciadas | Plugins e skills | Managed |

804| [`strictPluginOnlyCustomization.mcp`](#strictpluginonlycustomization-mcp) | Restrinja [servidores MCP](/docs/pt/mcp) a fontes de plugin e gerenciadas | Plugins e skills | Managed |804| [`strictPluginOnlyCustomization.mcp`](#strictpluginonlycustomization-mcp) | Restrinja [servidores MCP](/docs/pt/mcp) a fontes de plugin e gerenciadas | Plugins e skills | Managed |

805| [`strictPluginOnlyCustomization.skills`](#strictpluginonlycustomization-skills) | Restrinja [skills](/docs/pt/skills) a fontes de plugin e gerenciadas | Plugins e skills | Managed |805| [`strictPluginOnlyCustomization.skills`](#strictpluginonlycustomization-skills) | Restrinja [skills](/docs/pt/skills) a fontes de plugin e gerenciadas | Plugins e skills | Managed |

806| [`subagentPromptCacheTtl`](#subagentpromptcachettl) | Escolha o [tempo de vida do cache de prompt](/docs/pt/prompt-caching#cache-lifetime) para subagentes e outras solicitações fora da conversa principal | Modelo e respostas | Any file |806| [`subagentPromptCacheTtl`](#subagentpromptcachettl) | Escolha o [tempo de vida do cache de prompt](/docs/pt/prompt-caching#cache-lifetime) para subagentes e outras requisições fora da conversa principal | Modelo e respostas | Any file |

807| [`subagentStatusLine`](#subagentstatusline) | Reescreva linhas na [exibição de tarefa do subagente](/docs/pt/sub-agents) com seu próprio comando | Interface e terminal | Any file |807| [`subagentStatusLine`](#subagentstatusline) | Reescreva linhas na [exibição de tarefa do subagente](/docs/pt/sub-agents) com seu próprio comando | Interface e terminal | Any file |

808| [`switchModelsOnFlag`](#switchmodelsonflag) | Alterne modelos automaticamente ou pause quando um [classificador de segurança](/docs/pt/model-config#ask-before-switching) sinalizar uma solicitação | Modelo e respostas | Any file |808| [`switchModelsOnFlag`](#switchmodelsonflag) | Alterne modelos automaticamente ou pause quando um [classificador de segurança](/docs/pt/model-config#ask-before-switching) sinalizar uma requisição | Modelo e respostas | Any file |

809| [`syncClaudeAiPlugins`](#syncclaudeaiplugins) | Pare de carregar os [plugins ativados em sua conta claude.ai](/docs/pt/plugins/loading#synced-plugins) e pare de baixar novos | Plugins e skills | User, local, or managed |809| [`syncClaudeAiPlugins`](#syncclaudeaiplugins) | Pare de carregar os [plugins ativados em sua conta claude.ai](/docs/pt/plugins/loading#synced-plugins) e pare de baixar novos | Plugins e skills | User, local, or managed |

810| [`syncClaudeAiSkills`](#syncclaudeaiskills) | Pare de carregar as [skills ativadas em sua conta claude.ai](/docs/pt/skills#how-synced-skills-behave) e pare de baixar novas | Plugins e skills | User, local, or managed |810| [`syncClaudeAiSkills`](#syncclaudeaiskills) | Pare de carregar as [skills ativadas em sua conta claude.ai](/docs/pt/skills#how-synced-skills-behave) e pare de baixar novas | Plugins e skills | User, local, or managed |

811| [`syntaxHighlightingDisabled`](#syntaxhighlightingdisabled) | Desative o destaque de sintaxe em diffs e blocos de código | Interface e terminal | Any file |811| [`syntaxHighlightingDisabled`](#syntaxhighlightingdisabled) | Desative o destaque de sintaxe em diffs e blocos de código | Interface e terminal | Any file |

812| [`taskOutputMaxChars`](#taskoutputmaxchars) | Removido na v2.1.277, junto com a ferramenta `TaskOutput` que dimensionava | Memória e contexto | Any file |812| [`taskOutputMaxChars`](#taskoutputmaxchars) | Removido na v2.1.277, junto com a ferramenta `TaskOutput` que dimensionava | Memória e contexto | Any file |

813| [`teammateDefaultModel`](#teammatedefaultmodel) | Removido na v2.1.234; veja [Especificar companheiros de equipe e modelos](/docs/pt/agent-teams#specify-teammates-and-models) para como Claude Code escolhe o modelo de um companheiro de equipe | Configurações de config global | Global config |813| [`teammateDefaultModel`](#teammatedefaultmodel) | Removido na v2.1.234; veja [Especificar companheiros de equipe e modelos](/docs/pt/agent-teams#specify-teammates-and-models) para como Claude Code escolhe o modelo de um companheiro de equipe | Configurações de config global | Global config |

814| [`teammateMode`](#teammatemode) | Escolha como [companheiros de equipe de agente exibem](/docs/pt/agent-teams#choose-a-display-mode) | Agentes, sessões e worktrees | Any file |814| [`teammateMode`](#teammatemode) | Escolha como [companheiros de equipe de agentes são exibidos](/docs/pt/agent-teams#choose-a-display-mode) | Agentes, sessões e worktrees | Any file |

815| [`terminalProgressBarEnabled`](#terminalprogressbarenabled) | Oculte a barra de progresso do terminal em terminais que a suportam | Interface e terminal | Any file |815| [`terminalProgressBarEnabled`](#terminalprogressbarenabled) | Oculte a barra de progresso do terminal em terminais que a suportam | Interface e terminal | Any file |

816| [`terminalTitleFromRename`](#terminaltitlefromrename) | Impeça [`/rename`](/docs/pt/sessions#name-your-sessions) e `--name` de alterar o título da aba do terminal | Interface e terminal | Any file |816| [`terminalTitleFromRename`](#terminaltitlefromrename) | Impeça [`/rename`](/docs/pt/sessions#name-your-sessions) e `--name` de alterar o título da aba do terminal | Interface e terminal | Any file |

817| [`theme`](#theme) | Escolha o [tema de cor](/docs/pt/terminal-config#match-the-color-theme) da interface, integrado ou personalizado | Interface e terminal | Any file |817| [`theme`](#theme) | Escolha o [tema de cor](/docs/pt/terminal-config#match-the-color-theme) da interface, integrado ou personalizado | Interface e terminal | Any file |


819| [`timeZone`](#timezone) | Mostre os horários na interface em um fuso horário diferente do seu sistema | Interface e terminal | Any file |819| [`timeZone`](#timezone) | Mostre os horários na interface em um fuso horário diferente do seu sistema | Interface e terminal | Any file |

820| [`tui`](#tui) | Escolha o renderizador [tela cheia](/docs/pt/fullscreen) ou terminal clássico | Interface e terminal | Any file |820| [`tui`](#tui) | Escolha o renderizador [tela cheia](/docs/pt/fullscreen) ou terminal clássico | Interface e terminal | Any file |

821| [`ultracode`](#ultracode) | Faça Claude planejar um [workflow](/docs/pt/workflows#let-claude-decide-with-ultracode) para cada tarefa substancial sem ser solicitado | Modelo e respostas | Any file |821| [`ultracode`](#ultracode) | Faça Claude planejar um [workflow](/docs/pt/workflows#let-claude-decide-with-ultracode) para cada tarefa substancial sem ser solicitado | Modelo e respostas | Any file |

822| [`useAutoModeDuringPlan`](#useautomodeduringplan) | Permita que o classificador de [modo automático](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) revise comandos shell no [modo de plano](/docs/pt/permission-modes#analyze-before-you-edit-with-plan-mode); defina `false` para obter prompts em vez disso | Configurações de permissão | User, local, or managed |822| [`useAutoModeDuringPlan`](#useautomodeduringplan) | Permita que o classificador de [modo automático](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) revise comandos shell no [modo de planejamento](/docs/pt/permission-modes#analyze-before-you-edit-with-plan-mode); defina `false` para obter prompts em vez disso | Configurações de permissão | User, local, or managed |

823| [`verbose`](#verbose) | Mostre a [saída completa da ferramenta](/docs/pt/cli-reference#cli-flags) em vez de resumos truncados; `viewMode` tem precedência quando ambos estão definidos | Interface e terminal | Any file |823| [`verbose`](#verbose) | Mostre a [saída completa da ferramenta](/docs/pt/cli-reference#cli-flags) em vez de resumos truncados; `viewMode` tem precedência quando ambos estão definidos | Interface e terminal | Any file |

824| [`viewMode`](#viewmode) | Inicie cada sessão na [visualização padrão, detalhada ou focada](/docs/pt/cli-reference#cli-flags) | Interface e terminal | Any file |824| [`viewMode`](#viewmode) | Inicie cada sessão na [visualização padrão, detalhada ou focada](/docs/pt/cli-reference#cli-flags) | Interface e terminal | Any file |

825| [`vimInsertModeRemaps`](#viminsertmoderemaps) | Mapeie uma [sequência de modo INSERT](/docs/pt/interactive-mode#remap-insert-mode-key-sequences) de duas teclas como `jj` para Escape | Interface e terminal | User or managed |825| [`vimInsertModeRemaps`](#viminsertmoderemaps) | Mapeie uma [sequência de modo INSERT](/docs/pt/interactive-mode#remap-insert-mode-key-sequences) de duas teclas como `jj` para Escape | Interface e terminal | User or managed |


829| [`workflowKeywordTriggerEnabled`](#workflowkeywordtriggerenabled) | Permita que a palavra `ultracode` em um prompt inicie um [workflow](/docs/pt/workflows); defina `false` para digitá-la sem iniciar um | Hooks e automação | Any file |829| [`workflowKeywordTriggerEnabled`](#workflowkeywordtriggerenabled) | Permita que a palavra `ultracode` em um prompt inicie um [workflow](/docs/pt/workflows); defina `false` para digitá-la sem iniciar um | Hooks e automação | Any file |

830| [`workflowSizeGuideline`](#workflowsizeguideline) | Defina a contagem de agentes que Claude visa em [workflows dinâmicos](/docs/pt/workflows) | Hooks e automação | Any file |830| [`workflowSizeGuideline`](#workflowsizeguideline) | Defina a contagem de agentes que Claude visa em [workflows dinâmicos](/docs/pt/workflows) | Hooks e automação | Any file |

831| [`worktree`](#worktree) | Configure como Claude Code cria git [worktrees](/docs/pt/worktrees) | Agentes, sessões e worktrees | Any file |831| [`worktree`](#worktree) | Configure como Claude Code cria git [worktrees](/docs/pt/worktrees) | Agentes, sessões e worktrees | Any file |

832| [`worktree.baseRef`](#worktree-baseref) | Ramifique novos [worktrees](/docs/pt/worktrees) a partir do branch padrão remoto ou seu HEAD local | Agentes, sessões e worktrees | Any file |832| [`worktree.baseRef`](#worktree-baseref) | Crie novos [worktrees](/docs/pt/worktrees) a partir do branch padrão remoto ou do seu HEAD local | Agentes, sessões e worktrees | Any file |

833| [`worktree.bgIsolation`](#worktree-bgisolation) | Permita que sessões em segundo plano editem a cópia de trabalho sem um [worktree](/docs/pt/worktrees) | Agentes, sessões e worktrees | Any file |833| [`worktree.bgIsolation`](#worktree-bgisolation) | Permita que sessões em segundo plano editem a cópia de trabalho sem um [worktree](/docs/pt/worktrees) | Agentes, sessões e worktrees | Any file |

834| [`worktree.sparsePaths`](#worktree-sparsepaths) | Verifique apenas os diretórios que você precisa em cada [worktree](/docs/pt/worktrees) | Agentes, sessões e worktrees | Any file |834| [`worktree.sparsePaths`](#worktree-sparsepaths) | Faça checkout apenas dos diretórios que você precisa em cada [worktree](/docs/pt/worktrees) | Agentes, sessões e worktrees | Any file |

835| [`worktree.symlinkDirectories`](#worktree-symlinkdirectories) | Crie symlinks de diretórios grandes em cada [worktree](/docs/pt/worktrees) em vez de duplicá-los | Agentes, sessões e worktrees | Any file |835| [`worktree.symlinkDirectories`](#worktree-symlinkdirectories) | Crie symlinks de diretórios grandes em cada [worktree](/docs/pt/worktrees) em vez de duplicá-los | Agentes, sessões e worktrees | Any file |

836| [`wslInheritsWindowsSettings`](#wslinheritswindowssettings) | Faça WSL ler [configurações gerenciadas](/docs/pt/managed-settings) da cadeia de política do Windows | Configurações empresariais e gerenciadas | Managed |836| [`wslInheritsWindowsSettings`](#wslinheritswindowssettings) | Faça WSL ler [configurações gerenciadas](/docs/pt/managed-settings) da cadeia de política do Windows | Configurações empresariais e gerenciadas | Managed |

837 837 


1447 1447 

1448Para o que um padrão `!` em uma regra `--disallowedTools` ou de sessão pode esculpir, consulte [Regras Read e Edit](/docs/pt/permissions#read-and-edit).1448Para o que um padrão `!` em uma regra `--disallowedTools` ou de sessão pode esculpir, consulte [Regras Read e Edit](/docs/pt/permissions#read-and-edit).

1449 1449 

1450Quando você define esta chave, Claude Code v2.1.282 ou posterior também ignora o frontmatter [`allowed-tools`](/docs/pt/skills#pre-approve-tools-for-a-skill) em skills e arquivos `.claude/commands/` destas fontes:

1451 

1452* O diretório `.claude/` de um repositório

1453* Seus diretórios `~/.claude/skills/` e `~/.claude/commands/`, incluindo [skills sincronizadas do claude.ai](/docs/pt/skills#where-synced-skills-load)

1454* Um diretório `--add-dir`

1455* [Plugins declarados com um manifesto `.claude-plugin`](/docs/pt/plugins/loading#plugins-shared-through-a-repository) dentro de `~/.claude/skills/` ou do `.claude/skills/` do projeto

1456 

1457As skills de configurações gerenciadas e as skills incluídas mantêm seu `allowed-tools`. O `disallowed-tools` de uma skill ainda se aplica. Para o que um desenvolvedor vê quando Claude Code ignora o campo, consulte [Quando apenas regras de permissão gerenciadas se aplicam](/docs/pt/skills#when-only-managed-permission-rules-apply).

1458 

1450* **Escopo**: [`Managed`](#scopes)1459* **Escopo**: [`Managed`](#scopes)

1451* **Tipo**: Booleano1460* **Tipo**: Booleano

1452 * `true`: as configurações gerenciadas se tornam a única fonte de regras de permissão1461 * `true`: as configurações gerenciadas se tornam a única fonte de regras de permissão


1459}1468}

1460```1469```

1461 1470 

1462Esta chave não bloqueia a lista de permissões do servidor MCP; para isso, defina [`allowManagedMcpServersOnly`](#allowmanagedmcpserversonly). Consulte [Configurações apenas gerenciadas](/docs/pt/managed-settings#managed-only-settings).1471Esta chave não bloqueia a allowlist de servidores MCP; para isso, defina [`allowManagedMcpServersOnly`](#allowmanagedmcpserversonly). Consulte [Configurações apenas gerenciadas](/docs/pt/managed-settings#managed-only-settings).

1463 1472 

1464<h3 id="automode">1473<h3 id="automode">

1465 `autoMode`1474 `autoMode`


1550 `useAutoModeDuringPlan`1559 `useAutoModeDuringPlan`

1551</h3>1560</h3>

1552 1561 

1553Escolha se Claude Code usa o classificador do modo automático para revisar comandos de shell no modo de plano. Com o padrão `true`, o classificador revisa cada comando durante o planejamento quando o modo automático está disponível e você não vê nenhum prompt, exceto para [remoções de caminho crítico](/docs/pt/permission-modes#critical-paths). Defina `false` para obter um prompt de permissão para cada comando fora do conjunto integrado somente leitura. Aparece em `/config` como **Use auto mode during plan**.1562Escolha se Claude Code usa o classificador do modo automático para revisar comandos de shell no modo de planejamento. Com o padrão `true`, o classificador revisa cada comando durante o planejamento quando o modo automático está disponível e você não vê nenhum prompt, exceto para [remoções de caminho crítico](/docs/pt/permission-modes#critical-paths). Defina `false` para obter um prompt de permissão para cada comando fora do conjunto integrado somente leitura. Aparece em `/config` como **Use auto mode during plan**.

1554 1563 

1555* **Escopo**: [`User, local, or managed`](#scopes). Um repositório não pode desativá-lo para você.1564* **Escopo**: [`User, local, or managed`](#scopes). Um repositório não pode desativá-lo para você.

1556* **Tipo**: Booleano1565* **Tipo**: Booleano


1585}1594}

1586```1595```

1587 1596 

1588Claude Code aplica regras `allow` do `.claude/settings.json` de um projeto apenas depois que você aceita o [diálogo de confiança do espaço de trabalho](/docs/pt/permissions#project-allow-rules-and-workspace-trust) para essa pasta.1597Claude Code aplica regras `allow` do `.claude/settings.json` de um projeto apenas depois que você aceita o [diálogo de confiança do workspace](/docs/pt/permissions#project-allow-rules-and-workspace-trust) para essa pasta.

1589 1598 

1590<h4 id="permission-rule-syntax">1599<h4 id="permission-rule-syntax">

1591 Sintaxe de regra de permissão1600 Sintaxe de regra de permissão


1600| `Bash` | Cada comando Bash |1609| `Bash` | Cada comando Bash |

1601| `Bash(npm run *)` | Comandos começando com `npm run` |1610| `Bash(npm run *)` | Comandos começando com `npm run` |

1602| `Read(./.env)` | Leituras do arquivo `.env` |1611| `Read(./.env)` | Leituras do arquivo `.env` |

1603| `WebFetch(domain:example.com)` | Solicitações de busca para example.com |1612| `WebFetch(domain:example.com)` | Requisições de busca para example.com |

1604 1613 

1605Para a sintaxe de regra completa, incluindo comportamento de curinga, padrões específicos de ferramenta para Read, Edit, WebFetch, MCP e regras de Agent, e as limitações de segurança de padrões Bash, consulte [Sintaxe de regra de permissão](/docs/pt/permissions#permission-rule-syntax).1614Para a sintaxe de regra completa, incluindo comportamento de curinga, padrões específicos de ferramenta para Read, Edit, WebFetch, MCP e regras de Agent, e as limitações de segurança de padrões Bash, consulte [Sintaxe de regra de permissão](/docs/pt/permissions#permission-rule-syntax).

1606 1615 


1630 1639 

1631Liste os usos de ferramentas que Claude Code bloqueia. Use-o para arquivos que contêm chaves de API, segredos ou valores de ambiente: Claude Code exclui arquivos correspondentes da descoberta de arquivos e resultados de pesquisa, nega leituras deles e bloqueia as [ferramentas Edit e Write](/docs/pt/permissions#read-and-edit) nos caminhos correspondentes.1640Liste os usos de ferramentas que Claude Code bloqueia. Use-o para arquivos que contêm chaves de API, segredos ou valores de ambiente: Claude Code exclui arquivos correspondentes da descoberta de arquivos e resultados de pesquisa, nega leituras deles e bloqueia as [ferramentas Edit e Write](/docs/pt/permissions#read-and-edit) nos caminhos correspondentes.

1632 1641 

1633As regras de bloqueio Read e Edit se aplicam às ferramentas de arquivo integradas de Claude, aos comandos de arquivo que Claude Code reconhece em Bash, como `cat`, `head`, `tail`, `sed` e `tee`, e aos destinos de [redirecionamentos](/docs/pt/permissions#redirections) de Bash como `> file` e `< file`; elas não se aplicam a um comando que lê arquivos sem nomeá-los, como `grep -r pattern .`, ou a subprocessos arbitrários, portanto para aplicação em nível de SO [ative a sandbox](/docs/pt/sandboxing).1642As regras de bloqueio Read e Edit se aplicam às ferramentas de arquivo integradas de Claude, aos comandos de arquivo que Claude Code reconhece em Bash, como `cat`, `head`, `tail`, `sed` e `tee`, e aos destinos de [redirecionamentos](/docs/pt/permissions#redirections) de Bash como `> file` e `< file`; elas não se aplicam a um comando que lê arquivos sem nomeá-los, como `grep -r pattern .`, ou a subprocessos arbitrários, portanto para aplicação em nível de SO [ative o sandbox](/docs/pt/sandboxing).

1634 1643 

1635* **Escopo**: [`Any file`](#scopes)1644* **Escopo**: [`Any file`](#scopes)

1636* **Tipo**: array de strings de regra de permissão1645* **Tipo**: array de strings de regra de permissão


1661 1670 

1662Dê a Claude acesso a arquivos em diretórios fora do que você começou, como [diretórios de trabalho](/docs/pt/permissions#working-directories) adicionais. A maioria da configuração `.claude/` [não é descoberta](/docs/pt/permissions#additional-directories-grant-file-access-not-configuration) desses diretórios.1671Dê a Claude acesso a arquivos em diretórios fora do que você começou, como [diretórios de trabalho](/docs/pt/permissions#working-directories) adicionais. A maioria da configuração `.claude/` [não é descoberta](/docs/pt/permissions#additional-directories-grant-file-access-not-configuration) desses diretórios.

1663 1672 

1664* **Escopo**: [`Any file`](#scopes)1673* **Escopo**: [`Any file`](#scopes), com [limites no acesso de gravação do sandbox](/docs/pt/sandboxing#repository-settings-under-an-admin-required-sandbox) que as entradas de projeto e local concedem

1665* **Tipo**: array de caminhos de diretório1674* **Tipo**: array de caminhos de diretório

1666* **Padrão**: não definido1675* **Padrão**: não definido

1667* **Substituições por sessão**: `--add-dir` e `/add-dir` adicionam diretórios para uma sessão ao lado desta chave1676* **Substituições por sessão**: `--add-dir` e `/add-dir` adicionam diretórios para uma sessão ao lado desta chave


1674}1683}

1675```1684```

1676 1685 

1677Como as regras `allow`, as entradas no `.claude/settings.json` de um projeto entram em vigor apenas depois que você aceita o [diálogo de confiança do espaço de trabalho](/docs/pt/permissions#project-allow-rules-and-workspace-trust) para essa pasta.1686Como as regras `allow`, as entradas no `.claude/settings.json` de um projeto entram em vigor apenas depois que você aceita o [diálogo de confiança do workspace](/docs/pt/permissions#project-allow-rules-and-workspace-trust) para essa pasta.

1678 1687 

1679<h3 id="permissions-blockreadsoutsideworkingdirectories">1688<h3 id="permissions-blockreadsoutsideworkingdirectories">

1680 `permissions.blockReadsOutsideWorkingDirectories`1689 `permissions.blockReadsOutsideWorkingDirectories`

1681</h3>1690</h3>

1682 1691 

1683Faça as ferramentas de arquivo de Claude recusarem leituras fora dos [diretórios de trabalho](/docs/pt/permissions#working-directories) em cada modo de permissão, incluindo `bypassPermissions`. Claude Code nega chamadas `Read`, `Grep`, `Glob` e `LSP` nesses caminhos e diz a Claude para pedir que você adicione o diretório com `/add-dir`. Arquivos que Claude Code em si precisa permanecem legíveis, como suas skills, plugins, regras, agents, comandos e o arquivo de memória `CLAUDE.md` sob `~/.claude/`. Requer Claude Code v2.1.257 ou posterior.1692Faça as ferramentas de arquivo de Claude recusarem leituras fora dos [diretórios de trabalho](/docs/pt/permissions#working-directories) em cada modo de permissão, incluindo `bypassPermissions`. Claude Code nega chamadas `Read`, `Grep`, `Glob` e `LSP` nesses caminhos e diz a Claude para pedir que você adicione o diretório com `/add-dir`. Arquivos que Claude Code em si precisa permanecem legíveis, como suas skills, plugins, regras, agentes, comandos e o arquivo de memória `CLAUDE.md` sob `~/.claude/`. Requer Claude Code v2.1.257 ou posterior.

1684 1693 

1685Claude Code não recusa comandos de shell da mesma forma:1694Claude Code não recusa comandos de shell da mesma forma:

1686 1695 

1687* [Ações que nenhum modo aprova automaticamente](/docs/pt/permission-modes#actions-no-mode-auto-approves) cobre quando um comando de shell que lê tal caminho solicita a você1696* [Ações que nenhum modo aprova automaticamente](/docs/pt/permission-modes#actions-no-mode-auto-approves) cobre quando um comando de shell que lê tal caminho solicita a você

1688* [Comandos em sandbox sob o bloqueio](#sandboxed-commands-under-the-block) cobre o que um comando em sandbox pode ler1697* [Comandos em sandbox sob o bloqueio](#sandboxed-commands-under-the-block) cobre o que um comando em sandbox pode ler

1689 1698 

1690Um comando Bash que o analisador de shell não consegue rastrear, como um que muda de diretório mais de uma vez ou executa um subshell, solicita a você mesmo no modo automático e no modo `bypassPermissions`. O prompt aparece mesmo quando o comando não nomeia nenhum caminho fora dos diretórios de trabalho. Este prompt não se aplica quando o comando é executado na [sandbox](/docs/pt/sandboxing) e a sandbox aplica o bloqueio.1699Um comando Bash que o analisador de shell não consegue rastrear, como um que muda de diretório mais de uma vez ou executa um subshell, solicita a você mesmo no modo automático e no modo `bypassPermissions`. O prompt aparece mesmo quando o comando não nomeia nenhum caminho fora dos diretórios de trabalho. Este prompt não se aplica quando o comando é executado no [sandbox](/docs/pt/sandboxing) e o sandbox aplica o bloqueio.

1691 1700 

1692Claude Code também escreve `true` aqui quando você escolhe bloquear tais leituras no [prompt do modo automático antes da primeira leitura fora dos diretórios de trabalho](/docs/pt/permission-modes#first-read-outside-the-working-directories).1701Claude Code também escreve `true` aqui quando você escolhe bloquear tais leituras no [prompt do modo automático antes da primeira leitura fora dos diretórios de trabalho](/docs/pt/permission-modes#first-read-outside-the-working-directories).

1693 1702 


1715 Comandos em sandbox sob o bloqueio1724 Comandos em sandbox sob o bloqueio

1716</h4>1725</h4>

1717 1726 

1718Quando [sandboxing](/docs/pt/sandboxing) está ativado, o bloqueio também cobre comandos em sandbox. Claude Code nega a eles acesso de leitura ao seu diretório inicial e às outras raízes que contêm arquivos de usuário: `/Users`, `/home`, `/root`, `/Volumes`, `/mnt`, `/media`, `/run/media` e `/srv`. Ele então reabre os diretórios de trabalho, [worktrees](/docs/pt/worktrees) que Claude Code cria na sessão, o diretório temporário da sessão e as partes de `~/.claude` que os comandos precisam, como skills e plugins. Enquanto o bloqueio está em vigor, entradas `allowRead` e `allowWrite` de configurações de repositório não contam.1727Quando [sandboxing](/docs/pt/sandboxing) está ativado, o bloqueio também cobre comandos em sandbox. Claude Code nega a eles acesso de leitura ao seu diretório pessoal e às outras raízes que contêm arquivos de usuário: `/Users`, `/home`, `/root`, `/Volumes`, `/mnt`, `/media`, `/run/media` e `/srv`. Ele então reabre os diretórios de trabalho, [worktrees](/docs/pt/worktrees) que Claude Code cria na sessão, o diretório temporário da sessão e as partes de `~/.claude` que os comandos precisam, como skills e plugins. Enquanto o bloqueio está em vigor, entradas `allowRead` e `allowWrite` de configurações de repositório não contam.

1719 1728 

1720Quando o diretório de trabalho da sessão é um [git worktree](/docs/pt/worktrees) vinculado, incluindo um que Claude Code entrou no meio da sessão, o diretório `.git` comum do repositório permanece legível e gravável para comandos em sandbox, para que o git continue funcionando lá.1729Quando o diretório de trabalho da sessão é um [git worktree](/docs/pt/worktrees) vinculado, incluindo um que Claude Code entrou no meio da sessão, o diretório `.git` comum do repositório permanece legível e gravável para comandos em sandbox, para que o git continue funcionando lá.

1721 1730 


1748 * `"default"`: Claude Code executa apenas leituras sem perguntar1757 * `"default"`: Claude Code executa apenas leituras sem perguntar

1749 * `"acceptEdits"`: Claude Code também executa edições de arquivo e comandos comuns do sistema de arquivos como `mkdir` e `mv` sem perguntar1758 * `"acceptEdits"`: Claude Code também executa edições de arquivo e comandos comuns do sistema de arquivos como `mkdir` e `mv` sem perguntar

1750 * `"plan"`: Claude Code lê e planeja, mas bloqueia edições até que você aprove um plano1759 * `"plan"`: Claude Code lê e planeja, mas bloqueia edições até que você aprove um plano

1751 * `"auto"`: Claude Code executa sem prompts rotineiros; antes de ações como comandos de shell e solicitações de rede serem executadas, um classificador em segundo plano verifica se elas se alinham com sua solicitação1760 * `"auto"`: Claude Code executa sem prompts rotineiros; antes de ações como comandos de shell e requisições de rede serem executadas, um classificador em segundo plano verifica se elas se alinham com sua solicitação

1752 * `"dontAsk"`: Claude Code nega automaticamente cada chamada que de outra forma solicitaria; leituras, outras ações que não precisam de aprovação e ferramentas pré-aprovadas ainda são executadas1761 * `"dontAsk"`: Claude Code nega automaticamente cada chamada que de outra forma solicitaria; leituras, outras ações que não precisam de aprovação e ferramentas pré-aprovadas ainda são executadas

1753 * `"bypassPermissions"`: Claude Code executa tudo sem perguntar1762 * `"bypassPermissions"`: Claude Code executa tudo sem perguntar

1754 * `"manual"`: um alias para `"default"`, em Claude Code v2.1.200 ou posterior1763 * `"manual"`: um alias para `"default"`, em Claude Code v2.1.200 ou posterior


1769 `permissions.disableBypassPermissionsMode`1778 `permissions.disableBypassPermissionsMode`

1770</h3>1779</h3>

1771 1780 

1772Impeça que qualquer pessoa entre no modo `bypassPermissions`. Claude Code então rejeita o sinalizador `--dangerously-skip-permissions` e ignora uma [definição de agent](/docs/pt/sub-agents#permission-modes) `permissionMode: bypassPermissions`, portanto o subagent é executado com o modo de permissão da sessão pai.1781Impeça que qualquer pessoa entre no modo `bypassPermissions`. Claude Code então rejeita a flag `--dangerously-skip-permissions` e ignora uma [definição de agente](/docs/pt/sub-agents#permission-modes) `permissionMode: bypassPermissions`, portanto o subagente é executado com o modo de permissão da sessão pai.

1773 1782 

1774* **Escopo**: [`Any file`](#scopes). Normalmente definido em [configurações gerenciadas](/docs/pt/managed-settings) para aplicar a política organizacional.1783* **Escopo**: [`Any file`](#scopes). Normalmente definido em [configurações gerenciadas](/docs/pt/managed-settings) para aplicar a política organizacional.

1775* **Tipo**: a string `"disable"`1784* **Tipo**: a string `"disable"`


1857}1866}

1858```1867```

1859 1868 

1860Claude Code obtém o valor de uma chave booleana do escopo de configurações com maior precedência que a define, então um `enabled` ou `failIfUnavailable` gerenciado substitui qualquer coisa que um desenvolvedor defina. Ele mescla chaves de array em todos os escopos de configurações que a sessão carrega, então um desenvolvedor pode anexar entradas; consulte [Keep developers from widening the policy](/docs/pt/sandboxing#keep-developers-from-widening-the-policy) para os bloqueios somente gerenciados. Para exigir o sandbox para uma organização, consulte [Enforce sandboxing with managed settings](/docs/pt/sandboxing#enforce-sandboxing-with-managed-settings).1869Quando as configurações gerenciadas definem uma chave booleana como `enabled` ou `failIfUnavailable`, esse valor sobrescreve qualquer coisa que um desenvolvedor defina. Claude Code mescla chaves de array em todos os escopos de configurações que a sessão carrega, então um desenvolvedor pode anexar entradas; consulte [Keep developers from widening the policy](/docs/pt/sandboxing#keep-developers-from-widening-the-policy) para os bloqueios somente gerenciados. Para exigir o sandbox para uma organização, consulte [Enforce sandboxing with managed settings](/docs/pt/sandboxing#enforce-sandboxing-with-managed-settings).

1861 1870 

1862<h3 id="sandbox-enabled">1871<h3 id="sandbox-enabled">

1863 `sandbox.enabled`1872 `sandbox.enabled`


1865 1874 

1866Ative [sandboxing](/docs/pt/sandboxing) para comandos Bash. Quando você escolhe um modo no painel `/sandbox`, Claude Code escreve essa chave em `.claude/settings.local.json` para o projeto atual; defina-a em `~/.claude/settings.json` para fazer sandbox em todos os projetos.1875Ative [sandboxing](/docs/pt/sandboxing) para comandos Bash. Quando você escolhe um modo no painel `/sandbox`, Claude Code escreve essa chave em `.claude/settings.local.json` para o projeto atual; defina-a em `~/.claude/settings.json` para fazer sandbox em todos os projetos.

1867 1876 

1868* **Scope**: [`Any file`](#scopes)1877* **Scope**: [`Any file`](#scopes), com [limites em configurações de projeto e locais](/docs/pt/sandboxing#repository-settings-under-an-admin-required-sandbox)

1869* **Type**: Boolean1878* **Type**: Boolean

1870 * `true`: Claude Code faz sandbox dos comandos Bash1879 * `true`: Claude Code faz sandbox dos comandos Bash

1871 * `false`: Comandos Bash são executados sem sandbox1880 * `false`: Comandos Bash são executados sem sandbox


1879}1888}

1880```1889```

1881 1890 

1882No Linux e WSL2, o sandbox precisa de `bubblewrap` e `socat`; consulte [Set up Linux and WSL2](/docs/pt/sandboxing#set-up-linux-and-wsl2). Quando o sandbox não consegue iniciar, Claude Code mostra um aviso e executa comandos sem sandbox, a menos que você também defina [`failIfUnavailable`](#sandbox-failifunavailable).1891No Linux e WSL2, o sandbox precisa de `bubblewrap` e `socat`; consulte [Set up Linux and WSL2](/docs/pt/sandboxing#set-up-linux-and-wsl2). Quando o sandbox não consegue iniciar, Claude Code executa comandos sem sandbox, a menos que você também defina [`failIfUnavailable`](#sandbox-failifunavailable).

1883 1892 

1884<h3 id="sandbox-failifunavailable">1893<h3 id="sandbox-failifunavailable">

1885 `sandbox.failIfUnavailable`1894 `sandbox.failIfUnavailable`

1886</h3>1895</h3>

1887 1896 

1888Faça Claude Code sair com um erro na inicialização quando `sandbox.enabled` é `true` mas o sandbox não consegue iniciar, porque uma dependência está faltando ou a plataforma não é suportada. Sem isso, Claude Code mostra um aviso e executa comandos sem sandbox. Use-o em configurações gerenciadas quando sua organização exigir sandboxing como uma barreira rígida.1897Faça Claude Code sair com um erro na inicialização quando `sandbox.enabled` é `true` mas o sandbox não consegue iniciar, porque uma dependência está faltando ou a plataforma não é suportada. Sem essa chave, Claude Code executa comandos sem sandbox. Implantações gerenciadas que exigem sandboxing como uma barreira de segurança podem usar essa configuração.

1889 1898 

1890* **Scope**: [`Any file`](#scopes)1899Em uma plataforma que o sandbox não suporta, Claude Code não inicia com essa chave ativada. Consulte [Enforce sandboxing with managed settings](/docs/pt/sandboxing#enforce-sandboxing-with-managed-settings).

1900 

1901* **Scope**: [`Any file`](#scopes), com [limites em configurações de projeto e locais](/docs/pt/sandboxing#repository-settings-under-an-admin-required-sandbox)

1891* **Type**: Boolean1902* **Type**: Boolean

1892 * `true`: Claude Code sai com um erro na inicialização quando `sandbox.enabled` é `true` mas o sandbox não consegue iniciar1903 * `true`: Claude Code sai com um erro na inicialização quando `sandbox.enabled` é `true` mas o sandbox não consegue iniciar

1893 * `false`: Claude Code mostra um aviso e executa comandos sem sandbox1904 * `false`: Claude Code executa comandos sem sandbox quando o sandbox não consegue iniciar

1894* **Default**: `false`1905* **Default**: `false`

1895 1906 

1896Isso faz com que cada máquina gerenciada faça sandbox dos comandos ou recuse iniciar:1907Isso faz com que cada máquina gerenciada faça sandbox dos comandos ou recuse iniciar:


1929}1940}

1930```1941```

1931 1942 

1932Consulte [Sandbox modes](/docs/pt/sandboxing#sandbox-modes) para saber o que o modo auto-autorização ainda solicita e como se comporta em modo de plano.1943Consulte [Sandbox modes](/docs/pt/sandboxing#sandbox-modes) para saber o que o modo auto-autorização ainda solicita e como se comporta em modo de planejamento.

1933 1944 

1934<h3 id="sandbox-excludedcommands">1945<h3 id="sandbox-excludedcommands">

1935 `sandbox.excludedCommands`1946 `sandbox.excludedCommands`

1936</h3>1947</h3>

1937 1948 

1938Nomeie comandos que Claude Code executa fora do sandbox, como ferramentas que não funcionam sob ele. Cada entrada usa a mesma sintaxe do conteúdo de uma [regra de permissão](/docs/pt/permissions#permission-rule-syntax) `Bash(...)`: um comando exato, um prefixo como `docker *` ou um padrão curinga.1949Nomeie comandos que Claude Code executa fora do sandbox, como ferramentas que não funcionam sob ele. Cada entrada usa a mesma sintaxe do conteúdo de uma [regra de permissão](/docs/pt/permissions#permission-rule-syntax) `Bash(...)`: um comando exato, um prefixo como `docker *` ou um padrão curinga. Um padrão sem curinga é uma correspondência exata, então `docker` corresponde apenas a `docker` sem argumentos.

1939 1950 

1940Suas entradas tiram uma chamada Bash do sandbox apenas quando cobrem cada comando nela, e algumas formas de chamada permanecem em sandbox mesmo assim. Uma entrada `docker *` sozinha não tira `npm ci && docker build .` do sandbox.1951Suas entradas tiram uma chamada Bash do sandbox apenas quando cobrem cada comando nela, e algumas formas de chamada permanecem em sandbox mesmo assim. Uma entrada `docker *` sozinha não tira `npm ci && docker build .` do sandbox.

1941 1952 

1942* **Scope**: [`Any file`](#scopes)1953* **Scope**: [`Any file`](#scopes), com [limites em configurações de projeto e locais](/docs/pt/sandboxing#repository-settings-under-an-admin-required-sandbox)

1943* **Type**: array de padrões de comando1954* **Type**: array de padrões de comando

1944* **Default**: não definido, então nenhum comando é excluído1955* **Default**: não definido, então nenhum comando é excluído

1945 1956 


1958* Uma substituição de comando, um subshell ou um bloco de fluxo de controle como `if` ou `for`1969* 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` faz1970* 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ável1971* Um nome de comando que vem de uma variável

1972* 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 1973 

1962Por exemplo, `cd build && docker compose up` permanece em sandbox sob uma entrada `docker *`, e adicionar uma entrada `cd` não muda isso.1974Por 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 1975 

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.1976Comandos excluídos ainda passam pelo fluxo de permissão regular. Exclusão é uma conveniência, não uma barreira de segurança: quando uma ferramenta só precisa escrever em algum lugar específico, [`filesystem.allowWrite`](#sandbox-filesystem-allowwrite) a mantém em sandbox.

1977 

1978Entradas dos escopos de configurações que a sessão carrega se combinam em uma única lista, a menos que o sandbox seja [exigido pelo administrador](/docs/pt/sandboxing#repository-settings-under-an-admin-required-sandbox). Enquanto for, Claude Code ignora entradas em `.claude/settings.json` e `.claude/settings.local.json`, para que um repositório clonado não possa tirar comandos do sandbox. Entradas em configurações gerenciadas, `--settings` e seu `~/.claude/settings.json` ainda se aplicam, e nenhum bloqueio somente gerenciado cobre essa lista.

1965 1979 

1966<h3 id="sandbox-allowunsandboxedcommands">1980<h3 id="sandbox-allowunsandboxedcommands">

1967 `sandbox.allowUnsandboxedCommands`1981 `sandbox.allowUnsandboxedCommands`

1968</h3>1982</h3>

1969 1983 

1970Deixe Claude tentar novamente um comando fora do sandbox com o parâmetro `dangerouslyDisableSandbox` depois que o sandbox o bloqueia. Defina-o como `false` para que Claude Code ignore esse parâmetro completamente e cada comando que Claude executa deve estar em sandbox ou aparecer em [`excludedCommands`](#sandbox-excludedcommands). A aba **Overrides** do `/sandbox` mostra esse estado como **Strict sandbox mode**. Use `false` em configurações gerenciadas para políticas que exigem sandboxing rigoroso.1984Deixe Claude tentar novamente um comando fora do sandbox com o parâmetro `dangerouslyDisableSandbox` depois que o sandbox o bloqueia. Quando é `false`, Claude Code ignora esse parâmetro. Enquanto o sandbox está em execução, os comandos que Claude executa ficam então em sandbox, a menos que correspondam a uma entrada de [`excludedCommands`](#sandbox-excludedcommands). A aba **Overrides** do `/sandbox` mostra esse estado como **Strict sandbox mode**. Um `false` em configurações gerenciadas ativa o modo de sandbox rigoroso para os desenvolvedores que elas cobrem.

1971 1985 

1972* **Scope**: [`Any file`](#scopes)1986* **Scope**: [`Any file`](#scopes), com [um limite em configurações de projeto e locais](/docs/pt/sandboxing#turn-off-the-retry-with-strict-sandbox-mode)

1973* **Type**: Boolean1987* **Type**: Boolean

1974 * `true`: Claude pode tentar novamente um comando fora do sandbox com o parâmetro `dangerouslyDisableSandbox` depois que o sandbox o bloqueia1988 * `true`: Claude pode tentar novamente um comando fora do sandbox com o parâmetro `dangerouslyDisableSandbox` depois que o sandbox o bloqueia

1975 * `false`: Claude Code ignora esse parâmetro, então cada comando que Claude executa está em sandbox ou aparece em `excludedCommands`1989 * `false`: Claude Code ignora esse parâmetro, então, enquanto o sandbox está em execução, os comandos que Claude executa ficam em sandbox, a menos que correspondam a uma entrada de `excludedCommands`

1976* **Default**: `true`1990* **Default**: `true`

1977 1991 

1978Isso impõe modo de sandbox rigoroso para todos que as configurações gerenciadas cobrem:1992Isso impõe modo de sandbox rigoroso para todos que as configurações gerenciadas cobrem:


1986}2000}

1987```2001```

1988 2002 

1989Uma tentativa sem sandbox passa pelo fluxo de permissão regular, com um prompt em modo Manual. Consulte [The unsandboxed retry escape hatch](/docs/pt/sandboxing#the-unsandboxed-retry-escape-hatch).2003Um `false` vindo de configurações gerenciadas ou de `--settings` também torna o sandbox [exigido pelo administrador](/docs/pt/sandboxing#repository-settings-under-an-admin-required-sandbox). Um `false` em suas configurações de usuário prevalece sobre um `true` de um projeto, mas não torna o sandbox exigido pelo administrador. Prevalecer sobre o valor de um projeto requer Claude Code v2.1.285 ou posterior.

1990 2004 

1991Para ver quando comandos que você digita você mesmo no [prompt de modo shell `!`](/docs/pt/interactive-mode#shell-mode-with-prefix) são executados em sandbox, consulte [strict sandbox mode](/docs/pt/sandboxing#the-unsandboxed-retry-escape-hatch).2005Quem aprova uma nova tentativa sem sandbox depende do seu modo de permissão e das suas regras de autorização. Consulte [The unsandboxed retry escape hatch](/docs/pt/sandboxing#the-unsandboxed-retry-escape-hatch).

2006 

2007Para ver quando comandos que você digita você mesmo no [prompt de modo shell `!`](/docs/pt/interactive-mode#shell-mode-with-prefix) são executados em sandbox, consulte [strict sandbox mode](/docs/pt/sandboxing#turn-off-the-retry-with-strict-sandbox-mode).

1992 2008 

1993<h3 id="sandbox-filesystem">2009<h3 id="sandbox-filesystem">

1994 `sandbox.filesystem`2010 `sandbox.filesystem`

1995</h3>2011</h3>

1996 2012 

1997Controle quais caminhos os comandos em sandbox podem ler e escrever. Por padrão, eles podem escrever no diretório de trabalho, no diretório temporário da sessão e em diretórios que você adiciona com `--add-dir`, `/add-dir` ou `permissions.additionalDirectories`, e podem ler o resto do sistema de arquivos, incluindo arquivos de credenciais. Amplie ou restrinja isso com as quatro listas de caminhos, ou desative a camada do sistema de arquivos com `disabled`. Consulte [Filesystem isolation](/docs/pt/sandboxing#filesystem-isolation) para os limites padrão.2013Controle quais caminhos os comandos em sandbox podem ler e escrever. Por padrão, eles podem escrever no diretório de trabalho, no diretório temporário por usuário e em diretórios que você adiciona com `--add-dir`, `/add-dir` ou `permissions.additionalDirectories`, e podem ler o resto do sistema de arquivos, incluindo arquivos de credenciais. Amplie ou restrinja isso com as quatro listas de caminhos, ou desative a camada do sistema de arquivos com `disabled`. Consulte [Filesystem isolation](/docs/pt/sandboxing#filesystem-isolation) para os limites padrão.

1998 2014 

1999* **Scope**: [`Any file`](#scopes)2015* **Scope**: [`Any file`](#scopes)

2000* **Type**: object com arrays `allowWrite`, `denyWrite`, `denyRead` e `allowRead`, além dos booleanos `allowManagedReadPathsOnly` e `disabled`2016* **Type**: object com arrays `allowWrite`, `denyWrite`, `denyRead` e `allowRead`, além dos booleanos `allowManagedReadPathsOnly` e `disabled`

2001* **Default**: não definido, então os limites padrão de leitura e escrita se aplicam2017* **Default**: não definido, então os limites padrão de leitura e escrita se aplicam

2002 2018 

2003Isso permite que comandos em sandbox escrevam em um diretório de compilação e seu kubeconfig, e oculta seu arquivo de credenciais AWS:2019Isso permite que comandos em sandbox escrevam em um diretório de build e seu kubeconfig, e oculta seu arquivo de credenciais AWS:

2004 2020 

2005```json settings.json theme={null}2021```json settings.json theme={null}

2006{2022{


2015 2031 

2016Claude Code impõe essas listas no limite do sandbox do SO, então elas se aplicam a cada subprocesso que um comando em sandbox inicia, como `kubectl`, `terraform` ou `npm`. Claude Code adiciona suas [regras de permissão](/docs/pt/sandboxing#permission-rules) às mesmas listas: regras `Edit` allow e deny para `allowWrite` e `denyWrite`, regras `Read` deny para `denyRead` e regras `WebFetch(domain:...)` allow e deny para as listas de domínio [`network`](#sandbox-network).2032Claude Code impõe essas listas no limite do sandbox do SO, então elas se aplicam a cada subprocesso que um comando em sandbox inicia, como `kubectl`, `terraform` ou `npm`. Claude Code adiciona suas [regras de permissão](/docs/pt/sandboxing#permission-rules) às mesmas listas: regras `Edit` allow e deny para `allowWrite` e `denyWrite`, regras `Read` deny para `denyRead` e regras `WebFetch(domain:...)` allow e deny para as listas de domínio [`network`](#sandbox-network).

2017 2033 

2018A menos que um bloqueio somente gerenciado seja definido, Claude Code mescla cada lista nos arquivos de configurações que a sessão carrega. [`allowManagedReadPathsOnly`](#sandbox-filesystem-allowmanagedreadpathsonly) limita `allowRead` a entradas de configurações gerenciadas, e [`allowManagedDomainsOnly`](#sandbox-network-allowmanageddomainsonly) faz o mesmo para domínios permitidos.2034A menos que um bloqueio se aplique, Claude Code mescla essas listas nos arquivos de configurações que a sessão carrega. [`allowManagedReadPathsOnly`](#sandbox-filesystem-allowmanagedreadpathsonly) limita `allowRead` a entradas de configurações gerenciadas, e [`allowManagedDomainsOnly`](#sandbox-network-allowmanageddomainsonly) faz o mesmo para domínios permitidos. [Bloqueios de repositório](/docs/pt/sandboxing#repository-settings-under-an-admin-required-sandbox) deixam de fora entradas dos arquivos de configurações de um repositório.

2019 2035 

2020[Configure sandboxing](/docs/pt/sandboxing#configure-sandboxing) cobre fontes que você exclui com `--setting-sources`. Quando você edita uma lista durante uma sessão, Claude Code [aplica a mudança à sessão em execução](/docs/pt/settings#when-edits-take-effect).2036[Configure sandboxing](/docs/pt/sandboxing#configure-sandboxing) cobre fontes que você exclui com `--setting-sources`. Quando você edita uma lista durante uma sessão, Claude Code [aplica a mudança à sessão em execução](/docs/pt/settings#when-edits-take-effect).

2021 2037 


2028| Prefixo | Significado | Exemplo |2044| Prefixo | Significado | Exemplo |

2029| :- | :- | :- |2045| :- | :- | :- |

2030| `/` | Caminho absoluto da raiz do sistema de arquivos | `/tmp/build` permanece `/tmp/build` |2046| `/` | Caminho absoluto da raiz do sistema de arquivos | `/tmp/build` permanece `/tmp/build` |

2031| `~/` | Relativo ao diretório inicial | `~/.kube` se torna `$HOME/.kube` |2047| `~/` | Relativo ao diretório pessoal | `~/.kube` se torna `$HOME/.kube` |

2032| `./` ou sem prefixo | Relativo à raiz do projeto para configurações de projeto, ou a `~/.claude` para configurações de usuário | `./output` em `.claude/settings.json` é resolvido para `<project-root>/output` |2048| `./` ou sem prefixo | Relativo à raiz do projeto para configurações de projeto, ou a `~/.claude` para configurações de usuário | `./output` em `.claude/settings.json` é resolvido para `<project-root>/output` |

2033 2049 

2034O prefixo `//path` para caminhos absolutos também funciona. Se você usar `/path` com barra única esperando resolução relativa ao projeto, mude para `./path`. Essa sintaxe difere das [regras de permissão Read e Edit](/docs/pt/permissions#read-and-edit), que usam `//path` para absoluto e `/path` para relativo ao projeto: caminhos do sistema de arquivos do sandbox usam convenções padrão, então `/tmp/build` é um caminho absoluto.2050O prefixo `//path` para caminhos absolutos também funciona. Se você usar `/path` com barra única esperando resolução relativa ao projeto, mude para `./path`. Essa sintaxe difere das [regras de permissão Read e Edit](/docs/pt/permissions#read-and-edit), que usam `//path` para absoluto e `/path` para relativo ao projeto: caminhos do sistema de arquivos do sandbox usam convenções padrão, então `/tmp/build` é um caminho absoluto.


2044 `sandbox.filesystem.allowWrite`2060 `sandbox.filesystem.allowWrite`

2045</h3>2061</h3>

2046 2062 

2047Adicione caminhos onde comandos em sandbox podem escrever, além do diretório de trabalho, do diretório temporário da sessão e dos diretórios que você adicionou com `--add-dir`, `/add-dir` ou `permissions.additionalDirectories`. Use-o quando um subprocesso como `kubectl` ou uma ferramenta de compilação precisa escrever fora do projeto.2063Adicione caminhos onde comandos em sandbox podem escrever, além do diretório de trabalho, do diretório temporário por usuário e dos diretórios que você adicionou com `--add-dir`, `/add-dir` ou `permissions.additionalDirectories`. Use-o quando um subprocesso como `kubectl` ou uma ferramenta de build precisa escrever fora do projeto.

2048 2064 

2049* **Scope**: [`Any file`](#scopes)2065* **Scope**: [`Any file`](#scopes), com [limites em configurações de projeto e locais](/docs/pt/sandboxing#repository-settings-under-an-admin-required-sandbox)

2050* **Type**: array de strings de caminho, usando os [prefixos de caminho do sandbox](#sandbox-path-prefixes)2066* **Type**: array de strings de caminho, usando os [prefixos de caminho do sandbox](#sandbox-path-prefixes)

2051* **Default**: não definido, então comandos em sandbox podem escrever no diretório de trabalho, no diretório temporário da sessão, em diretórios que você adicionou com `--add-dir` ou `/add-dir` e em diretórios em [`permissions.additionalDirectories`](#permissions-additionaldirectories)2067* **Default**: não definido, então comandos em sandbox podem escrever no diretório de trabalho, no diretório temporário por usuário, em diretórios que você adicionou com `--add-dir` ou `/add-dir` e em diretórios em [`permissions.additionalDirectories`](#permissions-additionaldirectories)

2052 2068 

2053Isso permite que uma compilação escreva sob `/tmp/build` e deixa `kubectl` atualizar seu kubeconfig:2069Isso permite que um build escreva sob `/tmp/build` e deixa `kubectl` atualizar seu kubeconfig:

2054 2070 

2055```json settings.json theme={null}2071```json settings.json theme={null}

2056{2072{


2062}2078}

2063```2079```

2064 2080 

2065Claude Code mescla entradas `allowWrite` e os caminhos de suas regras de permissão `Edit(...)` allow em todos os escopos de configurações que a sessão carrega, deixando de fora os de configurações de repositório enquanto [`permissions.blockReadsOutsideWorkingDirectories`](#sandboxed-commands-under-the-block) está ativado. Uma entrada `allowWrite` não pode levantar um [caminho protegido](/docs/pt/sandboxing#protected-paths).2081Claude Code mescla entradas `allowWrite` e os caminhos de suas regras de permissão `Edit(...)` allow em todos os escopos de configurações que a sessão carrega, deixando de fora os de configurações de repositório enquanto [`permissions.blockReadsOutsideWorkingDirectories`](#sandboxed-commands-under-the-block) está ativado. [Bloqueios de repositório](/docs/pt/sandboxing#repository-settings-under-an-admin-required-sandbox) também podem deixar de fora as entradas de um repositório. Uma entrada `allowWrite` não pode levantar um [caminho protegido](/docs/pt/sandboxing#protected-paths).

2066 2082 

2067<h3 id="sandbox-filesystem-denywrite">2083<h3 id="sandbox-filesystem-denywrite">

2068 `sandbox.filesystem.denyWrite`2084 `sandbox.filesystem.denyWrite`


2114 `sandbox.filesystem.allowRead`2130 `sandbox.filesystem.allowRead`

2115</h3>2131</h3>

2116 2132 

2117Reabra a leitura para caminhos específicos dentro de uma região que [`denyRead`](#sandbox-filesystem-denyread) bloqueia, para construir acesso de leitura somente do espaço de trabalho. Uma entrada `denyRead` exata ou curinga permanece bloqueada dentro de um `allowRead` mais amplo, como a [tabela de sobreposição](/docs/pt/sandboxing#configure-sandboxing) mostra. Quando uma entrada `denyRead` curinga como `~/**/.env` corresponde a um diretório, Claude Code bloqueia leituras de seu conteúdo também. Antes da v2.1.236 em macOS, Claude Code reabrira os caminhos que uma entrada `denyRead` curinga correspondia onde uma entrada `allowRead` mais ampla as cobria, e deixava o conteúdo de um diretório correspondido legível.2133Reabra a leitura para caminhos específicos dentro de uma região que [`denyRead`](#sandbox-filesystem-denyread) bloqueia, para construir acesso de leitura somente do espaço de trabalho. Uma entrada `denyRead` exata ou curinga permanece bloqueada dentro de um `allowRead` mais amplo, como a [tabela de sobreposição](/docs/pt/sandboxing#configure-sandboxing) mostra. Quando uma entrada `denyRead` curinga como `~/**/.env` corresponde a um diretório, Claude Code bloqueia leituras de seu conteúdo também. Antes da v2.1.236 em macOS, Claude Code reabria os caminhos que uma entrada `denyRead` curinga correspondia onde uma entrada `allowRead` mais ampla as cobria, e deixava o conteúdo de um diretório correspondido legível.

2118 2134 

2119* **Scope**: [`Any file`](#scopes)2135* **Scope**: [`Any file`](#scopes), com [limites em configurações de projeto e locais](/docs/pt/sandboxing#repository-settings-under-an-admin-required-sandbox)

2120* **Type**: array de strings de caminho, usando os [prefixos de caminho do sandbox](#sandbox-path-prefixes)2136* **Type**: array de strings de caminho, usando os [prefixos de caminho do sandbox](#sandbox-path-prefixes)

2121* **Default**: não definido2137* **Default**: não definido

2122 2138 

2123Isso bloqueia leituras de seu diretório inicial exceto o projeto em si:2139Isso bloqueia leituras de seu diretório pessoal exceto o projeto em si:

2124 2140 

2125```json settings.json theme={null}2141```json settings.json theme={null}

2126{2142{


2133}2149}

2134```2150```

2135 2151 

2136Claude Code resolve uma entrada `.` para a raiz do projeto em configurações de projeto e para `~/.claude` em configurações de usuário. Claude Code mescla entradas em todos os arquivos de configurações que a sessão carrega, a menos que [`allowManagedReadPathsOnly`](#sandbox-filesystem-allowmanagedreadpathsonly) seja definido, e deixa de fora entradas de configurações de repositório enquanto [`permissions.blockReadsOutsideWorkingDirectories`](#sandboxed-commands-under-the-block) está ativado.2152Claude Code resolve uma entrada `.` para a raiz do projeto em configurações de projeto e para `~/.claude` em configurações de usuário. Claude Code mescla entradas em todos os arquivos de configurações que a sessão carrega, a menos que [`allowManagedReadPathsOnly`](#sandbox-filesystem-allowmanagedreadpathsonly) seja definido, e deixa de fora entradas de configurações de repositório enquanto [`permissions.blockReadsOutsideWorkingDirectories`](#sandboxed-commands-under-the-block) está ativado. [Bloqueios de repositório](/docs/pt/sandboxing#repository-settings-under-an-admin-required-sandbox) também podem deixar de fora as entradas de um repositório.

2137 2153 

2138<h3 id="sandbox-filesystem-allowmanagedreadpathsonly">2154<h3 id="sandbox-filesystem-allowmanagedreadpathsonly">

2139 `sandbox.filesystem.allowManagedReadPathsOnly`2155 `sandbox.filesystem.allowManagedReadPathsOnly`


2144* **Scope**: [`Managed`](#scopes)2160* **Scope**: [`Managed`](#scopes)

2145* **Type**: Boolean2161* **Type**: Boolean

2146 * `true`: Claude Code honra apenas as entradas `allowRead` de configurações gerenciadas2162 * `true`: Claude Code honra apenas as entradas `allowRead` de configurações gerenciadas

2147 * `false`: entradas `allowRead` mesclam de todos os escopos de configurações que a sessão carrega2163 * `false`: entradas `allowRead` de outros arquivos de configurações podem ser mescladas

2148* **Default**: `false`2164* **Default**: `false`

2149 2165 

2150Isso bloqueia leituras do diretório inicial, reabre `~/work` e impede que desenvolvedores reabram qualquer outra coisa:2166Isso bloqueia leituras do diretório pessoal, reabre `~/work` e impede que desenvolvedores reabram qualquer outra coisa:

2151 2167 

2152```json managed-settings.json theme={null}2168```json managed-settings.json theme={null}

2153{2169{


2191}2207}

2192```2208```

2193 2209 

2194Com a camada desativada, Claude Code não impõe entradas `denyRead` ou `credentials.files` `deny`, enquanto entradas `credentials.envVars` e entradas `mask` aplicadas continuam funcionando. [`autoAllowBashIfSandboxed`](#sandbox-autoallowbashifsandboxed) ainda padrão para `true`, então defina-o como `false` para continuar solicitando. Consulte [Disable filesystem isolation](/docs/pt/sandboxing#disable-filesystem-isolation) para a lista completa de fontes que podem defini-lo e o que muda quando o isolamento está desativado. Requer Claude Code v2.1.216 ou posterior.2210Com a camada desativada, Claude Code não impõe entradas `denyRead` ou `credentials.files` `deny`, enquanto entradas `credentials.envVars` e entradas `mask` aplicadas continuam funcionando. [`autoAllowBashIfSandboxed`](#sandbox-autoallowbashifsandboxed) ainda tem `true` como padrão, então defina-o como `false` para continuar solicitando. Consulte [Disable filesystem isolation](/docs/pt/sandboxing#disable-filesystem-isolation) para a lista completa de fontes que podem defini-lo e o que muda quando o isolamento está desativado. Requer Claude Code v2.1.216 ou posterior.

2195 2211 

2196<h3 id="sandbox-ignoreviolations">2212<h3 id="sandbox-ignoreviolations">

2197 `sandbox.ignoreViolations`2213 `sandbox.ignoreViolations`


2199 2215 

2200Silencie relatórios de violação de sandbox para caminhos que você espera que um comando sonde e seja recusado, como uma ferramenta que verifica `/etc/hosts` na inicialização, para que essas negações não apareçam como violações ou no que Claude vê. O sandbox ainda bloqueia o acesso; apenas o relatório é suprimido. As chaves são substrings para corresponder contra o comando, com `*` correspondendo a cada comando, e os valores são substrings da violação a ignorar para esse comando, como um caminho do sistema de arquivos.2216Silencie relatórios de violação de sandbox para caminhos que você espera que um comando sonde e seja recusado, como uma ferramenta que verifica `/etc/hosts` na inicialização, para que essas negações não apareçam como violações ou no que Claude vê. O sandbox ainda bloqueia o acesso; apenas o relatório é suprimido. As chaves são substrings para corresponder contra o comando, com `*` correspondendo a cada comando, e os valores são substrings da violação a ignorar para esse comando, como um caminho do sistema de arquivos.

2201 2217 

2202* **Scope**: [`Any file`](#scopes)2218* **Scope**: [`Any file`](#scopes), com [limites em configurações de projeto e locais](/docs/pt/sandboxing#repository-settings-under-an-admin-required-sandbox)

2203* **Type**: object mapeando uma substring de comando para um array de substrings de violação, geralmente caminhos2219* **Type**: object mapeando uma substring de comando para um array de substrings de violação, geralmente caminhos

2204* **Default**: não definido, então cada violação é relatada2220* **Default**: não definido, então cada violação é relatada

2205 2221 


2219 2235 

2220Execute o sandbox do Linux dentro de um contêiner Docker sem privilégios, onde bubblewrap não consegue montar um `/proc` fresco. Em vez disso, o sandbox interno faz bind-mount do `/proc` existente do contêiner, o que expõe informações de processo que uma montagem fresca ocultaria. Isso reduz a segurança; use-o apenas quando o contêiner externo já fornece o isolamento que você precisa.2236Execute o sandbox do Linux dentro de um contêiner Docker sem privilégios, onde bubblewrap não consegue montar um `/proc` fresco. Em vez disso, o sandbox interno faz bind-mount do `/proc` existente do contêiner, o que expõe informações de processo que uma montagem fresca ocultaria. Isso reduz a segurança; use-o apenas quando o contêiner externo já fornece o isolamento que você precisa.

2221 2237 

2222* **Scope**: [`Any file`](#scopes)2238* **Scope**: [`Any file`](#scopes), com [limites em configurações de projeto e locais](/docs/pt/sandboxing#repository-settings-under-an-admin-required-sandbox)

2223* **Type**: Boolean2239* **Type**: Boolean

2224 * `true`: o sandbox interno faz bind-mount do `/proc` existente do contêiner em vez de montar um fresco2240 * `true`: o sandbox interno faz bind-mount do `/proc` existente do contêiner em vez de montar um fresco

2225 * `false`: o sandbox monta um `/proc` fresco, o que não funciona em um contêiner Docker sem privilégios2241 * `false`: o sandbox monta um `/proc` fresco, o que não funciona em um contêiner Docker sem privilégios


2234}2250}

2235```2251```

2236 2252 

2237Apenas Linux e WSL2. Consulte [Bubblewrap fails to start inside a container](/docs/pt/sandboxing#troubleshooting).2253Apenas Linux e WSL2. Consulte [Bubblewrap fails to start inside a container](/docs/pt/sandboxing#bubblewrap-fails-to-start-inside-a-container).

2238 2254 

2239<h3 id="sandbox-enableweakernetworkisolation">2255<h3 id="sandbox-enableweakernetworkisolation">

2240 `sandbox.enableWeakerNetworkIsolation`2256 `sandbox.enableWeakerNetworkIsolation`


2242 2258 

2243Deixe comandos em sandbox em macOS alcançar o serviço de confiança TLS do sistema, `com.apple.trustd.agent`. Ferramentas baseadas em Go como `gh`, `gcloud` e `terraform` precisam disso para verificar certificados TLS quando você usa [`network.httpProxyPort`](#sandbox-network-httpproxyport) com um proxy MITM e uma CA personalizada. Isso reduz a segurança abrindo um possível caminho de exfiltração de dados através do serviço de confiança.2259Deixe comandos em sandbox em macOS alcançar o serviço de confiança TLS do sistema, `com.apple.trustd.agent`. Ferramentas baseadas em Go como `gh`, `gcloud` e `terraform` precisam disso para verificar certificados TLS quando você usa [`network.httpProxyPort`](#sandbox-network-httpproxyport) com um proxy MITM e uma CA personalizada. Isso reduz a segurança abrindo um possível caminho de exfiltração de dados através do serviço de confiança.

2244 2260 

2245* **Scope**: [`Any file`](#scopes)2261* **Scope**: [`Any file`](#scopes), com [limites em configurações de projeto e locais](/docs/pt/sandboxing#repository-settings-under-an-admin-required-sandbox)

2246* **Type**: Boolean2262* **Type**: Boolean

2247 * `true`: comandos em sandbox em macOS podem alcançar `com.apple.trustd.agent`2263 * `true`: comandos em sandbox em macOS podem alcançar `com.apple.trustd.agent`

2248 * `false`: comandos em sandbox em macOS não podem alcançar o serviço de confiança TLS do sistema2264 * `false`: comandos em sandbox em macOS não podem alcançar o serviço de confiança TLS do sistema


2257}2273}

2258```2274```

2259 2275 

2260Se você não usar um proxy MITM, liste as ferramentas que falham em [`excludedCommands`](#sandbox-excludedcommands) em vez disso; consulte [Go-based CLIs fail TLS verification on macOS](/docs/pt/sandboxing#troubleshooting).2276Se você não usar um proxy MITM, liste as ferramentas que falham em [`excludedCommands`](#sandbox-excludedcommands) em vez disso; consulte [Go-based CLIs fail TLS verification on macOS](/docs/pt/sandboxing#go-based-clis-fail-tls-verification-on-macos).

2261 2277 

2262<h3 id="sandbox-allowappleevents">2278<h3 id="sandbox-allowappleevents">

2263 `sandbox.allowAppleEvents`2279 `sandbox.allowAppleEvents`


2286 `sandbox.ripgrep`2302 `sandbox.ripgrep`

2287</h3>2303</h3>

2288 2304 

2289Aponte o sandbox para um binário ripgrep seu em vez do que Claude Code usa, por exemplo, quando sua plataforma precisa de um `rg` construído diferentemente.2305Aponte o sandbox para um binário ripgrep seu em vez do que Claude Code usa, por exemplo, quando sua plataforma precisa de um `rg` compilado de forma diferente.

2290 2306 

2291* **Scope**: [`User or managed`](#scopes)2307* **Scope**: [`User or managed`](#scopes)

2292* **Type**: object com `command`, o caminho para o binário ripgrep, e `args` opcional, um array de argumentos para prepender2308* **Type**: object com `command`, o caminho para o binário ripgrep, e `args` opcional, um array de argumentos para prepender


2348 `sandbox.credentials`2364 `sandbox.credentials`

2349</h3>2365</h3>

2350 2366 

2351Declare os arquivos de credenciais e variáveis de ambiente para [proteger de comandos em sandbox](/docs/pt/sandboxing#protect-credentials). Cada entrada nomeia um arquivo `path` ou uma variável `name` e um `mode`: `deny` oculta a credencial dentro do sandbox, e `mask` mostra comandos em sandbox um espaço reservado enquanto o [proxy do sandbox](/docs/pt/sandboxing#mask-credentials) substitui o valor real em solicitações de saída. Claude Code protege apenas as entradas que você lista; não há lista de negação de credenciais integrada.2367Declare os arquivos de credenciais e variáveis de ambiente para [proteger de comandos em sandbox](/docs/pt/sandboxing#protect-credentials). Cada entrada nomeia um arquivo `path` ou uma variável `name` e um `mode`: `deny` oculta a credencial dentro do sandbox, e `mask` mostra aos comandos em sandbox um espaço reservado enquanto o [proxy do sandbox](/docs/pt/sandboxing#mask-credentials) substitui o valor real em requisições de saída. Claude Code protege apenas as entradas que você lista; não há lista de negação de credenciais integrada.

2352 2368 

2353* **Scope**: [`Any file`](#scopes). Claude Code honra entradas `mask`, `allowPlaintextInject`, `awsPairs` e `sigv4` apenas de configurações de usuário, configurações gerenciadas e a flag `--settings`.2369* **Scope**: [`Any file`](#scopes). Claude Code honra entradas `mask`, `allowPlaintextInject`, `awsPairs` e `sigv4` apenas de configurações de usuário, configurações gerenciadas e a flag `--settings`.

2354* **Type**: object com `files`, `envVars`, `allowPlaintextInject`, `awsPairs` e `sigv4`2370* **Type**: object com `files`, `envVars`, `allowPlaintextInject`, `awsPairs` e `sigv4`


2385 `sandbox.credentials.files`2401 `sandbox.credentials.files`

2386</h3>2402</h3>

2387 2403 

2388Proteja arquivos ou diretórios de credenciais de comandos em sandbox. Com `"mode": "deny"`, Claude Code bloqueia leituras do caminho dentro do sandbox, o mesmo bloqueio de leitura que [`sandbox.filesystem.denyRead`](#sandbox-filesystem-denyread). Com `"mode": "mask"`, comandos em sandbox em Linux e WSL2 leem uma cópia sentinela do arquivo, e o proxy do sandbox substitui o valor real em solicitações de saída para `injectHosts` dessa entrada; em macOS o arquivo é ilegível dentro do sandbox em vez disso. `"mode": "mask"` requer Claude Code v2.1.221 ou posterior.2404Proteja arquivos ou diretórios de credenciais de comandos em sandbox. Com `"mode": "deny"`, Claude Code bloqueia leituras do caminho dentro do sandbox, o mesmo bloqueio de leitura que [`sandbox.filesystem.denyRead`](#sandbox-filesystem-denyread). Com `"mode": "mask"`, comandos em sandbox em Linux e WSL2 leem uma cópia sentinela do arquivo, e o proxy do sandbox substitui o valor real em requisições de saída para `injectHosts` dessa entrada; em macOS o arquivo é ilegível dentro do sandbox em vez disso. `"mode": "mask"` requer Claude Code v2.1.221 ou posterior.

2389 2405 

2390* **Scope**: [`Any file`](#scopes). Claude Code descarta entradas `mask` de `.claude/settings.json` de projeto e `.claude/settings.local.json` local.2406* **Scope**: [`Any file`](#scopes). Claude Code descarta entradas `mask` de `.claude/settings.json` de projeto e `.claude/settings.local.json` local.

2391* **Type**: array de objetos, cada um com `path` e um `mode` de `"deny"` ou `"mask"`, mais os [campos mask opcionais para arquivos](#mask-fields-for-files)2407* **Type**: array de objetos, cada um com `path` e um `mode` de `"deny"` ou `"mask"`, mais os [campos mask opcionais para arquivos](#mask-fields-for-files)

2392* **Default**: não definido, então nenhum arquivo de credenciais é protegido2408* **Default**: não definido, então nenhum arquivo de credenciais é protegido

2393 2409 

2394Isso oculta seu arquivo de credenciais AWS e mascara o arquivo de hosts `gh`, substituindo o valor real apenas em solicitações para `api.github.com`:2410Isso oculta seu arquivo de credenciais AWS e mascara o arquivo de hosts `gh`, substituindo o valor real apenas em requisições para `api.github.com`:

2395 2411 

2396```json settings.json theme={null}2412```json settings.json theme={null}

2397{2413{


2406}2422}

2407```2423```

2408 2424 

2409Caminhos usam os mesmos [prefixos](#sandbox-path-prefixes) que as configurações `sandbox.filesystem.*`, e Claude Code mescla os arrays de todos os escopos de configurações que a sessão carrega. [Protect credentials](/docs/pt/sandboxing#protect-credentials) cobre o que ainda se aplica de fontes que você exclui com `--setting-sources`. `mask` entradas requerem Claude Code v2.1.221 ou posterior.2425Caminhos usam os mesmos [prefixos](#sandbox-path-prefixes) que as configurações `sandbox.filesystem.*`, e Claude Code mescla os arrays de todos os escopos de configurações que a sessão carrega. [Protect credentials](/docs/pt/sandboxing#protect-credentials) cobre o que ainda se aplica de fontes que você exclui com `--setting-sources`. Entradas `mask` requerem Claude Code v2.1.221 ou posterior.

2410 2426 

2411A substituição `mask` é executada apenas através do proxy do sandbox, então defina [`sandbox.network.tlsTerminate`](#sandbox-network-tlsterminate) ou [`allowPlaintextInject`](#sandbox-credentials-allowplaintextinject) para redes de teste HTTP simples. `mask` se aplica a um único arquivo, então liste cada arquivo de credenciais individualmente. Claude Code aceita mas ignora os campos `mask` em uma entrada `deny`. [Mask credential files](/docs/pt/sandboxing#mask-credential-files) cobre quais fontes de configurações são honradas e quando uma entrada volta para `deny`.2427A substituição `mask` é executada apenas através do proxy do sandbox, então defina [`sandbox.network.tlsTerminate`](#sandbox-network-tlsterminate) ou [`allowPlaintextInject`](#sandbox-credentials-allowplaintextinject) para redes de teste HTTP simples. `mask` se aplica a um único arquivo, então liste cada arquivo de credenciais individualmente. Claude Code aceita mas ignora os campos `mask` em uma entrada `deny`. [Mask credentials](/docs/pt/sandboxing#mask-credentials) cobre quais fontes de configurações são honradas, e [Mask credential files](/docs/pt/sandboxing#mask-credential-files) cobre quando uma entrada volta para `deny`.

2412 2428 

2413<span id="sandbox-credentials-files-extract" />2429<span id="sandbox-credentials-files-extract" />

2414 2430 


2433| `extract` | string, uma expressão regular com pelo menos um grupo de captura | Mascara apenas o texto capturado pelo grupo 1 de cada correspondência, então o resto do arquivo permanece analisável. Com `decode` também definido, Claude Code verifica cada captura como um JWT possível em vez de substituí-lo imediatamente. Requer v2.1.221 ou posterior |2449| `extract` | string, uma expressão regular com pelo menos um grupo de captura | Mascara apenas o texto capturado pelo grupo 1 de cada correspondência, então o resto do arquivo permanece analisável. Com `decode` também definido, Claude Code verifica cada captura como um JWT possível em vez de substituí-lo imediatamente. Requer v2.1.221 ou posterior |

2434| `onExtractNoMatch` | `"warn"`, `"deny"` ou `"error"`; padrão `"warn"` | O que acontece quando `extract` ou `decode` não encontra nada para mascarar. `warn` deixa o arquivo legível como está dentro do sandbox, `deny` o torna ilegível e `error` interrompe a configuração do sandbox até você corrigir a configuração. Claude Code trata `deny` como `error` quando o bloqueio de leitura não seria imposto, porque você [desativa isolamento do sistema de arquivos](/docs/pt/sandboxing#disable-filesystem-isolation) ou uma entrada [`sandbox.filesystem.allowRead`](#sandbox-filesystem-allowread) reabre o caminho. Requer v2.1.221 ou posterior; o caso `decode` requer v2.1.224 ou posterior |2450| `onExtractNoMatch` | `"warn"`, `"deny"` ou `"error"`; padrão `"warn"` | O que acontece quando `extract` ou `decode` não encontra nada para mascarar. `warn` deixa o arquivo legível como está dentro do sandbox, `deny` o torna ilegível e `error` interrompe a configuração do sandbox até você corrigir a configuração. Claude Code trata `deny` como `error` quando o bloqueio de leitura não seria imposto, porque você [desativa isolamento do sistema de arquivos](/docs/pt/sandboxing#disable-filesystem-isolation) ou uma entrada [`sandbox.filesystem.allowRead`](#sandbox-filesystem-allowread) reabre o caminho. Requer v2.1.221 ou posterior; o caso `decode` requer v2.1.224 ou posterior |

2435| `decode` | a string `"jwt"` | Encontre JSON Web Tokens (JWTs) no arquivo, com um padrão integrado ou com `extract` quando definido, verifique cada candidato e substitua-o por um token falso estruturalmente válido, então código dentro do sandbox que decodifica o token continua funcionando. Quando nenhum candidato verifica, `onExtractNoMatch` governa o resultado. Requer v2.1.224 ou posterior |2451| `decode` | a string `"jwt"` | Encontre JSON Web Tokens (JWTs) no arquivo, com um padrão integrado ou com `extract` quando definido, verifique cada candidato e substitua-o por um token falso estruturalmente válido, então código dentro do sandbox que decodifica o token continua funcionando. Quando nenhum candidato verifica, `onExtractNoMatch` governa o resultado. Requer v2.1.224 ou posterior |

2436| `maskClaims` | array de strings, pelo menos um nome de claim; requer `decode` | Mascara apenas os claims de carga útil de nível superior nomeados dentro de cada JWT verificado e reconstrói o token ao redor da carga útil modificada, então os outros claims permanecem legíveis. Quando nenhum claim nomeado corresponde, `onExtractNoMatch` governa o resultado. Requer v2.1.224 ou posterior |2452| `maskClaims` | array de strings, pelo menos um nome de claim; requer `decode` | Mascara apenas os claims de payload de nível superior nomeados dentro de cada JWT verificado e reconstrói o token ao redor do payload modificado, então os outros claims permanecem legíveis. Quando nenhum claim nomeado corresponde, `onExtractNoMatch` governa o resultado. Requer v2.1.224 ou posterior |

2437| `maskDuplicates` | Boolean, padrão `false` | Também substitua cópias verbatim de cada valor mascarado em outro lugar no arquivo, como um segredo colado em um comentário. Claude Code corresponde substrings brutas, então reserve-o para segredos longos e de alta entropia. Consultado apenas quando `extract` ou `decode` está definido. Requer v2.1.221 ou posterior |2453| `maskDuplicates` | Boolean, padrão `false` | Também substitua cópias verbatim de cada valor mascarado em outro lugar no arquivo, como um segredo colado em um comentário. Claude Code corresponde substrings brutas, então reserve-o para segredos longos e de alta entropia. Consultado apenas quando `extract` ou `decode` está definido. Requer v2.1.221 ou posterior |

2438| `injectHosts` | array de strings, cada um um host que [`sandbox.network.allowedDomains`](#sandbox-network-alloweddomains) também admite | Restrinja os hosts onde o proxy do sandbox substitui o valor real. Quando não definido, o proxy o substitui em solicitações para cada host em `sandbox.network.allowedDomains`. Requer v2.1.221 ou posterior |2454| `injectHosts` | array de strings, cada um um host que [`sandbox.network.allowedDomains`](#sandbox-network-alloweddomains) também admite | Restrinja os hosts onde o proxy do sandbox substitui o valor real. Quando não definido, o proxy o substitui em requisições para cada host em `sandbox.network.allowedDomains`. Requer v2.1.221 ou posterior |

2439 2455 

2440Isso mascara apenas o valor `oauth_token` no arquivo de hosts `gh`, substitui cada outra cópia dele no arquivo, torna o arquivo ilegível se o padrão não corresponder a nada e substitui o token real apenas em solicitações para `api.github.com`:2456Isso mascara apenas o valor `oauth_token` no arquivo de hosts `gh`, substitui cada outra cópia dele no arquivo, torna o arquivo ilegível se o padrão não corresponder a nada e substitui o token real apenas em requisições para `api.github.com`:

2441 2457 

2442```json settings.json theme={null}2458```json settings.json theme={null}

2443{2459{


2462 `sandbox.credentials.envVars`2478 `sandbox.credentials.envVars`

2463</h3>2479</h3>

2464 2480 

2465Proteja variáveis de ambiente de comandos em sandbox. Com `"mode": "deny"`, Claude Code remove a variável do ambiente de comandos em sandbox. Com `"mode": "mask"`, comandos em sandbox veem um valor sentinela por sessão, e o proxy do sandbox substitui o valor real em solicitações de saída para `injectHosts` dessa entrada, então ferramentas como `gh` e `npm` continuam autenticando sem nunca manter a credencial real. `"mode": "mask"` requer Claude Code v2.1.199 ou posterior.2481Proteja variáveis de ambiente de comandos em sandbox. Com `"mode": "deny"`, Claude Code remove a variável do ambiente de comandos em sandbox. Com `"mode": "mask"`, comandos em sandbox veem um valor sentinela por sessão, e o proxy do sandbox substitui o valor real em requisições de saída para `injectHosts` dessa entrada, então ferramentas como `gh` e `npm` continuam autenticando sem nunca manter a credencial real. `"mode": "mask"` requer Claude Code v2.1.199 ou posterior.

2466 2482 

2467* **Scope**: [`Any file`](#scopes). Claude Code descarta entradas `mask` de `.claude/settings.json` de projeto e `.claude/settings.local.json` local.2483* **Scope**: [`Any file`](#scopes). Claude Code descarta entradas `mask` de `.claude/settings.json` de projeto e `.claude/settings.local.json` local.

2468* **Type**: array de objetos, cada um com `name` e um `mode` de `"deny"` ou `"mask"`, mais os [campos mask opcionais para variáveis de ambiente](#mask-fields-for-environment-variables)2484* **Type**: array de objetos, cada um com `name` e um `mode` de `"deny"` ou `"mask"`, mais os [campos mask opcionais para variáveis de ambiente](#mask-fields-for-environment-variables)

2469* **Default**: não definido, então nenhuma variável de ambiente é protegida2485* **Default**: não definido, então nenhuma variável de ambiente é protegida

2470 2486 

2471Isso remove `NPM_TOKEN` de comandos em sandbox e mascara `GITHUB_TOKEN`, substituindo o valor real apenas em solicitações para `api.github.com`:2487Isso remove `NPM_TOKEN` de comandos em sandbox e mascara `GITHUB_TOKEN`, substituindo o valor real apenas em requisições para `api.github.com`:

2472 2488 

2473```json settings.json theme={null}2489```json settings.json theme={null}

2474{2490{


2483}2499}

2484```2500```

2485 2501 

2486O `name` deve começar com uma letra ou sublinhado e conter apenas letras, dígitos e sublinhados. Claude Code mescla os arrays de todos os escopos de configurações que a sessão carrega e aplica `deny` quando a mesma variável aparece com ambos os modos. [Protect credentials](/docs/pt/sandboxing#protect-credentials) cobre o que ainda se aplica de fontes que você exclui com `--setting-sources`. `mask` entradas requerem Claude Code v2.1.199 ou posterior.2502O `name` deve começar com uma letra ou sublinhado e conter apenas letras, dígitos e sublinhados. Claude Code mescla os arrays de todos os escopos de configurações que a sessão carrega e aplica `deny` quando a mesma variável aparece com ambos os modos. [Protect credentials](/docs/pt/sandboxing#protect-credentials) cobre o que ainda se aplica de fontes que você exclui com `--setting-sources`. Entradas `mask` requerem Claude Code v2.1.199 ou posterior.

2487 2503 

2488A substituição `mask` é executada apenas através do proxy do sandbox, então defina [`sandbox.network.tlsTerminate`](#sandbox-network-tlsterminate) ou [`allowPlaintextInject`](#sandbox-credentials-allowplaintextinject) para redes de teste HTTP simples; consulte [Mask environment variables](/docs/pt/sandboxing#mask-environment-variables). Claude Code aceita mas ignora os campos `mask` em uma entrada `deny`.2504A substituição `mask` é executada apenas através do proxy do sandbox, então defina [`sandbox.network.tlsTerminate`](#sandbox-network-tlsterminate) ou [`allowPlaintextInject`](#sandbox-credentials-allowplaintextinject) para redes de teste HTTP simples; consulte [Mask credentials](/docs/pt/sandboxing#mask-credentials). Claude Code aceita mas ignora os campos `mask` em uma entrada `deny`.

2489 2505 

2490<span id="sandbox-credentials-envvars-extract" />2506<span id="sandbox-credentials-envvars-extract" />

2491 2507 


2508| `extract` | string, uma expressão regular com pelo menos um grupo de captura | Mascara apenas o texto capturado pelo grupo 1 de cada correspondência, como a senha dentro de uma string de conexão `DATABASE_URL`, então o resto do valor permanece analisável. Requer v2.1.224 ou posterior |2524| `extract` | string, uma expressão regular com pelo menos um grupo de captura | Mascara apenas o texto capturado pelo grupo 1 de cada correspondência, como a senha dentro de uma string de conexão `DATABASE_URL`, então o resto do valor permanece analisável. Requer v2.1.224 ou posterior |

2509| `onExtractNoMatch` | `"warn"`, `"deny"` ou `"error"`; padrão `"warn"`. Em uma entrada com `decode`, apenas `"warn"` é aceito | O que acontece quando `extract` não corresponde a nada. `warn` passa a variável através desmascarada, `deny` a desdefine dentro do sandbox e `error` interrompe a configuração do sandbox até você corrigir a configuração. Requer v2.1.224 ou posterior |2525| `onExtractNoMatch` | `"warn"`, `"deny"` ou `"error"`; padrão `"warn"`. Em uma entrada com `decode`, apenas `"warn"` é aceito | O que acontece quando `extract` não corresponde a nada. `warn` passa a variável através desmascarada, `deny` a desdefine dentro do sandbox e `error` interrompe a configuração do sandbox até você corrigir a configuração. Requer v2.1.224 ou posterior |

2510| `decode` | a string `"jwt"` | Verifique se o valor inteiro é um JWT e substitua-o por um token falso estruturalmente válido, então código dentro do sandbox que decodifica o token continua funcionando; o proxy substitui o token real inteiro na saída. Um valor que não verifica passa através desmascarado com um aviso. Requer v2.1.224 ou posterior |2526| `decode` | a string `"jwt"` | Verifique se o valor inteiro é um JWT e substitua-o por um token falso estruturalmente válido, então código dentro do sandbox que decodifica o token continua funcionando; o proxy substitui o token real inteiro na saída. Um valor que não verifica passa através desmascarado com um aviso. Requer v2.1.224 ou posterior |

2511| `maskClaims` | array de strings, pelo menos um nome de claim; requer `decode` | Mascara apenas os claims de carga útil de nível superior nomeados dentro do JWT decodificado e reconstrói o token ao redor da carga útil modificada, então os outros claims permanecem legíveis. Quando nenhum claim nomeado corresponde, a variável passa através desmascarada com um aviso. Requer v2.1.224 ou posterior |2527| `maskClaims` | array de strings, pelo menos um nome de claim; requer `decode` | Mascara apenas os claims de payload de nível superior nomeados dentro do JWT decodificado e reconstrói o token ao redor do payload modificado, então os outros claims permanecem legíveis. Quando nenhum claim nomeado corresponde, a variável passa através desmascarada com um aviso. Requer v2.1.224 ou posterior |

2512| `injectHosts` | array de strings, cada um um host que [`sandbox.network.allowedDomains`](#sandbox-network-alloweddomains) também admite | Restrinja os hosts onde o proxy do sandbox substitui o valor real. Quando não definido, o proxy o substitui em solicitações para cada host em `sandbox.network.allowedDomains`. Escreva um destino IPv6 como o endereço comprimido nu, como `"::1"`, não a forma entre colchetes; consulte [IPv6 destinations in `injectHosts`](/docs/pt/sandboxing#ipv6-destinations-in-injecthosts). Requer v2.1.199 ou posterior |2528| `injectHosts` | array de strings, cada um um host que [`sandbox.network.allowedDomains`](#sandbox-network-alloweddomains) também admite | Restrinja os hosts onde o proxy do sandbox substitui o valor real. Quando não definido, o proxy o substitui em requisições para cada host em `sandbox.network.allowedDomains`. Escreva um destino IPv6 como o endereço comprimido nu, como `"::1"`, não a forma entre colchetes; consulte [IPv6 destinations in `injectHosts`](/docs/pt/sandboxing#ipv6-destinations-in-injecthosts). Requer v2.1.199 ou posterior |

2513 2529 

2514Isso mascara apenas a senha dentro de `DATABASE_URL`, desdefine a variável se o padrão não corresponder a nada e mascara um JWT em `SERVICE_JWT` enquanto deixa cada claim exceto `api_key` legível:2530Isso mascara apenas a senha dentro de `DATABASE_URL`, desdefine a variável se o padrão não corresponder a nada e mascara um JWT em `SERVICE_JWT` enquanto deixa cada claim exceto `api_key` legível:

2515 2531 


2540 `sandbox.credentials.allowPlaintextInject`2556 `sandbox.credentials.allowPlaintextInject`

2541</h3>2557</h3>

2542 2558 

2543Permita substituição `mask` em solicitações HTTP simples bem como HTTPS terminado em TLS. Em HTTP simples a identidade upstream não é verificada e a credencial viaja em texto claro, então deixe isso desativado fora de redes de teste confiáveis. Requer Claude Code v2.1.199 ou posterior.2559Permita substituição `mask` em requisições HTTP simples bem como HTTPS terminado em TLS. Em HTTP simples a identidade upstream não é verificada e a credencial viaja em texto claro, então deixe isso desativado fora de redes de teste confiáveis. Requer Claude Code v2.1.199 ou posterior.

2544 2560 

2545* **Scope**: [`User or managed`](#scopes)2561* **Scope**: [`User or managed`](#scopes)

2546* **Type**: Boolean2562* **Type**: Boolean

2547 * `true`: Claude Code permite substituição `mask` em solicitações HTTP simples bem como HTTPS terminado em TLS2563 * `true`: Claude Code permite substituição `mask` em requisições HTTP simples bem como HTTPS terminado em TLS

2548 * `false`: Claude Code permite substituição `mask` apenas em HTTPS terminado em TLS2564 * `false`: Claude Code permite substituição `mask` apenas em HTTPS terminado em TLS

2549* **Default**: `false`2565* **Default**: `false`

2550 2566 


2588}2604}

2589```2605```

2590 2606 

2591Cada variável nomeada deve ser uma entrada `mask` de valor inteiro em [`sandbox.credentials.envVars`](#sandbox-credentials-envvars), sem `extract` ou `decode`, e pode preencher apenas um slot em todos os pares.2607Cada variável nomeada deve ser uma entrada `mask` de valor inteiro em [`sandbox.credentials.envVars`](#sandbox-credentials-envvars), sem `extract` ou `decode`, e pode preencher apenas um slot em todos os pares. Estas regras também se aplicam:

2608 

2609* O proxy re-assina requisições nos hosts listados em `injectHosts` da entrada da ID de chave de acesso

2610* Quando `sessionTokenVar` está definido, o proxy envia o token real como `x-amz-security-token` em requisições re-assinadas

2611* Nomear qualquer uma das variáveis convencionais em um par substitui o emparelhamento automático

2592 2612 

2593<h3 id="sandbox-credentials-sigv4">2613<h3 id="sandbox-credentials-sigv4">

2594 `sandbox.credentials.sigv4`2614 `sandbox.credentials.sigv4`

2595</h3>2615</h3>

2596 2616 

2597Escolha o que o proxy do sandbox faz com formas de solicitação AWS que [não consegue re-assinar](/docs/pt/sandboxing#re-sign-aws-requests): `streaming` para uploads de streaming aws-chunked, `presigned` para URLs pré-assinadas e `sigv4a` para assinaturas assimétricas SigV4A. Isso se aplica apenas a solicitações assinadas com a ID de chave de acesso de espaço reservado de um par mascarado. Requer Claude Code v2.1.224 ou posterior.2617Escolha o que o proxy do sandbox faz com formas de requisição AWS que [não consegue re-assinar](/docs/pt/sandboxing#re-sign-aws-requests): `streaming` para uploads de streaming aws-chunked, `presigned` para URLs pré-assinadas e `sigv4a` para assinaturas assimétricas SigV4A. Isso se aplica apenas a requisições assinadas com a ID de chave de acesso de espaço reservado de um par mascarado. Requer Claude Code v2.1.224 ou posterior.

2598 2618 

2599* **Scope**: [`User or managed`](#scopes)2619* **Scope**: [`User or managed`](#scopes)

2600* **Type**: object com `streaming`, `presigned` e `sigv4a`, cada um de:2620* **Type**: object com `streaming`, `presigned` e `sigv4a`, cada um de:

2601 * `"deny"`: o proxy falha na solicitação2621 * `"deny"`: o proxy falha a requisição

2602 * `"passthrough"`: o proxy encaminha a solicitação assinada com o espaço reservado mascarado, então a ferramenta recebe a própria rejeição da AWS2622 * `"passthrough"`: o proxy encaminha a requisição assinada com o espaço reservado mascarado, então a ferramenta recebe a própria rejeição da AWS

2603* **Default**: não definido, então cada forma é `"deny"`2623* **Default**: não definido, então cada forma é `"deny"`

2604 2624 

2605Isso encaminha uploads de streaming em vez de falhá-los no proxy:2625Isso encaminha uploads de streaming em vez de falhá-los no proxy:


2616}2636}

2617```2637```

2618 2638 

2619Com `deny`, o proxy falha na solicitação. Com `passthrough`, o proxy encaminha a solicitação com sua assinatura computada a partir do espaço reservado mascarado, então AWS a rejeita e a ferramenta chamadora recebe a própria resposta da AWS em vez de um erro de proxy.2639Com `deny`, o proxy falha a requisição. Com `passthrough`, o proxy encaminha a requisição com sua assinatura computada a partir do espaço reservado mascarado, então AWS a rejeita e a ferramenta chamadora recebe a própria resposta da AWS em vez de um erro de proxy.

2620 2640 

2621<h3 id="sandbox-network">2641<h3 id="sandbox-network">

2622 `sandbox.network`2642 `sandbox.network`


2626 2646 

2627* **Scope**: [`Any file`](#scopes). `strictAllowlist`, `allowManagedDomainsOnly` e `tlsTerminate` são lidos de menos fontes, como suas entradas dizem.2647* **Scope**: [`Any file`](#scopes). `strictAllowlist`, `allowManagedDomainsOnly` e `tlsTerminate` são lidos de menos fontes, como suas entradas dizem.

2628* **Type**: object com as sub-chaves abaixo2648* **Type**: object com as sub-chaves abaixo

2629* **Default**: não definido, então nenhum domínio é pré-autorizado e o sandbox solicita cada novo host2649* **Default**: não definido, então nenhum domínio é pré-autorizado e seu modo de permissão decide [o que acontece com cada novo host](/docs/pt/sandboxing#hosts-outside-your-allowed-domains)

2630 2650 

2631Isso pré-autoriza GitHub e npm, bloqueia `uploads.github.com` e deixa comandos se vincularem a localhost:2651Isso pré-autoriza GitHub e npm, bloqueia `uploads.github.com` e deixa comandos se vincularem a localhost:

2632 2652 


2642}2662}

2643```2663```

2644 2664 

2645Claude Code mescla as sub-chaves de array em escopos de configurações e as deduplica, então um projeto pode adicionar domínios à sua lista de usuário. As regras de permissão `WebFetch(domain:...)` allow e deny [permission rules](/docs/pt/sandboxing#permission-rules) alimentam as mesmas listas de allow e deny.2665Claude Code mescla as sub-chaves de array em escopos de configurações, então um projeto pode adicionar domínios à sua lista de usuário, a menos que um [bloqueio de repositório](/docs/pt/sandboxing#repository-settings-under-an-admin-required-sandbox) se aplique. As [regras de permissão](/docs/pt/sandboxing#permission-rules) `WebFetch(domain:...)` allow e deny alimentam as mesmas listas de allow e deny.

2646 2666 

2647<h3 id="sandbox-network-allowunixsockets">2667<h3 id="sandbox-network-allowunixsockets">

2648 `sandbox.network.allowUnixSockets`2668 `sandbox.network.allowUnixSockets`

2649</h3>2669</h3>

2650 2670 

2651Liste os caminhos de socket Unix que comandos em sandbox podem se conectar em macOS. Claude Code ignora essa lista no Linux e WSL2, onde o filtro seccomp não consegue inspecionar caminhos de socket; use [`allowAllUnixSockets`](#sandbox-network-allowallunixsockets) em vez disso.2671Liste os caminhos de socket Unix aos quais comandos em sandbox podem se conectar em macOS. Claude Code ignora essa lista no Linux e WSL2, onde o filtro seccomp não consegue inspecionar caminhos de socket; use [`allowAllUnixSockets`](#sandbox-network-allowallunixsockets) em vez disso.

2652 2672 

2653* **Scope**: [`Any file`](#scopes)2673* **Scope**: [`Any file`](#scopes), com [limites em configurações de projeto e locais](/docs/pt/sandboxing#repository-settings-under-an-admin-required-sandbox)

2654* **Type**: array de strings, cada um um caminho de socket2674* **Type**: array de strings, cada um um caminho de socket

2655* **Default**: não definido, então o sandbox macOS bloqueia cada socket Unix2675* **Default**: não definido, então o sandbox macOS bloqueia cada socket Unix

2656 2676 


2670 `sandbox.network.allowAllUnixSockets`2690 `sandbox.network.allowAllUnixSockets`

2671</h3>2691</h3>

2672 2692 

2673Deixe comandos em sandbox se conectarem a cada socket Unix. No Linux e WSL2, o [filtro seccomp](/docs/pt/sandboxing#set-up-linux-and-wsl2) do sandbox bloqueia chamadas `socket(AF_UNIX, ...)`, então essa é a única maneira de permitir sockets Unix lá. Quando o filtro está faltando, que `/sandbox` relata em sua aba Dependencies, o sandbox não bloqueia chamadas de socket Unix. Consulte [Set up Linux and WSL2](/docs/pt/sandboxing#set-up-linux-and-wsl2) para onde o filtro vem.2693Deixe comandos em sandbox se conectarem a cada socket Unix. No Linux e WSL2, o [filtro seccomp](/docs/pt/sandboxing#set-up-linux-and-wsl2) do sandbox bloqueia chamadas `socket(AF_UNIX, ...)`, então essa é a única maneira de permitir sockets Unix lá. Quando o filtro está faltando, o que `/sandbox` relata em sua aba Dependencies, o sandbox não bloqueia chamadas de socket Unix. Consulte [Set up Linux and WSL2](/docs/pt/sandboxing#set-up-linux-and-wsl2) para saber de onde o filtro vem.

2674 2694 

2675* **Scope**: [`Any file`](#scopes)2695* **Scope**: [`Any file`](#scopes), com [limites em configurações de projeto e locais](/docs/pt/sandboxing#repository-settings-under-an-admin-required-sandbox)

2676* **Type**: Boolean2696* **Type**: Boolean

2677 * `true`: comandos em sandbox podem se conectar a cada socket Unix2697 * `true`: comandos em sandbox podem se conectar a cada socket Unix

2678 * `false`: o sandbox bloqueia conexões de socket Unix: em macOS exceto os caminhos em `allowUnixSockets` e no Linux e WSL2 através do filtro seccomp quando está presente2698 * `false`: o sandbox bloqueia conexões de socket Unix: em macOS exceto os caminhos em `allowUnixSockets` e no Linux e WSL2 através do filtro seccomp quando está presente


2694 `sandbox.network.allowLocalBinding`2714 `sandbox.network.allowLocalBinding`

2695</h3>2715</h3>

2696 2716 

2697Deixe comandos em sandbox se vincularem a portas localhost em macOS, por exemplo, para iniciar um servidor de desenvolvimento.2717Deixe comandos em sandbox em macOS escutarem em portas de rede, por exemplo, para iniciar um servidor de desenvolvimento, e se conectarem a qualquer porta em localhost. Um comando que escuta em um endereço que não é de loopback aceita conexões de outras máquinas. A chave não tem efeito no Linux e WSL2, onde cada comando em sandbox tem sua própria interface de loopback. Para alcançar um servidor no host a partir do Linux ou WSL2, consulte [A command fails to reach a server on localhost](/docs/pt/sandboxing#a-command-fails-to-reach-a-server-on-localhost).

2698 2718 

2699* **Scope**: [`Any file`](#scopes)2719* **Scope**: [`Any file`](#scopes), com [limites em configurações de projeto e locais](/docs/pt/sandboxing#repository-settings-under-an-admin-required-sandbox)

2700* **Type**: Boolean2720* **Type**: Boolean

2701 * `true`: comandos em sandbox podem se vincular a portas localhost em macOS2721 * `true`: comandos em sandbox em macOS podem escutar em qualquer endereço local e se conectar a qualquer porta em localhost

2702 * `false`: comandos em sandbox em macOS não podem se vincular a portas localhost2722 * `false`: comandos em sandbox em macOS não podem escutar em uma porta nem se conectar diretamente a servidores em localhost

2703* **Default**: `false`2723* **Default**: `false`

2704 2724 

2705```json settings.json theme={null}2725```json settings.json theme={null}


2718 2738 

2719Liste nomes de serviço XPC e Mach adicionais que o sandbox macOS pode procurar. Ferramentas que se comunicam sobre XPC, como o iOS Simulator ou Playwright, precisam de seus serviços listados aqui.2739Liste nomes de serviço XPC e Mach adicionais que o sandbox macOS pode procurar. Ferramentas que se comunicam sobre XPC, como o iOS Simulator ou Playwright, precisam de seus serviços listados aqui.

2720 2740 

2721* **Scope**: [`Any file`](#scopes)2741* **Scope**: [`Any file`](#scopes), com [limites em configurações de projeto e locais](/docs/pt/sandboxing#repository-settings-under-an-admin-required-sandbox)

2722* **Type**: array de strings, cada um um nome de serviço; um único `*` final corresponde a um prefixo e `"*"` sozinho corresponde a cada serviço2742* **Type**: array de strings, cada um um nome de serviço; um único `*` final corresponde a um prefixo e `"*"` sozinho corresponde a cada serviço

2723* **Default**: não definido2743* **Default**: não definido

2724 2744 


2740 2760 

2741Pré-autorize domínios para tráfego de saída de comandos em sandbox, então o sandbox não solicita por eles. Curingas como `*.example.com` correspondem a subdomínios, e um sufixo `:port` opcional limita uma entrada a uma porta; uma entrada sem porta corresponde a cada porta.2761Pré-autorize domínios para tráfego de saída de comandos em sandbox, então o sandbox não solicita por eles. Curingas como `*.example.com` correspondem a subdomínios, e um sufixo `:port` opcional limita uma entrada a uma porta; uma entrada sem porta corresponde a cada porta.

2742 2762 

2743* **Scope**: [`Any file`](#scopes). Apenas configurações gerenciadas quando [`allowManagedDomainsOnly`](#sandbox-network-allowmanageddomainsonly) está definido.2763* **Scope**: [`Any file`](#scopes), com [limites em configurações de projeto e locais](/docs/pt/sandboxing#repository-settings-under-an-admin-required-sandbox). Apenas configurações gerenciadas quando [`allowManagedDomainsOnly`](#sandbox-network-allowmanageddomainsonly) está definido.

2744* **Type**: array de strings, cada um um domínio, padrão curinga ou literal IP, com um sufixo `:port` opcional2764* **Type**: array de strings, cada um um domínio, padrão curinga ou literal IP, com um sufixo `:port` opcional

2745* **Default**: não definido, então o sandbox solicita a primeira vez que um comando alcança um novo host2765* **Default**: não definido, então seu modo de permissão decide [o que acontece com cada novo host](/docs/pt/sandboxing#hosts-outside-your-allowed-domains)

2746 2766 

2747Isso pré-autoriza GitHub em cada porta, cada subdomínio npm e um host API em porta 443 apenas:2767Isso pré-autoriza GitHub em cada porta, cada subdomínio npm e um host API em porta 443 apenas:

2748 2768 


2786 `sandbox.network.strictAllowlist`2806 `sandbox.network.strictAllowlist`

2787</h3>2807</h3>

2788 2808 

2789Negue acesso de comandos em sandbox a hosts fora da lista de permissões em vez de solicitar aprovação. A lista de permissões é [`allowedDomains`](#sandbox-network-alloweddomains) mais domínios de regras `WebFetch(domain:...)` allow, ou apenas as entradas de configurações gerenciadas quando [`allowManagedDomainsOnly`](#sandbox-network-allowmanageddomainsonly) está definido. Requer Claude Code v2.1.219 ou posterior.2809Negue acesso de comandos em sandbox a hosts fora da allowlist em vez de solicitar aprovação. A allowlist é [`allowedDomains`](#sandbox-network-alloweddomains) mais domínios de regras `WebFetch(domain:...)` allow, ou apenas as entradas de configurações gerenciadas quando [`allowManagedDomainsOnly`](#sandbox-network-allowmanageddomainsonly) está definido. [Locks that apply without an admin-required sandbox](/docs/pt/sandboxing#locks-that-apply-without-an-admin-required-sandbox) cobre as entradas de um repositório. Requer Claude Code v2.1.219 ou posterior.

2790 2810 

2791* **Scope**: [`User or managed`](#scopes). Um repositório não pode ativá-lo ou desativá-lo.2811* **Scope**: [`User or managed`](#scopes). Um repositório não pode ativá-lo ou desativá-lo.

2792* **Type**: Boolean2812* **Type**: Boolean

2793 * `true`: Claude Code nega acesso de comandos em sandbox a hosts fora da lista de permissões2813 * `true`: Claude Code nega acesso de comandos em sandbox a hosts fora da allowlist

2794 * `false`: a menos que outro arquivo de configurações confiável defina `true`, Claude Code decide um host fora da lista de permissões por modo de permissão em vez de negá-lo imediatamente: em modo auto ele verifica o host contra os [domínios permitidos por comando](/docs/pt/sandboxing#per-command-allowed-domains-in-auto-mode) do comando, em modo `dontAsk` nega, em modo `bypassPermissions` e em sessões de modo de plano de terminal interativo onde bypass está disponível permite, e caso contrário pergunta a você2814 * `false`: a menos que outro arquivo de configurações confiável defina `true`, Claude Code decide um host fora da allowlist por modo de permissão em vez de negá-lo imediatamente: em modo auto ele verifica o host contra os [domínios permitidos por comando](/docs/pt/sandboxing#per-command-allowed-domains-in-auto-mode) do comando, em modo `dontAsk` nega, em modo `bypassPermissions` e em sessões de modo de planejamento de terminal interativo onde bypass está disponível permite, e caso contrário pergunta a você

2795* **Default**: `false`2815* **Default**: `false`

2796 2816 

2797```json settings.json theme={null}2817```json settings.json theme={null}


2810 `sandbox.network.allowManagedDomainsOnly`2830 `sandbox.network.allowManagedDomainsOnly`

2811</h3>2831</h3>

2812 2832 

2813Bloqueie a lista de permissões de rede para o que as configurações gerenciadas definem. Claude Code então honra apenas `allowedDomains` e regras `WebFetch(domain:...)` allow de configurações gerenciadas, ignora domínios de configurações de usuário, projeto, local e `--settings`, e bloqueia um domínio não permitido automaticamente em vez de solicitar.2833Bloqueie a allowlist de rede para o que as configurações gerenciadas definem. Claude Code então honra apenas `allowedDomains` e regras `WebFetch(domain:...)` allow de configurações gerenciadas, ignora domínios de configurações de usuário, projeto, local e `--settings`, e bloqueia um domínio não permitido automaticamente em vez de solicitar.

2814 2834 

2815* **Scope**: [`Managed`](#scopes)2835* **Scope**: [`Managed`](#scopes)

2816* **Type**: Boolean2836* **Type**: Boolean

2817 * `true`: Claude Code honra apenas `allowedDomains` e regras `WebFetch(domain:...)` allow de configurações gerenciadas e bloqueia um domínio não permitido em vez de solicitar2837 * `true`: Claude Code honra apenas `allowedDomains` e regras `WebFetch(domain:...)` allow de configurações gerenciadas e bloqueia um domínio não permitido em vez de solicitar

2818 * `false`: domínios de configurações de usuário, projeto, local e `--settings` mesclam na lista de permissões2838 * `false`: domínios de outros arquivos de configurações podem ser mesclados na allowlist

2819* **Default**: `false`2839* **Default**: `false`

2820 2840 

2821Isso bloqueia a lista de permissões para GitHub e npm e ignora qualquer domínio que desenvolvedores adicionem:2841Isso bloqueia a allowlist para GitHub e npm e ignora qualquer domínio que desenvolvedores adicionem:

2822 2842 

2823```json managed-settings.json theme={null}2843```json managed-settings.json theme={null}

2824{2844{


2831}2851}

2832```2852```

2833 2853 

2834Domínios negados ainda mesclam de cada fonte que a sessão carrega. Consulte [Keep developers from widening the policy](/docs/pt/sandboxing#keep-developers-from-widening-the-policy).2854Enquanto a chave é `true`, o sandbox é [exigido pelo administrador](/docs/pt/sandboxing#repository-settings-under-an-admin-required-sandbox), e apenas configurações gerenciadas podem definir uma [porta de proxy](#sandbox-network-httpproxyport).

2855 

2856Domínios negados ainda são mesclados de cada fonte que a sessão carrega. Consulte [Keep developers from widening the policy](/docs/pt/sandboxing#keep-developers-from-widening-the-policy).

2835 2857 

2836<h3 id="sandbox-network-httpproxyport">2858<h3 id="sandbox-network-httpproxyport">

2837 `sandbox.network.httpProxyPort`2859 `sandbox.network.httpProxyPort`

2838</h3>2860</h3>

2839 2861 

2840Aponte o sandbox para seu próprio proxy HTTP em vez do que Claude Code executa. Organizações fazem isso para inspecionar tráfego HTTPS, aplicar suas próprias regras de filtragem ou registrar cada solicitação. Quando não definido, Claude Code inicia seu próprio proxy para tráfego HTTP.2862Aponte o sandbox para seu próprio proxy HTTP em vez do que Claude Code executa. Organizações fazem isso para inspecionar tráfego HTTPS, aplicar suas próprias regras de filtragem ou registrar requisições em log. Seu proxy assume a filtragem, e Claude Code deixa de aplicar suas listas de domínios e prompts de rede ao tráfego enviado para lá. Quando não definido, Claude Code inicia seu próprio proxy para tráfego HTTP.

2841 2863 

2842* **Scope**: [`Any file`](#scopes)2864* **Scope**: [`Any file`](#scopes), a menos que [outras configurações de sandbox limitem quais arquivos podem definir uma porta](/docs/pt/sandboxing#custom-proxy-configuration)

2843* **Type**: number, uma porta TCP local2865* **Type**: number, uma porta TCP local

2844* **Default**: não definido, então Claude Code executa seu próprio proxy2866* **Default**: não definido, então Claude Code executa seu próprio proxy

2845 2867 


2859 `sandbox.network.socksProxyPort`2881 `sandbox.network.socksProxyPort`

2860</h3>2882</h3>

2861 2883 

2862Aponte o sandbox para seu próprio proxy SOCKS5 em vez do que Claude Code executa. Quando não definido, Claude Code inicia seu próprio proxy para tráfego SOCKS.2884Aponte o sandbox para seu próprio proxy SOCKS5 em vez do que Claude Code executa. Seu proxy assume a filtragem, e Claude Code deixa de aplicar suas listas de domínios e prompts de rede ao tráfego enviado para lá. Quando não definido, Claude Code inicia seu próprio proxy para tráfego SOCKS.

2863 2885 

2864* **Scope**: [`Any file`](#scopes)2886* **Scope**: [`Any file`](#scopes), a menos que [outras configurações de sandbox limitem quais arquivos podem definir uma porta](/docs/pt/sandboxing#custom-proxy-configuration)

2865* **Type**: number, uma porta TCP local2887* **Type**: number, uma porta TCP local

2866* **Default**: não definido, então Claude Code executa seu próprio proxy2888* **Default**: não definido, então Claude Code executa seu próprio proxy

2867 2889 


2881 `sandbox.network.tlsTerminate`2903 `sandbox.network.tlsTerminate`

2882</h3>2904</h3>

2883 2905 

2884Faça o proxy do sandbox terminar TLS para que ele possa ler o conteúdo de solicitações HTTPS. Isso é experimental, e a [substituição de credenciais](/docs/pt/sandboxing#mask-credentials) `mask` requer isso. Defina `{}` para gerar uma autoridade de certificado efêmera para a sessão, ou defina `caCertPath` e `caKeyPath` para usar a sua própria.2906Faça o proxy do sandbox terminar TLS para que ele possa ler o conteúdo de requisições HTTPS. Isso é experimental, e a [substituição de credenciais](/docs/pt/sandboxing#mask-credentials) `mask` requer isso. Defina `{}` para gerar uma autoridade de certificado efêmera para a sessão, ou defina `caCertPath` e `caKeyPath` para usar a sua própria.

2885 2907 

2886* **Scope**: [`User or managed`](#scopes). Um repositório não pode ativá-lo ou fornecer uma autoridade de certificado.2908* **Scope**: [`User or managed`](#scopes). Um repositório não pode ativá-lo ou fornecer uma autoridade de certificado.

2887* **Type**: object com `caCertPath` e `caKeyPath` strings opcionais, cada um um caminho de arquivo2909* **Type**: object com `caCertPath` e `caKeyPath` strings opcionais, cada um um caminho de arquivo


4281}4303}

4282```4304```

4283 4305 

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.4306A 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 4307 

4286<h3 id="allowmanagedhooksonly">4308<h3 id="allowmanagedhooksonly">

4287 `allowManagedHooksOnly`4309 `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 processo4361* **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 executados4362* **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 4363 

4364A chave também interrompe [mods](/docs/pt/plugins/mods/overview), que são plugins cujo código registra hooks:

4365 

4366* **Em configurações gerenciadas**: os mods em todos os plugins instalados são interrompidos, incluindo os da sua organização

4367* **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

4368 

4369Mods 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).

4370 

4342Manter hooks do Agent SDK em execução quando configurações gerenciadas definem essa chave requer Claude Code v2.1.242 ou posterior.4371Manter hooks do Agent SDK em execução quando configurações gerenciadas definem essa chave requer Claude Code v2.1.242 ou posterior.

4343 4372 

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.4373O 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}4470}

4442```4471```

4443 4472 

4444A lista de permissões se aplica a hooks de todas as fontes, incluindo configurações gerenciadas.4473A allowlist se aplica a hooks de todas as fontes, incluindo configurações gerenciadas.

4445 4474 

4446<h3 id="workflowkeywordtriggerenabled">4475<h3 id="workflowkeywordtriggerenabled">

4447 `workflowKeywordTriggerEnabled`4476 `workflowKeywordTriggerEnabled`


5930 `allowedProviders`5959 `allowedProviders`

5931</h3>5960</h3>

5932 5961 

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.5962Liste 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 5963 

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).5964* **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:5965* **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 login5966 * `"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)5967 * `"bedrock"`: [Amazon Bedrock](/docs/pt/amazon-bedrock)

5939 * `"vertex"`: [Plataforma de Agente do Google Cloud](/docs/pt/google-vertex-ai), anteriormente Vertex AI5968 * `"vertex"`: [Plataforma de Agente do Google Cloud](/docs/pt/google-vertex-ai), anteriormente Vertex AI

5940 * `"foundry"`: [Microsoft Foundry](/docs/pt/microsoft-foundry)5969 * `"foundry"`: [Microsoft Foundry](/docs/pt/microsoft-foundry)

5941 * `"anthropicAws"`: [Claude Platform on AWS](/docs/pt/claude-platform-on-aws)5970 * `"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 ela5971 * `"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 fixa5972 * `"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)5973 * `"gateway"`: um login de [gateway na nuvem](/docs/pt/claude-apps-gateway)

5945* **Padrão**: não definido, portanto qualquer provedor pode ser usado5974* **Padrão**: não definido, portanto qualquer provedor pode ser usado

5946 5975 


5975 `apiKeyHelper`6004 `apiKeyHelper`

5976</h3>6005</h3>

5977 6006 

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.6007Execute 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 6008 

5980* **Escopo**: [`Qualquer arquivo`](#scopes)6009* **Escopo**: [`Qualquer arquivo`](#scopes)

5981* **Tipo**: string, uma linha de comando do shell6010* **Tipo**: string, uma linha de comando do shell


5990Claude Code armazena em cache o valor e executa novamente o comando nestes casos:6019Claude Code armazena em cache o valor e executa novamente o comando nestes casos:

5991 6020 

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).6021* 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`.6022* 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.6023* 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 6024 

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.6025Os 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 6026 


6003 6032 

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.6033Execute 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 6034 

6035Quando 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`.

6036 

6006* **Escopo**: [`Qualquer arquivo`](#scopes)6037* **Escopo**: [`Qualquer arquivo`](#scopes)

6007* **Tipo**: string, uma linha de comando do shell6038* **Tipo**: string, uma linha de comando do shell

6008* **Padrão**: não definido, portanto Claude Code não atualiza credenciais AWS para você6039* **Padrão**: não definido, portanto Claude Code não atualiza credenciais AWS para você


6019 `awsCredentialExport`6050 `awsCredentialExport`

6020</h3>6051</h3>

6021 6052 

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.6053Execute 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 6054 

6024* **Escopo**: [`Qualquer arquivo`](#scopes)6055* **Escopo**: [`Qualquer arquivo`](#scopes)

6025* **Tipo**: string, uma linha de comando do shell6056* **Tipo**: string, uma linha de comando do shell


6054 6085 

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.6086Cada 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 6087 

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.6088Quando 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 6089 

6059<h3 id="forcelogingatewayurl">6090<h3 id="forcelogingatewayurl">

6060 `forceLoginGatewayUrl`6091 `forceLoginGatewayUrl`


6062 6093 

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.6094Defina 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 6095 

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.6096Ou 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 6097 

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.6098* **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 esquema6099* **Tipo**: string, uma URL completa incluindo o esquema


6080 `forceLoginOrgUUID`6111 `forceLoginOrgUUID`

6081</h3>6112</h3>

6082 6113 

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.6114De 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 6115 

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.6116* **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 UUIDs6117* **Tipo**: string, um UUID, ou array de strings, vários UUIDs


6124 `gcpAuthRefresh`6155 `gcpAuthRefresh`

6125</h3>6156</h3>

6126 6157 

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.6158Execute 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.

6159 

6160Quando 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 6161 

6129* **Escopo**: [`Qualquer arquivo`](#scopes)6162* **Escopo**: [`Qualquer arquivo`](#scopes)

6130* **Tipo**: string, uma linha de comando do shell6163* **Tipo**: string, uma linha de comando do shell

skills.md +22 −4

Details

56 56 

57Claude edita o arquivo registrado apenas quando direcionou uma execução incorretamente, como um comando que falhou ou uma etapa ausente, para que você possa confirmar o arquivo sem diffs por sessão. Antes da v2.1.205, a skill agrupada dizia ao Claude para incorporar qualquer coisa que uma execução aprendesse, o que causava conflitos de mesclagem frequentes.57Claude edita o arquivo registrado apenas quando direcionou uma execução incorretamente, como um comando que falhou ou uma etapa ausente, para que você possa confirmar o arquivo sem diffs por sessão. Antes da v2.1.205, a skill agrupada dizia ao Claude para incorporar qualquer coisa que uma execução aprendesse, o que causava conflitos de mesclagem frequentes.

58 58 

59<h3 id="run-your-checks-before-each-commit">

60 Execute suas verificações antes de cada commit

61</h3>

62 

63Quando uma sessão começa com uma skill chamada `verify` ou `simplify` disponível, as instruções de commit do Claude Code dizem ao Claude para executá-la logo antes de cada commit, exceto para alterações em documentação ou testes. Isso requer Claude Code v2.1.286 ou posterior. Claude recebe essa instrução quando estas condições são atendidas no início da sessão:

64 

65* **Local**: a skill é carregada a partir do [local](#where-skills-live) corporativo, pessoal, de projeto ou de diretório adicional, ou de um arquivo `.claude/commands/` com esse nome. A receita que `/verify` registra na raiz do seu repositório é uma skill de projeto, então ela conta. O `/verify` e o `/simplify` incluídos, skills de plugins e skills da sua conta claude.ai não contam.

66* **Invocação**: Claude pode invocar a skill. Se você [impediu o Claude de invocá-la](#control-who-invokes-a-skill), por exemplo com `disable-model-invocation: true`, Claude não recebe a instrução.

67* **Instruções do Git**: você não desativou [`includeGitInstructions`](/docs/pt/settings-reference#includegitinstructions). Desativá-la remove essa instrução junto com o restante das instruções integradas de commit e PR.

68 

59<h3 id="work-on-claude-api-projects">69<h3 id="work-on-claude-api-projects">

60 Trabalhe em projetos da Claude API70 Trabalhe em projetos da Claude API

61</h3>71</h3>


290 300 

291Claude Code aplica duas regras ao frontmatter de uma skill sincronizada:301Claude Code aplica duas regras ao frontmatter de uma skill sincronizada:

292 302 

293* Claude Code honra o frontmatter em cada tipo de sessão, então uma concessão `allowed-tools` passa pelo [fluxo de permissão](/docs/pt/permissions) normal.303* O frontmatter se aplica em cada tipo de sessão, então uma concessão `allowed-tools` passa pelo [fluxo de permissão](/docs/pt/permissions) normal. Se sua organização definir `allowManagedPermissionRulesOnly`, a concessão [não se aplica](#when-only-managed-permission-rules-apply).

294* Claude Code sanitiza o texto de exibição que a skill fornece, como sua descrição. Remove caracteres de controle, e em texto que alcança Claude, como a descrição, também escapa colchetes angulares para que o texto não possa imitar a formatação interna de Claude Code. Esta sanitização requer Claude Code v2.1.228 ou posterior.304* Claude Code sanitiza o texto de exibição que a skill fornece, como sua descrição. Remove caracteres de controle, e em texto que alcança Claude, como a descrição, também escapa colchetes angulares para que o texto não possa imitar a formatação interna de Claude Code. Esta sanitização requer Claude Code v2.1.228 ou posterior.

295 305 

296<h4 id="how-claude-code-handles-the-body-of-a-synced-skill">306<h4 id="how-claude-code-handles-the-body-of-a-synced-skill">


603 613 

604O campo `allowed-tools` concede permissão para as ferramentas listadas durante o turno que invoca a skill, para que Claude possa usá-las sem avisar você para aprovação. A concessão é limpa quando você envia sua próxima mensagem, mesmo que o conteúdo da skill [permaneça em contexto](#skill-content-lifecycle); invocar a skill novamente reaplica-a para esse turno. Não restringe quais ferramentas estão disponíveis: toda ferramenta permanece chamável, e suas [configurações de permissão](/docs/pt/permissions) ainda governam ferramentas que não estão listadas. Para pré-aprovar ferramentas para a sessão inteira em vez de um único turno, adicione regras de permissão a essas configurações de permissão em vez disso.614O campo `allowed-tools` concede permissão para as ferramentas listadas durante o turno que invoca a skill, para que Claude possa usá-las sem avisar você para aprovação. A concessão é limpa quando você envia sua próxima mensagem, mesmo que o conteúdo da skill [permaneça em contexto](#skill-content-lifecycle); invocar a skill novamente reaplica-a para esse turno. Não restringe quais ferramentas estão disponíveis: toda ferramenta permanece chamável, e suas [configurações de permissão](/docs/pt/permissions) ainda governam ferramentas que não estão listadas. Para pré-aprovar ferramentas para a sessão inteira em vez de um único turno, adicione regras de permissão a essas configurações de permissão em vez disso.

605 615 

606Confiança de workspace não bloqueia este campo. Claude Code aplica `allowed-tools` de uma skill de projeto sempre que você ou Claude invocam a skill, incluindo em uma execução `-p` em uma pasta que você nunca confiou. Uma skill pode conceder a si mesma acesso amplo a ferramentas, então revise `allowed-tools` de skills verificadas em um repositório antes de executar Claude Code lá.616Confiança de workspace não bloqueia este campo. Claude Code aplica `allowed-tools` de uma skill de projeto mesmo em uma execução `-p` em uma pasta que você nunca confiou. Uma skill pode conceder a si mesma acesso amplo a ferramentas, então revise `allowed-tools` de skills incluídas em um repositório antes de executar Claude Code lá. Para retirar o campo de skills de repositório em toda a sua organização, veja [Quando apenas regras de permissão gerenciadas se aplicam](#when-only-managed-permission-rules-apply).

607 617 

608Esta skill permite que Claude execute comandos git sem aprovação por uso sempre que você invoca:618Esta skill permite que Claude execute comandos git sem aprovação por uso sempre que você invoca:

609 619 


618 628 

619Para remover ferramentas do pool disponível de Claude enquanto uma skill está ativa, liste-as em `disallowed-tools` no frontmatter da skill. A restrição é limpa quando você envia sua próxima mensagem. Como regras de negação, o campo não pode remover [`EndConversation`](/docs/pt/tools-reference#endconversation-tool-behavior) enquanto qualquer outra ferramenta permanecer. Para bloquear ferramentas em todas as skills e prompts, adicione regras de negação em suas [configurações de permissão](/docs/pt/permissions).629Para remover ferramentas do pool disponível de Claude enquanto uma skill está ativa, liste-as em `disallowed-tools` no frontmatter da skill. A restrição é limpa quando você envia sua próxima mensagem. Como regras de negação, o campo não pode remover [`EndConversation`](/docs/pt/tools-reference#endconversation-tool-behavior) enquanto qualquer outra ferramenta permanecer. Para bloquear ferramentas em todas as skills e prompts, adicione regras de negação em suas [configurações de permissão](/docs/pt/permissions).

620 630 

631<h4 id="when-only-managed-permission-rules-apply">

632 Quando apenas regras de permissão gerenciadas se aplicam

633</h4>

634 

635Quando sua organização define `allowManagedPermissionRulesOnly` nas configurações gerenciadas, Claude Code ignora `allowed-tools` em skills de projeto e pessoais e nas [outras fontes listadas na entrada da configuração](/docs/pt/settings-reference#allowmanagedpermissionrulesonly). Isso requer Claude Code v2.1.282 ou posterior.

636 

637As ferramentas que uma skill afetada lista passam, em vez disso, pelas regras gerenciadas da sua organização e pelo prompt de permissão normal. Execute `/status` para listar cada skill cujo `allowed-tools` Claude Code ignorou até agora na sessão. Um comando injetado na skill que nenhuma regra gerenciada permite segue [Verificações de permissão em comandos injetados](#permission-checks-on-injected-commands).

638 

621<h3 id="pass-arguments-to-skills">639<h3 id="pass-arguments-to-skills">

622 Passar argumentos para skills640 Passar argumentos para skills

623</h3>641</h3>


766 784 

767Comandos injetados nunca solicitam permissão enquanto a skill é renderizada. Claude Code verifica cada um contra suas [regras de permissão](/docs/pt/permissions) primeiro. Um comando que uma regra de negação corresponde aborta a invocação com `Shell command permission check failed for pattern "..."`.785Comandos injetados nunca solicitam permissão enquanto a skill é renderizada. Claude Code verifica cada um contra suas [regras de permissão](/docs/pt/permissions) primeiro. Um comando que uma regra de negação corresponde aborta a invocação com `Shell command permission check failed for pattern "..."`.

768 786 

769Fora do [modo automático](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode), quando a verificação de permissão de um comando retorna qualquer coisa diferente de permitir, Claude Code aborta a invocação com o mesmo erro. Isso inclui uma regra que normalmente perguntaria. Para evitar que um comando não correspondido aborte aqui, pré-aprove-o com [`allowed-tools`](#pre-approve-tools-for-a-skill). Regras de negação e pergunta ainda substituem `allowed-tools`. Veja [Manage permissions](/docs/pt/permissions#manage-permissions).787Fora do [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode), quando a verificação de permissão de um comando retorna qualquer coisa diferente de allow, Claude Code aborta a invocação com o mesmo erro. Isso inclui uma regra que normalmente perguntaria a você. Para evitar que um comando não correspondido aborte aqui, pré-aprove-o com [`allowed-tools`](#pre-approve-tools-for-a-skill). Se sua organização restringe as regras de permissão às configurações gerenciadas, veja [Quando apenas regras de permissão gerenciadas se aplicam](#when-only-managed-permission-rules-apply). Regras deny e ask ainda sobrescrevem `allowed-tools`. Veja [Manage permissions](/docs/pt/permissions#manage-permissions).

770 788 

771No modo automático, um comando que de outra forma precisaria de sua aprovação não aborta a invocação. A skill carrega com uma instrução dizendo a Claude para executar o comando primeiro, e a própria chamada de Claude passa pelas [verificações usuais do modo automático](/docs/pt/permission-modes#how-the-classifier-evaluates-actions). A invocação ainda aborta em uma [skill bifurcada](#run-skills-in-a-subagent) que define `agent`, e em uma sessão onde Claude não tem a [ferramenta shell que executa comandos injetados](#how-injected-commands-run).789No modo automático, um comando que de outra forma precisaria de sua aprovação não aborta a invocação. A skill carrega com uma instrução dizendo a Claude para executar o comando primeiro, e a própria chamada de Claude passa pelas [verificações usuais do modo automático](/docs/pt/permission-modes#how-the-classifier-evaluates-actions). A invocação ainda aborta em uma [skill bifurcada](#run-skills-in-a-subagent) que define `agent`, e em uma sessão onde Claude não tem a [ferramenta shell que executa comandos injetados](#how-injected-commands-run).

772 790 


840 Restringir acesso de Claude às skills858 Restringir acesso de Claude às skills

841</h3>859</h3>

842 860 

843Por padrão, Claude pode invocar qualquer skill que não tenha `disable-model-invocation: true` definido. Skills que definem `allowed-tools` concedem a Claude acesso a essas ferramentas sem aprovação por uso durante a volta que invoca a skill; a concessão é limpa quando você envia sua próxima mensagem. Suas [configurações de permissão](/docs/pt/permissions) ainda governam o comportamento de aprovação de linha de base para todas as outras ferramentas. Alguns comandos integrados também estão disponíveis através da ferramenta Skill, incluindo `/init` e `/security-review`. Outros comandos integrados como `/compact` não estão.861Por padrão, Claude pode invocar qualquer skill que não tenha `disable-model-invocation: true` definido. Skills que definem [`allowed-tools`](#pre-approve-tools-for-a-skill) concedem a Claude acesso a essas ferramentas sem aprovação por uso durante o turno que invoca a skill; a concessão é limpa quando você envia sua próxima mensagem. Suas [configurações de permissão](/docs/pt/permissions) ainda governam o comportamento de aprovação de linha de base para todas as outras ferramentas. Alguns comandos integrados também estão disponíveis através da ferramenta Skill, incluindo `/init` e `/security-review`. Outros comandos integrados como `/compact` não estão.

844 862 

845Três maneiras de controlar quais skills Claude pode invocar:863Três maneiras de controlar quais skills Claude pode invocar:

846 864 

sub-agents.md +6 −1

Details

1255| `x` | Parar a bifurcação selecionada se estiver em execução, ou descartar sua linha se não estiver mais em execução. Na linha da sessão principal, ou na linha da bifurcação cuja transcrição você abriu com `Enter`, `x` digita no prompt em vez disso |1255| `x` | Parar a bifurcação selecionada se estiver em execução, ou descartar sua linha se não estiver mais em execução. Na linha da sessão principal, ou na linha da bifurcação cuja transcrição você abriu com `Enter`, `x` digita no prompt em vez disso |

1256| `Esc` | Retornar foco para a entrada de prompt |1256| `Esc` | Retornar foco para a entrada de prompt |

1257 1257 

1258Com a transcrição de uma bifurcação ou subagente aberta, mensagens de acompanhamento e [skills](/docs/pt/skills) vão para esse agente, mas comandos integrados ainda são executados em sua conversa principal. A partir da v2.1.199, digitar `/model` ou `/fast` nessa visualização mostra um aviso de que isso muda o modelo da conversa principal ou modo rápido, não do agente visualizado, em vez de executá-lo silenciosamente.1258Com a transcrição de uma bifurcação ou subagente aberta, mensagens de acompanhamento e [skills](/docs/pt/skills) vão para esse agente, e comandos integrados vão para sua conversa principal, com estas salvaguardas:

1259 

1260* `/compact`, `/clear` e `/rewind` atuam na conversa principal, então Claude Code pede que você confirme antes de executar um deles a partir desta visualização.

1261* `/model` e `/fast` definem o modelo e o modo rápido da conversa principal, não os do agente visualizado, então não são executados a partir desta visualização. Um aviso informa o motivo.

1262 

1263Para que o agente visualizado leia sua mensagem antes que termine o trabalho que ele está aguardando, envie-a com [`Ctrl+Enter` ou `Ctrl+X Ctrl+S`](/docs/pt/keybindings#chat-actions). Qualquer comando de shell ou subagente que o agente está aguardando e que possa ser movido para o [background](/docs/pt/tools-reference#background-commands) é movido para lá e continua em execução. Quando o agente está escrevendo uma resposta, ou aguardando um trabalho que não pode ser movido para o background, ele continua e lê sua mensagem assim que isso terminar. Requer Claude Code v2.1.286 ou posterior.

1259 1264 

1260<h3 id="how-forks-differ-from-other-subagents">1265<h3 id="how-forks-differ-from-other-subagents">

1261 Como bifurcações diferem de outros subagentes1266 Como bifurcações diferem de outros subagentes

Details

231 231 

232Quando um comando em primeiro plano atinge seu timeout sem terminar, Claude Code o move para segundo plano em vez de interrompê-lo, a menos que o comando comece com `sleep`. O [limite de tempo](#time-limit-for-background-commands) de um comando movido é contado a partir da mudança, e um comando movido de um subagentos em primeiro plano ainda para quando a execução desse subagentos termina.232Quando um comando em primeiro plano atinge seu timeout sem terminar, Claude Code o move para segundo plano em vez de interrompê-lo, a menos que o comando comece com `sleep`. O [limite de tempo](#time-limit-for-background-commands) de um comando movido é contado a partir da mudança, e um comando movido de um subagentos em primeiro plano ainda para quando a execução desse subagentos termina.

233 233 

234Definir [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1`](/docs/pt/env-vars#variables) desabilita o auto-backgrounding junto com o resto da funcionalidade de tarefas em segundo plano.234Definir [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1`](/docs/pt/env-vars#variables) ou executar no [modo bare](/docs/pt/headless#start-faster-with-bare-mode) desabilita o auto-backgrounding junto com o resto da funcionalidade de tarefas em segundo plano, de modo que um comando que atinge seu timeout é interrompido.

235 235 

236O resultado de um comando movido para segundo plano declara o que aconteceu:236O resultado de um comando movido para segundo plano declara o que aconteceu:

237 237 


661 661 

662Uma regra `WebFetch(domain:...)` explícita em `deny`, `ask` ou `allow` tem precedência sobre o conjunto pré-aprovado, então você pode bloquear um domínio pré-aprovado ou exigir um prompt para ele.662Uma regra `WebFetch(domain:...)` explícita em `deny`, `ask` ou `allow` tem precedência sobre o conjunto pré-aprovado, então você pode bloquear um domínio pré-aprovado ou exigir um prompt para ele.

663 663 

664Quando a URL é um link de [artefato](/docs/pt/artifacts) do claude.ai, Claude Code também pode pedir aprovação para ler o próprio artefato. Para os casos em que ele pede, consulte [Ler um artefato compartilhado com você](/docs/pt/artifacts#read-an-artifact-shared-with-you).

665 

664WebFetch define um cabeçalho `User-Agent` começando com `Claude-User`, e um cabeçalho `Accept` que prefere Markdown sobre HTML para que servidores que suportam negociação de conteúdo possam retornar Markdown diretamente.666WebFetch define um cabeçalho `User-Agent` começando com `Claude-User`, e um cabeçalho `Accept` que prefere Markdown sobre HTML para que servidores que suportam negociação de conteúdo possam retornar Markdown diretamente.

665 667 

666Comandos em sandbox não herdam o conjunto integrado de domínios de documentação pré-aprovados do WebFetch. Para permitir que um comando em sandbox alcance um domínio sem um prompt, adicione o domínio a [`allowedDomains`](/docs/pt/settings-reference#sandbox-network-alloweddomains) ou permita-o com uma regra `WebFetch(domain:...)`, que o [sandbox também honra](/docs/pt/sandboxing#network-isolation). WebFetch nunca lê a lista de permissões do sandbox em troca, então adicionar um domínio a um sandbox ou lista de permissões de rede da organização não impede que WebFetch solicite por ele.668Comandos em sandbox não herdam o conjunto integrado de domínios de documentação pré-aprovados do WebFetch. Para permitir que um comando em sandbox alcance um domínio sem um prompt, adicione o domínio a [`allowedDomains`](/docs/pt/settings-reference#sandbox-network-alloweddomains) ou permita-o com uma regra `WebFetch(domain:...)`, que o [sandbox também honra](/docs/pt/sandboxing#network-isolation). WebFetch nunca lê a lista de permissões do sandbox em troca, então adicionar um domínio a um sandbox ou lista de permissões de rede da organização não impede que WebFetch solicite por ele.

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

ultrareview.md +5 −5

Details

153 Acompanhe uma revisão em execução153 Acompanhe uma revisão em execução

154</h2>154</h2>

155 155 

156Uma revisão normalmente leva 5 a 10 minutos. A revisão é executada como uma tarefa em segundo plano, portanto você pode continuar trabalhando em sua sessão, iniciar outros comandos ou fechar o terminal completamente. Se você escolheu [postar as descobertas para a solicitação de pull](#post-findings-to-the-pull-request), mantenha a sessão aberta até que a revisão termine; se a sessão terminar primeiro, Claude Code não publica nada.156Uma revisão normalmente leva 5 a 10 minutos. A revisão é executada como uma tarefa em segundo plano, portanto você pode continuar trabalhando em sua sessão ou iniciar outros comandos. Se você escolheu [postar as descobertas no pull request](#post-findings-to-the-pull-request), mantenha a sessão aberta até que a revisão termine; se a sessão terminar primeiro, Claude Code não publica nada.

157 157 

158Use `/tasks` para ver revisões em execução e concluídas, abrir a visualização de detalhes de uma revisão ou parar uma revisão em andamento. Se você parar uma revisão, Claude Code arquiva a sessão na nuvem e não retorna descobertas parciais.158Use `/tasks` para ver revisões em execução e concluídas, abrir a visualização de detalhes de uma revisão ou parar uma revisão em andamento. Se você parar uma revisão, Claude Code arquiva a sessão na nuvem e não retorna descobertas parciais.

159 159 


181 181 

182Você consente com o fallback de repositório inteiro e com o aviso de faturamento e termos quando executa o subcomando, portanto a execução começa sem aguardar entrada. Executar você mesmo é o que conta como consentimento. Quando Claude executa o subcomando para você, por exemplo através da ferramenta Bash, Claude Code recusa a revisão de repositório inteiro.182Você consente com o fallback de repositório inteiro e com o aviso de faturamento e termos quando executa o subcomando, portanto a execução começa sem aguardar entrada. Executar você mesmo é o que conta como consentimento. Quando Claude executa o subcomando para você, por exemplo através da ferramenta Bash, Claude Code recusa a revisão de repositório inteiro.

183 183 

184No Claude Code v2.1.218 ou posterior, você também pode iniciar a revisão na nuvem executando `/code-review ultra` em uma sessão não interativa, por exemplo `claude -p '/code-review ultra'`. Claude Code inicia a revisão e imprime um link de rastreamento sem aguardar as descobertas, diferentemente de `claude ultrareview`, que bloqueia até que elas cheguem. Quando a revisão faturaria créditos de uso, Claude Code para antes de iniciar e aponta você para `claude ultrareview`, porque a confirmação de faturamento precisa de uma sessão interativa. Antes da v2.1.218, `/code-review ultra` em uma sessão não interativa executava uma revisão local.184`claude -p '/code-review ultra'` não entrega as descobertas a você, portanto use `claude ultrareview` em scripts. A execução com `-p` inicia a revisão na nuvem e sai sem aguardá-la. Quando a revisão cobraria créditos de uso, a execução com `-p` para sem iniciá-la. Antes da v2.1.218, `/code-review ultra` em uma sessão não interativa executava uma revisão local.

185 185 

186As mensagens de progresso e a URL da sessão ao vivo vão para stderr para que stdout permaneça analisável. Use esses sinalizadores para controlar a saída, o tempo limite e se deve postar as descobertas:186`claude ultrareview` grava suas mensagens de progresso em stderr para que stdout permaneça analisável. Use essas flags para controlar a saída, o timeout e se deve postar as descobertas:

187 187 

188| Sinalizador | Descrição |188| Sinalizador | Descrição |

189| - | - |189| - | - |


200* **1**: a revisão falhou ao iniciar ou foi interrompida antes de terminar, a sessão na nuvem apresentou erro ou o tempo limite decorrido200* **1**: a revisão falhou ao iniciar ou foi interrompida antes de terminar, a sessão na nuvem apresentou erro ou o tempo limite decorrido

201* **130**: você interrompeu o subcomando com Ctrl-C201* **130**: você interrompeu o subcomando com Ctrl-C

202 202 

203Se você interromper o subcomando, a revisão remota continua em execução; siga a URL da sessão impressa em stderr para observá-la no navegador.203Se o subcomando sair antes que as descobertas cheguem, elas nunca chegam ao seu terminal, e executá-lo novamente inicia uma nova revisão em vez de retomar aquela. A nova revisão [conta como uma execução](#pricing-and-free-runs) própria.

204 204 

205Com `--post`, o subcomando inicia a postagem logo após imprimir as descobertas, e imprime o link para stderr.205Com `--post`, o subcomando inicia a postagem logo após imprimir as descobertas, e imprime o link para stderr.

206 206 

207* Se a execução falhar, for interrompida ou expirar o tempo limite, ou se você interrompê-la, o subcomando não posta nada.207* Se a execução falhar, for interrompida ou atingir o timeout, o subcomando não posta nada.

208* Se a revisão for concluída mas o comentário não for postado, Claude Code imprime o motivo para stderr, e as descobertas permanecem em stdout para que você possa postá-las manualmente.208* Se a revisão for concluída mas o comentário não for postado, Claude Code imprime o motivo para stderr, e as descobertas permanecem em stdout para que você possa postá-las manualmente.

209 209 

210Para revisões automáticas em pull requests do GitHub, [Code Review](/docs/pt/code-review) integra-se diretamente com seu repositório e publica descobertas como comentários inline de PR sem uma etapa de CLI.210Para revisões automáticas em pull requests do GitHub, [Code Review](/docs/pt/code-review) integra-se diretamente com seu repositório e publica descobertas como comentários inline de PR sem uma etapa de CLI.

vs-code.md +21 −3

Details

221* **Session titles**: new sessions receive AI-generated titles based on your first message.221* **Session titles**: new sessions receive AI-generated titles based on your first message.

222* **Rename and archive**: hover over a session to reveal these actions. Rename to give it a descriptive title, or archive to move it to the **Archived sessions** group at the bottom of the list.222* **Rename and archive**: hover over a session to reveal these actions. Rename to give it a descriptive title, or archive to move it to the **Archived sessions** group at the bottom of the list.

223 223 

224Se a conversa estiver aberta em outro processo do Claude Code, como `claude` em um terminal ou outra janela do VS Code, um aviso aparece no lugar da caixa de prompt: `This conversation is still open somewhere else. Using it in two places at once can mix up its messages.` Para continuar aqui, feche a conversa no outro lugar e depois clique em **Open here anyway**. Se você clicar sem fechá-la, a conversa ficará aberta nos dois lugares. Com [`claudeProcessWrapper`](#extension-settings) definido, a extensão ignora essa verificação e abre a conversa diretamente.

225 

224By default, a session with no activity for 14 days moves to **Archived sessions** automatically, unless it is open, unread, or in a [group](#organize-sessions-into-groups). Automatic archiving requires Claude Code v2.1.265 or later. To change the period or turn it off, open the [Archive Inactive Sessions setting](vscode://settings/claudeCode.archiveInactiveSessions) and select a number of days or **Never**.226By default, a session with no activity for 14 days moves to **Archived sessions** automatically, unless it is open, unread, or in a [group](#organize-sessions-into-groups). Automatic archiving requires Claude Code v2.1.265 or later. To change the period or turn it off, open the [Archive Inactive Sessions setting](vscode://settings/claudeCode.archiveInactiveSessions) and select a number of days or **Never**.

225 227 

226To restore an archived session, expand **Archived sessions** and click **Unarchive session**. To restore every archived session at once, hover over the **Archived sessions** header in the sessions list in the Activity Bar and click its unarchive icon, which requires Claude Code v2.1.277 or later. Before v2.1.257, the action was **Delete session**, which hid a session with no way to restore it. Sessions you deleted then appear under **Archived sessions** after you upgrade.228To restore an archived session, expand **Archived sessions** and click **Unarchive session**. To restore every archived session at once, hover over the **Archived sessions** header in the sessions list in the Activity Bar and click its unarchive icon, which requires Claude Code v2.1.277 or later. Before v2.1.257, the action was **Delete session**, which hid a session with no way to restore it. Sessions you deleted then appear under **Archived sessions** after you upgrade.


299 Use a barra lateral para sua sessão principal de Claude e abra abas adicionais para tarefas secundárias. Claude lembra sua localização preferida. O ícone da lista de sessões da Activity Bar é separado do painel Claude: a lista de sessões está sempre visível na Activity Bar, enquanto o ícone do painel Claude só aparece lá quando o painel está encaixado na barra lateral esquerda.301 Use a barra lateral para sua sessão principal de Claude e abra abas adicionais para tarefas secundárias. Claude lembra sua localização preferida. O ícone da lista de sessões da Activity Bar é separado do painel Claude: a lista de sessões está sempre visível na Activity Bar, enquanto o ícone do painel Claude só aparece lá quando o painel está encaixado na barra lateral esquerda.

300</Tip>302</Tip>

301 303 

304<h3 id="continue-conversations-after-a-reload">

305 Continue conversas após um recarregamento

306</h3>

307 

302Depois que você executar **Developer: Reload Window** ou reiniciar VS Code, se uma conversa volta com sua conversa depende de onde ela estava aberta:308Depois que você executar **Developer: Reload Window** ou reiniciar VS Code, se uma conversa volta com sua conversa depende de onde ela estava aberta:

303 309 

304* **Aba do editor**: a conversa volta com sua aba.310* **Aba do editor**: a conversa volta com sua aba.

305* **Barra lateral**: a conversa volta se você enviou uma mensagem ou Claude respondeu nela nos últimos 10 minutos. Se ela não voltar, retome a conversa do [Histórico de sessões](#resume-past-conversations).311* **Barra lateral**: a conversa volta se você enviou uma mensagem ou Claude respondeu nela nos últimos 10 minutos. Se ela não voltar, retome a conversa do [Histórico de sessões](#resume-past-conversations).

306 312 

313Se outro processo do Claude Code ainda tiver a conversa aberta, você será consultado antes que ela seja aberta aqui, com o mesmo aviso **Open here anyway** exibido quando você [a retoma do histórico de sessões](#resume-past-conversations).

314 

307Se o recarregamento interrompeu Claude no meio de uma etapa, Claude continua essa etapa quando a conversa volta, e um aviso no chat marca a continuação. Requer Claude Code v2.1.274 ou posterior. Se a etapa foi interrompida há mais de uma hora ou a sessão está aberta em outro lugar, a conversa volta ociosa.315Se o recarregamento interrompeu Claude no meio de uma etapa, Claude continua essa etapa quando a conversa volta, e um aviso no chat marca a continuação. Requer Claude Code v2.1.274 ou posterior. Se a etapa foi interrompida há mais de uma hora ou a sessão está aberta em outro lugar, a conversa volta ociosa.

308 316 

309Para desativar a continuação, abra a [configuração Continue After Reload](vscode://settings/claudeCode.continueAfterReload) e desmarque-a.317Para desativar a continuação, abra a [configuração Continue After Reload](vscode://settings/claudeCode.continueAfterReload) e desmarque-a. Definir [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/pt/env-vars#variables) ou qualquer outra variável `CLAUDE_CODE_RESUME_` no ambiente do VS Code ou na [configuração `environmentVariables`](#extension-settings) não tem efeito no painel, porque a extensão remove essas variáveis antes de iniciar as sessões do painel.

310 318 

311<h3 id="run-multiple-conversations">319<h3 id="run-multiple-conversations">

312 Execute múltiplas conversas320 Execute múltiplas conversas


572| `enableNewConversationShortcut` | `false` | Ativar Cmd/Ctrl+N para iniciar uma nova conversa |580| `enableNewConversationShortcut` | `false` | Ativar Cmd/Ctrl+N para iniciar uma nova conversa |

573| `enableReopenClosedSessionShortcut` | `true` | Use Cmd/Ctrl+Shift+T para reabrir a aba de sessão Claude fechada mais recentemente. Quando a última aba fechada não era uma sessão Claude, o atalho executa o comando normal de reabrir editor fechado do VS Code. |581| `enableReopenClosedSessionShortcut` | `true` | Use Cmd/Ctrl+Shift+T para reabrir a aba de sessão Claude fechada mais recentemente. Quando a última aba fechada não era uma sessão Claude, o atalho executa o comando normal de reabrir editor fechado do VS Code. |

574| `archiveInactiveSessions` | `14` | [Arquivar uma sessão automaticamente](#resume-past-conversations) após este número de dias sem atividade: `1`, `2`, `7` ou `14`. Defina `0` para desativar. Requer Claude Code v2.1.265 ou posterior |582| `archiveInactiveSessions` | `14` | [Arquivar uma sessão automaticamente](#resume-past-conversations) após este número de dias sem atividade: `1`, `2`, `7` ou `14`. Defina `0` para desativar. Requer Claude Code v2.1.265 ou posterior |

575| `continueAfterReload` | `true` | Após um recarregamento de janela, Claude [continua a etapa que foi interrompida](#choose-where-claude-lives) na sessão restaurada. Requer Claude Code v2.1.274 ou posterior |583| `continueAfterReload` | `true` | Após um recarregamento de janela, Claude [continua a etapa que foi interrompida](#continue-conversations-after-a-reload) na sessão restaurada. Requer Claude Code v2.1.274 ou posterior |

576| `hideOnboarding` | `false` | Ocultar a lista de verificação de integração (ícone de chapéu de formatura) |584| `hideOnboarding` | `false` | Ocultar a lista de verificação de integração (ícone de chapéu de formatura) |

577| `focusView` | `false` | Ocultar chamadas de ferramenta, resultados de ferramenta e pensamento atrás de linhas expansíveis, deixando seus prompts e respostas do Claude. A lista de tarefas mais recente do Claude permanece visível; isso requer Claude Code v2.1.225 ou posterior. Você também pode alternar a visualização de foco no menu de comandos. Requer Claude Code v2.1.221 ou posterior |585| `focusView` | `false` | Ocultar chamadas de ferramenta, resultados de ferramenta e pensamento atrás de linhas expansíveis, deixando seus prompts e respostas do Claude. A lista de tarefas mais recente do Claude permanece visível; isso requer Claude Code v2.1.225 ou posterior. Você também pode alternar a visualização de foco no menu de comandos. Requer Claude Code v2.1.221 ou posterior |

578| `respectGitIgnore` | `true` | Excluir padrões .gitignore de buscas de arquivo e de [contexto de seleção](#reference-files-and-folders) |586| `respectGitIgnore` | `true` | Excluir padrões .gitignore de buscas de arquivo e de [contexto de seleção](#reference-files-and-folders) |


666 674 

667Referencie a saída do terminal em seus prompts usando `@terminal:name` onde `name` é o título do terminal. Isso permite que Claude veja a saída do comando, mensagens de erro ou logs sem copiar e colar.675Referencie a saída do terminal em seus prompts usando `@terminal:name` onde `name` é o título do terminal. Isso permite que Claude veja a saída do comando, mensagens de erro ou logs sem copiar e colar.

668 676 

677<h3 id="move-a-running-command-or-subagent-to-the-background">

678 Mover um comando ou subagente em execução para segundo plano

679</h3>

680 

681Quando Claude estiver aguardando um comando ou um [subagente](/docs/pt/sub-agents) que esteja demorando mais do que você deseja, clique em **Run in background** abaixo da chamada de ferramenta correspondente na conversa. A ação aparece quando um comando está em execução há cerca de dois segundos, ou assim que um subagente é iniciado. Claude para de aguardar e continua o turno, enquanto o comando ou subagente continua em execução como uma [tarefa em segundo plano](/docs/pt/tools-reference#background-commands) que notifica Claude quando termina. Requer Claude Code v2.1.287 ou posterior.

682 

683Para verificar a tarefa ou interrompê-la nesse meio-tempo, digite `/tasks` na caixa de prompt para abrir o [mapa de agente](#use-the-prompt-box). Um subagente mantém seu lugar na árvore de agentes ali, e um comando é listado abaixo dos agentes com sua [saída mais recente em seu cartão](#monitor-background-processes). Um comando que você move para segundo plano dessa forma está sujeito ao [limite de tempo para comandos em segundo plano](/docs/pt/tools-reference#time-limit-for-background-commands).

684 

669<h3 id="monitor-background-processes">685<h3 id="monitor-background-processes">

670 Monitorar processos em segundo plano686 Monitorar processos em segundo plano

671</h3>687</h3>

672 688 

673Digite `/tasks` na caixa de prompt para abrir o [mapa de agente](#use-the-prompt-box), que lista as tarefas em segundo plano da sessão, como um servidor de desenvolvimento que Claude deixou em execução como um comando de shell em segundo plano. Clique em uma tarefa para abrir seu cartão e interrompê-la lá. Requer Claude Code v2.1.277 ou posterior.689Digite `/tasks` na caixa de prompt para abrir o [mapa de agente](#use-the-prompt-box), que lista as tarefas em segundo plano da sessão, como um servidor de desenvolvimento que Claude deixou em execução como um comando de shell em segundo plano. Clique em uma tarefa para abrir seu cartão, onde você pode interrompê-la. Requer Claude Code v2.1.277 ou posterior.

690 

691Para um comando de shell em segundo plano, ou um [monitor](/docs/pt/tools-reference#monitor-tool) que executa um comando, o cartão também mostra a saída mais recente do comando e a atualiza enquanto o comando é executado.

674 692 

675<h3 id="connect-to-external-tools-with-mcp">693<h3 id="connect-to-external-tools-with-mcp">

676 Conectar a ferramentas externas com MCP694 Conectar a ferramentas externas com MCP

Details

75 75 

76 Com essa conexão, uma sessão pode clonar qualquer repositório público, mas pode trabalhar em um repositório privado apenas quando o Claude GitHub App está instalado nele. [Instale o Claude GitHub App](https://github.com/apps/claude/installations/new) em cada conta GitHub ou organização cujos repositórios privados você deseja usar. Em uma organização GitHub, um proprietário da organização pode precisar aprovar a instalação. Instalar o App também ativa [Auto-fix](/docs/pt/claude-code-on-the-web#auto-fix-pull-requests), que permite que Claude responda a falhas de CI e comentários de revisão em pull requests nesses repositórios.76 Com essa conexão, uma sessão pode clonar qualquer repositório público, mas pode trabalhar em um repositório privado apenas quando o Claude GitHub App está instalado nele. [Instale o Claude GitHub App](https://github.com/apps/claude/installations/new) em cada conta GitHub ou organização cujos repositórios privados você deseja usar. Em uma organização GitHub, um proprietário da organização pode precisar aprovar a instalação. Instalar o App também ativa [Auto-fix](/docs/pt/claude-code-on-the-web#auto-fix-pull-requests), que permite que Claude responda a falhas de CI e comentários de revisão em pull requests nesses repositórios.

77 77 

78 Quando você se conecta, Claude também vincula as contas GitHub que você possui à sua organização Claude, se elas tiverem o Claude GitHub App instalado. Em planos Team e Enterprise, os administradores veem essas contas na [lista de contas GitHub conectadas](/docs/pt/admin-setup#connected-github-accounts).

79 

78 Se a integração solicitar que você instale o Claude GitHub App neste ponto e você preferir fazer isso mais tarde, clique em **Skip**.80 Se a integração solicitar que você instale o Claude GitHub App neste ponto e você preferir fazer isso mais tarde, clique em **Skip**.

79 </Step>81 </Step>

80 82 

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>