SpyBara
Go Premium

Documentation 2026-10-07 23:59 UTC to 2026-10-08 21:58 UTC

73 files changed +1,838 −1,174. View all changes and history on the product overview
2026
Thu 8 22:58 Wed 7 23:59 Tue 6 23:59 Mon 5 23:58 Sun 4 23:58 Sat 3 23:57 Fri 2 22:59 Thu 1 23:59
Details

126 126 

127Um estilo de saída é um arquivo markdown com [frontmatter](/docs/pt/output-styles#frontmatter) para metadados, seguido pelo conteúdo do prompt. Salve-o em `~/.claude/output-styles/` para um estilo em nível de usuário disponível em cada projeto, ou `.claude/output-styles/` em seu repositório para um estilo em nível de projeto que você pode fazer commit e compartilhar com sua equipe.127Um estilo de saída é um arquivo markdown com [frontmatter](/docs/pt/output-styles#frontmatter) para metadados, seguido pelo conteúdo do prompt. Salve-o em `~/.claude/output-styles/` para um estilo em nível de usuário disponível em cada projeto, ou `.claude/output-styles/` em seu repositório para um estilo em nível de projeto que você pode fazer commit e compartilhar com sua equipe.

128 128 

129Um estilo de saída personalizado deixa as instruções de engenharia de software da predefinição `claude_code` de fora e usa as suas próprias. Para mantê-las e colocar suas instruções em camadas no topo, defina `keep-coding-instructions: true` no frontmatter. Essas instruções estão apenas no prompt do sistema completo do Claude Code, então a configuração não tem efeito em uma sessão no prompt do sistema mais curto, que você ativa ou desativa com [`CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT`](/docs/pt/env-vars#variables). Mantenha-as quando seu agente ainda estiver fazendo trabalho de engenharia de software. Deixe-as de fora quando você estiver substituindo o papel completamente.129Um estilo de saída personalizado deixa as instruções de engenharia de software da predefinição `claude_code` de fora e usa as suas próprias. Para mantê-las e colocar suas instruções em camadas no topo, defina `keep-coding-instructions: true` no frontmatter. Essas instruções estão apenas no system prompt completo do Claude Code, então a configuração não tem efeito em uma sessão com o system prompt mais curto; defina [`CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT`](/docs/pt/env-vars#variables) como `0` para selecionar o prompt completo em qualquer modelo. Mantenha-as quando seu agente ainda estiver fazendo trabalho de engenharia de software. Deixe-as de fora quando você estiver substituindo o papel completamente.

130 130 

131O exemplo abaixo define uma persona de revisão de código que mantém as instruções de codificação, já que revisar código ainda se beneficia da orientação de segurança e qualidade de código do Claude Code. Salve-o como `~/.claude/output-styles/code-reviewer.md` para torná-lo disponível em todos os projetos:131O exemplo abaixo define uma persona de revisão de código que mantém as instruções de codificação, já que revisar código ainda se beneficia da orientação de segurança e qualidade de código do Claude Code. Salve-o como `~/.claude/output-styles/code-reviewer.md` para torná-lo disponível em todos os projetos:

132 132 


547| **Gerenciamento** | No sistema de arquivos | CLI + arquivos | No código | No código |547| **Gerenciamento** | No sistema de arquivos | CLI + arquivos | No código | No código |

548| **Ferramentas padrão** | Preservadas | Preservadas | Preservadas | Perdidas (a menos que incluídas) |548| **Ferramentas padrão** | Preservadas | Preservadas | Preservadas | Perdidas (a menos que incluídas) |

549| **Segurança integrada** | Mantida | Mantida | Mantida | Deve ser adicionada |549| **Segurança integrada** | Mantida | Mantida | Mantida | Deve ser adicionada |

550| **Nível de personalização** | Apenas adições | Substituir ou estender padrão | Apenas adições | Controle completo |550| **Nível de personalização** | Apenas adições | Adições; pode omitir instruções de codificação | Apenas adições | Controle completo |

551| **Controle de versão** | Com projeto | Sim | Com código | Com código |551| **Controle de versão** | Com projeto | Sim | Com código | Com código |

552| **Escopo** | Específico do projeto | Usuário ou projeto | Sessão de código | Sessão de código |552| **Escopo** | Específico do projeto | Usuário ou projeto | Sessão de código | Sessão de código |

553 553 

Details

2786 "prompt": str, # A tarefa para o agente executar2786 "prompt": str, # A tarefa para o agente executar

2787 "subagent_type": str | None, # O tipo de agente especializado a usar2787 "subagent_type": str | None, # O tipo de agente especializado a usar

2788 "model": "sonnet" | "opus" | "haiku" | "fable" | None, # Substituição de modelo para este agente2788 "model": "sonnet" | "opus" | "haiku" | "fable" | None, # Substituição de modelo para este agente

2789 "effort": "low" | "medium" | "high" | "xhigh" | "max" | None, # Esforço de raciocínio para este agente

2789 "run_in_background": bool | None, # Agentes executam em segundo plano por padrão; defina como False para executar sincronamente2790 "run_in_background": bool | None, # Agentes executam em segundo plano por padrão; defina como False para executar sincronamente

2790 "name": str | None, # Nome para o agente gerado2791 "name": str | None, # Nome para o agente gerado

2791 "team_name": str | None, # Descontinuado; ignorado2792 "team_name": str | None, # Descontinuado; ignorado

Details

88 88 

89| Parâmetro | Tipo | Descrição |89| Parâmetro | Tipo | Descrição |

90| :- | :- | :- |90| :- | :- | :- |

91| `prompt` | `string \| AsyncIterable<`[`SDKUserMessage`](#sdkusermessage)`>` | O prompt de entrada como uma string ou iterável assíncrono para modo de transmissão |91| `prompt` | `string \| AsyncIterable<`[`SDKUserMessage`](#sdkusermessage)`>` | O prompt de entrada como uma string ou iterável assíncrono para modo de streaming |

92| `options` | [`Options`](#options) | Objeto de configuração opcional (veja o tipo Options abaixo) |92| `options` | [`Options`](#options) | Objeto de configuração opcional (veja o tipo Options abaixo) |

93 93 

94<h4 id="returns">94<h4 id="returns">


218| :- | :- | :- |218| :- | :- | :- |

219| `name` | `string` | O nome da ferramenta |219| `name` | `string` | O nome da ferramenta |

220| `description` | `string` | Uma descrição do que a ferramenta faz |220| `description` | `string` | Uma descrição do que a ferramenta faz |

221| `inputSchema` | `Schema extends AnyZodRawShape` | Schema Zod definindo os parâmetros de entrada da ferramenta (suporta Zod 3 e Zod 4) |221| `inputSchema` | `Schema extends AnyZodRawShape` | Esquema Zod definindo os parâmetros de entrada da ferramenta (suporta Zod 3 e Zod 4) |

222| `handler` | `(args, extra) => Promise<`[`CallToolResult`](#calltoolresult)`>` | Função assíncrona que executa a lógica da ferramenta |222| `handler` | `(args, extra) => Promise<`[`CallToolResult`](#calltoolresult)`>` | Função assíncrona que executa a lógica da ferramenta |

223| `extras` | `{ annotations?: `[`ToolAnnotations`](#toolannotations)`; searchHint?: string; alwaysLoad?: boolean }` | Extras opcionais. `annotations` fornece dicas comportamentais MCP aos clientes. `searchHint` é uma frase de capacidade de uma linha mostrada na lista de ferramentas adiadas quando [tool search](/docs/pt/agent-sdk/tool-search) está ativo. `alwaysLoad: true` mantém o schema completo desta ferramenta no prompt inicial em vez de adiá-lo |223| `extras` | `{ annotations?: `[`ToolAnnotations`](#toolannotations)`; searchHint?: string; alwaysLoad?: boolean }` | Extras opcionais. `annotations` fornece dicas comportamentais MCP aos clientes. `searchHint` é uma frase de capacidade de uma linha mostrada na lista de ferramentas adiadas quando [tool search](/docs/pt/agent-sdk/tool-search) está ativo. `alwaysLoad: true` mantém o esquema completo desta ferramenta no prompt inicial em vez de adiá-lo |

224 224 

225<h4 id="toolannotations">225<h4 id="toolannotations">

226 `ToolAnnotations`226 `ToolAnnotations`


278| `options.version` | `string` | String de versão opcional |278| `options.version` | `string` | String de versão opcional |

279| `options.instructions` | `string` | Instruções opcionais do servidor, retornadas de `initialize` e apresentadas ao modelo como um bloco de instruções MCP |279| `options.instructions` | `string` | Instruções opcionais do servidor, retornadas de `initialize` e apresentadas ao modelo como um bloco de instruções MCP |

280| `options.tools` | `Array<SdkMcpToolDefinition>` | Array de definições de ferramentas criadas com [`tool()`](#tool) |280| `options.tools` | `Array<SdkMcpToolDefinition>` | Array de definições de ferramentas criadas com [`tool()`](#tool) |

281| `options.alwaysLoad` | `boolean` | Quando `true`, cada ferramenta deste servidor permanece no prompt inicial em vez de ser adiada atrás de [tool search](/docs/pt/agent-sdk/tool-search). Combina com `alwaysLoad` por ferramenta em [`tool()`](#tool) |281| `options.alwaysLoad` | `boolean` | Quando `true`, as ferramentas deste servidor permanecem no prompt inicial em vez de serem adiadas atrás de [tool search](/docs/pt/agent-sdk/tool-search). Combina com `alwaysLoad` por ferramenta em [`tool()`](#tool) |

282| `options.timeout` | `number` | Timeout em milissegundos para as chamadas de ferramenta deste servidor. Claude Code o aplica a este servidor no lugar de [`MCP_TOOL_TIMEOUT`](/docs/pt/env-vars). Passe um número inteiro de pelo menos 1000. Claude Code ignora outros valores. Requer TypeScript Agent SDK v0.3.248 ou posterior |282| `options.timeout` | `number` | Timeout em milissegundos para as chamadas de ferramenta deste servidor. Claude Code o aplica a este servidor no lugar de [`MCP_TOOL_TIMEOUT`](/docs/pt/env-vars). Passe um número inteiro de pelo menos 1000. Claude Code ignora outros valores. Requer TypeScript Agent SDK v0.3.248 ou posterior |

283 283 

284<h3 id="listsessions">284<h3 id="listsessions">


311| `summary` | `string` | Título de exibição: título personalizado, prompt mais recente, resumo gerado automaticamente ou primeiro prompt |311| `summary` | `string` | Título de exibição: título personalizado, prompt mais recente, resumo gerado automaticamente ou primeiro prompt |

312| `lastModified` | `number` | Tempo da última modificação em milissegundos desde a época |312| `lastModified` | `number` | Tempo da última modificação em milissegundos desde a época |

313| `fileSize` | `number \| undefined` | Tamanho do arquivo de sessão em bytes. Apenas preenchido para armazenamento JSONL local |313| `fileSize` | `number \| undefined` | Tamanho do arquivo de sessão em bytes. Apenas preenchido para armazenamento JSONL local |

314| `customTitle` | `string \| undefined` | Título de sessão definido pelo usuário quando um é definido, por exemplo com `--name`, `/rename`, saída `sessionTitle` de um hook, ou [`renameSession()`](#renamesession). Caso contrário, o título de sessão gerado por IA, se a sessão tiver um |314| `customTitle` | `string \| undefined` | O título personalizado da sessão quando um está definido, por exemplo com `--name`, `/rename`, saída `sessionTitle` de um hook, ou [`renameSession()`](#renamesession). Caso contrário, o título de sessão gerado por IA, se a sessão tiver um |

315| `firstPrompt` | `string \| undefined` | Primeiro prompt de usuário significativo na sessão |315| `firstPrompt` | `string \| undefined` | Primeiro prompt de usuário significativo na sessão |

316| `gitBranch` | `string \| undefined` | Branch git no final da sessão |316| `gitBranch` | `string \| undefined` | Branch git no final da sessão |

317| `cwd` | `string \| undefined` | Diretório de trabalho para a sessão |317| `cwd` | `string \| undefined` | Diretório de trabalho para a sessão |


368| `uuid` | `string` | Identificador único de mensagem |368| `uuid` | `string` | Identificador único de mensagem |

369| `session_id` | `string` | Sessão a que esta mensagem pertence |369| `session_id` | `string` | Sessão a que esta mensagem pertence |

370| `message` | `unknown` | Payload de mensagem bruta da transcrição |370| `message` | `unknown` | Payload de mensagem bruta da transcrição |

371| `parent_tool_use_id` | `string \| null` | Para mensagens de subagente, o `tool_use_id` da chamada de ferramenta `Agent` ou `Skill` geradora. `null` para mensagens de sessão principal e sessões mais antigas |371| `parent_tool_use_id` | `string \| null` | Para mensagens de subagente, o `tool_use_id` da chamada de ferramenta `Agent` ou `Skill` que iniciou o subagente. `null` para mensagens de sessão principal e sessões mais antigas |

372| `parent_agent_id` | `string \| null` | Para mensagens de um [subagente aninhado](/docs/pt/sub-agents#let-subagents-spawn-their-own-subagents), o `agentId` do subagente que o gerou. `null` para mensagens de sessão principal, mensagens de subagentes de nível superior e sessões mais antigas. Requer Claude Code v2.1.202 ou posterior |372| `parent_agent_id` | `string \| null` | Para mensagens de um [subagente aninhado](/docs/pt/sub-agents#let-subagents-spawn-their-own-subagents), o `agentId` do subagente que o gerou. `null` para mensagens de sessão principal, mensagens de subagentes de nível superior e sessões mais antigas. Requer Claude Code v2.1.202 ou posterior |

373 373 

374<h4 id="example-4">374<h4 id="example-4">


420 `renameSession()`420 `renameSession()`

421</h3>421</h3>

422 422 

423Renomeia uma sessão anexando uma entrada de título personalizado. Chamadas repetidas são seguras; o título mais recente vence.423Renomeia uma sessão anexando uma entrada de título personalizado. Chamadas repetidas são seguras; o título mais recente prevalece.

424 424 

425```typescript theme={null}425```typescript theme={null}

426function renameSession(426function renameSession(


444 `tagSession()`444 `tagSession()`

445</h3>445</h3>

446 446 

447Marca uma sessão. Passe `null` para limpar a tag. Chamadas repetidas são seguras; a tag mais recente vence.447Marca uma sessão. Passe `null` para limpar a tag. Chamadas repetidas são seguras; a tag mais recente prevalece.

448 448 

449```typescript theme={null}449```typescript theme={null}

450function tagSession(450function tagSession(


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

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

1758* `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).1758* `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).

1759* `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).1759* `resume_reason`: por que o Claude Code executou novamente este turno depois que uma reinicialização o interrompeu. Presente em ambos os ramos. Consulte [`resume_reason`](#resume_reason).

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

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

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


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

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

1847 1847 

1848O 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.1848O valor é um token curto em minúsculas que nomeia por que o turno foi executado novamente, como `interrupted_turn`.

1849 1849 

1850<h4 id="queued_turn_count">1850<h4 id="queued_turn_count">

1851 `queued_turn_count`1851 `queued_turn_count`


1887 | "worktree_resume_refused"1887 | "worktree_resume_refused"

1888 | "worktree_unverified"1888 | "worktree_unverified"

1889 | "cli_version_too_old"1889 | "cli_version_too_old"

1890 | "bypass_root";1890 | "bypass_root"

1891 | "org_config_required_unavailable"

1892 | "org_config_refused";

1891```1893```

1892 1894 

1893Cada valor nomeia uma recusa:1895Cada valor nomeia uma recusa:


1911| `worktree_unverified` | O worktree da sessão não pôde ser verificado agora, e tentar novamente pode ter sucesso |1913| `worktree_unverified` | O worktree da sessão não pôde ser verificado agora, e tentar novamente pode ter sucesso |

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

1913| `bypass_root` | O modo de permissões de bypass foi solicitado durante a execução como root |1915| `bypass_root` | O modo de permissões de bypass foi solicitado durante a execução como root |

1916| `org_config_required_unavailable` | A sessão precisa das políticas e configurações gerenciadas da organização antes de poder iniciar, e elas não puderam ser carregadas, por exemplo por causa de uma falha de rede ou de um erro no servidor da Anthropic. Requer o Agent SDK v0.3.293 ou posterior |

1917| `org_config_refused` | A Anthropic se recusou a fornecer as políticas e configurações gerenciadas da organização para este login, por exemplo porque o login expirou ou foi revogado, ou porque a organização não permite o Claude Code para esta conta. Requer o Agent SDK v0.3.293 ou posterior |

1914 1918 

1915<h3 id="sdksystemmessage">1919<h3 id="sdksystemmessage">

1916 `SDKSystemMessage`1920 `SDKSystemMessage`


3240};3244};

3241```3245```

3242 3246 

3243Executa comandos Bash com timeout opcional e execução em background. O diretório de trabalho persiste entre comandos, incluindo comandos executados em turnos posteriores de uma sessão multi-turno; o estado do shell, como variáveis de ambiente exportadas, não persiste. Para os limites sobre quais mudanças de diretório são mantidas, veja [O que persiste entre comandos](/docs/pt/tools-reference#what-persists-between-commands). Para o que define o limite de foreground, veja [Timeout e limites de saída](/docs/pt/tools-reference#timeout-and-output-limits). Para o limite de tempo em background, veja [Limite de tempo para comandos em background](/docs/pt/tools-reference#time-limit-for-background-commands).3247Executa comandos Bash com timeout opcional e execução em segundo plano. O diretório de trabalho persiste entre comandos, incluindo comandos executados em turnos posteriores de uma sessão multi-turno; o estado do shell, como variáveis de ambiente exportadas, não persiste. Para os limites sobre quais mudanças de diretório são mantidas, veja [O que persiste entre comandos](/docs/pt/tools-reference#what-persists-between-commands). Para o que define o limite em primeiro plano, veja [Timeout e limites de saída](/docs/pt/tools-reference#timeout-and-output-limits). Para o limite de tempo em segundo plano, veja [Limite de tempo para comandos em segundo plano](/docs/pt/tools-reference#time-limit-for-background-commands).

3244 3248 

3245<h3 id="monitor">3249<h3 id="monitor">

3246 Monitor3250 Monitor


3260};3264};

3261```3265```

3262 3266 

3263Executa uma fonte de background e entrega cada evento para Claude para que possa reagir sem polling: `command` executa um script e emite um evento por linha stdout, e `ws` abre um WebSocket e emite um evento por frame de texto. Forneça exatamente um de `command` ou `ws`. A fonte `ws` requer Claude Code v2.1.195 ou posterior.3267Executa uma fonte em segundo plano e entrega cada evento para Claude para que possa reagir sem polling: `command` executa um script e emite um evento por linha stdout, e `ws` abre um WebSocket e emite um evento por frame de texto. Forneça exatamente um de `command` ou `ws`. A fonte `ws` requer Claude Code v2.1.195 ou posterior.

3264 3268 

3265`timeout_ms` é o prazo do watch em milissegundos. O padrão é 300000 e aceita valores até 3600000. O prazo efetivo é no máximo 1800000, que é 30 minutos, então um valor aceito maior é encurtado para isso. No prazo, o watch termina e Claude recebe um aviso para que possa iniciar um novo watch se ainda precisar de um.3269`timeout_ms` é o prazo do watch em milissegundos. O padrão é 300000 e aceita valores até 3600000. O prazo efetivo é no máximo 1800000, que é 30 minutos, então um valor aceito maior é encurtado para isso. No prazo, o watch termina e Claude recebe um aviso para que possa iniciar um novo watch se ainda precisar de um.

3266 3270 


3272 TaskOutput3276 TaskOutput

3273</h3>3277</h3>

3274 3278 

3275Removido no Claude Code v2.1.277, junto com seu tipo `TaskOutputInput`. Anteriormente recuperava saída de uma tarefa de background em execução ou concluída; Claude lê o arquivo de saída de uma tarefa de background com `Read` em vez disso.3279Removido no Claude Code v2.1.277, junto com seu tipo `TaskOutputInput`. Anteriormente recuperava saída de uma tarefa em segundo plano em execução ou concluída; Claude lê o arquivo de saída de uma tarefa em segundo plano com `Read` em vez disso.

3276 3280 

3277Uma entrada `disallowedTools` ou uma regra de negação que ainda nomeia `TaskOutput` é ignorada sem um aviso.3281Uma entrada `disallowedTools` ou uma regra de negação que ainda nomeia `TaskOutput` é ignorada sem um aviso.

3278 3282 


3340};3344};

3341```3345```

3342 3346 

3343Correspondência rápida de padrão de arquivo que funciona com qualquer tamanho de codebase.3347Correspondência rápida de padrão de arquivo que funciona com qualquer tamanho de base de código.

3344 3348 

3345<h3 id="grep">3349<h3 id="grep">

3346 Grep3350 Grep


3383};3387};

3384```3388```

3385 3389 

3386Para uma tarefa de background em execução ou shell por ID. A partir de v2.1.198, `task_id` também aceita um colega de equipe de agentes ou um agente de background nomeado por ID de agente ou nome.3390Para uma tarefa em segundo plano em execução ou shell por ID. A partir de v2.1.198, `task_id` também aceita um colega de equipe de agentes ou um agente em segundo plano nomeado por ID de agente ou nome.

3387 3391 

3388<h3 id="notebookedit">3392<h3 id="notebookedit">

3389 NotebookEdit3393 NotebookEdit


3452};3456};

3453```3457```

3454 3458 

3455Executa um [workflow dinâmico](/docs/pt/workflows): um script que orquestra muitos subagentes em background e retorna um resultado consolidado. A ferramenta `Workflow` está disponível no Agent SDK v0.3.149 e posterior. Pelo menos um de `script`, `name` ou `scriptPath` é obrigatório.3459Executa um [workflow dinâmico](/docs/pt/workflows): um script que orquestra muitos subagentes em segundo plano e retorna um resultado consolidado. A ferramenta `Workflow` está disponível no Agent SDK v0.3.149 e posterior. Pelo menos um de `script`, `name` ou `scriptPath` é obrigatório.

3456 3460 

3457| Campo | Tipo | Descrição |3461| Campo | Tipo | Descrição |

3458| - | - | - |3462| - | - | - |


3639};3643};

3640```3644```

3641 3645 

3642Sai do worktree git atual e retorna ao diretório de trabalho original. A ação `keep` deixa o worktree e a branch no disco, enquanto `remove` deleta ambos. `discard_changes` deve ser `true` ao remover um worktree que tem arquivos não confirmados ou commits não mesclados.3646Sai do worktree git atual e retorna ao diretório de trabalho original. A ação `keep` deixa o worktree e o branch no disco, enquanto `remove` deleta ambos. `discard_changes` deve ser `true` ao remover um worktree que tem arquivos sem commit ou commits não mesclados.

3643 3647 

3644<h3 id="enterplanmode">3648<h3 id="enterplanmode">

3645 EnterPlanMode3649 EnterPlanMode


3748 3752 

3749`list_runs` lista as execuções recentes de uma rotina, e `get_run_log` lê o log de uma execução. `session_id` nomeia a execução a ler, de um resultado `list_runs`, e `cursor` pagina através dos resultados de qualquer ação. Ambas as ações requerem Claude Code v2.1.227 ou posterior.3753`list_runs` lista as execuções recentes de uma rotina, e `get_run_log` lê o log de uma execução. `session_id` nomeia a execução a ler, de um resultado `list_runs`, e `cursor` pagina através dos resultados de qualquer ação. Ambas as ações requerem Claude Code v2.1.227 ou posterior.

3750 3754 

3751Esta ferramenta está disponível apenas quando a sessão é autenticada com uma conta claude.ai em um plano com Rotinas habilitadas, e está ausente quando a política da sua organização desabilita [Claude Code na web](/docs/pt/claude-code-on-the-web). No Claude Code v2.1.227 ou posterior, a ferramenta também está ausente quando um Proprietário [desativou rotinas para a organização](/docs/pt/routines#routines-are-disabled-by-your-organizations-policy). Antes de v2.1.227, uma sessão com apenas o toggle de rotinas desativado ainda mostrava a ferramenta, e o servidor negava suas chamadas.3755Esta ferramenta está disponível apenas quando a sessão é autenticada com uma conta claude.ai em um plano com Rotinas habilitadas, e está ausente quando a política da sua organização desabilita [sessões na nuvem](/docs/pt/claude-code-on-the-web). No Claude Code v2.1.227 ou posterior, a ferramenta também está ausente quando um Proprietário [desativou rotinas para a organização](/docs/pt/routines#routines-are-disabled-by-your-organizations-policy). Antes de v2.1.227, uma sessão com apenas o toggle de rotinas desativado ainda mostrava a ferramenta, e o servidor negava suas chamadas.

3752 3756 

3753<h3 id="pushnotification">3757<h3 id="pushnotification">

3754 PushNotification3758 PushNotification


3841 3845 

3842Passe `"list"` para enumerar os artefatos publicados do usuário; apenas `limit` e `scope` podem acompanhá-lo. `scope` padrão é `"mine"`, que lista artefatos que o usuário possui; `"shared"` lista artefatos que outras pessoas compartilharam com o usuário, e `"all"` lista ambos.3846Passe `"list"` para enumerar os artefatos publicados do usuário; apenas `limit` e `scope` podem acompanhá-lo. `scope` padrão é `"mine"`, que lista artefatos que o usuário possui; `"shared"` lista artefatos que outras pessoas compartilharam com o usuário, e `"all"` lista ambos.

3843 3847 

3848`limit` define o número máximo de artefatos que uma listagem retorna, de 1 a 200. Um `limit` acima de 50 requer Agent SDK v0.3.292 ou posterior. Sem `limit`, uma listagem retorna até 25.

3849 

3844* `capabilities`: as capacidades de tempo de execução que a página publicada usa, codificadas por nome de capacidade, como os [conectores que a página pode chamar](/docs/pt/artifacts#pull-live-data-with-mcp-connectors). O serviço de artefato valida a declaração e rejeita uma publicação que nomeia uma capacidade que a conta não pode usar ou dá uma configuração inválida. Passe `{}` para limpar uma declaração armazenada, e omita o campo em uma reimplantação para mantê-lo. Requer Agent SDK v0.3.235 ou posterior.3850* `capabilities`: as capacidades de tempo de execução que a página publicada usa, codificadas por nome de capacidade, como os [conectores que a página pode chamar](/docs/pt/artifacts#pull-live-data-with-mcp-connectors). O serviço de artefato valida a declaração e rejeita uma publicação que nomeia uma capacidade que a conta não pode usar ou dá uma configuração inválida. Passe `{}` para limpar uma declaração armazenada, e omita o campo em uma reimplantação para mantê-lo. Requer Agent SDK v0.3.235 ou posterior.

3845* `contract`: a versão de tempo de execução contra a qual a página publicada é executada. Omita-a para manter a versão atual do artefato, passe `"latest"` para atualizar, ou passe uma versão específica para fixar ou reverter. Requer Agent SDK v0.3.235 ou posterior.3851* `contract`: a versão de tempo de execução contra a qual a página publicada é executada. Omita-a para manter a versão atual do artefato, passe `"latest"` para atualizar, ou passe uma versão específica para fixar ou reverter. Requer Agent SDK v0.3.235 ou posterior.

3846 3852 


3873 3879 

3874* `project_info`: retorna metadados do projeto e a lista de documentos.3880* `project_info`: retorna metadados do projeto e a lista de documentos.

3875* `project_read`: lê um documento por `path`.3881* `project_read`: lê um documento por `path`.

3876* `project_search`: consulta a base de conhecimento do projeto com `query`. `n` limita os acertos e padrão é 5.3882* `project_search`: consulta a base de conhecimento do projeto com `query`. `n` limita os acertos e o padrão é `5`.

3877* `project_write`: cria ou substitui um documento em `path` de exatamente um de `content`, que carrega texto inline, ou `local_path`, que nomeia um arquivo dentro do diretório de trabalho. `present_to_user: true` marca o documento escrito como o entregável que o usuário precisa ver.3883* `project_write`: cria ou substitui um documento em `path` de exatamente um de `content`, que carrega texto inline, ou `local_path`, que nomeia um arquivo dentro do diretório de trabalho. `present_to_user: true` marca o documento escrito como o entregável que o usuário precisa ver.

3878* `project_delete`: deleta um documento por `path`.3884* `project_delete`: deleta um documento por `path`.

3879 3885 


4061 };4067 };

4062```4068```

4063 4069 

4064Retorna o resultado do subagente. Discriminado no campo `status`: `"completed"` para tarefas concluídas, `"async_launched"` para tarefas em segundo plano e `"remote_launched"` para tarefas que Claude Code despachou para uma sessão em nuvem, onde `sessionUrl` vincula a essa sessão e `taskId` a identifica.4070Retorna o resultado do subagente. Discriminado no campo `status`: `"completed"` para tarefas concluídas, `"async_launched"` para tarefas em segundo plano e `"remote_launched"` para tarefas que Claude Code despachou para uma sessão na nuvem, onde `sessionUrl` vincula a essa sessão e `taskId` a identifica.

4065 4071 

4066Na variante `completed`, `resolvedModel` nomeia o modelo em que o subagente começou, que pode diferir do `model` de entrada solicitado quando [`availableModels`](/docs/pt/model-config#restrict-model-selection) ou outra substituição se aplica. Este campo requer Claude Code v2.1.174 ou posterior. Em `async_launched`, nomeia o modelo em uso quando a tarefa passou para o segundo plano.4072Na variante `completed`, `resolvedModel` nomeia o modelo em que o subagente começou, que pode diferir do `model` de entrada solicitado quando [`availableModels`](/docs/pt/model-config#restrict-model-selection) ou outra substituição se aplica. Este campo requer Claude Code v2.1.174 ou posterior. Em `async_launched`, nomeia o modelo em uso quando a tarefa passou para o segundo plano.

4067 4073 

4068`modelsUsed` lista os modelos que o subagente usou, em ordem. O campo está presente apenas quando uma troca no meio da execução aconteceu, e um modelo aparece novamente quando a execução voltou para ele. Em `async_launched`, a lista cobre os modelos usados antes de passar para o segundo plano. Tanto `modelsUsed` quanto o comportamento de segundo plano de `resolvedModel` requerem Claude Code v2.1.212 ou posterior.4074`modelsUsed` lista os modelos que o subagente usou, em ordem. O campo está presente apenas quando uma troca no meio da execução aconteceu, e um modelo aparece novamente quando a execução voltou para ele. Em `async_launched`, a lista cobre os modelos usados antes de passar para o segundo plano. Tanto `modelsUsed` quanto o comportamento de segundo plano de `resolvedModel` requerem Claude Code v2.1.212 ou posterior.

4069 4075 

4070Se Claude Code [manteve a worktree isolada do subagente](/docs/pt/worktrees#isolate-subagents-with-worktrees), `worktreePath` no resultado `completed` é onde encontrá-la. `worktreeBranch` é seu branch, presente quando Claude Code criou a worktree com git.4076Se Claude Code [manteve o worktree isolado do subagente](/docs/pt/worktrees#isolate-subagents-with-worktrees), `worktreePath` no resultado `completed` é onde encontrá-lo. `worktreeBranch` é seu branch, presente quando Claude Code criou o worktree com git.

4071 4077 

4072Claude Code preenche `usage` e `totalTokens` da requisição final da API do subagente, não de toda a execução, portanto `usage.service_tier` é a string de nível de serviço que a API relatou nessa requisição. Quando presente, `usage.output_tokens_details.thinking_tokens` é o número de tokens de saída dessa requisição que eram tokens de pensamento. O campo `output_tokens_details` requer TypeScript SDK v0.3.228 ou posterior, que agrupa Claude Code v2.1.228. O campo `fallback_credit` requer TypeScript SDK v0.3.285 ou posterior, que agrupa Claude Code v2.1.285.4078Claude Code preenche `usage` e `totalTokens` da requisição final da API do subagente, não de toda a execução, portanto `usage.service_tier` é a string de nível de serviço que a API relatou nessa requisição. Quando presente, `usage.output_tokens_details.thinking_tokens` é o número de tokens de saída dessa requisição que eram tokens de pensamento. O campo `output_tokens_details` requer TypeScript SDK v0.3.228 ou posterior, que agrupa Claude Code v2.1.228. O campo `fallback_credit` requer TypeScript SDK v0.3.285 ou posterior, que agrupa Claude Code v2.1.285.

4073 4079 

4074`usage.output_tokens_details` corresponde a [`Usage.output_tokens_details`](#usage) em significado, escopo para essa solicitação final, mas cada nível dele é opcional aqui. Proteja tanto o objeto quanto o campo, por exemplo `usage.output_tokens_details?.thinking_tokens ?? 0`, em vez de lê-lo diretamente.4080`usage.output_tokens_details` corresponde a [`Usage.output_tokens_details`](#usage) em significado, restrito a essa requisição final, mas cada nível dele é opcional aqui. Proteja tanto o objeto quanto o campo, por exemplo `usage.output_tokens_details?.thinking_tokens ?? 0`, em vez de lê-lo diretamente.

4075 4081 

4076Antes de v2.1.207, o tipo publicado era mais restrito. Omitia `worktreePath`, `worktreeBranch`, `citations`, `toolStats.frameCount` e os campos de uso `inference_geo`, `speed` e `iterations`, e digitava `service_tier` como `"standard" | "priority" | "batch"`. Os campos que o tipo marca como opcionais podem estar ausentes em resultados registrados por versões anteriores.4082Antes de v2.1.207, o tipo publicado era mais restrito. Omitia `worktreePath`, `worktreeBranch`, `citations`, `toolStats.frameCount` e os campos de uso `inference_geo`, `speed` e `iterations`, e digitava `service_tier` como `"standard" | "priority" | "batch"`. Os campos que o tipo marca como opcionais podem estar ausentes em resultados registrados por versões anteriores.

4077 4083 


4145| `stderr` | Avisos que a própria ferramenta adiciona, como uma redefinição de diretório de trabalho do shell, não o stderr do comando |4151| `stderr` | Avisos que a própria ferramenta adiciona, como uma redefinição de diretório de trabalho do shell, não o stderr do comando |

4146| `backgroundTaskId` | Presente para comandos em segundo plano |4152| `backgroundTaskId` | Presente para comandos em segundo plano |

4147 4153 

4148`timedOutAfterMs` é o tempo limite em milissegundos, definido quando o comando atingiu seu tempo limite e passou para o segundo plano em vez de começar lá explicitamente. `backgroundCwdHint` é definido quando o comando em segundo plano continha um builtin de mudança de diretório como `cd`, `pushd`, `popd` ou `chdir`, e observa que o diretório de trabalho da sessão não mudou. Ambos os campos requerem Claude Code v2.1.210 ou posterior.4154`timedOutAfterMs` é o timeout em milissegundos, definido quando o comando atingiu seu timeout e passou para o segundo plano em vez de começar lá explicitamente. `backgroundCwdHint` é definido quando o comando em segundo plano continha um builtin de mudança de diretório como `cd`, `pushd`, `popd` ou `chdir`, e observa que o diretório de trabalho da sessão não mudou. Ambos os campos requerem Claude Code v2.1.210 ou posterior.

4149 4155 

4150Quando um subagente em execução em primeiro plano possui um comando em segundo plano, o comando [termina quando a execução desse subagente termina](/docs/pt/tools-reference#when-a-background-command-stops). Claude Code define `backgroundEndsWithFinalResponse` como `true` em tais comandos e omite o campo quando o comando sobrevive ao turno, como comandos iniciados pela conversa principal ou por subagentes em segundo plano fazem. O campo requer Claude Code v2.1.227 ou posterior.4156Quando um subagente em execução em primeiro plano possui um comando em segundo plano, o comando [termina quando a execução desse subagente termina](/docs/pt/tools-reference#when-a-background-command-stops). Claude Code define `backgroundEndsWithFinalResponse` como `true` em tais comandos e omite o campo quando o comando sobrevive ao turno, como comandos iniciados pela conversa principal ou por subagentes em segundo plano fazem. O campo requer Claude Code v2.1.227 ou posterior.

4151 4157 


4469 summary?: string;4475 summary?: string;

4470 transcriptDir?: string;4476 transcriptDir?: string;

4471 scriptPath?: string;4477 scriptPath?: string;

4472 sessionUrl?: string; // definido quando o workflow foi lançado como uma sessão em nuvem4478 sessionUrl?: string; // definido quando o workflow foi lançado como uma sessão na nuvem

4473 warning?: string;4479 warning?: string;

4474 error?: string;4480 error?: string;

4475};4481};


4479 4485 

4480| Campo | Tipo | Descrição |4486| Campo | Tipo | Descrição |

4481| - | - | - |4487| - | - | - |

4482| `status` | `"async_launched" \| "remote_launched"` | A ferramenta aceitou a invocação. `"async_launched"` para execuções em processo, `"remote_launched"` para execuções despachadas para uma sessão em nuvem em vez de executar em processo |4488| `status` | `"async_launched" \| "remote_launched"` | A ferramenta aceitou a invocação. `"async_launched"` para execuções em processo, `"remote_launched"` para execuções despachadas para uma sessão na nuvem em vez de executar em processo |

4483| `taskId` | `string` | Identificador de tarefa em segundo plano para a execução |4489| `taskId` | `string` | Identificador de tarefa em segundo plano para a execução |

4484| `taskType` | `"local_workflow" \| "remote_agent"` | Tipo de tarefa da tarefa em segundo plano registrada, correspondendo ao braço `status` |4490| `taskType` | `"local_workflow" \| "remote_agent"` | Tipo de tarefa da tarefa em segundo plano registrada, correspondendo ao braço `status` |

4485| `workflowName` | `string` | O `meta.name` do script de workflow |4491| `workflowName` | `string` | O `meta.name` do script de workflow |

4486| `runId` | `string` | Identificador de execução de workflow para passar como `resumeFromRunId` em uma invocação posterior. Ausente para execuções `remote_launched`, onde a URL da sessão em nuvem é o identificador de retomada |4492| `runId` | `string` | Identificador de execução de workflow para passar como `resumeFromRunId` em uma invocação posterior. Ausente para execuções `remote_launched`, onde a URL da sessão na nuvem é o identificador de retomada |

4487| `summary` | `string` | Descrição de uma linha do que o workflow faz |4493| `summary` | `string` | Descrição de uma linha do que o workflow faz |

4488| `transcriptDir` | `string` | Diretório onde transcrições de subagente são escritas durante a execução |4494| `transcriptDir` | `string` | Diretório onde transcrições de subagente são escritas durante a execução |

4489| `scriptPath` | `string` | Caminho para o script de workflow persistido para essa execução. Edite-o e passe de volta como `scriptPath` para reexecutar sem reenviar o script |4495| `scriptPath` | `string` | Caminho para o script de workflow persistido para essa execução. Edite-o e passe de volta como `scriptPath` para reexecutar sem reenviar o script |

4490| `sessionUrl` | `string` | URL da sessão em nuvem, definida quando `status` é `"remote_launched"` |4496| `sessionUrl` | `string` | URL da sessão na nuvem, definida quando `status` é `"remote_launched"` |

4491| `warning` | `string` | Aviso não bloqueante, como estado git local divergindo do branch enviado que uma sessão em nuvem clonará |4497| `warning` | `string` | Aviso não bloqueante, como estado git local divergindo do branch enviado que uma sessão na nuvem clonará |

4492| `error` | `string` | Definido quando o script falha sua verificação de sintaxe. Quando presente, a execução não começou apesar do status lançado |4498| `error` | `string` | Definido quando o script falha sua verificação de sintaxe. Quando presente, a execução não começou apesar do status lançado |

4493 4499 

4494<h3 id="todowrite-2">4500<h3 id="todowrite-2">


4627};4633};

4628```4634```

4629 4635 

4630Retorna o estado do plano após sair do modo de plano.4636Retorna o estado do plano após sair do modo de planejamento.

4631 4637 

4632<h3 id="listmcpresources-2">4638<h3 id="listmcpresources-2">

4633 ListMcpResources4639 ListMcpResources


4681};4687};

4682```4688```

4683 4689 

4684Retorna informações sobre a worktree git.4690Retorna informações sobre o worktree git.

4685 4691 

4686<h3 id="exitworktree-2">4692<h3 id="exitworktree-2">

4687 ExitWorktree4693 ExitWorktree


4702};4708};

4703```4709```

4704 4710 

4705Retorna a ação tomada e detalhes sobre a worktree que foi saída.4711Retorna a ação tomada e detalhes sobre o worktree do qual se saiu.

4706 4712 

4707<h3 id="enterplanmode-2">4713<h3 id="enterplanmode-2">

4708 EnterPlanMode4714 EnterPlanMode


4716};4722};

4717```4723```

4718 4724 

4719Retorna uma confirmação de que o modo de plano foi inserido.4725Retorna uma confirmação de que o modo de planejamento foi inserido.

4720 4726 

4721<h3 id="croncreate-2">4727<h3 id="croncreate-2">

4722 CronCreate4728 CronCreate


4878 rel?: "mine" | "shared";4884 rel?: "mine" | "shared";

4879 }>;4885 }>;

4880 truncated?: boolean;4886 truncated?: boolean;

4887 total?: number;

4888 total_at_least?: true;

4881 scope?: "shared" | "all";4889 scope?: "shared" | "all";

4882 };4890 };

4883```4891```

4884 4892 

4885Retorna a `url` da página publicada e o `path` local que foi publicado para a ação de publicação, com `updated` definido como true quando a publicação reimplantou um artefato existente, e `warnings` carregando quaisquer avisos de tempo de publicação. A ação de lista retorna as linhas `artifacts` em vez disso, com `truncated` definido quando mais artefatos existem do que o limite solicitado. Em listagens cujo escopo não é `"mine"`, cada linha carrega `rel` marcando se o usuário possui o artefato ou foi compartilhado com ele, e a `scope` da saída registra qual escopo não padrão produziu a listagem; ambos estão ausentes em listagens padrão.4893Retorna a `url` da página publicada e o `path` local que foi publicado para a ação de publicação, com `updated` definido como true quando a publicação reimplantou um artefato existente, e `warnings` carregando quaisquer avisos de tempo de publicação. A ação de lista retorna as linhas `artifacts` em vez disso, com `truncated` definido quando mais artefatos existem do que o limite solicitado. Em listagens cujo escopo não é `"mine"`, cada linha carrega `rel` marcando se o usuário possui o artefato ou foi compartilhado com ele, e a `scope` da saída registra qual escopo não padrão produziu a listagem; ambos estão ausentes em listagens padrão.

4886 4894 

4895Um resultado de lista também relata `total`, o número de artefatos que correspondem ao escopo listado, incluindo os que estão além de `limit`. Quando `total_at_least` está definido, esse número é um limite inferior e mais artefatos podem existir. Ambos os campos requerem Agent SDK v0.3.292 ou posterior.

4896 

4887<h3 id="projects-2">4897<h3 id="projects-2">

4888 Projects4898 Projects

4889</h3>4899</h3>

agent-teams.md +2 −0

Details

1593. [`CLAUDE_CODE_SUBAGENT_MODEL`](/docs/pt/model-config#environment-variables), quando está definido para qualquer coisa diferente de `inherit`.1593. [`CLAUDE_CODE_SUBAGENT_MODEL`](/docs/pt/model-config#environment-variables), quando está definido para qualquer coisa diferente de `inherit`.

1604. O modelo atual do líder.1604. O modelo atual do líder.

161 161 

162Se um [mod](/docs/pt/plugins/mods/overview) instalado definir um modelo em seu hook [`agent.spawn`](/docs/pt/plugins/mods/reference#subagents), Claude Code usa esse modelo no lugar da primeira fonte.

163 

162Se você definir [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE=1`](/docs/pt/sub-agents#run-every-subagent-on-one-model), as duas primeiras fontes não se aplicam. Claude Code escolhe o modelo de cada companheiro de equipe a partir de `CLAUDE_CODE_SUBAGENT_MODEL` quando está definido para qualquer coisa diferente de `inherit`, e a partir do modelo atual do líder caso contrário. Requer Claude Code v2.1.257 ou posterior.164Se você definir [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE=1`](/docs/pt/sub-agents#run-every-subagent-on-one-model), as duas primeiras fontes não se aplicam. Claude Code escolhe o modelo de cada companheiro de equipe a partir de `CLAUDE_CODE_SUBAGENT_MODEL` quando está definido para qualquer coisa diferente de `inherit`, e a partir do modelo atual do líder caso contrário. Requer Claude Code v2.1.257 ou posterior.

163 165 

164Antes da v2.1.251, `CLAUDE_CODE_SUBAGENT_MODEL` vinha primeiro nesta ordem.166Antes da v2.1.251, `CLAUDE_CODE_SUBAGENT_MODEL` vinha primeiro nesta ordem.

agent-view.md +13 −8

Details

226 226 

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: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 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ão229* Uma sessão que está funcionando: `/model`, `/effort`, `/rename` e `/usage` são executados imediatamente. Outras respostas entram na [fila de mensagens](/docs/pt/interactive-mode#queue-messages-while-claude-works) da sessão em vez de interromper a resposta, e entram em vigor [quando a entrada enfileirada entra](/docs/pt/interactive-mode#when-claude-code-sends-what-you-queued). Outros [comandos](/docs/pt/commands) aguardam o fim do turno, mesmo aqueles que são executados assim que você os 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ê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 digitada231* Um [shell job](#run-a-shell-command): a resposta, incluindo `/stop`, vai para o terminal do comando como entrada digitada

232 232 


234 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 disso235* 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 enviar236* 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 `→`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 mensagem aguarda na fila. Para responder ao diálogo, anexe com `→`

238 238 

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

240 240 

241Uma resposta que não pode ser entregue, porque o serviço em background está inacessível ou o envio falha, é salva e enviada para a sessão como seu próximo prompt quando seu processo começar novamente, e a mensagem de erro diz que a resposta foi salva. Uma resposta prefixada com `!` não é salva, porque o texto salvo chegaria à sessão como um prompt simples em vez de executar como um comando Bash.241Quando uma resposta não pode ser entregue, a mensagem de erro diz se ela foi salva. Uma resposta prefixada com `!` ou `/` nunca é salva. Claude Code envia uma resposta salva como o próximo prompt da sessão na próxima vez que você reiniciar a sessão; envie qualquer outra resposta novamente.

242 242 

243Com [voice dictation](/docs/pt/voice-dictation) ativada no [modo de segurar](/docs/pt/voice-dictation#hold-to-record), segure sua tecla push-to-talk enquanto a entrada de resposta está focada para ditar uma resposta em vez de digitá-la. O mesmo funciona na entrada de despacho na parte inferior de agent view.243Com [voice dictation](/docs/pt/voice-dictation) ativada no [modo de segurar](/docs/pt/voice-dictation#hold-to-record), segure sua tecla push-to-talk enquanto a entrada de resposta está focada para ditar uma resposta em vez de digitá-la. O mesmo funciona na entrada de despacho na parte inferior de agent view.

244 244 


288 288 

289A linha em que você pressionou `←` também mantém um nome em negrito e não esmaecido depois que você move a seleção com as teclas de seta ou o mouse, para que você possa dizer de qual sessão você veio.289A linha em que você pressionou `←` também mantém um nome em negrito e não esmaecido depois que você move a seleção com as teclas de seta ou o mouse, para que você possa dizer de qual sessão você veio.

290 290 

291Se uma ferramenta está em execução quando você pressiona `←`, Claude Code aguarda até cerca de dez segundos para que ela termine antes de colocar em background, e Claude continua a resposta na sessão em background. Pressione `←` novamente para colocar em background imediatamente em vez de aguardar. Quando o trabalho em andamento não pode ser transferido para a sessão em background, Claude Code mostra o diálogo `Background this session?` primeiro, o mesmo que com [`/background`](#from-inside-a-session).291Se uma ferramenta está em execução quando você pressiona `←`, Claude Code aguarda que ela termine antes de colocar em background, e Claude continua a resposta na sessão em background. Pressione `←` novamente para colocar em background imediatamente em vez de aguardar. Quando o trabalho em andamento não pode ser transferido para a sessão em background, Claude Code mostra o diálogo `Background this session?` primeiro, o mesmo que com [`/background`](#from-inside-a-session).

292 292 

293O limite de dez segundos não se aplica enquanto os [subagentes em primeiro plano](/docs/pt/sub-agents#run-subagents-in-foreground-or-background) que Claude iniciou na conversa ainda estão em execução. Claude Code continua aguardando para que seu trabalho seja transferido, e mostra um aviso `Still backgrounding after the current tool` enquanto aguarda. Pressione `←` novamente para colocar em background sem aguardar, o que reinicia esses subagentes do início. Claude Code não aguarda os subagentes que um [workflow dinâmico](/docs/pt/workflows) está executando. Quando um workflow tem subagentes em execução, Claude Code mostra o diálogo `Background this session?` em vez disso.293Após cerca de dez segundos, Claude Code coloca a sessão em background sem aguardar mais, exceto em casos como estes:

294 294 

295Claude Code não coloca a sessão em background enquanto você tem texto não enviado na entrada do prompt, porque o texto fica na caixa de entrada do seu terminal e não se moveria para a sessão em background. Se você digitar na entrada enquanto Claude Code aguarda para colocar a sessão em background, ele cancela a alternância com `Backgrounding cancelled — you have unsent text in the input. Send it or clear it, then press ← again.`295* **Subagentes em primeiro plano ainda estão em execução**: Claude Code continua aguardando para que o trabalho dos [subagentes em primeiro plano](/docs/pt/sub-agents#run-subagents-in-foreground-or-background) que Claude iniciou seja transferido, e mostra `Still backgrounding after the current tool`. Pressione `←` novamente para colocar em background sem aguardar, o que reinicia esses subagentes do início.

296* **Um prompt de permissão ou uma pergunta está aguardando sua resposta**: enquanto um prompt de permissão ou uma pergunta que Claude fez aguarda, Claude Code continua aguardando e mostra `Still backgrounding after the current tool — a question is waiting for your answer.`

297* **Você digita na entrada do prompt**: Claude Code cancela a alternância, porque o texto não enviado fica na caixa de entrada do seu terminal e não se moveria para a sessão em background. Ele mostra `Backgrounding cancelled — you have unsent text in the input. Send it or clear it, then press ← again.`

298* **Uma mensagem enfileirada não pode ser movida**: as mensagens que você [enfileirou enquanto Claude estava trabalhando](/docs/pt/interactive-mode#queue-messages-while-claude-works) se movem para a sessão em background com a conversa. Quando uma delas não pode ser movida, a sessão permanece em primeiro plano e Claude Code mostra um aviso como `Cannot open agents — 1 queued message can't move to the background. Press ← again once Claude has read it.`

296 299 

297Pressionar `←` cria a linha da sessão mesmo quando a conversa não tem mensagens ainda, então `→` ainda retorna a ela.300Pressionar `←` cria a linha da sessão mesmo quando a conversa não tem mensagens ainda, então `→` ainda retorna a ela.

298 301 


876 879 

877Cada sessão é seu próprio processo Claude Code sob o supervisor, e o que acontece com esse processo depende do estado da sessão:880Cada sessão é seu próprio processo Claude Code sob o supervisor, e o que acontece com esse processo depende do estado da sessão:

878 881 

879* **Funcionando, pausado em um prompt de permissão ou outro diálogo, ou anexado**: o processo continua em execução. Um subagente, fluxo de trabalho ou monitor em execução conta como funcionando.882* **Funcionando, pausado em um prompt de permissão ou outro diálogo, ou anexado**: o processo continua em execução. Um subagente, fluxo de trabalho ou monitor em execução conta como funcionando, assim como uma [tarefa agendada com escopo de sessão](/docs/pt/scheduled-tasks) pendente, como um despertar de `/loop`.

880* **Terminado ou aguardando sua próxima mensagem, e desanexado por cerca de uma hora**: o supervisor interrompe o processo para liberar recursos. Uma sessão que terminou seu turno fazendo uma pergunta a você conta como aguardando sua próxima mensagem. A conversa fica no disco, e na próxima vez que você anexar ou responder, a sessão retoma de onde parou. Fixe uma sessão com `Ctrl+T` para manter seu processo em execução.883* **Terminado ou aguardando sua próxima mensagem, e desanexado por cerca de uma hora**: o supervisor interrompe o processo para liberar recursos. Uma sessão que terminou seu turno fazendo uma pergunta a você conta como aguardando sua próxima mensagem. A conversa fica no disco, e na próxima vez que você anexar ou responder, a sessão retoma de onde parou. Fixe uma sessão com `Ctrl+T` para manter seu processo em execução.

881* **Saiu inesperadamente enquanto o supervisor está em execução**: o supervisor reinicia o processo. Terminar uma sessão que você colocou em background com `←` ou `/background`, por exemplo com `kill`, marca-a como parada em vez de reiniciá-la. Para sessões que terminaram com um desligamento, consulte [Sessões aparecem como falhadas ou paradas após desligamento](#sessions-show-as-failed-after-shutdown).884* **Saiu inesperadamente enquanto o supervisor está em execução**: o supervisor reinicia o processo. Terminar uma sessão que você colocou em background com `←` ou `/background`, por exemplo com `kill`, marca-a como parada em vez de reiniciá-la. Para sessões que terminaram com um desligamento, consulte [Sessões aparecem como falhadas ou paradas após desligamento](#sessions-show-as-failed-after-shutdown).

882* **Após uma atualização automática**: o supervisor reinicia a si mesmo para a nova versão e move sessões inativas em background. Sessões que estão funcionando, aguardando você ou anexadas não são interrompidas.885* **Após uma atualização automática**: o supervisor reinicia a si mesmo para a nova versão e move sessões inativas em background. Sessões que estão funcionando, aguardando você ou anexadas não são interrompidas.


970* Um terminal onde você retomou a conversa, por exemplo com `claude --resume` ou `/resume`: a linha mostra `Open in a terminal` com uma dica para continuar lá, e abrir a linha mostra `Can't open — this session is running in another terminal`. Continue naquele terminal, ou saia dele e abra a linha novamente.973* Um terminal onde você retomou a conversa, por exemplo com `claude --resume` ou `/resume`: a linha mostra `Open in a terminal` com uma dica para continuar lá, e abrir a linha mostra `Can't open — this session is running in another terminal`. Continue naquele terminal, ou saia dele e abra a linha novamente.

971* Outro processo Claude Code não interativo, por exemplo um processo de sessão em background para a mesma conversa que ainda não saiu: abrir a linha mostra `This conversation is already open in another running Claude session`. Use esse processo, ou aguarde sua saída e abra a linha novamente.974* Outro processo Claude Code não interativo, por exemplo um processo de sessão em background para a mesma conversa que ainda não saiu: abrir a linha mostra `This conversation is already open in another running Claude session`. Use esse processo, ou aguarde sua saída e abra a linha novamente.

972 975 

973Claude Code salva uma resposta que você digitou com a tentativa recusada e a envia na próxima vez que a sessão inicia.976Claude Code salva uma resposta que você digitou com a tentativa recusada, exceto uma prefixada com `!` ou `/`, e a envia na próxima vez que a sessão inicia.

974 977 

975<h3 id="opening-a-session-says-it-has-no-saved-transcript">978<h3 id="opening-a-session-says-it-has-no-saved-transcript">

976 Opening a session says it has no saved transcript979 Opening a session says it has no saved transcript


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

1094| - | - |1097| - | - |

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

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

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

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

1097| 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. |1102| 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. |

1098| 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. |1103| 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. |

amazon-bedrock.md +49 −12

Details

136 2. Configurar credenciais AWS136 2. Configurar credenciais AWS

137</h3>137</h3>

138 138 

139Claude Code usa a cadeia de credenciais padrão do AWS SDK. Configure suas credenciais usando um destes métodos:139Claude Code usa a cadeia de credenciais padrão do AWS SDK. Se a máquina já fornece credenciais para essa cadeia, como um perfil de instância do Amazon EC2 ou credenciais de tarefa do Amazon ECS, avance para o [passo 3](#3-configure-claude-code).

140 140 

141**Opção A: Configuração da AWS CLI**141A AWS [desaconselha o uso das chaves de acesso de um usuário IAM](https://docs.aws.amazon.com/cli/latest/userguide/cli-authentication-user.html) quando você desenvolve software específico ou trabalha com dados reais. Configure suas credenciais com um destes métodos:

142 

143* [`aws configure`](#use-aws-configure): salve a chave de acesso de um usuário IAM em um perfil no seu diretório `~/.aws`

144* [Variáveis de ambiente de chave de acesso](#export-an-access-key): defina uma chave de acesso, ou credenciais temporárias com um token de sessão, apenas no shell atual

145* [Perfil SSO](#use-an-sso-profile): faça login através do IAM Identity Center no seu navegador e obtenha credenciais temporárias. Use este método se você acessa sua conta AWS através do IAM Identity Center.

146* [Credenciais do AWS Management Console](#use-aws-management-console-credentials): faça login através do seu navegador com suas credenciais do AWS Management Console e obtenha credenciais temporárias. A AWS [recomenda este método](https://docs.aws.amazon.com/signin/latest/userguide/command-line-sign-in.html) se você acessa sua conta AWS como usuário root, como usuário IAM ou através de federação com IAM.

147* [Chave de API do Amazon Bedrock](#use-an-amazon-bedrock-api-key): autentique com um bearer token que funciona apenas para o Amazon Bedrock, em vez de credenciais AWS

148 

149<h4 id="use-aws-configure">

150 Usar `aws configure`

151</h4>

152 

153Execute `aws configure` e insira seu ID de chave de acesso, chave de acesso secreta e região padrão quando solicitado:

142 154 

143```bash theme={null}155```bash theme={null}

144aws configure156aws configure

145```157```

146 158 

147**Opção B: Variáveis de ambiente (chave de acesso)**159A AWS CLI salva a chave no perfil `default` em `~/.aws/credentials`, de onde a cadeia de credenciais a lê.

160 

161<h4 id="export-an-access-key">

162 Exportar uma chave de acesso

163</h4>

164 

165Exporte sua chave de acesso como variáveis de ambiente. `AWS_SESSION_TOKEN` é necessária apenas com credenciais temporárias, portanto omita essa linha se sua chave de acesso pertencer a um usuário IAM:

148 166 

149```bash theme={null}167```bash theme={null}

150export AWS_ACCESS_KEY_ID=your-access-key-id168export AWS_ACCESS_KEY_ID=your-access-key-id


152export AWS_SESSION_TOKEN=your-session-token170export AWS_SESSION_TOKEN=your-session-token

153```171```

154 172 

155**Opção C: Variáveis de ambiente (perfil SSO)**173<h4 id="use-an-sso-profile">

174 Usar um perfil SSO

175</h4>

156 176 

157Substitua `your-profile-name` pelo nome do seu perfil AWS antes de executar estes comandos.177Crie um perfil com `aws configure sso` se você não tiver um. Em seguida, faça login no IAM Identity Center e defina `AWS_PROFILE` para que a cadeia de credenciais use esse perfil. Substitua `your-profile-name` pelo nome do seu perfil AWS antes de executar estes comandos.

158 178 

159```bash theme={null}179```bash theme={null}

160aws sso login --profile=your-profile-name180aws sso login --profile=your-profile-name


164 184 

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

166 186 

167**Opção D: Credenciais do AWS Management Console**187<h4 id="use-aws-management-console-credentials">

188 Usar credenciais do AWS Management Console

189</h4>

190 

191O comando `aws login` requer a AWS CLI 2.32.0 ou posterior. Para a política IAM de que sua identidade precisa, veja as [instruções da AWS para `aws login`](https://docs.aws.amazon.com/signin/latest/userguide/command-line-sign-in.html).

192 

193Execute o comando para fazer login através do seu navegador com suas credenciais do AWS Management Console:

168 194 

169```bash theme={null}195```bash theme={null}

170aws login196aws login

171```197```

172 198 

173[Saiba mais](https://docs.aws.amazon.com/signin/latest/userguide/command-line-sign-in.html) sobre `aws login`.199A sessão é válida por até 12 horas, após as quais você executa `aws login` novamente.

200 

201<h4 id="use-an-amazon-bedrock-api-key">

202 Usar uma chave de API do Amazon Bedrock

203</h4>

204 

205Uma chave de API do Amazon Bedrock é um bearer token que autentica suas requisições no lugar de credenciais AWS. A AWS emite [dois tipos de chave](https://docs.aws.amazon.com/bedrock/latest/userguide/api-keys.html):

174 206 

175**Opção E: Chaves de API do Amazon Bedrock**207* **Chaves de curto prazo**: duram até 12 horas. A AWS as prefere em relação às chaves de longo prazo para ambientes de produção.

208* **Chaves de longo prazo**: duram até uma data de expiração que você define. A AWS as recomenda apenas para exploração.

209 

210Exporte a chave como `AWS_BEARER_TOKEN_BEDROCK`:

176 211 

177```bash theme={null}212```bash theme={null}

178export AWS_BEARER_TOKEN_BEDROCK=your-bedrock-api-key213export AWS_BEARER_TOKEN_BEDROCK=your-bedrock-api-key

179```214```

180 215 

181As chaves de API do Amazon Bedrock fornecem um método de autenticação mais simples sem precisar de credenciais AWS completas. [Saiba mais sobre as chaves de API do Amazon Bedrock](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/).216Quando `AWS_BEARER_TOKEN_BEDROCK` está definida, Claude Code autentica com a chave e não resolve a cadeia de credenciais, mesmo que outras credenciais AWS estejam presentes. [Saiba mais sobre as chaves de API do Amazon Bedrock](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/).

182 217 

183<h4 id="credential-caching-and-resolution-timeout">218<h4 id="credential-caching-and-resolution-timeout">

184 Cache de credenciais e tempo limite de resolução219 Cache de credenciais e tempo limite de resolução


186 221 

187Claude Code resolve a cadeia de provedor de credenciais padrão AWS uma vez e mantém as credenciais resolvidas na memória. Ele as reutiliza até cinco minutos antes de expirarem, ou por uma hora quando não têm expiração, portanto um perfil apoiado por SSO solicita credenciais do IAM Identity Center aproximadamente uma vez por tempo de vida de credencial. Um erro de credencial da API limpa o cache, e a tentativa novamente resolve credenciais novas. Requer Claude Code v2.1.207 ou posterior.222Claude Code resolve a cadeia de provedor de credenciais padrão AWS uma vez e mantém as credenciais resolvidas na memória. Ele as reutiliza até cinco minutos antes de expirarem, ou por uma hora quando não têm expiração, portanto um perfil apoiado por SSO solicita credenciais do IAM Identity Center aproximadamente uma vez por tempo de vida de credencial. Um erro de credencial da API limpa o cache, e a tentativa novamente resolve credenciais novas. Requer Claude Code v2.1.207 ou posterior.

188 223 

189O cache cobre todas as opções de credencial acima, exceto uma chave de API do Amazon Bedrock, que não usa a cadeia de provedor. Para resolver a cadeia em cada solicitação em vez disso, defina [`CLAUDE_CODE_SKIP_AWS_CRED_CACHE=1`](/docs/pt/env-vars).224O cache cobre todos os métodos de credencial listados no início deste passo, exceto uma chave de API do Amazon Bedrock, que não usa a cadeia de provedor. Para resolver a cadeia em cada requisição em vez disso, defina [`CLAUDE_CODE_SKIP_AWS_CRED_CACHE=1`](/docs/pt/env-vars).

190 225 

191A resolução que preenche o cache atinge o timeout após 60 segundos. Se uma etapa na cadeia travar, por exemplo um auxiliar `credential_process` que aguarda entrada que não pode receber, a requisição falha com [`AWS default-chain credential resolve timed out`](/docs/pt/errors#aws-default-chain-credential-resolve-timed-out). Se sua cadeia executa um login interativo que legitimamente precisa de mais tempo, como SSO baseado em navegador 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). Com `CLAUDE_CODE_SKIP_AWS_CRED_CACHE=1` definido, cada requisição de API resolve a cadeia sem esse limite.226A resolução que preenche o cache atinge o timeout após 60 segundos. Se uma etapa na cadeia travar, por exemplo um auxiliar `credential_process` que aguarda entrada que não pode receber, a requisição falha com [`AWS default-chain credential resolve timed out`](/docs/pt/errors#aws-default-chain-credential-resolve-timed-out). Se sua cadeia executa um login interativo que legitimamente precisa de mais tempo, como SSO baseado em navegador 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). Com `CLAUDE_CODE_SKIP_AWS_CRED_CACHE=1` definido, cada requisição de API resolve a cadeia sem esse limite.

192 227 


509 Janela de contexto de 1M de tokens544 Janela de contexto de 1M de tokens

510</h2>545</h2>

511 546 

512Claude Sonnet 5, Opus 4.6 e posteriores, e Sonnet 4.6 suportam a [janela de contexto de 1M de tokens](https://platform.claude.com/docs/pt/build-with-claude/context-windows#context-window-sizes-by-model) no Amazon Bedrock. Sonnet 5 sempre é executado com a janela de 1M tanto na API Invoke quanto no [endpoint Mantle](#use-the-mantle-endpoint), sem nenhuma variante `[1m]` para selecionar. Para os outros modelos na API Invoke, Claude Code habilita automaticamente a janela de contexto estendida quando você seleciona uma variante de modelo de 1M.547Modelos Fable, Sonnet 5 e posteriores, e Opus 4.7 e posteriores são executados com a [janela de contexto de 1M de tokens](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) por padrão no Amazon Bedrock, tanto na API Invoke quanto no [endpoint Mantle](#use-the-mantle-endpoint), sem necessidade do sufixo `[1m]`. Um ARN de perfil de inferência de aplicação obtém a janela de 1M quando uma entrada [`modelOverrides`](#map-each-model-version-to-an-inference-profile) mapeia seu modelo para ele. Para manter uma janela de 200K em vez disso, defina [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/pt/model-config#turn-off-1m-context).

548 

549Opus 4.6 e Sonnet 4.6 na API Invoke alcançam a janela de 1M quando você seleciona sua variante `[1m]`. O [assistente de configuração](#sign-in-with-bedrock) oferece uma opção de contexto de 1M quando fixa modelos. Para habilitá-lo para um modelo fixado manualmente em vez disso, acrescente `[1m]` ao ID do modelo. Veja [Fixar modelos para implantações de terceiros](/docs/pt/model-config#pin-models-for-third-party-deployments) para detalhes, incluindo como usar a janela de 1M sem alterar a fixação.

513 550 

514O [assistente de configuração](#sign-in-with-bedrock) oferece uma opção de contexto de 1M quando fixa modelos. Para habilitá-lo para um modelo fixado manualmente em vez disso, acrescente `[1m]` ao ID do modelo. Veja [Fixar modelos para implantações de terceiros](/docs/pt/model-config#pin-models-for-third-party-deployments) para detalhes, incluindo como usar a janela de 1M sem alterar a fixação.551Antes da v2.1.287, os modelos Fable e Opus 4.7 e posteriores eram executados com uma janela de 200K por padrão na API Invoke e alcançavam a janela de 1M nela por meio de um sufixo `[1m]`.

515 552 

516<h2 id="service-tiers">553<h2 id="service-tiers">

517 Camadas de serviço554 Camadas de serviço

artifacts.md +1 −1

Details

391| Autenticação | A sessão é apoiada por uma conta claude.ai: faça login com `/login` na CLI ou aplicativo de desktop. Sessões Claude Tag são conectadas através da identidade do agente, portanto nenhuma etapa é necessária. Sessões usando uma chave de API, [token de gateway](/docs/pt/llm-gateway) ou credencial de provedor de nuvem não podem publicar. |391| Autenticação | A sessão é apoiada por uma conta claude.ai: faça login com `/login` na CLI ou aplicativo de desktop. Sessões Claude Tag são conectadas através da identidade do agente, portanto nenhuma etapa é necessária. Sessões usando uma chave de API, [token de gateway](/docs/pt/llm-gateway) ou credencial de provedor de nuvem não podem publicar. |

392| Provedor de modelo | API Anthropic. Não disponível em [Amazon Bedrock](/docs/pt/amazon-bedrock), [Google Cloud's Agent Platform](/docs/pt/google-vertex-ai) ou [Microsoft Foundry](/docs/pt/microsoft-foundry). |392| Provedor de modelo | API Anthropic. Não disponível em [Amazon Bedrock](/docs/pt/amazon-bedrock), [Google Cloud's Agent Platform](/docs/pt/google-vertex-ai) ou [Microsoft Foundry](/docs/pt/microsoft-foundry). |

393| Política da organização | Chaves de criptografia gerenciadas pelo cliente (CMEK), HIPAA e [Retenção Zero de Dados](/docs/pt/zero-data-retention) não estão habilitadas para a organização. |393| Política da organização | Chaves de criptografia gerenciadas pelo cliente (CMEK), HIPAA e [Retenção Zero de Dados](/docs/pt/zero-data-retention) não estão habilitadas para a organização. |

394| Superfície | Claude Code CLI ou aplicativo de desktop Claude versão 1.13576.0 ou posterior. Sessões [Claude Tag](https://claude.com/docs/claude-tag/overview) também podem publicar artefatos quando Claude Tag e artefatos estão habilitados para a organização. Desativado por padrão em contextos [Agent SDK](/docs/pt/agent-sdk/overview), GitHub Action e MCP-server, e quando [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/pt/env-vars) está definido. |394| Superfície | Claude Code CLI ou aplicativo de desktop Claude versão 1.13576.0 ou posterior. Sessões [Claude Tag](https://claude.com/docs/claude-tag/overview) também podem publicar artefatos quando Claude Tag e artefatos estão habilitados para a organização. Desativado por padrão em contextos [Agent SDK](/docs/pt/agent-sdk/overview), GitHub Action e MCP-server, quando você executa Claude Code com [`-p`](/docs/pt/headless) a partir do seu próprio terminal ou scripts, e quando [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/pt/env-vars) está definido. |

395 395 

396Se os artefatos são permitidos para sua organização vem da política da sua organização, que Claude Code carrega de `api.anthropic.com`. Quando Claude Code não consegue carregar a política, artefatos não estão disponíveis. Quando você pede um, Claude diz por quê.396Se os artefatos são permitidos para sua organização vem da política da sua organização, que Claude Code carrega de `api.anthropic.com`. Quando Claude Code não consegue carregar a política, artefatos não estão disponíveis. Quando você pede um, Claude diz por quê.

397 397 

Details

142* **Do que ele faz logout**: Claude Code faz logout de qualquer login claude.ai armazenado na máquina142* **Do que ele faz logout**: Claude Code faz logout de qualquer login claude.ai armazenado na máquina

143* **Como desfazer**: execute `/logout`, que remove e revoga a credencial que este login escreveu143* **Como desfazer**: execute `/logout`, que remove e revoga a credencial que este login escreveu

144 144 

145Se sua organização usa [configurações gerenciadas pelo servidor](/docs/pt/server-managed-settings), elas se aplicam a este login no Claude Code v2.1.257 ou posterior.

146 

147Tudo mais sobre perfis se aplica a este login, incluindo onde ele se classifica em relação às suas outras credenciais, a linha `Profile` que você obtém em `/status`, e os recursos que precisam de um login claude.ai. Veja [Perfis Anthropic e credenciais de federação](#anthropic-profiles-and-federation-credentials).145Tudo mais sobre perfis se aplica a este login, incluindo onde ele se classifica em relação às suas outras credenciais, a linha `Profile` que você obtém em `/status`, e os recursos que precisam de um login claude.ai. Veja [Perfis Anthropic e credenciais de federação](#anthropic-profiles-and-federation-credentials).

148 146 

149<h3 id="cloud-provider-authentication">147<h3 id="cloud-provider-authentication">

Details

305 Permitir um gateway em espaço de endereço público que você possui305 Permitir um gateway em espaço de endereço público que você possui

306</h3>306</h3>

307 307 

308Algumas organizações numeram sua rede interna a partir de um bloco IPv4 público que possuem, como o espaço de endereço próprio de uma operadora ou um `/8` legado, então seu gateway não pode ter um endereço privado. Liste esses blocos na configuração gerenciada `gatewayInternalNetworks`. `/login` então aceita um gateway dentro de um bloco listado quando a máquina do desenvolvedor se conecta a ele a partir de um endereço dentro do mesmo bloco. Isso requer Claude Code v2.1.268 ou posterior na máquina do desenvolvedor; versões anteriores ignoram a chave e aplicam a regra de endereço privado.308Algumas organizações numeram sua rede interna a partir de um bloco IPv4 público que possuem, como o espaço de endereço próprio de uma operadora ou um `/8` legado, então seu gateway não tem endereço privado. Liste esses blocos na configuração gerenciada `gatewayInternalNetworks`. `/login` então aceita um gateway dentro de um bloco listado quando a máquina do desenvolvedor se conecta a ele a partir de um endereço dentro do mesmo bloco. Isso requer Claude Code v2.1.268 ou posterior na máquina do desenvolvedor; versões anteriores ignoram a chave e aplicam a regra de endereço privado.

309 309 

310<Warning>310<Warning>

311 `gatewayInternalNetworks` é para redes internas que acontecem de ser numeradas a partir de espaço de endereço público. Não torna seguro expor um gateway para a internet: um gateway confiável pode enviar configurações que executam comandos em máquinas de desenvolvedores.311 `gatewayInternalNetworks` é para redes internas que acontecem de ser numeradas a partir de espaço de endereço público. Não torna seguro expor um gateway para a internet: um gateway confiável pode enviar configurações que executam comandos em máquinas de desenvolvedores.


516 Disponibilidade e limitações516 Disponibilidade e limitações

517</h2>517</h2>

518 518 

519A tabela cobre quais recursos do Claude Code funcionam quando os desenvolvedores se conectam através do gateway e o que o próprio servidor gateway suporta. Onde algo não é suportado, a coluna Notas fornece a alternativa.519A tabela abrange quais recursos do Claude Code funcionam quando os desenvolvedores se conectam por meio do gateway e o que o próprio servidor do gateway suporta. Onde algo não é suportado, a coluna Observações indica a alternativa.

520 520 

521O gateway entrega os valores [`anthropic-beta`](https://platform.claude.com/docs/en/api/beta-headers) que a CLI envia para cada upstream, então operadores não mantêm uma allowlist de betas. Para Amazon Bedrock, que ignora o cabeçalho, o gateway move os valores para o campo `anthropic_beta` do corpo da requisição; os outros upstreams recebem o cabeçalho conforme enviado.521O gateway entrega os valores de [`anthropic-beta`](https://platform.claude.com/docs/en/api/beta-headers) que a CLI envia para cada upstream, de modo que os operadores não mantêm uma allowlist de betas. Para o Amazon Bedrock, que ignora o cabeçalho, o gateway move os valores para o campo `anthropic_beta` do corpo da requisição; os outros upstreams recebem o cabeçalho conforme enviado.

522 522 

523| Recurso | Status | Notas |523| Recurso | Status | Observações |

524| - | - | - |524| - | - | - |

525| Encaminhamento de inferência (Amazon Bedrock, Claude Platform on AWS, Agent Platform do Google Cloud, Microsoft Foundry, Anthropic) | Disponível | Com tradução de modelo por upstream e failover. O upstream Amazon Bedrock usa o endpoint `bedrock-runtime` e a cadeia de credenciais padrão da AWS. O [upstream Amazon Bedrock Mantle](/docs/pt/claude-apps-gateway-config#amazon-bedrock-mantle-endpoint) requer Claude Code v2.1.283 ou posterior no servidor gateway, e o [upstream Claude Platform on AWS](/docs/pt/claude-apps-gateway-config#claude-platform-on-aws) requer v2.1.198 ou posterior. |525| Encaminhamento de inferência (Amazon Bedrock, Claude Platform on AWS, Agent Platform do Google Cloud, Microsoft Foundry, Anthropic) | Disponível | Com tradução de modelo por upstream e failover. O upstream do Amazon Bedrock usa o endpoint `bedrock-runtime` e a cadeia de credenciais padrão da AWS. O [upstream do Amazon Bedrock Mantle](/docs/pt/claude-apps-gateway-config#amazon-bedrock-mantle-endpoint) requer o Claude Code v2.1.283 ou posterior no servidor do gateway, e o [upstream do Claude Platform on AWS](/docs/pt/claude-apps-gateway-config#claude-platform-on-aws) requer v2.1.198 ou posterior. |

526| Acesso a modelos e configurações gerenciadas por grupo IdP | Disponível | O acesso a modelos é aplicado no lado do servidor; as configurações gerenciadas são entregues por grupo IdP e aplicadas pela CLI no [nível de configurações gerenciadas](/docs/pt/settings#settings-precedence) |526| Janela de contexto de 1M de tokens | Disponível | Os modelos Fable, Sonnet 5 e posteriores, e Opus 4.7 e posteriores são executados com a janela de 1M por padrão; consulte [Contexto estendido](/docs/pt/model-config#extended-context). O padrão de 1M para os modelos Fable e Opus requer o Claude Code v2.1.287 ou posterior na máquina do desenvolvedor |

527| Claude Desktop | Disponível com opt-in | O gateway fornece a configuração do Claude Desktop em `/user/bootstrap` uma vez que uma política [opta por uma chave `desktop`](/docs/pt/claude-apps-gateway-config#claude-desktop-overlay), e o Claude Desktop envia requisições de modelo de suas abas Cowork e Code, e da aba Chat quando você a habilita, através do gateway. Para ativar a aba Chat, consulte [Conectar Claude Desktop](#connect-claude-desktop). Requer Claude Code v2.1.203 ou posterior no servidor gateway. |527| Acesso a modelos e configurações gerenciadas por grupo do IdP | Disponível | O acesso a modelos é aplicado no lado do servidor; as configurações gerenciadas são entregues por grupo do IdP e aplicadas pela CLI no [nível de configurações gerenciadas](/docs/pt/settings#settings-precedence) |

528| Fan-out de telemetria (OTLP/HTTP) | Disponível | Identidade-marcada por exportação; ambas as codificações protobuf e JSON |528| Claude Desktop | Disponível mediante opt-in | O gateway fornece a configuração do Claude Desktop em `/user/bootstrap` assim que uma política [faz opt-in com uma chave `desktop`](/docs/pt/claude-apps-gateway-config#claude-desktop-overlay), e o Claude Desktop envia requisições de modelo das suas abas Cowork e Code, e da aba Chat quando você a ativa, por meio do gateway. Para ativar a aba Chat, consulte [Conectar o Claude Desktop](#connect-claude-desktop). Requer o Claude Code v2.1.203 ou posterior no servidor do gateway. |

529| Provedores de identidade OIDC | Disponível | Qualquer IdP compatível com OIDC; o gateway executa descoberta OIDC padrão e o fluxo de código de autorização. Consulte [Configuração do provedor de identidade](/docs/pt/claude-apps-gateway-deploy#identity-provider-setup) para configuração por IdP |529| Distribuição de telemetria (OTLP/HTTP) | Disponível | Com identidade registrada em cada exportação; codificações protobuf e JSON |

530| Provedores de identidade OIDC | Disponível | Qualquer IdP compatível com OIDC; o gateway executa a descoberta OIDC padrão e o fluxo de código de autorização. Consulte [Configuração do provedor de identidade](/docs/pt/claude-apps-gateway-deploy#identity-provider-setup) para a configuração de cada IdP |

530| Limites de gastos por usuário e por grupo | Disponível | Consulte [Limites de gastos](/docs/pt/claude-apps-gateway-spend-limits) |531| Limites de gastos por usuário e por grupo | Disponível | Consulte [Limites de gastos](/docs/pt/claude-apps-gateway-spend-limits) |

531| Busca na web no lado do servidor | Não disponível | A CLI não pode ver qual provedor upstream o gateway roteia, então não pode verificar o suporte de busca na web e desabilita WebSearch em sessões de gateway |532| Pesquisa na web no lado do servidor | Não disponível | A CLI não consegue ver para qual provedor upstream o gateway encaminha, portanto não pode verificar o suporte à pesquisa na web e desativa o WebSearch em sessões do gateway |

532| [Remote Control](/docs/pt/remote-control) | Não disponível | A CLI mostra [um erro nomeando o gateway](/docs/pt/errors#remote-control-requires-the-anthropic-api) |533| [Remote Control](/docs/pt/remote-control) | Não disponível | A CLI mostra [um erro que menciona o gateway](/docs/pt/errors#remote-control-requires-the-anthropic-api) |

533| [`/design-sync`](/docs/pt/commands#all-commands) e `/design-login` | Não disponível | Ambos precisam de claude.ai, que a CLI não contatará em sessões de gateway, então nenhum comando aparece lá |534| [`/design-sync`](/docs/pt/commands#all-commands) e `/design-login` | Não disponível | Ambos precisam do claude.ai, que a CLI não contata em sessões do gateway, portanto nenhum dos dois comandos aparece nelas |

534| Recursos que precisam de busca de feature flags, como `/import` e `claude import` | Não disponível | A CLI pula a busca de flags em sessões de gateway. [Recursos que precisam de busca de feature flags](/docs/pt/env-vars#features-that-need-feature-flag-fetching) lista o que isso desativa |535| Recursos que precisam da busca de feature flags, como `/import` e `claude import` | Não disponível | A CLI ignora a busca de flags em sessões do gateway. [Recursos que precisam da busca de feature flags](/docs/pt/env-vars#features-that-need-feature-flag-fetching) lista o que isso desativa |

535| Cache de prompt padrão | Disponível | O gateway encaminha pontos de interrupção `cache_control` para cada upstream. [Onde o cache reside](/docs/pt/prompt-caching#where-the-cache-lives) cobre quais blocos a CLI marca, incluindo o contexto do sistema que ela anexa no meio da conversa |536| Cache de prompt padrão | Disponível | O gateway encaminha os breakpoints de `cache_control` para cada upstream. [Onde o cache fica](/docs/pt/prompt-caching#where-the-cache-lives) aborda quais blocos a CLI marca, incluindo o contexto de sistema que ela acrescenta no meio da conversa |

536| TTL de cache de 1 hora | Não disponível | A CLI omite a beta de ttl de cache estendido em sessões de gateway, porque nem todo upstream que o gateway pode rotear suporta o TTL de 1 hora, então o cache de prompt através do gateway usa o TTL de 5 minutos; consulte a nota de cabeçalho beta acima |537| TTL de cache de 1 hora | Não disponível | A CLI omite o beta extended-cache-ttl em sessões do gateway, porque nem todo upstream para o qual o gateway pode encaminhar suporta o TTL de 1 hora; assim, o cache de prompt por meio do gateway usa o TTL de 5 minutos; consulte a observação sobre o cabeçalho beta acima |

537| Modo auto | Disponível | Segue as [regras do provedor de terceiros](/docs/pt/permission-modes#enable-auto-mode-on-bedrock-agent-platform-or-foundry): apenas os modelos elegíveis em provedores de terceiros podem usá-lo. Antes da v2.1.207, o modo auto em sessões de gateway exigia configurar `CLAUDE_CODE_ENABLE_AUTO_MODE=1`, entregável através do bloco `env` da política gerenciada |538| Modo auto | Disponível | Segue as [regras de provedores terceiros](/docs/pt/permission-modes#enable-auto-mode-on-bedrock-agent-platform-or-foundry): apenas os modelos elegíveis em provedores terceiros podem usá-lo. Antes da v2.1.207, o modo auto em sessões do gateway exigia definir `CLAUDE_CODE_ENABLE_AUTO_MODE=1`, que pode ser entregue por meio do bloco `env` da política gerenciada |

538| Otimizações apenas de primeira parte, como escopo de cache global e ferramentas eficientes em tokens | Não disponível | A CLI não as habilita em sessões de gateway; consulte a nota de cabeçalho beta acima |539| Otimizações exclusivas de primeira parte, como escopo de cache global e ferramentas eficientes em tokens | Não disponível | A CLI não as ativa em sessões do gateway; consulte a observação sobre o cabeçalho beta acima |

539| OTLP/gRPC | Não suportado | OTLP sobre HTTP apenas |540| OTLP/gRPC | Não suportado | Apenas OTLP sobre HTTP |

540| SAML, LDAP e outras autenticações não-OIDC | Não suportado | OIDC apenas. Coloque na frente com uma ponte OIDC se necessário |541| SAML, LDAP e outras autenticações não OIDC | Não suportado | Apenas OIDC. Use uma ponte OIDC na frente, se necessário |

541| Multi-tenant (múltiplos emissores OIDC) | Não suportado | Um emissor por gateway. Execute instâncias separadas |542| Multilocatário (vários emissores OIDC) | Não suportado | Um emissor por gateway. Execute instâncias separadas |

542| Servidor Windows | Não suportado | Implante no Linux. macOS apenas para desenvolvimento local |543| Servidor Windows | Não suportado | Implante no Linux. macOS apenas para desenvolvimento local |

543| Gráfico Helm | Não disponível | O gateway é executado como um Deployment sem estado padrão; consulte o [guia de implantação](/docs/pt/claude-apps-gateway-deploy#kubernetes) |544| Helm chart | Não disponível | O gateway é executado como um Deployment padrão sem estado; consulte o [guia de implantação](/docs/pt/claude-apps-gateway-deploy#kubernetes) |

544| Interface do usuário de administração | Não disponível | A configuração é o arquivo YAML; reimplante para alterá-la |545| Interface de administração | Não disponível | A configuração é o arquivo YAML; faça uma nova implantação para alterá-la |

545 546 

546<h2 id="next-steps">547<h2 id="next-steps">

547 Próximas etapas548 Próximas etapas

Details

6 6 

7> Registre o gateway com seu IdP, crie o contêiner, implante no Kubernetes ou Cloud Run e o opere: verificações de integridade, rotação de segredos, atualizações e segurança.7> Registre o gateway com seu IdP, crie o contêiner, implante no Kubernetes ou Cloud Run e o opere: verificações de integridade, rotação de segredos, atualizações e segurança.

8 8 

9<Info>

10 **Planeje primeiro a rede do seu gateway.** No login, Claude Code recusa um gateway de aplicativos Claude cujo nome de host seja resolvido para um endereço IP público, mesmo um que a internet não consiga alcançar.

11 

12 Um gateway de aplicativos Claude pode enviar configurações para as máquinas dos usuários, incluindo hooks que executam comandos de shell. A verificação ajuda a evitar que os usuários façam login acidentalmente em um gateway malicioso na internet pública. Mantenha também o seu próprio gateway fora da internet.

13 

14 Escolha o endereço do gateway antes de escolher onde ele será executado. Geralmente, é um endereço privado que os usuários acessam na sua rede interna ou por meio de uma VPN. Se sua rede interna usa intervalos IPv4 públicos, você pode listar um intervalo que contenha tanto o gateway quanto as máquinas dos seus usuários. Claude Code interpreta essa correspondência como um sinal de que o gateway está na sua rede interna. Consulte [Escolher um endereço para o gateway](#choose-an-address-for-the-gateway). Se nenhuma das opções se adequar à sua rede, entre em contato com a equipe de conta da Anthropic.

15</Info>

16 

9Esta página cobre o lado operacional da execução do [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway): registrar um cliente OAuth em seu provedor de identidade (IdP), implantar o gateway como um contêiner e executá-lo no dia a dia. Para cada opção no arquivo `gateway.yaml` que o gateway lê na inicialização, consulte a [Referência de configuração](/docs/pt/claude-apps-gateway-config).17Esta página cobre o lado operacional da execução do [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway): registrar um cliente OAuth em seu provedor de identidade (IdP), implantar o gateway como um contêiner e executá-lo no dia a dia. Para cada opção no arquivo `gateway.yaml` que o gateway lê na inicialização, consulte a [Referência de configuração](/docs/pt/claude-apps-gateway-config).

10 18 

11Uma implantação em produção segue quatro etapas em ordem, e as seções abaixo as correspondem. As duas primeiras são onde você faz escolhas; as duas últimas são material de referência para consultar quando estiver em execução.19Uma implantação em produção segue quatro etapas em ordem, e as seções abaixo as correspondem. As duas primeiras são onde você faz escolhas; as duas últimas são material de referência para consultar quando estiver em execução.


17 25 

18Se uma entrada ou inicialização falhar no caminho, vá direto para [Solução de problemas](#troubleshooting), que é indexada no erro que você vê.26Se uma entrada ou inicialização falhar no caminho, vá direto para [Solução de problemas](#troubleshooting), que é indexada no erro que você vê.

19 27 

20<Note>

21 **Implante em sua rede privada.** Claude Code apenas se conecta a um gateway cujo endereço é privado. Esta é uma proteção de segurança, porque um gateway confiável pode enviar configurações que executam comandos em máquinas de desenvolvedor. Coloque o gateway que você implanta atrás de um balanceador de carga interno ou VPN e dê a ele um nome de host que seja resolvido apenas para IPs privados. Se sua rede interna for numerada a partir do espaço IPv4 público que sua organização possui, consulte [Permitir um gateway em espaço de endereço público que você possui](/docs/pt/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own).

22</Note>

23 

24<h2 id="identity-provider-setup">28<h2 id="identity-provider-setup">

25 Configuração do provedor de identidade29 Configuração do provedor de identidade

26</h2>30</h2>


51 Implantação55 Implantação

52</h2>56</h2>

53 57 

54O gateway é um único binário Linux sem estado que se coordena através do Postgres, então implante-o da forma como você implanta qualquer outro serviço sem estado em seu ambiente. Mantenha-o dentro de sua rede, onde seus desenvolvedores e IdP possam alcançá-lo via HTTPS, e trate-o como qualquer serviço que mantém uma credencial de produção.58O gateway é um único binário Linux sem estado que se coordena através do Postgres, então implante-o da forma como você implanta qualquer outro serviço sem estado em seu ambiente. Mantenha-o dentro de sua rede, onde seus desenvolvedores possam alcançá-lo via HTTPS e ele possa alcançar seu IdP, e trate-o como qualquer serviço que mantém uma credencial de produção.

55 59 

56Algumas decisões moldam a implantação além de onde ela é executada:60Algumas decisões moldam a implantação além de onde ela é executada:

57 61 


71 75 

72Um padrão como os 60 segundos do ALB é suficiente para manter um stream silencioso aberto. O [exemplo trabalhado do AWS](/docs/pt/claude-apps-gateway-on-aws#troubleshooting) o aumenta para uma hora de qualquer forma, e sua linha de troubleshooting cobre gateways mais antigos que v2.1.229, que não enviavam nada durante períodos silenciosos nos upstreams que agora recebem pings.76Um padrão como os 60 segundos do ALB é suficiente para manter um stream silencioso aberto. O [exemplo trabalhado do AWS](/docs/pt/claude-apps-gateway-on-aws#troubleshooting) o aumenta para uma hora de qualquer forma, e sua linha de troubleshooting cobre gateways mais antigos que v2.1.229, que não enviavam nada durante períodos silenciosos nos upstreams que agora recebem pings.

73 77 

78<h3 id="choose-an-address-for-the-gateway">

79 Escolha um endereço para o gateway

80</h3>

81 

82Claude Code aceita o endereço de um gateway de uma de duas formas:

83 

84* **Endereço privado**: coloque o gateway atrás de um balanceador de carga interno ou VPN, com um nome de host que resolva apenas para endereços privados, como RFC 1918 ou CGNAT `100.64.0.0/10`. As máquinas dos usuários podem estar em qualquer endereço. O [pré-requisito de rede privada](/docs/pt/claude-apps-gateway#prerequisites) lista os intervalos aceitos.

85* **Bloco declarado**: se sua rede interna usa espaço IPv4 público de propriedade da sua organização, liste o bloco na configuração gerenciada `gatewayInternalNetworks`. O gateway e a máquina do usuário devem estar ambos nesse bloco. Consulte [Permitir um gateway em espaço de endereço público de sua propriedade](/docs/pt/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own).

86 

87Se nenhum bloco único contiver ambos, dê ao gateway um endereço privado.

88 

74<h3 id="container-image">89<h3 id="container-image">

75 Imagem de contêiner90 Imagem de contêiner

76</h3>91</h3>


375 Solução de problemas390 Solução de problemas

376</h2>391</h2>

377 392 

378Para dúvidas e feedback, use o [suporte do Claude Code](https://support.claude.com/en/collections/14445694-claude-code), ou abra uma issue no [repositório do Claude Code no GitHub](https://github.com/anthropics/claude-code/issues). Ao relatar um problema, inclua:393Para dúvidas e feedback, use o [suporte do Claude Code](https://support.claude.com/en/collections/14445694-claude-code), ou abra uma issue no [repositório do Claude Code no GitHub](https://github.com/anthropics/claude-code/issues). Você também pode entrar em contato com a equipe da sua conta Anthropic. Ao relatar um problema, inclua:

379 394 

380* **Problema no gateway**: o stderr do gateway para a janela relevante, seu `gateway.yaml` com segredos removidos, a versão do gateway, mostrada na página inicial em `/` e no cabeçalho de resposta `x-cc-gateway-version` em `/managed/settings`, e o que mudou recentemente395* **Problema no gateway**: o stderr do gateway para a janela relevante, seu `gateway.yaml` com segredos removidos, a versão do gateway, mostrada na página inicial em `/` e no cabeçalho de resposta `x-cc-gateway-version` em `/managed/settings`, e o que mudou recentemente

381* **Problema de login**: o desenvolvedor executa `claude --debug-file ./claude-debug.txt`, reproduz, e envia esse arquivo mais o log de auditoria do gateway para a mesma janela396* **Problema de login**: o desenvolvedor executa `claude --debug-file ./claude-debug.txt`, reproduz, e envia esse arquivo mais o log de auditoria do gateway para a mesma janela


394| CLI `/login`: `The gateway is limiting sign-in attempts right now`, ou `Request failed with status code 429` em versões mais antigas. A página `/device` pode mostrar `Too many attempts` para desenvolvedores que não tentaram antes | O rate limit de login por IP foi atingido. Ou `listen.trusted_proxies` não cobre o balanceador de carga, então cada desenvolvedor compartilha seu endereço, ou muitos desenvolvedores compartilham um endereço de saída NAT ou VPN. Eventos de auditoria com `result: rate_limited` mostram o mesmo um ou poucos valores `client_ip`. | Defina `listen.trusted_proxies` para os intervalos de origem do balanceador de carga primeiro, depois aumente `rate_limits` se desenvolvedores ainda compartilharem endereços. Veja [Large rollouts](#large-rollouts). |409| CLI `/login`: `The gateway is limiting sign-in attempts right now`, ou `Request failed with status code 429` em versões mais antigas. A página `/device` pode mostrar `Too many attempts` para desenvolvedores que não tentaram antes | O rate limit de login por IP foi atingido. Ou `listen.trusted_proxies` não cobre o balanceador de carga, então cada desenvolvedor compartilha seu endereço, ou muitos desenvolvedores compartilham um endereço de saída NAT ou VPN. Eventos de auditoria com `result: rate_limited` mostram o mesmo um ou poucos valores `client_ip`. | Defina `listen.trusted_proxies` para os intervalos de origem do balanceador de carga primeiro, depois aumente `rate_limits` se desenvolvedores ainda compartilharem endereços. Veja [Large rollouts](#large-rollouts). |

395| CLI `/login`: `Gateway hosts must be on your organization's private network; <host> resolves to the public (or unrecognized) address <ip>` | O nome do host do gateway resolve para pelo menos um endereço IP público. Claude Code verifica cada endereço resolvido e requer que todos sejam privados. Uma causa comum é um nome dual-stack onde uma família resolve para um endereço público, incluindo balanceadores de carga dual-stack internos da AWS, que retornam endereços AAAA de intervalo público. | Faça com que o nome do gateway resolva apenas para endereços privados nas máquinas dos desenvolvedores. Para um nome dual-stack, remova o registro de intervalo público ou sirva um nome DNS separado apenas para interno. Veja o [pré-requisito de rede privada](/docs/pt/claude-apps-gateway#prerequisites). Se o endereço é espaço público que sua organização possui e usa internamente, [declare esse bloco](/docs/pt/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) em vez disso. |410| CLI `/login`: `Gateway hosts must be on your organization's private network; <host> resolves to the public (or unrecognized) address <ip>` | O nome do host do gateway resolve para pelo menos um endereço IP público. Claude Code verifica cada endereço resolvido e requer que todos sejam privados. Uma causa comum é um nome dual-stack onde uma família resolve para um endereço público, incluindo balanceadores de carga dual-stack internos da AWS, que retornam endereços AAAA de intervalo público. | Faça com que o nome do gateway resolva apenas para endereços privados nas máquinas dos desenvolvedores. Para um nome dual-stack, remova o registro de intervalo público ou sirva um nome DNS separado apenas para interno. Veja o [pré-requisito de rede privada](/docs/pt/claude-apps-gateway#prerequisites). Se o endereço é espaço público que sua organização possui e usa internamente, [declare esse bloco](/docs/pt/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) em vez disso. |

396| CLI `/login`: `Gateway login would go through proxy <proxy>, which is not on a private network` | Um `HTTPS_PROXY` ou `HTTP_PROXY` se aplica ao host do gateway e o nome do host do proxy resolve para um endereço público. Um proxy cujo host resolve apenas para endereços privados é permitido e não dispara esse erro | Adicione o host do gateway a `NO_PROXY` na máquina do desenvolvedor para que a conexão seja direta, ou use um proxy cujo nome do host resolve para endereços privados. A mensagem nomeia a entrada exata `NO_PROXY` a adicionar |411| CLI `/login`: `Gateway login would go through proxy <proxy>, which is not on a private network` | Um `HTTPS_PROXY` ou `HTTP_PROXY` se aplica ao host do gateway e o nome do host do proxy resolve para um endereço público. Um proxy cujo host resolve apenas para endereços privados é permitido e não dispara esse erro | Adicione o host do gateway a `NO_PROXY` na máquina do desenvolvedor para que a conexão seja direta, ou use um proxy cujo nome do host resolve para endereços privados. A mensagem nomeia a entrada exata `NO_PROXY` a adicionar |

397| CLI `/login`: `Claude Code only signs in to <host> from inside its declared network <block> (managed settings), and this machine is connecting from <ip>, outside it` | O gateway está em um bloco declarado em [`gatewayInternalNetworks`](/docs/pt/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own), e a máquina do desenvolvedor o alcançou de um endereço fora desse bloco: um pool de endereços VPN, um segmento NAT de container ou WSL2, ou uma rede que não é sua | Peça ao desenvolvedor para executar `/login` do SO host em sua rede. Se o endereço mostrado também é espaço público da sua organização, substitua a entrada do gateway por um bloco que cubra ambos, até `/8`; uma segunda entrada sobreposta é recusada |412| CLI `/login`: `Claude Code only signs in to <host> from inside its declared network <block> (managed settings), and this machine is connecting from <ip>, outside it` | O gateway está em um bloco declarado em [`gatewayInternalNetworks`](/docs/pt/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own), e a máquina do desenvolvedor o alcançou de um endereço fora desse bloco: um pool de endereços VPN, um segmento NAT de container ou WSL2, ou uma rede que não é sua | Peça ao desenvolvedor para executar `/login` do SO host em sua rede. Se o endereço mostrado também é espaço público da sua organização, substitua a entrada do gateway por um bloco que cubra ambos, até `/8`; uma segunda entrada sobreposta é recusada. Se nenhum bloco cobrir ambos, veja [Escolher um endereço para o gateway](#choose-an-address-for-the-gateway) |

398| CLI `/login`: `Every address for gateway host <host> must be inside its declared network <block>, and it also resolves to <ip>` | O nome do gateway resolve para um endereço fora do bloco declarado em [`gatewayInternalNetworks`](/docs/pt/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own): um segundo site, ou um registro IPv6 em um nome dual-stack. Sob um bloco declarado, cada registro deve estar dentro desse único bloco IPv4, endereços privados e IPv6 inclusos | Publique apenas registros dentro do bloco para o nome do gateway nas máquinas dos desenvolvedores, ou sirva um nome separado apenas para interno |413| CLI `/login`: `Every address for gateway host <host> must be inside its declared network <block>, and it also resolves to <ip>` | O nome do gateway resolve para um endereço fora do bloco declarado em [`gatewayInternalNetworks`](/docs/pt/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own): um segundo site, ou um registro IPv6 em um nome dual-stack. Sob um bloco declarado, cada registro deve estar dentro desse único bloco IPv4, endereços privados e IPv6 inclusos | Publique apenas registros dentro do bloco para o nome do gateway nas máquinas dos desenvolvedores, ou sirva um nome separado apenas para interno |

399| CLI `/login`: `<host> is on the declared network <block>, which Claude Code checks over a direct connection, not through an HTTP proxy` | Um `HTTPS_PROXY` ou `HTTP_PROXY` se aplica a um gateway em um bloco declarado | Na máquina do desenvolvedor, adicione a entrada `NO_PROXY` que a mensagem nomeia |414| CLI `/login`: `<host> is on the declared network <block>, which Claude Code checks over a direct connection, not through an HTTP proxy` | Um `HTTPS_PROXY` ou `HTTP_PROXY` se aplica a um gateway em um bloco declarado | Na máquina do desenvolvedor, adicione a entrada `NO_PROXY` que a mensagem nomeia |

400| CLI `/login`: uma mensagem começando `gatewayInternalNetworks in managed settings` | O valor quebra uma das [regras de validação](/docs/pt/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own), e a mensagem nomeia qual. Até você corrigir, Claude Code recusa cada novo `/login` de gateway na máquina, gateways em endereços privados inclusos; logins existentes continuam funcionando | Na fonte de configurações gerenciadas que você implanta, corrija a entrada que a mensagem nomeia, depois execute `/login` novamente |415| CLI `/login`: uma mensagem começando `gatewayInternalNetworks in managed settings` | O valor quebra uma das [regras de validação](/docs/pt/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own), e a mensagem nomeia qual. Até você corrigir, Claude Code recusa cada novo `/login` de gateway na máquina, gateways em endereços privados inclusos; logins existentes continuam funcionando | Na fonte de configurações gerenciadas que você implanta, corrija a entrada que a mensagem nomeia, depois execute `/login` novamente |

Details

10 As sessões em nuvem estão disponíveis nos planos Pro, Max e Team, e para usuários Enterprise com assentos premium ou assentos Chat + Claude Code.10 As sessões em nuvem estão disponíveis nos planos Pro, Max e Team, e para usuários Enterprise com assentos premium ou assentos Chat + Claude Code.

11</Note>11</Note>

12 12 

13Uma sessão em nuvem é uma sessão Claude Code que é executada em infraestrutura em nuvem em vez de em sua máquina. Por padrão, ela é executada em infraestrutura que a Anthropic gerencia, ou no [ambiente auto-hospedado](/docs/pt/self-hosted-environments) da sua organização quando roteada para lá. A sessão continua em execução depois que você fecha seu laptop, e você pode verificá-la ou direcioná-la a partir de qualquer dispositivo.13Uma sessão na nuvem é uma sessão Claude Code que é executada em infraestrutura em nuvem em vez de em sua máquina. Por padrão, ela é executada em infraestrutura que a Anthropic gerencia, ou no [ambiente auto-hospedado](/docs/pt/self-hosted-environments) da sua organização quando roteada para lá. A sessão continua em execução depois que você fecha seu laptop, e você pode verificá-la ou direcioná-la a partir de qualquer dispositivo. Ela conta para os limites de uso do seu plano junto com o restante do seu uso do Claude e do Claude Code, e não há cobrança separada pela VM na nuvem.

14 14 

15Para permitir que as sessões na nuvem clonem seu código do GitHub e enviem branches, conecte o GitHub com um dos [métodos de conexão do GitHub](#github-authentication-options). Se o seu repositório estiver no GitLab, Bitbucket ou outro host, consulte [Restrições de plataforma](#limitations) para saber o que funciona.15Para permitir que as sessões na nuvem clonem seu código do GitHub e enviem branches, conecte o GitHub com um dos [métodos de conexão do GitHub](#github-authentication-options). Se o seu repositório estiver no GitLab, Bitbucket ou outro host, consulte [Restrições de plataforma](#limitations) para saber o que funciona.

16 16 


416* **Máquinas virtuais isoladas**: cada sessão é executada em uma VM isolada gerenciada pela Anthropic. As sessões que sua organização roteia para um [ambiente auto-hospedado](/docs/pt/self-hosted-environments) são executadas em sua própria infraestrutura em vez disso, onde o isolamento é responsabilidade de sua implantação416* **Máquinas virtuais isoladas**: cada sessão é executada em uma VM isolada gerenciada pela Anthropic. As sessões que sua organização roteia para um [ambiente auto-hospedado](/docs/pt/self-hosted-environments) são executadas em sua própria infraestrutura em vez disso, onde o isolamento é responsabilidade de sua implantação

417* <span id="default-allowed-domains" />**Controles de acesso à rede**: em ambientes hospedados pela Anthropic, o acesso à rede é limitado por padrão e pode ser desabilitado. Veja [Acesso à rede](/docs/pt/cloud-environments#network-access) para os níveis de acesso, os [domínios padrão permitidos](/docs/pt/cloud-environments#default-allowed-domains) e o tráfego que não passa pela lista de permissões. Em um ambiente auto-hospedado, você restringe a saída da sessão em seu próprio limite de rede. Ao executar com acesso à rede desabilitado, Claude Code ainda pode se comunicar com a API Anthropic, o que pode permitir que dados saiam da VM.417* <span id="default-allowed-domains" />**Controles de acesso à rede**: em ambientes hospedados pela Anthropic, o acesso à rede é limitado por padrão e pode ser desabilitado. Veja [Acesso à rede](/docs/pt/cloud-environments#network-access) para os níveis de acesso, os [domínios padrão permitidos](/docs/pt/cloud-environments#default-allowed-domains) e o tráfego que não passa pela lista de permissões. Em um ambiente auto-hospedado, você restringe a saída da sessão em seu próprio limite de rede. Ao executar com acesso à rede desabilitado, Claude Code ainda pode se comunicar com a API Anthropic, o que pode permitir que dados saiam da VM.

418* **Proteção de credenciais**: em ambientes hospedados pela Anthropic, credenciais git e chaves de assinatura ficam fora da sandbox, e um proxy autentica em nome da sessão com credenciais com escopo. Em um ambiente auto-hospedado, sua implantação fornece credenciais git; veja [Configure git](/docs/pt/self-hosted-environments-deploy#configure-git)418* **Proteção de credenciais**: em ambientes hospedados pela Anthropic, credenciais git e chaves de assinatura ficam fora da sandbox, e um proxy autentica em nome da sessão com credenciais com escopo. Em um ambiente auto-hospedado, sua implantação fornece credenciais git; veja [Configure git](/docs/pt/self-hosted-environments-deploy#configure-git)

419* **Segredos de rede**: em ambientes hospedados pela Anthropic nos planos Pro e Max, chaves que você [adiciona a um ambiente em nuvem](/docs/pt/cloud-environments#add-api-credentials) ficam fora do sandbox da mesma forma, anexadas a requisições correspondentes depois que saem da sessão. Um ambiente auto-hospedado não tem segredos de rede, e os planos Team e Enterprise ainda não os têm419* **Segredos de rede**: em ambientes hospedados pela Anthropic nos planos Pro e Max, chaves que você [adiciona a um ambiente na nuvem](/docs/pt/cloud-environments#add-network-secrets) ficam fora do sandbox da mesma forma, anexadas a requisições correspondentes depois que saem da sessão. Um ambiente auto-hospedado não tem segredos de rede, e os planos Team e Enterprise ainda não os têm

420* **Análise segura**: o código é analisado e modificado dentro do ambiente isolado da sessão antes de criar PRs420* **Análise segura**: o código é analisado e modificado dentro do ambiente isolado da sessão antes de criar PRs

421 421 

422<h2 id="troubleshooting">422<h2 id="troubleshooting">


491 491 

492Antes de confiar em sessões em nuvem para um fluxo de trabalho, leve em conta essas restrições:492Antes de confiar em sessões em nuvem para um fluxo de trabalho, leve em conta essas restrições:

493 493 

494* **Limites de taxa**: sessões em nuvem compartilham limites de taxa com todo o outro uso de Claude e Claude Code dentro de sua conta. Executar múltiplas tarefas em paralelo consome mais limites de taxa proporcionalmente. Não há cobrança de computação separada para a VM em nuvem.494* **Rate limits**: sessões na nuvem compartilham rate limits com todo o outro uso de Claude e Claude Code dentro de sua conta. Executar múltiplas tarefas em paralelo consome mais rate limits proporcionalmente.

495* **Limites de tempo**: comandos que Claude executa e hooks SessionStart têm tempos limite padrão que você pode alterar, e um script de configuração é armazenado em cache apenas quando termina em aproximadamente cinco minutos. Veja [Limites de tempo](/docs/pt/cloud-environments#time-limits)495* **Limites de tempo**: comandos que Claude executa e hooks SessionStart têm tempos limite padrão que você pode alterar, e um script de configuração é armazenado em cache apenas quando termina em aproximadamente cinco minutos. Veja [Limites de tempo](/docs/pt/cloud-environments#time-limits)

496* **Autenticação de repositório**: você pode apenas mover uma sessão em nuvem para seu terminal quando está autenticado na mesma conta496* **Autenticação de repositório**: você pode apenas mover uma sessão em nuvem para seu terminal quando está autenticado na mesma conta

497* **Restrições de plataforma**: clonagem de repositório e criação de pull request requerem GitHub. Instâncias [GitHub Enterprise Server](/docs/pt/github-enterprise-server) auto-hospedadas são suportadas para planos Team e Enterprise. Você pode enviar um repositório GitLab, Bitbucket ou outro repositório não-GitHub para uma sessão em nuvem como um [pacote local](#send-local-repositories-without-github) definindo `CCR_FORCE_BUNDLE=1`, mas a sessão não pode enviar resultados de volta para esse remoto497* **Restrições de plataforma**: clonagem de repositório e criação de pull request requerem GitHub. Instâncias [GitHub Enterprise Server](/docs/pt/github-enterprise-server) auto-hospedadas são suportadas para planos Team e Enterprise. Você pode enviar um repositório GitLab, Bitbucket ou outro repositório não-GitHub para uma sessão em nuvem como um [pacote local](#send-local-repositories-without-github) definindo `CCR_FORCE_BUNDLE=1`, mas a sessão não pode enviar resultados de volta para esse remoto

Details

217 1. Configure credenciais AWS217 1. Configure credenciais AWS

218</h3>218</h3>

219 219 

220Claude Code suporta dois métodos de autenticação para Claude Platform on AWS. Escolha o método que se adequa à forma como sua equipe gerencia o acesso.220Claude Code suporta dois métodos de autenticação para Claude Platform on AWS. Escolha o método que se adequa à forma como sua equipe gerencia o acesso:

221 221 

222**Opção A: Credenciais AWS com SigV4**222* [Credenciais AWS com SigV4](#use-aws-credentials-with-sigv4): autentique-se como uma entidade principal IAM, com credenciais da cadeia de credenciais AWS padrão

223* [Chave de API do workspace](#use-a-workspace-api-key): autentique-se com uma chave de longa duração que você gera no Console AWS

224 

225<h4 id="use-aws-credentials-with-sigv4">

226 Usar credenciais AWS com SigV4

227</h4>

223 228 

224Claude Code assina solicitações com SigV4 usando a cadeia de credenciais AWS padrão: variáveis de ambiente, credenciais compartilhadas em `~/.aws/credentials`, funções IAM, sessões AWS SSO e qualquer outra fonte que o AWS SDK suporte.229Claude Code assina solicitações com SigV4 usando a cadeia de credenciais AWS padrão: variáveis de ambiente, credenciais compartilhadas em `~/.aws/credentials`, funções IAM, sessões AWS SSO e qualquer outra fonte que o AWS SDK suporte.

225 230 


244 249 

245Com `awsAuthRefresh` configurado, execute `/login`, selecione **plataforma de terceiros**, depois selecione **Claude Platform on AWS · atualizar credenciais** em **Usando plataformas de terceiros**. Claude Code executa o comando configurado e relê suas credenciais AWS sem uma reinicialização.250Com `awsAuthRefresh` configurado, execute `/login`, selecione **plataforma de terceiros**, depois selecione **Claude Platform on AWS · atualizar credenciais** em **Usando plataformas de terceiros**. Claude Code executa o comando configurado e relê suas credenciais AWS sem uma reinicialização.

246 251 

247**Opção B: Chave de API do Workspace**252<h4 id="use-a-workspace-api-key">

253 Usar uma chave de API do workspace

254</h4>

248 255 

249Uma chave de API do workspace é um segredo de longa duração, útil quando você não quer gerenciar credenciais AWS federadas. Gere uma no Console AWS em **Claude Platform on AWS → API keys** e defina-a como `ANTHROPIC_AWS_API_KEY`:256Uma chave de API do workspace é um segredo de longa duração, útil quando você não quer gerenciar credenciais AWS federadas. Gere uma no Console AWS em **Claude Platform on AWS → API keys** e defina-a como `ANTHROPIC_AWS_API_KEY`:

250 257 

Details

172 172 

173Antes de enviar a um novo projeto um lote de trabalho, configure-o para que as primeiras threads voltem da maneira que você quer:173Antes de enviar a um novo projeto um lote de trabalho, configure-o para que as primeiras threads voltem da maneira que você quer:

174 174 

1751. [Escrever instruções do projeto](#write-project-instructions): o resumo que cada thread começa, como qual branch direcionar, como uma thread verifica seu trabalho e o que precisa de sua aprovação.1751. [Escrever instruções do projeto](#write-project-instructions): o resumo a partir do qual cada thread começa, como qual branch direcionar, como uma thread verifica seu trabalho e o que precisa de sua aprovação.

1762. Envie uma pequena peça do trabalho real, ou inicie uma das threads que Claude sugeriu, se ele tiver oferecido alguma, e abra a thread quando terminar para ver como ela relata de volta e o que fez em seu branch. Se ela assumiu algo errado ou não conseguiu alcançar o que precisava, [Threads adivinharam ou travaram em vez de perguntar](#threads-guessed-or-stalled-instead-of-asking) cobre onde corrigir isso.1762. Envie uma pequena peça do trabalho real, ou inicie uma das threads que Claude sugeriu, se ele tiver oferecido alguma, e abra a thread quando terminar para ver como ela relata de volta e o que fez em seu branch. Se ela assumiu algo errado ou não conseguiu alcançar o que precisava, [Threads adivinharam ou travaram em vez de perguntar](#threads-guessed-or-stalled-instead-of-asking) cobre onde corrigir isso.

1773. Verifique **Thread model** e **Thread effort** em **Project settings > General**. Um novo projeto executa cada thread em Opus com alto esforço, que usa seu plano mais rapidamente; [Escolher modelos e deixar Claude gerenciar contexto](#choose-models-and-let-claude-manage-context) cobre as alternativas.1773. Verifique **Thread model** e **Thread effort** em **Project settings > General**. Um novo projeto executa cada thread em Opus com alto esforço, que usa seu plano mais rapidamente; [Escolher modelos e deixar Claude gerenciar contexto](#choose-models-and-let-claude-manage-context) cobre as alternativas.

1784. Peça a Claude para [propor threads antes de iniciá-las e executar algumas de cada vez](#tune-how-claude-runs-a-project), e solte esses limites uma vez que algumas threads voltem da maneira que você quer.1784. Peça a Claude para [propor threads antes de iniciá-las e executar algumas de cada vez](#tune-how-claude-runs-a-project), e solte esses limites uma vez que algumas threads voltem da maneira que você quer.


330 Escrever instruções do projeto330 Escrever instruções do projeto

331</h3>331</h3>

332 332 

333Instruções do projeto são o resumo que cada nova thread começa. Clique no ícone de engrenagem no cabeçalho do projeto para abrir **Project settings**, depois vá para **Memory > Project instructions**. Um resumo útil cobre:333Instruções do projeto são o resumo a partir do qual cada nova thread começa. Clique no ícone de engrenagem no cabeçalho do projeto para abrir **Project settings**, depois vá para **Memory > Project instructions**. Um resumo útil cobre:

334 334 

335* Para que serve o projeto335* Para que serve o projeto

336* Onde o trabalho acontece: quais repositórios, a partir de qual branch começar, como nomear pull requests336* Onde o trabalho acontece: quais repositórios, a partir de qual branch começar, como nomear pull requests


398 398 

399Cada nova thread em nuvem começa no [ambiente em nuvem](/docs/pt/cloud-environments) do projeto. O ambiente define quais domínios as threads podem alcançar, quais variáveis de ambiente elas têm, quais segredos de rede são adicionados a suas requisições e o que o script de configuração instala antes de Claude começar. As threads em nuvem usam um ambiente padrão hospedado pela Anthropic até que você escolha um em **Project settings > Environment**.399Cada nova thread em nuvem começa no [ambiente em nuvem](/docs/pt/cloud-environments) do projeto. O ambiente define quais domínios as threads podem alcançar, quais variáveis de ambiente elas têm, quais segredos de rede são adicionados a suas requisições e o que o script de configuração instala antes de Claude começar. As threads em nuvem usam um ambiente padrão hospedado pela Anthropic até que você escolha um em **Project settings > Environment**.

400 400 

401Se as threads em nuvem precisam alcançar uma API interna ou um registro de pacotes privado, ou precisam de um token que sua máquina normalmente mantém, mude o ambiente em vez do projeto: veja [Acesso à rede](/docs/pt/cloud-environments#network-access), [Adicionar segredos de rede](/docs/pt/cloud-environments#add-api-credentials) e [Scripts de configuração](/docs/pt/cloud-environments#setup-scripts).401Se as threads em nuvem precisam alcançar uma API interna ou um registro de pacotes privado, ou precisam de um token que sua máquina normalmente mantém, mude o ambiente em vez do projeto: veja [Acesso à rede](/docs/pt/cloud-environments#network-access), [Adicionar segredos de rede](/docs/pt/cloud-environments#add-network-secrets) e [Scripts de configuração](/docs/pt/cloud-environments#setup-scripts).

402 402 

403<h3 id="get-skills-plugins-connectors-and-tools-into-threads">403<h3 id="get-skills-plugins-connectors-and-tools-into-threads">

404 Obter skills, plugins, conectores e ferramentas em threads404 Obter skills, plugins, conectores e ferramentas em threads

Details

10 Ambientes na nuvem se aplicam a [sessões na nuvem](/docs/pt/claude-code-on-the-web), que estão disponíveis em planos Pro, Max e Team, e para usuários Enterprise com [assentos premium ou assentos Chat + Claude Code](https://support.claude.com/en/articles/11845131-use-claude-code-with-your-team-or-enterprise-plan).10 Ambientes na nuvem se aplicam a [sessões na nuvem](/docs/pt/claude-code-on-the-web), que estão disponíveis em planos Pro, Max e Team, e para usuários Enterprise com [assentos premium ou assentos Chat + Claude Code](https://support.claude.com/en/articles/11845131-use-claude-code-with-your-team-or-enterprise-plan).

11</Note>11</Note>

12 12 

13Cada [sessão na nuvem](/docs/pt/claude-code-on-the-web) é executada em um ambiente na nuvem. Você pode configurar um ambiente para permitir ou negar [acesso à rede](#access-levels), [definir variáveis de ambiente](#set-environment-variables) para a sessão, em planos Pro e Max armazenar [segredos de rede](#add-api-credentials) que as sessões usam sem vê-los, e executar um [script de configuração](#setup-scripts) antes de Claude começar a trabalhar.13Cada [sessão na nuvem](/docs/pt/claude-code-on-the-web) é executada em um ambiente na nuvem. Você pode configurar um ambiente para permitir ou negar [acesso à rede](#access-levels), [definir variáveis de ambiente](#set-environment-variables) para a sessão, em planos Pro e Max armazenar [segredos de rede](#add-network-secrets) que as sessões usam sem vê-los, e executar um [script de configuração](#setup-scripts) antes de Claude começar a trabalhar.

14 14 

15Os mesmos ambientes se aplicam em qualquer lugar onde você inicie uma sessão na nuvem: o [aplicativo Desktop](/docs/pt/desktop), o [aplicativo móvel Claude](/docs/pt/mobile), seu navegador em [claude.ai/code](https://claude.ai/code), o terminal com [`claude --cloud`](/docs/pt/claude-code-on-the-web#from-terminal-to-cloud), [rotinas](/docs/pt/routines) e [Claude Tag](https://claude.com/docs/claude-tag/overview). Cada uma dessas superfícies também pode rotear para um [ambiente auto-hospedado](/docs/pt/self-hosted-environments). [Disponibilidade e limitações](/docs/pt/self-hosted-environments#availability-and-limitations) cobre o que Claude ainda não pode usar quando uma sessão do Claude Tag é executada em um.15Os mesmos ambientes se aplicam em qualquer lugar onde você inicie uma sessão na nuvem: o [aplicativo Desktop](/docs/pt/desktop), o [aplicativo móvel Claude](/docs/pt/mobile), seu navegador em [claude.ai/code](https://claude.ai/code), o terminal com [`claude --cloud`](/docs/pt/claude-code-on-the-web#from-terminal-to-cloud), [rotinas](/docs/pt/routines) e [Claude Tag](https://claude.com/docs/claude-tag/overview). Cada uma dessas superfícies também pode rotear para um [ambiente auto-hospedado](/docs/pt/self-hosted-environments). [Disponibilidade e limitações](/docs/pt/self-hosted-environments#availability-and-limitations) cobre o que Claude ainda não pode usar quando uma sessão do Claude Tag é executada em um.

16 16 


58 <Step title="Adicione ou edite um ambiente">58 <Step title="Adicione ou edite um ambiente">

59 Selecione **Cloud** para listar seus ambientes. Em seguida, selecione **Add cloud environment**, ou passe o mouse sobre um ambiente existente e selecione o ícone de configurações que aparece à direita.59 Selecione **Cloud** para listar seus ambientes. Em seguida, selecione **Add cloud environment**, ou passe o mouse sobre um ambiente existente e selecione o ícone de configurações que aparece à direita.

60 60 

61 O diálogo inclui o nome, nível de acesso à rede, variáveis de ambiente e script de configuração. Quando você edita um ambiente na nuvem existente em um plano Pro ou Max, o diálogo também inclui [segredos de rede](#add-api-credentials).61 O diálogo inclui o nome, nível de acesso à rede, variáveis de ambiente e script de configuração. Quando você edita um ambiente na nuvem existente em um plano Pro ou Max, o diálogo também inclui [segredos de rede](#add-network-secrets).

62 62 

63 <Frame>63 <Frame>

64 <img src="https://mintcdn.com/claude-code/ZFId6l95856c5LSw/images/cloud-environment-dialog.png?fit=max&auto=format&n=ZFId6l95856c5LSw&q=85&s=30d4478b31d1f879f7ee287ddab32505" alt="O diálogo New cloud environment. Um campo Name com o placeholder Default, um seletor Network access definido como Trusted com links para a política de rede e níveis de acesso, uma caixa Environment variables mostrando texto placeholder no formato .env com uma nota de que os valores são visíveis para qualquer pessoa que use o ambiente, uma caixa Setup script descrita como um script Bash que é executado quando uma nova sessão é iniciada antes do Claude Code ser lançado, e botões Cancel e Create environment." width="874" height="1372" data-path="images/cloud-environment-dialog.png" />64 <img src="https://mintcdn.com/claude-code/ZFId6l95856c5LSw/images/cloud-environment-dialog.png?fit=max&auto=format&n=ZFId6l95856c5LSw&q=85&s=30d4478b31d1f879f7ee287ddab32505" alt="O diálogo New cloud environment. Um campo Name com o placeholder Default, um seletor Network access definido como Trusted com links para a política de rede e níveis de acesso, uma caixa Environment variables mostrando texto placeholder no formato .env com uma nota de que os valores são visíveis para qualquer pessoa que use o ambiente, uma caixa Setup script descrita como um script Bash que é executado quando uma nova sessão é iniciada antes do Claude Code ser lançado, e botões Cancel e Create environment." width="874" height="1372" data-path="images/cloud-environment-dialog.png" />


91 91 

92Uma sessão na nuvem também define algumas variáveis em si mesma quando inicia. Para [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/docs/pt/claude-code-on-the-web#manage-context), o valor que a sessão define substitui um que você adiciona aqui, portanto adicionar essa chave aqui não tem efeito.92Uma sessão na nuvem também define algumas variáveis em si mesma quando inicia. Para [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/docs/pt/claude-code-on-the-web#manage-context), o valor que a sessão define substitui um que você adiciona aqui, portanto adicionar essa chave aqui não tem efeito.

93 93 

94Qualquer pessoa que use o ambiente pode ler os valores. Em planos Pro e Max, use um [segredo de rede](#add-api-credentials) em vez disso para uma chave que o proxy do agente pode anexar a uma requisição. As [requisições que nunca recebem um segredo](#requests-that-never-get-the-credential) estão listadas lá.94Qualquer pessoa que use o ambiente pode ler os valores. Em planos Pro e Max, use um [segredo de rede](#add-network-secrets) em vez disso para uma chave que o proxy do agente pode anexar a uma requisição. As [requisições que nunca recebem um segredo](#requests-that-never-get-the-credential) estão listadas lá.

95 95 

96<h3 id="add-api-credentials">96<span id="add-api-credentials" />

97 

98<h3 id="add-network-secrets">

97 Adicione segredos de rede99 Adicione segredos de rede

98</h3>100</h3>

99 101 


197 199 

198Os Proprietários escolhem o [ambiente padrão](#the-default-environment) da organização separadamente, em [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code).200Os Proprietários escolhem o [ambiente padrão](#the-default-environment) da organização separadamente, em [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code).

199 201 

200Cada sessão de membro em um ambiente compartilhado lê suas variáveis, portanto não inclua segredos nelas. [Segredos de rede](#add-api-credentials), que dão às sessões uma chave que elas não podem ler, ainda não estão disponíveis em planos Team ou Enterprise.202Cada sessão de membro em um ambiente compartilhado lê suas variáveis, portanto não inclua segredos nelas. [Segredos de rede](#add-network-secrets), que dão às sessões uma chave que elas não podem ler, ainda não estão disponíveis em planos Team ou Enterprise.

201 203 

202<h3 id="set-the-environment-a-claude-tag-channel-uses">204<h3 id="set-the-environment-a-claude-tag-channel-uses">

203 Defina o ambiente que um canal do Claude Tag usa205 Defina o ambiente que um canal do Claude Tag usa


239 241 

240* GitHub, através de seu [proxy separado](#github-proxy)242* GitHub, através de seu [proxy separado](#github-proxy)

241* [Conectores MCP](#network-access) que você ativa, cujo tráfego viaja através dos servidores da Anthropic243* [Conectores MCP](#network-access) que você ativa, cujo tráfego viaja através dos servidores da Anthropic

242* Os hosts que você listou nos [segredos de rede](#add-api-credentials) do ambiente, exceto os [hosts que nunca recebem o segredo](#requests-that-never-get-the-credential)244* Os hosts que você listou nos [segredos de rede](#add-network-secrets) do ambiente, exceto os [hosts que nunca recebem o segredo](#requests-that-never-get-the-credential)

243* A API Anthropic, para as próprias solicitações do Claude Code, até mesmo em **None**, conforme observado em [Segurança e isolamento](/docs/pt/claude-code-on-the-web#security-and-isolation)245* A API Anthropic, para as próprias solicitações do Claude Code, até mesmo em **None**, conforme observado em [Segurança e isolamento](/docs/pt/claude-code-on-the-web#security-and-isolation)

244 246 

245<h3 id="allow-specific-domains">247<h3 id="allow-specific-domains">


254registry.example.com256registry.example.com

255```257```

256 258 

257As sessões neste ambiente agora podem alcançar `api.example.com`, qualquer subdomínio de `internal.example.com` e `registry.example.com`, e nenhum outro domínio através da rede da sessão. [Tráfego do GitHub](#github-proxy), [tráfego do conector MCP](#network-access) e requisições para os hosts dos [segredos de rede](#add-api-credentials) do ambiente, exceto os [hosts que nunca recebem o segredo](#requests-that-never-get-the-credential), não passam por essa allowlist. Um `*.` inicial corresponde a cada subdomínio. Para manter também os [domínios Trusted](#default-allowed-domains), marque **Also include default list of common package managers**; deixe desmarcado para permitir apenas o que você listar.259As sessões neste ambiente agora podem alcançar `api.example.com`, qualquer subdomínio de `internal.example.com` e `registry.example.com`, e nenhum outro domínio através da rede da sessão. [Tráfego do GitHub](#github-proxy), [tráfego do conector MCP](#network-access) e requisições para os hosts dos [segredos de rede](#add-network-secrets) do ambiente, exceto os [hosts que nunca recebem o segredo](#requests-that-never-get-the-credential), não passam por essa allowlist. Um `*.` inicial corresponde a cada subdomínio. Para manter também os [domínios Trusted](#default-allowed-domains), marque **Also include default list of common package managers**; deixe desmarcado para permitir apenas o que você listar.

258 260 

259Se sua organização usa [artefatos](/docs/pt/artifacts#availability), você não precisa de `*.frame.claudeusercontent.com` na lista para as sessões lerem. Quando a lista deixa esse host de fora, Claude Code lê o conteúdo do artefato através da conexão da sessão com a Anthropic em vez disso. Mantenha o host em uma lista de permissões em duas situações:261Se sua organização usa [artefatos](/docs/pt/artifacts#availability), você não precisa de `*.frame.claudeusercontent.com` na lista para as sessões lerem. Quando a lista deixa esse host de fora, Claude Code lê o conteúdo do artefato através da conexão da sessão com a Anthropic em vez disso. Mantenha o host em uma lista de permissões em duas situações:

260 262 


316| Plugins ativados apenas em suas configurações de usuário | Não | O `enabledPlugins` com escopo de usuário vive em `~/.claude/settings.json` em sua máquina |318| Plugins ativados apenas em suas configurações de usuário | Não | O `enabledPlugins` com escopo de usuário vive em `~/.claude/settings.json` em sua máquina |

317| Servidores MCP que você adicionou com `claude mcp add` no escopo local padrão ou no escopo de usuário | Não | Aqueles escrevem em `~/.claude.json` em sua máquina, não no repositório. Adicione o servidor com `claude mcp add --scope project`, que escreve o [`.mcp.json`](/docs/pt/mcp#project-scope) do repositório, e faça commit desse arquivo. Uma sessão com um repositório o carrega |319| Servidores MCP que você adicionou com `claude mcp add` no escopo local padrão ou no escopo de usuário | Não | Aqueles escrevem em `~/.claude.json` em sua máquina, não no repositório. Adicione o servidor com `claude mcp add --scope project`, que escreve o [`.mcp.json`](/docs/pt/mcp#project-scope) do repositório, e faça commit desse arquivo. Uma sessão com um repositório o carrega |

318| Variáveis de transporte em seu bloco `env` `.claude/settings.json` do repositório, como `NODE_EXTRA_CA_CERTS` e as [variáveis de certificado de cliente mTLS](/docs/pt/network-config#mtls-authentication) | Não | O ambiente de hospedagem gerencia a conexão de API da sessão, portanto Claude Code ignora essas chaves e anota cada chave ignorada no log de depuração da sessão |320| Variáveis de transporte em seu bloco `env` `.claude/settings.json` do repositório, como `NODE_EXTRA_CA_CERTS` e as [variáveis de certificado de cliente mTLS](/docs/pt/network-config#mtls-authentication) | Não | O ambiente de hospedagem gerencia a conexão de API da sessão, portanto Claude Code ignora essas chaves e anota cada chave ignorada no log de depuração da sessão |

319| Chaves de API e tokens para serviços que Claude chama | Em planos Pro e Max, como [segredos de rede](#add-api-credentials) | Você adiciona a chave uma vez no ambiente e o proxy do agente a anexa às requisições para os hosts que você lista. Uma chave que o proxy do agente [não pode anexar](#requests-that-never-get-the-credential), ou qualquer chave em um plano Team ou Enterprise, fica em uma variável de ambiente |321| Chaves de API e tokens para serviços que Claude chama | Em planos Pro e Max, como [segredos de rede](#add-network-secrets) | Você adiciona a chave uma vez no ambiente e o proxy do agente a anexa às requisições para os hosts que você lista. Uma chave que o proxy do agente [não pode anexar](#requests-that-never-get-the-credential), ou qualquer chave em um plano Team ou Enterprise, fica em uma variável de ambiente |

320| Autenticação interativa como AWS SSO | Não | Não suportado. SSO requer login baseado em navegador que não pode ser executado em uma sessão na nuvem |322| Autenticação interativa como AWS SSO | Não | Não suportado. SSO requer login baseado em navegador que não pode ser executado em uma sessão na nuvem |

321 323 

322Para disponibilizar sua própria configuração em sessões na nuvem, faça commit dela no repositório.324Para disponibilizar sua própria configuração em sessões na nuvem, faça commit dela no repositório.

323 325 

324Qualquer pessoa que use o ambiente pode ler suas variáveis de ambiente e script de configuração. A nota do diálogo em **Environment variables** diz isso e avisa contra colocar segredos lá. Em planos Pro e Max, armazene uma chave que o proxy do agente pode anexar como um [segredo de rede](#add-api-credentials) em vez disso.326Qualquer pessoa que use o ambiente pode ler suas variáveis de ambiente e script de configuração. A nota do diálogo em **Environment variables** diz isso e avisa contra colocar segredos lá. Em planos Pro e Max, armazene uma chave que o proxy do agente pode anexar como um [segredo de rede](#add-network-secrets) em vez disso.

325 327 

326<h4 id="add-personal-preferences-without-committing-to-the-repo">328<h4 id="add-personal-preferences-without-committing-to-the-repo">

327 Adicione preferências pessoais sem fazer commit no repositório329 Adicione preferências pessoais sem fazer commit no repositório

commands.md +1 −1

Details

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

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` |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 em segundo plano](/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 |

Details

391 Explain the logic in @src/utils/auth.js391 Explain the logic in @src/utils/auth.js

392 ```392 ```

393 393 

394 Isso inclui o conteúdo completo do arquivo na conversa.394 Isso inclui o conteúdo do arquivo na conversa quando ele cabe no limite de tokens da [ferramenta Read](/docs/pt/tools-reference#read-tool-behavior), 25.000 tokens por padrão. Um arquivo de texto maior que 256KB não é incluído.

395 </Step>395 </Step>

396 396 

397 <Step title="Referencie um diretório">397 <Step title="Referencie um diretório">


446 Pergunte ao Claude sobre suas capacidades446 Pergunte ao Claude sobre suas capacidades

447</h3>447</h3>

448 448 

449Claude tem acesso integrado à sua documentação e pode responder perguntas sobre seus próprios recursos e limitações.449Claude pode responder perguntas sobre seus próprios recursos e limitações. Ele busca as respostas na documentação atual do Claude Code, então elas não se limitam à versão que você está executando.

450 450 

451<h4 id="example-questions">451<h4 id="example-questions">

452 Perguntas de exemplo452 Perguntas de exemplo


483<Tip>483<Tip>

484 Dicas:484 Dicas:

485 485 

486 * Claude sempre tem acesso à documentação mais recente do Claude Code, independentemente da versão que você está usando

487 * Faça perguntas específicas para obter respostas detalhadas486 * Faça perguntas específicas para obter respostas detalhadas

488 * Claude pode explicar recursos complexos como integração MCP, configurações empresariais e fluxos de trabalho avançados487 * Claude pode explicar recursos complexos como integração MCP, configurações empresariais e fluxos de trabalho avançados

489</Tip>488</Tip>

Details

1634 1634 

1635Se você precisar de uma janela maior em vez de uma conversa menor, modelos Fable, Sonnet 5 e posteriores, Haiku 5.5, Opus 4.6 e posteriores, e Sonnet 4.6 suportam uma janela de contexto de 1 milhão de tokens. Veja [Extended context](/docs/pt/model-config#extended-context) para disponibilidade por plano e como selecionar uma variante de modelo `[1m]`. A compactação funciona da mesma forma no limite maior.1635Se você precisar de uma janela maior em vez de uma conversa menor, modelos Fable, Sonnet 5 e posteriores, Haiku 5.5, Opus 4.6 e posteriores, e Sonnet 4.6 suportam uma janela de contexto de 1 milhão de tokens. Veja [Extended context](/docs/pt/model-config#extended-context) para disponibilidade por plano e como selecionar uma variante de modelo `[1m]`. A compactação funciona da mesma forma no limite maior.

1636 1636 

1637Sonnet 5.5 e Sonnet 5 são executados com a janela de contexto de 1M e não têm variante `[1m]` para selecionar. Veja [Sonnet 5.5 and Sonnet 5 context window](/docs/pt/model-config#sonnet-5-5-and-sonnet-5-context-window) para seus limites de auto-compactação, e [the context window behind a gateway](/docs/pt/model-config#context-window-behind-a-gateway) para como Claude Code dimensiona a janela quando você define `ANTHROPIC_BASE_URL` para um [LLM gateway](/docs/pt/llm-gateway).

1638 

1639O ponto em que a compactação automática é executada depende do seu modelo e configuração. Veja [Default auto-compact thresholds](/docs/pt/model-config#default-auto-compact-thresholds) para os limites por modelo, e [Correct the window for a gateway or custom model ID](/docs/pt/model-config#correct-the-window-for-a-gateway-or-custom-model-id) se Claude Code assumir a janela errada para seu ID de modelo, como um alias de [LLM gateway](/docs/pt/llm-gateway).1637O ponto em que a compactação automática é executada depende do seu modelo e configuração. Veja [Default auto-compact thresholds](/docs/pt/model-config#default-auto-compact-thresholds) para os limites por modelo, e [Correct the window for a gateway or custom model ID](/docs/pt/model-config#correct-the-window-for-a-gateway-or-custom-model-id) se Claude Code assumir a janela errada para seu ID de modelo, como um alias de [LLM gateway](/docs/pt/llm-gateway).

1640 1638 

1641<h2 id="check-your-own-session">1639<h2 id="check-your-own-session">

Details

128* **Alcance `exec` dentro de cerca de três segundos cada vez que o launcher executa.** Uma expedição de fundo fria executa o launcher duas vezes em série antes do primeiro byte de saída, então faça trabalho lento como uma troca de single sign-on preguiçosamente ou a partir de um cache.128* **Alcance `exec` dentro de cerca de três segundos cada vez que o launcher executa.** Uma expedição de fundo fria executa o launcher duas vezes em série antes do primeiro byte de saída, então faça trabalho lento como uma troca de single sign-on preguiçosamente ou a partir de um cache.

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

130* **Não escreva no terminal antes de Claude Code iniciar.** Qualquer coisa impressa antes do `exec` é relatada como a causa do crash se a sessão morrer antes de inicializar.130* **Não escreva no terminal antes de Claude Code iniciar.** Qualquer coisa impressa antes do `exec` é relatada como a causa do crash se a sessão morrer antes de inicializar.

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

131 132 

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

133 Formato do valor do launcher134 Formato do valor do launcher

Details

85 Teste contra uma configuração limpa85 Teste contra uma configuração limpa

86</h2>86</h2>

87 87 

88Comece com [`claude --safe-mode`](/docs/pt/cli-reference#cli-flags), que inicia uma sessão com todas as personalizações desabilitadas, incluindo `CLAUDE.md`, skills, plugins, hooks, servidores MCP e comandos e agentes personalizados. Autenticação, seleção de modelo, ferramentas integradas e permissões funcionam normalmente. Se o problema desaparecer no modo seguro, uma dessas superfícies é a causa; use as verificações direcionadas acima para descobrir qual. O modo seguro ainda aplica hooks gerenciados e política de configurações da sua organização. Plugins gerenciados, skills, `CLAUDE.md` e servidores MCP são desativados.88Comece com [`claude --safe-mode`](/docs/pt/cli-reference#cli-flags), que inicia uma sessão com suas personalizações desabilitadas, incluindo:

89 

90* `CLAUDE.md`

91* Skills, plugins e hooks

92* Servidores MCP

93* Comandos e agentes personalizados

94* Estilos de saída personalizados

95* Atalhos de teclado personalizados

96 

97Autenticação, seleção de modelo, ferramentas integradas e permissões funcionam normalmente. Se o problema desaparecer no modo seguro, você reduziu a causa a um dos itens que desativou. Para encontrá-lo, use a verificação correspondente a esse item, como [Veja o que foi carregado no contexto](#see-what-loaded-into-context), [Verifique os servidores MCP](#check-mcp-servers) ou [Verifique os hooks](#check-hooks).

98 

99O modo seguro ainda aplica hooks gerenciados e política de configurações da sua organização. Plugins gerenciados, skills, `CLAUDE.md` e servidores MCP são desativados.

89 100 

90Se o problema persistir no modo seguro, ou suas configurações em si forem suspeitas, compare contra uma sessão que não carrega nada de sua configuração usual. Aponte [`CLAUDE_CONFIG_DIR`](/docs/pt/env-vars) para um diretório vazio para contornar tudo sob `~/.claude` e inicie a partir de um diretório que não tenha pasta `.claude`, `.mcp.json` ou `CLAUDE.md` para que a configuração do projeto também seja ignorada.101Se o problema persistir no modo seguro, ou suas configurações em si forem suspeitas, compare contra uma sessão que não carrega nada de sua configuração usual. Aponte [`CLAUDE_CONFIG_DIR`](/docs/pt/env-vars) para um diretório vazio para contornar tudo sob `~/.claude` e inicie a partir de um diretório que não tenha pasta `.claude`, `.mcp.json` ou `CLAUDE.md` para que a configuração do projeto também seja ignorada.

91 102 

desktop.md +69 −21

Details

67 67 

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

69 69 

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

71 Aceitar um prompt sugerido

72</h3>

73 

74Depois que Claude responde, a aba Code pode mostrar um próximo prompt sugerido como texto cinza na caixa de prompt vazia. Claude Code [gera cada sugestão](/docs/pt/interactive-mode#prompt-suggestions) a partir da sua conversa com uma breve requisição em segundo plano que conta para os limites de uso do seu plano ou para seus custos de API.

75 

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

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

78 

79Acesse **Settings > Claude Code** e desative **Prompt suggestions** em **Sessions** para interromper as sugestões em cada sessão a partir da próxima vez que ela for iniciada ou retomada.

80 

70<h3 id="add-files-and-context-to-prompts">81<h3 id="add-files-and-context-to-prompts">

71 Adicionar arquivos e contexto aos prompts82 Adicionar arquivos e contexto aos prompts

72</h3>83</h3>


89| **Manual** | `default` | Claude pergunta antes de editar arquivos ou executar comandos. Você vê um diff e pode aceitar ou rejeitar cada alteração. |100| **Manual** | `default` | Claude pergunta antes de editar arquivos ou executar comandos. Você vê um diff e pode aceitar ou rejeitar cada alteração. |

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

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

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

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

94 105 

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

96 107 

97O modo de permissão `dontAsk` está disponível apenas no [CLI](/docs/pt/permission-modes#allow-only-pre-approved-tools-with-dontask-mode).108O modo de permissão `dontAsk` está disponível apenas no [CLI](/docs/pt/permission-modes#allow-only-pre-approved-tools-with-dontask-mode).

98 109 

99<Tip title="Melhor prática">110<Tip title="Boas práticas">

100 Comece tarefas complexas em Plan para que Claude mapeie uma abordagem antes de fazer alterações. Depois de aprovar o plano, mude para Accept edits ou Manual para executá-lo. Veja [explorar primeiro, depois planejar, depois codificar](/docs/pt/best-practices#explore-first-then-plan-then-code) para mais sobre esse fluxo de trabalho.111 Comece tarefas complexas em Plan para que Claude mapeie uma abordagem antes de fazer alterações. Depois de aprovar o plano, mude para Accept edits ou Manual para executá-lo. Veja [explorar primeiro, depois planejar, depois codificar](/docs/pt/best-practices#explore-first-then-plan-then-code) para mais sobre esse fluxo de trabalho.

101</Tip>112</Tip>

102 113 


116 Visualizar seu aplicativo127 Visualizar seu aplicativo

117</h3>128</h3>

118 129 

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

120 131 

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

122 133 


141 152 

142Claude pode ler e interagir com páginas externas usando as mesmas ferramentas que usa para [verificar seu aplicativo](#preview-your-app), com duas verificações de segurança adicionais:153Claude pode ler e interagir com páginas externas usando as mesmas ferramentas que usa para [verificar seu aplicativo](#preview-your-app), com duas verificações de segurança adicionais:

143 154 

144* Classificadores de segurança revisam as ações de escrita de Claude em páginas externas, como clicar e digitar, em todos os modos de permissão. Estes são os mesmos classificadores que [auto mode](#choose-a-permission-mode) usa, e quando eles sinalizam uma ação, você recebe um prompt de permissão independentemente do modo.155* Classificadores de segurança revisam as ações de escrita de Claude em páginas externas, como clicar e digitar, em todos os modos de permissão. Estes são os mesmos classificadores que o [modo auto](#choose-a-permission-mode) usa, e quando eles sinalizam uma ação, você recebe um prompt de permissão independentemente do modo.

145* Em modos de permissão diferentes de Auto e Bypass permissions, uma verificação de lista de permissões de domínio também se aplica antes de Claude navegar para um novo site.156* Em modos de permissão diferentes de Auto e Bypass permissions, uma verificação de allowlist de domínio também se aplica antes de Claude navegar para um novo site.

146 157 

147<h4 id="approve-claude’s-actions-on-a-site">158<h4 id="approve-claude’s-actions-on-a-site">

148 Aprovar as ações de Claude em um site159 Aprovar as ações de Claude em um site


162 Restringir navegação externa para sua organização173 Restringir navegação externa para sua organização

163</h4>174</h4>

164 175 

165O painel de navegador segue os mesmos [controles de lista de permissões e bloqueio de site](https://support.claude.com/en/articles/13065128-claude-in-chrome-admin-controls) que a extensão Claude no Chrome. Se sua organização já configurou essas listas para a extensão, o painel de navegador as respeita automaticamente. Administradores também podem desativar as ferramentas de Claude em páginas externas com a configuração gerenciada [`browserExternalPageTools`](#managed-settings). Com ferramentas desativadas, os usuários ainda podem navegar para sites externos; as ferramentas de Claude não podem ler ou agir sobre eles.176O painel de navegador segue os mesmos [controles de allowlist e blocklist de sites](https://support.claude.com/en/articles/13065128-claude-in-chrome-admin-controls) que a extensão Claude no Chrome. Se sua organização já configurou essas listas para a extensão, o painel de navegador as respeita automaticamente. Administradores também podem desativar as ferramentas de Claude em páginas externas com a configuração gerenciada [`browserExternalPageTools`](#managed-settings). Com ferramentas desativadas, os usuários ainda podem navegar para sites externos; as ferramentas de Claude não podem ler ou agir sobre eles.

166 177 

167Para desativar a navegação externa completamente, defina a configuração gerenciada [`disableBrowserExternalNavigation`](#managed-settings) como `true`. Isso bloqueia toda navegação externa no painel de navegador, incluindo sites na lista de permissões de sua organização; servidores dev localhost e visualizações de arquivo continuam funcionando. Use `browserExternalPageTools` para permitir que os usuários continuem navegando em sites externos sem as ferramentas de Claude, e `disableBrowserExternalNavigation` para bloquear sites externos para usuários e Claude.178Para desativar a navegação externa completamente, defina a configuração gerenciada [`disableBrowserExternalNavigation`](#managed-settings) como `true`. Isso bloqueia toda navegação externa no painel de navegador, incluindo sites na allowlist de sua organização; servidores dev localhost e visualizações de arquivo continuam funcionando. Use `browserExternalPageTools` para permitir que os usuários continuem navegando em sites externos sem as ferramentas de Claude, e `disableBrowserExternalNavigation` para bloquear sites externos para usuários e Claude.

168 179 

169<h3 id="review-changes-with-diff-view">180<h3 id="review-changes-with-diff-view">

170 Revisar alterações com visualização de diff181 Revisar alterações com visualização de diff


231 Abrir e editar arquivos242 Abrir e editar arquivos

232</h3>243</h3>

233 244 

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

235 246 

236O painel de arquivo está disponível em sessões locais e SSH. Para sessões remotas, peça a Claude para fazer a alteração.247O painel de arquivo está disponível em sessões locais e SSH. Para sessões na nuvem, peça a Claude para fazer a alteração.

237 248 

238<h3 id="open-files-in-other-apps">249<h3 id="open-files-in-other-apps">

239 Abrir arquivos em outros aplicativos250 Abrir arquivos em outros aplicativos


255| Modo | O que mostra |266| Modo | O que mostra |

256| - | - |267| - | - |

257| **Normal** | Chamadas de ferramenta recolhidas em resumos, com respostas de texto completo |268| **Normal** | Chamadas de ferramenta recolhidas em resumos, com respostas de texto completo |

258| **Thinking** | Chamadas de ferramenta recolhidas em resumos, mais o thinking de Claude |269| **Thinking** | Chamadas de ferramenta recolhidas em resumos, mais o pensamento de Claude |

259| **Verbose** | Cada chamada de ferramenta, leitura de arquivo e passo intermediário que Claude toma, mais o thinking de Claude |270| **Verbose** | Cada chamada de ferramenta, leitura de arquivo e passo intermediário que Claude toma, mais o pensamento de Claude |

260 271 

261Use Thinking para seguir o raciocínio de Claude com chamadas de ferramenta ainda recolhidas. Use Verbose ao depurar por que Claude tomou uma ação particular. As versões do Claude Desktop anteriores a 1.46388.1 também listam um modo Summary, e uma sessão ainda definida para Summary abre em Normal assim que você atualiza.272Use Thinking para seguir o raciocínio de Claude com chamadas de ferramenta ainda recolhidas. Use Verbose ao depurar por que Claude tomou uma ação particular. As versões do Claude Desktop anteriores a 1.46388.1 também listam um modo Summary, e uma sessão ainda definida para Summary abre em Normal assim que você atualiza.

262 273 


274| `Ctrl` `Tab` / `Ctrl` `Shift` `Tab` | Próxima ou sessão anterior |285| `Ctrl` `Tab` / `Ctrl` `Shift` `Tab` | Próxima ou sessão anterior |

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

276| `Esc` | Parar resposta de Claude |287| `Esc` | Parar resposta de Claude |

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

277| `Cmd` `Shift` `D` | Alternar painel de diff |289| `Cmd` `Shift` `D` | Alternar painel de diff |

278| `Cmd` `Shift` `B` | Alternar painel de browser |290| `Cmd` `Shift` `B` | Alternar painel Browser |

279| `Cmd` `Shift` `S` | Selecionar um elemento no browser |291| `Cmd` `Shift` `S` | Selecionar um elemento no Browser |

280| `Ctrl` `` ` `` | Alternar painel de terminal |292| `Ctrl` `` ` `` | Alternar painel de terminal |

281| `Cmd` `\` | Fechar painel focado |293| `Cmd` `\` | Fechar painel focado |

282| `Cmd` `;` | Abrir chat lateral |294| `Cmd` `;` | Abrir chat lateral |


286| `Cmd` `Shift` `E` | Abrir menu de esforço |298| `Cmd` `Shift` `E` | Abrir menu de esforço |

287| `1`–`9` | Selecionar item em um menu aberto |299| `1`–`9` | Selecionar item em um menu aberto |

288 300 

289Esses atalhos se aplicam apenas à aba Code. Os [atalhos de modo interativo](/docs/pt/interactive-mode#keyboard-shortcuts) baseados em terminal, como `Shift+Tab` para ciclar modos, não se aplicam em Desktop.301Esses atalhos se aplicam à aba Code. No Desktop, `Shift+Tab` não cicla os modos de permissão como faz no [modo interativo](/docs/pt/interactive-mode#keyboard-shortcuts) do terminal.

290 302 

291<h3 id="check-usage">303<h3 id="check-usage">

292 Verificar uso304 Verificar uso


458* Selecione **Cloud** para continuar a sessão como uma [sessão na nuvem](/docs/pt/claude-code-on-the-web), com sua conversa transferida como um resumo. Antes de você confirmar, a caixa de diálogo informa se seus arquivos também são movidos e se esta sessão será arquivada quando a sessão na nuvem estiver pronta. Você não pode mover dessa forma uma sessão executada via [SSH](#ssh-sessions) ou no [WSL](/docs/pt/desktop-wsl).470* Selecione **Cloud** para continuar a sessão como uma [sessão na nuvem](/docs/pt/claude-code-on-the-web), com sua conversa transferida como um resumo. Antes de você confirmar, a caixa de diálogo informa se seus arquivos também são movidos e se esta sessão será arquivada quando a sessão na nuvem estiver pronta. Você não pode mover dessa forma uma sessão executada via [SSH](#ssh-sessions) ou no [WSL](/docs/pt/desktop-wsl).

459* Selecione um editor instalado ou seu gerenciador de arquivos para abrir nele a pasta da sessão no disco.471* Selecione um editor instalado ou seu gerenciador de arquivos para abrir nele a pasta da sessão no disco.

460 472 

473<h3 id="control-which-sessions-appear-on-your-other-devices">

474 Controlar quais sessões aparecem em seus outros dispositivos

475</h3>

476 

477Uma sessão local aparece em seus outros dispositivos assim que o [Remote Control](/docs/pt/remote-control) a conecta. Uma sessão conectada aparece na lista de sessões em [claude.ai/code](https://claude.ai/code) e nos aplicativos Claude em dispositivos conectados à sua conta claude.ai.

478 

479Uma sessão local se conecta quando você ativa o Remote Control para ela, ou quando ela se conecta automaticamente ao iniciar:

480 

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

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

483 

484Para ver se uma sessão está conectada, observe o ícone de laptop antes do título da sessão na barra de ferramentas. O ícone fica destacado enquanto a sessão está conectada ou se conectando. Clique nele para abrir o botão **Remote Control** da sessão.

485 

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

487 

488* **Uma sessão**: desative o botão **Remote Control** dela. Em uma sessão que se conectou ao iniciar, digitar `/remote-control` mantém o Remote Control ativado e mostra `Remote Control is already on. This session connected automatically when it started.` Clique em **Turn off** nessa linha para desconectar.

489* **Novas sessões do Desktop neste computador**: desative **Connect new sessions to Remote Control** em **Settings > Claude Code**. Se já aparecer desativado, ative e depois desative para que o Desktop salve sua escolha. Depois de salva, ela tem precedência sobre `remoteControlAtStartup` e os padrões.

490* **Qualquer sessão neste computador, incluindo o CLI**: defina [`disableRemoteControl`](/docs/pt/settings-reference#disableremotecontrol) como `true` em `~/.claude/settings.json` para impedir que as sessões se conectem. Uma sessão que já estava conectada quando você salvou o arquivo permanece conectada até que você desative o Remote Control para ela.

491 

492Para ocultar uma sessão que já aparece em seus outros dispositivos, arquive-a no Desktop. O Desktop também arquiva a cópia do Remote Control da sessão, de modo que ela sai da lista de sessões padrão nesses dispositivos. Para visualizá-la ou excluí-la lá, veja [Arquivar sessões](/docs/pt/claude-code-on-the-web#archive-sessions).

493 

461<h3 id="sessions-from-dispatch">494<h3 id="sessions-from-dispatch">

462 Sessões do Dispatch495 Sessões do Dispatch

463</h3>496</h3>


836 Pre-configure SSH connections for your team869 Pre-configure SSH connections for your team

837</h4>870</h4>

838 871 

839Administradores podem distribuir conexões SSH para membros da equipe adicionando `sshConfigs` a um arquivo de [managed settings](/docs/pt/managed-settings). Conexões definidas desta forma aparecem no menu suspenso de ambiente de cada usuário automaticamente e são mostradas como gerenciadas, para que os usuários possam selecioná-las mas não possam editá-las ou deletá-las no aplicativo.872Administradores podem distribuir conexões SSH para membros da equipe definindo `sshConfigs` nas [configurações gerenciadas](/docs/pt/managed-settings). Conexões definidas desta forma aparecem no menu suspenso de ambiente de cada usuário automaticamente e são mostradas como gerenciadas, para que os usuários possam selecioná-las mas não possam editá-las ou deletá-las no aplicativo.

840 873 

841O exemplo a seguir pré-configura uma única conexão:874O exemplo a seguir pré-configura uma única conexão:

842 875 


860 Restrict which SSH hosts users can connect to893 Restrict which SSH hosts users can connect to

861</h4>894</h4>

862 895 

863Administradores podem limitar as sessões SSH do Desktop a um conjunto aprovado de hosts adicionando `sshHostAllowlist` a um arquivo de [managed settings](/docs/pt/managed-settings). Quando definido, os usuários podem se conectar apenas a hosts cujo nome de host resolvido corresponde a um dos padrões. Defina-o como um array vazio para desabilitar sessões SSH completamente.896Administradores podem limitar as sessões SSH do Desktop a um conjunto aprovado de hosts definindo `sshHostAllowlist` nas [configurações gerenciadas](/docs/pt/managed-settings). Quando definido, os usuários podem se conectar apenas a hosts cujo nome de host resolvido corresponde a um dos padrões. Defina-o como um array vazio para desabilitar sessões SSH. A [entrada de referência de `sshHostAllowlist`](/docs/pt/settings-reference#sshhostallowlist) explica como um array vazio se combina com listas em outras fontes gerenciadas.

864 897 

865O exemplo a seguir permite conexões a qualquer host sob `devboxes.example.com` e a um único host bastion nomeado:898O exemplo a seguir permite conexões a qualquer host sob `devboxes.example.com` e a um único host bastion nomeado:

866 899 


870}903}

871```904```

872 905 

906<Warning>

907 Se sua organização fornece [configurações gerenciadas pelo servidor](/docs/pt/server-managed-settings), defina `sshHostAllowlist` lá. Por padrão, o Desktop lê a chave apenas da [fonte gerenciada de maior prioridade que fornece uma chave de política](/docs/pt/managed-settings#how-claude-code-combines-managed-sources). Se essa fonte deixar a chave sem definição, o Desktop ignora uma lista em uma política MDM ou arquivo de configurações gerenciadas de prioridade inferior e trata a chave como [não definida](/docs/pt/settings-reference#sshhostallowlist). O Desktop não mostra nenhum aviso.

908 

909 Mantenha também a mesma lista na máquina de cada usuário, na política MDM ou no arquivo de configurações gerenciadas de maior prioridade ali. O Desktop busca as configurações gerenciadas pelo servidor na inicialização e não mantém nenhuma cópia em cache, então, até que uma busca seja bem-sucedida, a lista da máquina é a que se aplica.

910</Warning>

911 

873Padrões são insensíveis a maiúsculas e minúsculas. `*` corresponde a qualquer host, e `*.example.com` corresponde a `example.com` e qualquer subdomínio. Qualquer outra coisa é uma correspondência exata. A verificação é executada contra o nome de host após resolução `~/.ssh/config` via `ssh -G`, portanto entradas `Host` aliases e `ProxyCommand`/`ProxyJump` são permitidas desde que o `HostName` resolvido corresponda.912Padrões são insensíveis a maiúsculas e minúsculas. `*` corresponde a qualquer host, e `*.example.com` corresponde a `example.com` e qualquer subdomínio. Qualquer outra coisa é uma correspondência exata. A verificação é executada contra o nome de host após resolução `~/.ssh/config` via `ssh -G`, portanto entradas `Host` aliases e `ProxyCommand`/`ProxyJump` são permitidas desde que o `HostName` resolvido corresponda.

874 913 

875`sshHostAllowlist` é lido apenas de managed settings; valores em configurações de usuário ou projeto são ignorados. Apenas o aplicativo Claude Desktop honra esta configuração; a CLI Claude Code e extensões IDE não a leem, e não restringe comandos `ssh` executados através da ferramenta Bash. Governa quais hosts o aplicativo Desktop se conecta, não saída de rede, portanto combine-o com controles de rede ou zero-trust da sua organização se você precisar de um limite rígido.914`sshHostAllowlist` é lido apenas de managed settings; valores em configurações de usuário ou projeto são ignorados. Apenas o aplicativo Claude Desktop honra esta configuração; a CLI Claude Code e extensões IDE não a leem, e não restringe comandos `ssh` executados através da ferramenta Bash. Governa quais hosts o aplicativo Desktop se conecta, não saída de rede, portanto combine-o com controles de rede ou zero-trust da sua organização se você precisar de um limite rígido.


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

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

915| `sshConfigs` | pré-configure [conexões SSH](#pre-configure-ssh-connections-for-your-team) que aparecem no dropdown de ambiente. Usuários não podem editar ou excluir conexões gerenciadas. |954| `sshConfigs` | pré-configure [conexões SSH](#pre-configure-ssh-connections-for-your-team) que aparecem no dropdown de ambiente. Usuários não podem editar ou excluir conexões gerenciadas. |

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

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

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

919| `managedMcpServers` | envie configurações de servidor MCP para todos os usuários. Disponível apenas em implantações Desktop de terceiros (3P). Em cada entrada, defina um transporte de `"http"`, `"sse"` ou `"stdio"`, detalhes de conexão e opcionalmente um mapa `toolPolicy` para restringir quais ferramentas desse servidor os usuários podem invocar. Entregue através do arquivo de configurações gerenciadas, MDM ou do [bloco `desktop`](/docs/pt/claude-apps-gateway-config#claude-desktop-overlay) da política de um gateway de aplicativos Claude, já que implantações de terceiros não recebem configurações do console de administração. Para entregá-lo através do gateway, você precisa de Claude Code v2.1.232 ou posterior no servidor do gateway. Esta é a chave do próprio aplicativo desktop; Claude Code lê uma [configuração gerenciada de mesmo nome](/docs/pt/managed-mcp#provide-servers-through-managed-settings) própria, com uma forma de entrada diferente. |958| `managedMcpServers` | envie configurações de servidor MCP para todos os usuários. Disponível apenas em implantações Desktop de terceiros (3P). Em cada entrada, defina um transporte de `"http"`, `"sse"` ou `"stdio"`, detalhes de conexão e opcionalmente um mapa `toolPolicy` para restringir quais ferramentas desse servidor os usuários podem invocar. Entregue através do arquivo de configurações gerenciadas, MDM ou do [bloco `desktop`](/docs/pt/claude-apps-gateway-config#claude-desktop-overlay) da política de um gateway de aplicativos Claude, já que implantações de terceiros não recebem configurações do console de administração. Para entregá-lo através do gateway, você precisa de Claude Code v2.1.232 ou posterior no servidor do gateway. Esta é a chave do próprio aplicativo desktop; Claude Code lê uma [configuração gerenciada de mesmo nome](/docs/pt/managed-mcp#provide-servers-through-managed-settings) própria, com uma forma de entrada diferente. |

920 959 

921Quais configurações gerenciadas alcançam uma sessão Desktop depende de onde essa sessão é executada. Restrições de modelo como [`availableModels`](/docs/pt/model-config#restrict-model-selection) são aplicadas em sessões Claude Code do Desktop da mesma forma que na CLI do terminal; veja [cobertura de superfície](/docs/pt/model-config#surface-coverage).960Quais configurações gerenciadas alcançam uma sessão Desktop depende de onde essa sessão é executada. Restrições de modelo como [`availableModels`](/docs/pt/model-config#restrict-model-selection) são aplicadas em sessões Claude Code do Desktop da mesma forma que na CLI do terminal; veja [cobertura de superfície](/docs/pt/model-config#surface-coverage).

922 961 

923* **Sessões locais nesta máquina**: um arquivo de configurações gerenciadas implantado em disco se aplica. Configurações gerenciadas enviadas remotamente através do console de administração também alcançam essas sessões na API da Anthropic quando a sessão se autentica com um [login ou chave elegível](/docs/pt/server-managed-settings#platform-availability), seguindo a mesma [precedência de configurações](/docs/pt/settings#settings-precedence) que a CLI do terminal.962* **Sessões locais nesta máquina**: um arquivo de configurações gerenciadas implantado em disco se aplica. Configurações gerenciadas enviadas remotamente através do console de administração também alcançam essas sessões na API da Anthropic quando a sessão se autentica com um [login elegível](/docs/pt/server-managed-settings#platform-availability), seguindo a mesma [precedência de configurações](/docs/pt/settings#settings-precedence) que a CLI do terminal.

924* **[Sessões na nuvem](#cloud-sessions)**: recebem [configurações gerenciadas pelo servidor](/docs/pt/server-managed-settings); arquivos implantados em dispositivos não as alcançam, porque são executadas em VMs gerenciadas pela Anthropic. Sessões roteadas para um [ambiente auto-hospedado](/docs/pt/self-hosted-environments) também leem o arquivo de configurações gerenciadas na imagem do executor. [Como Claude Code combina fontes gerenciadas](/docs/pt/managed-settings#how-claude-code-combines-managed-sources) diz quando esse arquivo se aplica.963* **[Sessões na nuvem](#cloud-sessions)**: recebem [configurações gerenciadas pelo servidor](/docs/pt/server-managed-settings); arquivos implantados em dispositivos não as alcançam, porque são executadas em VMs gerenciadas pela Anthropic. Sessões roteadas para um [ambiente auto-hospedado](/docs/pt/self-hosted-environments) também leem o arquivo de configurações gerenciadas na imagem do executor. [Como Claude Code combina fontes gerenciadas](/docs/pt/managed-settings#how-claude-code-combines-managed-sources) diz quando esse arquivo se aplica.

925* **[Sessões SSH](#ssh-sessions)**: a sessão lê o arquivo de configurações gerenciadas do host remoto. O Desktop em si lê `sshConfigs`, `sshHostAllowlist`, `disableSshSavedPasswords` e `disableDesktopLocalSessions` das configurações gerenciadas da máquina local.964* **[Sessões SSH](#ssh-sessions)**: a sessão lê o arquivo de configurações gerenciadas do host remoto. O Desktop em si lê `sshConfigs`, `sshHostAllowlist`, `disableSshSavedPasswords` e `disableDesktopLocalSessions` na máquina local. Se você entregar mais de uma fonte gerenciada, ele as lê de [apenas uma por padrão](/docs/pt/managed-settings#how-claude-code-combines-managed-sources).

926* **[Sessões Cowork](https://claude.com/docs/cowork/overview)**: em uma sessão Cowork nesta máquina, Claude Code nunca busca configurações do console de administração, mesmo quando o usuário se conecta com uma conta Team ou Enterprise, e lê a política implantada na máquina a menos que sua configuração Claude Desktop defina `requireCoworkFullVmSandbox`. Sessões Cowork remotas não recebem nenhuma. Veja [onde e quando uma política se aplica](/docs/pt/managed-settings#where-and-when-a-policy-applies) para quais arquivos de dispositivo alcançam Cowork, e [regras de permissão MCP](/docs/pt/permissions#mcp) para como as regras `Bash` e `WebFetch` se aplicam às ferramentas de Cowork.965* **[Sessões Cowork](https://claude.com/docs/cowork/overview)**: em uma sessão Cowork nesta máquina, Claude Code nunca busca configurações do console de administração, mesmo quando o usuário se conecta com uma conta Team ou Enterprise, e lê a política implantada na máquina a menos que sua configuração Claude Desktop defina `requireCoworkFullVmSandbox`. Sessões Cowork remotas não recebem nenhuma. Veja [onde e quando uma política se aplica](/docs/pt/managed-settings#where-and-when-a-policy-applies) para quais arquivos de dispositivo alcançam Cowork, e [regras de permissão MCP](/docs/pt/permissions#mcp) para como as regras `Bash` e `WebFetch` se aplicam às ferramentas de Cowork.

927 966 

928Em sessões locais e SSH, o aplicativo desktop entrega cada conector claude.ai conectado do usuário para Claude Code diretamente. Nenhuma configuração MCP ou `managed-mcp.json` alcança esses conectores, qualquer que seja a fonte de configurações ou local de arquivo que você use. Para bloquear as ferramentas de um conector nessas sessões, use os [controles de ferramentas de conector](/docs/pt/mcp#organization-controls-on-connector-tools) de sua organização. [Como conectores alcançam Claude Code](/docs/pt/mcp#how-connectors-reach-claude-code) mostra quais configurações governam conectores em cada tipo de sessão.967Em sessões locais e SSH, o aplicativo desktop entrega cada conector claude.ai conectado do usuário para Claude Code diretamente. Nenhuma configuração MCP ou `managed-mcp.json` alcança esses conectores, qualquer que seja a fonte de configurações ou local de arquivo que você use. Para bloquear as ferramentas de um conector nessas sessões, use os [controles de ferramentas de conector](/docs/pt/mcp#organization-controls-on-connector-tools) de sua organização. [Como conectores alcançam Claude Code](/docs/pt/mcp#how-connectors-reach-claude-code) mostra quais configurações governam conectores em cada tipo de sessão.


975assets-proxy.anthropic.com1014assets-proxy.anthropic.com

976claude.ai1015claude.ai

977a.claude.ai1016a.claude.ai

978a-cdn.claude.ai

979assets.claude.ai1017assets.claude.ai

980downloads.claude.ai1018downloads.claude.ai

981*.livepreview.claude.ai1019*.livepreview.claude.ai


1124 1162 

1125* **Provedores de terceiros**: Desktop se conecta à API da Anthropic por padrão. Para rotear Desktop através de um gateway, ou para executar a aba Code em Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry ou um gateway LLM auto-hospedado, siga os links na [linha Provedores de terceiros](#feature-comparison).1163* **Provedores de terceiros**: Desktop se conecta à API da Anthropic por padrão. Para rotear Desktop através de um gateway, ou para executar a aba Code em Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry ou um gateway LLM auto-hospedado, siga os links na [linha Provedores de terceiros](#feature-comparison).

1126* **Linux (beta)**: Computer Use ainda não está disponível no aplicativo desktop Linux. Veja [Claude Desktop no Linux](/docs/pt/desktop-linux).1164* **Linux (beta)**: Computer Use ainda não está disponível no aplicativo desktop Linux. Veja [Claude Desktop no Linux](/docs/pt/desktop-linux).

1127* **Sugestões de código inline**: Desktop não fornece sugestões no estilo autocompletar. Funciona através de prompts conversacionais e alterações de código explícitas.1165* **Sugestões de código inline**: Desktop não oferece conclusões de código no estilo autocompletar. Funciona através de prompts conversacionais e alterações de código explícitas, e pode [sugerir seu próximo prompt](#accept-a-suggested-prompt) depois que Claude responde.

1128* **Equipes de agentes**: equipes coordenadas, onde Claude como líder da equipe atribui tarefas aos colegas de equipe de uma lista de tarefas compartilhada, estão disponíveis no [CLI](/docs/pt/agent-teams), não em Desktop. Para trabalho multi-agente dentro de uma sessão, use [dynamic workflows](/docs/pt/workflows), que são executados em Desktop; Claude também pode [enviar mensagens e gerenciar suas outras sessões](#work-across-sessions) diretamente.1166* **Equipes de agentes**: equipes coordenadas, onde Claude como líder da equipe atribui tarefas aos colegas de equipe de uma lista de tarefas compartilhada, estão disponíveis no [CLI](/docs/pt/agent-teams), não em Desktop. Para trabalho multi-agente dentro de uma sessão, use [dynamic workflows](/docs/pt/workflows), que são executados em Desktop; Claude também pode [enviar mensagens e gerenciar suas outras sessões](#work-across-sessions) diretamente.

1129* **Comandos terminal-dialog**: comandos integrados que abrem um painel interativo no terminal se comportam de forma diferente na aba Code. Edite [arquivos de configuração](/docs/pt/settings) diretamente para gerenciar regras de permissão e configuração, ou execute os comandos a partir do CLI autônomo.1167* **Comandos terminal-dialog**: comandos integrados que abrem um painel interativo no terminal se comportam de forma diferente na aba Code. Edite [arquivos de configuração](/docs/pt/settings) diretamente para gerenciar regras de permissão e configuração, ou execute os comandos a partir do CLI autônomo.

1130 * Comandos sem forma de argumento, como `/permissions`, respondem com `isn't available in this environment`.1168 * Comandos sem forma de argumento, como `/permissions`, respondem com `isn't available in this environment`.


1147 1185 

1148Clique no número da versão para copiá-lo para sua área de transferência.1186Clique no número da versão para copiá-lo para sua área de transferência.

1149 1187 

1188<h4 id="claude-code-version-in-the-code-tab">

1189 Versão do Claude Code na aba Code

1190</h4>

1191 

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

1193 

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

1195 

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

1197 

1150<h3 id="403-or-authentication-errors-in-the-code-tab">1198<h3 id="403-or-authentication-errors-in-the-code-tab">

1151 Erros 403 ou autenticação na aba Code1199 Erros 403 ou autenticação na aba Code

1152</h3>1200</h3>

env-vars.md +291 −288

Details

126 Variáveis126 Variáveis

127</h2>127</h2>

128 128 

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

130 130 

131<Note>131<Note>

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

133 133 

134 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:134 Algumas variáveis leem apenas se você as definiu ou não, então qualquer valor não vazio, incluindo `0`, ativa o comportamento, e você desativa o comportamento removendo a definição da variável ou definindo-a com um valor vazio. Estas variáveis funcionam dessa forma:

135 135 

136 * `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`136 * `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`

137 * `DISABLE_TELEMETRY`137 * `DISABLE_TELEMETRY`


145 145 

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

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

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

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

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

151| `ANTHROPIC_AWS_BASE_URL` | Sobrescreve a URL do endpoint do [Claude Platform on AWS](/docs/pt/claude-platform-on-aws). Use para regiões personalizadas ou ao rotear por 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 do Amazon Bedrock](/docs/pt/amazon-bedrock#3-configure-claude-code) |151| `ANTHROPIC_AWS_BASE_URL` | Sobrescreve a URL do endpoint do [Claude Platform on AWS](/docs/pt/claude-platform-on-aws). Use para regiões personalizadas ou ao rotear por 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) |

152| `ANTHROPIC_AWS_WORKSPACE_ID` | Obrigatório para o [Claude Platform on AWS](/docs/pt/claude-platform-on-aws). Enviado em todas as requisições como o cabeçalho `anthropic-workspace-id` |152| `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` |

153| `ANTHROPIC_BASE_URL` | Sobrescreve o endpoint da API para rotear requisições por um proxy ou gateway. Quando definido para um host que não é first-party, o [MCP Tool Search](/docs/pt/mcp#scale-with-mcp-tool-search) é desativado por padrão. Defina `ENABLE_TOOL_SEARCH=true` se o seu proxy encaminhar blocos `tool_reference`. A partir da v2.1.196, o [Remote Control](/docs/pt/remote-control#requirements) é desativado quando 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 |153| `ANTHROPIC_BASE_URL` | Sobrescreve o endpoint da API para rotear requisições por um proxy ou gateway. Quando definida com 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`, em linha com seu comportamento no Amazon Bedrock, no Google Cloud's Agent Platform e no Microsoft Foundry |

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

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

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

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

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

159| `ANTHROPIC_CUSTOM_HEADERS` | Cabeçalhos personalizados a adicionar às requisições (formato `Name: Value`, separados por nova linha para vários cabeçalhos). Se um nome ou valor contiver um caractere que um cabeçalho HTTP não pode transportar, como aspas curvas 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. [Invalid request header value](/docs/pt/errors#invalid-request-header-value) lista o conjunto exato de caracteres e onde a verificação é executada. Um valor que define um cabeçalho de credencial, organização ou tenant, roteamento ou comportamento da API, como `Authorization` ou `Host`, conta como uma [configuração que precisa de aprovação](/docs/pt/server-managed-settings#environment-variables-and-the-approval-dialog) quando as configurações gerenciadas pelo servidor o entregam. A partir das configurações de projeto ou locais, esse valor segue as [regras sobre quando os valores de `env` se aplicam](/docs/pt/settings-reference#when-claude-code-applies-env-values) |159| `ANTHROPIC_CUSTOM_HEADERS` | Cabeçalhos personalizados a adicionar às requisiçõ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 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. [Invalid request header value](/docs/pt/errors#invalid-request-header-value) lista o conjunto exato de caracteres e onde a verificação é executada. Um valor que define um cabeçalho de credencial, organização ou tenant, roteamento ou comportamento da API, como `Authorization` ou `Host`, conta como uma [configuração que precisa de aprovação](/docs/pt/server-managed-settings#environment-variables-and-the-approval-dialog) quando entregue por configurações gerenciadas pelo servidor. A partir de configurações de projeto ou locais, esse valor segue as [regras sobre quando os valores de `env` se aplicam](/docs/pt/settings-reference#when-claude-code-applies-env-values) |

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

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

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

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

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

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

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

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

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

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

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

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

172| `ANTHROPIC_DEFAULT_MODEL` | Modelo com o qual novas sessões começam por padrão. Requer 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) |172| `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) |

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

195| `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 causam overflow no timer subjacente e fazem as requisições falharem imediatamente |195| `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 temporizador subjacente e fazem as requisições falharem imediatamente |

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

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

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

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

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

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

202| `CLAUDECODE` | Definida como `1` em subprocessos que o Claude Code inicia (ferramentas Bash e PowerShell, sessões tmux, comandos de [hook](/docs/pt/hooks), comandos de [linha de status](/docs/pt/statusline), subprocessos de [servidor MCP](/docs/pt/mcp) stdio). 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 |202| `CLAUDECODE` | Definida como `1` em subprocessos que o Claude Code inicia (ferramentas Bash e PowerShell, sessões tmux, comandos de [hook](/docs/pt/hooks), comandos de [linha de status](/docs/pt/statusline), subprocessos de [servidor MCP](/docs/pt/mcp) stdio). 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 |

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

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

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

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

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

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

209| `CLAUDE_AUTO_BACKGROUND_TASKS` | Defina como `1` para forçar a ativação da execução automática em segundo plano de tarefas de agente de longa duração. Quando ativada, os subagentes são movidos para segundo plano após serem executados por aproximadamente dois minutos. Também ativa a [execução automática em 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 |209| `CLAUDE_AUTO_BACKGROUND_TASKS` | Defina como `1` para forçar a ativação do envio automático para segundo plano de tarefas de agente de longa duração. Quando ativado, os subagentes são movidos para segundo plano após serem executados 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 |

210| `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 |210| `CLAUDE_AX_PREPARK_MS` | No [modo 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 |

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

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

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

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

215| `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 ignora as [notificações push móveis do Remote Control](/docs/pt/remote-control#mobile-push-notifications), para que você pare de receber pushes enquanto estiver usando ativamente o computador. Quando o arquivo está ausente ou ilegível, as notificações são enviadas normalmente. O Claude Code verifica o arquivo uma vez por evento que aciona push, em vez de fazer polling. Requer Claude Code v2.1.181 ou posterior |215| `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 aciona push, em vez de consultá-lo periodicamente. Requer Claude Code v2.1.181 ou posterior |

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

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

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

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

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

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

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

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

224| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Defina como `0` para omitir o [bloco de atribuição](/docs/pt/llm-gateway-protocol#system-prompt-attribution-block), que contém a versão do cliente e uma impressão digital do prompt, do início do system prompt. O cache em uma conexão direta com a Anthropic API não é afetado em nenhum dos casos. Em algumas configurações de conexão direta, o Claude Code mantém o bloco nas requisições do classificador do [modo auto](/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 |224| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Defina como `0` para omitir o [bloco de atribuição](/docs/pt/llm-gateway-protocol#system-prompt-attribution-block), que contém a versão do cliente e uma impressão digital do prompt, do início do system prompt. O cache em uma conexão direta com a Anthropic API não é afetado de nenhuma forma. 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 do 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 |

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

226| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Define a [janela de compactação automática](/docs/pt/model-config#set-the-auto-compact-window) em tokens, de `100000` a `1000000`. Aceita apenas um inteiro simples, como `500000`: um valor como `500k` é lido como `500` e é ajustado 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, depois que esta variável é definida, essa porcentagem não indica mais quando a compactação será executada |226| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Define a [janela de compactação automática](/docs/pt/model-config#set-the-auto-compact-window) em tokens, de `100000` a `1000000`. Aceita apenas um inteiro simples, como `500000`: um valor como `500k` é lido como `500` e restringido 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, quando esta variável está definida, essa porcentagem não indica mais quando a compactação será executada |

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

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

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

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

231| `CLAUDE_CODE_BG_TASKS_REPORT_RUNNING` | Defina como `0` para fazer uma sessão não interativa reportar um status ocioso ao seu host ao final de cada turno, mesmo enquanto trabalho em segundo plano ainda estiver em execução. Por padrão, a sessão continua reportando um status de execução após o fim do turno enquanto trabalho em segundo plano, como um agente em segundo plano ou uma execução de [workflow](/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 opção de 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 |231| `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 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 |

232| `CLAUDE_CODE_BRIDGE_SESSION_ID` | Definida automaticamente em subprocessos da ferramenta Bash e de [comandos de hook](/docs/pt/hooks) enquanto a sessão tem uma conexão ativa de [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 vincular de volta à 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 |232| `CLAUDE_CODE_BRIDGE_SESSION_ID` | Definida automaticamente em subprocessos da ferramenta Bash e de [comandos de hook](/docs/pt/hooks) enquanto a sessão tiver uma conexão ativa do [Remote Control](/docs/pt/remote-control), e removida quando a conexão termina. O valor é o ID da sessão no formato `session_`, o mesmo identificador que aparece na URL `claude.ai/code` da sessão, para que um script possa criar um link de volta para a sessão que o executou. Requer 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 |

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

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

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

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

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

238| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Senha para a CLAUDE\_CODE\_CLIENT\_KEY criptografada (opcional) |238| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Senha para a CLAUDE\_CODE\_CLIENT\_KEY criptografada (opcional) |

239| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | Removida na v2.1.186 e agora não tem efeito. Anteriormente definia um timeout separado para a fase de conexão, TLS e cabeçalhos de resposta de uma requisição de API 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` |239| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | Removida na v2.1.186 e agora não tem efeito. Anteriormente definia um timeout separado para a fase de conexão, TLS e cabeçalhos de resposta de uma requisição de API por streaming. Use `API_TIMEOUT_MS` para o timeout por requisição. Para a fase de cabeçalhos de resposta de uma requisição por streaming, consulte `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` |

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

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

242| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Defina como `1` para desativar o suporte à [janela de contexto de 1M](/docs/pt/model-config#extended-context). Quando definida, as variantes de modelo de 1M ficam indisponíveis no seletor de modelos, e o Claude Code mantém 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, em uma janela de 200K; consulte [Contexto estendido](/docs/pt/model-config#extended-context) para saber como essa limitaçã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) |242| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Defina como `1` para desativar o suporte à [janela de contexto de 1M](/docs/pt/model-config#extended-context). O Claude Code remove as variantes de modelo `[1m]` do seletor de modelos e limita a uma janela de 200K os modelos que são executados com a janela de 1M por padrão. Consulte [Desativar o contexto de 1M](/docs/pt/model-config#turn-off-1m-context). Útil para ambientes corporativos com requisitos de conformidade. Para seu papel na correção da janela para um ID de modelo `[1m]` não reconhecido, consulte [Corrigir a janela para um ID de modelo de gateway ou personalizado](/docs/pt/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |

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

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

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

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

247| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | Defina como `1` para desativar a [renderização em tela cheia](/docs/pt/fullscreen) e usar o renderizador clássico da tela principal. A conversa permanece no 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 |247| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | Defina como `1` para desativar a [renderização em tela cheia](/docs/pt/fullscreen) e usar o renderizador clássico da tela principal. A conversa permanece no 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 pela [visualização de agentes](/docs/pt/agent-view), que sempre usam a renderização em tela cheia |

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

249| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Defina como `1` para desativar o processamento de anexos. Menções a arquivos com a sintaxe `@` são enviadas como texto simples em vez de serem expandidas no conteúdo do arquivo |249| `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 |

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

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

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

253| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | Defina como `1` para impedir que o Claude Code trate uma resposta de streaming do [Amazon Bedrock](/docs/pt/amazon-bedrock) com um cabeçalho `Content-Type` ausente ou vazio como o stream de eventos binário do Amazon Bedrock. Por padrão, o Claude Code presume que um gateway removeu o cabeçalho de uma resposta que, fora isso, não foi modificada, então decodifica o corpo e o streaming continua funcionando. Defina esta variável 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 |253| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | Defina como `1` para impedir que o Claude Code trate uma resposta de streaming do [Amazon Bedrock](/docs/pt/amazon-bedrock) com um cabeçalho `Content-Type` ausente ou vazio como o fluxo de eventos binário do Amazon Bedrock. Por padrão, o Claude Code presume que um gateway removeu o cabeçalho de uma resposta que, de resto, não foi modificada, então 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 |

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

274| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | Defina com qualquer valor não vazio, como `1`, para desativar o tráfego de rede não essencial: atualizações automáticas, telemetria, relatórios de erros, o comando `/feedback`, [feedback redigido pelo Claude](/docs/pt/tools-reference#sendfeedback-tool-behavior), notas de versão, as verificações do [selo de status de PR e MR](/docs/pt/interactive-mode#pr-review-status) e verificações de disponibilidade, como a verificação do [modo rápido](/docs/pt/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways). Também interrompe as [execuções em segundo plano de fontes `command` de plugins](/docs/pt/plugins/loading#when-a-command-source-re-runs), que são comandos locais e não tráfego de rede, porque elas podem acionar instalações de dependências. **Defini-la como `0` ou `false` ainda desativa esse tráfego**, ao contrário 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 opção de ativação |274| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | Defina com qualquer valor não vazio, como `1`, para desativar o tráfego de rede não essencial: atualizações automáticas, telemetria, relatórios de erros, o comando `/feedback`, [feedback redigido pelo Claude](/docs/pt/tools-reference#sendfeedback-tool-behavior), notas de versão, as verificações do [selo de status de PR e MR](/docs/pt/interactive-mode#pr-review-status) e verificações de disponibilidade, como a verificação do [modo rápido](/docs/pt/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways). Também interrompe as [execuções em segundo plano de fontes `command` de plugins](/docs/pt/plugins/loading#when-a-command-source-re-runs), que são comandos locais e não tráfego de rede, porque podem acionar instalações de dependências. **Defini-la como `0` ou `false` ainda desativa esse tráfego**, diferentemente da maioria das variáveis de ativação/desativação; remova a definição da variável para permiti-lo novamente. Também desativa a busca de feature flags, o que torna 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 |

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

276| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | Defina como `1` para enviar a notificação de desktop da ferramenta `PushNotification` mesmo enquanto você está digitando ou com o foco no terminal. Por padrão, a ferramenta ignora tanto a notificação de desktop quanto o [push móvel](/docs/pt/remote-control#mobile-push-notifications) quando detecta atividade recente 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 |276| `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 detectar que você está ativo. Requer Claude Code v2.1.193 ou posterior |

277| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Defina como `1` para desativar o registro automático do marketplace oficial de plugins. O Claude Code lê a variável quando está prestes a registrar o marketplace, geralmente durante a primeira inicialização interativa de 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 isso. Execute `claude plugin marketplace add anthropics/claude-plugins-official` para registrar o marketplace a qualquer momento |277| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Defina como `1` para desativar o registro automático do marketplace oficial de plugins. O Claude Code lê a variável quando está prestes a registrar o marketplace, geralmente durante a primeira inicialização interativa de 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 o pulo. Execute `claude plugin marketplace add anthropics/claude-plugins-official` para registrar o marketplace a qualquer momento |

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

279| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | Defina como `1` para pular o carregamento de skills do diretório de skills gerenciadas em todo o sistema. Útil para sessões em contêiner ou de CI que não devem carregar skills provisionadas pelo operador |279| `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 |

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

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

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

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

284| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Defina como `1` para desativar as atualizações automáticas do título do terminal com base no contexto da conversa. Isso também 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) |284| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Defina como `1` para desativar as atualizações automáticas do título do terminal com base no contexto da conversa. Isso também 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) |

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

286| `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 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 |286| `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 presume para o ID. `CLAUDE_CODE_MAX_CONTEXT_TOKENS` pode corrigir a janela presumida em vez disso; consulte [Corrigir a janela para um ID de modelo de gateway ou personalizado](/docs/pt/model-config#correct-the-window-for-a-gateway-or-custom-model-id) para saber quando cada variável se aplica. Requer Claude Code v2.1.223 ou posterior |

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

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

289| `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ê [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 é interrompido quando o processo da sessão termina. Comandos Bash não são afetados. Requer Claude Code v2.1.269 ou posterior |289| `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 inicializador `cmd.exe`. Por padrão, o inicializador permite que um comando PowerShell [em execução em segundo plano](/docs/pt/tools-reference#background-commands) [seja transferido para o próximo processo da sessão](/docs/pt/agent-view#the-supervisor-process), como quando você [envia a sessão para segundo plano](/docs/pt/agent-view#from-inside-a-session). Se você definir a variável, um comando PowerShell em segundo plano é interrompido quando o processo da sessão termina. Comandos Bash não são afetados. Requer Claude Code v2.1.269 ou posterior |

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

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

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

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

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

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

296| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Defina como `1` para encaminhar a pesquisa de qualidade da sessão "How is Claude doing?" para o seu próprio [coletor OpenTelemetry](/docs/pt/monitoring-usage) quando o tráfego não essencial destinado à Anthropic estiver bloqueado. As avaliações da pesquisa são emitidas apenas como eventos OTEL para o coletor configurado. Nenhum dado da pesquisa é enviado à Anthropic nesse modo. Aplica-se quando `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_TELEMETRY` ou `DO_NOT_TRACK` está definida e não tem efeito caso contrário. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` e a política de feedback de produto da organização têm precedência |296| `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 que você configurou. Nenhum dado da pesquisa é enviado à Anthropic nesse modo. Aplica-se quando `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_TELEMETRY` ou `DO_NOT_TRACK` está definida e, caso contrário, não tem efeito. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` e a política de feedback de produto da organização têm precedência |

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

298| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Defina como `1` para preencher o seletor de `/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 que usam 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 de um arquivo de configurações gerenciadas](/docs/pt/managed-settings#delivery-mechanisms), já que a [entrega gerenciada pelo servidor não está disponível em configurações de gateway](/docs/pt/server-managed-settings#platform-availability) |298| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Defina como `1` para preencher o seletor `/model` a partir do endpoint `/v1/models` do seu gateway quando `ANTHROPIC_BASE_URL` apontar para um gateway compatível com a Anthropic, como LiteLLM, Kong ou um proxy interno. Desativada 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; entregue a lista por meio de [MDM ou de um arquivo de configurações gerenciadas](/docs/pt/managed-settings#delivery-mechanisms), já que a [entrega gerenciada pelo servidor não está disponível em configurações de gateway](/docs/pt/server-managed-settings#platform-availability) |

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

300| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Defina como `false` para desativar as sugestões de prompt, as previsões em cinza que aparecem na entrada de prompt. Tem precedência sobre a configuração [`promptSuggestionEnabled`](/docs/pt/settings-reference#promptsuggestionenabled), que é o que a opção **Prompt suggestions** em `/config` grava. O Claude Code também [pausa as sugestões enquanto sua conta está perto ou no limite de uso](/docs/pt/interactive-mode#when-claude-code-skips-suggestions). Defina como `true` para mantê-las ativadas até você atingir o limite. Requer Claude Code v2.1.238 ou posterior. Consulte [Sugestões de prompt](/docs/pt/interactive-mode#prompt-suggestions) |300| `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á perto ou no limite de uso](/docs/pt/interactive-mode#when-claude-code-skips-suggestions). Defina como `true` para mantê-las ativadas até você atingir o limite. Requer o Claude Code v2.1.238 ou posterior. Consulte [Sugestões de prompt](/docs/pt/interactive-mode#prompt-suggestions) |

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

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

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

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

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

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

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

308| `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 pela primeira vez pela ferramenta Bash do Claude Code, fizer com que uma sessão genuinamente de nível superior seja classificada incorretamente como aninhada. A partir da v2.1.178, o Claude Code detecta o caso do tmux automaticamente e ignora o marcador herdado, portanto o tmux não precisa mais desta variável. Também respeitada na v2.1.169 e anteriores; não tem efeito na v2.1.170 e na v2.1.171, nas quais a detecção de sessão aninhada que ela sobrescreve foi removida |308| `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 genuinamente de nível superior seja classificada erroneamente como aninhada. A partir da v2.1.178, o Claude Code detecta o caso do tmux automaticamente e ignora o marcador herdado, então o tmux não precisa mais desta variável. Também é respeitada na v2.1.169 e anteriores; não tem efeito nas v2.1.170 e v2.1.171, em que a detecção de sessão aninhada que ela sobrescreve foi removida |

309| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | Defina como `1` para forçar a renderização de tachado para `~~text~~` nas respostas do Claude quando seu terminal oferecer suporte, mas não for 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 |309| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | Defina como `1` para forçar a renderização de tachado para `~~text~~` nas respostas do Claude quando o 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 tachado. Requer o Claude Code v2.1.186 ou posterior |

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

311| `CLAUDE_CODE_FORK_SUBAGENT` | Controla o [modo fork](/docs/pt/sub-agents#turn-fork-mode-on-or-off), que permite ao próprio Claude criar [subagentes bifurcados](/docs/pt/sub-agents#fork-the-current-conversation) e fica ativado por padrão apenas em sessões interativas. Defina como `1` para ativá-lo também em `claude -p` e no Agent SDK, ou como `0` para desativá-lo em todos os tipos 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 |311| `CLAUDE_CODE_FORCE_TERMINAL_IMAGES` | Defina como `1` para desenhar [elementos `Image` de mods](/docs/pt/plugins/mods/reference#elements) como imagens quando o seu terminal desenha imagens do protocolo gráfico kitty com placeholders Unicode, mas não é detectado automaticamente. Consulte [quais terminais o Claude Code detecta](/docs/pt/plugins/mods/gallery#image-and-client) e por que isso não ajuda dentro do tmux ou do screen |

312| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | Defina como `1` para emitir blocos de texto e de pensamento de [subagentes](/docs/pt/sub-agents) na saída de `claude -p --output-format stream-json`, o mesmo comportamento da flag [`--forward-subagent-text`](/docs/pt/cli-reference#cli-flags). Use a variável quando um harness invoca `claude` e não consegue passar a flag por conta própria. Diferentemente da flag, que sai com erro fora do modo não interativo com saída stream-json, a variável é ignorada nesse caso para que invocações aninhadas continuem funcionando quando ela estiver definida para todo o processo. Requer Claude Code v2.1.211 ou posterior |312| `CLAUDE_CODE_FORK_SUBAGENT` | Controla o [modo fork](/docs/pt/sub-agents#turn-fork-mode-on-or-off), que permite ao próprio Claude criar [subagentes bifurcados](/docs/pt/sub-agents#fork-the-current-conversation) e fica ativado por padrão apenas em sessões interativas. Defina como `1` para ativá-lo também em `claude -p` e no Agent SDK, ou `0` para desativá-lo em todos os tipos de sessão. Você pode executar `/subtask` esteja o modo fork ativado ou não. O padrão interativo requer o Claude Code v2.1.232 ou posterior; em versões anteriores, defina a variável como `1` para ativar o modo fork |

313| `CLAUDE_CODE_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 terceiro, 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 |313| `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 o `claude` e não consegue passar a flag por conta própria. Diferentemente da flag, que sai com erro fora do modo não interativo com saída stream-json, a variável é ignorada nesse caso, para que invocações aninhadas continuem funcionando quando ela é definida para todo o processo. Requer o Claude Code v2.1.211 ou posterior |

314| `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 |314| `CLAUDE_CODE_GATEWAY_HINT_HEADERS` | Defina como `1` para enviar os [cabeçalhos de dica do 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 o Amazon Bedrock ou o Claude Platform on AWS. Defina como `0` para parar de enviá-los em todas as conexões, incluindo uma conexão direta com a API da Anthropic, onde o Claude Code os envia por padrão. Requer o Claude Code v2.1.273 ou posterior |

315| `CLAUDE_CODE_GIT_BASH_PATH` | Somente Windows: caminho para o executável do Git Bash (`bash.exe`). Use quando o Git Bash estiver instalado, mas não estiver no seu PATH. Se o caminho não existir ou o arquivo não se chamar `bash.exe`, `sh.exe`, `bash` ou `sh`, o Claude Code ignora a variável e detecta automaticamente o Git Bash como se ela não estivesse definida, registrando em log um aviso visível com `--debug`. Antes da v2.1.219, o Claude Code saía 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) |315| `CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS` | Timeout em milissegundos para a requisição de [descoberta de modelos do gateway](/docs/pt/llm-gateway-protocol#model-discovery) que `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` ativa (padrão: `3000`). Aumente-o quando o seu gateway precisar de mais de três segundos para responder a `/v1/models` na inicialização. Aceita apenas dígitos simples; `0`, valores negativos e outras grafias mantêm o padrão. Requer o Claude Code v2.1.269 ou posterior |

316| `CLAUDE_CODE_GLOB_HIDDEN` | Defina como `false` para excluir dotfiles dos resultados quando o Claude invoca a [ferramenta Glob](/docs/pt/tools-reference#glob-tool-behavior). Incluídos por padrão. Não afeta o preenchimento automático de arquivos com `@`, `ls`, Grep ou Read |316| `CLAUDE_CODE_GIT_BASH_PATH` | Apenas Windows: caminho para o executável do Git Bash (`bash.exe`). Use quando o Git Bash estiver instalado, mas não estiver no seu PATH. Se o caminho não existir ou o arquivo não se chamar `bash.exe`, `sh.exe`, `bash` ou `sh`, o Claude Code ignora a variável e detecta o Git Bash automaticamente como se ela não estivesse definida, registrando em log um aviso visível com `--debug`. Antes da v2.1.219, o Claude Code saía na inicialização quando o caminho não existia e usava qualquer arquivo existente como shell, sem verificar se era bash ou sh. Consulte [Configuração no Windows](/docs/pt/setup#set-up-on-windows) |

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

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

318| `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 |319| `CLAUDE_CODE_GLOB_TIMEOUT_SECONDS` | Timeout em segundos para a descoberta de arquivos da ferramenta Glob. O padrão é 20 segundos na maioria das plataformas e 60 segundos no WSL |

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

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

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

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

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

324| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | Defina como `1` para pular a validação das entradas do arquivo de bloqueio do IDE durante a conexão. Use quando a conexão automática não encontrar seu IDE, mesmo com ele em execução |325| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | Defina como `1` para ignorar a validação das entradas do lockfile da IDE durante a conexão. Use quando a conexão automática não conseguir encontrar sua IDE mesmo com ela em execução |

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

326| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Sobrescreve o tamanho da janela de contexto que o Claude Code presume para o modelo ativo. A partir da v2.1.193, a forma como ela se aplica depende de como o Claude Code resolve o ID do modelo; consulte [Corrigir a janela para um gateway ou ID de modelo personalizado](/docs/pt/model-config#correct-the-window-for-a-gateway-or-custom-model-id). Use-a ao rotear para um modelo por meio de `ANTHROPIC_BASE_URL` cuja janela de contexto não corresponda ao tamanho integrado para o nome dele |327| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Sobrescreve o tamanho da janela de contexto que o Claude Code assume para o modelo ativo. A partir da v2.1.193, a forma como se aplica depende de como o Claude Code resolve o ID do modelo; consulte [Corrigir a janela para um gateway ou ID de modelo personalizado](/docs/pt/model-config#correct-the-window-for-a-gateway-or-custom-model-id). Use-a ao rotear para um modelo por meio de `ANTHROPIC_BASE_URL` cuja janela de contexto não corresponda ao tamanho embutido para o seu nome |

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

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

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

330| `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` | Removida na v2.1.224 e agora não tem efeito. Antes limitava o número total de [subagentes](/docs/pt/sub-agents) que o Claude podia criar com a ferramenta Agent em uma sessão (padrão: 200); criar além do limite falhava com `Subagent spawn limit reached`. O [limite de subagentes simultâneos](/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 |331| `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 o Claude podia criar com a ferramenta Agent em uma sessão (padrão: 200); criar além do limite falhava com `Subagent spawn limit reached`. O [limite de subagentes simultâneos](/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 |

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

332| `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 maiores aumentam o paralelismo, mas consomem mais recursos |333| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | Número máximo de ferramentas somente leitura e subagentes que podem ser executados em paralelo (padrão: 10). Valores mais altos aumentam o paralelismo, mas consomem mais recursos |

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

334| `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 o Claude atinge o limite, as chamadas de WebSearch seguintes retornam um aviso dizendo para continuar com as informações já coletadas. Aceita um número inteiro positivo sem limite superior. Qualquer outro valor é ignorado e o padrão se aplica, portanto o limite pode ser aumentado, mas não desativado. Requer Claude Code v2.1.212 ou posterior |335| `CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION` | Limite de chamadas de [WebSearch](/docs/pt/tools-reference#session-search-limit) (padrão: 200). Quando o Claude atinge o limite, novas chamadas de WebSearch retornam um aviso dizendo para ele continuar com as informações que já reuniu. Aceita um número inteiro positivo sem limite superior. Qualquer outro valor é ignorado e o padrão se aplica, portanto o limite pode ser aumentado, mas não desativado. Requer o Claude Code v2.1.212 ou posterior |

335| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | Defina como `1` para iniciar servidores MCP stdio apenas com um ambiente básico seguro mais o `env` configurado do servidor, em vez de herdar o ambiente do seu shell |336| `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 |

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

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

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

339| `CLAUDE_CODE_MESSAGING_SOCKET` | Definida pelo Claude Code, não por você: em sessões que vinculam um [socket de caixa de entrada](/docs/pt/cross-session-messaging#the-sessions-inbox-socket), o Claude Code exporta o caminho desse socket para hooks e comandos Bash quando vincula o socket. Em uma sessão que começa com as mensagens ativadas, o Claude Code vincula o socket antes 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 |340| `CLAUDE_CODE_MESSAGING_SOCKET` | Definida pelo Claude Code, não por você: em sessões que vinculam um [socket de caixa de entrada](/docs/pt/cross-session-messaging#the-sessions-inbox-socket), o Claude Code exporta o caminho desse socket para hooks e comandos Bash quando vincula o socket. Em uma sessão que inicia com mensagens ativadas, o Claude Code vincula o socket antes que qualquer hook seja executado. Outras sessões na máquina entregam mensagens a esse caminho. Cada sessão exporta seu próprio socket, em vez de um herdado de 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 o Claude Code v2.1.224 ou posterior |

340| `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 mensagens ao socket pode enviar `{"type":"auth","token":"<token>"}` como sua primeira linha para provar que pertence à sessão. No Windows nativo, o Claude Code exige essa linha e fecha qualquer conexão que não comece com uma linha válida. As [regras de processos filhos próprios](/docs/pt/cross-session-messaging#the-sessions-inbox-socket) indicam 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 |341| `CLAUDE_CODE_MESSAGING_TOKEN` | Definida pelo Claude Code, não por você: em sessões que vinculam um [socket de caixa de entrada](/docs/pt/cross-session-messaging#the-sessions-inbox-socket), o Claude Code exporta este token por sessão para hooks e comandos Bash junto com `CLAUDE_CODE_MESSAGING_SOCKET`. Um script que publica no socket pode enviar `{"type":"auth","token":"<token>"}` como sua primeira linha para provar que pertence à sessão. No Windows nativo, o Claude Code exige essa linha e fecha qualquer conexão que não comece com uma linha válida. As [regras de 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 o Claude Code v2.1.228 ou posterior |

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

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

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

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

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

346| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | Token de atualização OAuth para autenticação no 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 |347| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | Token de atualização OAuth para autenticação no 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 |

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

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

349| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | Removida na v2.1.160 e agora não tem efeito. Antes 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 |350| `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 |

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

351| `CLAUDE_CODE_OTEL_DIAG_STDERR` | Defina como `1` para gravar no stderr os erros de diagnóstico do exportador OpenTelemetry. Por padrão, esses erros aparecem apenas com `--debug`, portanto 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) |352| `CLAUDE_CODE_OTEL_DIAG_STDERR` | Defina como `1` para escrever 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, falha silenciosamente nos demais casos. Requer o Claude Code v2.1.179 ou posterior. Consulte [Monitoramento](/docs/pt/monitoring-usage) |

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

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

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

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

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

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

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

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

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

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

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

362| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | Defina como `1` para clonar fontes abreviadas do GitHub no formato `owner/repo` 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` |364| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | Defina como `1` para clonar fontes na forma abreviada `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` |

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

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

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

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

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

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

369| `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` nas requisições do modelo e de MCP via HTTP e a variável de ambiente `TRACEPARENT` para subprocessos de Bash, PowerShell e hooks. Por padrão, a propagação só é ativada quando conectado diretamente à API da Anthropic. Adicionada na v2.1.152. Consulte [Traces (beta)](/docs/pt/monitoring-usage#traces-beta) |371| `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` nas requisições ao modelo e a servidores MCP HTTP e a variável de ambiente `TRACEPARENT` para subprocessos de Bash, PowerShell e hooks. Por padrão, a propagação é ativada apenas quando conectado diretamente à API da Anthropic. Adicionada na v2.1.152. Consulte [Traces (beta)](/docs/pt/monitoring-usage#traces-beta) |

370| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | Definida por plataformas host que incorporam o Claude Code e gerenciam o roteamento do provedor de modelos em seu nome. Quando definida, o Claude Code ignora variáveis de seleção de provedor, de endpoint e de autenticação, como `CLAUDE_CODE_USE_BEDROCK`, `ANTHROPIC_BASE_URL` e `ANTHROPIC_API_KEY`, nos 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 forneça, para que a configuração de modelos do host tenha precedência sobre uma fixação de modelo gerenciada desatualizada. O Claude Code também ignora variáveis de seleção de modelo, como `ANTHROPIC_MODEL` e a família `ANTHROPIC_DEFAULT_*_MODEL`, em um bloco `env` gerenciado; uma allowlist [`availableModels`](/docs/pt/model-config#restrict-model-selection) nas configurações gerenciadas ainda se aplica, a menos que o host forneça a sua própria. O Claude Code também pula a desativação automática de telemetria que, caso contrário, aplica em provedores terceiros, como Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform 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) |372| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | Definida por plataformas host que incorporam o Claude Code e gerenciam o roteamento do provedor de modelos em 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 modelos do host tenha precedência sobre uma fixação de modelo gerenciada desatualizada. O Claude Code também ignora variáveis de seleção de modelo, como `ANTHROPIC_MODEL` e a família `ANTHROPIC_DEFAULT_*_MODEL`, em um bloco `env` gerenciado; uma allowlist [`availableModels`](/docs/pt/model-config#restrict-model-selection) nas configurações gerenciadas ainda se aplica, a menos que o host forneça a sua própria. O Claude Code também ignora a desativação automática de telemetria que, de outra forma, aplica em provedores terceirizados como Amazon Bedrock, Claude Platform on AWS, Agent Platform do Google Cloud e Microsoft Foundry, 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) |

371| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | Defina como `1` para permitir que o proxy realize a resolução de DNS em vez do chamador. Opcional para ambientes em que o proxy deve tratar a resolução de nomes de host |373| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | Defina como `1` para permitir que o proxy faça a resolução de DNS em vez do chamador. Opcional para ambientes em que o proxy deve tratar a resolução de nomes de host |

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

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

374| `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 |376| `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). O Claude Code ignora esta variável no bloco `env` de um arquivo de configurações. Requer o Claude Code v2.1.248 ou posterior |

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

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

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

378| `CLAUDE_CODE_RETRY_WATCHDOG` | Defina como `1` para sessões autônomas, como harnesses de avaliação, jobs de CI ou workers remotos. Tenta novamente os 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 de acordo com uma programação. 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 para 300 o número padrão de novas tentativas para outros erros transitórios, como erros do servidor, timeouts e conexões perdidas, o que corresponde a 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 |380| `CLAUDE_CODE_RETRY_WATCHDOG` | Defina como `1` para sessões não supervisionadas, como harnesses de avaliação, jobs de CI ou workers remotos. Tenta novamente erros de capacidade `429` e `529` indefinidamente, em vez de falhar após `CLAUDE_CODE_MAX_RETRIES` tentativas. O Claude Code falha imediatamente quando uma requisição de velocidade padrão recebe um `429` que indica um limite de gastos ou créditos de uso esgotados, mesmo um proveniente de um [limite de gastos do gateway](/docs/pt/errors#spend-limit-reached) que é redefinido periodicamente. Antes da v2.1.239, o watchdog tentava novamente esses casos indefinidamente. Para requisições no modo rápido, consulte [Lidar com rate limits](/docs/pt/fast-mode#handle-rate-limits). O watchdog 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 para 300 o número padrão de novas tentativas para outros erros transitórios, como erros de servidor, timeouts e conexões interrompidas, 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 o Claude Code v2.1.186 ou posterior |

379| `CLAUDE_CODE_SAFE_MODE` | Defina como `1` para iniciar no modo de segurança: CLAUDE.md, skills, plugins, hooks, servidores MCP, comandos e agentes personalizados, estilos de saída, fluxos de trabalho, temas personalizados, atalhos de teclado personalizados, comandos da linha de status e de sugestão de arquivos, servidores LSP e memória automática não são carregados, para a solução de problemas de uma configuração com defeito. A política de configurações gerenciadas ainda se aplica, incluindo hooks, linha de status e comandos de sugestão de arquivos configurados pela política; plugins gerenciados, skills gerenciadas, CLAUDE.md gerenciado e servidores MCP configurados pela política não se aplicam. Equivalente a passar [`--safe-mode`](/docs/pt/cli-reference#cli-flags). Processos filhos iniciados diretamente herdam a variável |381| `CLAUDE_CODE_SAFE_MODE` | Defina como `1` para iniciar em 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 de configurações gerenciadas ainda se aplica, incluindo hooks, linha de status e comandos de sugestão de arquivos configurados pela política; plugins gerenciados, skills gerenciadas, CLAUDE.md gerenciado e servidores MCP configurados pela política não. Equivale a passar [`--safe-mode`](/docs/pt/cli-reference#cli-flags). Processos filhos iniciados diretamente herdam a variável |

380| `CLAUDE_CODE_SCRIPT_CAPS` | Objeto JSON que limita quantas vezes scripts específicos podem ser invocados por sessão quando `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` está definida. As chaves são substrings comparadas com o texto do comando; os valores são limites inteiros de chamadas. Por exemplo, `{"deploy.sh": 2}` permite que `deploy.sh` seja chamado no máximo duas vezes. A correspondência é baseada em substrings, portanto truques de expansão do shell como `./scripts/deploy.sh $(evil)` ainda contam para o limite. A execução em leque em tempo de execução via `xargs` ou `find -exec` não é detectada; este é um controle de defesa em profundidade |382| `CLAUDE_CODE_SCRIPT_CAPS` | Objeto JSON que limita quantas vezes scripts específicos podem ser invocados por sessão quando `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` está definida. As chaves são substrings comparadas com o texto do comando; os valores são limites inteiros de chamadas. Por exemplo, `{"deploy.sh": 2}` permite que `deploy.sh` seja chamado no máximo duas vezes. A correspondência é baseada em substring, então truques de expansão do shell como `./scripts/deploy.sh $(evil)` ainda contam para o limite. Multiplicação em tempo de execução via `xargs` ou `find -exec` não é detectada; este é um controle de defesa em profundidade |

381| `CLAUDE_CODE_SCROLL_SPEED` | Define o multiplicador de rolagem da roda do mouse na [renderização em tela cheia](/docs/pt/fullscreen#mouse-wheel-scrolling). Aceita qualquer valor positivo até 20, incluindo valores fracionários abaixo de 1, como `0.5`, para desacelerar a rolagem acelerada do trackpad e da roda em terminais que já amplificam os eventos da roda. Defina como `3` para igualar ao `vim` se o seu terminal enviar um evento de roda por entalhe, sem amplificação. Ignorada no terminal dos IDEs JetBrains, onde o Claude Code usa seu próprio tratamento de rolagem |383| `CLAUDE_CODE_SCROLL_SPEED` | Define o multiplicador de rolagem da roda do mouse na [renderização em tela cheia](/docs/pt/fullscreen#mouse-wheel-scrolling). Aceita qualquer valor positivo até 20, incluindo valores fracionários abaixo de 1, como `0.5`, para desacelerar a rolagem acelerada do trackpad e da roda em terminais que já amplificam os eventos da roda. Defina como `3` para igualar ao `vim` se o seu terminal enviar um evento de roda por clique sem amplificação. Ignorada no terminal das IDEs JetBrains, onde o Claude Code usa seu próprio tratamento de rolagem |

382| `CLAUDE_CODE_SEND_FEEDBACK` | Defina como `0` para desativar o [feedback redigido pelo Claude](/docs/pt/tools-reference#sendfeedback-tool-behavior) em uma sessão. Defina como `1` para ativá-lo onde sua conta já tem acesso; a variável não pode conceder acesso por si só, e os outros controles que desativam o feedback, como `DISABLE_FEEDBACK_COMMAND` e o valor `off` da configuração [`feedbackDrafts`](/docs/pt/settings-reference#feedbackdrafts), continuam se aplicando |384| `CLAUDE_CODE_SEND_FEEDBACK` | Defina como `0` para desativar o [feedback redigido pelo Claude](/docs/pt/tools-reference#sendfeedback-tool-behavior) em uma sessão. Defina como `1` para ativá-lo onde sua conta já 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), continuam se aplicando |

383| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Sobrescreve o orçamento de tempo, em milissegundos, para hooks [SessionEnd](/docs/pt/hooks#sessionend). O valor também é o timeout de cada hook que não define seu próprio `timeout`. Aplica-se à saída da sessão, a `/clear` e à troca de sessões via `/resume` interativo. Por padrão, o orçamento é de 1,5 segundo, elevado automaticamente para o maior `timeout` por hook configurado nos arquivos de configurações, até 60 segundos. Timeouts em hooks fornecidos por plugins não aumentam o orçamento |385| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Sobrescreve o orçamento de tempo em milissegundos para hooks [SessionEnd](/docs/pt/hooks#sessionend). O valor também é o timeout de cada hook que não define seu próprio `timeout`. Aplica-se à saída da sessão, a `/clear` e à troca de sessões via `/resume` interativo. Por padrão, o orçamento é de 1,5 segundo, elevado automaticamente para o maior `timeout` por hook configurado nos arquivos de configurações, até 60 segundos. Timeouts em hooks fornecidos por plugins não aumentam o orçamento |

384| `CLAUDE_CODE_SESSION_ID` | Definida automaticamente com o ID da sessão atual nos subprocessos das ferramentas Bash e PowerShell, nos subprocessos de [comandos de hook](/docs/pt/hooks) e nos subprocessos de [servidores MCP](/docs/pt/mcp) stdio. Para Bash, PowerShell e hooks, corresponde ao campo `session_id` na entrada JSON do hook e é atualizada em `/clear`. Um subprocesso de servidor MCP mantém o ID com o qual foi iniciado. Em `--resume <session-id>`, ele recebe o ID retomado, correspondendo a hooks e ao Bash. Em `--continue` ou `--resume` sem um ID explícito, ele pode receber o ID inicial de inicialização. Use-a para correlacionar scripts e ferramentas externas com a sessão do Claude Code que os iniciou |386| `CLAUDE_CODE_SESSION_ID` | Definida automaticamente com o ID da sessão atual em subprocessos das ferramentas Bash e PowerShell, em subprocessos de [comandos de hook](/docs/pt/hooks) e em subprocessos de [servidores MCP](/docs/pt/mcp) stdio. Para Bash, PowerShell e hooks, corresponde ao campo `session_id` na entrada JSON do hook e é atualizada em `/clear`. Um subprocesso de servidor MCP mantém o ID com o qual foi iniciado. Em `--resume <session-id>`, ele recebe o ID retomado, igual aos hooks e ao Bash. Em `--continue` ou `--resume` sem um ID explícito, ele pode receber o ID da inicialização original. Use para correlacionar scripts e ferramentas externas com a sessão do Claude Code que os iniciou |

385| `CLAUDE_CODE_SHELL` | Define o shell que o Claude Code usa para executar comandos da ferramenta Bash. Aceita um caminho para um binário `bash` ou `zsh`, por exemplo `/opt/homebrew/bin/bash`. Outros shells, como `fish`, não são suportados. Se o valor não for um caminho funcional de `bash` ou `zsh`, o Claude Code o ignora e recorre à detecção automática. A detecção automática usa seu `$SHELL` quando ele aponta para `bash` ou `zsh`; caso contrário, escolhe o primeiro `zsh` e depois `bash` funcional encontrado no seu `PATH` e nos locais de instalação padrão |387| `CLAUDE_CODE_SHELL` | Define o shell que o Claude Code usa para executar comandos da ferramenta Bash. Aceita um caminho para um binário `bash` ou `zsh`, por exemplo `/opt/homebrew/bin/bash`. Outros shells, como `fish`, não são suportados. Se o valor não for um caminho funcional de `bash` ou `zsh`, o Claude Code o ignora e recorre à detecção automática. A detecção automática usa o seu `$SHELL` quando ele aponta para `bash` ou `zsh`; caso contrário, escolhe o primeiro `zsh` e depois `bash` funcionais encontrados no seu `PATH` e nos locais de instalação padrão |

386| `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 logs ou auditoria. Definir um caminho de executável simples, como `/path/to/logger.sh`, executa cada comando como `/path/to/logger.sh '<command>'`. O wrapper recebe a linha de comando como um único argumento entre aspas do shell em `$1`, portanto o wrapper deve reavaliar `$1` com um shell, por exemplo `exec bash -c "$1"`. Tratar `$1` como um caminho de executável simples quebra servidores MCP stdio que passam argumentos como `npx -y <package>`. Para chamadas da ferramenta Bash, `$1` contém a invocação completa do shell que o Claude Code monta, incluindo a configuração do ambiente, e não apenas o comando que o Claude executou |388| `CLAUDE_CODE_SHELL_PREFIX` | Prefixo de comando que envolve os comandos de shell que o Claude Code inicia: chamadas da ferramenta Bash, comandos de [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 de PowerShell e hooks em formato exec são executados sem o prefixo. Útil para logs ou auditoria. Definir um caminho de executável simples, como `/path/to/logger.sh`, executa cada comando como `/path/to/logger.sh '<command>'`. O wrapper recebe a linha de comando como um único argumento 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, não apenas o comando que o Claude executou |

387| `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. As 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, portanto 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) |389| `CLAUDE_CODE_SIMPLE` | Defina como `1` para executar com um system prompt mínimo e apenas as ferramentas Bash, de leitura de arquivos e de edição de arquivos. As ferramentas MCP de `--mcp-config` continuam disponíveis. Desativa a descoberta automática de hooks, skills, comandos personalizados, subagentes, plugins instalados, servidores MCP, memória automática e CLAUDE.md. Skills em um diretório que você passa com `--add-dir` ainda são carregadas. Tokens OAuth e credenciais do keychain não são lidos, então a autenticação da Anthropic deve vir de `ANTHROPIC_API_KEY` ou de um `apiKeyHelper` em `--settings`. Equivale a passar [`--bare`](/docs/pt/headless#start-faster-with-bare-mode) |

388| `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 o ativaria. O conjunto completo de ferramentas, hooks, servidores MCP e a descoberta de CLAUDE.md permanecem ativados |390| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Escolhe entre o system prompt completo do Claude Code e um mais curto, com descrições de ferramentas abreviadas. Quando não definida, o Haiku 4.5, o Sonnet 5, o Opus 4.7 e modelos anteriores dessas famílias usam o prompt completo por padrão, e modelos mais novos usam o mais curto. Defina como `1` para usar o prompt mais curto em qualquer modelo. Defina como `0`, `false`, `no` ou `off` para usar o prompt completo em qualquer modelo, mesmo onde um experimento ou uma configuração do servidor selecionaria o mais curto. Ambos os prompts mantêm o conjunto completo de ferramentas, hooks, servidores MCP e a descoberta de CLAUDE.md |

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

390| `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, de modo que o Claude Code resolva a cadeia a cada requisição de API. Com o cache desativado, um perfil baseado em SSO solicita credenciais ao IAM Identity Center a cada requisição. Consulte [cache de credenciais e timeout de resolução](/docs/pt/amazon-bedrock#credential-caching-and-resolution-timeout). Requer Claude Code v2.1.207 ou posterior |392| `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, de modo que o Claude Code resolva a cadeia a cada requisição de API. Com o cache desativado, um perfil baseado em SSO solicita credenciais ao IAM Identity Center a cada requisição. Consulte [cache de credenciais e timeout de resolução](/docs/pt/amazon-bedrock#credential-caching-and-resolution-timeout). Requer o Claude Code v2.1.207 ou posterior |

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

392| `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" |394| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` | Defina como `1` para tratar uma verificação de disponibilidade do [modo rápido](/docs/pt/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) com falha como disponível, para redes que bloqueiam a requisição direta da verificação a `api.anthropic.com`. O Claude Code ainda respeita uma resposta de "desativado pela sua organização" |

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

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

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

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

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

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

399| `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, caso contrário, terminam apenas com o stderr. Requer Claude Code v2.1.274 ou posterior |401| `CLAUDE_CODE_STARTUP_FAILURE_RESULTS` | Defina como `1` para que uma sessão iniciada com `--output-format stream-json` escreva uma [mensagem de resultado indicando por que o Claude Code se recusou a iniciar](/docs/pt/agent-sdk/typescript#startup_failure_reason) para falhas de inicialização que, de outra forma, terminam apenas com o stderr. Requer o Claude Code v2.1.274 ou posterior |

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

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

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

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

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

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

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

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

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

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

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

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

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

413| `CLAUDE_CODE_TMPDIR` | Sobrescreve o diretório temporário usado para arquivos temporários internos. O Claude Code acrescenta `/claude-{uid}/` a esse caminho no Unix, ou `/claude/` no Windows. Padrão: `/tmp` no macOS, `os.tmpdir()` no Linux e no Windows. No macOS e no Linux, subprocessos Bash em [sandbox](/docs/pt/sandboxing) recebem um `$TMPDIR` curto de fallback 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 do 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) |415| `CLAUDE_CODE_TMPDIR` | Sobrescreve o diretório temporário usado para arquivos temporários internos. O Claude Code acrescenta `/claude-{uid}/` a esse caminho no Unix, ou `/claude/` no Windows. Padrão: `/tmp` no macOS, `os.tmpdir()` no Linux e no Windows. No macOS e no Linux, subprocessos Bash em [sandbox](/docs/pt/sandboxing) recebem um `$TMPDIR` de fallback curto sob o padrão do sistema quando o seu valor é 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 o seu shell não define `$TMPDIR`, um comando Bash que faz referência a `$TMPDIR` recebe o seu valor, ou `%TEMP%` quando você não definiu um. Os próprios arquivos temporários do Claude Code sempre usam o seu valor. 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) |

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

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

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

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

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

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

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

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

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

423| `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-a se o binário do ripgrep incluído estiver indisponível ou bloqueado no seu ambiente. Não afeta o Grep nem as ferramentas de busca de arquivos |425| `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-a se o binário do ripgrep incluído estiver indisponível ou bloqueado no seu ambiente. Não afeta o Grep nem as ferramentas de busca de arquivos |

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

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

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

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

428| `CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE` | Quando `CLAUDE_AUTO_BACKGROUND_TASKS` está definida como `1`, quanto tempo Claude Code espera antes de cada lembrete 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 uma ou mais esperas separadas por vírgula, em segundos inteiros de `1` a `86400`, como `600` ou `600,1800,3600`. Cada valor é a espera antes do próximo lembrete, e o último valor se repete. Aceita apenas dígitos simples; qualquer outro valor ou grafia é lido como não definido. Quando não definida, não há lembretes. Requer Claude Code v2.1.283 ou posterior |430| `CLAUDE_CODE_WEB_SEARCH_REFILLS_PER_HOUR` | Taxa na qual o [limite do WebSearch](/docs/pt/tools-reference#session-search-limit) de uma sessão é reabastecido, em chamadas por hora. O padrão é `100` em uma sessão interativa no terminal. Em uma sessão [não interativa](/docs/pt/headless), o padrão é `0`, o que desativa o reabastecimento. Aceita apenas dígitos simples; qualquer outra grafia é lida como não definida. Requer Claude Code v2.1.290 ou posterior |

429| `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 Claude Code tem menos CPUs disponíveis; chamadas `agent()` na fila aguardam um slot livre. A transcrição de cada agente em execução permanece na memória do Claude Code, portanto valores mais altos aumentam o uso de memória. Aceita apenas dígitos simples; valores fora do intervalo e outras grafias mantêm o padrão. Requer Claude Code v2.1.269 ou posterior |431| `CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE` | Quando `CLAUDE_AUTO_BACKGROUND_TASKS` está definido como `1`, quanto tempo o Claude Code espera antes de cada lembrete ao Claude para verificar [subagentes em segundo plano](/docs/pt/sub-agents#run-subagents-in-foreground-or-background) que ainda estão em execução. Aceita uma ou mais esperas separadas por vírgula, em segundos inteiros de `1` a `86400`, como `600` ou `600,1800,3600`. Cada valor é a espera antes do próximo lembrete, e o último valor se repete. Aceita apenas dígitos simples; qualquer outro valor ou grafia é lido como não definido. Quando não definido, não há lembretes. Requer Claude Code v2.1.283 ou posterior |

430| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | Limite superior em milissegundos de quanto tempo um agente de [workflow](/docs/pt/workflows) espera que a primeira resposta de um irmão com o mesmo prefixo comece antes de enviar sua própria primeira requisição. Quando um fan-out inicia vários agentes que compartilham um [prefixo de cache de prompt](/docs/pt/workflows#prompt-caching-in-a-fan-out), Claude Code retém todos, exceto o primeiro agente, por até esse tempo, para que os demais leiam o prefixo em cache em vez de cada um processá-lo sem cache. Padrão `5000`. Defina como `0` para desativar a espera. Quando `DISABLE_PROMPT_CACHING` está definida, os agentes nunca esperam. Requer Claude Code v2.1.229 ou posterior |432| `CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS` | Quantos agentes uma única execução de [workflow](/docs/pt/workflows) executa ao mesmo tempo, de `1` a `256`. Por padrão, uma execução executa até 16 agentes ao mesmo tempo, menos quando o Claude Code tem menos CPUs disponíveis; chamadas `agent()` enfileiradas aguardam um slot livre. A transcrição de cada agente em execução permanece na memória do Claude Code, portanto valores mais altos aumentam o uso de memória RAM. 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 |

431| `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 Claude Code armazena credenciais](/docs/pt/authentication#credential-management). Útil para executar várias contas lado a lado: por exemplo, `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`. Defina-a no seu shell, nas configurações de usuário ou nas configurações gerenciadas. Em um arquivo de configurações, escreva o [caminho absoluto](#in-settings-files). Ignorada nas [configurações de projeto e locais](/docs/pt/settings-reference#variables-claude-code-ignores-in-env) |433| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | Limite superior, em milissegundos, de quanto tempo um agente de [workflow](/docs/pt/workflows) espera que a primeira resposta de um 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 do cache de prompt](/docs/pt/workflows#prompt-caching-in-a-fan-out), o Claude Code retém todos, exceto o primeiro agente, por até esse tempo, para que os demais leiam o prefixo em cache em vez de cada um processá-lo sem cache. Padrão `5000`. Defina como `0` para desativar a espera. Quando `DISABLE_PROMPT_CACHING` está definido, os agentes nunca esperam. Requer Claude Code v2.1.229 ou posterior |

432| `CLAUDE_DISABLE_ADOPT` | Defina como `1` para interromper o trabalho em segundo plano em andamento em vez de transferi-lo quando você envia uma sessão para segundo plano pressionando `←` ou com [`/background`](/docs/pt/agent-view#from-inside-a-session). Claude Code pede que você confirme antes de enviar para segundo plano e, em seguida, interrompe as tarefas que, de outra forma, seriam transferidas. Requer Claude Code v2.1.195 ou posterior |434| `CLAUDE_CONFIG_DIR` | Sobrescreve o diretório de configuração (padrão: `~/.claude`). Todas as configurações, o histórico de sessões e os plugins são armazenados nesse caminho. Para credenciais, consulte [onde o Claude Code armazena credenciais](/docs/pt/authentication#credential-management). Útil para executar várias contas lado a lado: por exemplo, `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`. Defina-o no seu shell, nas configurações de usuário ou nas configurações gerenciadas. Em um arquivo de configurações, escreva o [caminho absoluto](#in-settings-files). Ignorado em [configurações de projeto e locais](/docs/pt/settings-reference#variables-claude-code-ignores-in-env) |

433| `CLAUDE_EFFORT` | Definida automaticamente em subprocessos da ferramenta Bash e em comandos de hook com o [nível de esforço](/docs/pt/model-config#adjust-effort-level) em vigor quando o subprocesso é iniciado: `low`, `medium`, `high`, `xhigh` ou `max`. Corresponde ao campo `effort.level` passado para [hooks](/docs/pt/hooks). Definida apenas quando o modelo atual suporta o parâmetro de esforço |435| `CLAUDE_DISABLE_ADOPT` | Defina como `1` para interromper o trabalho em segundo plano em andamento em vez de transferi-lo quando você coloca uma sessão em segundo plano pressionando `←` ou com [`/background`](/docs/pt/agent-view#from-inside-a-session). O Claude Code pede sua confirmação antes de colocar em segundo plano e, em seguida, interrompe as tarefas que, de outra forma, seriam transferidas. Requer Claude Code v2.1.195 ou posterior |

434| `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 fica ativado por padrão para conexões diretas com a Anthropic API e com a [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, portanto 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) |436| `CLAUDE_EFFORT` | Definido 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 aos [hooks](/docs/pt/hooks). Definido apenas quando o modelo atual oferece suporte ao parâmetro de esforço |

435| `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) em requisições de streaming do Bedrock. Desativado por padrão. Configure o timeout com `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |437| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Defina como `1` para forçar a ativação do watchdog de inatividade de streaming em nível de byte, ou como `0` para forçar sua desativação. `0` também desativa o [prazo do primeiro byte](/docs/pt/network-config#streaming-idle-watchdogs) nas conexões em que esse prazo é aplicado. Quando não definido, o watchdog fica ativado por padrão para conexões diretas com a Anthropic API e com a [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 uma paralisação 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) |

436| `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 quando não definida era controlado pelo servidor na Anthropic API direta e desativado em outros provedores. Configure o timeout com `CLAUDE_STREAM_IDLE_TIMEOUT_MS`; para os outros temporizadores de travamento executados junto com este, consulte [Watchdogs de inatividade de streaming](/docs/pt/network-config#streaming-idle-watchdogs) |438| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Defina como `1` para ativar o watchdog de inatividade de streaming em nível de byte em respostas `vnd.amazon.eventstream` do Amazon Bedrock, o que também ativa o [prazo do primeiro byte](/docs/pt/network-config#streaming-idle-watchdogs) em requisições de streaming do Bedrock. Desativado por padrão. Configure o timeout com `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |

437| `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, de modo que as exportações no arquivo fiquem visíveis para o comando. Use para persistir 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) |439| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Defina como `0` para forçar a desativação do watchdog de inatividade de streaming em nível de evento, ou como `1` para forçar sua ativação. Quando não definido, o watchdog fica ativado por padrão para todos os provedores. Antes da v2.1.196, o padrão quando não definido era controlado pelo servidor na Anthropic API direta e desativado em outros provedores. Configure o timeout com `CLAUDE_STREAM_IDLE_TIMEOUT_MS`; para os outros temporizadores de paralisação que são executados junto com este, consulte [Watchdogs de inatividade de streaming](/docs/pt/network-config#streaming-idle-watchdogs) |

438| `CLAUDE_JOB_DIR` | Definida pelo Claude Code em cada [sessão em segundo plano](/docs/pt/agent-view) como o diretório `~/.claude/jobs/<id>` dessa sessão. Os comandos de shell que a sessão executa a herdam. Grave arquivos temporários em [`$CLAUDE_JOB_DIR/tmp`](/docs/pt/agent-view#where-state-is-stored). As chamadas `Write` e `Edit` do Claude ali não solicitam permissão, e o diretório é removido quando a sessão é excluída |440| `CLAUDE_ENV_FILE` | Caminho para um script de shell cujo conteúdo o Claude Code executa antes de cada comando Bash no mesmo processo de shell, de modo que 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 preenchido 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) |

439| `CLAUDE_PID` | Claude Code define esta variável com seu próprio ID de processo nos subprocessos que ele inicia: comandos das ferramentas Bash e PowerShell e comandos de hook. No Linux, a integração de shell da ferramenta Bash a usa para recusar um padrão `pkill` que corresponderia ao próprio processo do Claude Code; consulte [a referência de erros](/docs/pt/errors#pkill-pattern-matches-the-claude-code-process). Leia-a em seus próprios scripts para identificar ou sinalizar deliberadamente o processo pai do Claude Code. Requer Claude Code v2.1.214 ou posterior |441| `CLAUDE_JOB_DIR` | Definido pelo Claude Code em cada [sessão em segundo plano](/docs/pt/agent-view) como o diretório `~/.claude/jobs/<id>` dessa sessão. Os comandos de shell que a sessão executa o herdam. Grave arquivos temporários em [`$CLAUDE_JOB_DIR/tmp`](/docs/pt/agent-view#where-state-is-stored). As chamadas `Write` e `Edit` do Claude nesse local não solicitam permissão, e o diretório é removido quando a sessão é excluída |

442| `CLAUDE_PID` | O Claude Code define isto como 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 o 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-o em seus próprios scripts para identificar ou sinalizar deliberadamente o processo pai do Claude Code. Requer Claude Code v2.1.214 ou posterior |

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

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

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

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

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

445| `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 |448| `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 |

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

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

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

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

450| `DISABLE_ERROR_REPORTING` | Defina com qualquer valor não vazio, como `1`, para optar por não participar do relatório de erros. **Defini-la como `0` ou `false` ainda desativa o relatório**, 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 |453| `DISABLE_ERROR_REPORTING` | Defina como qualquer valor não vazio, como `1`, para recusar o relatório de erros. **Defini-la como `0` ou `false` ainda recusa**, 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 |

451| `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 |454| `DISABLE_EXTRA_USAGE_COMMAND` | Defina como `1` para ocultar o comando `/usage-credits`, que permite aos usuários comprar uso adicional além dos rate limits |

452| `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`, portanto o comando era desativado sob todos os nomes. O nome antigo `DISABLE_BUG_COMMAND` também é aceito |455| `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 em todos os nomes. O nome antigo `DISABLE_BUG_COMMAND` também é aceito |

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

454| `DISABLE_INSTALLATION_CHECKS` | Defina como `1` para desativar os avisos de instalação. Use apenas ao gerenciar manualmente o local de instalação, pois isso pode mascarar problemas em instalações padrão |457| `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 |

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

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

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

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

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


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

462| `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) |465| `DISABLE_PROMPT_CACHING_OPUS` | Defina como `1` para desativar o cache de prompt para o [modelo Opus padrão](/docs/pt/prompt-caching#disable-prompt-caching) |

463| `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) |466| `DISABLE_PROMPT_CACHING_SONNET` | Defina como `1` para desativar o cache de prompt para o [modelo Sonnet padrão](/docs/pt/prompt-caching#disable-prompt-caching) |

464| `DISABLE_TELEMETRY` | Defina com qualquer valor não vazio, como `1`, para optar por não participar da telemetria. **Defini-la como `0` ou `false` ainda desativa a telemetria**, 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) |467| `DISABLE_TELEMETRY` | Defina como qualquer valor não vazio, como `1`, para recusar a telemetria. **Defini-la como `0` ou `false` ainda recusa**, 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) |

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

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

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

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

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

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

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

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

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

474| `FORCE_AUTOUPDATE_PLUGINS` | Defina como `1` para forçar as atualizações automáticas de plugins mesmo quando o atualizador automático principal está desativado por meio de `DISABLE_AUTOUPDATER` |477| `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` |

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

476| `FORCE_PROMPT_CACHING_5M` | Defina como `1` para forçar o TTL de cache de prompt de 5 minutos mesmo quando o TTL de 1 hora seria aplicado. Sobrescreve `CLAUDE_CODE_PROMPT_CACHE_TTL`, `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, `ENABLE_PROMPT_CACHING_1H` e as configurações `promptCacheTtl` e `subagentPromptCacheTtl` |479| `FORCE_PROMPT_CACHING_5M` | Defina como `1` para forçar o TTL de 5 minutos do cache de prompt 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` |

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

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

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

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

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

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

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

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

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

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

487| `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, 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 |490| `MCP_DISCOVERY_CACHE_MAX_STALE_S` | Idade máxima, em segundos, de uma entrada do [cache de descoberta](/docs/pt/mcp#server-status-detail) (padrão: 14400, ou 4 horas). Em uma inicialização 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 |

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

489| `MCP_DISCOVERY_CACHE_TTL_S` | Segundos durante os quais 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, Claude Code ainda a usa, mas a atualiza em segundo plano. Quando a entrada fica 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 |492| `MCP_DISCOVERY_CACHE_TTL_S` | Segundos durante os quais o Claude Code usa uma entrada do [cache de descoberta](/docs/pt/mcp#server-status-detail) sem atualizá-la (padrão: 900). Em uma inicialização 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 |

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

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

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

493| `MCP_SDK_GENERATION` | Fixa o [runtime de cliente MCP](/docs/pt/mcp#mcp-client-runtimes) com o qual este processo se conecta aos servidores MCP: `v1`, construído sobre o MCP TypeScript SDK 1.x, ou `v2`, construído sobre o [MCP TypeScript SDK 2.0](https://ts.sdk.modelcontextprotocol.io/v2/). Sem a variável, 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, Claude Code o ignora e grava um aviso no log de depuração. Claude Code lê o valor uma vez por processo. Requer Claude Code v2.1.218 ou posterior |496| `MCP_SDK_GENERATION` | Fixa qual [runtime de cliente MCP](/docs/pt/mcp#mcp-client-runtimes) este processo usa para se conectar a servidores MCP: `v1`, construído sobre o MCP TypeScript SDK 1.x, ou `v2`, construído sobre o [MCP TypeScript SDK 2.0](https://ts.sdk.modelcontextprotocol.io/v2/). Sem a variável, o Claude Code usa o v2, a partir das versões listadas nessa seção. No Claude Code v2.1.221 ou posterior, o runtime v2 verifica o emissor que um servidor OAuth do MCP retorna em sua resposta de autorização e falha o login 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 |

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

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

496| `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 esta variável para esse servidor. Um `timeout` por servidor de pelo menos 1000 também define a janela mínima de inatividade para as chamadas de ferramenta desse servidor, de modo que `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` nunca as interrompa antes; esse piso requer Claude Code v2.1.203 ou posterior. Para a variável de ambiente, valores abaixo de 1000 são arredondados para um segundo; para o campo por servidor, valores abaixo de 1000 são ignorados |499| `MCP_TOOL_TIMEOUT` | Timeout, em milissegundos, para a execução de ferramentas MCP (padrão: 100000000, cerca de 28 horas). Para um servidor HTTP, SSE ou de conector do claude.ai, cada requisição também atinge o timeout após 60 segundos por padrão; defina esta variável, ou o `timeout` por servidor, acima de 60000 para aumentar esse limite por requisição. Um valor menor ainda 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, de modo 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 |

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

498| `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` | Limite padrão do OpenTelemetry SDK para o comprimento de valores de atributos. Claude Code limita os atributos de telemetria com conteúdo ao menor valor entre este e `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`, para que o marcador de truncamento permaneça dentro do limite do SDK. 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) |501| `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` | Limite padrão do SDK do OpenTelemetry para o comprimento dos 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) |

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

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

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

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

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

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

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

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

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

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

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

510| `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) |513| `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) |

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

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

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

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

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

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


534 537 

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

536 539 

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

538 541 

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

540 O que a limpeza do ambiente de subprocessos remove543 O que a limpeza do ambiente de subprocessos remove


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

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

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

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

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

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

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

errors.md +37 −40

Details

436| :- | :- | :- |436| :- | :- | :- |

437| [`CLAUDE_CODE_MAX_RETRIES`](/docs/pt/env-vars) | 10 | Número de novas tentativas. 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. Reduza-o para expor falhas mais rapidamente em scripts. |437| [`CLAUDE_CODE_MAX_RETRIES`](/docs/pt/env-vars) | 10 | Número de novas tentativas. 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. Reduza-o para expor falhas mais rapidamente em scripts. |

438| [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/pt/env-vars) | não definido | Defina como `1` em sessões não supervisionadas, como jobs de CI, para tentar 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 requisiçã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](#spend-limit-reached) que é redefinido em um cronograma. Antes da v2.1.239, o watchdog tentava novamente esses erros indefinidamente. Para requisições no modo rápido, veja [Handle rate limits](/docs/pt/fast-mode#handle-rate-limits). 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, aproximadamente três horas de backoff, e remove o limite de 15 em `CLAUDE_CODE_MAX_RETRIES` se você definir essa variável explicitamente. |438| [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/pt/env-vars) | não definido | Defina como `1` em sessões não supervisionadas, como jobs de CI, para tentar 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 requisiçã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](#spend-limit-reached) que é redefinido em um cronograma. Antes da v2.1.239, o watchdog tentava novamente esses erros indefinidamente. Para requisições no modo rápido, veja [Handle rate limits](/docs/pt/fast-mode#handle-rate-limits). 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, aproximadamente três horas de backoff, e remove o limite de 15 em `CLAUDE_CODE_MAX_RETRIES` se você definir essa variável explicitamente. |

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

439| [`API_TIMEOUT_MS`](/docs/pt/env-vars) | 600000 | Timeout por requisição em milissegundos. Aumente-o para redes lentas ou proxies. Também limita quanto tempo Claude Code aguarda os cabeçalhos de resposta, conforme descrito em [No response from API](#no-response-from-api). |440| [`API_TIMEOUT_MS`](/docs/pt/env-vars) | 600000 | Timeout por requisição em milissegundos. Aumente-o para redes lentas ou proxies. Também limita quanto tempo Claude Code aguarda os cabeçalhos de resposta, conforme descrito em [No response from API](#no-response-from-api). |

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

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


721You've hit your Sonnet limit · resets 3:45pm722You've hit your Sonnet limit · resets 3:45pm

722```723```

723 724 

724Claude Code bloqueia outras solicitações até o horário de reset mostrado na mensagem. Os limites de sessão e semanal são compartilhados entre todos os modelos, portanto, trocar de modelo não restaura o acesso. Os limites de Opus e Sonnet se aplicam apenas a solicitações para essa família de modelos, portanto, trocar para um modelo fora da família com `/model` mantém você trabalhando.725Claude Code bloqueia outras requisições até o horário de reset mostrado na mensagem. Os limites de sessão e semanal são compartilhados entre todos os modelos, portanto, trocar de modelo não restaura o acesso. Os limites de Opus e Sonnet se aplicam apenas a requisições para essa família de modelos, portanto, trocar para um modelo fora da família com `/model` mantém você trabalhando.

725 726 

726Em uma sessão interativa conectada com uma assinatura claude.ai, Claude Code também pode aguardar na sessão aberta e continuar a tarefa interrompida logo após o reset. Veja [Wait for a usage limit to reset](/docs/pt/interactive-mode#wait-for-a-usage-limit-to-reset) para o que você vê, como iniciar ou cancelar uma espera e como desativar a continuação automática. Antes da v2.1.234, Claude Code não oferecia essa espera.727Em uma sessão interativa conectada com uma assinatura claude.ai, Claude Code também pode aguardar na sessão aberta e continuar a tarefa interrompida logo após o reset. Veja [Wait for a usage limit to reset](/docs/pt/interactive-mode#wait-for-a-usage-limit-to-reset) para o que você vê, como iniciar ou cancelar uma espera e como desativar a continuação automática. Antes da v2.1.234, Claude Code não oferecia essa espera.

727 728 


730**O que fazer:**731**O que fazer:**

731 732 

732* Aguarde o horário de reset mostrado no erro733* Aguarde o horário de reset mostrado no erro

733* Na aba Code do [Desktop app](/docs/pt/desktop), o cartão de limite de sessão oferece uma caixa de seleção **Auto-continue when limits reset**. O cartão de limite semanal não oferece. Quando marcada, o Desktop app tenta novamente a volta interrompida após o reset e mostra o horário da tentativa no cartão. A caixa de seleção do Desktop e a configuração **Continue automatically at usage limit** da CLI em `/config` são separadas, portanto, desative cada uma por conta própria.734* Na aba Code do [Desktop app](/docs/pt/desktop), o cartão de limite de sessão oferece uma caixa de seleção **Auto-continue when limits reset**. O cartão de limite semanal não oferece. Quando marcada, o Desktop app tenta novamente o turno interrompido após o reset e mostra o horário da tentativa no cartão. A caixa de seleção do Desktop e a configuração **Continue automatically at usage limit** da CLI em `/config` são separadas, portanto, desative cada uma por conta própria.

734* Para o limite de Opus ou Sonnet, execute `/model` e mude para um modelo fora dessa família para continuar trabalhando. Cada modelo tem seu próprio cache de prompt, portanto, a próxima solicitação relê toda a conversa sem acertos de cache; veja [Switching models](/docs/pt/prompt-caching#switching-models)735* Para o limite de Opus ou Sonnet, execute `/model` e mude para um modelo fora dessa família para continuar trabalhando. Cada modelo tem seu próprio cache de prompt, portanto, a próxima requisição relê toda a conversa sem acertos de cache; veja [Switching models](/docs/pt/prompt-caching#switching-models)

735* Execute `/usage` para ver seus limites de plano e quando eles são resetados736* Execute `/usage` para ver seus limites de plano e quando eles são resetados

736* Execute `/usage-credits` para comprar uso adicional em Pro e Max, ou para solicitá-lo ao seu administrador em Team e Enterprise. Veja [usage credits for paid plans](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) para saber como isso é cobrado.737* Execute `/usage-credits` para comprar uso adicional em Pro e Max, ou para solicitá-lo ao seu administrador em Team e Enterprise. Veja [usage credits for paid plans](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) para saber como isso é cobrado.

737* Para atualizar seu plano para limites base mais altos, veja [claude.com/pricing](https://claude.com/pricing)738* Para atualizar seu plano para limites base mais altos, veja [claude.com/pricing](https://claude.com/pricing)


752 753 

753Esta é uma verificação de direito, não um esgotamento de cota. Ela é acionada mesmo quando suas permissões de sessão e semanal têm capacidade restante. Veja [Extended context](/docs/pt/model-config#extended-context) para saber quais planos incluem contexto de 1M diretamente e quais exigem créditos de uso.754Esta é uma verificação de direito, não um esgotamento de cota. Ela é acionada mesmo quando suas permissões de sessão e semanal têm capacidade restante. Veja [Extended context](/docs/pt/model-config#extended-context) para saber quais planos incluem contexto de 1M diretamente e quais exigem créditos de uso.

754 755 

755Quando este erro aparece no meio da conversa porque o contexto cresceu além de 200K tokens, Claude Code compacta automaticamente a conversa de volta para o limite de contexto padrão e mantém a sessão nesse limite depois, portanto, nenhuma ação é necessária. Em versões anteriores à v2.1.172, o erro se repetia em cada solicitação subsequente, incluindo `/compact`; execute `/clear` nessas versões para recuperar. Os passos abaixo se aplicam quando você selecionou explicitamente um modelo `[1m]`.756Quando este erro aparece no meio da conversa porque o contexto cresceu além de 200K tokens, Claude Code compacta automaticamente a conversa de volta para o limite de contexto padrão e mantém a sessão nesse limite depois, portanto, nenhuma ação é necessária. Em versões anteriores à v2.1.172, o erro se repetia em cada requisição subsequente, incluindo `/compact`; execute `/clear` nessas versões para recuperar. Os passos abaixo se aplicam quando você selecionou explicitamente um modelo `[1m]`.

756 757 

757**O que fazer:**758**O que fazer:**

758 759 


767 The prompt to confirm went unanswered768 The prompt to confirm went unanswered

768</h3>769</h3>

769 770 

770Se sua conta exigir o [Fable usage-credits consent](/docs/pt/model-config#fable-and-usage-credits), Claude Code pede que você confirme antes de uma solicitação Fable cobrar créditos de uso. Quando o prompt de consentimento fecha sem ninguém respondê-lo, Claude Code encerra a volta com uma destas mensagens:771Se sua conta exigir o [Fable usage-credits consent](/docs/pt/model-config#fable-and-usage-credits), Claude Code pede que você confirme antes de uma requisição Fable cobrar créditos de uso. Quando o prompt de consentimento fecha sem ninguém respondê-lo, Claude Code encerra o turno com uma destas mensagens:

771 772 

772```text theme={null}773```text theme={null}

773Fable limit reached · continuing on Fable 5.1 uses usage credits, and the prompt to confirm went unanswered — nothing was sent · answer it where this session is running, or /model to change774Fable limit reached · continuing on Fable 5.1 uses usage credits, and the prompt to confirm went unanswered — nothing was sent · answer it where this session is running, or /model to change


776 777 

777As mensagens nomeiam o modelo Fable da sessão, portanto, em Fable 5 elas leem `continuing on Fable 5` e `Fable 5 now uses usage credits`. Antes da v2.1.257, a primeira mensagem começava `Fable 5 limit reached`.778As mensagens nomeiam o modelo Fable da sessão, portanto, em Fable 5 elas leem `continuing on Fable 5` e `Fable 5 now uses usage credits`. Antes da v2.1.257, a primeira mensagem começava `Fable 5 limit reached`.

778 779 

779Isso acontece em sessões [Remote Control](/docs/pt/remote-control), [background sessions](/docs/pt/agent-view), [agent team](/docs/pt/agent-teams) de colegas, e sessões que outro aplicativo hospeda através do Agent SDK. Para quando Claude Code fecha o prompt, veja [Fable and usage credits](/docs/pt/model-config#fable-and-usage-credits).780Isso acontece em sessões [Remote Control](/docs/pt/remote-control), [background sessions](/docs/pt/agent-view), sessões de colegas de [agent team](/docs/pt/agent-teams), e sessões que outro aplicativo hospeda através do Agent SDK. Para quando Claude Code fecha o prompt, veja [Fable and usage credits](/docs/pt/model-config#fable-and-usage-credits).

780 781 

781**O que fazer:**782**O que fazer:**

782 783 


784* Execute `/model` para mudar para um modelo que não cobra créditos de uso785* Execute `/model` para mudar para um modelo que não cobra créditos de uso

785* Para dar a si mesmo mais tempo, defina [`dialogExpiry`](/docs/pt/settings-reference#dialogexpiry) para um valor mais longo ou `"never"`786* Para dar a si mesmo mais tempo, defina [`dialogExpiry`](/docs/pt/settings-reference#dialogexpiry) para um valor mais longo ou `"never"`

786 787 

787Antes da v2.1.236, esta mensagem não aparecia: enquanto um cliente Remote Control estava conectado, Claude Code aguardava 60 segundos por uma resposta e depois continuava a volta em seu modelo padrão.788Antes da v2.1.236, esta mensagem não aparecia: enquanto um cliente Remote Control estava conectado, Claude Code aguardava 60 segundos por uma resposta e depois continuava o turno em seu modelo padrão.

788 789 

789<h3 id="server-is-temporarily-limiting-requests">790<h3 id="server-is-temporarily-limiting-requests">

790 Server is temporarily limiting requests791 Server is temporarily limiting requests


796API Error: Server is temporarily limiting requests (not your usage limit)797API Error: Server is temporarily limiting requests (not your usage limit)

797```798```

798 799 

799Claude Code diferencia estes da sua cota de plano pela ausência dos cabeçalhos de cota unificada que uma resposta de limite real carrega. A partir da v2.1.199, isto é [retried automatically](#automatic-retries) com backoff antes de ser mostrado, independentemente de como você se autentica. Em versões anteriores, uma sessão conectada com uma assinatura claude.ai falhava na volta na primeira ocorrência; apenas as entradas de chave API e Enterprise a retentavam.800Claude Code diferencia estes da sua cota de plano pela ausência dos cabeçalhos de cota unificada que uma resposta de limite real carrega. A partir da v2.1.199, isto é [retried automatically](#automatic-retries) com backoff antes de ser mostrado, independentemente de como você se autentica. Em versões anteriores, uma sessão conectada com uma assinatura claude.ai falhava no turno na primeira ocorrência; apenas as entradas de chave de API e Enterprise a retentavam.

800 801 

801**O que fazer:**802**O que fazer:**

802 803 


807 Request rejected (429)808 Request rejected (429)

808</h3>809</h3>

809 810 

810Você atingiu o limite de taxa configurado para sua chave API, projeto Amazon Bedrock ou projeto Google Cloud.811Você atingiu o rate limit configurado para sua chave de API, projeto Amazon Bedrock ou projeto Google Cloud.

811 812 

812```text theme={null}813```text theme={null}

813API Error: Request rejected (429) · this may be a temporary capacity issue. If it persists, check https://status.claude.com.814API Error: Request rejected (429) · this may be a temporary capacity issue. If it persists, check https://status.claude.com.


819 820 

820**O que fazer:**821**O que fazer:**

821 822 

822* Execute `/status` e confirme que a credencial ativa é a que você espera. Um `ANTHROPIC_API_KEY` perdido em seu ambiente pode rotear solicitações através de uma chave de nível inferior em vez de sua assinatura.823* Execute `/status` e confirme que a credencial ativa é a que você espera. Um `ANTHROPIC_API_KEY` perdido em seu ambiente pode rotear requisições através de uma chave de nível inferior em vez de sua assinatura.

823* Verifique seu console de provedor para os limites ativos e solicite um nível mais alto se necessário824* Verifique seu console de provedor para os limites ativos e solicite um nível mais alto se necessário

824* Para chaves API Anthropic, veja a [rate limits reference](https://platform.claude.com/docs/en/api/rate-limits) para saber como os níveis funcionam e como definir limites por workspace825* Para chaves de API Anthropic, veja a [rate limits reference](https://platform.claude.com/docs/en/api/rate-limits) para saber como os níveis funcionam e como definir limites por workspace

825* Reduza a concorrência: diminua [`CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY`](/docs/pt/env-vars), evite executar muitos subagentos paralelos, ou mude para um modelo menor com `/model` para execuções de script de alto volume826* Reduza a concorrência: diminua [`CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY`](/docs/pt/env-vars), evite executar muitos subagentes paralelos, ou mude para um modelo menor com `/model` para execuções de script de alto volume

826 827 

827<h3 id="youve-hit-your-monthly-spend-limit">828<h3 id="youve-hit-your-monthly-spend-limit">

828 You've hit your monthly spend limit829 You've hit your monthly spend limit

829</h3>830</h3>

830 831 

831O uso incluído do seu plano não pode cobrir esta solicitação, e os [usage credits](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) que de outra forma pagariam por isso atingiram um limite de gastos. Isso acontece quando uma das janelas de uso do seu plano se esgotou, ou quando a solicitação é uma que apenas créditos de uso pagam, como uma solicitação para um modelo que [bills to usage credits](/docs/pt/model-config#fable-and-usage-credits). A mensagem nomeia cujo limite o bloqueou. O texto após o `·` diz como aumentar esse limite e varia com seu plano e se você gerencia a cobrança:832O uso incluído do seu plano não pode cobrir esta requisição, e os [usage credits](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) que de outra forma pagariam por isso atingiram um limite de gastos. Isso acontece quando uma das janelas de uso do seu plano se esgotou, ou quando a requisição é uma que apenas créditos de uso pagam, como uma requisição para um modelo que [bills to usage credits](/docs/pt/model-config#fable-and-usage-credits). A mensagem nomeia cujo limite o bloqueou. O texto após o `·` diz como aumentar esse limite e varia com seu plano e se você gerencia o faturamento:

832 833 

833```text theme={null}834```text theme={null}

834You've hit your monthly spend limit · raise it at claude.ai/settings/usage835You've hit your monthly spend limit · raise it at https://claude.ai/settings/usage?from=cc_cli_limit_message

835You've hit your individual spend limit · ask your admin for a higher limit836You've hit your individual spend limit · ask your admin for a higher limit

836You've hit your org's monthly spend limit · visit claude.ai/admin-settings/usage to raise it837You've hit your org's monthly spend limit · visit https://claude.ai/admin-settings/usage to raise it

837You've hit your team's shared budget · ask your admin to raise it at claude.ai/admin-settings/usage838You've hit your team's shared budget · ask your admin to raise it at https://claude.ai/admin-settings/usage

838You've hit your channel's monthly spend limit · an org owner or channel manager can raise it in the channel's Claude settings839You've hit your channel's monthly spend limit · an org owner or channel manager can raise it in the channel's Claude settings

839```840```

840 841 


842 843 

843Quando uma das janelas do seu plano é o que se esgotou, a mensagem também diz quando essa janela é resetada, por exemplo `· your session limit resets 3:45pm`, e o acesso retorna então sem que ninguém aumente o limite. Em organizações com cobrança baseada em uso, a mensagem diz `usage limit` em vez de `spend limit`, como em `You've hit your individual usage limit`.844Quando uma das janelas do seu plano é o que se esgotou, a mensagem também diz quando essa janela é resetada, por exemplo `· your session limit resets 3:45pm`, e o acesso retorna então sem que ninguém aumente o limite. Em organizações com cobrança baseada em uso, a mensagem diz `usage limit` em vez de `spend limit`, como em `You've hit your individual usage limit`.

844 845 

845Antes da v2.1.239, a mensagem não nomeava o horário de reset da janela do plano. Antes da v2.1.268, o orçamento agrupado de um grupo produzia a mensagem `individual spend limit` em vez de `team's shared budget`.

846 

847Se você se conectar através de um gateway de aplicativos Claude e vir `spend limit reached` em minúsculas, esse é o limite do seu operador de gateway; veja [Spend limit reached](#spend-limit-reached).846Se você se conectar através de um gateway de aplicativos Claude e vir `spend limit reached` em minúsculas, esse é o limite do seu operador de gateway; veja [Spend limit reached](#spend-limit-reached).

848 847 

849**O que fazer:**848**O que fazer:**


858 Spend limit reached857 Spend limit reached

859</h3>858</h3>

860 859 

861Você se conecta através de um [Claude apps gateway](/docs/pt/claude-apps-gateway) e passou por um [spend cap](/docs/pt/claude-apps-gateway-spend-limits) que seu operador de gateway definiu. O gateway bloqueia suas solicitações até que o período nomeado seja resetado ou o operador aumente o limite. Ele marca cada resposta `429` bloqueada com `x-should-retry: false`, portanto, Claude Code mostra esta mensagem sem tentar novamente.860Você se conecta através de um [Claude apps gateway](/docs/pt/claude-apps-gateway) e passou por um [spend cap](/docs/pt/claude-apps-gateway-spend-limits) que seu operador de gateway definiu. O gateway bloqueia suas requisições até que o período nomeado seja resetado ou o operador aumente o limite. Ele marca cada resposta `429` bloqueada com `x-should-retry: false`, portanto, Claude Code mostra esta mensagem sem tentar novamente.

862 861 

863```text theme={null}862```text theme={null}

864spend limit reached (daily; resets 2026-08-09 00:00 UTC)863spend limit reached (daily; resets 2026-08-09 00:00 UTC)


871* Aguarde o horário de reset que a mensagem nomeia, ou siga as instruções do operador se a mensagem as carregar870* Aguarde o horário de reset que a mensagem nomeia, ou siga as instruções do operador se a mensagem as carregar

872* Peça ao seu operador de gateway para aumentar o limite se você o atingir rotineiramente871* Peça ao seu operador de gateway para aumentar o limite se você o atingir rotineiramente

873 872 

874Uma mensagem relacionada, `spend limit unavailable`, significa que o gateway não conseguiu ler seus registros de gastos e bloqueou a solicitação como precaução em vez de sobre seu limite. Geralmente se limpa por conta própria; se persistir, informe seu operador de gateway.873Uma mensagem relacionada, `spend limit unavailable`, significa que o gateway não conseguiu ler seus registros de gastos e bloqueou a requisição como precaução em vez de sobre seu limite. Geralmente se limpa por conta própria; se persistir, informe seu operador de gateway.

875 874 

876<h3 id="credit-balance-is-too-low">875<h3 id="credit-balance-is-too-low">

877 Credit balance is too low876 Credit balance is too low

878</h3>877</h3>

879 878 

880Sua organização Console ficou sem créditos pré-pagos, ou Claude Code está enviando suas solicitações com uma chave API Console quando você pretendia usar sua assinatura.879Sua organização Console ficou sem créditos pré-pagos, ou Claude Code está enviando suas requisições com uma chave de API Console quando você pretendia usar sua assinatura.

881 880 

882```text theme={null}881```text theme={null}

883Credit balance is too low882Credit balance is too low


885 884 

886**O que fazer:**885**O que fazer:**

887 886 

888* Se você tem um plano Pro, Max, Team ou Enterprise e vê isso, execute `/status` e verifique a linha `API key`. Um `ANTHROPIC_API_KEY` aprovado em seu ambiente roteia solicitações através dessa chave em vez de sua assinatura. Desdefina-o no shell atual e remova-o do seu perfil de shell, depois relance `claude`. Execute `/login` se você ainda não se conectou com sua assinatura.887* Se você tem um plano Pro, Max, Team ou Enterprise e vê isso, execute `/status` e verifique a linha `API key`. Um `ANTHROPIC_API_KEY` aprovado em seu ambiente roteia requisições através dessa chave em vez de sua assinatura. Desdefina-o no shell atual e remova-o do seu perfil de shell, depois relance `claude`. Execute `/login` se você ainda não se conectou com sua assinatura.

889* Adicione créditos em [platform.claude.com/settings/billing](https://platform.claude.com/settings/billing), e considere ativar o auto-reload lá para que o saldo seja recarregado antes de atingir zero888* Adicione créditos em [platform.claude.com/settings/billing](https://platform.claude.com/settings/billing), e considere ativar o auto-reload lá para que o saldo seja recarregado antes de atingir zero

890* Defina limites de gastos por workspace no Console para evitar que um único projeto drene o saldo da organização. Veja [Manage costs effectively](/docs/pt/costs).889* Defina limites de gastos por workspace no Console para evitar que um único projeto drene o saldo da organização. Veja [Manage costs effectively](/docs/pt/costs).

891 890 


2861 2860 

2862Se a mensagem incluir a linha `` Details: `[reasoning_extraction]` ``, veja [As proteções sinalizaram uma requisição pelo raciocínio do Claude](#safeguards-flagged-a-request-for-claudes-reasoning).2861Se a mensagem incluir a linha `` Details: `[reasoning_extraction]` ``, veja [As proteções sinalizaram uma requisição pelo raciocínio do Claude](#safeguards-flagged-a-request-for-claudes-reasoning).

2863 2862 

2864A mensagem vincula ao [Programa de Verificação Cibernética](https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude), que concede acesso para trabalho de cibersegurança legítimo. Em Opus 5.5 e Sonnet 5.5, a mensagem abre com `<model>'s safeguards flagged this session` em vez disso. Quando a categoria sinalizada tem um modelo de fallback disponível, Claude Code [muda de modelos](/docs/pt/model-config#automatic-model-fallback) em vez de mostrar esse erro.2863Esta mensagem vincula ao [Programa de Verificação Cibernética](https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude), que concede acesso para trabalho de cibersegurança legítimo. Modelos com [fallback automático de modelo](/docs/pt/model-config#automatic-model-fallback) exibem uma mensagem diferente, sem esse link; em Opus 5.5 e Sonnet 5.5, ela abre com `<model>'s safeguards flagged this session`. Essa seção também explica quando Claude Code muda de modelo em vez disso.

2865 2864 

2866Em [Amazon Bedrock](/docs/pt/amazon-bedrock), [Google Cloud's Agent Platform](/docs/pt/google-vertex-ai) e [Microsoft Foundry](/docs/pt/microsoft-foundry), uma sinalização de cibersegurança produz a mensagem de [recusa de Política de Uso](#usage-policy-refusal) em vez disso.2865Em [Amazon Bedrock](/docs/pt/amazon-bedrock), [Google Cloud's Agent Platform](/docs/pt/google-vertex-ai) e [Microsoft Foundry](/docs/pt/microsoft-foundry), uma sinalização de cibersegurança produz a mensagem de [recusa de Política de Uso](#usage-policy-refusal) em vez disso.

2867 2866 


4741 Erros de sessão em background4740 Erros de sessão em background

4742</h2>4741</h2>

4743 4742 

4744As [sessões em background](/docs/pt/agent-view) são executadas sem um terminal interativo próprio, portanto os comandos que precisam de um se comportam de forma diferente lá. Essas mensagens aparecem na transcrição de uma sessão em background, no terminal que se conecta a uma, na sessão ou shell de onde você a despacha, ou, para as [entradas worktree-guard](#write-or-command-blocked-because-the-path-cannot-be-safely-resolved) abaixo, em qualquer sessão isolada em uma worktree ou executando um subagente isolado em worktree; quando uma mensagem é específica de uma superfície, sua entrada diz isso.4743As [sessões em background](/docs/pt/agent-view) são executadas sem um terminal interativo próprio, portanto os comandos que precisam de um se comportam de forma diferente lá. Essas mensagens aparecem na transcrição de uma sessão em background, no terminal que se conecta a uma, na sessão ou shell de onde você a despacha, ou, para as [entradas worktree-guard](#write-or-command-blocked-because-the-path-cannot-be-safely-resolved) abaixo, em qualquer sessão isolada em um worktree ou executando um subagente isolado em worktree; quando uma mensagem é específica de uma superfície, sua entrada diz isso.

4745 4744 

4746<h3 id="commands-refused-in-a-background-session">4745<h3 id="commands-refused-in-a-background-session">

4747 Comandos recusados em uma sessão em background4746 Comandos recusados em uma sessão em background


4766 Write ou command bloqueado porque o caminho não pode ser resolvido com segurança4765 Write ou command bloqueado porque o caminho não pode ser resolvido com segurança

4767</h3>4766</h3>

4768 4767 

4769Claude abordou um arquivo ou diretório de trabalho através de uma grafia que o [worktree-isolation guard](/docs/pt/agent-view#how-file-edits-are-isolated) não consegue resolver para um local verificável. O guard verifica writes e diretórios de trabalho de comando em [qualquer sessão isolada em uma worktree](/docs/pt/worktrees#how-claude-code-enforces-isolation), interativa ou background, e em [subagentes isolados em worktree](/docs/pt/worktrees#isolate-subagents-with-worktrees). Ele resolve symlinks antes de verificar que a operação não atinge o checkout compartilhado, e quando a resolução falha, ele bloqueia a operação em vez de deixá-la chegar lá. A mensagem nomeia as formas de caminho que recusa e como tentar novamente:4768Claude abordou um arquivo ou diretório de trabalho através de uma grafia que o [worktree-isolation guard](/docs/pt/agent-view#how-file-edits-are-isolated) não consegue resolver para um local verificável. O guard verifica writes e diretórios de trabalho de comando em [qualquer sessão isolada em um worktree](/docs/pt/worktrees#how-claude-code-enforces-isolation), interativa ou background, e em [subagentes isolados em worktree](/docs/pt/worktrees#isolate-subagents-with-worktrees). Ele resolve symlinks antes de verificar que a operação não atinge o checkout compartilhado, e quando a resolução falha, ele bloqueia a operação em vez de deixá-la chegar lá. A mensagem nomeia as formas de caminho que recusa e como tentar novamente:

4770 4769 

4771```text theme={null}4770```text theme={null}

4772This write was blocked because the path is spelled in a form that cannot be safely resolved (for example through a symlink storing a raw dot segment, a network-share or device-namespace shape, or an unreadable ancestor directory). If the file is inside the worktree /path/to/worktree, address it by its direct symlink-free path instead.4771This write was blocked because the path is spelled in a form that cannot be safely resolved (for example through a symlink storing a raw dot segment, a network-share or device-namespace shape, or an unreadable ancestor directory). If the file is inside the worktree /path/to/worktree, address it by its direct symlink-free path instead.


4783 Write ou command bloqueado porque o caminho nomeia um local de rede4782 Write ou command bloqueado porque o caminho nomeia um local de rede

4784</h3>4783</h3>

4785 4784 

4786Claude abordou um arquivo ou diretório de trabalho através de um caminho que nomeia uma unidade que não está em sua máquina, um compartilhamento UNC como `\\server\share\file` ou um caminho de automontagem `/net`, enquanto o checkout da sessão está em um disco local. O mesmo [worktree-isolation guard](#write-or-command-blocked-because-the-path-cannot-be-safely-resolved) não consegue verificar que tal caminho fica fora do checkout compartilhado, portanto bloqueia a operação. Isolar a sessão em uma worktree não levanta o bloqueio. A mensagem nomeia a forma de caminho a usar em vez disso:4785Claude abordou um arquivo ou diretório de trabalho através de um caminho que nomeia uma unidade que não está em sua máquina, um compartilhamento UNC como `\\server\share\file` ou um caminho de automontagem `/net`, enquanto o checkout da sessão está em um disco local. O mesmo [worktree-isolation guard](#write-or-command-blocked-because-the-path-cannot-be-safely-resolved) não consegue verificar que tal caminho fica fora do checkout compartilhado, portanto bloqueia a operação. Isolar a sessão em um worktree não levanta o bloqueio. A mensagem nomeia a forma de caminho a usar em vez disso:

4787 4786 

4788```text theme={null}4787```text theme={null}

4789This write was blocked because the path is network-shaped (a UNC share or /net automount spelling) while this session's checkout is local. Isolating cannot unblock it. If the file is genuinely inside the worktree /path/to/worktree, address it by its local, plainly-spelled path instead.4788This write was blocked because the path is network-shaped (a UNC share or /net automount spelling) while this session's checkout is local. Isolating cannot unblock it. If the file is genuinely inside the worktree /path/to/worktree, address it by its local, plainly-spelled path instead.


4799 Comando bloqueado pelas verificações de isolamento de worktree4798 Comando bloqueado pelas verificações de isolamento de worktree

4800</h3>4799</h3>

4801 4800 

4802Claude executou um comando Bash ou Monitor em uma [sessão isolada em uma worktree](/docs/pt/worktrees#how-claude-code-enforces-isolation), e Claude Code recusou-o por uma de duas razões:4801Claude executou um comando Bash ou Monitor em uma [sessão isolada em um worktree](/docs/pt/worktrees#how-claude-code-enforces-isolation), e Claude Code recusou-o por uma de duas razões:

4803 4802 

4804* O comando aponta git para o checkout principal.4803* O comando aponta git para o checkout principal.

4805* Claude Code não consegue verificar a partir do texto do comando que qualquer git que o comando executa fica dentro da worktree. Um comando que nunca nomeia git ainda pode ser recusado por essa razão, porque expandir uma indireção de variável como `${!name}` ou executar uma substituição de função Bash como `${ command; }` produz um valor em tempo de execução que pode ser um comando em si.4804* Claude Code não consegue verificar a partir do texto do comando que qualquer git que o comando executa fica dentro do worktree. Um comando que nunca nomeia git ainda pode ser recusado por essa razão, porque expandir uma indireção de variável como `${!name}` ou executar uma substituição de função Bash como `${ command; }` produz um valor em tempo de execução que pode ser um comando em si.

4806 4805 

4807O meio da mensagem nomeia o que não pôde ser verificado:4806O meio da mensagem nomeia o que não pôde ser verificado:

4808 4807 


4813**O que fazer:**4812**O que fazer:**

4814 4813 

4815* Geralmente nada: Claude lê a mensagem e reescreve o comando da forma que sua sentença final pede4814* Geralmente nada: Claude lê a mensagem e reescreve o comando da forma que sua sentença final pede

4816* Se um comando que você pediu continua sendo recusado, escreva o valor sinalizado literalmente: substitua a indireção ou substituição por seu valor, e execute git como seu próprio comando simples de dentro da worktree4815* Se um comando que você pediu continua sendo recusado, escreva o valor sinalizado literalmente: substitua a indireção ou substituição por seu valor, e execute git como seu próprio comando simples de dentro do worktree

4817* Para agir no checkout principal propositalmente, execute o comando você mesmo em um terminal fora da sessão4816* Para agir no checkout principal propositalmente, execute o comando você mesmo em um terminal fora da sessão

4818 4817 

4819<h3 id="this-session-has-no-saved-transcript">4818<h3 id="this-session-has-no-saved-transcript">


4826This session has no saved transcript — it was stopped before its first response finished. If it was backgrounded from another conversation, that one is still intact; `claude respawn <id>` starts this one fresh.4825This session has no saved transcript — it was stopped before its first response finished. If it was backgrounded from another conversation, that one is still intact; `claude respawn <id>` starts this one fresh.

4827```4826```

4828 4827 

4829Abrir a mesma linha de sessão na [agent view](/docs/pt/agent-view) mostra `Press enter again to restart this session fresh` abaixo da lista, e um segundo `Enter` na linha reinicia a sessão com uma conversa vazia. Antes da v2.1.212, abrir a linha mostrava a mensagem de recusa sem forma de reiniciar a partir da agent view. Antes da v2.1.211, abrir a sessão parada silenciosamente iniciava essa conversa em branco e poderia re-executar o prompt original da sessão.4828Abrir a mesma linha de sessão na [agent view](/docs/pt/agent-view) mostra `Press enter again to restart this session fresh` abaixo da lista em vez disso, e um segundo `Enter` na linha reinicia a sessão com uma conversa vazia.

4830 4829 

4831**O que fazer:**4830**O que fazer:**

4832 4831 


4848* **`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`.4847* **`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`.

4849* **`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.4848* **`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.

4850 4849 

4851Claude 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.

4852 

4853**O que fazer:**4850**O que fazer:**

4854 4851 

4855* Continue a conversa no processo que a tem aberta, ou saia desse processo e abra a linha novamente4852* Continue a conversa no processo que a tem aberta, ou saia desse processo e abra a linha novamente


4870 4867 

4871**O que fazer:**4868**O que fazer:**

4872 4869 

4873* Execute `claude rm <id>` para deletar a linha. Quando um dos [casos mantidos](/docs/pt/agent-view#what-deleting-a-session-removes) se aplica, `claude rm` mantém a linha e a worktree em vez disso e nomeia a razão4870* Execute `claude rm <id>` para deletar a linha. Quando um dos [casos mantidos](/docs/pt/agent-view#what-deleting-a-session-removes) se aplica, `claude rm` mantém a linha e o worktree em vez disso e nomeia a razão

4874* Para executar o prompt original da sessão novamente como uma conversa fresca, execute `claude respawn <id>`4871* Para executar o prompt original da sessão novamente como uma conversa fresca, execute `claude respawn <id>`

4875 4872 

4876Antes da v2.1.248, abrir tal linha re-executava o prompt original da sessão em vez de recusar, puxando uma tarefa de semanas atrás para o primeiro plano.4873Antes da v2.1.248, abrir tal linha re-executava o prompt original da sessão em vez de recusar, puxando uma tarefa de semanas atrás para o primeiro plano.


4879 Worktree tem commits que não foram enviados para lugar nenhum4876 Worktree tem commits que não foram enviados para lugar nenhum

4880</h3>4877</h3>

4881 4878 

4882Você 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:4879Você tentou deletar uma [sessão em background](/docs/pt/agent-view#what-deleting-a-session-removes) cujo worktree contém commits que Claude Code não consegue confirmar que estão salvos em outro lugar. Claude Code mantém o 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:

4883 4880 

4884```text theme={null}4881```text theme={null}

4885kept 7c5dcf5d — its worktree is still at “/home/you/project/.claude/worktrees/fix-login”4882kept 7c5dcf5d — its worktree is still at “/home/you/project/.claude/worktrees/fix-login”


4889 4886 

4890Quando Claude Code não consegue resumir os commits, a linha de detalhe lê `The worktree has unpushed commits` em vez disso. Na [agent view](/docs/pt/agent-view), a linha da sessão mostra `not deleted` com a mesma razão.4887Quando Claude Code não consegue resumir os commits, a linha de detalhe lê `The worktree has unpushed commits` em vez disso. Na [agent view](/docs/pt/agent-view), a linha da sessão mostra `not deleted` com a mesma razão.

4891 4888 

4892Commits em um remote não bloqueiam o delete. Nem commits na cópia local do branch padrão do seu remote `origin`, desde que esse branch esteja verificado no seu checkout principal, o diretório do repositório em si em vez de uma worktree.4889Commits em um remote não bloqueiam o delete. Nem commits na cópia local do branch padrão do seu remote `origin`, desde que esse branch esteja verificado no seu checkout principal, o diretório do repositório em si em vez de um worktree.

4893 4890 

4894**O que fazer:**4891**O que fazer:**

4895 4892 

4896* 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 novamente4893* Para manter os commits, envie o branch do worktree, ou mescle-o no branch padrão verificado no seu checkout principal, depois delete a sessão novamente

4897* 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 atualizado4894* Para descartar os commits, execute o comando `claude rm <id> --discard-unpushed` que a mensagem imprimiu, ou pressione `Ctrl+X` duas vezes na linha da sessão na agent view novamente. Isso remove a sessão e o worktree junto com seu branch, os commits não enviados, e quaisquer mudanças sem commit. Se o worktree ganhou um commit desde a recusa, Claude Code o mantém novamente e mostra o estado atualizado

4898* 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 novamente4895* Quando a mensagem diz que o worktree também é registrado por outra sessão terminada, deletar novamente não o descarta: envie os commits, depois delete a sessão novamente

4899 4896 

4900Antes 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.4897Antes 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.

4901 4898 

4902Antes da v2.1.260, a mensagem não nomeava o branch ou os commits, e deletar novamente era recusado da mesma forma: deletar a sessão sem enviar significava remover a worktree você mesmo com `git worktree remove --force <path>`, depois executar `claude rm <id>` novamente.4899Antes da v2.1.260, a mensagem não nomeava o branch ou os commits, e deletar novamente era recusado da mesma forma: deletar a sessão sem enviar significava remover o worktree você mesmo com `git worktree remove --force <path>`, depois executar `claude rm <id>` novamente.

4903 4900 

4904Antes da v2.1.248, o branch padrão verificado no seu checkout principal não contava: um branch que você já tinha mesclado lá ainda acionava essa recusa até seus commits chegarem a um remote.4901Antes da v2.1.248, o branch padrão em checkout no seu checkout principal não contava: um branch que você já tinha mesclado lá ainda acionava essa recusa até seus commits chegarem a um remote.

4905 4902 

4906<h3 id="terminal-host-process-died">4903<h3 id="terminal-host-process-died">

4907 Processo host do terminal morreu4904 Processo host do terminal morreu

Details

92 <td>✗</td>92 <td>✗</td>

93 <td>✓</td>93 <td>✓</td>

94 <td>Ver nota <sup><a href="#fn1">1</a></sup></td>94 <td>Ver nota <sup><a href="#fn1">1</a></sup></td>

95 <td>✓ ([implantações hospedadas na Anthropic](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options))</td>95 <td>✓</td>

96 </tr>96 </tr>

97 97 

98 <tr>98 <tr>


200 <tr>200 <tr>

201 <td>[Server-managed settings](/docs/pt/server-managed-settings)</td>201 <td>[Server-managed settings](/docs/pt/server-managed-settings)</td>

202 <td>✓ (Team e Enterprise)</td>202 <td>✓ (Team e Enterprise)</td>

203 <td>✓ (Team e Enterprise)</td>203 <td>Consulte [Disponibilidade da plataforma](/docs/pt/server-managed-settings#platform-availability)</td>

204 <td>✗</td>204 <td>✗</td>

205 <td>✗</td>205 <td>✗</td>

206 <td>✗</td>206 <td>✗</td>


283 **Suporte parcial:**283 **Suporte parcial:**

284 284 

285 * [Desktop](/docs/pt/desktop): apenas via [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview)285 * [Desktop](/docs/pt/desktop): apenas via [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview)

286 * [Web search](/docs/pt/tools-reference#websearch-tool-behavior): [implantações hospedadas na Anthropic](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options) apenas

287 * [Auto mode](/docs/pt/auto-mode-config): Sonnet 5 ou posterior, Opus 4.7 ou posterior, Haiku 5.5 e modelos Fable apenas286 * [Auto mode](/docs/pt/auto-mode-config): Sonnet 5 ou posterior, Opus 4.7 ou posterior, Haiku 5.5 e modelos Fable apenas

288 * [Mensagens entre sessões](/docs/pt/cross-session-messaging): entre suas sessões nesta máquina apenas <sup><a href="#fn5">5</a></sup>287 * [Mensagens entre sessões](/docs/pt/cross-session-messaging): entre suas sessões nesta máquina apenas <sup><a href="#fn5">5</a></sup>

289 * [Zero Data Retention](/docs/pt/zero-data-retention): sujeito ao seu acordo Azure288 * [Zero Data Retention](/docs/pt/zero-data-retention): sujeito ao seu acordo Azure


294 <Tab title="Anthropic Console">293 <Tab title="Anthropic Console">

295 **Não disponível:** todos os [recursos que requerem uma assinatura Claude](#features-that-require-a-claude-subscription).294 **Não disponível:** todos os [recursos que requerem uma assinatura Claude](#features-that-require-a-claude-subscription).

296 295 

297 Tudo em [Recursos de CLI que variam por provedor](#cli-capabilities-that-vary-by-provider) está disponível, exceto que [fast mode](/docs/pt/fast-mode) requer [acesso provisionado](/docs/pt/fast-mode#enable-fast-mode-for-your-organization). [Server-managed settings](/docs/pt/server-managed-settings) também estão disponíveis quando sua chave de API pertence a uma organização Team ou Enterprise.296 Tudo em [Recursos de CLI que variam por provedor](#cli-capabilities-that-vary-by-provider) está disponível, exceto que [fast mode](/docs/pt/fast-mode) requer [acesso provisionado](/docs/pt/fast-mode#enable-fast-mode-for-your-organization). [Server-managed settings](/docs/pt/server-managed-settings) que você configura em uma organização Team ou Enterprise do claude.ai não chegam a uma sessão que se autentica com uma chave de API do Console. Consulte [Disponibilidade da plataforma](/docs/pt/server-managed-settings#platform-availability) para saber como cobrir essas sessões.

298 </Tab>297 </Tab>

299</Tabs>298</Tabs>

300 299 

Details

140| Permissão | Acesso |140| Permissão | Acesso |

141| - | - |141| - | - |

142| Actions | Leitura e escrita |142| Actions | Leitura e escrita |

143| Administration | Leitura |

143| Checks | Leitura e escrita |144| Checks | Leitura e escrita |

144| Contents | Leitura e escrita |145| Contents | Leitura e escrita |

145| Discussions | Leitura e escrita |146| Discussions | Leitura e escrita |

146| Issues | Leitura e escrita |147| Issues | Leitura e escrita |

147| Members | Leitura |148| Members | Leitura |

149| Merge queues | Leitura |

148| Metadata | Leitura |150| Metadata | Leitura |

149| Pull requests | Leitura e escrita |151| Pull requests | Leitura e escrita |

150| Repository hooks | Leitura e escrita |152| Repository hooks | Leitura e escrita |

glossary.md +1 −1

Details

294 Output style294 Output style

295</h3>295</h3>

296 296 

297Uma configuração que altera as instruções que Claude Code fornece ao Claude, para definir comportamento de resposta, tom ou formato. Diferentemente de [CLAUDE.md](#claude-md), que adiciona contexto do projeto junto com as instruções padrão do Claude Code, um output style personalizado pode substituir as instruções padrão de engenharia de software.297Uma configuração que altera as instruções que Claude Code fornece ao Claude, para definir comportamento de resposta, tom ou formato. Diferentemente de [CLAUDE.md](#claude-md), que adiciona contexto do projeto junto com as instruções padrão do Claude Code, um estilo de saída personalizado adiciona suas próprias instruções e pode omitir as instruções padrão de engenharia de software.

298 298 

299Saiba mais: [Output styles](/docs/pt/output-styles)299Saiba mais: [Output styles](/docs/pt/output-styles)

300 300 

Details

342 Janela de contexto de 1M de tokens342 Janela de contexto de 1M de tokens

343</h2>343</h2>

344 344 

345Claude Sonnet 5, Opus 4.6 e posteriores, e Sonnet 4.6 suportam a [janela de contexto de 1M de tokens](https://platform.claude.com/docs/pt/build-with-claude/context-windows#context-window-sizes-by-model) na Plataforma de Agentes do Google Cloud. Sonnet 5 sempre é executado com a janela de 1M, sem nenhuma variante `[1m]` para selecionar. Para os outros modelos, Claude Code ativa automaticamente a janela de contexto estendida quando você seleciona uma variante de modelo 1M.345Os modelos Fable, Sonnet 5 e posteriores, e Opus 4.7 e posteriores são executados com a [janela de contexto de 1M de tokens](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) por padrão na Plataforma de Agentes do Google Cloud, sem necessidade do sufixo `[1m]`. Para manter uma janela de 200K em vez disso, defina [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/pt/model-config#turn-off-1m-context).

346 346 

347O [assistente de configuração](#sign-in-with-agent-platform) oferece uma opção de contexto 1M quando fixa modelos. Para ativá-lo para um modelo fixado manualmente em vez disso, acrescente `[1m]` ao ID do modelo. Veja [Fixar modelos para implantações de terceiros](/docs/pt/model-config#pin-models-for-third-party-deployments) para detalhes, incluindo como usar a janela 1M sem alterar a fixação.347Opus 4.6 e Sonnet 4.6 alcançam a janela de 1M quando você seleciona sua variante `[1m]`. O [assistente de configuração](#sign-in-with-agent-platform) oferece uma opção de contexto 1M quando fixa modelos. Para ativá-lo para um modelo fixado manualmente em vez disso, acrescente `[1m]` ao ID do modelo. Veja [Fixar modelos para implantações de terceiros](/docs/pt/model-config#pin-models-for-third-party-deployments) para detalhes, incluindo como usar a janela 1M sem alterar a fixação.

348 

349Antes da v2.1.287, os modelos Fable e Opus 4.7 e posteriores eram executados com uma janela de 200K por padrão na Plataforma de Agentes do Google Cloud e alcançavam a janela de 1M por meio de um sufixo `[1m]`.

348 350 

349<h2 id="troubleshooting">351<h2 id="troubleshooting">

350 Resolução de problemas352 Resolução de problemas

headless.md +9 −4

Details

78 Tarefas em segundo plano ao sair78 Tarefas em segundo plano ao sair

79</h3>79</h3>

80 80 

81Se Claude iniciar uma [tarefa Bash em segundo plano](/docs/pt/tools-reference#bash-tool-behavior) durante uma execução de `claude -p`, por exemplo um servidor de desenvolvimento ou uma compilação de observação, esse shell será encerrado cerca de cinco segundos após Claude retornar seu resultado final e stdin ter sido fechado. O período de carência permite que uma tarefa que termina logo após o resultado ainda entregue sua saída.81Depois que Claude termina seu turno e stdin é fechado, uma execução de `claude -p` pode permanecer aberta para aguardar o trabalho em segundo plano que Claude iniciou.

82 82 

83Se Claude iniciar um [subagentos](/docs/pt/sub-agents) em segundo plano ou fluxo de trabalho, `claude -p` em vez disso permanece aberto até que esse trabalho seja concluído, porque seu resultado faz parte da saída final.83A menos que um comando em segundo plano iniciado pela conversa principal ainda esteja em execução, Claude Code, por padrão, para o que ainda estiver em execução após 10 minutos de espera contínua inativa e descarta seu resultado parcial. Para alterar o limite de 10 minutos, defina [`CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS`](/docs/pt/env-vars), ou defina-o como `0` para aguardar sem um.

84 84 

85Por padrão, a espera termina após 10 minutos de espera contínua inativa, para que um subagentos ou fluxo de trabalho travado não possa manter o processo aberto indefinidamente. Nesse ponto, Claude Code para o que ainda está em execução e descarta seu resultado parcial. Para alterar o limite, defina [`CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS`](/docs/pt/env-vars), ou defina-o como `0` para aguardar sem um.85A execução aguarda trabalho em segundo plano, como comandos em segundo plano, subagentes e fluxos de trabalho, observações do Monitor e despertares pendentes do `/loop`:

86 86 

87Se Claude iniciar uma observação [Monitor](/docs/pt/tools-reference#monitor-tool) durante uma execução de `claude -p`, Claude Code aguarda a observação até que ela expire ou o limite de dez minutos termine a espera, o que vier primeiro. Enquanto aguarda, Claude continua respondendo ao que a observação relata. Por padrão, uma observação expira cinco minutos após Claude iniciá-la.87* **[Comandos em segundo plano](/docs/pt/tools-reference#background-commands)**: para um comando que a conversa principal iniciou, por exemplo um servidor de desenvolvimento ou um build em modo de observação, a execução aguarda até que o comando saia ou atinja seu [limite de tempo](/docs/pt/tools-reference#time-limit-for-background-commands). Claude então faz mais um turno com o resultado, e o resultado desse turno se torna o último da execução, que é o que as saídas `text` e `json` imprimem. Enquanto o comando é executado, o limite de 10 minutos não encerra a espera.

88* **[Subagentes](/docs/pt/sub-agents) e fluxos de trabalho em segundo plano**: a execução permanece aberta até que esse trabalho seja concluído, porque seu resultado faz parte da saída final.

89* **Observações do [Monitor](/docs/pt/tools-reference#monitor-tool)**: a execução aguarda até que a observação expire ou o limite de 10 minutos encerre a espera, o que vier primeiro. Enquanto aguarda, Claude continua respondendo ao que a observação relata. Por padrão, uma observação expira cinco minutos após Claude iniciá-la.

90* **Despertares pendentes**: em uma execução cujo prompt você passou como texto em vez de com `--input-format stream-json`, quando Claude agendou um [despertar de `/loop` com ritmo próprio](/docs/pt/scheduled-tasks#let-claude-choose-the-interval), a execução aguarda cada despertar disparar e executa sua iteração até que o [loop termine](/docs/pt/scheduled-tasks#stop-a-loop), mesmo além do limite de 10 minutos.

91 

92Se a execução atingir seu limite de [`--max-budget-usd`](/docs/pt/cli-reference#cli-flags), Claude Code para o trabalho em segundo plano restante em vez de aguardar.

88 93 

89<h3 id="stop-a-run-with-sigterm">94<h3 id="stop-a-run-with-sigterm">

90 Parar uma execução com SIGTERM95 Parar uma execução com SIGTERM

hooks.md +534 −365

Details

757 Entrada e saída de hook757 Entrada e saída de hook

758</h2>758</h2>

759 759 

760Hooks de comando recebem dados JSON via stdin e comunicam resultados através de códigos de saída, stdout e stderr. Hooks HTTP recebem o mesmo JSON como corpo da solicitação POST e comunicam resultados através do corpo da resposta HTTP. Esta seção cobre campos e comportamento comuns a todos os eventos. Cada seção de evento sob [Eventos de hook](#hook-events) inclui seu esquema de entrada específico e opções de controle de decisão.760Hooks de comando recebem dados JSON via stdin e comunicam resultados através de códigos de saída, stdout e stderr. Hooks HTTP recebem o mesmo JSON como corpo da requisição POST e comunicam resultados através do corpo da resposta HTTP. Esta seção cobre campos e comportamento comuns a todos os eventos. Cada seção de evento sob [Eventos de hook](#hook-events) inclui seu esquema de entrada específico e opções de controle de decisão.

761 761 

762No macOS e Linux, hooks de comando executam em sua própria sessão sem um terminal controlador. O processo de hook e qualquer processo filho não podem abrir `/dev/tty` ou enviar sequências de escape diretamente para a interface do Claude Code. Windows não tem `/dev/tty`.762No macOS e Linux, hooks de comando executam em sua própria sessão sem um terminal controlador. O processo de hook e qualquer processo filho não podem abrir `/dev/tty` ou enviar sequências de escape diretamente para a interface do Claude Code. Windows não tem `/dev/tty`.

763 763 


767 Campos de entrada comuns767 Campos de entrada comuns

768</h3>768</h3>

769 769 

770Eventos de hook recebem esses campos como JSON, além de campos específicos do evento documentados em cada seção [evento de hook](#hook-events). Para hooks de comando, este JSON chega via stdin. Para hooks HTTP, chega como corpo da solicitação POST.770Eventos de hook recebem esses campos como JSON, além de campos específicos do evento documentados em cada seção [evento de hook](#hook-events). Para hooks de comando, este JSON chega via stdin. Para hooks HTTP, chega como corpo da requisição POST.

771 771 

772| Campo | Descrição |772| Campo | Descrição |

773| :- | :- |773| :- | :- |

774| `session_id` | Identificador de sessão atual |774| `session_id` | Identificador de sessão atual |

775| `prompt_id` | UUID identificando o prompt do usuário sendo processado atualmente. Corresponde ao [atributo `prompt.id` em eventos OpenTelemetry](/docs/pt/monitoring-usage#event-correlation-attributes), para que você possa correlacionar saída de hook com telemetria para um único prompt. Ausente até a primeira entrada do usuário |775| `prompt_id` | UUID identificando o prompt do usuário sendo processado atualmente. Corresponde ao [atributo `prompt.id` em eventos OpenTelemetry](/docs/pt/monitoring-usage#event-correlation-attributes), para que você possa correlacionar saída de hook com telemetria para um único prompt. Ausente até a primeira entrada do usuário |

776| `transcript_path` | Caminho para JSON de conversa. O arquivo de transcrição é escrito de forma assíncrona e pode ficar atrás da conversa na memória, portanto pode não incluir ainda as mensagens mais recentes da rodada atual quando um hook dispara. Hooks que precisam do texto final do assistente da rodada atual devem usar `last_assistant_message` em [Stop](#stop) e [SubagentStop](#subagentstop) em vez de ler a transcrição |776| `transcript_path` | Caminho para JSON de conversa. O arquivo de transcrição é escrito de forma assíncrona e pode ficar atrás da conversa na memória, portanto pode não incluir ainda as mensagens mais recentes do turno atual quando um hook dispara. Hooks que precisam do texto final do assistente do turno atual devem usar `last_assistant_message` em [Stop](#stop) e [SubagentStop](#subagentstop) em vez de ler a transcrição |

777| `cwd` | Diretório de trabalho atual quando o hook é invocado |777| `cwd` | Diretório de trabalho atual quando o hook é invocado |

778| `scratchpad_dir` | Caminho para o [diretório scratchpad da sessão](/docs/pt/claude-directory#session-scratchpad-directory), onde Claude mantém arquivos de trabalho temporários. Ausente quando a sessão não tem scratchpad ou o diretório temporário não está disponível. Requer Claude Code v2.1.257 ou posterior |778| `scratchpad_dir` | Caminho para o [diretório scratchpad da sessão](/docs/pt/claude-directory#session-scratchpad-directory), onde Claude mantém arquivos de trabalho temporários. Ausente quando a sessão não tem scratchpad ou o diretório temporário não está disponível. Requer Claude Code v2.1.257 ou posterior |

779| `permission_mode` | [Modo de permissão](/docs/pt/permissions#permission-modes) atual: `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, `"dontAsk"` ou `"bypassPermissions"`. O modo rotulado **Manual** chega como `"default"`, nunca como `"manual"`, portanto scripts que correspondem a `"default"` continuam funcionando. Nem todos os eventos recebem este campo. Verifique o exemplo JSON em cada seção [evento de hook](#hook-events) |779| `permission_mode` | [Modo de permissão](/docs/pt/permissions#permission-modes) atual: `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, `"dontAsk"` ou `"bypassPermissions"`. O modo rotulado **Manual** chega como `"default"`, nunca como `"manual"`, portanto scripts que correspondem a `"default"` continuam funcionando. Nem todos os eventos recebem este campo. Verifique o exemplo JSON em cada seção [evento de hook](#hook-events) |


823 823 

824O código de saída do seu comando de hook diz ao Claude Code se a ação deve prosseguir, ser bloqueada ou ser ignorada. O código de saída não atua sozinho. Claude Code lê [campos de saída JSON](#json-output) de stdout em cada código de saída, não apenas 0, e para eventos que usam o modelo de decisão padrão, um objeto analisado que passa na validação de esquema entra em vigor ao lado do código. O bloqueio da saída 2 é o único resultado que JSON não pode substituir.824O código de saída do seu comando de hook diz ao Claude Code se a ação deve prosseguir, ser bloqueada ou ser ignorada. O código de saída não atua sozinho. Claude Code lê [campos de saída JSON](#json-output) de stdout em cada código de saída, não apenas 0, e para eventos que usam o modelo de decisão padrão, um objeto analisado que passa na validação de esquema entra em vigor ao lado do código. O bloqueio da saída 2 é o único resultado que JSON não pode substituir.

825 825 

826Duas tabelas possuem as exceções por evento: [Comportamento de código de saída 2 por evento](#exit-code-2-behavior-per-event) diz o que códigos de saída fazem para cada evento, e [Controle de decisão](#decision-control) diz quais campos de decisão cada evento honra. Campos universais como `systemMessage` funcionam em muitos eventos e são listados na tabela [Saída JSON](#json-output).826Duas tabelas possuem as exceções por evento: [Comportamento de código de saída 2 por evento](#exit-code-2-behavior-per-event) diz o que códigos de saída fazem para cada evento, e [Controle de decisão](#decision-control) diz quais campos de decisão cada evento honra. Campos universais como `systemMessage` funcionam na maioria dos eventos e são listados na tabela [Saída JSON](#json-output).

827 827 

828<h4 id="exit-code-0">828<h4 id="exit-code-0">

829 Código de saída 0829 Código de saída 0


924| `StopFailure` | Não | Saída e código de saída são ignorados, exceto `terminalSequence` |924| `StopFailure` | Não | Saída e código de saída são ignorados, exceto `terminalSequence` |

925| `PostToolUse` | Não | Mostra stderr ao Claude; a ferramenta já executou |925| `PostToolUse` | Não | Mostra stderr ao Claude; a ferramenta já executou |

926| `PostToolUseFailure` | Não | Mostra stderr ao Claude; a ferramenta já falhou |926| `PostToolUseFailure` | Não | Mostra stderr ao Claude; a ferramenta já falhou |

927| `PostToolBatch` | Sim | Para o loop agentic antes da próxima chamada de modelo |927| `PostToolBatch` | Sim | Para o loop agêntico antes da próxima chamada de modelo |

928| `PermissionDenied` | Não | Código de saída e stderr são ignorados porque a negação já ocorreu. Use JSON `hookSpecificOutput.retry: true` para dizer ao modelo que pode tentar novamente; Claude Code ignora `retry: true` para [negações sem veredicto](#permissiondenied-decision-control) |928| `PermissionDenied` | Não | Código de saída e stderr são ignorados porque a negação já ocorreu. Use JSON `hookSpecificOutput.retry: true` para dizer ao modelo que pode tentar novamente; Claude Code ignora `retry: true` para [negações sem veredicto](#permissiondenied-decision-control) |

929| `Notification` | Não | Código de saída e stderr são ignorados |929| `Notification` | Não | Código de saída e stderr são ignorados |

930| `SubagentStart` | Não | Mostra stderr apenas ao usuário |930| `SubagentStart` | Não | Mostra stderr apenas ao usuário |


938| `PostCompact` | Não | Mostra stderr apenas ao usuário |938| `PostCompact` | Não | Mostra stderr apenas ao usuário |

939| `PreModelSwitch` | Sim | Bloqueia a mudança de modelo e mostra stderr ao usuário |939| `PreModelSwitch` | Sim | Bloqueia a mudança de modelo e mostra stderr ao usuário |

940| `PostModelSwitch` | Não | Mostra stderr apenas ao usuário; o modelo já mudou |940| `PostModelSwitch` | Não | Mostra stderr apenas ao usuário; o modelo já mudou |

941| `Elicitation` | Sim | Nega a elicitação |941| `Elicitation` | Sim | Recusa a solicitação, e nenhuma caixa de diálogo aparece |

942| `ElicitationResult` | Sim | Bloqueia a resposta (ação se torna decline) |942| `ElicitationResult` | Sim | Bloqueia a resposta (ação se torna decline) |

943| `WorktreeCreate` | Sim | Qualquer código de saída não-zero causa falha na criação de worktree |943| `WorktreeCreate` | Sim | Qualquer código de saída não-zero causa falha na criação de worktree |

944| `WorktreeRemove` | Sim | Qualquer código de saída não-zero causa falha na remoção de worktree se o diretório ainda existir depois. Consulte [WorktreeRemove](#worktreeremove) para o que acontece com o diretório |944| `WorktreeRemove` | Sim | Qualquer código de saída não-zero causa falha na remoção de worktree se o diretório ainda existir depois. Consulte [WorktreeRemove](#worktreeremove) para o que acontece com o diretório |


972 Escolha uma abordagem por hook: ou use códigos de saída sozinhos para sinalizar, ou saia 0 e imprima JSON para controle estruturado. Se você misturar, saída 2 mantém seu [efeito de bloqueio](#exit-code-2-behavior-per-event), e Claude Code ainda lê os campos JSON, com a exceção de elicitação única anotada em [Código de saída 2](#exit-code-2).972 Escolha uma abordagem por hook: ou use códigos de saída sozinhos para sinalizar, ou saia 0 e imprima JSON para controle estruturado. Se você misturar, saída 2 mantém seu [efeito de bloqueio](#exit-code-2-behavior-per-event), e Claude Code ainda lê os campos JSON, com a exceção de elicitação única anotada em [Código de saída 2](#exit-code-2).

973</Note>973</Note>

974 974 

975O stdout do seu hook deve conter apenas o objeto JSON. Se seu perfil shell imprime texto na inicialização, pode interferir com análise JSON. Consulte [Hook JSON não tem efeito](/docs/pt/hooks-guide#hook-json-has-no-effect) no guia de troubleshooting.975O stdout do seu hook deve conter apenas o objeto JSON. Se seu perfil shell imprime texto na inicialização, pode interferir com análise JSON. Consulte [Hook JSON não tem efeito](/docs/pt/hooks-guide#hook-json-has-no-effect) no guia de solução de problemas.

976 976 

977As strings de saída de hook `additionalContext`, `systemMessage` e `initialUserMessage`, e seu stdout simples, são limitadas a 10.000 caracteres:977As strings de saída de hook `additionalContext`, `systemMessage` e `initialUserMessage`, e seu stdout simples, são limitadas a 10.000 caracteres:

978 978 


992| `stopReason` | nenhum | Mensagem mostrada ao usuário quando `continue` é `false`. Fica na conversa, portanto Claude a vê se a conversa continuar |992| `stopReason` | nenhum | Mensagem mostrada ao usuário quando `continue` é `false`. Fica na conversa, portanto Claude a vê se a conversa continuar |

993| `suppressOutput` | `false` | Não tem efeito: Claude Code aceita o campo mas não age sobre ele. O stdout de um hook bem-sucedido nunca é mostrado na transcrição e é registrado no log de debug |993| `suppressOutput` | `false` | Não tem efeito: Claude Code aceita o campo mas não age sobre ele. O stdout de um hook bem-sucedido nunca é mostrado na transcrição e é registrado no log de debug |

994| `systemMessage` | nenhum | Mensagem de aviso mostrada ao usuário. Em [Agent SDK](/docs/pt/agent-sdk/overview) e saída [`--output-format stream-json`](/docs/pt/headless), pode chegar como um [`SDKInformationalMessage`](/docs/pt/agent-sdk/typescript#sdkinformationalmessage) |994| `systemMessage` | nenhum | Mensagem de aviso mostrada ao usuário. Em [Agent SDK](/docs/pt/agent-sdk/overview) e saída [`--output-format stream-json`](/docs/pt/headless), pode chegar como um [`SDKInformationalMessage`](/docs/pt/agent-sdk/typescript#sdkinformationalmessage) |

995| `terminalSequence` | nenhum | Uma sequência de escape de terminal para Claude Code emitir em seu nome, como uma notificação de desktop, título de janela ou sino. Restrito a OSC `0`/`1`/`2`/`9`/`99`/`777` e BEL. Se o valor contiver algo fora da lista de permissões, o campo é ignorado. Use isso em vez de escrever para `/dev/tty`, que não está disponível para hooks |995| `terminalSequence` | nenhum | Uma sequência de escape de terminal para Claude Code emitir em seu nome, como uma notificação de desktop, título de janela ou sino. Restrito a OSC `0`/`1`/`2`/`9`/`99`/`777` e BEL. Se o valor contiver algo fora da allowlist, o campo é ignorado. Use isso em vez de escrever para `/dev/tty`, que não está disponível para hooks |

996 996 

997Para parar Claude inteiramente:997Para parar Claude inteiramente:

998 998 


1008 1008 

1009Hooks executam sem um terminal controlador, portanto escrever sequências de escape diretamente para `/dev/tty` falha. Em vez disso, retorne a sequência de escape no campo `terminalSequence` e Claude Code a emite para você através de seu próprio caminho de escrita de terminal. Isso é livre de corrida, funciona dentro de tmux e GNU screen, e funciona no Windows onde não há `/dev/tty`.1009Hooks executam sem um terminal controlador, portanto escrever sequências de escape diretamente para `/dev/tty` falha. Em vez disso, retorne a sequência de escape no campo `terminalSequence` e Claude Code a emite para você através de seu próprio caminho de escrita de terminal. Isso é livre de corrida, funciona dentro de tmux e GNU screen, e funciona no Windows onde não há `/dev/tty`.

1010 1010 

1011O campo aceita uma string de uma ou mais sequências de escape na lista de permissões:1011O campo aceita uma string de uma ou mais sequências de escape da allowlist:

1012 1012 

1013* OSC `0`, `1`, `2`: títulos de janela e ícone1013* OSC `0`, `1`, `2`: títulos de janela e ícone

1014* OSC `9`: notificações iTerm2, ConEmu, Windows Terminal e WezTerm, incluindo progresso de barra de tarefas `9;4`1014* OSC `9`: notificações iTerm2, ConEmu, Windows Terminal e WezTerm, incluindo progresso de barra de tarefas `9;4`


1016* OSC `777`: notificações urxvt, Ghostty e Warp1016* OSC `777`: notificações urxvt, Ghostty e Warp

1017* BEL simples1017* BEL simples

1018 1018 

1019Sequências podem ser terminadas com BEL ou com ST. Qualquer coisa fora da lista de permissões, incluindo sequências de cursor e cor CSI, sequências de paleta OSC, hiperlinks OSC 8, escritas de área de transferência OSC 52 e OSC 1337, é rejeitada e o campo é ignorado.1019Sequências podem ser terminadas com BEL ou com ST. Qualquer coisa fora da allowlist, incluindo sequências de cursor e cor CSI, sequências de paleta OSC, hiperlinks OSC 8, escritas de área de transferência OSC 52 e OSC 1337, é rejeitada e o campo é ignorado.

1020 1020 

1021Claude Code escreve a sequência em si quando processa a saída do seu hook, portanto o campo funciona em eventos que descartam `systemMessage` e `continue`, como `Notification` e `StopFailure`. Tem dois limites:1021Claude Code escreve a sequência em si quando processa a saída do seu hook, portanto o campo funciona em eventos que descartam `systemMessage` e `continue`, como `Notification` e `StopFailure`. Tem dois limites:

1022 1022 

1023* Claude Code escreve a sequência apenas em uma sessão interativa, e apenas enquanto sua interface está na tela. Em modo não-interativo com a flag `-p` e no Agent SDK, ignora o campo.1023* Claude Code escreve a sequência apenas em uma sessão interativa, e apenas enquanto sua interface está na tela. Em modo não interativo com a flag `-p` e no Agent SDK, ignora o campo.

1024* Um hook de comando `WorktreeCreate` não pode retornar JSON, porque Claude Code lê seu stdout como o caminho de worktree. Um hook HTTP `WorktreeCreate` retorna JSON e pode incluir o campo.1024* Um hook de comando `WorktreeCreate` não pode retornar JSON, porque Claude Code lê seu stdout como o caminho de worktree. Um hook HTTP `WorktreeCreate` retorna JSON e pode incluir o campo.

1025 1025 

1026O exemplo abaixo dispara uma notificação de desktop de um hook `Notification`. A sequência de escape é construída com `printf` escapes octais para que os bytes de controle nunca apareçam na linha de comando do shell, e `jq -n --arg` constrói a saída JSON para que aspas, barras invertidas e quebras de linha na mensagem de notificação sejam escapadas corretamente:1026O exemplo abaixo dispara uma notificação de desktop de um hook `Notification`. A sequência de escape é construída com `printf` escapes octais para que os bytes de controle nunca apareçam na linha de comando do shell, e `jq -n --arg` constrói a saída JSON para que aspas, barras invertidas e quebras de linha na mensagem de notificação sejam escapadas corretamente:


1041 Adicionar contexto para Claude1041 Adicionar contexto para Claude

1042</h4>1042</h4>

1043 1043 

1044O campo `additionalContext` passa uma string do seu hook para a janela de contexto do Claude. Claude Code envolve a string em um [lembrete do sistema](/docs/pt/glossary#system-reminder) e a insere na conversa no ponto onde o hook disparou. Claude lê o lembrete na próxima solicitação de modelo, mas não aparece como uma mensagem de chat na interface.1044O campo `additionalContext` passa uma string do seu hook para a janela de contexto do Claude. Claude Code envolve a string em um [lembrete do sistema](/docs/pt/glossary#system-reminder) e a insere na conversa no ponto onde o hook disparou. Claude lê o lembrete na próxima requisição ao modelo, mas não aparece como uma mensagem de chat na interface.

1045 1045 

1046Retorne `additionalContext` dentro de `hookSpecificOutput` ao lado do nome do evento:1046Retorne `additionalContext` dentro de `hookSpecificOutput` ao lado do nome do evento:

1047 1047 


1059* [SessionStart](#sessionstart) e [SubagentStart](#subagentstart): no início da conversa, antes do primeiro prompt1059* [SessionStart](#sessionstart) e [SubagentStart](#subagentstart): no início da conversa, antes do primeiro prompt

1060* [UserPromptSubmit](#userpromptsubmit) e [UserPromptExpansion](#userpromptexpansion): ao lado do prompt enviado1060* [UserPromptSubmit](#userpromptsubmit) e [UserPromptExpansion](#userpromptexpansion): ao lado do prompt enviado

1061* [PreToolUse](#pretooluse), [PostToolUse](#posttooluse), [PostToolUseFailure](#posttoolusefailure) e [PostToolBatch](#posttoolbatch): ao lado do resultado da ferramenta1061* [PreToolUse](#pretooluse), [PostToolUse](#posttooluse), [PostToolUseFailure](#posttoolusefailure) e [PostToolBatch](#posttoolbatch): ao lado do resultado da ferramenta

1062* [Stop](#stop) e [SubagentStop](#subagentstop): no final da rodada. A conversa continua para que Claude possa agir sobre o feedback. Consulte [Controle de decisão Stop](#stop-decision-control)1062* [Stop](#stop) e [SubagentStop](#subagentstop): no final do turno. A conversa continua para que Claude possa agir sobre o feedback. Consulte [Controle de decisão Stop](#stop-decision-control)

1063* [PostModelSwitch](#postmodelswitch): com a próxima solicitação após a mudança. Consulte [Controle de decisão PostModelSwitch](#postmodelswitch-decision-control) para timing1063* [PostModelSwitch](#postmodelswitch): com a próxima requisição após a mudança. Consulte [Controle de decisão PostModelSwitch](#postmodelswitch-decision-control) para timing

1064 1064 

1065Quando vários hooks retornam `additionalContext` para o mesmo evento, Claude recebe todos os valores.1065Quando vários hooks retornam `additionalContext` para o mesmo evento, Claude recebe todos os valores.

1066 1066 


1069Use `additionalContext` para informações que Claude deve saber sobre o estado atual do seu ambiente ou a operação que acabou de executar:1069Use `additionalContext` para informações que Claude deve saber sobre o estado atual do seu ambiente ou a operação que acabou de executar:

1070 1070 

1071* **Estado do ambiente**: o branch atual, alvo de implantação ou sinalizadores de recurso ativos1071* **Estado do ambiente**: o branch atual, alvo de implantação ou sinalizadores de recurso ativos

1072* **Regras de projeto condicional**: qual comando de teste se aplica ao arquivo que acabou de ser editado, quais diretórios são somente leitura nesta worktree1072* **Regras de projeto condicional**: qual comando de teste se aplica ao arquivo que acabou de ser editado, quais diretórios são somente leitura neste worktree

1073* **Dados externos**: problemas abertos atribuídos a você, resultados recentes de CI, conteúdo obtido de um serviço interno1073* **Dados externos**: problemas abertos atribuídos a você, resultados recentes de CI, conteúdo obtido de um serviço interno

1074 1074 

1075Para instruções que nunca mudam, prefira [CLAUDE.md](/docs/pt/memory). Ele carrega sem executar um script e é o lugar padrão para convenções de projeto estáticas.1075Para instruções que nunca mudam, prefira [CLAUDE.md](/docs/pt/memory). Ele carrega sem executar um script e é o lugar padrão para convenções de projeto estáticas.


1095| PermissionDenied | `hookSpecificOutput` | `retry: true` diz ao modelo que pode tentar novamente a chamada de ferramenta negada; Claude Code ignora para [negações sem veredicto](#permissiondenied-decision-control) |1095| PermissionDenied | `hookSpecificOutput` | `retry: true` diz ao modelo que pode tentar novamente a chamada de ferramenta negada; Claude Code ignora para [negações sem veredicto](#permissiondenied-decision-control) |

1096| WorktreeCreate | retorno de caminho | Hook de comando imprime caminho em stdout; hook HTTP retorna `hookSpecificOutput.worktreePath`. Falha de hook ou caminho ausente falha na criação |1096| WorktreeCreate | retorno de caminho | Hook de comando imprime caminho em stdout; hook HTTP retorna `hookSpecificOutput.worktreePath`. Falha de hook ou caminho ausente falha na criação |

1097| WorktreeRemove | Código de saída | Qualquer código de saída não-zero faz a remoção falhar se o diretório ainda existir depois. Saída JSON é descartada |1097| WorktreeRemove | Código de saída | Qualquer código de saída não-zero faz a remoção falhar se o diretório ainda existir depois. Saída JSON é descartada |

1098| Elicitation | `hookSpecificOutput` | `action` (accept/decline/cancel), `content` (valores de campo de formulário para accept) |1098| Elicitation, ElicitationResult | `hookSpecificOutput` ou `decision` de nível superior | `action` (accept/decline/cancel), `content` (valores de campo de formulário). `decision: "block"` também [recusa](#other-ways-to-decline-an-elicitation) |

1099| ElicitationResult | `hookSpecificOutput` | `action` (accept/decline/cancel), `content` (valores de campo de formulário override) |

1100| MessageDisplay | `hookSpecificOutput` | `displayContent` substitui o texto exibido na tela. Apenas exibição: a transcrição e o que Claude vê mantêm o original |1099| MessageDisplay | `hookSpecificOutput` | `displayContent` substitui o texto exibido na tela. Apenas exibição: a transcrição e o que Claude vê mantêm o original |

1101| SessionStart, SubagentStart, PostModelSwitch | Apenas contexto | `hookSpecificOutput.additionalContext` adiciona contexto para Claude. SessionStart também aceita [`initialUserMessage`, `watchPaths`, `sessionTitle` e `reloadSkills`](#sessionstart-decision-control). Sem bloqueio ou controle de decisão |1100| SessionStart, SubagentStart, PostModelSwitch | Apenas contexto | `hookSpecificOutput.additionalContext` adiciona contexto para Claude. SessionStart também aceita [`initialUserMessage`, `watchPaths`, `sessionTitle` e `reloadSkills`](#sessionstart-decision-control). Sem bloqueio ou controle de decisão |

1102| Setup, Notification, SessionEnd, PostCompact, InstructionsLoaded, StopFailure, CwdChanged, DirectoryAdded, FileChanged | Nenhum | Sem controle de decisão. Usado para efeitos colaterais como logging ou limpeza |1101| Setup, Notification, SessionEnd, PostCompact, InstructionsLoaded, StopFailure, CwdChanged, DirectoryAdded, FileChanged | Nenhum | Sem controle de decisão. Usado para efeitos colaterais como logging ou limpeza |


1163 Eventos de hook1162 Eventos de hook

1164</h2>1163</h2>

1165 1164 

1166Cada evento corresponde a um ponto no ciclo de vida do Claude Code em que os hooks podem ser executados. As seções abaixo estão ordenadas de acordo com o ciclo de vida: da configuração da sessão, passando pelo loop agêntico, até o fim da sessão. Cada seção descreve quando o evento é disparado, quais matchers ele suporta, a entrada JSON que ele recebe e como controlar o comportamento por meio da saída.1165Cada evento corresponde a um ponto no ciclo de vida do Claude Code em que hooks podem ser executados. As seções abaixo estão ordenadas de acordo com o ciclo de vida: da configuração da sessão, passando pelo loop agêntico, até o fim da sessão. Cada seção descreve quando o evento é disparado, quais matchers ele suporta, a entrada JSON que ele recebe e como controlar o comportamento por meio da saída.

1167 1166 

1168<h3 id="sessionstart">1167<h3 id="sessionstart">

1169 SessionStart1168 SessionStart

1170</h3>1169</h3>

1171 1170 

1172É executado quando o Claude Code inicia uma nova sessão ou retoma uma sessão existente. Útil para carregar contexto de desenvolvimento, como issues existentes ou alterações recentes na sua base de código, ou para configurar variáveis de ambiente. Para contexto estático que não exige um script, use o [CLAUDE.md](/docs/pt/memory).1171É executado quando o Claude Code inicia uma nova sessão ou retoma uma sessão existente. Útil para carregar contexto de desenvolvimento, como issues existentes ou alterações recentes na sua base de código, ou para configurar variáveis de ambiente. Para contexto estático que não exige um script, use [CLAUDE.md](/docs/pt/memory) em vez disso.

1173 1172 

1174O SessionStart é executado em todas as sessões, então mantenha esses hooks rápidos. Somente hooks `type: "command"` e `type: "mcp_tool"` são suportados. Consulte [Campos de hook de ferramenta MCP](#mcp-tool-hook-fields) para saber quando os hooks `mcp_tool` são executados.1173O SessionStart é executado em todas as sessões, portanto mantenha esses hooks rápidos. Apenas hooks `type: "command"` e `type: "mcp_tool"` são suportados. Consulte [campos de hook de ferramenta MCP](#mcp-tool-hook-fields) para saber quando hooks `mcp_tool` são executados.

1175 1174 

1176O valor do matcher corresponde à forma como a sessão foi iniciada:1175O valor do matcher corresponde a como a sessão foi iniciada:

1177 1176 

1178| Matcher | Quando é disparado |1177| Matcher | Quando é disparado |

1179| :- | :- |1178| :- | :- |


1185 1184 

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

1187 1186 

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

1189 1188 

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

1191 1190 

1192A mesma espera se aplica na inicialização, incluindo uma sessão retomada: um prompt que você envia enquanto os hooks SessionStart ainda estão em execução não chega ao Claude até que eles terminem.1191A mesma espera se aplica na inicialização, incluindo uma sessão retomada: um prompt que você envia enquanto os hooks SessionStart ainda estão em execução não chega ao Claude até que eles terminem.

1193 1192 


1201 1200 

1202| Campo | Descrição |1201| Campo | Descrição |

1203| :- | :- |1202| :- | :- |

1204| `source` | Como a sessão começou: `"startup"` para novas sessões, `"resume"` para sessões retomadas, `"clear"` após `/clear`, `"compact"` após a compactação ou `"fork"` para uma nova sessão bifurcada de uma existente |1203| `source` | Como a sessão foi iniciada: `"startup"` para novas sessões, `"resume"` para sessões retomadas, `"clear"` após `/clear`, `"compact"` após compactação ou `"fork"` para uma nova sessão bifurcada de uma existente |

1205| `model` | O identificador do modelo ativo. Ele pode ser omitido, por exemplo após `/clear` ou quando uma sessão é restaurada pela recuperação de conversa, então verifique a existência do campo antes de lê-lo |1204| `model` | O identificador do modelo ativo. Pode ser omitido, por exemplo após `/clear` ou quando uma sessão é restaurada por meio da recuperação de conversa, portanto verifique se o campo existe antes de lê-lo |

1206| `agent_type` | O nome do agente, presente quando você inicia o Claude Code com `claude --agent <name>` |1205| `agent_type` | O nome do agente, presente quando você inicia o Claude Code com `claude --agent <name>` |

1207| `session_title` | O título personalizado da sessão, presente quando um está definido, por exemplo com `--name`, `/rename`, a saída `sessionTitle` de um hook ou `renameSession()` do Agent SDK. Um hook que emite `sessionTitle` pode verificar esse campo primeiro para evitar sobrescrever um título personalizado existente |1206| `session_title` | O título personalizado da sessão, presente quando um estiver definido, por exemplo com `--name`, `/rename`, a saída `sessionTitle` de um hook ou o `renameSession()` do Agent SDK. Um hook que emite `sessionTitle` pode verificar este campo primeiro para evitar sobrescrever um título personalizado existente |

1208 1207 

1209Uma sessão que você não nomeou ainda pode ter um [título gerado](/docs/pt/sessions#name-your-sessions). Esse título não é um título personalizado e não aparece em `session_title`.1208Uma sessão que você não nomeou ainda pode ter um [título gerado](/docs/pt/sessions#name-your-sessions). Esse título não é um título personalizado e não aparece em `session_title`.

1210 1209 


1243| Campo | Descrição |1242| Campo | Descrição |

1244| :- | :- |1243| :- | :- |

1245| `additionalContext` | String adicionada ao contexto do Claude no início da conversa, antes do primeiro prompt. Consulte [Adicionar contexto para o Claude](#add-context-for-claude) para saber como o texto é entregue e o que colocar nele |1244| `additionalContext` | String adicionada ao contexto do Claude no início da conversa, antes do primeiro prompt. Consulte [Adicionar contexto para o Claude](#add-context-for-claude) para saber como o texto é entregue e o que colocar nele |

1246| `initialUserMessage` | String usada como a primeira mensagem do usuário da sessão. Aplica-se no [modo não interativo](/docs/pt/headless) com a flag `-p`, onde se torna o primeiro turno mesmo que nenhum prompt seja fornecido. Se um prompt for fornecido, ele vem em seguida como o próximo turno. Diferentemente de `additionalContext`, que se anexa a um turno existente, isso cria o turno |1245| `initialUserMessage` | String usada como a primeira mensagem do usuário da sessão. Aplica-se no [modo não interativo](/docs/pt/headless) com a flag `-p`, onde se torna o primeiro turno mesmo que nenhum prompt seja fornecido. Se um prompt for fornecido, ele vem como o próximo turno. Ao contrário de `additionalContext`, que se anexa a um turno existente, isto cria o turno |

1247| `sessionTitle` | Define o título da sessão, com o mesmo efeito de `/rename`. Use para nomear sessões automaticamente a partir da pasta de inicialização, do branch do git ou do nome do worktree. Aplica-se quando `source` é `"startup"`, `"resume"` ou `"fork"`; ignorado em `"clear"` e `"compact"` |1246| `sessionTitle` | Define o título da sessão, com o mesmo efeito de `/rename`. Use para nomear sessões automaticamente a partir da pasta de inicialização, do branch do git ou do nome do worktree. Aplica-se quando `source` é `"startup"`, `"resume"` ou `"fork"`; ignorado em `"clear"` e `"compact"` |

1248| `watchPaths` | Array de caminhos absolutos a observar para eventos [FileChanged](#filechanged) durante esta sessão |1247| `watchPaths` | Array de caminhos absolutos a observar para eventos [FileChanged](#filechanged) durante esta sessão |

1249| `reloadSkills` | Booleano. Quando `true`, o Claude Code examina novamente os diretórios de [skills](/docs/pt/skills) e comandos após a conclusão dos hooks SessionStart, para que as skills instaladas pelo hook estejam disponíveis na mesma sessão, a partir do primeiro prompt |1248| `reloadSkills` | Booleano. Quando `true`, o Claude Code examina novamente os diretórios de [skills](/docs/pt/skills) e comandos após a conclusão dos hooks SessionStart, para que as skills instaladas pelo hook fiquem disponíveis na mesma sessão, a partir do primeiro prompt |

1250 1249 

1251```json theme={null}1250```json theme={null}

1252{1251{


1258}1257}

1259```1258```

1260 1259 

1261Como o stdout simples já chega ao Claude para este evento, um hook que apenas carrega contexto pode imprimir diretamente no stdout sem montar JSON. Use o formato JSON quando precisar combinar contexto com outros campos, como `sessionTitle`.1260Como o stdout simples já chega ao Claude neste evento, um hook que apenas carrega contexto pode imprimir diretamente no stdout sem montar JSON. Use o formato JSON quando precisar combinar contexto com outros campos, como `sessionTitle`.

1262 1261 

1263Use `reloadSkills` quando um hook SessionStart instala ou atualiza skills. A descoberta de skills normalmente é executada antes de os hooks SessionStart terminarem, então os arquivos que o hook grava em `~/.claude/skills/` ou `.claude/skills/` só apareceriam, de outra forma, na próxima sessão. Este exemplo sincroniza um repositório de skills compartilhado e solicita a nova varredura:1262Use `reloadSkills` quando um hook SessionStart instalar ou atualizar skills. A descoberta de skills normalmente é executada antes de os hooks SessionStart terminarem, então arquivos que o hook grava em `~/.claude/skills/` ou `.claude/skills/` só apareceriam na próxima sessão. Este exemplo sincroniza um repositório de skills compartilhado e solicita a nova varredura:

1264 1263 

1265```bash theme={null}1264```bash theme={null}

1266#!/bin/bash1265#!/bin/bash


1271echo '{"hookSpecificOutput": {"hookEventName": "SessionStart", "reloadSkills": true}}'1270echo '{"hookSpecificOutput": {"hookEventName": "SessionStart", "reloadSkills": true}}'

1272```1271```

1273 1272 

1274A URL do repositório é um placeholder; substitua-a pelo seu próprio repositório de skills. Com o placeholder, o clone falha e imprime uma mensagem `fatal:` no stderr. O stderr de um hook SessionStart que sai com 0 é apenas informativo, então a solicitação `reloadSkills` ainda se aplica.1273A URL do repositório é um espaço reservado; substitua-a pelo seu próprio repositório de skills. Com o espaço reservado, o clone falha e imprime uma mensagem `fatal:` no stderr. O stderr de um hook SessionStart que sai com 0 é apenas informativo, portanto a solicitação de `reloadSkills` ainda se aplica.

1275 1274 

1276<h4 id="persist-environment-variables">1275<h4 id="persist-environment-variables">

1277 Persistir variáveis de ambiente1276 Persistir variáveis de ambiente


1279 1278 

1280Os hooks SessionStart têm acesso à variável de ambiente `CLAUDE_ENV_FILE`, que fornece um caminho de arquivo onde você pode persistir variáveis de ambiente para comandos Bash subsequentes.1279Os hooks SessionStart têm acesso à variável de ambiente `CLAUDE_ENV_FILE`, que fornece um caminho de arquivo onde você pode persistir variáveis de ambiente para comandos Bash subsequentes.

1281 1280 

1282Para definir variáveis de ambiente individuais, grave instruções `export` em `CLAUDE_ENV_FILE`. Use anexação (`>>`) para preservar variáveis definidas por outros hooks:1281Para definir variáveis de ambiente individuais, escreva instruções `export` em `CLAUDE_ENV_FILE`. Use anexação (`>>`) para preservar variáveis definidas por outros hooks:

1283 1282 

1284```bash theme={null}1283```bash theme={null}

1285#!/bin/bash1284#!/bin/bash


1293exit 01292exit 0

1294```1293```

1295 1294 

1296Para capturar todas as alterações de ambiente feitas por comandos de configuração, compare as variáveis exportadas antes e depois:1295Para capturar todas as alterações de ambiente de comandos de configuração, compare as variáveis exportadas antes e depois:

1297 1296 

1298```bash theme={null}1297```bash theme={null}

1299#!/bin/bash1298#!/bin/bash


1313```1312```

1314 1313 

1315<Note>1314<Note>

1316 `CLAUDE_ENV_FILE` está disponível para hooks SessionStart, [Setup](#setup), [CwdChanged](#cwdchanged) e [FileChanged](#filechanged). Outros tipos de hook não têm acesso a essa variável.1315 `CLAUDE_ENV_FILE` está disponível para os hooks SessionStart, [Setup](#setup), [CwdChanged](#cwdchanged) e [FileChanged](#filechanged). Outros tipos de hook não têm acesso a essa variável.

1317</Note>1316</Note>

1318 1317 

1319<h3 id="setup">1318<h3 id="setup">

1320 Setup1319 Setup

1321</h3>1320</h3>

1322 1321 

1323É disparado somente quando você inicia o Claude Code com `--init-only`, ou com `--init` ou `--maintenance` no [modo não interativo](/docs/pt/headless) com a flag `-p`. Ele não é disparado na inicialização normal. Use-o para instalação única de dependências ou limpeza agendada que você aciona explicitamente a partir de CI ou scripts, separadamente da inicialização normal da sessão. Para inicialização por sessão, use o [SessionStart](#sessionstart).1322É disparado apenas quando você inicia o Claude Code com `--init-only`, ou com `--init` ou `--maintenance` no [modo não interativo](/docs/pt/headless) com a flag `-p`. Não é disparado na inicialização normal. Use-o para instalação única de dependências ou limpeza agendada que você aciona explicitamente a partir de CI ou scripts, separadamente da inicialização normal da sessão. Para inicialização por sessão, use [SessionStart](#sessionstart) em vez disso.

1324 1323 

1325O valor do matcher corresponde à flag da CLI que acionou o hook:1324O valor do matcher corresponde à flag da CLI que acionou o hook:

1326 1325 


1333 1332 

1334Quando você inicia ou continua uma conversa com `-p`, também precisa fornecer um prompt, como argumento ou via pipe no stdin. Você pode omitir o prompt quando um hook `SessionStart` fornece [`initialUserMessage`](#sessionstart-decision-control) ou quando você retoma uma sessão com uma [chamada de ferramenta adiada](#defer-a-tool-call-for-later).1333Quando você inicia ou continua uma conversa com `-p`, também precisa fornecer um prompt, como argumento ou via pipe no stdin. Você pode omitir o prompt quando um hook `SessionStart` fornece [`initialUserMessage`](#sessionstart-decision-control) ou quando você retoma uma sessão com uma [chamada de ferramenta adiada](#defer-a-tool-call-for-later).

1335 1334 

1336Em caso de sucesso, `--init-only` não imprime nada no terminal. Para confirmar que os hooks foram executados, inicie com `claude --debug-file <path> --init-only`, substituindo `<path>` por um local de arquivo de log, e verifique no log as entradas dos hooks Setup e SessionStart.1335Em caso de sucesso, `--init-only` não imprime nada no terminal. Para confirmar que os hooks foram executados, inicie com `claude --debug-file <path> --init-only`, substituindo `<path>` pelo local de um arquivo de log, e verifique no log as entradas dos hooks Setup e SessionStart.

1337 1336 

1338Como o Setup não é disparado a cada inicialização, um plugin que precisa de uma dependência instalada não pode depender apenas do Setup. O padrão prático é verificar a dependência no primeiro uso e instalá-la se estiver ausente, por exemplo um hook ou skill que testa `${CLAUDE_PLUGIN_DATA}/node_modules` e executa `npm install` se não existir. Consulte o [diretório de dados persistentes](/docs/pt/plugins/components#path-variables-and-persistent-data) para saber onde armazenar dependências instaladas. Se você distribui seu plugin por meio de um marketplace, talvez não precise desse padrão: o Claude Code [instala automaticamente as dependências de pacotes Node.js elegíveis](/docs/pt/plugins/loading#node-js-package-dependencies) ao armazenar o plugin em cache.1337Como o Setup não é disparado em toda inicialização, um plugin que precisa de uma dependência instalada não pode depender apenas do Setup. O padrão prático é verificar a dependência no primeiro uso e instalá-la se estiver ausente, por exemplo um hook ou skill que testa a existência de `${CLAUDE_PLUGIN_DATA}/node_modules` e executa `npm install` se não existir. Consulte o [diretório de dados persistentes](/docs/pt/plugins/components#path-variables-and-persistent-data) para saber onde armazenar dependências instaladas. Se você distribui seu plugin por meio de um marketplace, talvez não precise desse padrão: o Claude Code [instala automaticamente as dependências de pacotes Node.js elegíveis](/docs/pt/plugins/loading#node-js-package-dependencies) quando armazena o plugin em cache.

1339 1338 

1340<h4 id="setup-input">1339<h4 id="setup-input">

1341 Entrada do Setup1340 Entrada do Setup


1357 Controle de decisão do Setup1356 Controle de decisão do Setup

1358</h4>1357</h4>

1359 1358 

1360Os hooks Setup não podem bloquear; a execução continua com qualquer código de saída. Em todo código de saída, o Claude Code descarta os [campos de saída JSON](#json-output) de um hook Setup, como `systemMessage`, `continue` e `hookSpecificOutput.additionalContext`. Com `-p`, o stdout, o stderr e o código de saída de um hook Setup aparecem na saída da execução somente como [eventos `hook_response`](/docs/pt/headless#read-session-metadata) quando você inicia com `--output-format stream-json --verbose`.1359Os hooks Setup não podem bloquear; a execução continua com qualquer código de saída. Em todos os códigos de saída, o Claude Code descarta os [campos de saída JSON](#json-output) de um hook Setup, como `systemMessage`, `continue` e `hookSpecificOutput.additionalContext`. Com `-p`, o stdout, o stderr e o código de saída de um hook Setup aparecem na saída da execução apenas como [eventos `hook_response`](/docs/pt/headless#read-session-metadata) quando você inicia com `--output-format stream-json --verbose`.

1361 1360 

1362Os hooks Setup têm acesso a `CLAUDE_ENV_FILE`. As variáveis gravadas nesse arquivo persistem nos comandos Bash subsequentes da sessão, como nos [hooks SessionStart](#persist-environment-variables). Somente hooks `type: "command"` são executados no `Setup`. Um hook `type: "mcp_tool"` no `Setup` é sempre ignorado, conforme descrito em [campos de hook de ferramenta MCP](#mcp-tool-hook-fields).1361Os hooks Setup têm acesso a `CLAUDE_ENV_FILE`. Variáveis gravadas nesse arquivo persistem nos comandos Bash subsequentes da sessão, como nos [hooks SessionStart](#persist-environment-variables). Apenas hooks `type: "command"` são executados no `Setup`. Um hook `type: "mcp_tool"` no `Setup` é sempre ignorado, conforme descrito em [campos de hook de ferramenta MCP](#mcp-tool-hook-fields).

1363 1362 

1364<h3 id="instructionsloaded">1363<h3 id="instructionsloaded">

1365 InstructionsLoaded1364 InstructionsLoaded

1366</h3>1365</h3>

1367 1366 

1368É disparado quando um arquivo `CLAUDE.md` ou `.claude/rules/*.md` é carregado no contexto. Este evento é disparado no início da sessão para arquivos carregados antecipadamente e novamente mais tarde quando arquivos são carregados sob demanda, por exemplo quando o Claude acessa um subdiretório que contém um `CLAUDE.md` aninhado ou quando regras condicionais com frontmatter `paths:` correspondem. O hook não suporta bloqueio nem controle de decisão. Ele é executado de forma assíncrona para fins de observabilidade.1367É disparado quando um arquivo `CLAUDE.md` ou `.claude/rules/*.md` é carregado no contexto. Este evento é disparado no início da sessão para arquivos carregados antecipadamente e novamente mais tarde quando arquivos são carregados de forma preguiçosa, por exemplo quando o Claude acessa um subdiretório que contém um `CLAUDE.md` aninhado ou quando regras condicionais com frontmatter `paths:` correspondem. O hook não suporta bloqueio nem controle de decisão. Ele é executado de forma assíncrona para fins de observabilidade.

1369 1368 

1370Este evento não é disparado quando o Claude [lê `AGENTS.md` diretamente](/docs/pt/memory#agents-md) por meio da configuração **Project instructions**. Ele é disparado quando um `CLAUDE.md` importa seu `AGENTS.md`, com `load_reason` definido como `include`, como para qualquer outro arquivo importado, e quando `CLAUDE.md` é um link simbólico para ele, como um carregamento normal de `CLAUDE.md`.1369Este evento não é disparado quando o Claude [lê `AGENTS.md` diretamente](/docs/pt/memory#agents-md) por meio da configuração **Project instructions**. Ele é disparado quando um `CLAUDE.md` importa seu `AGENTS.md`, com `load_reason` definido como `include`, como para qualquer outro arquivo importado, e quando `CLAUDE.md` é um link simbólico para ele, como um carregamento normal de `CLAUDE.md`.

1371 1370 

1372O matcher é avaliado contra `load_reason`. Por exemplo, use `"matcher": "session_start"` para disparar somente para arquivos carregados no início da sessão, ou `"matcher": "path_glob_match|nested_traversal"` para disparar somente para carregamentos tardios.1371O matcher é avaliado contra `load_reason`. Por exemplo, use `"matcher": "session_start"` para disparar apenas para arquivos carregados no início da sessão, ou `"matcher": "path_glob_match|nested_traversal"` para disparar apenas para carregamentos preguiçosos.

1373 1372 

1374<h4 id="instructionsloaded-input">1373<h4 id="instructionsloaded-input">

1375 Entrada do InstructionsLoaded1374 Entrada do InstructionsLoaded


1381| :- | :- |1380| :- | :- |

1382| `file_path` | Caminho absoluto para o arquivo de instruções que foi carregado |1381| `file_path` | Caminho absoluto para o arquivo de instruções que foi carregado |

1383| `memory_type` | Escopo do arquivo: `"User"`, `"Project"`, `"Local"` ou `"Managed"` |1382| `memory_type` | Escopo do arquivo: `"User"`, `"Project"`, `"Local"` ou `"Managed"` |

1384| `load_reason` | Por que o arquivo foi carregado: `"session_start"`, `"nested_traversal"`, `"path_glob_match"`, `"include"` ou `"compact"`. O valor `"compact"` é disparado quando os arquivos de instruções são recarregados após um evento de compactação |1383| `load_reason` | Por que o arquivo foi carregado: `"session_start"`, `"nested_traversal"`, `"path_glob_match"`, `"include"` ou `"compact"`. O valor `"compact"` é disparado quando arquivos de instruções são recarregados após um evento de compactação |

1385| `globs` | Padrões glob de caminho do frontmatter `paths:` do arquivo, se houver. Presente somente para carregamentos `path_glob_match` |1384| `globs` | Padrões glob de caminho do frontmatter `paths:` do arquivo, se houver. Presente apenas para carregamentos `path_glob_match` |

1386| `trigger_file_path` | Caminho para o arquivo cujo acesso acionou este carregamento, para carregamentos tardios |1385| `trigger_file_path` | Caminho para o arquivo cujo acesso acionou este carregamento, para carregamentos preguiçosos |

1387| `parent_file_path` | Caminho para o arquivo de instruções pai que incluiu este, para carregamentos `include` |1386| `parent_file_path` | Caminho para o arquivo de instruções pai que incluiu este, para carregamentos `include` |

1388 1387 

1389```json theme={null}1388```json theme={null}


1408 UserPromptSubmit1407 UserPromptSubmit

1409</h3>1408</h3>

1410 1409 

1411É executado quando um prompt é enviado, antes que o Claude o processe. Isso permite1410É executado quando um prompt é enviado, antes de o Claude processá-lo. Isso permite

1412que você adicione contexto adicional com base no prompt/conversa, valide prompts ou1411adicionar contexto extra com base no prompt/conversa, validar prompts ou

1413bloqueie certos tipos de prompts.1412bloquear certos tipos de prompts.

1414 1413 

1415Os hooks `UserPromptSubmit` não são disparados apenas em prompts que você digita. O Claude Code também os executa quando:1414Os hooks `UserPromptSubmit` não são disparados apenas em prompts que você digita. O Claude Code também os executa quando:

1416 1415 


1418* Um [subagente em segundo plano](/docs/pt/sub-agents#run-subagents-in-foreground-or-background) reporta de volta à sessão que o iniciou1417* Um [subagente em segundo plano](/docs/pt/sub-agents#run-subagents-in-foreground-or-background) reporta de volta à sessão que o iniciou

1419* Uma [mensagem que outra sessão envia](/docs/pt/cross-session-messaging) chega à sua conversa principal1418* Uma [mensagem que outra sessão envia](/docs/pt/cross-session-messaging) chega à sua conversa principal

1420 1419 

1421Os hooks `UserPromptSubmit` têm um timeout padrão de 30 segundos para os tipos `command`, `http` e `mcp_tool`, menor que o padrão de 600 segundos desses tipos na maioria dos outros eventos. Como este hook é executado antes de cada prompt e bloqueia o processamento do modelo até ser concluído, um hook travado paralisa a sessão. Se o seu hook precisar de mais tempo, defina o campo `timeout` na entrada do hook.1420Os hooks `UserPromptSubmit` têm um timeout padrão de 30 segundos para os tipos `command`, `http` e `mcp_tool`, menor que o padrão de 600 segundos desses tipos na maioria dos outros eventos. Como este hook é executado antes de cada prompt e bloqueia o processamento do modelo até terminar, um hook travado paralisa a sessão. Se seu hook precisar de mais tempo, defina o campo `timeout` na entrada do hook.

1422 1421 

1423Exceto por um hook de comando que você executa com [`async: true`](#run-hooks-in-the-background), um hook `UserPromptSubmit` de comando, HTTP ou ferramenta MCP que atinge seu timeout é cancelado e sua saída, incluindo qualquer `additionalContext`, é descartada. O prompt ainda chega ao Claude sem esse contexto. A transcrição mostra um aviso nomeando o hook, o timeout que foi atingido e que a saída foi descartada.1422Exceto por um hook de comando que você executa com [`async: true`](#run-hooks-in-the-background), um hook `UserPromptSubmit` de comando, HTTP ou ferramenta MCP que atinge seu timeout é cancelado e sua saída, incluindo qualquer `additionalContext`, é descartada. O prompt ainda chega ao Claude sem esse contexto. A transcrição mostra um aviso com o nome do hook, o timeout que foi atingido e que a saída foi descartada.

1424 1423 

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

1426 1425 

1427<h4 id="userpromptsubmit-input">1426<h4 id="userpromptsubmit-input">

1428 Entrada do UserPromptSubmit1427 Entrada do UserPromptSubmit

1429</h4>1428</h4>

1430 1429 

1431Além dos [campos de entrada comuns](#common-input-fields), os hooks UserPromptSubmit recebem o campo `prompt` contendo o texto enviado. Conteúdo colado que foi recolhido em um espaço reservado `[Pasted text #N]` chega expandido no lugar. Em sessões em que o Claude Code [marca o texto colado para o Claude](/docs/pt/terminal-config#how-claude-treats-pasted-text), esse conteúdo expandido fica entre uma linha `<pasted_content id="…">` e uma linha `</pasted_content id="…">`, então leve essas linhas em conta se o seu hook analisar o prompt.1430Além dos [campos de entrada comuns](#common-input-fields), os hooks UserPromptSubmit recebem o campo `prompt` contendo o texto enviado. Conteúdo colado que foi recolhido em um espaço reservado `[Pasted text #N]` chega expandido no lugar. Em sessões em que o Claude Code [marca o texto colado para o Claude](/docs/pt/terminal-config#how-claude-treats-pasted-text), esse conteúdo expandido fica entre uma linha `<pasted_content id="…">` e uma linha `</pasted_content id="…">`, portanto leve essas linhas em conta se seu hook analisar o prompt.

1432 1431 

1433Os hooks UserPromptSubmit também recebem `session_title` quando a sessão tem um título personalizado, com o mesmo significado do [campo `session_title` do SessionStart](#sessionstart-input).1432Os hooks UserPromptSubmit também recebem `session_title` quando a sessão tem um título personalizado, com o mesmo significado do [campo `session_title` do SessionStart](#sessionstart-input).

1434 1433 


1449 1448 

1450Os hooks `UserPromptSubmit` podem controlar se um prompt enviado é processado e adicionar contexto. Todos os [campos de saída JSON](#json-output) estão disponíveis.1449Os hooks `UserPromptSubmit` podem controlar se um prompt enviado é processado e adicionar contexto. Todos os [campos de saída JSON](#json-output) estão disponíveis.

1451 1450 

1452Há duas formas de adicionar contexto à conversa com código de saída 0:1451Há duas maneiras de adicionar contexto à conversa com o código de saída 0:

1453 1452 

1454* **Stdout de texto simples**: o Claude Code adiciona ao contexto do Claude o stdout que ele [trata como texto simples](#exit-code-0)1453* **Stdout em texto simples**: o Claude Code adiciona ao contexto do Claude o stdout que ele [trata como texto simples](#exit-code-0)

1455* **JSON com `additionalContext`**: use o formato JSON abaixo para ter mais controle. O campo `additionalContext` é adicionado como contexto1454* **JSON com `additionalContext`**: use o formato JSON abaixo para ter mais controle. O campo `additionalContext` é adicionado como contexto

1456 1455 

1457Nenhum dos canais produz uma entrada visível na transcrição. O stdout simples e o valor de `additionalContext` são, cada um, injetados como um lembrete do sistema que começa com o nome do hook; o Claude lê ambos. Para confirmar a entrega, verifique o [log de depuração](#debug-hooks).1456Nenhum dos canais produz uma entrada visível na transcrição. O stdout simples e o valor de `additionalContext` são injetados, cada um, como um lembrete do sistema que começa com o nome do hook; o Claude lê ambos. Para confirmar a entrega, verifique o [log de depuração](#debug-hooks).

1458 1457 

1459Para bloquear um prompt, retorne um objeto JSON com `decision` definido como `"block"`:1458Para bloquear um prompt, retorne um objeto JSON com `decision` definido como `"block"`:

1460 1459 


1466| `sessionTitle` | Define o título da sessão. Use para nomear sessões automaticamente com base no conteúdo do prompt |1465| `sessionTitle` | Define o título da sessão. Use para nomear sessões automaticamente com base no conteúdo do prompt |

1467| `suppressOriginalPrompt` | Se `true` quando o hook bloqueia o prompt, deixa o texto do prompt fora da mensagem de bloqueio. Consulte [O que um prompt bloqueado deixa para trás](#what-a-blocked-prompt-leaves-behind) |1466| `suppressOriginalPrompt` | Se `true` quando o hook bloqueia o prompt, deixa o texto do prompt fora da mensagem de bloqueio. Consulte [O que um prompt bloqueado deixa para trás](#what-a-blocked-prompt-leaves-behind) |

1468 1467 

1469Um hook que bloqueia saindo com 2 é encaminhado da mesma forma que `reason`: a mensagem de bloqueio mostra o texto do stderr ao usuário, e ele não é adicionado ao contexto.1468Um hook que bloqueia saindo com 2 é tratado da mesma forma que `reason`: a mensagem de bloqueio mostra o texto do stderr ao usuário, e ele não é adicionado ao contexto.

1470 1469 

1471```json theme={null}1470```json theme={null}

1472{1471{


1485 O que um prompt bloqueado deixa para trás1484 O que um prompt bloqueado deixa para trás

1486</h4>1485</h4>

1487 1486 

1488Um prompt bloqueado nunca chega ao Claude, mas seu texto não é removido de todos os lugares. Por padrão, a mensagem de bloqueio mostrada ao usuário termina com `Original prompt:` seguido do texto enviado, e o Claude Code grava essa mensagem no arquivo de transcrição da sessão em disco. Para omitir o texto da mensagem, imprima JSON com `"suppressOriginalPrompt": true` dentro de `hookSpecificOutput`. Isso funciona tanto se o hook bloquear com `decision: "block"` quanto saindo com 2.1487Um prompt bloqueado nunca chega ao Claude, mas seu texto não é removido de todos os lugares. Por padrão, a mensagem de bloqueio mostrada ao usuário termina com `Original prompt:` seguido do texto enviado, e o Claude Code grava essa mensagem no arquivo de transcrição da sessão no disco. Para deixar o texto fora da mensagem, imprima JSON com `"suppressOriginalPrompt": true` dentro de `hookSpecificOutput`. Isso funciona tanto quando o hook bloqueia com `decision: "block"` quanto saindo com 2.

1489 1488 

1490`suppressOriginalPrompt` altera apenas a mensagem de bloqueio. O texto enviado ainda pode aparecer em arquivos locais, como a transcrição da sessão e seu histórico de prompts, então um hook de bloqueio não é uma forma de manter um segredo fora do disco. Para limitar ou remover esses arquivos, consulte [Armazenamento em texto simples](/docs/pt/claude-directory#plaintext-storage) e [Limpar dados locais](/docs/pt/claude-directory#clear-local-data).1489`suppressOriginalPrompt` altera apenas a mensagem de bloqueio. O texto enviado ainda pode aparecer em arquivos locais, como a transcrição da sessão e seu histórico de prompts, portanto um hook de bloqueio não é uma forma de manter um segredo fora do disco. Para limitar ou remover esses arquivos, consulte [Armazenamento em texto simples](/docs/pt/claude-directory#plaintext-storage) e [Limpar dados locais](/docs/pt/claude-directory#clear-local-data).

1491 1490 

1492<h3 id="userpromptexpansion">1491<h3 id="userpromptexpansion">

1493 UserPromptExpansion1492 UserPromptExpansion

1494</h3>1493</h3>

1495 1494 

1496É executado quando um comando digitado pelo usuário se expande em um prompt antes de chegar ao Claude. Use isso para impedir que comandos específicos sejam invocados diretamente, injetar contexto para uma skill específica ou registrar em log quais comandos os usuários invocam. Por exemplo, um hook que corresponde a `deploy` pode bloquear `/deploy` a menos que um arquivo de aprovação esteja presente, ou um hook que corresponde a uma skill de revisão pode anexar a checklist de revisão da equipe como `additionalContext`.1495É executado quando um comando digitado pelo usuário é expandido em um prompt antes de chegar ao Claude. Use-o para impedir que comandos específicos sejam invocados diretamente, injetar contexto para uma skill específica ou registrar em log quais comandos os usuários invocam. Por exemplo, um hook que corresponde a `deploy` pode bloquear `/deploy` a menos que um arquivo de aprovação esteja presente, ou um hook que corresponde a uma skill de revisão pode anexar a checklist de revisão da equipe como `additionalContext`.

1497 1496 

1498Este evento cobre o caminho que o `PreToolUse` não cobre: um hook `PreToolUse` que corresponde à ferramenta `Skill` é disparado somente quando o Claude chama a ferramenta, mas digitar `/skillname` diretamente contorna o `PreToolUse`. O `UserPromptExpansion` é disparado nesse caminho direto.1497Este evento cobre o caminho que o `PreToolUse` não cobre: um hook `PreToolUse` que corresponde à ferramenta `Skill` é disparado apenas quando o Claude chama a ferramenta, mas digitar `/skillname` diretamente contorna o `PreToolUse`. O `UserPromptExpansion` é disparado nesse caminho direto.

1499 1498 

1500Faz a correspondência em `command_name`. Deixe o matcher vazio para disparar em todo comando do tipo prompt.1499Faz a correspondência com `command_name`. Deixe o matcher vazio para disparar em todo comando do tipo prompt.

1501 1500 

1502<h4 id="userpromptexpansion-input">1501<h4 id="userpromptexpansion-input">

1503 Entrada do UserPromptExpansion1502 Entrada do UserPromptExpansion

1504</h4>1503</h4>

1505 1504 

1506Além dos [campos de entrada comuns](#common-input-fields), os hooks UserPromptExpansion recebem `expansion_type`, `command_name`, `command_args`, `command_source` e a string `prompt` original. O campo `expansion_type` é `slash_command` para skills e comandos personalizados, ou `mcp_prompt` para prompts de servidor MCP.1505Além dos [campos de entrada comuns](#common-input-fields), os hooks UserPromptExpansion recebem `expansion_type`, `command_name`, `command_args`, `command_source` e a string `prompt` original. O campo `expansion_type` é `slash_command` para skills e comandos personalizados, ou `mcp_prompt` para prompts de servidores MCP.

1507 1506 

1508```json theme={null}1507```json theme={null}

1509{1508{


1528 1527 

1529| Campo | Descrição |1528| Campo | Descrição |

1530| :- | :- |1529| :- | :- |

1531| `decision` | `"block"` impede que o comando se expanda. Omita para permitir que ele prossiga |1530| `decision` | `"block"` impede que o comando seja expandido. Omita para permitir que ele prossiga |

1532| `reason` | Mostrado ao usuário quando `decision` é `"block"` |1531| `reason` | Mostrado ao usuário quando `decision` é `"block"` |

1533| `additionalContext` | String adicionada ao contexto do Claude junto com o prompt expandido. Consulte [Adicionar contexto para o Claude](#add-context-for-claude) |1532| `additionalContext` | String adicionada ao contexto do Claude junto com o prompt expandido. Consulte [Adicionar contexto para o Claude](#add-context-for-claude) |

1534 1533 

1535Um hook que bloqueia saindo com 2 é encaminhado da mesma forma que `reason`: a mensagem de bloqueio mostra o texto do stderr ao usuário.1534Um hook que bloqueia saindo com 2 é tratado da mesma forma que `reason`: a mensagem de bloqueio mostra o texto do stderr ao usuário.

1536 1535 

1537```json theme={null}1536```json theme={null}

1538{1537{


1549 MessageDisplay1548 MessageDisplay

1550</h3>1549</h3>

1551 1550 

1552É executado enquanto uma mensagem do assistente é transmitida para a tela. O Claude Code exibe a mensagem em incrementos: cada vez que um lote de linhas recém-concluídas está pronto para renderização, o hook é executado uma vez com essas linhas e o Claude Code renderiza o texto de substituição do hook no lugar delas. Uma mensagem longa produz várias chamadas; uma mensagem curta pode produzir apenas uma.1551É executado enquanto uma mensagem do assistente é transmitida para a tela. O Claude Code exibe a mensagem em incrementos: cada vez que um lote de linhas recém-concluídas está pronto para ser renderizado, o hook é executado uma vez com essas linhas e o Claude Code renderiza o texto de substituição do hook no lugar delas. Uma mensagem longa produz várias chamadas; uma mensagem curta pode produzir apenas uma.

1553 1552 

1554Use o MessageDisplay para:1553Use o MessageDisplay para:

1555 1554 

1556* remover markdown para uma exibição mínima1555* remover markdown para uma exibição minimalista

1557* transformar o texto que uma aplicação do Agent SDK mostra aos seus usuários1556* transformar o texto que uma aplicação do Agent SDK mostra aos seus usuários

1558* ocultar chaves de API ou hostnames internos das respostas do Claude1557* ocultar chaves de API ou nomes de host internos das respostas do Claude

1559 1558 

1560O Claude Code retém cada lote até que seu hook retorne, então mantenha o hook rápido. Se o hook falhar ou atingir o timeout, o Claude Code exibe o texto original. O timeout padrão para este evento é de 10 segundos; se o seu hook precisar de mais tempo, defina o campo `timeout` na entrada do hook.1559O Claude Code retém cada lote até que seu hook retorne, portanto mantenha o hook rápido. Se o hook falhar ou atingir o timeout, o Claude Code exibe o texto original. O timeout padrão para este evento é de 10 segundos; se seu hook precisar de mais tempo, defina o campo `timeout` na entrada do hook.

1561 1560 

1562O MessageDisplay serve apenas para exibição: o texto de substituição altera somente o que é renderizado na tela. A transcrição e o que o Claude vê mantêm o texto original, então o Claude nunca vê a substituição, e o modo verbose mostra o original. O hook recebe apenas o texto das mensagens do assistente, então os resultados de ferramentas e o texto que você digita são renderizados sem alteração.1561O MessageDisplay é apenas de exibição: o texto de substituição altera somente o que é renderizado na tela. A transcrição e o que o Claude vê mantêm o texto original, então o Claude nunca vê a substituição, e o modo verboso mostra o original. O hook recebe apenas o texto das mensagens do assistente, portanto resultados de ferramentas e o texto que você digita são renderizados sem alterações.

1563 1562 

1564O MessageDisplay não suporta matchers e é disparado para toda mensagem do assistente que transmite texto; mensagens sem texto, como respostas que contêm apenas chamadas de ferramenta, não o acionam.1563O MessageDisplay não suporta matchers e é disparado para toda mensagem do assistente que transmite texto; mensagens sem texto, como respostas que contêm apenas chamadas de ferramenta, não o acionam.

1565 1564 

1566Em execuções não interativas, incluindo consultas do Agent SDK e `claude -p`, o MessageDisplay é executado uma vez por mensagem do assistente em vez de uma vez por lote de linhas. A chamada única chega depois que a mensagem é concluída e carrega o texto completo da mensagem: `index` é `0`, `final` é `true` e `delta` contém a mensagem inteira. Um hook que coleta o texto de `delta` de cada mensagem recebe o mesmo texto total em ambos os modos.1565Em execuções não interativas, incluindo consultas do Agent SDK e `claude -p`, o MessageDisplay é executado uma vez por mensagem do assistente em vez de uma vez por lote de linhas. A chamada única chega depois que a mensagem é concluída e carrega o texto completo da mensagem: `index` é `0`, `final` é `true` e `delta` contém a mensagem inteira. Um hook que coleta o texto de `delta` para cada mensagem recebe o mesmo texto total em ambos os modos.

1567 1566 

1568<h4 id="messagedisplay-input">1567<h4 id="messagedisplay-input">

1569 Entrada do MessageDisplay1568 Entrada do MessageDisplay

1570</h4>1569</h4>

1571 1570 

1572Além dos [campos de entrada comuns](#common-input-fields), os hooks MessageDisplay recebem identificadores do turno e da mensagem, a posição desta chamada dentro da mensagem e o novo texto em `delta`. Os limites dos lotes dependem de como o texto é transmitido, então use `index` e `final` para acompanhar o progresso de uma mensagem em vez de esperar que as linhas sejam agrupadas de uma forma específica.1571Além dos [campos de entrada comuns](#common-input-fields), os hooks MessageDisplay recebem identificadores do turno e da mensagem, a posição desta chamada dentro da mensagem e o novo texto em `delta`. Os limites dos lotes dependem de como o texto é transmitido, portanto use `index` e `final` para acompanhar o progresso em uma mensagem, em vez de esperar que as linhas sejam agrupadas de uma forma específica.

1573 1572 

1574| Campo | Descrição |1573| Campo | Descrição |

1575| :- | :- |1574| :- | :- |

1576| `turn_id` | UUID do turno atual |1575| `turn_id` | UUID do turno atual |

1577| `message_id` | UUID da mensagem do assistente sendo exibida. Estável em todos os lotes da mesma mensagem. Este não é o id `msg_…` da API, então não pode ser correlacionado com os ids de mensagens da transcrição |1576| `message_id` | UUID da mensagem do assistente sendo exibida. Estável em todos os lotes da mesma mensagem. Este não é o id `msg_…` da API, portanto não pode ser correlacionado com os ids de mensagem da transcrição |

1578| `index` | Índice, começando em zero, deste lote dentro da mensagem |1577| `index` | Índice baseado em zero deste lote dentro da mensagem |

1579| `final` | `true` no último lote da mensagem. Cada mensagem tem exatamente um lote final |1578| `final` | `true` no último lote da mensagem. Cada mensagem tem exatamente um lote final |

1580| `delta` | As linhas recém-concluídas desde o lote anterior, incluindo as quebras de linha finais. Sempre linhas inteiras, exceto o lote final, que pode terminar no meio de uma linha. Em execuções interativas, o delta do lote final fica vazio quando a mensagem termina com uma quebra de linha, então trate `final`, e não um delta não vazio, como o sinal de fim da mensagem. Em execuções do Agent SDK e de `claude -p`, a chamada única carrega a mensagem inteira |1579| `delta` | As linhas recém-concluídas desde o lote anterior, incluindo as quebras de linha finais. Sempre linhas inteiras, exceto o lote final, que pode terminar no meio de uma linha. Em execuções interativas, o delta do lote final fica vazio quando a mensagem termina com uma quebra de linha, portanto trate `final`, e não um delta não vazio, como o sinal de fim de mensagem. Em execuções do Agent SDK e `claude -p`, a chamada única carrega a mensagem inteira |

1581 1580 

1582```json theme={null}1581```json theme={null}

1583{1582{


1605 1604 

1606Os hooks MessageDisplay não têm controle de decisão. Eles não podem bloquear a mensagem nem alterar o que é armazenado na transcrição ou enviado ao Claude. O Claude Code age com base em `displayContent` da saída JSON deles e descarta `systemMessage` e `continue`.1605Os hooks MessageDisplay não têm controle de decisão. Eles não podem bloquear a mensagem nem alterar o que é armazenado na transcrição ou enviado ao Claude. O Claude Code age com base em `displayContent` da saída JSON deles e descarta `systemMessage` e `continue`.

1607 1606 

1608Este exemplo remove a formatação markdown das respostas do Claude para uma exibição em texto simples. O script lê cada lote do stdin, remove os marcadores de negrito e os acentos graves de código inline de `delta` e retorna o resultado como `displayContent`.1607Este exemplo remove a formatação markdown das respostas do Claude para uma exibição em texto simples. O script lê cada lote do stdin, remove os marcadores de negrito e as crases de código inline de `delta` e retorna o resultado como `displayContent`.

1609 1608 

1610<Tabs>1609<Tabs>

1611 <Tab title="macOS/Linux">1610 <Tab title="macOS/Linux">


1681 </Tab>1680 </Tab>

1682</Tabs>1681</Tabs>

1683 1682 

1684Lotes sem markdown passam sem alteração. Se o script falhar, por exemplo porque o `jq` não está instalado, o Claude Code exibe o texto original e registra a falha somente na [saída de depuração](#debug-hooks), não na sessão.1683Lotes sem markdown passam sem alterações. Se o script falhar, por exemplo porque o `jq` não está instalado, o Claude Code exibe o texto original e registra a falha apenas na [saída de depuração](#debug-hooks), não na sessão.

1685 1684 

1686<h3 id="pretooluse">1685<h3 id="pretooluse">

1687 PreToolUse1686 PreToolUse

1688</h3>1687</h3>

1689 1688 

1690É executado depois que o Claude cria os parâmetros da ferramenta e antes de processar a chamada de ferramenta. Faz a correspondência com qualquer nome de ferramenta exceto `EndConversation`: ferramentas integradas como `Bash`, `PowerShell`, `Edit`, `Write`, `Read`, `Glob`, `Grep`, `Agent`, `Workflow`, `WebFetch`, `WebSearch`, `AskUserQuestion` e `ExitPlanMode`, e quaisquer [nomes de ferramentas MCP](#match-mcp-tools).1689É executado depois que o Claude cria os parâmetros da ferramenta e antes de processar a chamada de ferramenta. Faz correspondência com qualquer nome de ferramenta, exceto `EndConversation`: ferramentas integradas como `Bash`, `PowerShell`, `Edit`, `Write`, `Read`, `Glob`, `Grep`, `Agent`, `Workflow`, `WebFetch`, `WebSearch`, `AskUserQuestion` e `ExitPlanMode`, e quaisquer [nomes de ferramentas MCP](#match-mcp-tools).

1691 1690 

1692Para executar um hook quando um arquivo específico muda no disco, independentemente de quem o gravou, use o [FileChanged](#filechanged) em vez de fazer a correspondência de ferramentas de edição de arquivos pelo nome. Diferentemente do PreToolUse, o Claude Code executa os hooks FileChanged após a alteração, e eles não têm controle de decisão, então não podem bloquear a gravação.1691Para executar um hook quando um arquivo específico muda no disco, independentemente de quem o gravou, use [FileChanged](#filechanged) em vez de corresponder às ferramentas de edição de arquivos pelo nome. Ao contrário do PreToolUse, o Claude Code executa os hooks FileChanged depois da alteração, e eles não têm controle de decisão, portanto não podem bloquear a gravação.

1693 1692 

1694<Warning>1693<Warning>

1695 O PreToolUse é executado somente quando o Claude chama uma ferramenta. Os arquivos que você [referencia com `@` no seu prompt](/docs/pt/common-workflows#reference-files-and-directories) são adicionados sem nenhuma chamada de ferramenta: o Claude Code insere o conteúdo deles ao montar o prompt, então nenhum hook PreToolUse é disparado para eles, incluindo hooks que correspondem a `Read`. Para impedir caminhos específicos em referências `@`, use uma [regra de negação de `Read`](/docs/pt/permissions#read-and-edit).1694 O PreToolUse é executado apenas quando o Claude chama uma ferramenta. Arquivos que você [referencia com `@` no seu prompt](/docs/pt/common-workflows#reference-files-and-directories) são adicionados sem nenhuma chamada de ferramenta: o Claude Code insere o conteúdo deles ao montar o prompt, portanto nenhum hook PreToolUse é disparado para eles, incluindo hooks que correspondem a `Read`. Para bloquear caminhos específicos de referências `@`, use uma [regra de negação de `Read`](/docs/pt/permissions#read-and-edit) em vez disso.

1696 1695 

1697 O PreToolUse também não é disparado para [`EndConversation`](/docs/pt/tools-reference#endconversation-tool-behavior).1696 O PreToolUse também não é disparado para [`EndConversation`](/docs/pt/tools-reference#endconversation-tool-behavior).

1698</Warning>1697</Warning>

1699 1698 

1700Use o [controle de decisão do PreToolUse](#pretooluse-decision-control) para permitir, negar, perguntar ou adiar a chamada de ferramenta.1699Use o [controle de decisão do PreToolUse](#pretooluse-decision-control) para permitir, negar, pedir confirmação ou adiar a chamada de ferramenta.

1701 1700 

1702Um [hook de callback do Agent SDK](/docs/pt/agent-sdk/hooks) em `PreToolUse` que excede seu timeout bloqueia a chamada de ferramenta, e o Claude recebe um resultado de erro nomeando o timeout. Uma negação explícita retornada por outro hook ainda tem precedência.1701Um [hook de callback do Agent SDK](/docs/pt/agent-sdk/hooks) em `PreToolUse` que excede seu timeout bloqueia a chamada de ferramenta, e o Claude recebe um resultado de erro que nomeia o timeout. Uma negação explícita retornada por outro hook ainda tem precedência.

1703 1702 

1704<h4 id="pretooluse-input">1703<h4 id="pretooluse-input">

1705 Entrada do PreToolUse1704 Entrada do PreToolUse


1707 1706 

1708Além dos [campos de entrada comuns](#common-input-fields), os hooks PreToolUse recebem `tool_name`, `tool_input` e `tool_use_id`.1707Além dos [campos de entrada comuns](#common-input-fields), os hooks PreToolUse recebem `tool_name`, `tool_input` e `tool_use_id`.

1709 1708 

1710Para uma [ferramenta MCP](#match-mcp-tools), a entrada também carrega `mcp_server`, um objeto com o `name` do servidor e um `source` que informa de onde veio a definição do servidor. Os valores de `source` incluem `plugin`, `sdk` e escopos de configuração como `user` e `project`. [`McpServerProvenance`](/docs/pt/agent-sdk/typescript#mcpserverprovenance) na referência do Agent SDK lista todos eles e explica como tratar um que você não reconhece. Baseie as decisões de confiança em `source`, e não em `name` ou no prefixo de nome de ferramenta `mcp__<server>__`. O campo `mcp_server` exige o Claude Code v2.1.274 ou posterior.1709Para uma [ferramenta MCP](#match-mcp-tools), a entrada também carrega `mcp_server`, um objeto com o `name` do servidor e um `source` que indica de onde veio a definição do servidor. Os valores de `source` incluem `plugin`, `sdk` e escopos de configuração como `user` e `project`. [`McpServerProvenance`](/docs/pt/agent-sdk/typescript#mcpserverprovenance) na referência do Agent SDK lista todos eles e explica como tratar um que você não reconhece. Baseie decisões de confiança em `source`, e não em `name` ou no prefixo de nome de ferramenta `mcp__<server>__`. O campo `mcp_server` exige o Claude Code v2.1.274 ou posterior.

1711 1710 

1712Para as ferramentas de arquivo `Write`, `Edit` e `Read`, `tool_input.file_path` é sempre absoluto:1711Para as ferramentas de arquivo `Write`, `Edit` e `Read`, `tool_input.file_path` é sempre absoluto:

1713 1712 

1714* O Claude Code expande `~` e caminhos relativos antes de os hooks serem executados, então um hook que faz correspondência em caminhos não pode ser contornado via `~` ou uma forma relativa de escrever o mesmo caminho1713* O Claude Code expande `~` e caminhos relativos antes de os hooks serem executados, portanto um hook que faz correspondência por caminhos não pode ser contornado via `~` ou por uma grafia relativa do mesmo caminho

1715* No Windows, o caminho chega com separadores de barra invertida, mesmo quando seu hook é executado no Git Bash, onde `$PWD` se parece com `/c/project`1714* No Windows, o caminho chega com separadores de barra invertida, mesmo quando seu hook é executado no Git Bash, onde `$PWD` se parece com `/c/project`

1716* Uma comparação escrita com barras normais, como uma verificação de `/src/`, nunca corresponde a um caminho com barras invertidas, e a chamada de ferramenta prossegue como se o hook não tivesse nada a bloquear1715* Uma comparação escrita com barras normais, como uma verificação de `/src/`, nunca corresponde a um caminho com barras invertidas, e a chamada de ferramenta prossegue como se o hook não tivesse nada a bloquear

1717* Normalize os separadores antes de comparar: `FILE_PATH="${FILE_PATH//\\//}"` no Bash, ou `file_path.replace("\\", "/")` no Python, e então faça a correspondência de um segmento de caminho como `/src/` em vez de ancorar com `^`, já que o caminho é absoluto1716* Normalize os separadores antes de comparar: `FILE_PATH="${FILE_PATH//\\//}"` no Bash, ou `file_path.replace("\\", "/")` no Python, e então faça a correspondência com um segmento de caminho como `/src/` em vez de ancorar com `^`, já que o caminho é absoluto

1718 1717 

1719Uma chamada `Write` no Windows entrega:1718Uma chamada `Write` no Windows entrega:

1720 1719 


1747| `timeout` | number | `120000` | Timeout opcional em milissegundos. Valores acima do [máximo](/docs/pt/tools-reference#bash-tool-behavior) são reduzidos ao máximo em vez de rejeitados |1746| `timeout` | number | `120000` | Timeout opcional em milissegundos. Valores acima do [máximo](/docs/pt/tools-reference#bash-tool-behavior) são reduzidos ao máximo em vez de rejeitados |

1748| `run_in_background` | boolean | `false` | Se o comando deve ser executado em segundo plano |1747| `run_in_background` | boolean | `false` | Se o comando deve ser executado em segundo plano |

1749 1748 

1750Quando um comando Bash altera arquivos em um repositório Git, o Claude Code pode registrar o que mudou. Ele registra as alterações em todos os modos de permissão quando a configuração [`bashEditDiffEnabled`](/docs/pt/settings-reference#basheditdiffenabled) ativa o registro; a entrada dessa configuração informa quais arquivos podem defini-la. Caso contrário, ele as registra somente no modo auto e no modo `bypassPermissions`, e somente quando o Claude Code orienta o Claude a editar arquivos por meio do Bash. Defina `bashEditDiffEnabled` como `false` para desativar o registro. Comandos em segundo plano e comandos somente leitura não carregam diff.1749Quando um comando Bash altera arquivos em um repositório Git, o Claude Code pode registrar o que mudou. Ele registra as alterações em todos os modos de permissão quando a configuração [`bashEditDiffEnabled`](/docs/pt/settings-reference#basheditdiffenabled) ativa o registro; a entrada dessa configuração indica quais arquivos podem defini-la. Caso contrário, ele as registra apenas no modo auto e no modo `bypassPermissions`, e somente quando o Claude Code orienta o Claude a editar arquivos por meio do Bash. Defina `bashEditDiffEnabled` como `false` para desativar o registro. Comandos em segundo plano e comandos somente leitura não carregam diff.

1751 1750 

1752Seu [hook PostToolUse](#posttooluse) então recebe os arquivos alterados em `tool_response.bashEditDiff`. A lista cobre o que mudou no repositório enquanto o comando era executado. Arquivos que o Git ignora e arquivos em submódulos não são listados. Exige o Claude Code v2.1.269 ou posterior.1751Seu [hook PostToolUse](#posttooluse) então recebe os arquivos alterados em `tool_response.bashEditDiff`. A lista cobre o que mudou no repositório enquanto o comando era executado. Arquivos que o Git ignora e arquivos em submódulos não são listados. Exige o Claude Code v2.1.269 ou posterior.

1753 1752 

1754<Note>1753<Note>

1755 A lista é de melhor esforço e está em beta público. O Claude Code pode deixar de detectar uma alteração, incluir um arquivo que outro processo alterou ao mesmo tempo ou parar em seus limites de tamanho. O formato do campo pode mudar. Use a lista para encontrar o que revisar, não para impor uma política.1754 A lista é de melhor esforço e está em beta público. O Claude Code pode deixar passar uma alteração, incluir um arquivo que outro processo alterou ao mesmo tempo ou parar em seus limites de tamanho. O formato do campo pode mudar. Use a lista para descobrir o que revisar, não para impor uma política.

1756</Note>1755</Note>

1757 1756 

1758`changedFiles` e `files` listam o que o comando alterou; os campos restantes informam quão completa e quão confiável é essa lista.1757`changedFiles` e `files` listam o que o comando alterou; os demais campos indicam quão completa e quão confiável essa lista é.

1759 1758 

1760| Campo | Tipo | Exemplo | Descrição |1759| Campo | Tipo | Exemplo | Descrição |

1761| :- | :- | :- | :- |1760| :- | :- | :- | :- |


1783| `timeout` | number | `120000` | Timeout opcional em milissegundos |1782| `timeout` | number | `120000` | Timeout opcional em milissegundos |

1784| `run_in_background` | boolean | `false` | Se o comando deve ser executado em segundo plano |1783| `run_in_background` | boolean | `false` | Se o comando deve ser executado em segundo plano |

1785 1784 

1786Use `Bash|PowerShell` como matcher em hooks que inspecionam comandos de shell, para que cubram ambas as ferramentas:1785Use `Bash|PowerShell` como matcher em hooks que inspecionam comandos de shell, para que eles cubram ambas as ferramentas:

1787 1786 

1788* No Windows, onde quer que a ferramenta PowerShell esteja habilitada, o Claude trata o PowerShell como o shell principal e encaminha os comandos de shell por meio dele.1787* No Windows, sempre que a ferramenta PowerShell estiver habilitada, o Claude trata o PowerShell como o shell principal e encaminha os comandos de shell por ele.

1789* No Windows sem Git Bash, a ferramenta é habilitada automaticamente e o Claude Code não registra a ferramenta Bash.1788* No Windows sem Git Bash, a ferramenta é habilitada automaticamente e o Claude Code não registra a ferramenta Bash.

1790* Um hook que corresponde apenas a `Bash` nunca é disparado nesse caso.1789* Um hook que corresponde apenas a `Bash` nunca é disparado nesse caso.

1791 1790 


1834| Campo | Tipo | Exemplo | Descrição |1833| Campo | Tipo | Exemplo | Descrição |

1835| :- | :- | :- | :- |1834| :- | :- | :- | :- |

1836| `pattern` | string | `"**/*.ts"` | Padrão glob com o qual os arquivos serão comparados |1835| `pattern` | string | `"**/*.ts"` | Padrão glob com o qual os arquivos serão comparados |

1837| `path` | string | `"/path/to/dir"` | Diretório opcional no qual pesquisar. O padrão é o diretório de trabalho atual |1836| `path` | string | `"/path/to/dir"` | Diretório opcional onde pesquisar. O padrão é o diretório de trabalho atual |

1838 1837 

1839<h5 id="grep">1838<h5 id="grep">

1840 Grep1839 Grep


1845| Campo | Tipo | Exemplo | Descrição |1844| Campo | Tipo | Exemplo | Descrição |

1846| :- | :- | :- | :- |1845| :- | :- | :- | :- |

1847| `pattern` | string | `"TODO.*fix"` | Padrão de expressão regular a ser pesquisado |1846| `pattern` | string | `"TODO.*fix"` | Padrão de expressão regular a ser pesquisado |

1848| `path` | string | `"/path/to/dir"` | Arquivo ou diretório opcional no qual pesquisar |1847| `path` | string | `"/path/to/dir"` | Arquivo ou diretório opcional onde pesquisar |

1849| `glob` | string | `"*.ts"` | Padrão glob opcional para filtrar arquivos |1848| `glob` | string | `"*.ts"` | Padrão glob opcional para filtrar arquivos |

1850| `output_mode` | string | `"content"` | `"content"`, `"files_with_matches"` ou `"count"`. O padrão é `"files_with_matches"` |1849| `output_mode` | string | `"content"` | `"content"`, `"files_with_matches"` ou `"count"`. O padrão é `"files_with_matches"` |

1851| `-i` | boolean | `true` | Pesquisa sem diferenciar maiúsculas de minúsculas |1850| `-i` | boolean | `true` | Pesquisa sem diferenciar maiúsculas de minúsculas |

1852| `multiline` | boolean | `false` | Habilita a correspondência em várias linhas |1851| `multiline` | boolean | `false` | Habilita correspondência em várias linhas |

1853 1852 

1854<h5 id="webfetch">1853<h5 id="webfetch">

1855 WebFetch1854 WebFetch


1859 1858 

1860| Campo | Tipo | Exemplo | Descrição |1859| Campo | Tipo | Exemplo | Descrição |

1861| :- | :- | :- | :- |1860| :- | :- | :- | :- |

1862| `url` | string | `"https://example.com/api"` | URL da qual buscar o conteúdo |1861| `url` | string | `"https://example.com/api"` | URL de onde buscar o conteúdo |

1863| `prompt` | string | `"Extract the API endpoints"` | Prompt a ser executado sobre o conteúdo buscado |1862| `prompt` | string | `"Extract the API endpoints"` | Prompt a ser executado sobre o conteúdo buscado |

1864 1863 

1865<h5 id="websearch">1864<h5 id="websearch">


1871| Campo | Tipo | Exemplo | Descrição |1870| Campo | Tipo | Exemplo | Descrição |

1872| :- | :- | :- | :- |1871| :- | :- | :- | :- |

1873| `query` | string | `"react hooks best practices"` | Consulta de pesquisa |1872| `query` | string | `"react hooks best practices"` | Consulta de pesquisa |

1874| `allowed_domains` | array | `["docs.example.com"]` | Opcional: incluir somente resultados destes domínios |1873| `allowed_domains` | array | `["docs.example.com"]` | Opcional: incluir apenas resultados destes domínios |

1875| `blocked_domains` | array | `["spam.example.com"]` | Opcional: excluir resultados destes domínios |1874| `blocked_domains` | array | `["spam.example.com"]` | Opcional: excluir resultados destes domínios |

1876 1875 

1877<h5 id="agent">1876<h5 id="agent">


1891 1890 

1892| Campo | Tipo | Exemplo | Descrição |1891| Campo | Tipo | Exemplo | Descrição |

1893| :- | :- | :- | :- |1892| :- | :- | :- | :- |

1894| `status` | string | `"completed"` | `"completed"` para subagentes em primeiro plano, `"async_launched"` para subagentes em segundo plano. Os subagentes são executados em segundo plano por padrão, então uma chamada Agent que omite `run_in_background` também produz `"async_launched"` |1893| `status` | string | `"completed"` | `"completed"` para subagentes em primeiro plano, `"async_launched"` para subagentes em segundo plano. Subagentes são executados em segundo plano por padrão, portanto uma chamada Agent que omite `run_in_background` também produz `"async_launched"` |

1895| `agentId` | string | `"a4d2c8f1e0b3a297"` | Identificador da execução do subagente |1894| `agentId` | string | `"a4d2c8f1e0b3a297"` | Identificador da execução do subagente |

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

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

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

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

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

1901| `totalToolUseCount` | number | `7` | Contagem de chamadas de ferramenta feitas pelo subagente |1900| `totalToolUseCount` | number | `7` | Contagem de chamadas de ferramenta que o subagente fez |

1902| `usage` | object | `{"input_tokens": 8320, ...}` | Detalhamento de tokens por tipo da requisição final de API: `input_tokens`, `output_tokens`, `cache_creation_input_tokens`, `cache_read_input_tokens` |1901| `usage` | object | `{"input_tokens": 8320, ...}` | Detalhamento de tokens por tipo da requisição final à API: `input_tokens`, `output_tokens`, `cache_creation_input_tokens`, `cache_read_input_tokens` |

1903 1902 

1904No Claude Code v2.1.271 ou posterior, um subagente que é executado com a ferramenta [`SubagentHandback`](/docs/pt/tools-reference), que o Claude Code fornece no [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode), entrega seu relatório por meio dessa ferramenta em vez de retorná-lo como texto. O campo `content` do seu resultado `completed` então carrega uma nota curta sobre essa entrega em vez do próprio relatório. Para ler o relatório, faça a correspondência de um hook `PreToolUse` ou `PostToolUse` em `SubagentHandback` e leia `tool_input.message`.1903No Claude Code v2.1.271 ou posterior, um subagente executado com a ferramenta [`SubagentHandback`](/docs/pt/tools-reference), que o Claude Code fornece no [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode), entrega seu relatório por meio dessa ferramenta em vez de retorná-lo como texto. O campo `content` do seu resultado `completed` então carrega uma nota curta sobre essa entrega em vez do próprio relatório. Para ler o relatório, configure um hook `PreToolUse` ou `PostToolUse` com matcher em `SubagentHandback` e leia `tool_input.message`.

1905 1904 

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

1907 1906 

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

1909 1908 

1910<a id="askuserquestion" />1909<a id="askuserquestion" />

1911 1910 


1917 1916 

1918| Campo | Tipo | Exemplo | Descrição |1917| Campo | Tipo | Exemplo | Descrição |

1919| :- | :- | :- | :- |1918| :- | :- | :- | :- |

1920| `questions` | array | `[{"question": "Which framework?", "header": "Framework", "options": [{"label": "React", "description": "Component library"}, {"label": "Vue", "description": "Progressive framework"}], "multiSelect": false}]` | Perguntas a serem apresentadas, cada uma com uma string `question`, um `header` curto, um array `options` e uma flag `multiSelect` opcional |1919| `questions` | array | `[{"question": "Which framework?", "header": "Framework", "options": [{"label": "React", "description": "Component library"}, {"label": "Vue", "description": "Progressive framework"}], "multiSelect": false}]` | Perguntas a apresentar, cada uma com uma string `question`, um `header` curto, um array `options` e uma flag `multiSelect` opcional |

1921| `answers` | object | `{"Which framework?": "React"}` | Opcional. Mapeia o texto da pergunta para o rótulo da opção selecionada. Respostas de seleção múltipla unem os rótulos com vírgulas. O Claude não define este campo; forneça-o via `updatedInput` para responder programaticamente |1920| `answers` | object | `{"Which framework?": "React"}` | Opcional. Mapeia o texto da pergunta para o rótulo da opção selecionada. Respostas de múltipla seleção unem os rótulos com vírgulas. O Claude não define este campo; forneça-o via `updatedInput` para responder programaticamente |

1922 1921 

1923<h5 id="exitplanmode">1922<h5 id="exitplanmode">

1924 ExitPlanMode1923 ExitPlanMode

1925</h5>1924</h5>

1926 1925 

1927Apresenta um plano e pede ao usuário que o aprove antes que o Claude saia do [modo de planejamento](/docs/pt/permission-modes#analyze-before-you-edit-with-plan-mode). O Claude grava o plano em um arquivo no disco antes de chamar a ferramenta, então o `tool_input` literal vindo do modelo normalmente está vazio. O Claude Code injeta o conteúdo do plano e o caminho do arquivo antes de passar a entrada aos hooks.1926Apresenta um plano e pede ao usuário que o aprove antes de o Claude sair do [modo de planejamento](/docs/pt/permission-modes#analyze-before-you-edit-with-plan-mode). O Claude grava o plano em um arquivo no disco antes de chamar a ferramenta, portanto o `tool_input` literal vindo do modelo normalmente está vazio. O Claude Code injeta o conteúdo do plano e o caminho do arquivo antes de passar a entrada para os hooks.

1928 1927 

1929| Campo | Tipo | Exemplo | Descrição |1928| Campo | Tipo | Exemplo | Descrição |

1930| :- | :- | :- | :- |1929| :- | :- | :- | :- |

1931| `plan` | string | `"## Refactor auth\n1. Extract..."` | Conteúdo do plano em Markdown. Injetado a partir do arquivo do plano no disco |1930| `plan` | string | `"## Refactor auth\n1. Extract..."` | Conteúdo do plano em Markdown. Injetado a partir do arquivo de plano no disco |

1932| `planFilePath` | string | `"/Users/.../plans/refactor-auth.md"` | Caminho para o arquivo do plano. Injetado |1931| `planFilePath` | string | `"/Users/.../plans/refactor-auth.md"` | Caminho para o arquivo de plano. Injetado |

1933| `allowedPrompts` | array | `[{"tool": "Bash", "prompt": "run tests"}]` | Descontinuado. O Claude Code aceita o campo, mas o ignora. Antes da v2.1.205, ele carregava permissões baseadas em prompt que o Claude solicitava para implementar o plano |1932| `allowedPrompts` | array | `[{"tool": "Bash", "prompt": "run tests"}]` | Descontinuado. O Claude Code aceita o campo, mas o ignora. Antes da v2.1.205, ele carregava permissões baseadas em prompt que o Claude solicitava para implementar o plano |

1934 1933 

1935No `PostToolUse`, `tool_response` é um objeto com os campos `plan` e `filePath` contendo o plano aprovado, além de flags de status internas. Leia `tool_response.plan` para obter o conteúdo do plano em vez de ler o arquivo novamente do disco.1934No `PostToolUse`, `tool_response` é um objeto com os campos `plan` e `filePath` contendo o plano aprovado, além de flags de status internas. Leia `tool_response.plan` para obter o conteúdo do plano em vez de ler o arquivo do disco novamente.

1936 1935 

1937<h4 id="pretooluse-decision-control">1936<h4 id="pretooluse-decision-control">

1938 Controle de decisão do PreToolUse1937 Controle de decisão do PreToolUse

1939</h4>1938</h4>

1940 1939 

1941Os hooks `PreToolUse` podem controlar se uma chamada de ferramenta prossegue. Diferentemente de outros hooks que usam um campo `decision` de nível superior, o PreToolUse retorna sua decisão dentro de um objeto `hookSpecificOutput`. Isso lhe dá um controle mais rico: quatro resultados (allow, deny, ask ou defer), além da capacidade de modificar a entrada da ferramenta antes da execução.1940Os hooks `PreToolUse` podem controlar se uma chamada de ferramenta prossegue. Ao contrário de outros hooks que usam um campo `decision` de nível superior, o PreToolUse retorna sua decisão dentro de um objeto `hookSpecificOutput`. Isso lhe dá um controle mais rico: quatro resultados (permitir, negar, pedir confirmação ou adiar) e a capacidade de modificar a entrada da ferramenta antes da execução.

1942 1941 

1943| Campo | Descrição |1942| Campo | Descrição |

1944| :- | :- |1943| :- | :- |

1945| `permissionDecision` | `"allow"` pula o prompt de permissão, exceto para as [ações que nenhum modo aprova automaticamente](/docs/pt/permission-modes#actions-no-mode-auto-approves) e para `AskUserQuestion` e `ExitPlanMode`, que precisam de [`updatedInput` combinado a ele](#allow-with-updatedinput). `"deny"` impede a chamada de ferramenta. `"ask"` solicita a confirmação do usuário. `"defer"` sai de forma controlada para que a ferramenta possa ser retomada depois. As [regras deny e ask](/docs/pt/permissions#manage-permissions) ainda são avaliadas independentemente do que o hook retornar |1944| `permissionDecision` | `"allow"` pula o prompt de permissão, exceto para as [ações que nenhum modo aprova automaticamente](/docs/pt/permission-modes#actions-no-mode-auto-approves) e para `AskUserQuestion` e `ExitPlanMode`, que precisam de [`updatedInput` combinado com ele](#allow-with-updatedinput). `"deny"` impede a chamada de ferramenta. `"ask"` solicita confirmação ao usuário. `"defer"` sai de forma controlada para que a ferramenta possa ser retomada depois. [Regras de negação e de confirmação](/docs/pt/permissions#manage-permissions) ainda são avaliadas, independentemente do que o hook retornar |

1946| `permissionDecisionReason` | Para `"ask"`, mostrado ao usuário no prompt de permissão. Quando o Claude Code [nega a chamada](/docs/pt/headless#turn-off-permission-prompts-in-unattended-runs) em uma execução `-p` na qual ninguém pode responder a esse prompt, o Claude lê o motivo no resultado da ferramenta. Para `"deny"`, mostrado ao Claude. Para `"allow"` e `"defer"`, gravado somente no [log de depuração](#debug-hooks) |1945| `permissionDecisionReason` | Para `"ask"`, mostrado ao usuário no prompt de permissão. Quando o Claude Code [nega a chamada](/docs/pt/headless#turn-off-permission-prompts-in-unattended-runs) em uma execução `-p` em que ninguém pode responder a esse prompt, o Claude lê o motivo no resultado da ferramenta. Para `"deny"`, mostrado ao Claude. Para `"allow"` e `"defer"`, gravado apenas no [log de depuração](#debug-hooks) |

1947| `updatedInput` | Modifica os parâmetros de entrada da ferramenta antes da execução. Substitui o objeto de entrada inteiro, então inclua os campos inalterados junto com os modificados. O Claude Code avalia as regras de permissão e a [elegibilidade para segundo plano automático](/docs/pt/tools-reference#foreground-commands-that-move-to-the-background) de um comando Bash com base na entrada que seu hook retorna, e não na entrada que o Claude enviou. Combine com `"allow"` para aprovar automaticamente, ou com `"ask"` para mostrar a entrada modificada ao usuário. Para `"defer"`, ignorado |1946| `updatedInput` | Modifica os parâmetros de entrada da ferramenta antes da execução. Substitui todo o objeto de entrada, portanto inclua os campos inalterados junto com os modificados. O Claude Code avalia as regras de permissão e a [elegibilidade para segundo plano automático](/docs/pt/tools-reference#foreground-commands-that-move-to-the-background) de um comando Bash com base na entrada que seu hook retorna, não na entrada que o Claude enviou. Combine com `"allow"` para aprovar automaticamente, ou com `"ask"` para mostrar a entrada modificada ao usuário. Para `"defer"`, é ignorado |

1948| `additionalContext` | String adicionada ao contexto do Claude junto com o resultado da ferramenta. Ignorado quando `permissionDecision` é `"defer"`. Consulte [Adicionar contexto para o Claude](#add-context-for-claude) |1947| `additionalContext` | String adicionada ao contexto do Claude junto com o resultado da ferramenta. Ignorada quando `permissionDecision` é `"defer"`. Consulte [Adicionar contexto para o Claude](#add-context-for-claude) |

1949 1948 

1950Quando vários hooks PreToolUse retornam decisões diferentes, a precedência é `deny` > `defer` > `ask` > `allow`.1949Quando vários hooks PreToolUse retornam decisões diferentes, a precedência é `deny` > `defer` > `ask` > `allow`.

1951 1950 

1952Um hook que bloqueia saindo com 2 é encaminhado da mesma forma que `"deny"`: o Claude vê a mensagem do stderr como o motivo da negação.1951Um hook que bloqueia saindo com 2 é tratado da mesma forma que `"deny"`: o Claude vê a mensagem do stderr como o motivo da negação.

1953 1952 

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

1955 1954 

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

1957 1956 

1958```json theme={null}1957```json theme={null}

1959{1958{


1970```1969```

1971 1970 

1972<Note>1971<Note>

1973 O PreToolUse usava anteriormente os campos `decision` e `reason` de nível superior, mas eles estão descontinuados para este evento. Use `hookSpecificOutput.permissionDecision` e `hookSpecificOutput.permissionDecisionReason`. Os valores descontinuados `"approve"` e `"block"` correspondem a `"allow"` e `"deny"`, respectivamente. Outros eventos, como PostToolUse e Stop, continuam usando `decision` e `reason` de nível superior como seu formato atual.1972 O PreToolUse usava anteriormente os campos `decision` e `reason` de nível superior, mas eles estão descontinuados para este evento. Use `hookSpecificOutput.permissionDecision` e `hookSpecificOutput.permissionDecisionReason` em vez disso. Os valores descontinuados `"approve"` e `"block"` são mapeados para `"allow"` e `"deny"`, respectivamente. Outros eventos, como PostToolUse e Stop, continuam usando `decision` e `reason` de nível superior como seu formato atual.

1974</Note>1973</Note>

1975 1974 

1976<h4 id="allow-with-updatedinput">1975<h4 id="allow-with-updatedinput">

1977 Ferramentas que exigem interação do usuário1976 Ferramentas que exigem interação do usuário

1978</h4>1977</h4>

1979 1978 

1980`AskUserQuestion` e `ExitPlanMode` exigem interação do usuário. No [modo não interativo](/docs/pt/headless) com a flag `-p`, o Claude Code as oferece somente quando a execução tem um [host de permissão](/docs/pt/headless#turn-off-permission-prompts-in-unattended-runs) para receber o prompt, como um callback `canUseTool` do Agent SDK.1979`AskUserQuestion` e `ExitPlanMode` exigem interação do usuário. No [modo não interativo](/docs/pt/headless) com a flag `-p`, o Claude Code as oferece apenas quando a execução tem um [host de permissão](/docs/pt/headless#turn-off-permission-prompts-in-unattended-runs) para receber o prompt, como um callback `canUseTool` do Agent SDK.

1981 1980 

1982Um hook `PreToolUse` atende a esse requisito quando faz o seguinte:1981Um hook `PreToolUse` satisfaz esse requisito quando faz o seguinte:

1983 1982 

19841. Lê a entrada da ferramenta do stdin19831. Lê a entrada da ferramenta do stdin

19852. Coleta a resposta por meio da sua própria interface19842. Coleta a resposta por meio da sua própria interface


2009}2008}

2010```2009```

2011 2010 

2012Uma ferramenta MCP cujo servidor a marca com [`_meta["anthropic/requiresUserInteraction"]`](/docs/pt/mcp#require-approval-for-a-specific-tool) é mais restrita: um hook não pode pular seu prompt de aprovação com `"allow"`, com ou sem `updatedInput`, porque o Claude Code não consegue confirmar que o hook coletou a interação de que a ferramenta precisa.2011Uma ferramenta MCP cujo servidor a marca com [`_meta["anthropic/requiresUserInteraction"]`](/docs/pt/mcp#require-approval-for-a-specific-tool) é mais restrita: um hook não pode pular seu prompt de aprovação com `"allow"`, com ou sem `updatedInput`, porque o Claude Code não pode confirmar que o hook coletou a interação de que a ferramenta precisa.

2013 2012 

2014<h4 id="defer-a-tool-call-for-later">2013<h4 id="defer-a-tool-call-for-later">

2015 Adiar uma chamada de ferramenta para mais tarde2014 Adiar uma chamada de ferramenta para depois

2016</h4>2015</h4>

2017 2016 

2018`"defer"` é para integrações que executam `claude -p` como subprocesso e leem sua saída JSON, como um app do Agent SDK ou uma UI personalizada construída sobre o Claude Code. Ele permite que esse processo chamador pause o Claude em uma chamada de ferramenta, colete a entrada por meio da sua própria interface e retome de onde parou. O Claude Code respeita este valor somente no [modo não interativo](/docs/pt/headless) com a flag `-p`. Em sessões interativas, ele registra um aviso em log e ignora o resultado do hook.2017`"defer"` é para integrações que executam `claude -p` como subprocesso e leem sua saída JSON, como um app do Agent SDK ou uma interface personalizada construída sobre o Claude Code. Ele permite que esse processo chamador pause o Claude em uma chamada de ferramenta, colete a entrada por meio de sua própria interface e retome de onde parou. O Claude Code respeita esse valor apenas no [modo não interativo](/docs/pt/headless) com a flag `-p`. Em sessões interativas, ele registra um aviso em log e ignora o resultado do hook.

2019 2018 

2020A ferramenta `AskUserQuestion` é o caso típico: o Claude quer perguntar algo ao usuário, mas não há terminal para responder. Uma execução `-p` oferece `AskUserQuestion` somente quando tem um [host de permissão](/docs/pt/headless#turn-off-permission-prompts-in-unattended-runs), como uma ferramenta MCP que você passa com `--permission-prompt-tool`, então inicie a execução com um. O ciclo funciona assim:2019A ferramenta `AskUserQuestion` é o caso típico: o Claude quer perguntar algo ao usuário, mas não há terminal para responder. Uma execução `-p` oferece `AskUserQuestion` apenas quando tem um [host de permissão](/docs/pt/headless#turn-off-permission-prompts-in-unattended-runs), como uma ferramenta MCP que você passa com `--permission-prompt-tool`, portanto inicie a execução com um. O ciclo completo funciona assim:

2021 2020 

20221. O Claude chama `AskUserQuestion`. O hook `PreToolUse` é disparado.20211. O Claude chama `AskUserQuestion`. O hook `PreToolUse` é disparado.

20232. O hook retorna `permissionDecision: "defer"`. A ferramenta não é executada. O processo sai com `stop_reason: "tool_deferred"` e a chamada de ferramenta pendente preservada na transcrição.20222. O hook retorna `permissionDecision: "defer"`. A ferramenta não é executada. O processo sai com `stop_reason: "tool_deferred"` e a chamada de ferramenta pendente preservada na transcrição.

20243. O processo chamador lê `deferred_tool_use` do resultado do SDK, apresenta a pergunta na sua própria UI e aguarda uma resposta.20233. O processo chamador lê `deferred_tool_use` do resultado do SDK, apresenta a pergunta em sua própria interface e aguarda uma resposta.

20254. O processo chamador executa `claude -p --resume <session-id>` com o mesmo host de permissão. A mesma chamada de ferramenta dispara o `PreToolUse` novamente.20244. O processo chamador executa `claude -p --resume <session-id>` com o mesmo host de permissão. A mesma chamada de ferramenta dispara o `PreToolUse` novamente.

20265. O hook retorna `permissionDecision: "allow"` com a resposta em `updatedInput`. A ferramenta é executada e o Claude continua.20255. O hook retorna `permissionDecision: "allow"` com a resposta em `updatedInput`. A ferramenta é executada e o Claude continua.

2027 2026 


2041}2040}

2042```2041```

2043 2042 

2044Não há timeout nem limite de novas tentativas. A sessão permanece no disco até que você a retome, sujeita à limpeza de retenção [`cleanupPeriodDays`](/docs/pt/settings-reference#cleanupperioddays), que exclui os arquivos de sessão após 30 dias por padrão, seguindo as [regras de limpeza de retenção](/docs/pt/claude-directory#cleaned-up-automatically). Se a resposta não estiver pronta quando você retomar, o hook pode retornar `"defer"` novamente e o processo sai da mesma forma. O processo chamador controla quando interromper o loop, retornando eventualmente `"allow"` ou `"deny"` do hook.2043Não há timeout nem limite de novas tentativas. A sessão permanece no disco até que você a retome, sujeita à varredura de retenção [`cleanupPeriodDays`](/docs/pt/settings-reference#cleanupperioddays), que exclui arquivos de sessão após 30 dias por padrão, seguindo as [regras da varredura de retenção](/docs/pt/claude-directory#cleaned-up-automatically). Se a resposta não estiver pronta quando você retomar, o hook pode retornar `"defer"` novamente e o processo sai da mesma forma. O processo chamador controla quando interromper o loop, retornando eventualmente `"allow"` ou `"deny"` a partir do hook.

2045 2044 

2046`"defer"` só funciona quando o Claude faz uma única chamada de ferramenta no turno. Se o Claude fizer várias chamadas de ferramenta de uma vez, `"defer"` é ignorado com um aviso e a ferramenta prossegue pelo fluxo normal de permissões. A restrição existe porque a retomada só pode executar novamente uma ferramenta: não há como adiar uma chamada de um lote sem deixar as outras sem resolução.2045`"defer"` só funciona quando o Claude faz uma única chamada de ferramenta no turno. Se o Claude fizer várias chamadas de ferramenta de uma vez, `"defer"` é ignorado com um aviso e a ferramenta prossegue pelo fluxo normal de permissão. A restrição existe porque a retomada só pode reexecutar uma ferramenta: não há como adiar uma chamada de um lote sem deixar as outras sem resolução.

2047 2046 

2048Se a ferramenta adiada não estiver mais disponível quando você retomar, o processo sai com `stop_reason: "tool_deferred_unavailable"` e `is_error: true` antes que o hook seja disparado. Isso acontece quando um servidor MCP que fornecia a ferramenta não está conectado na sessão retomada. O payload `deferred_tool_use` ainda é incluído para que você possa identificar qual ferramenta ficou ausente.2047Se a ferramenta adiada não estiver mais disponível quando você retomar, o processo sai com `stop_reason: "tool_deferred_unavailable"` e `is_error: true` antes de o hook ser disparado. Isso acontece quando um servidor MCP que fornecia a ferramenta não está conectado na sessão retomada. O payload `deferred_tool_use` ainda é incluído para que você possa identificar qual ferramenta ficou indisponível.

2049 2048 

2050<Note>2049<Note>

2051 Para retomar uma sessão adiada no modo de planejamento, passe [`--permission-prompt-tool`](/docs/pt/cli-reference#cli-flags) junto com `--resume` para que o Claude Code possa apresentar o plano para aprovação. Se você passar certas outras flags de inicialização, a execução retomada não volta ao modo de planejamento; consulte [Retomar no modo de planejamento com `-p`](/docs/pt/sessions#resume-in-plan-mode-with-p). Exige o Claude Code v2.1.246 ou posterior.2050 Para retomar uma sessão adiada no modo de planejamento, passe [`--permission-prompt-tool`](/docs/pt/cli-reference#cli-flags) junto com `--resume` para que o Claude Code possa apresentar o plano para aprovação. Se você passar certas outras flags de inicialização, a execução retomada não volta ao modo de planejamento; consulte [Retomar no modo de planejamento com `-p`](/docs/pt/sessions#resume-in-plan-mode-with-p). Exige o Claude Code v2.1.246 ou posterior.

2052 2051 

2053 Quando você retoma com `-p`, o Claude Code não restaura nenhum outro modo de permissão armazenado. Ele inicia a execução no modo de permissão em que uma nova execução `claude -p` iniciaria, então passe `--permission-mode` ou `--dangerously-skip-permissions` novamente se a sessão adiada usava um deles. Quando você retoma com `claude --resume <session-id>` sem `-p`, o Claude Code restaura o modo de permissão armazenado, com as exceções listadas em [modo de permissão na retomada](/docs/pt/sessions#permission-mode-on-resume).2052 Quando você retoma com `-p`, o Claude Code não restaura nenhum outro modo de permissão armazenado. Ele inicia a execução no modo de permissão em que uma nova execução `claude -p` iniciaria, portanto passe `--permission-mode` ou `--dangerously-skip-permissions` novamente se a sessão adiada usava um deles. Quando você retoma com `claude --resume <session-id>` sem `-p`, o Claude Code restaura o modo de permissão armazenado, com as exceções listadas em [modo de permissão na retomada](/docs/pt/sessions#permission-mode-on-resume).

2054</Note>2053</Note>

2055 2054 

2056<h3 id="permissionrequest">2055<h3 id="permissionrequest">

2057 PermissionRequest2056 PermissionRequest

2058</h3>2057</h3>

2059 2058 

2060É executado quando o Claude Code está prestes a pedir sua permissão para usar uma ferramenta. Em sessões que não podem mostrar um prompt, como subagentes em segundo plano no [modo não interativo](/docs/pt/headless), o Claude Code ainda executa esses hooks e, se nenhum hook retornar uma decisão, ele nega a chamada de ferramenta. Para uma chamada que chega a um `--permission-prompt-tool` ou ao [callback `canUseTool`](/docs/pt/agent-sdk/permissions) do Agent SDK, os hooks são executados junto com o seu host, e o que decidir primeiro se aplica.2059É executado quando o Claude Code está prestes a pedir sua permissão para usar uma ferramenta. Em sessões que não podem mostrar um prompt, como subagentes em segundo plano no [modo não interativo](/docs/pt/headless), o Claude Code ainda executa esses hooks e, se nenhum hook retornar uma decisão, nega a chamada de ferramenta. Para uma chamada que chega a um `--permission-prompt-tool` ou ao [callback `canUseTool`](/docs/pt/agent-sdk/permissions) do Agent SDK, os hooks são executados junto com seu host, e vale a decisão de quem decidir primeiro.

2061Use o [controle de decisão do PermissionRequest](#permissionrequest-decision-control) para permitir ou negar em nome do usuário.2060Use o [controle de decisão do PermissionRequest](#permissionrequest-decision-control) para permitir ou negar em nome do usuário.

2062 2061 

2063Use este evento quando precisar de um sinal no momento em que o Claude pede permissão para usar uma ferramenta. O Claude Code executa um hook [Notification](#notification) com o tipo `permission_prompt` somente depois que o prompt esperou cerca de seis segundos.2062Use este evento quando precisar de um sinal no momento em que o Claude pede permissão para usar uma ferramenta. O Claude Code executa um hook [Notification](#notification) com o tipo `permission_prompt` somente depois que o prompt aguardou cerca de seis segundos.

2064 2063 

2065O Claude Code não executa hooks PermissionRequest para a [requisição de rede](/docs/pt/sandboxing#network-isolation) de um comando em sandbox. Para obter um sinal para esse prompt, use o tipo de notificação `permission_prompt`.2064O Claude Code não executa hooks PermissionRequest para a [requisição de rede](/docs/pt/sandboxing#network-isolation) de um comando em sandbox. Para obter um sinal para esse prompt, use o tipo de notificação `permission_prompt`.

2066 2065 

2067Faz a correspondência com o nome da ferramenta, com os mesmos valores do PreToolUse.2066Faz correspondência com o nome da ferramenta, com os mesmos valores do PreToolUse.

2068 2067 

2069<h4 id="permissionrequest-input">2068<h4 id="permissionrequest-input">

2070 Entrada do PermissionRequest2069 Entrada do PermissionRequest

2071</h4>2070</h4>

2072 2071 

2073Os hooks PermissionRequest recebem os campos `tool_name` e `tool_input` como os hooks PreToolUse, mas sem `tool_use_id`. Para uma ferramenta MCP, eles também recebem o objeto [`mcp_server`](#pretooluse-input). Um array opcional `permission_suggestions` contém as [atualizações de permissão](#permission-update-entries) que o Claude Code sugere para esta solicitação, como adicionar uma regra allow ou alterar o modo de permissão.2072Os hooks PermissionRequest recebem os campos `tool_name` e `tool_input` como os hooks PreToolUse, mas sem `tool_use_id`. Para uma ferramenta MCP, eles também recebem o objeto [`mcp_server`](#pretooluse-input). Um array opcional `permission_suggestions` contém as [atualizações de permissão](#permission-update-entries) que o Claude Code sugere para esta solicitação, como adicionar uma regra de permissão ou alterar o modo de permissão.

2074 2073 

2075O array `permission_suggestions` não é uma lista exata das opções que você vê, porque cada diálogo de permissão monta suas próprias opções. Alguns diálogos, como o de edições de arquivos, não leem o array de forma alguma e derivam suas opções da própria solicitação. Um diálogo que o lê ainda pode omitir uma opção cuja sugestão permanece no array, por exemplo quando [`allowManagedPermissionRulesOnly`](/docs/pt/settings-reference#allowmanagedpermissionrulesonly) oculta as opções de salvar regras. Ele também pode oferecer opções que não têm entrada de sugestão, como [**Yes, and switch to auto mode**](/docs/pt/permission-modes#switch-permission-modes), que altera o modo de permissão diretamente em vez de por meio de uma atualização de permissão.2074O array `permission_suggestions` não é uma lista exata das opções que você vê, porque cada diálogo de permissão monta suas próprias opções. Alguns diálogos, como o de edição de arquivos, não leem o array e derivam suas opções da própria solicitação. Um diálogo que o lê ainda pode ocultar uma opção cuja sugestão permanece no array, por exemplo quando [`allowManagedPermissionRulesOnly`](/docs/pt/settings-reference#allowmanagedpermissionrulesonly) oculta as opções de salvar regras. Ele também pode oferecer opções que não têm entrada de sugestão, como [**Yes, and switch to auto mode**](/docs/pt/permission-modes#switch-permission-modes), que altera o modo de permissão diretamente em vez de por meio de uma atualização de permissão.

2076 2075 

2077Os hooks PreToolUse são executados antes de cada chamada de ferramenta, precise ela de permissão ou não. Os hooks PermissionRequest são executados somente quando o Claude Code está prestes a pedir sua permissão, ou quando, de outra forma, ele negaria automaticamente uma chamada que não pode exibir um prompt. Nenhum dos dois eventos é disparado para [`EndConversation`](/docs/pt/tools-reference#endconversation-tool-behavior).2076Os hooks PreToolUse são executados antes de toda chamada de ferramenta, precise ela de permissão ou não. Os hooks PermissionRequest são executados apenas quando o Claude Code está prestes a pedir sua permissão, ou quando ele negaria automaticamente uma chamada que não pode solicitar confirmação. Nenhum dos dois eventos é disparado para [`EndConversation`](/docs/pt/tools-reference#endconversation-tool-behavior).

2078 2077 

2079```json theme={null}2078```json theme={null}

2080{2079{


2107 2106 

2108| Campo | Descrição |2107| Campo | Descrição |

2109| :- | :- |2108| :- | :- |

2110| `behavior` | `"allow"` concede a permissão, `"deny"` a nega. As [regras deny e ask](/docs/pt/permissions#manage-permissions) ainda são avaliadas, então um hook que retorna `"allow"` não sobrescreve uma regra deny correspondente |2109| `behavior` | `"allow"` concede a permissão, `"deny"` a nega. [Regras de negação e de confirmação](/docs/pt/permissions#manage-permissions) ainda são avaliadas, portanto um hook que retorna `"allow"` não sobrescreve uma regra de negação correspondente |

2111| `updatedInput` | Somente para `"allow"`: modifica os parâmetros de entrada da ferramenta antes da execução. Substitui o objeto de entrada inteiro, então inclua os campos inalterados junto com os modificados. A entrada modificada é reavaliada com base nas regras deny e ask |2110| `updatedInput` | Apenas para `"allow"`: modifica os parâmetros de entrada da ferramenta antes da execução. Substitui todo o objeto de entrada, portanto inclua os campos inalterados junto com os modificados. A entrada modificada é reavaliada com base nas regras de negação e de confirmação |

2112| `updatedPermissions` | Somente para `"allow"`: array de [entradas de atualização de permissão](#permission-update-entries) a serem aplicadas, como adicionar uma regra allow ou alterar o modo de permissão da sessão |2111| `updatedPermissions` | Apenas para `"allow"`: array de [entradas de atualização de permissão](#permission-update-entries) a aplicar, como adicionar uma regra de permissão ou alterar o modo de permissão da sessão |

2113| `message` | Somente para `"deny"`: informa ao Claude por que a permissão foi negada |2112| `message` | Apenas para `"deny"`: informa ao Claude por que a permissão foi negada |

2114| `interrupt` | Somente para `"deny"`: se `true`, interrompe o Claude |2113| `interrupt` | Apenas para `"deny"`: se `true`, interrompe o Claude |

2115 2114 

2116Um hook que sai com 2 sem um objeto `decision` deixa o fluxo de permissões inalterado, e seu stderr é descartado. Somente o objeto `decision` pode conceder ou negar a solicitação.2115Um hook que sai com 2 sem um objeto `decision` deixa o fluxo de permissão inalterado, e seu stderr é descartado. Apenas o objeto `decision` pode conceder ou negar a solicitação.

2117 2116 

2118```json theme={null}2117```json theme={null}

2119{2118{


2140| `addRules` | `rules`, `behavior`, `destination` | Adiciona regras de permissão. `rules` é um array de objetos `{toolName, ruleContent?}`. Omita `ruleContent` para corresponder à ferramenta inteira. `behavior` é `"allow"`, `"deny"` ou `"ask"` |2139| `addRules` | `rules`, `behavior`, `destination` | Adiciona regras de permissão. `rules` é um array de objetos `{toolName, ruleContent?}`. Omita `ruleContent` para corresponder à ferramenta inteira. `behavior` é `"allow"`, `"deny"` ou `"ask"` |

2141| `replaceRules` | `rules`, `behavior`, `destination` | Substitui todas as regras do `behavior` informado no `destination` pelas `rules` fornecidas |2140| `replaceRules` | `rules`, `behavior`, `destination` | Substitui todas as regras do `behavior` informado no `destination` pelas `rules` fornecidas |

2142| `removeRules` | `rules`, `behavior`, `destination` | Remove as regras correspondentes do `behavior` informado |2141| `removeRules` | `rules`, `behavior`, `destination` | Remove as regras correspondentes do `behavior` informado |

2143| `setMode` | `mode`, `destination` | Altera o modo de permissão. Os modos válidos são `default`, `auto`, `acceptEdits`, `dontAsk`, `bypassPermissions`, `plan` e `manual` como alias para `default` |2142| `setMode` | `mode`, `destination` | Altera o modo de permissão. Os modos válidos são `default`, `auto`, `acceptEdits`, `dontAsk`, `bypassPermissions`, `plan` e `manual` como alias de `default` |

2144| `addDirectories` | `directories`, `destination` | Adiciona diretórios de trabalho. `directories` é um array de strings de caminho |2143| `addDirectories` | `directories`, `destination` | Adiciona diretórios de trabalho. `directories` é um array de strings de caminho |

2145| `removeDirectories` | `directories`, `destination` | Remove diretórios de trabalho |2144| `removeDirectories` | `directories`, `destination` | Remove diretórios de trabalho |

2146 2145 

2147<Note>2146<Note>

2148 `setMode` com `bypassPermissions` só tem efeito se você iniciou a sessão com o modo bypass já disponível: `--dangerously-skip-permissions`, `--permission-mode bypassPermissions`, `--allow-dangerously-skip-permissions` ou `permissions.defaultMode: "bypassPermissions"` nas [configurações de usuário, de `--settings` ou gerenciadas](/docs/pt/settings-reference#permissions-defaultmode). Caso contrário, a atualização não tem efeito. A atualização também não tem efeito quando [`permissions.disableBypassPermissionsMode`](/docs/pt/permissions#managed-settings) desativa o modo, ou quando a sessão inicia em [modo restrito](/docs/pt/cli-reference#cli-flags).2147 `setMode` com `bypassPermissions` só tem efeito se você iniciou a sessão com o modo bypass já disponível: `--dangerously-skip-permissions`, `--permission-mode bypassPermissions`, `--allow-dangerously-skip-permissions` ou `permissions.defaultMode: "bypassPermissions"` nas [configurações de usuário, de `--settings` ou gerenciadas](/docs/pt/settings-reference#permissions-defaultmode). Caso contrário, a atualização não tem efeito. A atualização também não tem efeito quando [`permissions.disableBypassPermissionsMode`](/docs/pt/permissions#managed-settings) desativa o modo, ou quando a sessão é iniciada em [modo restrito](/docs/pt/cli-reference#cli-flags).

2149 2148 

2150 `bypassPermissions` nunca é persistido como `defaultMode`, independentemente de `destination`.2149 `bypassPermissions` nunca é persistido como `defaultMode`, independentemente do `destination`.

2151</Note>2150</Note>

2152 2151 

2153O campo `destination` em cada entrada determina se a alteração permanece na memória ou é persistida em um arquivo de configurações.2152O campo `destination` em cada entrada determina se a alteração permanece na memória ou é persistida em um arquivo de configurações.


2159| `projectSettings` | `.claude/settings.json` |2158| `projectSettings` | `.claude/settings.json` |

2160| `userSettings` | `~/.claude/settings.json` |2159| `userSettings` | `~/.claude/settings.json` |

2161 2160 

2162Um hook pode ecoar uma das `permission_suggestions` que recebeu como sua própria saída `updatedPermissions`.2161Um hook pode repetir uma das `permission_suggestions` que recebeu como sua própria saída `updatedPermissions`.

2163 2162 

2164<h3 id="posttooluse">2163<h3 id="posttooluse">

2165 PostToolUse2164 PostToolUse


2169 2168 

2170Faz correspondência pelo nome da ferramenta, com os mesmos valores de PreToolUse.2169Faz correspondência pelo nome da ferramenta, com os mesmos valores de PreToolUse.

2171 2170 

2172Faça uma correspondência mais ampla quando o nome da ferramenta não for o filtro adequado:2171Faça uma correspondência mais ampla quando o nome da ferramenta não for o filtro certo:

2173 2172 

2174* Para executar um hook após qualquer ferramenta ser concluída com sucesso, omita o `matcher` ou defina-o como `"*"`. Seu hook pode então descobrir por conta própria o que mudou, por exemplo executando `git status --porcelain`, que também lista arquivos não rastreados que o `git diff` não mostra. Para chamadas de ferramenta que falham, adicione o mesmo hook em [PostToolUseFailure](#posttoolusefailure).2173* Para executar um hook após qualquer ferramenta ser concluída com sucesso, omita o `matcher` ou defina-o como `"*"`. Seu hook pode então descobrir por conta própria o que mudou, por exemplo executando `git status --porcelain`, que também lista arquivos não rastreados que o `git diff` deixa passar. Para chamadas de ferramenta que falham, adicione o mesmo hook em [PostToolUseFailure](#posttoolusefailure).

2175* Para executar um hook quando um arquivo específico muda no disco, independentemente de quem o gravou, use [FileChanged](#filechanged). O Claude Code não executa um hook `PostToolUse` que corresponde a `Edit|Write` quando um comando `Bash` ou um processo fora do Claude Code reescreve o mesmo arquivo.2174* Para executar um hook quando um arquivo específico mudar no disco, independentemente do que o gravou, use [FileChanged](#filechanged). O Claude Code não executa um hook `PostToolUse` que corresponde a `Edit|Write` quando um comando `Bash` ou um processo fora do Claude Code reescreve o mesmo arquivo.

2176 2175 

2177<h4 id="posttooluse-input">2176<h4 id="posttooluse-input">

2178 Entrada do PostToolUse2177 Entrada de PostToolUse

2179</h4>2178</h4>

2180 2179 

2181Os hooks `PostToolUse` são disparados depois que uma ferramenta já foi executada com sucesso. A entrada inclui tanto `tool_input`, os argumentos enviados à ferramenta, quanto `tool_response`, o resultado que ela retornou. O esquema exato de ambos depende da ferramenta. Os caminhos em `tool_input` de ferramentas de arquivo chegam no mesmo formato que em [PreToolUse](#pretooluse-input): sempre absolutos, com os separadores nativos da plataforma, portanto barras invertidas no Windows. Para uma ferramenta MCP, a entrada também inclui o objeto [`mcp_server`](#pretooluse-input).2180Os hooks `PostToolUse` são disparados depois que uma ferramenta já foi executada com sucesso. A entrada inclui tanto `tool_input`, os argumentos enviados à ferramenta, quanto `tool_response`, o resultado que ela retornou. O esquema exato de ambos depende da ferramenta. Os caminhos em `tool_input` das ferramentas de arquivo chegam no mesmo formato que em [PreToolUse](#pretooluse-input): sempre absolutos, com os separadores nativos da plataforma, ou seja, barras invertidas no Windows. Para uma ferramenta MCP, a entrada também traz o objeto [`mcp_server`](#pretooluse-input).

2182 2181 

2183```json theme={null}2182```json theme={null}

2184{2183{


2206| `duration_ms` | Opcional. Tempo de execução da ferramenta em milissegundos. Exclui o tempo gasto em prompts de permissão e em hooks PreToolUse |2205| `duration_ms` | Opcional. Tempo de execução da ferramenta em milissegundos. Exclui o tempo gasto em prompts de permissão e em hooks PreToolUse |

2207 2206 

2208<h4 id="posttooluse-decision-control">2207<h4 id="posttooluse-decision-control">

2209 Controle de decisão do PostToolUse2208 Controle de decisão de PostToolUse

2210</h4>2209</h4>

2211 2210 

2212Os hooks `PostToolUse` podem fornecer feedback ao Claude após a execução da ferramenta. Além dos [campos de saída JSON](#json-output) disponíveis para todos os hooks, seu script de hook pode retornar estes campos específicos do evento:2211Os hooks `PostToolUse` podem fornecer feedback ao Claude após a execução da ferramenta. Além dos [campos de saída JSON](#json-output) disponíveis para todos os hooks, seu script de hook pode retornar estes campos específicos do evento:


2217| `reason` | Explicação mostrada ao Claude quando `decision` é `"block"` |2216| `reason` | Explicação mostrada ao Claude quando `decision` é `"block"` |

2218| `additionalContext` | String adicionada ao contexto do Claude junto com o resultado da ferramenta. Consulte [Adicionar contexto para o Claude](#add-context-for-claude) |2217| `additionalContext` | String adicionada ao contexto do Claude junto com o resultado da ferramenta. Consulte [Adicionar contexto para o Claude](#add-context-for-claude) |

2219| `classifierContext` | Nota curta sobre o resultado desta chamada destinada ao classificador do [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode), e não ao Claude. Consulte [Anotar um resultado para o classificador do modo auto](#annotate-a-result-for-the-auto-mode-classifier). Requer Claude Code v2.1.236 ou posterior |2218| `classifierContext` | Nota curta sobre o resultado desta chamada destinada ao classificador do [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode), e não ao Claude. Consulte [Anotar um resultado para o classificador do modo auto](#annotate-a-result-for-the-auto-mode-classifier). Requer Claude Code v2.1.236 ou posterior |

2220| `updatedToolOutput` | Substitui a saída da ferramenta pelo valor fornecido antes de ela ser enviada ao Claude. O valor deve corresponder ao formato de saída da ferramenta |2219| `updatedToolOutput` | Substitui a saída da ferramenta pelo valor fornecido antes que ela seja enviada ao Claude. O valor deve corresponder ao formato de saída da ferramenta |

2221| `updatedMCPToolOutput` | Substitui a saída somente para [ferramentas MCP](#match-mcp-tools). Prefira `updatedToolOutput`, que funciona para todas as ferramentas |2220| `updatedMCPToolOutput` | Substitui a saída apenas para [ferramentas MCP](#match-mcp-tools). Prefira `updatedToolOutput`, que funciona para todas as ferramentas |

2222 2221 

2223O exemplo abaixo substitui a saída de uma chamada `Bash`. O valor de substituição corresponde ao formato de saída da ferramenta `Bash`:2222O exemplo abaixo substitui a saída de uma chamada `Bash`. O valor de substituição corresponde ao formato de saída da ferramenta `Bash`:

2224 2223 


2238```2237```

2239 2238 

2240<Warning>2239<Warning>

2241 `updatedToolOutput` altera apenas o que o Claude vê. A ferramenta já foi executada quando o hook é disparado, portanto quaisquer arquivos gravados, comandos executados ou requisições de rede enviadas já surtiram efeito. A telemetria, como spans de ferramentas do OpenTelemetry e eventos de análise, também captura a saída original antes de o hook ser executado. Para impedir ou modificar uma chamada de ferramenta antes de ela ser executada, use um hook [PreToolUse](#pretooluse).2240 `updatedToolOutput` altera apenas o que o Claude vê. A ferramenta já foi executada quando o hook é disparado, portanto quaisquer arquivos gravados, comandos executados ou requisições de rede enviadas já tiveram efeito. A telemetria, como spans de ferramenta do OpenTelemetry e eventos de analytics, também captura a saída original antes de o hook ser executado. Para impedir ou modificar uma chamada de ferramenta antes que ela seja executada, use um hook [PreToolUse](#pretooluse).

2242 2241 

2243 O valor de substituição deve corresponder ao formato de saída da ferramenta. As ferramentas integradas retornam objetos estruturados em vez de strings simples. Por exemplo, `Bash` retorna um objeto com os campos `stdout`, `stderr`, `interrupted` e `isImage`. Para ferramentas integradas, um valor que não corresponde ao esquema de saída da ferramenta é ignorado e a saída original é usada. A saída de ferramentas MCP é repassada sem validação de esquema. Remover detalhes de erro de que o Claude precisa pode fazê-lo prosseguir com base em uma suposição falsa.2242 O valor de substituição deve corresponder ao formato de saída da ferramenta. As ferramentas integradas retornam objetos estruturados em vez de strings simples. Por exemplo, `Bash` retorna um objeto com os campos `stdout`, `stderr`, `interrupted` e `isImage`. Para ferramentas integradas, um valor que não corresponda ao esquema de saída da ferramenta é ignorado e a saída original é usada. A saída de ferramentas MCP é repassada sem validação de esquema. Remover detalhes de erro de que o Claude precisa pode fazer com que ele prossiga com base em uma suposição falsa.

2244</Warning>2243</Warning>

2245 2244 

2246<h4 id="annotate-a-result-for-the-auto-mode-classifier">2245<h4 id="annotate-a-result-for-the-auto-mode-classifier">

2247 Anotar um resultado para o classificador do modo auto2246 Anotar um resultado para o classificador do modo auto

2248</h4>2247</h4>

2249 2248 

2250Retorne `classifierContext` para enviar uma nota curta sobre o resultado da chamada de ferramenta ao classificador do [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode), e não ao Claude. O classificador [nunca recebe os próprios resultados das ferramentas](/docs/pt/permission-modes#how-the-classifier-evaluates-actions), então este campo é a forma suportada de informá-lo sobre o que uma chamada retornou antes que ele revise ações posteriores. O campo requer Claude Code v2.1.236 ou posterior.2249Retorne `classifierContext` para enviar uma nota curta sobre o resultado da chamada de ferramenta ao classificador do [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode), e não ao Claude. O classificador [nunca recebe os próprios resultados das ferramentas](/docs/pt/permission-modes#how-the-classifier-evaluates-actions), então este campo é a forma suportada de informar algo sobre o que uma chamada retornou antes que ele revise ações posteriores. O campo requer Claude Code v2.1.236 ou posterior.

2251 2250 

2252O exemplo abaixo informa ao classificador de onde veio a saída de uma consulta:2251O exemplo abaixo informa ao classificador de onde veio a saída de uma consulta:

2253 2252 


2262 2261 

2263O peso que o classificador dá à nota depende de onde você configurou o hook:2262O peso que o classificador dá à nota depende de onde você configurou o hook:

2264 2263 

2265* **Hooks configurados no Claude Code**: para hooks de arquivos de configurações, plugins, skills e frontmatter de agentes, o classificador trata a nota como contexto não verificado fornecido pela aplicação. A nota nunca estabelece a intenção do usuário e, se afirmar que você aprovou ou solicitou algo, o classificador verifica essa afirmação com base nas suas próprias mensagens na conversa2264* **Hooks configurados no Claude Code**: para hooks de arquivos de configurações, plugins, skills e frontmatter de agentes, o classificador trata a nota como contexto não verificado fornecido pela aplicação. A nota nunca estabelece a intenção do usuário e, se afirmar que você aprovou ou solicitou algo, o classificador verifica essa afirmação em relação às suas próprias mensagens na conversa

2266* **Callbacks in-process do Agent SDK**: quando uma aplicação que incorpora o Claude Code registra o hook como um [callback do TypeScript SDK](/docs/pt/agent-sdk/hooks) e retorna a nota durante a sessão ativa, o classificador pode considerar uma declaração do usuário repassada na nota como intenção do usuário. Tal declaração pode satisfazer um requisito de consentimento que o classificador aceitaria de uma mensagem enviada por você, mas nunca remove um bloqueio que sua própria mensagem também não conseguiria remover. Depois que uma sessão é retomada, o Claude Code trata as notas restauradas como contexto não verificado. Quando hooks de ambos os grupos anotam a mesma chamada, o classificador trata a nota combinada como não verificada2265* **Callbacks do Agent SDK em processo**: quando uma aplicação que incorpora o Claude Code registra o hook como um [callback do SDK em TypeScript](/docs/pt/agent-sdk/hooks) e retorna a nota durante a sessão ativa, o classificador pode considerar uma declaração do usuário repassada na nota como intenção do usuário. Essa declaração pode satisfazer um requisito de consentimento que o classificador aceitaria de uma mensagem enviada por você, mas nunca suspende um bloqueio que sua própria mensagem também não conseguiria suspender. Depois que uma sessão é retomada, o Claude Code trata as notas restauradas como contexto não verificado. Quando hooks de ambos os grupos anotam a mesma chamada, o classificador trata a nota combinada como não verificada

2267 2266 

2268O Claude Code aplica estes limites ao entregar a nota:2267O Claude Code aplica estes limites ao entregar a nota:

2269 2268 


2273* **Interação com reescritas**: quando a nota descreve uma saída que você está substituindo com `updatedToolOutput`, retorne ambos os campos na mesma resposta do hook. O Claude Code descarta a nota se essa reescrita for rejeitada ou se a reescrita de outro hook a substituir. O Claude Code entrega uma nota que você retorna sem reescrita mesmo quando outro hook reescreve a saída2272* **Interação com reescritas**: quando a nota descreve uma saída que você está substituindo com `updatedToolOutput`, retorne ambos os campos na mesma resposta do hook. O Claude Code descarta a nota se essa reescrita for rejeitada ou se a reescrita de outro hook a substituir. O Claude Code entrega uma nota que você retorna sem reescrita mesmo quando outro hook reescreve a saída

2274 2273 

2275<Warning>2274<Warning>

2276 O classificador lê o conteúdo que você coloca em `classifierContext` como informação da aplicação que hospeda a sessão, portanto não copie saídas de ferramentas não confiáveis ou texto de terceiros para ele. Limite a nota a uma afirmação curta sobre essa única chamada, como um fato sobre sua origem ou uma declaração do usuário a respeito dela; não use o campo para entregar mensagens não relacionadas ou um fluxo de eventos.2275 O classificador lê o conteúdo que você coloca em `classifierContext` como informação da aplicação que hospeda a sessão, então não copie saídas de ferramentas não confiáveis nem textos de terceiros para ele. Limite a nota a uma afirmação curta sobre esta única chamada, como um fato sobre sua origem ou uma declaração do usuário sobre ela; não use o campo para entregar mensagens não relacionadas ou um fluxo de eventos.

2277</Warning>2276</Warning>

2278 2277 

2279<h3 id="posttoolusefailure">2278<h3 id="posttoolusefailure">


2285Faz correspondência pelo nome da ferramenta, com os mesmos valores de PreToolUse.2284Faz correspondência pelo nome da ferramenta, com os mesmos valores de PreToolUse.

2286 2285 

2287<Note>2286<Note>

2288 Este evento não é disparado para chamadas de ferramenta rejeitadas antes da execução: um nome de ferramenta desconhecido, uma entrada que falha na validação de esquema ou específica da ferramenta, ou uma negação de permissão. As rejeições de validação são retornadas como resultados `tool_use_error` e ocorrem antes da execução dos hooks, portanto não disparam nem `PreToolUse` nem `PostToolUseFailure`. As negações de permissão disparam `PreToolUse`, mas não este evento; consulte [PermissionDenied](#permissiondenied).2287 Este evento não é disparado para chamadas de ferramenta rejeitadas antes da execução: um nome de ferramenta desconhecido, uma entrada que falha na validação de esquema ou na validação específica da ferramenta, ou uma negação de permissão. As rejeições de validação são retornadas como resultados `tool_use_error` e acontecem antes de os hooks serem executados, portanto não disparam nem `PreToolUse` nem `PostToolUseFailure`. As negações de permissão disparam `PreToolUse`, mas não este evento; consulte [PermissionDenied](#permissiondenied).

2289</Note>2288</Note>

2290 2289 

2291<h4 id="posttoolusefailure-input">2290<h4 id="posttoolusefailure-input">

2292 Entrada do PostToolUseFailure2291 Entrada de PostToolUseFailure

2293</h4>2292</h4>

2294 2293 

2295Os hooks PostToolUseFailure recebem os mesmos campos `tool_name` e `tool_input` que o PostToolUse, junto com informações de erro como campos de nível superior. Para uma ferramenta MCP, eles também recebem o objeto [`mcp_server`](#pretooluse-input). Por exemplo, um comando `npm test` com falha pode entregar:2294Os hooks PostToolUseFailure recebem os mesmos campos `tool_name` e `tool_input` que PostToolUse, junto com informações de erro como campos de nível superior. Para uma ferramenta MCP, eles também recebem o objeto [`mcp_server`](#pretooluse-input). Por exemplo, um comando `npm test` com falha poderia entregar:

2296 2295 

2297```json theme={null}2296```json theme={null}

2298{2297{


2316| Campo | Descrição |2315| Campo | Descrição |

2317| :- | :- |2316| :- | :- |

2318| `error` | String que descreve o que deu errado. O formato depende da ferramenta que falhou |2317| `error` | String que descreve o que deu errado. O formato depende da ferramenta que falhou |

2319| `is_interrupt` | Booleano opcional. Verdadeiro quando a falha chegou ao Claude Code como uma interrupção, e não como um erro relatado pela ferramenta. Cancelar uma ferramenta em execução não dispara este hook; em vez disso, o resultado da ferramenta contém a mensagem de interrupção |2318| `is_interrupt` | Booleano opcional. Verdadeiro quando a falha chegou ao Claude Code como um aborto, e não como um erro relatado pela ferramenta. Cancelar uma ferramenta em execução não dispara este hook; em vez disso, o resultado da ferramenta traz a mensagem de interrupção |

2320| `duration_ms` | Opcional. Tempo de execução da ferramenta em milissegundos. Exclui o tempo gasto em prompts de permissão e em hooks PreToolUse |2319| `duration_ms` | Opcional. Tempo de execução da ferramenta em milissegundos. Exclui o tempo gasto em prompts de permissão e em hooks PreToolUse |

2321 2320 

2322A string `error` geralmente é o mesmo texto que o Claude recebe como resultado da ferramenta que falhou. Seu formato varia conforme a ferramenta e a falha. Baseie seu hook em `tool_name`, `is_interrupt` e na primeira linha `Exit code N`; trate o restante da string como texto de exibição, não como um formato estável.2321A string `error` geralmente é o mesmo texto que o Claude recebe como resultado da ferramenta com falha. Seu formato varia conforme a ferramenta e a falha. Baseie seu hook em `tool_name`, `is_interrupt` e na primeira linha `Exit code N`; trate o restante da string como texto de exibição, não como um formato estável.

2323 2322 

2324* Para Bash e PowerShell, um comando que foi executado e encerrado produz uma primeira linha `Exit code N`, seguida de qualquer saída que o comando produziu como um único bloco com stdout e stderr intercalados2323* Para Bash e PowerShell, um comando que foi executado e encerrado produz uma primeira linha `Exit code N`, seguida de qualquer saída que o comando tenha produzido como um único bloco com stdout e stderr intercalados

2325* Um payload também pode conter uma mensagem de falha simples sem linha de código de saída, quando o Claude Code não conseguiu iniciar o próprio processo do shell2324* Um payload também pode trazer apenas uma mensagem de falha sem linha de código de saída, quando o Claude Code não conseguiu iniciar o próprio processo do shell

2326* O Claude Code trunca strings longas no meio em torno de um marcador `... [N characters truncated] ...` e pode inserir linhas próprias, como `Command timed out after 2m 0s`2325* O Claude Code trunca strings longas no meio em torno de um marcador `... [N characters truncated] ...` e pode inserir linhas próprias, como `Command timed out after 2m 0s`

2327 2326 

2328<h4 id="posttoolusefailure-decision-control">2327<h4 id="posttoolusefailure-decision-control">

2329 Controle de decisão do PostToolUseFailure2328 Controle de decisão de PostToolUseFailure

2330</h4>2329</h4>

2331 2330 

2332Os hooks `PostToolUseFailure` podem fornecer contexto ao Claude após uma falha de ferramenta. Além dos [campos de saída JSON](#json-output) disponíveis para todos os hooks, seu script de hook pode retornar estes campos específicos do evento:2331Os hooks `PostToolUseFailure` podem fornecer contexto ao Claude após uma falha de ferramenta. Além dos [campos de saída JSON](#json-output) disponíveis para todos os hooks, seu script de hook pode retornar estes campos específicos do evento:


2348 PostToolBatch2347 PostToolBatch

2349</h3>2348</h3>

2350 2349 

2351É executado uma vez depois que todas as chamadas de ferramenta de um lote foram resolvidas, antes de o Claude Code enviar a próxima requisição ao modelo. `PostToolUse` é disparado uma vez por ferramenta, o que significa que é disparado simultaneamente quando o Claude faz chamadas de ferramenta em paralelo. `PostToolBatch` é disparado exatamente uma vez com o lote completo, portanto é o lugar certo para injetar contexto que depende do conjunto de ferramentas executadas, e não de uma única ferramenta. Não há matcher para este evento.2350É executado uma vez depois que todas as chamadas de ferramenta de um lote foram resolvidas, antes que o Claude Code envie a próxima requisição ao modelo. `PostToolUse` é disparado uma vez por ferramenta, o que significa que é disparado de forma concorrente quando o Claude faz chamadas de ferramenta paralelas. `PostToolBatch` é disparado exatamente uma vez com o lote completo, então é o lugar certo para injetar contexto que depende do conjunto de ferramentas executadas, e não de uma única ferramenta. Não há matcher para este evento.

2352 2351 

2353<h4 id="posttoolbatch-input">2352<h4 id="posttoolbatch-input">

2354 Entrada do PostToolBatch2353 Entrada de PostToolBatch

2355</h4>2354</h4>

2356 2355 

2357Além dos [campos de entrada comuns](#common-input-fields), os hooks PostToolBatch recebem `tool_calls`, um array que descreve cada chamada de ferramenta no lote:2356Além dos [campos de entrada comuns](#common-input-fields), os hooks PostToolBatch recebem `tool_calls`, um array que descreve cada chamada de ferramenta do lote:

2358 2357 

2359```json theme={null}2358```json theme={null}

2360{2359{


2380}2379}

2381```2380```

2382 2381 

2383`tool_response` contém o mesmo conteúdo que o modelo recebe no bloco `tool_result` correspondente. O valor é uma string serializada ou um array de blocos de conteúdo, exatamente como a ferramenta o emitiu. Para `Read`, isso significa texto prefixado com números de linha em vez do conteúdo bruto do arquivo. As respostas podem ser grandes, portanto analise apenas os campos de que você precisa.2382`tool_response` contém o mesmo conteúdo que o modelo recebe no bloco `tool_result` correspondente. O valor é uma string serializada ou um array de blocos de conteúdo, exatamente como a ferramenta o emitiu. Para `Read`, isso significa texto prefixado com números de linha, e não o conteúdo bruto do arquivo. As respostas podem ser grandes, então analise apenas os campos de que você precisa.

2384 2383 

2385<Note>2384<Note>

2386 O formato de `tool_response` difere do de `PostToolUse`. `PostToolUse` passa o objeto `Output` estruturado da ferramenta, como `{filePath: "...", type: "create"}` para `Write`; `PostToolBatch` passa o conteúdo serializado de `tool_result` que o modelo vê.2385 O formato de `tool_response` difere do de `PostToolUse`. `PostToolUse` passa o objeto `Output` estruturado da ferramenta, como `{filePath: "...", type: "create"}` para `Write`; `PostToolBatch` passa o conteúdo serializado de `tool_result` que o modelo vê.

2387</Note>2386</Note>

2388 2387 

2389<h4 id="posttoolbatch-decision-control">2388<h4 id="posttoolbatch-decision-control">

2390 Controle de decisão do PostToolBatch2389 Controle de decisão de PostToolBatch

2391</h4>2390</h4>

2392 2391 

2393Os hooks `PostToolBatch` podem injetar contexto para o Claude. Além dos [campos de saída JSON](#json-output) disponíveis para todos os hooks, seu script de hook pode retornar estes campos específicos do evento:2392Os hooks `PostToolBatch` podem injetar contexto para o Claude. Além dos [campos de saída JSON](#json-output) disponíveis para todos os hooks, seu script de hook pode retornar estes campos específicos do evento:

2394 2393 

2395| Campo | Descrição |2394| Campo | Descrição |

2396| :- | :- |2395| :- | :- |

2397| `additionalContext` | String de contexto injetada uma vez antes da próxima chamada ao modelo. Consulte [Adicionar contexto para o Claude](#add-context-for-claude) para detalhes de entrega, o que incluir e como sessões retomadas lidam com valores anteriores |2396| `additionalContext` | String de contexto injetada uma vez antes da próxima chamada ao modelo. Consulte [Adicionar contexto para o Claude](#add-context-for-claude) para detalhes de entrega, o que colocar nela e como as sessões retomadas lidam com valores anteriores |

2398 2397 

2399```json theme={null}2398```json theme={null}

2400{2399{


2405}2404}

2406```2405```

2407 2406 

2408Retornar `decision: "block"` ou `continue: false` interrompe o loop agêntico antes da próxima chamada ao modelo. A mensagem de bloqueio vem do `reason` ou `stopReason` do JSON, ou do stderr no código de saída 2. Você a vê como um aviso na transcrição, e ela permanece na conversa, então o Claude a vê quando a conversa continua.2407Retornar `decision: "block"` ou `continue: false` interrompe o loop agêntico antes da próxima chamada ao modelo. A mensagem de bloqueio vem do `reason` ou do `stopReason` do JSON, ou do stderr no código de saída 2. Você a vê como um aviso na transcrição, e ela permanece na conversa, então o Claude a vê quando a conversa continua.

2409 2408 

2410<h3 id="permissiondenied">2409<h3 id="permissiondenied">

2411 PermissionDenied2410 PermissionDenied

2412</h3>2411</h3>

2413 2412 

2414É executado quando o [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) nega uma chamada de ferramenta, inclusive quando nega sem um veredito do classificador porque [uma verificação de segurança separada do modo auto recusou a própria requisição do classificador](/docs/pt/errors#auto-mode-cannot-determine-the-safety-of-an-action) ou porque a resposta dele não pôde ser analisada. Este hook só é disparado no modo auto: ele não é executado quando você nega manualmente uma caixa de diálogo de permissão, quando um hook `PreToolUse` bloqueia uma chamada ou quando uma regra `deny` corresponde. Use-o para registrar negações em log, ajustar a configuração ou informar ao modelo que ele pode tentar novamente a chamada de ferramenta.2413É executado quando o [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) nega uma chamada de ferramenta, inclusive quando nega sem um veredito do classificador porque [uma verificação de segurança separada do modo auto recusou a própria requisição do classificador](/docs/pt/errors#auto-mode-cannot-determine-the-safety-of-an-action) ou porque sua resposta não pôde ser analisada. Este hook só é disparado no modo auto: ele não é executado quando você nega manualmente uma caixa de diálogo de permissão, quando um hook `PreToolUse` bloqueia uma chamada ou quando uma regra `deny` corresponde. Use-o para registrar negações em log, ajustar a configuração ou informar ao modelo que ele pode tentar novamente a chamada de ferramenta.

2415 2414 

2416Faz correspondência pelo nome da ferramenta, com os mesmos valores de PreToolUse.2415Faz correspondência pelo nome da ferramenta, com os mesmos valores de PreToolUse.

2417 2416 

2418<h4 id="permissiondenied-input">2417<h4 id="permissiondenied-input">

2419 Entrada do PermissionDenied2418 Entrada de PermissionDenied

2420</h4>2419</h4>

2421 2420 

2422Além dos [campos de entrada comuns](#common-input-fields), os hooks PermissionDenied recebem `tool_name`, `tool_input`, `tool_use_id` e `reason`. Para uma ferramenta MCP, eles também recebem o objeto [`mcp_server`](#pretooluse-input).2421Além dos [campos de entrada comuns](#common-input-fields), os hooks PermissionDenied recebem `tool_name`, `tool_input`, `tool_use_id` e `reason`. Para uma ferramenta MCP, eles também recebem o objeto [`mcp_server`](#pretooluse-input).


2440 2439 

2441| Campo | Descrição |2440| Campo | Descrição |

2442| :- | :- |2441| :- | :- |

2443| `reason` | O motivo da negação. Para um veredito do classificador, na maioria das sessões ele nomeia a regra correspondente entre colchetes, como `[Data Exfiltration]`; consulte [Revisar negações](/docs/pt/auto-mode-config#review-denials) para as outras formas. Para uma [negação sem veredito](#permissiondenied-decision-control), ele começa com `Auto mode could not evaluate this action and is blocking it for safety`. Para uma negação porque o modelo classificador estava indisponível, é o texto fixo `Classifier unavailable` |2442| `reason` | O motivo da negação. Para um veredito do classificador, na maioria das sessões ele nomeia a regra correspondente entre colchetes, como `[Data Exfiltration]`; consulte [Revisar negações](/docs/pt/auto-mode-config#review-denials) para as outras formas. Para uma [negação sem veredito](#permissiondenied-decision-control), ele começa com `Auto mode could not evaluate this action and is blocking it for safety`. Para uma negação porque o modelo do classificador estava indisponível, é o texto fixo `Classifier unavailable` |

2444 2443 

2445<h4 id="permissiondenied-decision-control">2444<h4 id="permissiondenied-decision-control">

2446 Controle de decisão do PermissionDenied2445 Controle de decisão de PermissionDenied

2447</h4>2446</h4>

2448 2447 

2449Os hooks PermissionDenied podem informar ao modelo que ele pode tentar novamente a chamada de ferramenta negada. Retorne um objeto JSON com `hookSpecificOutput.retry` definido como `true`:2448Os hooks PermissionDenied podem informar ao modelo que ele pode tentar novamente a chamada de ferramenta negada. Retorne um objeto JSON com `hookSpecificOutput.retry` definido como `true`:


2457}2456}

2458```2457```

2459 2458 

2460Quando `retry` é `true`, o Claude Code adiciona uma mensagem à conversa informando ao modelo que ele pode tentar novamente a chamada de ferramenta. O próprio Claude Code não reverte a negação. Se o seu hook não retornar JSON, ou retornar `retry: false`, a negação se mantém e o modelo recebe a mensagem de rejeição original.2459Quando `retry` é `true`, o Claude Code adiciona uma mensagem à conversa informando ao modelo que ele pode tentar novamente a chamada de ferramenta. O Claude Code não reverte a negação em si. Se o seu hook não retornar JSON, ou retornar `retry: false`, a negação permanece e o modelo recebe a mensagem de rejeição original.

2461 2460 

2462O Claude Code ignora `retry: true` quando o classificador não produziu [nenhum veredito sobre a ação](/docs/pt/errors#auto-mode-cannot-determine-the-safety-of-an-action): sua resposta não pôde ser analisada, ou uma verificação de segurança separada do modo auto recusou a própria requisição do classificador. Para essas negações, o Claude Code já informa ao modelo, na mensagem de rejeição, se deve tentar novamente mais tarde ou seguir em frente.2461O Claude Code ignora `retry: true` quando o classificador não produziu [nenhum veredito sobre a ação](/docs/pt/errors#auto-mode-cannot-determine-the-safety-of-an-action): sua resposta não pôde ser analisada, ou uma verificação de segurança separada do modo auto recusou a própria requisição do classificador. Para essas negações, o Claude Code já informa ao modelo, na mensagem de rejeição, se deve tentar novamente mais tarde ou seguir em frente.

2463 2462 


2471 2470 

2472| Matcher | Quando é disparado |2471| Matcher | Quando é disparado |

2473| :- | :- |2472| :- | :- |

2474| `permission_prompt` | O Claude precisa que você aprove o uso de uma ferramenta ou uma [requisição de rede](/docs/pt/sandboxing#network-isolation) de um comando em sandbox, e o prompt está aguardando há cerca de seis segundos |2473| `permission_prompt` | O Claude precisa que você aprove o uso de uma ferramenta ou a [requisição de rede](/docs/pt/sandboxing#network-isolation) de um comando em sandbox, e o prompt está aguardando há cerca de seis segundos |

2475| `idle_prompt` | O Claude terminou de responder há cerca de 60 segundos e você não digitou nada desde então |2474| `idle_prompt` | O Claude terminou de responder há cerca de 60 segundos e você não digitou nada desde então |

2476| `auth_success` | A autenticação é concluída |2475| `auth_success` | A autenticação é concluída |

2477| `elicitation_dialog` | Um servidor MCP abre um formulário de elicitação e você não digitou nada por cerca de seis segundos |2476| `elicitation_dialog` | Um servidor MCP abre um formulário de elicitação e você não digita há cerca de seis segundos |

2478| `elicitation_url_dialog` | Um servidor MCP pede que você abra uma URL no navegador e você não digitou nada por cerca de seis segundos |2477| `elicitation_url_dialog` | Um servidor MCP pede que você abra uma URL no navegador e você não digita há cerca de seis segundos |

2479| `elicitation_complete` | Um servidor MCP informa que uma [elicitação no modo URL](#elicitation-input) foi concluída |2478| `elicitation_complete` | Um servidor MCP informa que uma [elicitação no modo URL](#elicitation-input) foi concluída |

2480| `elicitation_response` | Uma resposta de elicitação MCP é enviada de volta ao servidor |2479| `elicitation_response` | Uma resposta de elicitação MCP é enviada de volta ao servidor |

2481| `agent_needs_input` | Uma sessão em segundo plano começa a aguardar sua entrada enquanto a [visualização de agentes](/docs/pt/agent-view) está aberta em um terminal. Também é disparado quando uma sessão de terminal mostra a você uma [pergunta de configuração de terminal de um colega de equipe de agentes](/docs/pt/agent-teams#choose-a-display-mode) ou o aviso do modo auto sobre [cobranças por requisições do classificador](/docs/pt/auto-mode-classifier-billing) e você não digitou nada por cerca de seis segundos |2480| `agent_needs_input` | Uma sessão em segundo plano começa a aguardar sua entrada enquanto a [visualização de agentes](/docs/pt/agent-view) está aberta em um terminal. Também é disparado quando uma sessão de terminal mostra a você uma [pergunta de configuração de terminal de um colega de uma equipe de agentes](/docs/pt/agent-teams#choose-a-display-mode) ou o aviso do modo auto sobre [cobranças de requisições do classificador](/docs/pt/auto-mode-classifier-billing) e você não digita há cerca de seis segundos |

2482| `agent_completed` | Uma sessão em segundo plano termina ou falha. É disparado somente enquanto a [visualização de agentes](/docs/pt/agent-view) está aberta em um terminal |2481| `agent_completed` | Uma sessão em segundo plano termina ou falha. É disparado somente enquanto a [visualização de agentes](/docs/pt/agent-view) está aberta em um terminal |

2483| `quota_auto_resume_fired` | O Claude Code continua sua tarefa depois que um limite de uso do claude.ai a pausou: na redefinição, ou antes quando algo que você faz no Claude Code durante a espera, como adicionar créditos de uso, fazer upgrade do seu plano ou trocar de modelo, torna o uso disponível novamente, com a [exceção da configuração de modelo](/docs/pt/interactive-mode#wait-for-a-usage-limit-to-reset) |2482| `quota_auto_resume_fired` | O Claude Code continua sua tarefa depois que um limite de uso do claude.ai a pausou: no momento da redefinição, ou antes disso quando algo que você faz no Claude Code durante a espera, como adicionar créditos de uso, fazer upgrade do seu plano ou trocar de modelo, torna o uso disponível novamente, com a [exceção da configuração de modelo](/docs/pt/interactive-mode#wait-for-a-usage-limit-to-reset) |

2484| `quota_auto_resume_stale` | Um limite de uso do claude.ai foi redefinido enquanto seu computador estava em suspensão por mais de cerca de 30 minutos. O Claude Code aguarda você pressionar `Enter` em vez de continuar. Após uma suspensão mais curta, ele continua e dispara `quota_auto_resume_fired` |2483| `quota_auto_resume_stale` | Um limite de uso do claude.ai foi redefinido enquanto seu computador ficou em suspensão por mais de cerca de 30 minutos. O Claude Code aguarda que você pressione `Enter` em vez de continuar. Após uma suspensão mais curta, ele continua e dispara `quota_auto_resume_fired` em vez disso |

2485| `quota_auto_resume_disabled` | O Claude Code encerra sua espera por um limite de uso do claude.ai sem continuar sua tarefa: [`autoContinueAtUsageLimit`](/docs/pt/settings-reference#autocontinueatusagelimit) foi desativado ou a redefinição passou para mais de 24 horas adiante durante uma espera que o Claude Code iniciou por conta própria, a tarefa continuada continuou atingindo o limite, ou a continuação foi bloqueada antes de chegar ao modelo. Não é disparado quando você pressiona `Esc` ou `Ctrl+C`, ou escolhe **Don't continue automatically** |2484| `quota_auto_resume_disabled` | O Claude Code encerra a espera por um limite de uso do claude.ai sem continuar sua tarefa: [`autoContinueAtUsageLimit`](/docs/pt/settings-reference#autocontinueatusagelimit) foi desativado ou a redefinição foi adiada para mais de 24 horas durante uma espera que o Claude Code iniciou por conta própria, a tarefa continuada continuou atingindo o limite, ou a continuação foi bloqueada antes de chegar ao modelo. Não é disparado quando você pressiona `Esc` ou `Ctrl+C`, ou escolhe **Don't continue automatically** |

2486 2485 

2487Os tipos `quota_auto_resume_fired`, `quota_auto_resume_stale` e `quota_auto_resume_disabled` requerem Claude Code v2.1.234 ou posterior.2486Os tipos `quota_auto_resume_fired`, `quota_auto_resume_stale` e `quota_auto_resume_disabled` requerem Claude Code v2.1.234 ou posterior.

2488 2487 

2489Em sessões de terminal, `permission_prompt` para a requisição de rede de um comando em sandbox requer Claude Code v2.1.246 ou posterior.2488Em sessões de terminal, `permission_prompt` para a requisição de rede de um comando em sandbox requer Claude Code v2.1.246 ou posterior.

2490 2489 

2491`agent_needs_input` para a pergunta de configuração de terminal de um colega de equipe requer Claude Code v2.1.248 ou posterior.2490`agent_needs_input` para a pergunta de configuração de terminal de um colega requer Claude Code v2.1.248 ou posterior.

2492 2491 

2493<Note>2492<Note>

2494 Os tipos `permission_prompt`, `idle_prompt`, `elicitation_dialog` e `elicitation_url_dialog` compartilham seu tempo com as notificações da área de trabalho, portanto, em sessões de terminal, você só os vê quando parece estar longe do terminal:2493 Os tipos `permission_prompt`, `idle_prompt`, `elicitation_dialog` e `elicitation_url_dialog` compartilham o tempo com as notificações da área de trabalho, então, em sessões de terminal, você só os vê quando parece estar longe do terminal:

2495 2494 

2496 * Espere `permission_prompt` quando você não tiver digitado nada por cerca de seis segundos. O temporizador começa quando o prompt de permissão aparece, e cada tecla pressionada o adia. Para executar um hook imediatamente quando o Claude pede permissão para usar uma ferramenta, use [PermissionRequest](#permissionrequest).2495 * Espere `permission_prompt` quando você não digitar por cerca de seis segundos. O temporizador começa quando o prompt de permissão aparece, e cada tecla pressionada o adia. Para executar um hook imediatamente quando o Claude pedir permissão para usar uma ferramenta, use [PermissionRequest](#permissionrequest) em vez disso.

2497 * Espere `idle_prompt` cerca de 60 segundos depois que o Claude terminar de responder, e somente se você não tiver digitado nada desde então e nenhum agente em segundo plano, como um [subagente](/docs/pt/sub-agents) em segundo plano, ainda estiver em execução. O Claude Code não envia `idle_prompt` enquanto aguarda a redefinição de um limite de uso do claude.ai. Quando a espera termina por conta própria, um dos tipos `quota_auto_resume_*` é disparado.2496 * Espere `idle_prompt` cerca de 60 segundos depois que o Claude terminar de responder, e somente se você não tiver digitado desde então e nenhum agente em segundo plano, como um [subagente](/docs/pt/sub-agents) em segundo plano, ainda estiver em execução. O Claude Code não envia `idle_prompt` enquanto aguarda a redefinição de um limite de uso do claude.ai. Quando a espera termina por conta própria, um dos tipos `quota_auto_resume_*` é disparado em vez disso.

2498 * Espere `elicitation_dialog` para um formulário de elicitação, ou `elicitation_url_dialog` para uma solicitação de URL do navegador, quando você não tiver digitado nada por cerca de seis segundos. Ambos compartilham o mesmo limite de seis segundos de `permission_prompt`: o temporizador começa quando a caixa de diálogo aparece, e cada tecla pressionada o adia.2497 * Espere `elicitation_dialog` para um formulário de elicitação, ou `elicitation_url_dialog` para uma solicitação de URL no navegador, quando você não digitar por cerca de seis segundos. Ambos compartilham o mesmo limite de seis segundos que `permission_prompt`: o temporizador começa quando a caixa de diálogo aparece, e cada tecla pressionada o adia.

2499 2498 

2500 Uma solicitação de permissão ou elicitação que chega enquanto outra caixa de diálogo está na tela mantém o mesmo limite de seis segundos, contado a partir da chegada da solicitação. Sua notificação pode chegar até você enquanto a solicitação ainda aguarda atrás da caixa de diálogo aberta.2499 Uma solicitação de permissão ou elicitação que chega enquanto outra caixa de diálogo está na tela mantém o mesmo limite de seis segundos, contado a partir da chegada da solicitação. Sua notificação pode chegar até você enquanto a solicitação ainda aguarda atrás da caixa de diálogo aberta.

2501</Note>2500</Note>

2502 2501 

2503O Claude Code cronometra `permission_prompt` de forma diferente em sessões nas quais envia solicitações de permissão ao [callback `canUseTool`](/docs/pt/agent-sdk/user-input) do Agent SDK, que é como o Claude Desktop e a extensão do VS Code hospedam o Claude Code:2502O Claude Code temporiza `permission_prompt` de forma diferente em sessões nas quais envia solicitações de permissão ao [callback `canUseTool`](/docs/pt/agent-sdk/user-input) do Agent SDK, que é como o Claude Desktop e a extensão do VS Code hospedam o Claude Code:

2504 2503 

2505* Espere `permission_prompt` cerca de seis segundos depois que o Claude pede permissão. O Claude Code não o adia enquanto você digita.2504* Espere `permission_prompt` cerca de seis segundos depois que o Claude pedir permissão. O Claude Code não o adia enquanto você digita.

2506* Se você ou um hook [PermissionRequest](#permissionrequest) responder antes, o Claude Code não executa `permission_prompt`.2505* Se você ou um hook [PermissionRequest](#permissionrequest) responder antes, o Claude Code não executa `permission_prompt`.

2507* Defina [`CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS`](/docs/pt/env-vars) como `1` para desativar `permission_prompt` nessas sessões.2506* Defina [`CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS`](/docs/pt/env-vars) como `1` para desativar `permission_prompt` nessas sessões.

2508 2507 


2538```2537```

2539 2538 

2540<h4 id="notification-input">2539<h4 id="notification-input">

2541 Entrada do Notification2540 Entrada de Notification

2542</h4>2541</h4>

2543 2542 

2544Além dos [campos de entrada comuns](#common-input-fields), os hooks Notification recebem `message` com o texto da notificação, um `title` opcional e `notification_type` indicando qual tipo foi disparado.2543Além dos [campos de entrada comuns](#common-input-fields), os hooks Notification recebem `message` com o texto da notificação, um `title` opcional e `notification_type`, que indica qual tipo foi disparado.

2545 2544 

2546```json theme={null}2545```json theme={null}

2547{2546{


2555}2554}

2556```2555```

2557 2556 

2558Os hooks Notification não podem bloquear nem modificar notificações. O Claude Code descarta seus campos `systemMessage` e `continue`, mas ainda emite [`terminalSequence`](#emit-terminal-notifications), que é o que o exemplo de notificação da área de trabalho utiliza. Os hooks Notification destinam-se a efeitos colaterais, como encaminhar a notificação para um serviço externo.2557Os hooks Notification não podem bloquear nem modificar notificações. O Claude Code descarta seus campos `systemMessage` e `continue`, mas ainda emite [`terminalSequence`](#emit-terminal-notifications), que é o recurso em que o exemplo de notificação da área de trabalho se baseia. Os hooks Notification destinam-se a efeitos colaterais, como encaminhar a notificação a um serviço externo.

2559 2558 

2560<h3 id="subagentstart">2559<h3 id="subagentstart">

2561 SubagentStart2560 SubagentStart

2562</h3>2561</h3>

2563 2562 

2564É executado quando o Claude cria um subagente com a ferramenta Agent, quando o Claude [retoma um subagente](/docs/pt/sub-agents#resume-subagents) e sempre que um colega de uma [equipe de agentes](/docs/pt/agent-teams) in-process processa uma nova mensagem. Suporta matchers para filtrar pelo nome do tipo de agente. Para agentes integrados, é o nome do agente, como `general-purpose`, `Explore` ou `Plan`. Para [subagentes personalizados](/docs/pt/sub-agents), é o campo `name` do frontmatter do agente, não o nome do arquivo.2563É executado quando o Claude cria um subagente com a ferramenta Agent, quando o Claude [retoma um subagente](/docs/pt/sub-agents#resume-subagents) e sempre que um colega em processo de uma [equipe de agentes](/docs/pt/agent-teams) processa uma nova mensagem. Oferece suporte a matchers para filtrar pelo nome do tipo de agente. Para agentes integrados, é o nome do agente, como `general-purpose`, `Explore` ou `Plan`. Para [subagentes personalizados](/docs/pt/sub-agents), é o campo `name` do frontmatter do agente, não o nome do arquivo.

2565 2564 

2566Para subagentes fornecidos por um [plugin](/docs/pt/plugins/overview), o tipo de agente é o identificador com escopo de plugin, como `my-plugin:reviewer`, não o nome simples do frontmatter. Os dois-pontos colocam um nome com escopo de plugin no caminho de expressão regular, portanto ancore o matcher com `^` e `$` para uma correspondência exata: `^my-plugin:reviewer$`.2565Para subagentes distribuídos por um [plugin](/docs/pt/plugins/overview), o tipo de agente é o identificador com escopo de plugin, como `my-plugin:reviewer`, e não o nome simples do frontmatter. Os dois-pontos colocam um nome com escopo de plugin no caminho de expressão regular, então ancore o matcher com `^` e `$` para uma correspondência exata: `^my-plugin:reviewer$`.

2567 2566 

2568<h4 id="subagentstart-input">2567<h4 id="subagentstart-input">

2569 Entrada do SubagentStart2568 Entrada de SubagentStart

2570</h4>2569</h4>

2571 2570 

2572Além dos [campos de entrada comuns](#common-input-fields), os hooks SubagentStart recebem `agent_id` com o identificador único do subagente e `agent_type` com o nome do agente pelo qual o matcher filtra.2571Além dos [campos de entrada comuns](#common-input-fields), os hooks SubagentStart recebem `agent_id` com o identificador exclusivo do subagente e `agent_type` com o nome do agente pelo qual o matcher filtra.

2573 2572 

2574```json theme={null}2573```json theme={null}

2575{2574{


2586 2585 

2587| Campo | Descrição |2586| Campo | Descrição |

2588| :- | :- |2587| :- | :- |

2589| `additionalContext` | String adicionada ao contexto do subagente no início de sua conversa, antes de seu primeiro prompt. Consulte [Adicionar contexto para o Claude](#add-context-for-claude) |2588| `additionalContext` | String adicionada ao contexto do subagente no início de sua conversa, antes do seu primeiro prompt. Consulte [Adicionar contexto para o Claude](#add-context-for-claude) |

2590 2589 

2591```json theme={null}2590```json theme={null}

2592{2591{


2597}2596}

2598```2597```

2599 2598 

2600Quando o hook é executado novamente para o mesmo subagente, o Claude Code injeta o contexto retornado somente quando o contexto do subagente ainda não contém a cópia de uma execução anterior. A cópia injetada na inicialização permanece no lugar, mantendo intacto o [cache de prompt](/docs/pt/prompt-caching#subagents-and-the-cache) do subagente. Depois que a [compactação automática](/docs/pt/sub-agents#auto-compaction) descarta essa cópia, o Claude Code injeta novamente o contexto da próxima execução.2599Quando o hook é executado novamente para o mesmo subagente, o Claude Code injeta o contexto retornado somente quando o contexto do subagente ainda não contém a cópia de uma execução anterior. A cópia injetada na inicialização permanece no lugar, mantendo intacto o [cache de prompt](/docs/pt/prompt-caching#subagents-and-the-cache) do subagente. Depois que a [compactação automática](/docs/pt/sub-agents#auto-compaction) descarta essa cópia, o Claude Code injeta novamente o contexto da execução seguinte.

2601 2600 

2602<h3 id="subagentstop">2601<h3 id="subagentstop">

2603 SubagentStop2602 SubagentStop


2606É executado quando um subagente do Claude Code termina de responder. Faz correspondência pelo tipo de agente, com os mesmos valores de SubagentStart.2605É executado quando um subagente do Claude Code termina de responder. Faz correspondência pelo tipo de agente, com os mesmos valores de SubagentStart.

2607 2606 

2608<h4 id="subagentstop-input">2607<h4 id="subagentstop-input">

2609 Entrada do SubagentStop2608 Entrada de SubagentStop

2610</h4>2609</h4>

2611 2610 

2612Além dos [campos de entrada comuns](#common-input-fields), os hooks SubagentStop recebem `stop_hook_active`, `agent_id`, `agent_type`, `agent_transcript_path` e `last_assistant_message`. O campo `agent_type` é o valor usado para a filtragem do matcher. O `transcript_path` é a transcrição da sessão principal, enquanto `agent_transcript_path` é a transcrição do próprio subagente, armazenada em uma pasta aninhada `subagents/`. O campo `last_assistant_message` contém o conteúdo de texto da resposta final do subagente, para que os hooks possam acessá-lo sem analisar o arquivo de transcrição.2611Além dos [campos de entrada comuns](#common-input-fields), os hooks SubagentStop recebem `stop_hook_active`, `agent_id`, `agent_type`, `agent_transcript_path` e `last_assistant_message`. O campo `agent_type` é o valor usado para a filtragem do matcher. O `transcript_path` é a transcrição da sessão principal, enquanto `agent_transcript_path` é a transcrição do próprio subagente, armazenada em uma pasta aninhada `subagents/`. O campo `last_assistant_message` contém o conteúdo de texto da resposta final do subagente, para que os hooks possam acessá-lo sem analisar o arquivo de transcrição.

2613 2612 

2614Nem todo evento SubagentStop vem de um subagente criado pelo Claude. O Claude Code também executa agentes internos para alguns de seus próprios recursos, como [sugestões de prompt](/docs/pt/interactive-mode#prompt-suggestions) e [perguntas paralelas com `/btw`](/docs/pt/interactive-mode#side-questions-with-%2Fbtw), e o SubagentStop também é disparado quando um deles termina. Para esses eventos, `agent_type` é o nome do agente com o qual a própria sessão é executada, como um definido com [`--agent`](/docs/pt/cli-reference#cli-flags) ou com a [configuração `agent`](/docs/pt/settings-reference#agent), e uma string vazia quando a sessão é executada sem um.2613Nem todo evento SubagentStop vem de um subagente criado pelo Claude. O Claude Code também executa agentes internos para alguns de seus próprios recursos, como [sugestões de prompt](/docs/pt/interactive-mode#prompt-suggestions) e [perguntas paralelas com `/btw`](/docs/pt/interactive-mode#side-questions-with-%2Fbtw), e SubagentStop também é disparado quando um deles termina. Para esses eventos, `agent_type` é o nome do agente com o qual a própria sessão é executada, como um definido com [`--agent`](/docs/pt/cli-reference#cli-flags) ou com a [configuração `agent`](/docs/pt/settings-reference#agent), e uma string vazia quando a sessão é executada sem um.

2615 2614 

2616Um `matcher` que nomeia tipos de agente não corresponde a um `agent_type` vazio. Um hook cujo matcher é omitido, `""` ou `"*"`, ou é uma expressão regular que corresponde a uma string vazia, também é executado para eventos com `agent_type` vazio.2615Um `matcher` que nomeia tipos de agente não corresponde a um `agent_type` vazio. Um hook cujo matcher é omitido, `""` ou `"*"`, ou é uma expressão regular que corresponde a uma string vazia, também é executado para eventos com `agent_type` vazio.

2617 2616 

2618No Claude Code v2.1.271 ou posterior, um subagente executado com a ferramenta [`SubagentHandback`](/docs/pt/tools-reference) entrega seu relatório por meio dessa ferramenta antes de parar. O campo `last_assistant_message` passa então a conter o texto final do subagente, se houver, que não é o relatório entregue. O relatório é a entrada `message` dessa chamada, que um hook `PreToolUse` ou `PostToolUse` com correspondência em `SubagentHandback` recebe como `tool_input.message`.2617No Claude Code v2.1.271 ou posterior, um subagente que é executado com a ferramenta [`SubagentHandback`](/docs/pt/tools-reference) entrega seu relatório por meio dessa ferramenta antes de parar. O campo `last_assistant_message` então contém o texto final do subagente, se houver, que não é o relatório entregue. O relatório é a entrada `message` dessa chamada, que um hook `PreToolUse` ou `PostToolUse` com correspondência em `SubagentHandback` recebe como `tool_input.message`.

2619 2618 

2620Os hooks SubagentStop também recebem os arrays `background_tasks` e `session_crons` descritos em [Entrada do Stop](#stop-input). Ambos os arrays têm escopo na sessão pai, não no subagente.2619Os hooks SubagentStop também recebem os arrays `background_tasks` e `session_crons` descritos em [Entrada de Stop](#stop-input). Ambos os arrays têm escopo na sessão pai, não no subagente.

2621 2620 

2622```json theme={null}2621```json theme={null}

2623{2622{


2636}2635}

2637```2636```

2638 2637 

2639Os hooks SubagentStop usam o mesmo formato de controle de decisão dos [hooks Stop](#stop-decision-control), incluindo `hookSpecificOutput.additionalContext` com `hookEventName` definido como `"SubagentStop"`, para feedback que não é de erro e que mantém o subagente em execução. Retornar `decision: "block"` com um `reason` mantém o subagente em execução e entrega `reason` ao subagente como sua próxima instrução. Um hook que bloqueia saindo com código 2 entrega sua mensagem de stderr da mesma forma. Para injetar contexto na sessão pai depois que um subagente retorna, use um hook [`PostToolUse`](#posttooluse) na ferramenta `Agent`.2638Os hooks SubagentStop usam o mesmo formato de controle de decisão que os [hooks Stop](#stop-decision-control), incluindo `hookSpecificOutput.additionalContext` com `hookEventName` definido como `"SubagentStop"`, para feedback sem erro que mantém o subagente em execução. Retornar `decision: "block"` com um `reason` mantém o subagente em execução e entrega `reason` ao subagente como sua próxima instrução. Um hook que bloqueia saindo com código 2 entrega sua mensagem de stderr da mesma forma. Para injetar contexto na sessão pai depois que um subagente retorna, use um hook [`PostToolUse`](#posttooluse) na ferramenta `Agent`.

2640 2639 

2641<h3 id="taskcreated">2640<h3 id="taskcreated">

2642 TaskCreated2641 TaskCreated


2644 2643 

2645É executado quando uma tarefa está sendo criada por meio da ferramenta `TaskCreate`. Use-o para impor convenções de nomenclatura, exigir descrições de tarefas ou impedir que determinadas tarefas sejam criadas. Em uma [sessão sem as ferramentas Task](/docs/pt/tools-reference#task-tool-availability), este evento não é disparado.2644É executado quando uma tarefa está sendo criada por meio da ferramenta `TaskCreate`. Use-o para impor convenções de nomenclatura, exigir descrições de tarefas ou impedir que determinadas tarefas sejam criadas. Em uma [sessão sem as ferramentas Task](/docs/pt/tools-reference#task-tool-availability), este evento não é disparado.

2646 2645 

2647Os hooks TaskCreated não suportam matchers e são disparados em todas as ocorrências.2646Os hooks TaskCreated não oferecem suporte a matchers e são disparados em todas as ocorrências.

2648 2647 

2649<h4 id="taskcreated-input">2648<h4 id="taskcreated-input">

2650 Entrada do TaskCreated2649 Entrada de TaskCreated

2651</h4>2650</h4>

2652 2651 

2653Além dos [campos de entrada comuns](#common-input-fields), os hooks TaskCreated recebem `task_id`, `task_subject` e, opcionalmente, `task_description`, `teammate_name` e `team_name`.2652Além dos [campos de entrada comuns](#common-input-fields), os hooks TaskCreated recebem `task_id`, `task_subject` e, opcionalmente, `task_description`, `teammate_name` e `team_name`.


2671| `task_id` | Identificador da tarefa que está sendo criada |2670| `task_id` | Identificador da tarefa que está sendo criada |

2672| `task_subject` | Título da tarefa |2671| `task_subject` | Título da tarefa |

2673| `task_description` | Descrição detalhada da tarefa. Pode estar ausente |2672| `task_description` | Descrição detalhada da tarefa. Pode estar ausente |

2674| `teammate_name` | Nome do colega de equipe que está criando a tarefa. Pode estar ausente |2673| `teammate_name` | Nome do colega que está criando a tarefa. Pode estar ausente |

2675| `team_name` | Descontinuado. Nome da equipe derivado da sessão; será removido em uma versão futura |2674| `team_name` | Descontinuado. Nome da equipe derivado da sessão; será removido em uma versão futura |

2675| `agent_id` | Neste evento, o [campo de entrada comum](#common-input-fields) identifica o subagente ou o [colega em processo](/docs/pt/agent-teams#choose-a-display-mode) que está criando a tarefa. Pode estar ausente. Requer Claude Code v2.1.290 ou posterior |

2676 2676 

2677<h4 id="taskcreated-decision-control">2677<h4 id="taskcreated-decision-control">

2678 Controle de decisão do TaskCreated2678 Controle de decisão de TaskCreated

2679</h4>2679</h4>

2680 2680 

2681Um hook TaskCreated pode bloquear a criação de duas formas. Em ambos os casos, o Claude Code exclui a tarefa e retorna sua mensagem ao Claude como o erro da ferramenta. O Claude Code ignora `continue: false` deste evento e o Claude continua trabalhando.2681Um hook TaskCreated pode bloquear a criação de duas maneiras. Em ambos os casos, o Claude Code exclui a tarefa e retorna sua mensagem ao Claude como o erro da ferramenta. O Claude Code ignora `continue: false` deste evento e o Claude continua trabalhando.

2682 2682 

2683* **Código de saída 2**: o Claude Code retorna o texto do stderr como a mensagem.2683* **Código de saída 2**: o Claude Code retorna o texto do stderr como a mensagem.

2684* **JSON `{"decision": "block", "reason": "..."}`**: o Claude Code retorna `reason` como a mensagem.2684* **JSON `{"decision": "block", "reason": "..."}`**: o Claude Code retorna `reason` como a mensagem.


2702 TaskCompleted2702 TaskCompleted

2703</h3>2703</h3>

2704 2704 

2705É executado quando uma tarefa está sendo marcada como concluída. Isso é disparado em duas situações: quando qualquer agente marca explicitamente uma tarefa como concluída por meio da ferramenta TaskUpdate, ou quando um colega de uma [equipe de agentes](/docs/pt/agent-teams) termina seu turno com tarefas em andamento. Use-o para impor critérios de conclusão, como testes ou verificações de lint aprovados, antes que uma tarefa possa ser fechada.2705É executado quando uma tarefa está sendo marcada como concluída. Isso é disparado em duas situações: quando qualquer agente marca explicitamente uma tarefa como concluída por meio da ferramenta TaskUpdate, ou quando um colega de uma [equipe de agentes](/docs/pt/agent-teams) termina seu turno com tarefas em andamento. Use-o para impor critérios de conclusão, como testes aprovados ou verificações de lint, antes que uma tarefa possa ser fechada.

2706 2706 

2707Os hooks TaskCompleted não suportam matchers e são disparados em todas as ocorrências.2707Os hooks TaskCompleted não oferecem suporte a matchers e são disparados em todas as ocorrências.

2708 2708 

2709<h4 id="taskcompleted-input">2709<h4 id="taskcompleted-input">

2710 Entrada do TaskCompleted2710 Entrada de TaskCompleted

2711</h4>2711</h4>

2712 2712 

2713Além dos [campos de entrada comuns](#common-input-fields), os hooks TaskCompleted recebem `task_id`, `task_subject` e, opcionalmente, `task_description`, `teammate_name` e `team_name`.2713Além dos [campos de entrada comuns](#common-input-fields), os hooks TaskCompleted recebem `task_id`, `task_subject` e, opcionalmente, `task_description`, `teammate_name` e `team_name`.


2732| `task_id` | Identificador da tarefa que está sendo concluída |2732| `task_id` | Identificador da tarefa que está sendo concluída |

2733| `task_subject` | Título da tarefa |2733| `task_subject` | Título da tarefa |

2734| `task_description` | Descrição detalhada da tarefa. Pode estar ausente |2734| `task_description` | Descrição detalhada da tarefa. Pode estar ausente |

2735| `teammate_name` | Nome do colega de equipe que está concluindo a tarefa. Pode estar ausente |2735| `teammate_name` | Nome do colega que está concluindo a tarefa. Pode estar ausente |

2736| `team_name` | Descontinuado. Nome da equipe derivado da sessão; será removido em uma versão futura |2736| `team_name` | Descontinuado. Nome da equipe derivado da sessão; será removido em uma versão futura |

2737| `agent_id` | Neste evento, o [campo de entrada comum](#common-input-fields) identifica o subagente ou o [colega em processo](/docs/pt/agent-teams#choose-a-display-mode) que está concluindo a tarefa. Pode estar ausente. Requer Claude Code v2.1.290 ou posterior |

2737 2738 

2738<h4 id="taskcompleted-decision-control">2739<h4 id="taskcompleted-decision-control">

2739 Controle de decisão do TaskCompleted2740 Controle de decisão de TaskCompleted

2740</h4>2741</h4>

2741 2742 

2742Os hooks TaskCompleted suportam duas formas de controlar a conclusão de tarefas:2743Os hooks TaskCompleted oferecem duas formas de controlar a conclusão de tarefas:

2743 2744 

2744* **Código de saída 2**: a tarefa não é marcada como concluída e a mensagem de stderr é devolvida ao modelo como feedback.2745* **Código de saída 2**: a tarefa não é marcada como concluída e a mensagem do stderr é enviada de volta ao modelo como feedback.

2745* **JSON `{"continue": false, "stopReason": "..."}`**: quando um colega de equipe que termina seu turno acionou o evento, interrompe o colega completamente, correspondendo ao comportamento do hook `Stop`. O `stopReason` é mostrado ao usuário. Quando a ferramenta `TaskUpdate` acionou o evento, o Claude Code ignora `continue: false`; o código de saída 2 ainda bloqueia a conclusão.2746* **JSON `{"continue": false, "stopReason": "..."}`**: quando um colega terminando seu turno acionou o evento, interrompe o colega completamente, correspondendo ao comportamento do hook `Stop`. O `stopReason` é mostrado ao usuário. Quando a ferramenta `TaskUpdate` acionou o evento, o Claude Code ignora `continue: false`; o código de saída 2 ainda bloqueia a conclusão.

2746 2747 

2747Este exemplo executa testes e bloqueia a conclusão da tarefa se eles falharem:2748Este exemplo executa testes e bloqueia a conclusão da tarefa se eles falharem:

2748 2749 


2769[StopFailure](#stopfailure) em vez disso.2770[StopFailure](#stopfailure) em vez disso.

2770 2771 

2771<Tip>2772<Tip>

2772 O comando [`/goal`](/docs/pt/goal) é um atalho integrado para um hook Stop baseado em prompt com escopo de sessão. Use-o quando quiser que o Claude continue trabalhando em direção a uma condição sem escrever a configuração do hook.2773 O comando [`/goal`](/docs/pt/goal) é um atalho integrado para um hook Stop baseado em prompt com escopo de sessão. Use-o quando quiser que o Claude continue trabalhando em direção a uma condição sem escrever uma configuração de hook.

2773</Tip>2774</Tip>

2774 2775 

2775<h4 id="stop-input">2776<h4 id="stop-input">

2776 Entrada do Stop2777 Entrada de Stop

2777</h4>2778</h4>

2778 2779 

2779Além dos [campos de entrada comuns](#common-input-fields), hooks Stop recebem `stop_hook_active`, `last_assistant_message`, `background_tasks` e `session_crons`. O campo `stop_hook_active` é `true` quando o Claude Code já está continuando como resultado de um hook de parada. Verifique esse valor ou processe a transcrição para evitar bloquear em uma condição que nunca será resolvida.2780Além dos [campos de entrada comuns](#common-input-fields), os hooks Stop recebem `stop_hook_active`, `last_assistant_message`, `background_tasks` e `session_crons`. O campo `stop_hook_active` é `true` quando o Claude Code já está continuando como resultado de um hook de parada. Verifique esse valor ou processe a transcrição para evitar bloquear com base em uma condição que nunca será resolvida.

2780 2781 

2781O Claude Code aplica um limite de 8 continuações consecutivas: depois que os hooks de parada continuaram o turno oito vezes seguidas, o Claude Code sobrescreve o próximo bloqueio e encerra o turno. A contagem de continuações consecutivas é redefinida cada vez que o Claude chama uma ferramenta. Para aumentar o limite, defina [`CLAUDE_CODE_STOP_HOOK_BLOCK_CAP`](/docs/pt/env-vars).2782O Claude Code aplica um limite de 8 continuações consecutivas: depois que os hooks de parada continuarem o turno oito vezes seguidas, o Claude Code sobrescreve o próximo bloqueio e encerra o turno. A contagem de continuações consecutivas é redefinida sempre que o Claude chama uma ferramenta. Para aumentar o limite, defina [`CLAUDE_CODE_STOP_HOOK_BLOCK_CAP`](/docs/pt/env-vars).

2782 2783 

2783O campo `last_assistant_message` contém o conteúdo de texto da resposta final do Claude, para que os hooks possam acessá-lo sem analisar o arquivo de transcrição. Para hooks que atuam sobre o turno recém-concluído, como hooks de leitura em voz alta ou de notificação, use este campo em vez de ler `transcript_path`: não há garantia de que o arquivo de transcrição inclua a mensagem final no momento do Stop em todas as versões.2784O campo `last_assistant_message` contém o conteúdo de texto da resposta final do Claude, para que os hooks possam acessá-lo sem analisar o arquivo de transcrição. Para hooks que atuam sobre o turno recém-concluído, como hooks de leitura em voz alta ou de notificação, use este campo em vez de ler `transcript_path`: não há garantia de que o arquivo de transcrição inclua a mensagem final no momento do Stop em todas as versões.

2784 2785 

2785Os arrays `background_tasks` e `session_crons` permitem que os hooks distingam "a sessão terminou" de "a sessão está pausada aguardando que um trabalho em segundo plano a desperte novamente". Ambos os arrays estão presentes quando o registro de tarefas está acessível e ficam vazios quando não há nada em andamento ou agendado.2786Os arrays `background_tasks` e `session_crons` permitem que os hooks distingam entre "a sessão terminou" e "a sessão está pausada aguardando que um trabalho em segundo plano a desperte novamente". Ambos os arrays estão presentes quando o registro de tarefas está acessível e ficam vazios quando nada está em andamento ou agendado.

2786 2787 

2787Cada entrada em `background_tasks` descreve uma tarefa em andamento e usa estes campos:2788Cada entrada em `background_tasks` descreve uma tarefa em andamento e usa estes campos:

2788 2789 


2791| `id` | Identificador da tarefa |2792| `id` | Identificador da tarefa |

2792| `type` | Rótulo amigável do tipo de tarefa, como `shell`, `subagent`, `monitor`, `workflow`, `teammate`, `cloud session` ou `MCP task`. Cada rótulo identifica qual recurso do Claude Code criou a tarefa. Usa o discriminante bruto como alternativa para tipos não reconhecidos |2793| `type` | Rótulo amigável do tipo de tarefa, como `shell`, `subagent`, `monitor`, `workflow`, `teammate`, `cloud session` ou `MCP task`. Cada rótulo identifica qual recurso do Claude Code criou a tarefa. Usa o discriminante bruto como alternativa para tipos não reconhecidos |

2793| `status` | Status atual da tarefa |2794| `status` | Status atual da tarefa |

2794| `description` | Descrição em texto livre, limitada a 1000 caracteres com um marcador `… [+N chars]` na string quando cortada |2795| `description` | Descrição em texto livre, limitada a 1000 caracteres, com um marcador `… [+N chars]` na própria string quando cortada |

2795| `command` | Linha de comando do shell, limitada a 1000 caracteres. Presente somente para tarefas `shell` |2796| `command` | Linha de comando do shell, limitada a 1000 caracteres. Presente somente para tarefas `shell` |

2796| `agent_type` | Nome do tipo de subagente. Presente somente para tarefas `subagent` |2797| `agent_type` | Nome do tipo de subagente. Presente somente para tarefas `subagent` |

2797| `server` | Nome do servidor MCP. Presente somente para tarefas `monitor` e `MCP task` |2798| `server` | Nome do servidor MCP. Presente somente para tarefas `monitor` e `MCP task` |


2807| `recurring` | `false` para despertares únicos cujo agendamento codifica um único horário de disparo, `true` para tarefas que disparam novamente a cada correspondência |2808| `recurring` | `false` para despertares únicos cujo agendamento codifica um único horário de disparo, `true` para tarefas que disparam novamente a cada correspondência |

2808| `prompt` | Prompt enviado quando o cron é disparado, limitado a 1000 caracteres com o mesmo marcador `… [+N chars]` |2809| `prompt` | Prompt enviado quando o cron é disparado, limitado a 1000 caracteres com o mesmo marcador `… [+N chars]` |

2809 2810 

2810Este exemplo mostra uma entrada de Stop com uma tarefa de shell em andamento e um cron recorrente:2811Este exemplo mostra uma entrada de Stop com uma tarefa shell em andamento e um cron recorrente:

2811 2812 

2812```json theme={null}2813```json theme={null}

2813{2814{


2839```2840```

2840 2841 

2841<h4 id="stop-decision-control">2842<h4 id="stop-decision-control">

2842 Controle de decisão do Stop2843 Controle de decisão de Stop

2843</h4>2844</h4>

2844 2845 

2845Os hooks `Stop` e `SubagentStop` podem controlar se o Claude continua. Além dos [campos de saída JSON](#json-output) disponíveis para todos os hooks, seu script de hook pode retornar estes campos específicos do evento:2846Os hooks `Stop` e `SubagentStop` podem controlar se o Claude continua. Além dos [campos de saída JSON](#json-output) disponíveis para todos os hooks, seu script de hook pode retornar estes campos específicos do evento:


2848| :- | :- |2849| :- | :- |

2849| `decision` | `"block"` impede que o Claude pare. Omita para permitir que o Claude pare |2850| `decision` | `"block"` impede que o Claude pare. Omita para permitir que o Claude pare |

2850| `reason` | Obrigatório quando `decision` é `"block"`. Informa ao Claude por que ele deve continuar |2851| `reason` | Obrigatório quando `decision` é `"block"`. Informa ao Claude por que ele deve continuar |

2851| `hookSpecificOutput.additionalContext` | Feedback que não é de erro para o Claude. A conversa continua para que o Claude possa agir com base nele, mas, ao contrário de `decision: "block"`, ele é mostrado na transcrição como feedback do hook em vez de um erro do hook |2852| `hookSpecificOutput.additionalContext` | Feedback sem erro para o Claude. A conversa continua para que o Claude possa agir sobre ele, mas, diferentemente de `decision: "block"`, ele é mostrado na transcrição como feedback de hook, e não como erro de hook |

2852 2853 

2853Um hook que bloqueia saindo com código 2 é encaminhado da mesma forma que `reason`: o Claude recebe a mensagem de stderr como a explicação de por que deve continuar.2854Um hook que bloqueia saindo com código 2 é encaminhado da mesma forma que `reason`: o Claude recebe a mensagem do stderr como a explicação de por que deve continuar.

2854 2855 

2855```json theme={null}2856```json theme={null}

2856{2857{


2859}2860}

2860```2861```

2861 2862 

2862Use `additionalContext` quando o hook está funcionando conforme projetado e fornecendo orientação ao Claude, como "execute a suíte de testes antes de terminar". Ele mantém a conversa em andamento com as mesmas proteções contra loop de `decision: "block"`, ou seja, a entrada `stop_hook_active` e o limite de 8 continuações consecutivas, mas a transcrição o rotula como `Stop hook feedback` e nenhuma notificação de erro de hook é mostrada:2863Use `additionalContext` quando o hook estiver funcionando conforme projetado e dando orientações ao Claude, como "execute o conjunto de testes antes de terminar". Ele mantém a conversa em andamento com as mesmas proteções contra loop que `decision: "block"`, ou seja, a entrada `stop_hook_active` e o limite de 8 continuações consecutivas, mas a transcrição o rotula como `Stop hook feedback` e nenhuma notificação de erro de hook é mostrada:

2863 2864 

2864```json theme={null}2865```json theme={null}

2865{2866{


2874 StopFailure2875 StopFailure

2875</h3>2876</h3>

2876 2877 

2877É executado em vez de [Stop](#stop) quando o turno termina devido a um erro de API. O Claude Code ignora a saída e o código de saída do hook, exceto [`terminalSequence`](#emit-terminal-notifications). Use-o para registrar falhas em log, enviar alertas ou tomar ações de recuperação quando o Claude não consegue concluir uma resposta devido a rate limits, problemas de autenticação ou outros erros de API.2878É executado em vez de [Stop](#stop) quando o turno termina devido a um erro de API. O Claude Code ignora a saída e o código de saída do hook, com exceção de [`terminalSequence`](#emit-terminal-notifications). Use-o para registrar falhas em log, enviar alertas ou tomar ações de recuperação quando o Claude não consegue concluir uma resposta devido a rate limits, problemas de autenticação ou outros erros de API.

2878 2879 

2879<h4 id="stopfailure-input">2880<h4 id="stopfailure-input">

2880 Entrada do StopFailure2881 Entrada de StopFailure

2881</h4>2882</h4>

2882 2883 

2883Além dos [campos de entrada comuns](#common-input-fields), os hooks StopFailure recebem `error`, `error_details` opcional e `last_assistant_message` opcional. O campo `error` identifica o tipo de erro e é usado para a filtragem do matcher.2884Além dos [campos de entrada comuns](#common-input-fields), os hooks StopFailure recebem `error`, `error_details` opcional e `last_assistant_message` opcional. O campo `error` identifica o tipo de erro e é usado para a filtragem do matcher.


2886| :- | :- |2887| :- | :- |

2887| `error` | Tipo de erro: `rate_limit`, `overloaded`, `authentication_failed`, `oauth_org_not_allowed`, `account_on_hold`, `billing_error`, `invalid_request`, `model_not_found`, `server_error`, `max_output_tokens`, `cloud_credential_error` ou `unknown` |2888| `error` | Tipo de erro: `rate_limit`, `overloaded`, `authentication_failed`, `oauth_org_not_allowed`, `account_on_hold`, `billing_error`, `invalid_request`, `model_not_found`, `server_error`, `max_output_tokens`, `cloud_credential_error` ou `unknown` |

2888| `error_details` | Detalhes adicionais sobre o erro, quando disponíveis |2889| `error_details` | Detalhes adicionais sobre o erro, quando disponíveis |

2889| `last_assistant_message` | O texto de erro renderizado mostrado na conversa. Ao contrário de `Stop` e `SubagentStop`, em que este campo contém a saída conversacional do Claude, para `StopFailure` ele contém a própria string de erro da API, como `"API Error: Rate limit reached"` |2890| `last_assistant_message` | O texto de erro renderizado mostrado na conversa. Diferentemente de `Stop` e `SubagentStop`, em que este campo contém a saída conversacional do Claude, para `StopFailure` ele contém a própria string do erro de API, como `"API Error: Rate limit reached"` |

2890 2891 

2891```json theme={null}2892```json theme={null}

2892{2893{


2900}2901}

2901```2902```

2902 2903 

2903Os hooks StopFailure não têm controle de decisão. Eles são executados apenas para fins de notificação e log.2904Os hooks StopFailure não têm controle de decisão. Eles são executados apenas para fins de notificação e registro em log.

2904 2905 

2905<h3 id="teammateidle">2906<h3 id="teammateidle">

2906 TeammateIdle2907 TeammateIdle


2908 2909 

2909É executado quando um colega de uma [equipe de agentes](/docs/pt/agent-teams) está prestes a ficar ocioso após terminar seu turno. Use-o para impor critérios de qualidade antes que um colega pare de trabalhar, como exigir verificações de lint aprovadas ou verificar se os arquivos de saída existem.2910É executado quando um colega de uma [equipe de agentes](/docs/pt/agent-teams) está prestes a ficar ocioso após terminar seu turno. Use-o para impor critérios de qualidade antes que um colega pare de trabalhar, como exigir verificações de lint aprovadas ou verificar se os arquivos de saída existem.

2910 2911 

2911Os hooks TeammateIdle não suportam matchers e são disparados em todas as ocorrências.2912Os hooks TeammateIdle não oferecem suporte a matchers e são disparados em todas as ocorrências.

2912 2913 

2913<h4 id="teammateidle-input">2914<h4 id="teammateidle-input">

2914 Entrada do TeammateIdle2915 Entrada de TeammateIdle

2915</h4>2916</h4>

2916 2917 

2917Além dos [campos de entrada comuns](#common-input-fields), os hooks TeammateIdle recebem `teammate_name` e `team_name`.2918Além dos [campos de entrada comuns](#common-input-fields), os hooks TeammateIdle recebem `teammate_name` e `team_name`.


2930 2931 

2931| Campo | Descrição |2932| Campo | Descrição |

2932| :- | :- |2933| :- | :- |

2933| `teammate_name` | Nome do colega de equipe que está prestes a ficar ocioso |2934| `teammate_name` | Nome do colega que está prestes a ficar ocioso |

2934| `team_name` | Descontinuado. Nome da equipe derivado da sessão; será removido em uma versão futura |2935| `team_name` | Descontinuado. Nome da equipe derivado da sessão; será removido em uma versão futura |

2936| `agent_id` | Neste evento, o [campo de entrada comum](#common-input-fields) identifica o [colega em processo](/docs/pt/agent-teams#choose-a-display-mode) que está prestes a ficar ocioso. Pode estar ausente. Requer Claude Code v2.1.290 ou posterior |

2935 2937 

2936<h4 id="teammateidle-decision-control">2938<h4 id="teammateidle-decision-control">

2937 Controle de decisão do TeammateIdle2939 Controle de decisão de TeammateIdle

2938</h4>2940</h4>

2939 2941 

2940Os hooks TeammateIdle suportam duas formas de controlar o comportamento do colega de equipe:2942Os hooks TeammateIdle oferecem duas formas de controlar o comportamento do colega:

2941 2943 

2942* **Código de saída 2**: o colega recebe a mensagem de stderr como feedback e continua trabalhando em vez de ficar ocioso.2944* **Código de saída 2**: o colega recebe a mensagem do stderr como feedback e continua trabalhando em vez de ficar ocioso.

2943* **JSON `{"continue": false, "stopReason": "..."}`**: interrompe o colega completamente, correspondendo ao comportamento do hook `Stop`. O `stopReason` é mostrado ao usuário.2945* **JSON `{"continue": false, "stopReason": "..."}`**: interrompe o colega completamente, correspondendo ao comportamento do hook `Stop`. O `stopReason` é mostrado ao usuário.

2944 2946 

2945Este exemplo verifica se um artefato de build existe antes de permitir que um colega fique ocioso:2947Este exemplo verifica se um artefato de build existe antes de permitir que um colega fique ocioso:


2994```2996```

2995 2997 

2996<h4 id="configchange-input">2998<h4 id="configchange-input">

2997 Entrada do ConfigChange2999 Entrada de ConfigChange

2998</h4>3000</h4>

2999 3001 

3000Além dos [campos de entrada comuns](#common-input-fields), os hooks ConfigChange recebem `source` e, opcionalmente, `file_path`. O campo `source` indica qual tipo de configuração mudou, e `file_path` fornece o caminho do arquivo específico que foi modificado.3002Além dos [campos de entrada comuns](#common-input-fields), os hooks ConfigChange recebem `source` e, opcionalmente, `file_path`. O campo `source` indica qual tipo de configuração mudou, e `file_path` fornece o caminho para o arquivo específico que foi modificado.

3001 3003 

3002```json theme={null}3004```json theme={null}

3003{3005{


3011```3013```

3012 3014 

3013<h4 id="configchange-decision-control">3015<h4 id="configchange-decision-control">

3014 Controle de decisão do ConfigChange3016 Controle de decisão de ConfigChange

3015</h4>3017</h4>

3016 3018 

3017Os hooks ConfigChange podem impedir que alterações de configuração entrem em vigor. Use o código de saída 2 ou um `decision` em JSON para impedir a alteração. Quando bloqueadas, as novas configurações não são aplicadas à sessão em execução.3019Os hooks ConfigChange podem impedir que alterações de configuração entrem em vigor. Use o código de saída 2 ou uma `decision` em JSON para impedir a alteração. Quando bloqueadas, as novas configurações não são aplicadas à sessão em execução.

3018 3020 

3019| Campo | Descrição |3021| Campo | Descrição |

3020| :- | :- |3022| :- | :- |

3021| `decision` | `"block"` impede que a alteração de configuração seja aplicada. Omita para permitir a alteração |3023| `decision` | `"block"` impede que a alteração de configuração seja aplicada. Omita para permitir a alteração |

3022| `reason` | Aceito, mas nunca exibido |3024| `reason` | Aceito, mas nunca mostrado |

3023 3025 

3024```json theme={null}3026```json theme={null}

3025{3027{


3028}3030}

3029```3031```

3030 3032 

3031As alterações de `policy_settings` não podem ser bloqueadas. Os hooks ainda são disparados para origens `policy_settings` quando um arquivo de configurações gerenciadas na máquina muda, então você pode usá-los para registrar essas edições em log, mas qualquer decisão de bloqueio é ignorada. Isso garante que as configurações gerenciadas pela empresa sempre entrem em vigor. O Claude Code não executa hooks `ConfigChange` quando [configurações gerenciadas pelo servidor](/docs/pt/server-managed-settings) chegam ou são atualizadas.3033Alterações de `policy_settings` não podem ser bloqueadas. Os hooks ainda são disparados para origens `policy_settings` quando um arquivo de configurações gerenciadas na máquina muda, então você pode usá-los para registrar essas edições em log, mas qualquer decisão de bloqueio é ignorada. Isso garante que as configurações gerenciadas pela empresa sempre entrem em vigor. O Claude Code não executa hooks `ConfigChange` quando [configurações gerenciadas pelo servidor](/docs/pt/server-managed-settings) chegam ou são atualizadas.

3032 3034 

3033O Claude Code age com base na decisão de bloqueio da saída JSON de um hook ConfigChange e descarta `systemMessage` e `continue`. Uma alteração bloqueada não exibe nenhuma mensagem para você nem para o Claude, seja o bloqueio feito com `reason` ou com stderr no código de saída 2. O Claude Code apenas grava uma linha no log de depuração.3035O Claude Code age sobre a decisão de bloqueio da saída JSON de um hook ConfigChange e descarta `systemMessage` e `continue`. Uma alteração bloqueada não exibe nenhuma mensagem para você nem para o Claude, seja bloqueando com `reason` ou com stderr no código de saída 2. O Claude Code apenas grava uma linha no log de depuração.

3034 3036 

3035<h3 id="cwdchanged">3037<h3 id="cwdchanged">

3036 CwdChanged3038 CwdChanged

3037</h3>3039</h3>

3038 3040 

3039É executado quando um comando de shell na conversa principal altera o diretório de trabalho, por exemplo quando o Claude executa um comando `cd`. Use-o para reagir a mudanças de diretório: recarregar variáveis de ambiente, ativar toolchains específicas do projeto ou executar scripts de configuração automaticamente. Funciona em conjunto com [FileChanged](#filechanged) para ferramentas como [direnv](https://direnv.net/) que gerenciam o ambiente por diretório.3041É executado quando um comando de shell na conversa principal altera o diretório de trabalho, por exemplo quando o Claude executa um comando `cd`. Use-o para reagir a mudanças de diretório: recarregar variáveis de ambiente, ativar toolchains específicos do projeto ou executar scripts de configuração automaticamente. Funciona em conjunto com [FileChanged](#filechanged) para ferramentas como o [direnv](https://direnv.net/), que gerenciam o ambiente por diretório.

3040 3042 

3041Os hooks CwdChanged têm acesso a [`CLAUDE_ENV_FILE`](#persist-environment-variables). As variáveis gravadas nesse arquivo persistem nos comandos Bash subsequentes até o próximo evento CwdChanged, quando o Claude Code as limpa.3043Os hooks CwdChanged têm acesso a [`CLAUDE_ENV_FILE`](#persist-environment-variables). As variáveis gravadas nesse arquivo persistem nos comandos Bash subsequentes até o próximo evento CwdChanged, quando o Claude Code as limpa.

3042 3044 

3043O CwdChanged não suporta matchers e é disparado em todas as ocorrências.3045CwdChanged não oferece suporte a matchers e é disparado em todas as ocorrências.

3044 3046 

3045<h4 id="cwdchanged-input">3047<h4 id="cwdchanged-input">

3046 Entrada do CwdChanged3048 Entrada de CwdChanged

3047</h4>3049</h4>

3048 3050 

3049Além dos [campos de entrada comuns](#common-input-fields), os hooks CwdChanged recebem `old_cwd` e `new_cwd`.3051Além dos [campos de entrada comuns](#common-input-fields), os hooks CwdChanged recebem `old_cwd` e `new_cwd`.


3060```3062```

3061 3063 

3062<h4 id="cwdchanged-output">3064<h4 id="cwdchanged-output">

3063 Saída do CwdChanged3065 Saída de CwdChanged

3064</h4>3066</h4>

3065 3067 

3066Além dos [campos de saída JSON](#json-output) disponíveis para todos os hooks, os hooks CwdChanged podem retornar `watchPaths` para definir dinamicamente quais caminhos de arquivo o [FileChanged](#filechanged) monitora:3068Além dos [campos de saída JSON](#json-output) disponíveis para todos os hooks, os hooks CwdChanged podem retornar `watchPaths` para definir dinamicamente quais caminhos de arquivo o [FileChanged](#filechanged) observa:

3067 3069 

3068| Campo | Descrição |3070| Campo | Descrição |

3069| :- | :- |3071| :- | :- |

3070| `watchPaths` | Array de caminhos absolutos. Substitui a lista de monitoramento dinâmica atual. Os caminhos da sua configuração de `matcher` são sempre monitorados. Retornar um array vazio limpa a lista dinâmica, o que é comum ao entrar em um novo diretório |3072| `watchPaths` | Array de caminhos absolutos. Substitui a lista dinâmica de observação atual. Os caminhos da sua configuração de `matcher` são sempre observados. Retornar um array vazio limpa a lista dinâmica, o que é comum ao entrar em um novo diretório |

3071 3073 

3072Os hooks CwdChanged não têm controle de decisão. Eles não podem bloquear a mudança de diretório.3074Os hooks CwdChanged não têm controle de decisão. Eles não podem bloquear a mudança de diretório.

3073 3075 

3074O Claude Code lê `watchPaths` e `systemMessage` da saída JSON deles e descarta `continue`. Em sessões interativas, ele mostra o `systemMessage` como uma breve notificação no terminal. A mensagem não chega ao fluxo de mensagens do SDK.3076O Claude Code lê `watchPaths` e `systemMessage` da saída JSON desses hooks e descarta `continue`. Em sessões interativas, ele mostra o `systemMessage` como uma breve notificação no terminal. A mensagem não chega ao fluxo de mensagens do SDK.

3075 3077 

3076<h3 id="directoryadded">3078<h3 id="directoryadded">

3077 DirectoryAdded3079 DirectoryAdded

3078</h3>3080</h3>

3079 3081 

3080É executado depois que você adiciona um diretório de trabalho no meio da sessão com o comando `/add-dir`, ou depois que um cliente SDK adiciona um com a requisição de controle `register_repo_root`. Use-o para preparar um repositório recém-adicionado, por exemplo instalando suas dependências.3082É executado depois que você adiciona um diretório de trabalho no meio da sessão com o comando `/add-dir`, ou depois que um cliente do SDK adiciona um com a requisição de controle `register_repo_root`. Use-o para preparar um repositório recém-adicionado, por exemplo instalando suas dependências.

3081 3083 

3082O Claude Code não dispara este evento quando:3084O Claude Code não dispara este evento quando:

3083 3085 

3084* Você passa um diretório com a flag de inicialização `--add-dir`; [SessionStart](#sessionstart) cobre esses diretórios3086* Você passa um diretório com a flag de inicialização `--add-dir`; [SessionStart](#sessionstart) cobre esses diretórios

3085* Você adiciona um diretório na aba Workspace de `/permissions`3087* Você adiciona um diretório na aba Workspace de `/permissions`

3086* Você adiciona um diretório que já é um diretório de trabalho ou está dentro de um3088* Você adiciona um diretório que já é um diretório de trabalho ou que está dentro de um

3087 3089 

3088O Claude Code dispara o DirectoryAdded depois de atualizar o estado do sandbox e das permissões, então as ferramentas em sandbox já veem o novo diretório quando seu hook é executado. Os próprios comandos de hook são executados fora do sandbox.3090O Claude Code dispara DirectoryAdded depois de atualizar o estado do sandbox e das permissões, então as ferramentas em sandbox já veem o novo diretório quando seu hook é executado. Os próprios comandos do hook são executados fora do sandbox.

3089 3091 

3090O Claude Code não espera pelo hook: a adição é concluída imediatamente, e o hook é executado em segundo plano com o timeout padrão de 600 segundos.3092O Claude Code não espera pelo hook: a adição é concluída imediatamente, e o hook é executado em segundo plano com o timeout padrão de 600 segundos.

3091 3093 


3094| Matcher | Quando é disparado |3096| Matcher | Quando é disparado |

3095| :- | :- |3097| :- | :- |

3096| `slash_command` | Você adiciona um diretório com `/add-dir` |3098| `slash_command` | Você adiciona um diretório com `/add-dir` |

3097| `register_repo_root` | Um cliente SDK adiciona um diretório com a requisição de controle `register_repo_root` |3099| `register_repo_root` | Um cliente do SDK adiciona um diretório com a requisição de controle `register_repo_root` |

3098 3100 

3099<h4 id="directoryadded-input">3101<h4 id="directoryadded-input">

3100 Entrada do DirectoryAdded3102 Entrada de DirectoryAdded

3101</h4>3103</h4>

3102 3104 

3103Além dos [campos de entrada comuns](#common-input-fields), os hooks DirectoryAdded recebem `directory` e `source`.3105Além dos [campos de entrada comuns](#common-input-fields), os hooks DirectoryAdded recebem `directory` e `source`.


3105| Campo | Descrição |3107| Campo | Descrição |

3106| :- | :- |3108| :- | :- |

3107| `directory` | Caminho absoluto do diretório que foi adicionado |3109| `directory` | Caminho absoluto do diretório que foi adicionado |

3108| `source` | Como o diretório foi adicionado, `"slash_command"` para `/add-dir` ou `"register_repo_root"` para a requisição de controle do SDK |3110| `source` | Como o diretório foi adicionado: `"slash_command"` para `/add-dir` ou `"register_repo_root"` para a requisição de controle do SDK |

3109 3111 

3110```json theme={null}3112```json theme={null}

3111{3113{


3118}3120}

3119```3121```

3120 3122 

3121Os hooks DirectoryAdded não têm controle de decisão. Eles não podem bloquear a adição, que já foi concluída quando o hook é executado. O Claude Code descarta o campo `continue` da saída JSON deles e apresenta o restante de forma diferente conforme a origem:3123Os hooks DirectoryAdded não têm controle de decisão. Eles não podem bloquear a adição, que já foi concluída quando o hook é executado. O Claude Code descarta o campo `continue` da saída JSON desses hooks e exibe o restante de forma diferente conforme a origem:

3122 3124 

3123* `slash_command`: o Claude Code entrega o `systemMessage` do hook ao Claude como contexto no próximo turno da conversa, em vez de mostrá-lo a você. Uma contagem de hooks com falha aparece na transcrição. A saída completa das falhas vai para o log de depuração3125* `slash_command`: o Claude Code entrega o `systemMessage` do hook ao Claude como contexto no próximo turno da conversa, em vez de mostrá-lo a você. Uma contagem de hooks com falha aparece na transcrição. A saída completa da falha vai para o log de depuração

3124* `register_repo_root`: o Claude Code grava a saída de `systemMessage` e a saída de falhas somente no log de depuração3126* `register_repo_root`: o Claude Code grava a saída de `systemMessage` e a saída de falhas somente no log de depuração

3125 3127 

3126<h3 id="filechanged">3128<h3 id="filechanged">

3127 FileChanged3129 FileChanged

3128</h3>3130</h3>

3129 3131 

3130É executado quando um arquivo monitorado muda no disco. O Claude Code detecta alterações com um monitor do sistema de arquivos, não inspecionando chamadas de ferramenta, portanto executa o hook independentemente do que alterou o arquivo: uma chamada de ferramenta `Edit` ou `Write`, um script que o Claude executa com `Bash` ou um processo totalmente fora do Claude Code. Um uso comum é recarregar variáveis de ambiente quando arquivos de configuração do projeto mudam.3132É executado quando um arquivo observado muda no disco. O Claude Code detecta mudanças com um observador do sistema de arquivos, e não inspecionando chamadas de ferramenta, então executa o hook independentemente do que alterou o arquivo: uma chamada de ferramenta `Edit` ou `Write`, um script que o Claude executa com `Bash` ou um processo totalmente fora do Claude Code. Um uso comum é recarregar variáveis de ambiente quando arquivos de configuração do projeto mudam.

3131 3133 

3132O `matcher` deste evento tem duas funções:3134O `matcher` deste evento tem duas funções:

3133 3135 

3134* **Construir a lista de monitoramento**: o valor é dividido em `|` e cada segmento é registrado como um nome de arquivo literal no diretório de trabalho, então `".envrc|.env"` monitora exatamente esses dois arquivos. Padrões regex não são úteis aqui: um valor como `^\.env` monitoraria um arquivo literalmente chamado `^\.env`.3136* **Construir a lista de observação**: o valor é dividido em `|` e cada segmento é registrado como um nome de arquivo literal no diretório de trabalho, então `".envrc|.env"` observa exatamente esses dois arquivos. Padrões regex não são úteis aqui: um valor como `^\.env` observaria um arquivo literalmente chamado `^\.env`.

3135* **Filtrar quais hooks são executados**: quando um arquivo monitorado muda, o mesmo valor filtra quais grupos de hooks são executados usando as [regras de matcher](#matcher-patterns) padrão em relação ao nome base do arquivo alterado.3137* **Filtrar quais hooks são executados**: quando um arquivo observado muda, o mesmo valor filtra quais grupos de hooks são executados usando as [regras de matcher](#matcher-patterns) padrão em relação ao nome base do arquivo alterado.

3136 3138 

3137Este exemplo normaliza as terminações de linha em `data.csv` após qualquer alteração, incluindo um comando `Bash` ou um script externo que reescreve o arquivo:3139Este exemplo normaliza as terminações de linha em `data.csv` após qualquer alteração, incluindo um comando `Bash` ou um script externo que reescreva o arquivo:

3138 3140 

3139```json theme={null}3141```json theme={null}

3140{3142{


3154}3156}

3155```3157```

3156 3158 

3157O hook lê o caminho absoluto do arquivo alterado do campo `file_path` da [entrada JSON](#filechanged-input) no stdin. Sua proteção com `grep` testa a mesma coisa que o `perl` remove, um CR no final de uma linha, portanto a execução após uma normalização termina sem tocar no arquivo. Uma proteção menos rigorosa entra em loop para sempre, porque `perl -i` reescreve o arquivo mesmo quando não substitui nada, e o Claude Code executa o hook novamente após cada reescrita. Salve este script em `/path/to/normalize-line-endings.sh` e torne-o executável:3159O hook lê o caminho absoluto do arquivo alterado do campo `file_path` da [entrada JSON](#filechanged-input) no stdin. Sua verificação com `grep` testa exatamente o que o `perl` remove, um CR no final de uma linha, então a execução após uma normalização termina sem tocar no arquivo. Uma verificação mais frouxa entra em loop infinito, porque `perl -i` reescreve o arquivo mesmo quando não substitui nada e o Claude Code executa o hook novamente após cada reescrita. Salve este script em `/path/to/normalize-line-endings.sh` e torne-o executável:

3158 3160 

3159```bash theme={null}3161```bash theme={null}

3160#!/bin/bash3162#!/bin/bash


3164fi3166fi

3165```3167```

3166 3168 

3167Para confirmar que o hook funciona, peça ao Claude para acrescentar uma linha CRLF a `data.csv` com um comando `Bash`. O Claude Code executa o hook e o arquivo fica com terminações LF.3169Para confirmar que o hook funciona, peça ao Claude para acrescentar uma linha CRLF a `data.csv` com um comando `Bash`. O Claude Code executa o hook e o arquivo termina com terminações LF.

3168 3170 

3169Para monitorar arquivos que você não pode nomear de antemão, retorne [`watchPaths`](#filechanged-output) de um hook para atualizar a lista de monitoramento dinamicamente. O Claude Code inicia o monitor somente quando algo nomeia um arquivo a ser monitorado, então inicialize a lista com um grupo FileChanged cujo matcher nomeie pelo menos um arquivo, ou com um hook [SessionStart](#sessionstart-decision-control) ou [CwdChanged](#cwdchanged) que retorne `watchPaths`. O matcher ainda filtra quais grupos de hooks são executados quando um arquivo monitorado muda, então dê ao grupo que lida com caminhos dinâmicos um matcher omitido, que corresponde a todos os arquivos monitorados e não adiciona nada à lista de monitoramento. Um matcher `"*"` também corresponde a todos os arquivos, mas o Claude Code o registra na lista de monitoramento como qualquer outro valor, como um arquivo literal chamado `*`.3171Para observar arquivos que você não consegue nomear de antemão, retorne [`watchPaths`](#filechanged-output) de um hook para atualizar a lista de observação dinamicamente. O Claude Code inicia o observador somente quando algo nomeia um arquivo a ser observado, então inicialize a lista com um grupo FileChanged cujo matcher nomeie pelo menos um arquivo, ou com um hook [SessionStart](#sessionstart-decision-control) ou [CwdChanged](#cwdchanged) que retorne `watchPaths`. O matcher ainda filtra quais grupos de hooks são executados quando um arquivo observado muda, então deixe o matcher omitido no grupo que lida com caminhos dinâmicos, o que corresponde a todo arquivo observado e não adiciona nada à lista de observação. Um matcher `"*"` também corresponde a todos os arquivos, mas o Claude Code o registra na lista de observação como qualquer outro valor, como um arquivo literal chamado `*`.

3170 3172 

3171Os hooks FileChanged têm acesso a [`CLAUDE_ENV_FILE`](#persist-environment-variables). As variáveis gravadas nesse arquivo persistem nos comandos Bash subsequentes até o próximo evento [CwdChanged](#cwdchanged), quando o Claude Code as limpa.3173Os hooks FileChanged têm acesso a [`CLAUDE_ENV_FILE`](#persist-environment-variables). As variáveis gravadas nesse arquivo persistem nos comandos Bash subsequentes até o próximo evento [CwdChanged](#cwdchanged), quando o Claude Code as limpa.

3172 3174 

3173<h4 id="filechanged-input">3175<h4 id="filechanged-input">

3174 Entrada do FileChanged3176 Entrada de FileChanged

3175</h4>3177</h4>

3176 3178 

3177Além dos [campos de entrada comuns](#common-input-fields), os hooks FileChanged recebem `file_path` e `event`.3179Além dos [campos de entrada comuns](#common-input-fields), os hooks FileChanged recebem `file_path` e `event`.

3178 3180 

3179| Campo | Descrição |3181| Campo | Descrição |

3180| :- | :- |3182| :- | :- |

3181| `file_path` | Caminho absoluto do arquivo que mudou |3183| `file_path` | Caminho absoluto para o arquivo que mudou |

3182| `event` | O que aconteceu: `"change"` para um arquivo modificado, `"add"` para um arquivo criado ou `"unlink"` para um arquivo excluído |3184| `event` | O que aconteceu: `"change"` para um arquivo modificado, `"add"` para um arquivo criado ou `"unlink"` para um arquivo excluído |

3183 3185 

3184```json theme={null}3186```json theme={null}


3193```3195```

3194 3196 

3195<h4 id="filechanged-output">3197<h4 id="filechanged-output">

3196 Saída do FileChanged3198 Saída de FileChanged

3197</h4>3199</h4>

3198 3200 

3199Além dos [campos de saída JSON](#json-output) disponíveis para todos os hooks, os hooks FileChanged podem retornar `watchPaths` para atualizar dinamicamente quais caminhos de arquivo são monitorados:3201Além dos [campos de saída JSON](#json-output) disponíveis para todos os hooks, os hooks FileChanged podem retornar `watchPaths` para atualizar dinamicamente quais caminhos de arquivo são observados:

3200 3202 

3201| Campo | Descrição |3203| Campo | Descrição |

3202| :- | :- |3204| :- | :- |

3203| `watchPaths` | Array de caminhos absolutos. Substitui a lista de monitoramento dinâmica atual. Os caminhos da sua configuração de `matcher` são sempre monitorados. Use isto quando seu script de hook descobrir arquivos adicionais a monitorar com base no arquivo alterado |3205| `watchPaths` | Array de caminhos absolutos. Substitui a lista dinâmica de observação atual. Os caminhos da sua configuração de `matcher` são sempre observados. Use isto quando seu script de hook descobrir arquivos adicionais a serem observados com base no arquivo alterado |

3204 3206 

3205Os hooks FileChanged não têm controle de decisão. Eles não podem impedir que a alteração do arquivo ocorra.3207Os hooks FileChanged não têm controle de decisão. Eles não podem impedir que a alteração do arquivo ocorra.

3206 3208 

3207O Claude Code lê `watchPaths` e `systemMessage` da saída JSON deles e descarta `continue`. Em sessões interativas, ele mostra o `systemMessage` como uma breve notificação no terminal. A mensagem não chega ao fluxo de mensagens do SDK.3209O Claude Code lê `watchPaths` e `systemMessage` da saída JSON desses hooks e descarta `continue`. Em sessões interativas, ele mostra o `systemMessage` como uma breve notificação no terminal. A mensagem não chega ao fluxo de mensagens do SDK.

3208 3210 

3209<h3 id="worktreecreate">3211<h3 id="worktreecreate">

3210 WorktreeCreate3212 WorktreeCreate

3211</h3>3213</h3>

3212 3214 

3213É executado quando um worktree está sendo criado, seja a partir de `claude --worktree`, de um [subagente usando `isolation: "worktree"`](/docs/pt/sub-agents#choose-the-subagent-scope) ou para uma [sessão em segundo plano](/docs/pt/agent-view#how-file-edits-are-isolated) que o Claude Code isola em seu próprio worktree. Por padrão, o Claude Code cria a cópia de trabalho isolada com `git worktree`. Configurar um hook WorktreeCreate substitui esse comportamento padrão do git, permitindo que você use um sistema de controle de versão diferente, como SVN, Perforce ou Mercurial.3215É executado quando um worktree está sendo criado, seja a partir de `claude --worktree`, de um [subagente usando `isolation: "worktree"`](/docs/pt/sub-agents#choose-the-subagent-scope), ou para uma [sessão em segundo plano](/docs/pt/agent-view#how-file-edits-are-isolated) que o Claude Code isola em seu próprio worktree. Por padrão, o Claude Code cria a cópia de trabalho isolada com `git worktree`. Configurar um hook WorktreeCreate substitui esse comportamento padrão do git, permitindo que você use um sistema de controle de versão diferente, como SVN, Perforce ou Mercurial.

3214 3216 

3215Como o hook substitui o comportamento padrão por completo, [`.worktreeinclude`](/docs/pt/worktrees#copy-gitignored-files-into-worktrees) não é processado. Se você precisar copiar arquivos de configuração locais como `.env` para o novo worktree, faça isso dentro do seu script de hook.3217Como o hook substitui totalmente o comportamento padrão, o [`.worktreeinclude`](/docs/pt/worktrees#copy-gitignored-files-into-worktrees) não é processado. Se você precisar copiar arquivos de configuração locais como `.env` para o novo worktree, faça isso dentro do seu script de hook.

3216 3218 

3217O hook deve retornar o caminho do diretório do worktree criado. O Claude Code usa esse caminho como o diretório de trabalho da sessão isolada. Consulte [Saída do WorktreeCreate](#worktreecreate-output) para ver como cada tipo de hook retorna o caminho.3219O hook deve retornar o caminho para o diretório do worktree criado. O Claude Code usa esse caminho como diretório de trabalho para a sessão isolada. Consulte [Saída de WorktreeCreate](#worktreecreate-output) para ver como cada tipo de hook retorna o caminho.

3218 3220 

3219O Claude Code age com base no sucesso do hook e no caminho retornado, e descarta `systemMessage` e `continue`.3221O Claude Code age com base no sucesso do hook e no caminho retornado, e descarta `systemMessage` e `continue`.

3220 3222 


3237}3239}

3238```3240```

3239 3241 

3240O hook lê o `name` do worktree da entrada JSON no stdin, faz checkout de uma cópia nova em um novo diretório e imprime o caminho do diretório. O `echo` na última linha é o que o Claude Code lê como o caminho do worktree. Redirecione qualquer outra saída para o stderr para que ela não interfira no caminho.3242O hook lê o `name` do worktree a partir da entrada JSON no stdin, faz checkout de uma cópia nova em um novo diretório e imprime o caminho do diretório. O `echo` na última linha é o que o Claude Code lê como o caminho do worktree. Redirecione qualquer outra saída para o stderr para que ela não interfira no caminho.

3241 3243 

3242<h4 id="worktreecreate-input">3244<h4 id="worktreecreate-input">

3243 Entrada do WorktreeCreate3245 Entrada de WorktreeCreate

3244</h4>3246</h4>

3245 3247 

3246Além dos [campos de entrada comuns](#common-input-fields), os hooks WorktreeCreate recebem o campo `name`. Ele é um identificador slug para o novo worktree, especificado pelo usuário ou gerado automaticamente, por exemplo `bold-oak-a3f2`.3248Além dos [campos de entrada comuns](#common-input-fields), os hooks WorktreeCreate recebem o campo `name`. Este é um identificador slug para o novo worktree, especificado pelo usuário ou gerado automaticamente, por exemplo `bold-oak-a3f2`.

3247 3249 

3248```json theme={null}3250```json theme={null}

3249{3251{


3256```3258```

3257 3259 

3258<h4 id="worktreecreate-output">3260<h4 id="worktreecreate-output">

3259 Saída do WorktreeCreate3261 Saída de WorktreeCreate

3260</h4>3262</h4>

3261 3263 

3262Os hooks WorktreeCreate não usam o modelo padrão de decisão de permitir/bloquear. Em vez disso, o sucesso ou a falha do hook determina o resultado. O hook deve retornar o caminho para o diretório do worktree criado:3264Os hooks WorktreeCreate não usam o modelo padrão de decisão de permitir/bloquear. Em vez disso, o sucesso ou a falha do hook determina o resultado. O hook deve retornar o caminho para o diretório do worktree criado:

3263 3265 

3264* **Hooks de comando** (`type: "command"`): imprima o caminho como a última linha não vazia do stdout. O Claude Code remove os códigos de escape ANSI antes de ler essa linha, então os banners de inicialização do shell impressos antes do seu `echo` são ignorados. Redirecione qualquer outra saída do hook para o stderr.3266* **Hooks de comando** (`type: "command"`): imprima o caminho como a última linha não vazia do stdout. O Claude Code remove códigos de escape ANSI antes de ler essa linha, então banners de inicialização do shell impressos antes do seu `echo` são ignorados. Redirecione qualquer outra saída do hook para o stderr.

3265* **Hooks HTTP** (`type: "http"`): retorne `{ "hookSpecificOutput": { "hookEventName": "WorktreeCreate", "worktreePath": "/absolute/path" } }` no corpo da resposta.3267* **Hooks HTTP** (`type: "http"`): retorne `{ "hookSpecificOutput": { "hookEventName": "WorktreeCreate", "worktreePath": "/absolute/path" } }` no corpo da resposta.

3266 3268 

3267Se o hook falhar ou não produzir nenhum caminho, a criação do worktree falha com um erro.3269Se o hook falhar ou não produzir nenhum caminho, a criação do worktree falha com um erro.

3268 3270 

3269O Claude Code resolve um caminho relativo em relação ao diretório em que o hook foi executado, eliminando quaisquer segmentos `.` ou `..` nele. Se o caminho resultante não for um diretório em que o Claude Code possa entrar, a sessão imprime um erro com o nome do caminho e encerra com o código 1.3271O Claude Code resolve um caminho relativo em relação ao diretório em que o hook foi executado, eliminando quaisquer segmentos `.` ou `..` nele. Se o caminho resultante não for um diretório em que o Claude Code possa entrar, a sessão imprime um erro indicando o caminho e encerra com o código 1.

3270 3272 

3271O Claude Code recusa um caminho absoluto que contenha segmentos `.` ou `..`, e qualquer caminho que passe por um link simbólico abaixo da raiz do repositório, porque um link simbólico commitado no repositório poderia redirecionar o worktree para fora dele. O erro indica o componente rejeitado. Retorne um caminho normalizado que não passe por um link simbólico dentro do repositório. Antes da v2.1.216, a criação do worktree seguia o caminho do hook sem essa verificação.3273O Claude Code recusa um caminho absoluto que contenha segmentos `.` ou `..`, e qualquer caminho que passe por um link simbólico abaixo da raiz do repositório, porque um link simbólico commitado no repositório poderia redirecionar o worktree para fora dele. O erro indica o componente rejeitado. Retorne um caminho normalizado que não passe por um link simbólico dentro do repositório. Antes da v2.1.216, a criação do worktree seguia o caminho do hook sem essa verificação.

3272 3274 


3276 3278 

3277É executado quando o Claude Code limpa um worktree que o seu hook [`WorktreeCreate`](#worktreecreate) criou. O evento é disparado quando:3279É executado quando o Claude Code limpa um worktree que o seu hook [`WorktreeCreate`](#worktreecreate) criou. O evento é disparado quando:

3278 3280 

3279* Você sai de uma [sessão de worktree](/docs/pt/worktrees#start-claude-in-a-worktree) interativa e escolhe remover o worktree quando o Claude Code solicita3281* Você sai de uma [sessão de worktree](/docs/pt/worktrees#start-claude-in-a-worktree) interativa e opta por remover o worktree quando o Claude Code pergunta

3280* Você sai de uma sessão de worktree interativa que não [nomeou](/docs/pt/sessions#name-your-sessions), o Claude Code não encontra arquivos alterados ou não rastreados e remove o worktree sem solicitar confirmação3282* Você sai de uma sessão de worktree interativa que não [nomeou](/docs/pt/sessions#name-your-sessions), o Claude Code não encontra arquivos alterados ou não rastreados, e remove o worktree sem perguntar

3281* Você exclui uma [sessão em segundo plano](/docs/pt/agent-view#what-deleting-a-session-removes) que é executada no worktree3283* Você exclui uma [sessão em segundo plano](/docs/pt/agent-view#what-deleting-a-session-removes) que é executada no worktree

3282 3284 

3283O Claude Code usa o git para procurar arquivos alterados ou não rastreados, então não encontra nenhum em um worktree que não seja um checkout git nem esteja dentro de um, mesmo quando o diretório contém trabalho não commitado. Verifique esse trabalho no seu hook WorktreeRemove antes que ele exclua qualquer coisa.3285O Claude Code usa o git para procurar arquivos alterados ou não rastreados, então não encontra nenhum em um worktree que não seja um checkout git nem esteja dentro de um, mesmo quando o diretório contém trabalho não commitado. Verifique esse trabalho no seu hook WorktreeRemove antes que ele exclua qualquer coisa.

3284 3286 

3285Para worktrees baseados em git, o Claude Code lida com a limpeza automaticamente com `git worktree remove`. Se você configurou um hook WorktreeCreate, combine-o com um hook WorktreeRemove para controlar a limpeza dos worktrees que ele cria:3287Para worktrees baseados em git, o Claude Code cuida da limpeza automaticamente com `git worktree remove`. Se você configurou um hook WorktreeCreate, combine-o com um hook WorktreeRemove para controlar a limpeza dos worktrees que ele cria:

3286 3288 

3287* **Sem hook WorktreeRemove**: quando o Claude Code remove o worktree ao você sair de uma sessão de worktree, ele recorre a `git worktree remove --force` no caminho que o seu hook WorktreeCreate retornou, então um worktree que o git reconhece é removido. Um worktree que o git não reconhece, por exemplo um que o seu hook criou com um sistema de controle de versão que não seja git, permanece no disco. Para saber o que a exclusão de uma [sessão em segundo plano](/docs/pt/agent-view#what-deleting-a-session-removes) faz com um worktree criado por hook, consulte as regras de exclusão da visualização de agentes.3289* **Sem hook WorktreeRemove**: quando o Claude Code remove o worktree ao sair de uma sessão de worktree, ele recorre a `git worktree remove --force` no caminho que seu hook WorktreeCreate retornou, de modo que um worktree que o git reconhece é removido. Um worktree que o git não reconhece, por exemplo um que seu hook criou com um sistema de controle de versão que não seja git, permanece no disco. Para saber o que a exclusão de uma [sessão em segundo plano](/docs/pt/agent-view#what-deleting-a-session-removes) faz com um worktree criado por hook, consulte as regras de exclusão do agent view.

3288* **O hook encerra com 0**: o worktree é considerado removido. O Claude Code não lê mais nada do hook, então certifique-se de que seu hook excluiu o diretório.3290* **O hook sai com 0**: o worktree conta como removido. O Claude Code não lê mais nada do hook, então certifique-se de que seu hook excluiu o diretório.

3289* **O hook encerra com código diferente de zero**: a remoção falha se o diretório em `worktree_path` ainda existir depois, e o worktree permanece no disco sem fallback do git. Um hook que excluiu o diretório antes de encerrar com código diferente de zero é considerado como tendo removido o worktree. Para saber como a falha é relatada, consulte [Entrada do WorktreeRemove](#worktreeremove-input).3291* **O hook sai com código diferente de zero**: a remoção falha se o diretório em `worktree_path` ainda existir depois, e o worktree permanece no disco sem fallback para o git. Um hook que excluiu o diretório antes de sair com código diferente de zero conta como removido. Para saber como a falha é relatada, consulte [Entrada de WorktreeRemove](#worktreeremove-input).

3290 3292 

3291O Claude Code nunca exclui um branch pertencente a um worktree criado por hook, porque ele conhece apenas o caminho que seu hook WorktreeCreate retornou. Se seu hook WorktreeCreate criar um branch, exclua-o no seu hook WorktreeRemove.3293O Claude Code nunca exclui um branch pertencente a um worktree criado por hook, porque ele só conhece o caminho que seu hook WorktreeCreate retornou. Se o seu hook WorktreeCreate cria um branch, exclua-o no seu hook WorktreeRemove.

3292 3294 

3293O Claude Code descarta os [campos de saída JSON](#json-output) de um hook WorktreeRemove, como `systemMessage` e `continue`.3295O Claude Code descarta os [campos de saída JSON](#json-output) de um hook WorktreeRemove, como `systemMessage` e `continue`.

3294 3296 

3295Para a exclusão de uma sessão em segundo plano, o Claude Code verifica o caminho do worktree armazenado antes de executar o hook e recusa um caminho que seja um link simbólico ou que passe por um abaixo da raiz do repositório. O hook é executado para um worktree que ainda contém arquivos somente quando você confirma a exclusão na [visualização de agentes](/docs/pt/agent-view#what-deleting-a-session-removes); para um worktree assim, [`claude rm`](/docs/pt/agent-view#manage-sessions-from-the-shell) mantém a sessão e o worktree. Antes da v2.1.216, o hook era executado no caminho armazenado sem essas verificações.3297Para a exclusão de uma sessão em segundo plano, o Claude Code verifica o caminho do worktree armazenado antes de executar o hook e recusa um caminho que seja um link simbólico ou que passe por um abaixo da raiz do repositório. O hook é executado para um worktree que ainda contém arquivos somente quando você confirma a exclusão no [agent view](/docs/pt/agent-view#what-deleting-a-session-removes); para esse tipo de worktree, [`claude rm`](/docs/pt/agent-view#manage-sessions-from-the-shell) mantém a sessão e o worktree. Antes da v2.1.216, o hook era executado no caminho armazenado sem essas verificações.

3296 3298 

3297O Claude Code passa o caminho retornado pelo WorktreeCreate como `worktree_path` na entrada do hook. Este exemplo lê esse caminho e remove o diretório:3299O Claude Code passa o caminho retornado por WorktreeCreate como `worktree_path` na entrada do hook. Este exemplo lê esse caminho e remove o diretório:

3298 3300 

3299```json theme={null}3301```json theme={null}

3300{3302{


3314```3316```

3315 3317 

3316<h4 id="worktreeremove-input">3318<h4 id="worktreeremove-input">

3317 Entrada do WorktreeRemove3319 Entrada de WorktreeRemove

3318</h4>3320</h4>

3319 3321 

3320Além dos [campos de entrada comuns](#common-input-fields), os hooks WorktreeRemove recebem o campo `worktree_path`, que é o caminho absoluto para o worktree que está sendo removido.3322Além dos [campos de entrada comuns](#common-input-fields), os hooks WorktreeRemove recebem o campo `worktree_path`, que é o caminho absoluto para o worktree que está sendo removido.


3329}3331}

3330```3332```

3331 3333 

3332O código de saída de um hook WorktreeRemove decide o resultado. Quando um hook encerra com código diferente de zero e o diretório em `worktree_path` ainda existe depois, a remoção falha:3334O código de saída de um hook WorktreeRemove decide o resultado. Quando um hook sai com código diferente de zero e o diretório em `worktree_path` ainda existe depois, a remoção falha:

3333 3335 

3334* O worktree permanece no disco, e o comando e o stderr do hook vão para o [log de depuração](#debug-hooks).3336* O worktree permanece no disco, e o comando do hook e o stderr vão para o [log de depuração](#debug-hooks).

3335* Se você estava excluindo uma sessão em segundo plano, a sessão também permanece. A mensagem de recusa na [visualização de agentes](/docs/pt/agent-view#what-deleting-a-session-removes) informa como o hook terminou, como `exited 1`, cita o início do seu stderr e diz se excluir a sessão novamente remove o diretório mesmo assim.3337* Se você estava excluindo uma sessão em segundo plano, a sessão também permanece. A mensagem de recusa no [agent view](/docs/pt/agent-view#what-deleting-a-session-removes) informa como o hook terminou, como `exited 1`, cita o início do stderr e diz se excluir a sessão novamente remove o diretório mesmo assim.

3336 3338 

3337<h3 id="precompact">3339<h3 id="precompact">

3338 PreCompact3340 PreCompact


3347| `manual` | `/compact` |3349| `manual` | `/compact` |

3348| `auto` | Compactação automática quando a conversa atinge a [janela de compactação automática](/docs/pt/model-config#set-the-auto-compact-window) |3350| `auto` | Compactação automática quando a conversa atinge a [janela de compactação automática](/docs/pt/model-config#set-the-auto-compact-window) |

3349 3351 

3350Encerre com o código 2 para bloquear a compactação. Para um `/compact` manual, a mensagem do stderr é mostrada ao usuário. Você também pode bloquear retornando JSON com `"decision": "block"`.3352Saia com o código 2 para bloquear a compactação. Para um `/compact` manual, a mensagem do stderr é mostrada ao usuário. Você também pode bloquear retornando JSON com `"decision": "block"`.

3351 3353 

3352Bloquear a compactação automática tem efeitos diferentes dependendo de quando ela é disparada. Se a compactação foi acionada proativamente antes do limite de contexto, o Claude Code a ignora e a conversa continua sem compactação. Se a compactação foi acionada para se recuperar de um erro de limite de contexto já retornado pela API, o erro subjacente aparece e a requisição atual falha.3354Bloquear a compactação automática tem efeitos diferentes dependendo de quando ela é disparada. Se a compactação foi acionada proativamente antes do limite de contexto, o Claude Code a ignora e a conversa continua sem compactação. Se a compactação foi acionada para se recuperar de um erro de limite de contexto já retornado pela API, o erro subjacente aparece e a requisição atual falha.

3353 3355 

3354O Claude Code descarta os campos `systemMessage` e `continue` de um hook PreCompact.3356O Claude Code descarta os campos `systemMessage` e `continue` de um hook PreCompact.

3355 3357 

3356<h4 id="precompact-input">3358<h4 id="precompact-input">

3357 Entrada do PreCompact3359 Entrada de PreCompact

3358</h4>3360</h4>

3359 3361 

3360Além dos [campos de entrada comuns](#common-input-fields), os hooks PreCompact recebem `trigger` e `custom_instructions`. Para `manual`, `custom_instructions` contém o que o usuário passa para `/compact` e é `null` quando ele não passa nada. Para `auto`, `custom_instructions` é `null`.3362Além dos [campos de entrada comuns](#common-input-fields), os hooks PreCompact recebem `trigger` e `custom_instructions`. Para `manual`, `custom_instructions` contém o que o usuário passa para `/compact` e é `null` quando ele não passa nada. Para `auto`, `custom_instructions` é `null`.


3374 PostCompact3376 PostCompact

3375</h3>3377</h3>

3376 3378 

3377É executado depois que o Claude Code conclui uma operação de compactação. Use este evento para reagir ao novo estado compactado, por exemplo, para registrar em log o resumo gerado ou atualizar um estado externo. O Claude Code descarta os campos `systemMessage` e `continue` de um hook PostCompact.3379É executado após o Claude Code concluir uma operação de compactação. Use este evento para reagir ao novo estado compactado, por exemplo para registrar em log o resumo gerado ou atualizar um estado externo. O Claude Code descarta os campos `systemMessage` e `continue` de um hook PostCompact.

3378 3380 

3379Os mesmos valores de matcher do `PreCompact` se aplicam:3381Os mesmos valores de matcher se aplicam como para `PreCompact`:

3380 3382 

3381| Matcher | Quando é disparado |3383| Matcher | Quando é disparado |

3382| :- | :- |3384| :- | :- |


3384| `auto` | Após a compactação automática quando a conversa atinge a [janela de compactação automática](/docs/pt/model-config#set-the-auto-compact-window) |3386| `auto` | Após a compactação automática quando a conversa atinge a [janela de compactação automática](/docs/pt/model-config#set-the-auto-compact-window) |

3385 3387 

3386<h4 id="postcompact-input">3388<h4 id="postcompact-input">

3387 Entrada do PostCompact3389 Entrada de PostCompact

3388</h4>3390</h4>

3389 3391 

3390Além dos [campos de entrada comuns](#common-input-fields), os hooks PostCompact recebem `trigger` e `compact_summary`. O campo `compact_summary` contém o resumo da conversa gerado pela operação de compactação.3392Além dos [campos de entrada comuns](#common-input-fields), os hooks PostCompact recebem `trigger` e `compact_summary`. O campo `compact_summary` contém o resumo da conversa gerado pela operação de compactação.


3406 PreModelSwitch3408 PreModelSwitch

3407</h3>3409</h3>

3408 3410 

3409É executado antes de o Claude Code aplicar uma troca de modelo que você ou um cliente solicitou. Use-o para bloquear uma troca, exigir confirmação ou mostrar quanto a troca vai custar antes que ela aconteça.3411É executado antes de o Claude Code aplicar uma troca de modelo que você ou um cliente solicitou. Use-o para bloquear uma troca, exigir confirmação ou mostrar quanto a troca custará antes que ela aconteça.

3410 3412 

3411O PreModelSwitch requer o Claude Code v2.1.251 ou posterior. O Claude Code o executa para estas solicitações:3413O PreModelSwitch requer o Claude Code v2.1.251 ou posterior. O Claude Code o executa para estas requisições:

3412 3414 

3413* `/model <name>` e o seletor do `/model`3415* `/model <name>` e o seletor do `/model`

3414* O seletor de modelo `Option+P` ou `Alt+P`3416* O seletor de modelo `Option+P` ou `Alt+P`

3415* A configuração Model em `/config`3417* A configuração Model em `/config`

3416* Ativar o [modo rápido](/docs/pt/fast-mode) quando isso altera o modelo da sessão3418* Ativar o [modo rápido](/docs/pt/fast-mode) quando isso altera o modelo da sessão

3417* Uma requisição `set_model`, ou uma mudança de modelo em uma requisição `apply_flag_settings`, de um host do [Agent SDK](/docs/pt/agent-sdk/typescript#query-object) ou do [Remote Control](/docs/pt/remote-control)3419* Uma requisição `set_model`, ou uma alteração de modelo em uma requisição `apply_flag_settings`, de um host do [Agent SDK](/docs/pt/agent-sdk/typescript#query-object) ou do [Remote Control](/docs/pt/remote-control)

3418 3420 

3419O Claude Code não executa hooks PreModelSwitch para trocas que ele faz por conta própria, como um [fallback automático de modelo](/docs/pt/model-config#automatic-model-fallback) ou a restauração do modelo quando você retoma uma sessão. Essas mudanças chegam apenas ao [PostModelSwitch](#postmodelswitch).3421O Claude Code não executa hooks PreModelSwitch para trocas que ele faz por conta própria, como um [fallback automático de modelo](/docs/pt/model-config#automatic-model-fallback) ou a restauração do modelo quando você retoma uma sessão. Essas alterações chegam apenas ao [PostModelSwitch](#postmodelswitch).

3420 3422 

3421O Claude Code compara o matcher com o nome canônico do modelo para o qual a sessão está trocando, ignorando qualquer sufixo `[1m]`. Um alias como `opus`, um ID de modelo com data e um ID específico de provedor, como um ID de modelo do Amazon Bedrock, correspondem todos ao único nome canônico para o qual são resolvidos, então `claude-opus-5` abrange todas as grafias do Opus 5.3423O Claude Code compara o matcher com o nome canônico do modelo para o qual a sessão está trocando, ignorando qualquer sufixo `[1m]`. Um alias como `opus`, um ID de modelo com data e um ID específico de provedor, como um ID de modelo do Amazon Bedrock, correspondem todos ao único nome canônico para o qual são resolvidos, então `claude-opus-5` cobre todas as grafias do Opus 5.

3422 3424 

3423Quando o Claude Code não consegue determinar um nome canônico para o destino, por exemplo, um ID de modelo personalizado que somente o seu [gateway de LLM](/docs/pt/llm-gateway) conhece, ele executa todos os hooks PreModelSwitch independentemente do matcher. Portanto, um hook que bloqueia deve verificar `to_model` em sua entrada em vez de depender apenas do matcher.3425Quando o Claude Code não consegue determinar um nome canônico para o destino, por exemplo um ID de modelo personalizado que só o seu [gateway de LLM](/docs/pt/llm-gateway) conhece, ele executa todos os hooks PreModelSwitch independentemente do matcher. Um hook que bloqueia deve, portanto, verificar `to_model` na sua entrada em vez de depender apenas do matcher.

3424 3426 

3425Escreva o matcher como um nome exato, uma lista separada por `|` como `claude-opus-4-6|claude-opus-5`, ou uma expressão regular como `.*opus.*`. Este exemplo usa um matcher de nome exato e também verifica `to_model` na entrada do hook, de modo que recusa uma troca para o Opus 4.6 encerrando com o código 2 e permite qualquer outro destino:3427Escreva o matcher como um nome exato, uma lista separada por `|` como `claude-opus-4-6|claude-opus-5`, ou uma expressão regular como `.*opus.*`. Este exemplo usa um matcher de nome exato e também verifica `to_model` na entrada do hook, de modo que recusa uma troca para o Opus 4.6 saindo com o código 2 e deixa passar qualquer outro destino:

3426 3428 

3427<Tabs>3429<Tabs>

3428 <Tab title="macOS/Linux">3430 <Tab title="macOS/Linux">


3448 </Tab>3450 </Tab>

3449 3451 

3450 <Tab title="Windows (PowerShell)">3452 <Tab title="Windows (PowerShell)">

3451 Registre um hook de comando que executa um script pelo PowerShell:3453 Registre um hook de comando que executa um script por meio do PowerShell:

3452 3454 

3453 ```json theme={null}3455 ```json theme={null}

3454 {3456 {


3488 </Tab>3490 </Tab>

3489</Tabs>3491</Tabs>

3490 3492 

3491Para confirmar que o hook funciona, execute `/model claude-opus-4-6` em uma sessão que esteja usando um modelo diferente. O Claude Code mantém o modelo atual e informa que um hook PreModelSwitch bloqueou a troca, com a sua mensagem como motivo.3493Para confirmar que o hook funciona, execute `/model claude-opus-4-6` a partir de uma sessão que esteja usando um modelo diferente. O Claude Code mantém o modelo atual e informa que um hook PreModelSwitch bloqueou a troca, com a sua mensagem como motivo.

3492 3494 

3493<h4 id="premodelswitch-input">3495<h4 id="premodelswitch-input">

3494 Entrada do PreModelSwitch3496 Entrada de PreModelSwitch

3495</h4>3497</h4>

3496 3498 

3497Além dos [campos de entrada comuns](#common-input-fields), os hooks PreModelSwitch recebem os campos desta tabela. Os cinco últimos descrevem quanto custa reenviar a conversa para o novo modelo, para que um hook possa mostrar esse valor antes que a troca aconteça.3499Além dos [campos de entrada comuns](#common-input-fields), os hooks PreModelSwitch recebem os campos desta tabela. Os últimos cinco descrevem quanto custa reenviar a conversa para o novo modelo, para que um hook possa mostrar esse valor antes que a troca aconteça.

3498 3500 

3499| Campo | Tipo | Descrição |3501| Campo | Tipo | Descrição |

3500| :- | :- | :- |3502| :- | :- | :- |

3501| `from_model` | string | ID do modelo de origem da troca |3503| `from_model` | string | ID do modelo do qual a troca parte |

3502| `to_model` | string | ID do modelo de destino da troca. O matcher é comparado com o nome canônico desse modelo |3504| `to_model` | string | ID do modelo para o qual a troca muda. O matcher é comparado com o nome canônico deste modelo |

3503| `requested_model` | string ou `null` | O modelo indicado na solicitação: um alias como `opus`, um ID de modelo completo, ou `null` quando a solicitação foi para o modelo padrão |3505| `requested_model` | string ou `null` | O modelo indicado na requisição: um alias como `opus`, um ID de modelo completo, ou `null` quando a requisição foi para o modelo padrão |

3504| `source` | string | De onde veio a solicitação: `"command"` para `/model <name>`, a configuração Model em `/config` ou a ativação do modo rápido; `"picker"` para um seletor de modelo; `"sdk"` para uma requisição `set_model`, ou uma mudança de modelo em uma requisição `apply_flag_settings`, de um host do Agent SDK ou do Remote Control |3506| `source` | string | De onde veio a requisição: `"command"` para `/model <name>`, a configuração Model em `/config` ou a ativação do modo rápido; `"picker"` para um seletor de modelo; `"sdk"` para uma requisição `set_model`, ou uma alteração de modelo em uma requisição `apply_flag_settings`, de um host do Agent SDK ou do Remote Control |

3505| `context_tokens` | number | Tokens que a próxima requisição reenvia como seu prompt: os tokens de entrada, de leitura de cache, de criação de cache e de saída da última resposta na conversa principal, somados. `0` antes da primeira resposta |3507| `context_tokens` | number | Tokens que a próxima requisição reenvia como seu prompt: os tokens de entrada, de leitura de cache, de criação de cache e de saída da última resposta na conversa principal, somados. `0` antes da primeira resposta |

3506| `prompt_cache_warm` | boolean | Se o cache de prompt do modelo atual provavelmente ainda está aquecido, o que significa que a troca o perde |3508| `prompt_cache_warm` | boolean | Se o cache de prompt do modelo atual provavelmente ainda está aquecido, o que significa que a troca o perde |

3507| `cache_ttl` | string | [Tempo de vida do cache de prompt](/docs/pt/prompt-caching#cache-lifetime) que o Claude Code solicita para esta sessão: `"5m"` ou `"1h"` |3509| `cache_ttl` | string | [Tempo de vida do cache de prompt](/docs/pt/prompt-caching#cache-lifetime) que o Claude Code solicita para esta sessão: `"5m"` ou `"1h"` |

3508| `estimated_cache_write_usd` | number | Custo estimado em dólares americanos de gravar `context_tokens` no cache de prompt em `to_model` à taxa de `cache_ttl`, excluindo a próxima resposta. O servidor pode não precisar refazer o cache de todo o contexto, então trate-o como uma estimativa |3510| `estimated_cache_write_usd` | number | Custo estimado em dólares americanos de gravar `context_tokens` no cache de prompt em `to_model` na tarifa de `cache_ttl`, excluindo a próxima resposta. O servidor pode não precisar armazenar em cache todo o contexto novamente, então trate-o como uma estimativa |

3509| `pricing` | string | Como o Claude Code precificou `estimated_cache_write_usd`: `"configured"` pelas taxas próprias da sua organização quando ela as configurou, `"catalog"` pelo preço de tabela, ou `"default"` quando `to_model` não tem preço conhecido e o Claude Code assumiu uma taxa padrão |3511| `pricing` | string | Como o Claude Code precificou `estimated_cache_write_usd`: `"configured"` nas tarifas próprias da sua organização quando ela as configurou, `"catalog"` no preço de tabela, ou `"default"` quando `to_model` não tem preço conhecido e o Claude Code assumiu uma tarifa padrão |

3510 3512 

3511Este exemplo mostra a entrada para `/model opus` em uma sessão usando o Sonnet 5:3513Este exemplo mostra a entrada para `/model opus` em uma sessão que está usando o Sonnet 5:

3512 3514 

3513```json theme={null}3515```json theme={null}

3514{3516{


3529```3531```

3530 3532 

3531<h4 id="premodelswitch-decision-control">3533<h4 id="premodelswitch-decision-control">

3532 Controle de decisão do PreModelSwitch3534 Controle de decisão de PreModelSwitch

3533</h4>3535</h4>

3534 3536 

3535Os hooks `PreModelSwitch` podem cancelar a troca, pedir ao usuário que a confirme ou deixá-la prosseguir. O código de saída 2 ou um `decision: "block"` no nível superior cancela a troca.3537Os hooks `PreModelSwitch` podem cancelar a troca, pedir ao usuário que a confirme ou deixá-la prosseguir. O código de saída 2 ou um `decision: "block"` de nível superior cancela a troca.

3536 3538 

3537Para um controle mais refinado, retorne `permissionDecision` e `permissionDecisionReason` em um objeto `hookSpecificOutput`, como no [PreToolUse](#pretooluse-decision-control). O `PreModelSwitch` aceita `"allow"`, `"deny"` e `"ask"`. Ele não aceita `"defer"`, `updatedInput` nem `additionalContext`. A tabela abaixo descreve ambos os campos:3539Para um controle mais refinado, retorne `permissionDecision` e `permissionDecisionReason` em um objeto `hookSpecificOutput`, como no [PreToolUse](#pretooluse-decision-control). O `PreModelSwitch` aceita `"allow"`, `"deny"` e `"ask"`. Ele não aceita `"defer"`, `updatedInput` nem `additionalContext`. A tabela abaixo descreve ambos os campos:

3538 3540 

3539| Campo | Descrição |3541| Campo | Descrição |

3540| :- | :- |3542| :- | :- |

3541| `permissionDecision` | `"allow"` prossegue e pula a [confirmação que o Claude Code mostra enquanto o cache de prompt está aquecido](/docs/pt/prompt-caching#switching-models). `"deny"` cancela a troca. `"ask"` pede ao usuário que a confirme |3543| `permissionDecision` | `"allow"` prossegue e pula a [confirmação que o Claude Code mostra enquanto o cache de prompt está aquecido](/docs/pt/prompt-caching#switching-models). `"deny"` cancela a troca. `"ask"` solicita ao usuário que a confirme |

3542| `permissionDecisionReason` | Para `"deny"`, mostrado ao usuário como o motivo pelo qual a troca foi bloqueada, ou retornado como erro para uma requisição `set_model`. Para `"ask"`, mostrado no prompt de confirmação. Ignorado para `"allow"` |3544| `permissionDecisionReason` | Para `"deny"`, mostrado ao usuário como o motivo pelo qual a troca foi bloqueada, ou retornado como o erro de uma requisição `set_model`. Para `"ask"`, mostrado no prompt de confirmação. Ignorado para `"allow"` |

3543 3545 

3544Somente o `/model` em uma sessão interativa pode mostrar o prompt de `"ask"`. Em todas as outras superfícies, incluindo o modo não interativo com a flag `-p`, `/config` e requisições `set_model`, o Claude Code trata `"ask"` como uma recusa.3546Somente o `/model` em uma sessão interativa pode mostrar o prompt de `"ask"`. Em todas as outras superfícies, incluindo o modo não interativo com a flag `-p`, `/config` e requisições `set_model`, o Claude Code trata `"ask"` como uma recusa.

3545 3547 


3557 3559 

3558Quando vários hooks PreModelSwitch retornam decisões diferentes, a precedência é `deny` > `ask` > `allow`.3560Quando vários hooks PreModelSwitch retornam decisões diferentes, a precedência é `deny` > `ask` > `allow`.

3559 3561 

3560O Claude Code mostra ao usuário qualquer `systemMessage` que seu hook retornar, independentemente da decisão, então um hook de relatório de custo pode retornar `{"systemMessage": "..."}` e encerrar com 0.3562O Claude Code mostra ao usuário qualquer `systemMessage` que o seu hook retorne, independentemente da decisão, então um hook de relatório de custo pode retornar `{"systemMessage": "..."}` e sair com 0.

3561 3563 

3562Um hook PreModelSwitch que não responde antes do seu timeout bloqueia a troca. No [PreToolUse](#timeouts), por outro lado, um hook de comando que atingiu o timeout deixa a chamada de ferramenta continuar. O timeout padrão para este evento é de 30 segundos. O `PreModelSwitch` executa apenas hooks `command`, `http` e `mcp_tool`, então os padrões de `prompt` e `agent` não se aplicam.3564Um hook PreModelSwitch que não responde antes do seu timeout bloqueia a troca. No [PreToolUse](#timeouts), por outro lado, um hook de comando que atinge o timeout deixa a chamada de ferramenta continuar. O timeout padrão para este evento é de 30 segundos. O `PreModelSwitch` executa apenas hooks `command`, `http` e `mcp_tool`, então os padrões de `prompt` e `agent` não se aplicam.

3563 3565 

3564Um hook que encerra com um código diferente de 0 ou 2 e não imprime nenhuma decisão JSON não bloqueia: o Claude Code mostra seu stderr e aplica a troca, conforme descrito em [Outros códigos de saída](#other-exit-codes).3566Um hook que sai com um código diferente de 0 ou 2 e não imprime nenhuma decisão JSON não bloqueia: o Claude Code mostra seu stderr e aplica a troca, conforme descrito em [Outros códigos de saída](#other-exit-codes).

3565 3567 

3566<h3 id="postmodelswitch">3568<h3 id="postmodelswitch">

3567 PostModelSwitch3569 PostModelSwitch

3568</h3>3570</h3>

3569 3571 

3570É executado depois que o modelo da sessão muda. Use-o para dar ao Claude orientações específicas do modelo sem editar cada CLAUDE.md, por exemplo, uma instrução para toda a organização que se aplica a determinados modelos.3572É executado após a alteração do modelo da sessão. Use-o para dar ao Claude orientações específicas do modelo sem editar cada CLAUDE.md, por exemplo uma instrução válida para toda a organização que se aplica a determinados modelos.

3571 3573 

3572O PostModelSwitch requer o Claude Code v2.1.251 ou posterior. Ele não pode bloquear, porque o modelo já mudou. O Claude Code executa hooks PostModelSwitch após qualquer uma destas mudanças:3574O PostModelSwitch requer o Claude Code v2.1.251 ou posterior. Ele não pode bloquear, porque o modelo já foi alterado. O Claude Code executa hooks PostModelSwitch após qualquer uma destas alterações:

3573 3575 

3574* Uma troca que você ou um cliente solicitou3576* Uma troca que você ou um cliente solicitou

3575* Um [fallback automático de modelo](/docs/pt/model-config#automatic-model-fallback), que altera o modelo da sessão3577* Um [fallback automático de modelo](/docs/pt/model-config#automatic-model-fallback), que altera o modelo da sessão

3576* Uma configuração como [`opusplan`](/docs/pt/model-config#opusplan-model-setting) entrando ou saindo do modo de planejamento3578* Uma configuração como [`opusplan`](/docs/pt/model-config#opusplan-model-setting) entrando ou saindo do modo de planejamento

3577* O Claude Code restaurando o modelo quando você retoma uma sessão3579* O Claude Code restaurando o modelo quando você retoma uma sessão

3578 3580 

3579O Claude Code não executa hooks PostModelSwitch quando um modelo de uma [cadeia de modelos de fallback](/docs/pt/model-config#fallback-model-chains) atende a um turno, porque essa substituição dura um turno e mantém o modelo da sessão inalterado.3581O Claude Code não executa hooks PostModelSwitch quando um modelo de uma [cadeia de modelos de fallback](/docs/pt/model-config#fallback-model-chains) atende a um turno, porque essa substituição dura um turno e deixa o modelo da sessão inalterado.

3580 3582 

3581O matcher segue as mesmas regras do [PreModelSwitch](#premodelswitch): o Claude Code o compara com o nome canônico do modelo para o qual a sessão trocou.3583O matcher segue as mesmas regras que o [PreModelSwitch](#premodelswitch): o Claude Code o compara com o nome canônico do modelo para o qual a sessão trocou.

3582 3584 

3583Este exemplo adiciona orientações sempre que o modelo da sessão muda para qualquer modelo Opus:3585Este exemplo adiciona orientações sempre que o modelo da sessão muda para qualquer modelo Opus:

3584 3586 


3600}3602}

3601```3603```

3602 3604 

3603Para confirmar que o hook funciona, troque para um modelo Opus a partir de uma sessão que esteja usando um modelo diferente, por exemplo, execute `/model opus` em uma sessão do Sonnet, e depois pergunte ao Claude quais orientações ele tem sobre o modelo atual.3605Para confirmar que o hook funciona, troque para um modelo Opus a partir de uma sessão que esteja usando um modelo diferente, por exemplo execute `/model opus` a partir de uma sessão do Sonnet, e depois pergunte ao Claude que orientações ele tem sobre o modelo atual.

3604 3606 

3605<h4 id="postmodelswitch-input">3607<h4 id="postmodelswitch-input">

3606 Entrada do PostModelSwitch3608 Entrada de PostModelSwitch

3607</h4>3609</h4>

3608 3610 

3609Os hooks PostModelSwitch recebem os mesmos campos do [PreModelSwitch](#premodelswitch-input), com `hook_event_name` definido como `"PostModelSwitch"` e mais dois valores de `source`: `"auto"` para um fallback automático ou outra mudança que o Claude Code fez por conta própria, e `"resume"` para o modelo restaurado quando você retoma uma sessão.3611Os hooks PostModelSwitch recebem os mesmos campos que o [PreModelSwitch](#premodelswitch-input), com `hook_event_name` definido como `"PostModelSwitch"` e mais dois valores de `source`: `"auto"` para um fallback automático ou outra alteração que o Claude Code fez por conta própria, e `"resume"` para o modelo restaurado quando você retoma uma sessão.

3610 3612 

3611`requested_model` é `null` quando `source` é `"auto"`. Quando `source` é `"resume"`, é a configuração de modelo salva que o Claude Code restaurou.3613`requested_model` é `null` quando `source` é `"auto"`. Quando `source` é `"resume"`, ele é a configuração de modelo salva que o Claude Code restaurou.

3612 3614 

3613<h4 id="postmodelswitch-decision-control">3615<h4 id="postmodelswitch-decision-control">

3614 Controle de decisão do PostModelSwitch3616 Controle de decisão de PostModelSwitch

3615</h4>3617</h4>

3616 3618 

3617O Claude Code pega o [stdout em texto simples](#exit-code-0) do seu hook ao encerrar com 0, ou o `additionalContext` da saída JSON, e o entrega ao Claude com a próxima requisição após a troca. Além dos [campos de saída JSON](#json-output) disponíveis para todos os hooks, você pode retornar:3619O Claude Code pega o [stdout em texto simples](#exit-code-0) do seu hook na saída 0, ou o `additionalContext` da saída JSON, e o entrega ao Claude com a próxima requisição após a troca. Além dos [campos de saída JSON](#json-output) disponíveis para todos os hooks, você pode retornar:

3618 3620 

3619| Campo | Descrição |3621| Campo | Descrição |

3620| :- | :- |3622| :- | :- |

3621| `additionalContext` | String adicionada ao contexto do Claude com a próxima requisição. Consulte [Adicionar contexto para o Claude](#add-context-for-claude) |3623| `additionalContext` | String adicionada ao contexto do Claude com a próxima requisição. Consulte [Adicionar contexto para o Claude](#add-context-for-claude) |

3622 3624 

3623Se o hook não tiver terminado dentro de cinco segundos depois que você enviar o próximo prompt, o Claude Code envia essa requisição sem a saída e a anexa à requisição seguinte. Se o modelo mudar várias vezes antes da próxima requisição, o Claude Code entrega apenas a saída referente ao modelo de destino da última troca.3625Se o hook não tiver terminado em até cinco segundos após você enviar o próximo prompt, o Claude Code envia essa requisição sem a saída e a anexa à requisição seguinte. Se o modelo mudar várias vezes antes da próxima requisição, o Claude Code entrega apenas a saída para o modelo de destino da última troca.

3624 3626 

3625<h3 id="sessionend">3627<h3 id="sessionend">

3626 SessionEnd3628 SessionEnd

3627</h3>3629</h3>

3628 3630 

3629É executado quando uma sessão do Claude Code termina. Útil para tarefas de limpeza, registro em log de estatísticas3631É executado quando uma sessão do Claude Code termina. Útil para tarefas de limpeza, registro de estatísticas

3630da sessão ou salvamento do estado da sessão. Suporta matchers para filtrar pelo motivo de saída.3632da sessão ou salvamento do estado da sessão. Suporta matchers para filtrar pelo motivo de saída.

3631 3633 

3632O campo `reason` na entrada do hook indica por que a sessão terminou:3634O campo `reason` na entrada do hook indica por que a sessão terminou:


3641| `bypass_permissions_disabled` | Removido na v2.1.234; o Claude Code não o envia. Remova-o dos seus matchers de `SessionEnd` |3643| `bypass_permissions_disabled` | Removido na v2.1.234; o Claude Code não o envia. Remova-o dos seus matchers de `SessionEnd` |

3642 3644 

3643<h4 id="sessionend-input">3645<h4 id="sessionend-input">

3644 Entrada do SessionEnd3646 Entrada de SessionEnd

3645</h4>3647</h4>

3646 3648 

3647Além dos [campos de entrada comuns](#common-input-fields), os hooks SessionEnd recebem um campo `reason` indicando por que a sessão terminou. Consulte a [tabela de motivos](#sessionend) acima para ver todos os valores.3649Além dos [campos de entrada comuns](#common-input-fields), os hooks SessionEnd recebem um campo `reason` indicando por que a sessão terminou. Consulte a [tabela de motivos](#sessionend) acima para ver todos os valores.


3675 Elicitation3677 Elicitation

3676</h3>3678</h3>

3677 3679 

3678É executado quando um servidor MCP solicita entrada do usuário no meio de uma tarefa. Por padrão, o Claude Code mostra uma caixa de diálogo interativa para o usuário responder. Os hooks podem interceptar essa solicitação e responder programaticamente, pulando totalmente a caixa de diálogo.3680É executado quando um servidor MCP solicita entrada do usuário no meio de uma tarefa. Por padrão, o Claude Code mostra um diálogo interativo para o usuário responder. Os hooks podem interceptar essa solicitação e responder programaticamente, pulando o diálogo completamente.

3681 

3682Para um hook completo com sua entrada de configuração e script, consulte [Responder a uma solicitação de formulário a partir de um script](#answer-a-form-request-from-a-script).

3679 3683 

3680O campo matcher é comparado com o nome do servidor MCP.3684O campo matcher é comparado com o nome do servidor MCP.

3681 3685 

3682<h4 id="elicitation-input">3686<h4 id="elicitation-input">

3683 Entrada do Elicitation3687 Entrada de Elicitation

3684</h4>3688</h4>

3685 3689 

3686Além dos [campos de entrada comuns](#common-input-fields), os hooks Elicitation recebem `mcp_server_name`, `message` e os campos opcionais `mode`, `url`, `elicitation_id` e `requested_schema`.3690Além dos [campos de entrada comuns](#common-input-fields), os hooks Elicitation recebem `mcp_server_name`, `message` e os campos opcionais `mode`, `url`, `elicitation_id` e `requested_schema`.

3687 3691 

3688Para elicitação no modo de formulário, o caso mais comum:3692Para elicitation no modo formulário, o caso mais comum:

3689 3693 

3690```json theme={null}3694```json theme={null}

3691{3695{


3705}3709}

3706```3710```

3707 3711 

3708Para elicitação no modo URL, usada para autenticação baseada em navegador:3712Para elicitation no modo URL, usado para autenticação baseada em navegador:

3709 3713 

3710```json theme={null}3714```json theme={null}

3711{3715{


3721```3725```

3722 3726 

3723<h4 id="elicitation-output">3727<h4 id="elicitation-output">

3724 Saída do Elicitation3728 Saída de Elicitation

3725</h4>3729</h4>

3726 3730 

3727Para responder programaticamente sem mostrar a caixa de diálogo, retorne um objeto JSON com `hookSpecificOutput`:3731Um hook Elicitation pode responder à solicitação pelo usuário, recusá-la ou cancelá-la, ou deixá-la para o diálogo. Para responder, recusar ou cancelar, saia com 0 e imprima um objeto `hookSpecificOutput` com uma `action`. O servidor recebe sua resposta e nenhum diálogo aparece. Cada linha desta tabela mostra o que retornar para um resultado e o que o servidor MCP recebe:

3732 

3733| Para | Retorne | O servidor recebe |

3734| :- | :- | :- |

3735| Responder pelo usuário | `"action": "accept"`, com os valores dos campos do formulário em `content` | `accept` com o seu `content` |

3736| Recusar a solicitação | `"action": "decline"` | `decline` |

3737| Cancelar a solicitação | `"action": "cancel"` | `cancel` |

3738| Deixar a solicitação para o usuário | Nenhuma saída, com código de saída 0 | A resposta do usuário no [diálogo](/docs/pt/mcp#respond-to-mcp-elicitation-requests) |

3739 

3740Esta saída responde à solicitação no modo formulário mostrada em [Entrada de Elicitation](#elicitation-input). As chaves em `content` são os nomes das propriedades do `requested_schema` dessa solicitação:

3728 3741 

3729```json theme={null}3742```json theme={null}

3730{3743{


3738}3751}

3739```3752```

3740 3753 

3741| Campo | Valores | Descrição |3754Esta saída recusa uma solicitação:

3742| :- | :- | :- |3755 

3743| `action` | `accept`, `decline`, `cancel` | Se deve aceitar, recusar ou cancelar a solicitação |3756```json theme={null}

3744| `content` | object | Valores dos campos do formulário a serem enviados. Usado somente quando `action` é `accept` |3757{

3758 "hookSpecificOutput": {

3759 "hookEventName": "Elicitation",

3760 "action": "decline"

3761 }

3762}

3763```

3764 

3765No diálogo, selecionar **Decline** envia `decline` e pressionar `Esc` envia `cancel`, então retorne aquele que você quer que o servidor veja.

3766 

3767Para uma solicitação no modo URL, um hook que retorna `accept` pula o diálogo, então a URL nunca é aberta.

3768 

3769O Claude Code descarta `reason`, `systemMessage` e `continue` da saída JSON de um hook Elicitation, qualquer que seja a `action` que você retorne.

3745 3770 

3746O código de saída 2 nega a elicitação. O Claude Code não mostra sua mensagem de stderr em lugar nenhum.3771<h4 id="other-ways-to-decline-an-elicitation">

3772 Outras maneiras de recusar uma elicitation

3773</h4>

3774 

3775Seu hook também pode recusar destas maneiras. O servidor recebe o mesmo `decline` que para `"action": "decline"`:

3776 

3777* **Sai com o código 2**: o Claude Code ignora um `hookSpecificOutput` impresso pelo mesmo hook

3778* **Imprime um `"decision": "block"` de nível superior**: o bloqueio sobrescreve uma `action` na mesma saída

3779 

3780Quando vários hooks correspondem à mesma solicitação, uma recusa de um deles sobrescreve um `accept` ou `cancel` de outro.

3781 

3782Este script recusa solicitações no modo URL e deixa as solicitações de formulário para o diálogo:

3783 

3784```bash theme={null}

3785#!/bin/bash

3786if [ "$(jq -r '.mode')" = "url" ]; then

3787 exit 2

3788fi

3789```

3790 

3791Nem o usuário nem o servidor veem por que seu hook recusou, porque o Claude Code não mostra seu stderr nem seu `reason`.

3792 

3793O Claude Code ignorou um `decision` de nível superior de hooks `Elicitation` e `ElicitationResult` desde a v2.1.105 até a correção na v2.1.284.

3794 

3795<h4 id="answer-a-form-request-from-a-script">

3796 Responder a uma solicitação de formulário a partir de um script

3797</h4>

3747 3798 

3748O Claude Code age com base no `hookSpecificOutput` da saída JSON de um hook Elicitation e descarta `systemMessage` e `continue`.3799Este exemplo responde a uma pergunta recorrente pelo usuário. Um servidor MCP chamado `issue-tracker` pede uma chave de projeto em um formulário, e o hook preenche `DOCS`. O script aceita quando `project_key` é o único campo do formulário. Para qualquer outra solicitação, ele não imprime nada, então o diálogo aparece.

3800 

3801<Tabs>

3802 <Tab title="macOS/Linux">

3803 Registre um hook de comando para o evento no seu arquivo de configuração, com o nome do servidor como matcher:

3804 

3805 ```json theme={null}

3806 {

3807 "hooks": {

3808 "Elicitation": [

3809 {

3810 "matcher": "issue-tracker",

3811 "hooks": [

3812 {

3813 "type": "command",

3814 "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/answer-project-key.sh",

3815 "args": []

3816 }

3817 ]

3818 }

3819 ]

3820 }

3821 }

3822 ```

3823 

3824 Salve este script em `.claude/hooks/answer-project-key.sh` no seu projeto e torne-o executável com `chmod +x`:

3825 

3826 ```bash theme={null}

3827 #!/bin/bash

3828 input=$(cat)

3829 fields=$(jq -c '.requested_schema.properties // {} | keys' <<<"$input")

3830 

3831 if [ "$fields" = '["project_key"]' ]; then

3832 jq -n '{hookSpecificOutput: {hookEventName: "Elicitation", action: "accept", content: {project_key: "DOCS"}}}'

3833 fi

3834 ```

3835 </Tab>

3836 

3837 <Tab title="Windows (PowerShell)">

3838 Registre um hook de comando que executa o script por meio do PowerShell, com o nome do servidor como matcher:

3839 

3840 ```json theme={null}

3841 {

3842 "hooks": {

3843 "Elicitation": [

3844 {

3845 "matcher": "issue-tracker",

3846 "hooks": [

3847 {

3848 "type": "command",

3849 "command": "powershell.exe",

3850 "args": [

3851 "-NoProfile",

3852 "-ExecutionPolicy",

3853 "Bypass",

3854 "-File",

3855 "${CLAUDE_PROJECT_DIR}/.claude/hooks/answer-project-key.ps1"

3856 ]

3857 }

3858 ]

3859 }

3860 ]

3861 }

3862 }

3863 ```

3864 

3865 Salve este script em `.claude/hooks/answer-project-key.ps1` no seu projeto:

3866 

3867 ```powershell theme={null}

3868 $request = [Console]::In.ReadToEnd() | ConvertFrom-Json

3869 $fields = @($request.requested_schema.properties.PSObject.Properties.Name)

3870 

3871 if ($fields.Count -eq 1 -and $fields[0] -eq 'project_key') {

3872 @{

3873 hookSpecificOutput = @{

3874 hookEventName = "Elicitation"

3875 action = "accept"

3876 content = @{ project_key = "DOCS" }

3877 }

3878 } | ConvertTo-Json -Depth 3

3879 }

3880 ```

3881 </Tab>

3882</Tabs>

3883 

3884Para confirmar que o hook funciona, inicie o Claude Code com `claude --debug` e dê ao Claude uma tarefa que faça o servidor pedir a chave do projeto. Nenhum diálogo aparece, e o [log de depuração](#debug-hooks) tem uma linha que termina com `Elicitation resolved by hook: {"action":"accept","content":{"project_key":"DOCS"}}`.

3749 3885 

3750<h3 id="elicitationresult">3886<h3 id="elicitationresult">

3751 ElicitationResult3887 ElicitationResult

3752</h3>3888</h3>

3753 3889 

3754É executado depois que um usuário responde a uma elicitação MCP. Os hooks podem observar, modificar ou bloquear a resposta antes que ela seja enviada de volta ao servidor MCP.3890É executado depois que um usuário responde a uma elicitation MCP. Os hooks podem observar, modificar ou bloquear a resposta antes que ela seja enviada de volta ao servidor MCP.

3891 

3892Quando um hook [Elicitation](#elicitation) responde a uma solicitação, o Claude Code envia essa resposta ao servidor sem executar hooks ElicitationResult.

3755 3893 

3756O campo matcher é comparado com o nome do servidor MCP.3894O campo matcher é comparado com o nome do servidor MCP.

3757 3895 

3758<h4 id="elicitationresult-input">3896<h4 id="elicitationresult-input">

3759 Entrada do ElicitationResult3897 Entrada de ElicitationResult

3760</h4>3898</h4>

3761 3899 

3762Além dos [campos de entrada comuns](#common-input-fields), os hooks ElicitationResult recebem `mcp_server_name`, `action` e os campos opcionais `mode`, `elicitation_id` e `content`.3900Além dos [campos de entrada comuns](#common-input-fields), os hooks ElicitationResult recebem `mcp_server_name`, `action` e os campos opcionais `mode`, `elicitation_id` e `content`.


3770 "mcp_server_name": "my-mcp-server",3908 "mcp_server_name": "my-mcp-server",

3771 "action": "accept",3909 "action": "accept",

3772 "content": { "username": "alice" },3910 "content": { "username": "alice" },

3773 "mode": "form",3911 "mode": "form"

3774 "elicitation_id": "elicit-123"

3775}3912}

3776```3913```

3777 3914 

3778<h4 id="elicitationresult-output">3915<h4 id="elicitationresult-output">

3779 Saída do ElicitationResult3916 Saída de ElicitationResult

3780</h4>3917</h4>

3781 3918 

3782Para sobrescrever a resposta do usuário, retorne um objeto JSON com `hookSpecificOutput`:3919Um hook ElicitationResult pode deixar a resposta do usuário passar, alterar seus valores ou bloqueá-la. Para alterar ou bloquear a resposta, saia com 0 e imprima um objeto `hookSpecificOutput` com uma `action`. Cada linha desta tabela mostra o que retornar para um resultado e o que o servidor MCP recebe:

3920 

3921| Para | Retorne | O servidor recebe |

3922| :- | :- | :- |

3923| Deixar a resposta passar | Nenhuma saída, com código de saída 0 | A resposta do usuário, inalterada |

3924| Alterar os valores enviados | `"action": "accept"`, com os novos valores em `content` | `accept` com o seu `content` no lugar dos valores do usuário |

3925| Bloquear a resposta | `"action": "decline"` | `decline`, sem os valores do usuário |

3926| Cancelar a solicitação | `"action": "cancel"` | `cancel`, junto com os valores que o usuário enviou. Para retê-los, retorne `"decline"` |

3927 

3928Esta saída altera a resposta mostrada em [Entrada de ElicitationResult](#elicitationresult-input), de modo que o servidor recebe `alice@example.com` onde o usuário enviou `alice`:

3783 3929 

3784```json theme={null}3930```json theme={null}

3785{3931{

3786 "hookSpecificOutput": {3932 "hookSpecificOutput": {

3787 "hookEventName": "ElicitationResult",3933 "hookEventName": "ElicitationResult",

3788 "action": "decline",3934 "action": "accept",

3789 "content": {}3935 "content": {

3936 "username": "alice@example.com"

3937 }

3790 }3938 }

3791}3939}

3792```3940```

3793 3941 

3794| Campo | Valores | Descrição |3942Seu `content` substitui todo o objeto `content` do usuário, então inclua os campos que você não está alterando. Retorne `action` junto com ele, porque o Claude Code ignora um `hookSpecificOutput` que não tenha `action`.

3795| :- | :- | :- |3943 

3796| `action` | `accept`, `decline`, `cancel` | Sobrescreve a ação do usuário |3944Os hooks ElicitationResult também são executados quando o usuário recusa ou cancela, e sua `action` substitui a dele. Verifique se a `action` da entrada é `accept` antes de retornar `accept`, ou seu hook transformará uma solicitação recusada em uma aceita. Este script faz a mesma alteração quando o usuário aceitou, mantém os outros campos e não imprime nada caso contrário:

3797| `content` | object | Sobrescreve os valores dos campos do formulário. Significativo somente quando `action` é `accept` |3945 

3946```bash theme={null}

3947#!/bin/bash

3948input=$(cat)

3798 3949 

3799O código de saída 2 bloqueia a resposta, alterando a ação efetiva para `decline`. O Claude Code não mostra sua mensagem de stderr em lugar nenhum.3950if [ "$(jq -r '.action' <<<"$input")" = "accept" ]; then

3951 jq '{hookSpecificOutput: {hookEventName: "ElicitationResult", action: "accept", content: (.content + {username: (.content.username + "@example.com")})}}' <<<"$input"

3952fi

3953```

3800 3954 

3801O Claude Code age com base no `hookSpecificOutput` da saída JSON de um hook ElicitationResult e descarta `systemMessage` e `continue`.3955Esta saída bloqueia a resposta:

3956 

3957```json theme={null}

3958{

3959 "hookSpecificOutput": {

3960 "hookEventName": "ElicitationResult",

3961 "action": "decline"

3962 }

3963}

3964```

3965 

3966O código de saída 2 e um `"decision": "block"` de nível superior também bloqueiam a resposta. [Outras maneiras de recusar uma elicitation](#other-ways-to-decline-an-elicitation) explica qual deles tem efeito quando um hook os combina, o que o usuário vê e quais versões ignoravam `decision`.

3967 

3968O Claude Code descarta `reason`, `systemMessage` e `continue` da saída JSON de um hook ElicitationResult, qualquer que seja a `action` que você retorne.

3802 3969 

3803<h2 id="prompt-based-hooks">3970<h2 id="prompt-based-hooks">

3804 Hooks baseados em prompt3971 Hooks baseados em prompt


3862 4029 

3863Defina `type` para `"prompt"` e forneça uma string `prompt` em vez de um `command`. Use o placeholder `$ARGUMENTS` para injetar dados de entrada do hook em seu texto de prompt.4030Defina `type` para `"prompt"` e forneça uma string `prompt` em vez de um `command`. Use o placeholder `$ARGUMENTS` para injetar dados de entrada do hook em seu texto de prompt.

3864 4031 

4032Em um hook de prompt ou [de agente](#agent-based-hooks), você pode escrever o `prompt` como uma regra sobre o que bloquear ou permitir, como "Bloquear qualquer comando Bash que leia arquivos `.env`", ou como uma condição que deve ser verdadeira, como "Todos os testes unitários passam".

4033 

3865Este hook `Stop` pede ao LLM para avaliar se todas as tarefas estão completas antes de permitir que Claude termine:4034Este hook `Stop` pede ao LLM para avaliar se todas as tarefas estão completas antes de permitir que Claude termine:

3866 4035 

3867```json theme={null}4036```json theme={null}

keybindings.md +49 −0

Details

68| `EffortSlider` | Controle deslizante de esforço aberto por `/effort` |68| `EffortSlider` | Controle deslizante de esforço aberto por `/effort` |

69| `Select` | Componentes genéricos de seleção/lista |69| `Select` | Componentes genéricos de seleção/lista |

70| `Plugin` | Diálogo de plugin (procurar, descobrir, gerenciar) |70| `Plugin` | Diálogo de plugin (procurar, descobrir, gerenciar) |

71| `AbovePrompt` | A [faixa acima do prompt](#above-prompt-actions), ou um botão nela, tem o foco do teclado |

72| `AbovePromptInput` | Um campo de entrada na faixa acima do prompt ou no painel de um mod tem o foco do teclado |

73| `AbovePromptSelect` | Uma seleção na faixa acima do prompt ou no painel de um mod tem o foco do teclado |

71| `Pane` | Um painel desenhado por um [mod](/docs/pt/plugins/mods/interface#know-which-keys-your-mod-can-receive) tem o foco do teclado |74| `Pane` | Um painel desenhado por um [mod](/docs/pt/plugins/mods/interface#know-which-keys-your-mod-can-receive) tem o foco do teclado |

72| `PaneField` | Um campo de entrada ou seleção no painel de um mod tem o foco do teclado |75| `PaneField` | Um campo de entrada ou seleção no painel de um mod tem o foco do teclado |

73| `Agents` | [Visualização de agente](/docs/pt/agent-view) (`claude agents`) |76| `Agents` | [Visualização de agente](/docs/pt/agent-view) (`claude agents`) |


442| `plugin:install` | I | Instalar plugins selecionados |445| `plugin:install` | I | Instalar plugins selecionados |

443| `plugin:favorite` | F | Marcar o plugin selecionado como favorito para que seja classificado perto do topo da aba Instalado |446| `plugin:favorite` | F | Marcar o plugin selecionado como favorito para que seja classificado perto do topo da aba Instalado |

444 447 

448<h3 id="above-prompt-actions">

449 Ações acima do prompt

450</h3>

451 

452Ações para a faixa acima do prompt, a área compartilhada onde [mods](/docs/pt/plugins/mods/interface#pick-where-to-draw) desenham botões, campos de entrada e seletores. `abovePrompt:toggle` e `abovePrompt:focus` se aplicam no contexto `Chat`. As outras ações se aplicam no [contexto](#contexts) do que quer que tenha o foco do teclado na faixa ou em um painel.

453 

454| Ação | Padrão | Descrição |

455| :- | :- | :- |

456| `abovePrompt:toggle` | Ctrl+X Ctrl+A | Recolher a faixa para uma dica de uma linha, ou expandi-la novamente |

457| `abovePrompt:focus` | Ctrl+X Tab | Mover o foco do teclado para a faixa, depois para cada [painel](#pane-actions) aberto, e do último painel de volta para o prompt |

458| `abovePrompt:next` | Tab | Focar o próximo controle |

459| `abovePrompt:previous` | Shift+Tab | Focar o controle anterior |

460| `abovePrompt:press` | Enter | Pressionar o botão focado, enviar o campo de entrada focado ou escolher a opção destacada em um seletor |

461| `abovePrompt:leave` | Escape | Retornar o foco do teclado para o prompt |

462| `abovePrompt:highlightNext` | Down | Destacar a próxima opção em um seletor focado |

463| `abovePrompt:highlightPrevious` | Up | Destacar a opção anterior em um seletor focado |

464 

465Dois contextos vinculam mais teclas a essas ações por padrão:

466 

467* **`AbovePrompt`**: Right e Left também executam `abovePrompt:next` e `abovePrompt:previous`, e Space também executa `abovePrompt:press`

468* **`AbovePromptInput`**: Down e Up também executam `abovePrompt:next` e `abovePrompt:previous`

469 

470O contexto `AbovePrompt` também vincula Up, Down, PageUp, PageDown, Home e End às [ações de rolagem de painel](#pane-actions) de `pane:scrollUp` a `pane:bottom`, portanto, para alterar uma dessas teclas para a faixa, vincule a ação de rolagem em um bloco `AbovePrompt`.

471 

472<h3 id="pane-actions">

473 Ações de painel

474</h3>

475 

476Ações para um painel desenhado por um [mod](/docs/pt/plugins/mods/interface#know-which-keys-your-mod-can-receive). As ações de rolagem, redimensionamento e fechamento se aplicam no [contexto](#contexts) `Pane`. `pane:close` também se aplica no contexto `PaneField`, portanto funciona enquanto um dos campos do painel tem foco. `pane:next` e `pane:previous` se aplicam no contexto `Global` enquanto mais de um painel está aberto.

477 

478| Ação | Padrão | Descrição |

479| :- | :- | :- |

480| `pane:scrollUp` | Up | Rolar o painel para cima quando ele tem mais linhas do que consegue mostrar |

481| `pane:scrollDown` | Down | Rolar o painel para baixo quando ele tem mais linhas do que consegue mostrar |

482| `pane:pageUp` | PageUp | Rolar o painel para cima uma página |

483| `pane:pageDown` | PageDown | Rolar o painel para baixo uma página |

484| `pane:top` | Home | Pular para o topo do painel |

485| `pane:bottom` | End | Pular para o final do painel |

486| `pane:grow` | Ctrl+X Left, Ctrl+X Up | Dar mais espaço ao painel: largura quando ele fica ao lado da transcrição, altura quando ele fica acima do prompt |

487| `pane:shrink` | Ctrl+X Right, Ctrl+X Down | Dar menos espaço ao painel: largura quando ele fica ao lado da transcrição, altura quando ele fica acima do prompt |

488| `pane:close` | Ctrl+X X | Fechar o painel |

489| `pane:next` | (desvinculado) | Mostrar o próximo painel aberto |

490| `pane:previous` | (desvinculado) | Mostrar o painel aberto anterior |

491 

492O contexto `Pane` também vincula Tab, Shift+Tab, Enter e Escape às mesmas [ações acima do prompt](#above-prompt-actions) que a faixa, e os campos de entrada e seletores de um painel usam os contextos `AbovePromptInput` e `AbovePromptSelect`. [Foco do teclado e teclas de atalho](/docs/pt/plugins/mods/interface#know-which-keys-your-mod-can-receive) lista o que cada tecla faz em um painel.

493 

445<h3 id="settings-actions">494<h3 id="settings-actions">

446 Ações de configurações495 Ações de configurações

447</h3>496</h3>

Details

67 67 

68Sessões que passam por um gateway não são elegíveis para a configuração HIPAA. [Verifique como os desenvolvedores fazem login e se conectam](/docs/pt/hipaa-setup#check-how-developers-sign-in-and-connect) lista quais métodos de login e de conexão são elegíveis. Consulte [A configuração HIPAA por trás de um gateway](/docs/pt/llm-gateway-rollout#the-hipaa-configuration-behind-a-gateway).68Sessões que passam por um gateway não são elegíveis para a configuração HIPAA. [Verifique como os desenvolvedores fazem login e se conectam](/docs/pt/hipaa-setup#check-how-developers-sign-in-and-connect) lista quais métodos de login e de conexão são elegíveis. Consulte [A configuração HIPAA por trás de um gateway](/docs/pt/llm-gateway-rollout#the-hipaa-configuration-behind-a-gateway).

69 69 

70A verificação de disponibilidade do [fast mode](/docs/pt/fast-mode) nunca aparece nos logs do gateway: ela chama `api.anthropic.com` diretamente em vez de seguir `ANTHROPIC_BASE_URL`, então em uma rede que bloqueia egresso direto para `api.anthropic.com`, o fast mode pode relatar um erro de conectividade enquanto a inferência através do gateway continua funcionando. A [verificação de segurança de domínio WebFetch](/docs/pt/data-usage#webfetch-domain-safety-check) também chama `api.anthropic.com` diretamente. [Use fast mode behind proxies and LLM gateways](/docs/pt/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) cobre as variáveis que o restauram.70A verificação de disponibilidade do [modo rápido](/docs/pt/fast-mode) nunca aparece nos logs do gateway: ela chama `api.anthropic.com` diretamente em vez de seguir `ANTHROPIC_BASE_URL`, então em uma rede que bloqueia egresso direto para `api.anthropic.com`, o modo rápido pode relatar um erro de conectividade enquanto a inferência através do gateway continua funcionando. A [verificação de segurança de domínio WebFetch](/docs/pt/data-usage#webfetch-domain-safety-check) também chama `api.anthropic.com` diretamente. [Usar modo rápido atrás de proxies e gateways LLM](/docs/pt/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) cobre as variáveis que o restauram.

71 71 

72<h3 id="streaming">72<h3 id="streaming">

73 Streaming73 Streaming


76Claude Code lê cada resposta de inferência em streaming evento por evento conforme ela chega, então a forma como seu gateway retransmite o stream afeta o que o usuário vê:76Claude Code lê cada resposta de inferência em streaming evento por evento conforme ela chega, então a forma como seu gateway retransmite o stream afeta o que o usuário vê:

77 77 

78* Se seu gateway armazena uma resposta em buffer até que ela esteja completa, Claude Code trava.78* Se seu gateway armazena uma resposta em buffer até que ela esteja completa, Claude Code trava.

79* Claude Code espera a sequência completa de eventos de cada resposta, em ordem, até os eventos finais `message_delta` e `message_stop`. Se o corpo termina de forma limpa depois que um bloco de conteúdo começou, mas antes desse `message_delta` final, Claude Code trata a resposta como uma conexão descartada. [A resposta acima pode estar incompleta](/docs/pt/errors#the-response-above-may-be-incomplete) descreve o que o usuário vê nesse caso, e [Automatic retries](/docs/pt/errors#automatic-retries) diz quando Claude Code reemite a requisição em vez disso.79* Claude Code espera a sequência completa de eventos de cada resposta, em ordem, até os eventos finais `message_delta` e `message_stop`. Se o corpo termina de forma limpa depois que um bloco de conteúdo começou, mas antes desse `message_delta` final, Claude Code trata a resposta como uma conexão descartada. [A resposta acima pode estar incompleta](/docs/pt/errors#the-response-above-may-be-incomplete) descreve o que o usuário vê nesse caso, e [Tentativas automáticas](/docs/pt/errors#automatic-retries) diz quando Claude Code reemite a requisição em vez disso.

80* Quando um guardrail do Amazon Bedrock bloqueia uma resposta, os eventos que o Bedrock envia podem referenciar um bloco de conteúdo cujo `content_block_stop` já chegou, e Claude Code depende de recebê-los da forma como foram enviados. [AWS Guardrails](/docs/pt/amazon-bedrock#aws-guardrails) descreve como essa resposta termina.80* Quando um guardrail do Amazon Bedrock bloqueia uma resposta, os eventos que o Bedrock envia podem referenciar um bloco de conteúdo cujo `content_block_stop` já chegou, e Claude Code depende de recebê-los da forma como foram enviados. [AWS Guardrails](/docs/pt/amazon-bedrock#aws-guardrails) descreve como essa resposta termina.

81* Claude Code aborta uma resposta em streaming quando nenhum byte o alcança por mais tempo do que seu [timeout de inatividade de streaming](/docs/pt/network-config#streaming-idle-watchdogs). Durante uma pausa longa de pensamento, os eventos SSE `ping` do upstream podem ser os únicos bytes no stream, então um gateway que os remove ou armazena em buffer pode acionar esse timeout no meio de uma resposta. Um gateway que traduz de um upstream sem pings, como o event stream binário do Amazon Bedrock, tem a mesma lacuna, a menos que emita seus próprios eventos `ping`.81* Claude Code aborta uma resposta em streaming quando nenhum byte o alcança por mais tempo do que seu [timeout de inatividade de streaming](/docs/pt/network-config#streaming-idle-watchdogs). Durante uma pausa longa de pensamento, os eventos SSE `ping` do upstream podem ser os únicos bytes no stream, então um gateway que os remove ou armazena em buffer pode acionar esse timeout no meio de uma resposta. Um gateway que traduz de um upstream sem pings, como o event stream binário do Amazon Bedrock, tem a mesma lacuna, a menos que emita seus próprios eventos `ping`.

82* No [formato Amazon Bedrock InvokeModel](#api-formats), Claude Code lê a resposta de `/model/{model}/invoke-with-response-stream` como o corpo binário `application/vnd.amazon.eventstream` que o Bedrock retorna, e não consegue analisá-la quando um gateway a converte para server-sent events ou reescreve esse header `Content-Type`. [Streaming errors behind a gateway or proxy](/docs/pt/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy) descreve o que o usuário vê nesse caso.82* No [formato Amazon Bedrock InvokeModel](#api-formats), Claude Code lê a resposta de `/model/{model}/invoke-with-response-stream` como o corpo binário `application/vnd.amazon.eventstream` que o Bedrock retorna, e não consegue analisá-la quando um gateway a converte para server-sent events ou reescreve esse header `Content-Type`. [Erros de streaming atrás de um gateway ou proxy](/docs/pt/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy) descreve o que o usuário vê nesse caso.

83 83 

84<h3 id="format-mismatch-with-the-upstream">84<h3 id="format-mismatch-with-the-upstream">

85 Incompatibilidade de formato com o upstream85 Incompatibilidade de formato com o upstream


90* Quando o cliente fala o formato Amazon Bedrock ou Google Cloud's Agent Platform, Claude Code envia apenas o subconjunto de seu conjunto completo de capacidades que esses provedores aceitam90* Quando o cliente fala o formato Amazon Bedrock ou Google Cloud's Agent Platform, Claude Code envia apenas o subconjunto de seu conjunto completo de capacidades que esses provedores aceitam

91* Quando o cliente fala o formato Anthropic Messages, Claude Code envia o conjunto completo, mesmo que seu gateway encaminhe para um upstream Amazon Bedrock ou Google Cloud's Agent Platform91* Quando o cliente fala o formato Anthropic Messages, Claude Code envia o conjunto completo, mesmo que seu gateway encaminhe para um upstream Amazon Bedrock ou Google Cloud's Agent Platform

92 92 

93Fazer a ponte dessa diferença é trabalho do seu gateway. [Feature pass-through](#feature-pass-through) descreve o que quebra quando não faz.93Fazer a ponte dessa diferença é trabalho do seu gateway. [Passagem de recursos](#feature-pass-through) descreve o que quebra quando não faz.

94 94 

95Se seu upstream é Amazon Bedrock ou Google Cloud's Agent Platform, você pode evitar a ponte expondo o formato desse provedor em vez disso. [Route to a cloud provider through a gateway](/docs/pt/llm-gateway-connect#route-to-a-cloud-provider-through-a-gateway) mostra a configuração do cliente para esse formato.95Se seu upstream é Amazon Bedrock ou Google Cloud's Agent Platform, você pode evitar a ponte expondo o formato desse provedor em vez disso. [Rotear para um provedor em nuvem através de um gateway](/docs/pt/llm-gateway-connect#route-to-a-cloud-provider-through-a-gateway) mostra a configuração do cliente para esse formato.

96 96 

97<h2 id="how-the-connection-method-changes-client-behavior">97<h2 id="how-the-connection-method-changes-client-behavior">

98 Como o método de conexão altera o comportamento do cliente98 Como o método de conexão altera o comportamento do cliente


113| Comportamento | Formato Amazon Bedrock ou Agent Platform | Formato Anthropic Messages | Entrada do gateway de aplicativos Claude |113| Comportamento | Formato Amazon Bedrock ou Agent Platform | Formato Anthropic Messages | Entrada do gateway de aplicativos Claude |

114| :- | :- | :- | :- |114| :- | :- | :- | :- |

115| IDs de modelo em solicitações por padrão | A forma do provedor, como `us.anthropic.claude-opus-4-8` no Amazon Bedrock | IDs Anthropic, como `claude-opus-4-8` | IDs Anthropic |115| IDs de modelo em solicitações por padrão | A forma do provedor, como `us.anthropic.claude-opus-4-8` no Amazon Bedrock | IDs Anthropic, como `claude-opus-4-8` | IDs Anthropic |

116| Valores de `anthropic-beta` enviados | O subconjunto que Amazon Bedrock e Agent Platform aceitam | O conjunto completo descrito em [feature pass-through](#feature-pass-through), a menos que o desenvolvedor defina [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](#disable-pre-release-capabilities) | O subconjunto que Amazon Bedrock e Agent Platform aceitam |116| Valores de `anthropic-beta` enviados | O subconjunto que Amazon Bedrock e Agent Platform aceitam | O conjunto completo descrito em [passagem de recursos](#feature-pass-through), a menos que o desenvolvedor defina [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](#disable-pre-release-capabilities) | O subconjunto que Amazon Bedrock e Agent Platform aceitam |

117| Campos de solicitação para um ID de modelo que Claude Code não reconhece, como um alias de gateway | Pensamento com um orçamento fixo em vez de raciocínio adaptativo, e nenhum campo de esforço ou gerenciamento de contexto | Tudo que os modelos Claude atuais aceitam na API Claude, incluindo raciocínio adaptativo, esforço e gerenciamento de contexto, que um upstream Amazon Bedrock ou Agent Platform pode rejeitar | Mesmo que o formato Amazon Bedrock ou Agent Platform |117| Campos de solicitação para um ID de modelo que Claude Code não reconhece, como um alias de gateway | Pensamento com um orçamento fixo em vez de raciocínio adaptativo, e nenhum campo de esforço ou gerenciamento de contexto | Tudo que os modelos Claude atuais aceitam na API Claude, incluindo raciocínio adaptativo, esforço e gerenciamento de contexto, que um upstream Amazon Bedrock ou Agent Platform pode rejeitar | Mesmo que o formato Amazon Bedrock ou Agent Platform |

118| [TTL de cache de prompt](/docs/pt/prompt-caching#choose-the-ttl-yourself) de uma hora quando um desenvolvedor opta por participar | Solicitado através do campo `ttl` em `cache_control`, sem valor beta | Solicitado através do campo `ttl` mais um valor `extended-cache-ttl` em `anthropic-beta`, que você deve encaminhar | Consulte a tabela [disponibilidade e limitações](/docs/pt/claude-apps-gateway#availability-and-limitations) do gateway de aplicativos Claude |118| [TTL de cache de prompt](/docs/pt/prompt-caching#choose-the-ttl-yourself) de uma hora quando um desenvolvedor opta por participar | Solicitado através do campo `ttl` em `cache_control`, sem valor beta | Solicitado através do campo `ttl` mais um valor `extended-cache-ttl` em `anthropic-beta`, que você deve encaminhar | Consulte a tabela [disponibilidade e limitações](/docs/pt/claude-apps-gateway#availability-and-limitations) do gateway de aplicativos Claude |

119| Modelo para [tarefas em segundo plano](/docs/pt/costs#background-token-usage) a menos que `ANTHROPIC_DEFAULT_HAIKU_MODEL` fixe um | O modelo Sonnet padrão, ou o modelo principal uma vez que um seja selecionado, conforme as páginas [Amazon Bedrock](/docs/pt/amazon-bedrock#4-pin-model-versions) e [Agent Platform](/docs/pt/google-vertex-ai#5-pin-model-versions) descrevem | O modelo principal, ou o modelo Haiku padrão quando `ANTHROPIC_API_KEY` ou `apiKeyHelper` fornece uma chave do Console Anthropic e `ANTHROPIC_AUTH_TOKEN` não está definido | O modelo principal |119| Modelo para [tarefas em segundo plano](/docs/pt/costs#background-token-usage) a menos que `ANTHROPIC_DEFAULT_HAIKU_MODEL` fixe um | O modelo Sonnet padrão, ou o modelo principal uma vez que um seja selecionado, conforme as páginas [Amazon Bedrock](/docs/pt/amazon-bedrock#4-pin-model-versions) e [Agent Platform](/docs/pt/google-vertex-ai#5-pin-model-versions) descrevem | O modelo principal, ou o modelo Haiku padrão quando `ANTHROPIC_API_KEY` ou `apiKeyHelper` fornece uma chave do Console Anthropic e `ANTHROPIC_AUTH_TOKEN` não está definido | O modelo principal |


127Duas configurações do lado do cliente alteram o que Claude Code assume para um ID de modelo que não reconhece, independentemente do método de conexão que o desenvolvedor usa:127Duas configurações do lado do cliente alteram o que Claude Code assume para um ID de modelo que não reconhece, independentemente do método de conexão que o desenvolvedor usa:

128 128 

129* **Janela de contexto**: Claude Code assume 200K, ou 1M quando o ID carrega `[1m]`. Para declarar a janela real, 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)129* **Janela de contexto**: Claude Code assume 200K, ou 1M quando o ID carrega `[1m]`. Para declarar a janela real, 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)

130* **Capacidades**: para dar a um alias de gateway as capacidades do modelo por trás dele, mapeie o ID Anthropic desse modelo para seu alias com uma entrada [`modelOverrides`](/docs/pt/errors#unrecognized-model-id-on-a-request) nas configurações que você distribui. Para onde as variáveis `ANTHROPIC_DEFAULT_*_MODEL_SUPPORTED_CAPABILITIES` se aplicam, consulte [feature pass-through](#feature-pass-through)130* **Capacidades**: para dar a um alias de gateway as capacidades do modelo por trás dele, mapeie o ID Anthropic desse modelo para seu alias com uma entrada [`modelOverrides`](/docs/pt/errors#unrecognized-model-id-on-a-request) nas configurações que você distribui. Para onde as variáveis `ANTHROPIC_DEFAULT_*_MODEL_SUPPORTED_CAPABILITIES` se aplicam, consulte [passagem de recursos](#feature-pass-through)

131 131 

132<h2 id="request-headers">132<h2 id="request-headers">

133 Headers de solicitação133 Headers de solicitação


200 200 

201| Cabeçalho | O que retornar e por quê |201| Cabeçalho | O que retornar e por quê |

202| :- | :- |202| :- | :- |

203| `content-type` | Retorne `text/event-stream` em respostas de formato Anthropic Messages transmitidas, e `application/vnd.amazon.eventstream`, sem modificações, em respostas de formato Amazon Bedrock, onde [um tipo diferente falha na solicitação](/docs/pt/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy). [Streaming](#streaming) lista quais conexões executam detecção de travamento nesses fluxos |203| `content-type` | Retorne `text/event-stream` em respostas de formato Anthropic Messages transmitidas, e `application/vnd.amazon.eventstream`, sem modificações, em respostas de formato Amazon Bedrock, onde [um tipo diferente faz a requisição falhar](/docs/pt/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy) |

204| `retry-after` | Retorne segundos inteiros em vez de uma data HTTP. Claude Code aguarda pelo menos esse tempo antes da próxima [tentativa automática](/docs/pt/errors#automatic-retries), e fora de sessões [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/pt/env-vars) um valor acima de 60 interrompe as tentativas e mostra o erro imediatamente |204| `retry-after` | Retorne segundos inteiros em vez de uma data HTTP. Claude Code aguarda pelo menos esse tempo antes da próxima [tentativa automática](/docs/pt/errors#automatic-retries), e fora de sessões [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/pt/env-vars) um valor acima de 60 interrompe as tentativas e mostra o erro imediatamente |

205| `x-should-retry` | Passe o valor do upstream inalterado. Claude Code lê este cabeçalho como uma entrada ao decidir se deve tentar novamente uma solicitação com falha: `true` marca a resposta como retentável e `false` marca como não retentável. Para contagens de tentativas, backoff e quais falhas Claude Code tenta novamente, consulte [tentativas automáticas](/docs/pt/errors#automatic-retries) |205| `x-should-retry` | Passe o valor do upstream inalterado. Claude Code lê este cabeçalho como uma entrada ao decidir se deve tentar novamente uma solicitação com falha: `true` marca a resposta como retentável e `false` marca como não retentável. Para contagens de tentativas, backoff e quais falhas Claude Code tenta novamente, consulte [tentativas automáticas](/docs/pt/errors#automatic-retries) |

206| `anthropic-ratelimit-unified-*` | Encaminhe os valores do upstream inalterados em cada resposta. Claude Code os lê em respostas bem-sucedidas para mostrar o uso em relação aos limites do plano para desenvolvedores conectados com claude.ai, e em um `429` para distinguir um limite de plano ou limite de gastos de um acelerador temporário; consulte [limites de uso](/docs/pt/errors#usage-limits) |206| `anthropic-ratelimit-unified-*` | Encaminhe os valores do upstream inalterados em cada resposta. Claude Code os lê em respostas bem-sucedidas para mostrar o uso em relação aos limites do plano para desenvolvedores conectados com claude.ai, e em um `429` para distinguir um limite de plano ou limite de gastos de um acelerador temporário; consulte [limites de uso](/docs/pt/errors#usage-limits) |

Details

154 154 

155Claude Code verifica as fontes nesta ordem, prioridade mais alta primeiro:155Claude Code verifica as fontes nesta ordem, prioridade mais alta primeiro:

156 156 

1571. Configurações remotas, entregues de claude.ai como [configurações gerenciadas pelo servidor](/docs/pt/server-managed-settings) ou por um [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway). Claude Code busca esta fonte apenas quando a sessão se autentica na API da Anthropic diretamente com um [login ou chave elegível](/docs/pt/server-managed-settings#platform-availability), ou faz login em um gateway com `/login`. Em outros provedores, ou quando `ANTHROPIC_BASE_URL` aponta para algum lugar diferente da API da Anthropic, começa na próxima fonte1571. Configurações remotas, entregues de claude.ai como [configurações gerenciadas pelo servidor](/docs/pt/server-managed-settings) ou por um [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway). Claude Code busca esta fonte apenas quando a sessão se autentica na API da Anthropic diretamente com uma [credencial elegível](/docs/pt/server-managed-settings#platform-availability), ou faz login em um gateway com `/login`. Em outros provedores, ou quando `ANTHROPIC_BASE_URL` aponta para algum lugar diferente da API da Anthropic, começa na próxima fonte

1582. Políticas MDM ou de nível do SO: a plist do macOS ou a chave de registro HKLM1582. Políticas MDM ou de nível do SO: a plist do macOS ou a chave de registro HKLM

1593. Arquivos de configurações gerenciadas, `managed-settings.d/*.json` e `managed-settings.json` mesclados juntos1593. Arquivos de configurações gerenciadas, `managed-settings.d/*.json` e `managed-settings.json` mesclados juntos

1604. O registro HKCU, no Windows, e no WSL uma vez que o registro HKLM ou o arquivo de configurações gerenciadas do Windows ativa [`wslInheritsWindowsSettings`](/docs/pt/settings-reference#wslinheritswindowssettings) e o valor HKCU também o define. Claude Code o lê apenas quando [nenhum documento de administrador está presente acima dele](#present-admin-documents) e nenhuma [configuração pai fornecida pelo host](#let-an-embedding-host-add-policy) fornece uma chave restritiva1604. O registro HKCU, no Windows, e no WSL uma vez que o registro HKLM ou o arquivo de configurações gerenciadas do Windows ativa [`wslInheritsWindowsSettings`](/docs/pt/settings-reference#wslinheritswindowssettings) e o valor HKCU também o define. Claude Code o lê apenas quando [nenhum documento de administrador está presente acima dele](#present-admin-documents) e nenhuma [configuração pai fornecida pelo host](#let-an-embedding-host-add-policy) fornece uma chave restritiva


218 218 

219Sob `"merge"`, Claude Code adiciona entradas de lista de uma fonte mais baixa, como regras `permissions.allow` e hooks, à política, então ative-o apenas quando cada fonte classificada abaixo da sua mais alta estiver sob controle de um administrador.219Sob `"merge"`, Claude Code adiciona entradas de lista de uma fonte mais baixa, como regras `permissions.allow` e hooks, à política, então ative-o apenas quando cada fonte classificada abaixo da sua mais alta estiver sob controle de um administrador.

220 220 

221Esta tabela mostra como Claude Code combina cada tipo de chave sob `"merge"`. A entrada [`managedSourcesBehavior`](/docs/pt/settings-reference#managedsourcesbehavior) nomeia cada chave em três das linhas: allowlists de restrição, valores tomados inteiros, e chaves lidas apenas da fonte com classificação mais alta.221Esta tabela mostra como Claude Code combina cada tipo de chave sob `"merge"`. A [entrada `managedSourcesBehavior`](/docs/pt/settings-reference#managedsourcesbehavior) nomeia cada chave em três das linhas: allowlists de restrição, valores tomados inteiros, e chaves lidas apenas da fonte com classificação mais alta.

222 222 

223| Tipo de chave | Como Claude Code a combina | Exemplos |223| Tipo de chave | Como Claude Code a combina | Exemplos |

224| :- | :- | :- |224| :- | :- | :- |


278 Mantenha o acesso à pasta Cowork quando apenas regras gerenciadas se aplicam278 Mantenha o acesso à pasta Cowork quando apenas regras gerenciadas se aplicam

279</h4>279</h4>

280 280 

281[Cowork](https://claude.com/docs/cowork/overview) no aplicativo Claude Desktop executa suas sessões no Claude Code e concede a cada sessão acesso às suas pastas de trabalho, como a pasta que o usuário conecta, através de regras de permissão que fornece quando inicia a sessão. Quando sua política gerenciada define [`allowManagedPermissionRulesOnly`](/docs/pt/settings-reference#allowmanagedpermissionrulesonly), Claude Code mantém apenas as regras de permissão na política gerenciada: descarta regras de permissão que um host fornece como configurações pai, como `--allowedTools`, ou em um arquivo de configurações, então gravações nessas pastas perdem sua pré-aprovação. Em uma sessão Cowork que pede antes de edições, Cowork não consegue mostrar o prompt, e Claude relata cada gravação como bloqueada porque o caminho se resolve para um local protegido ou um caminho fora da pasta conectada.281[Cowork](https://claude.com/docs/cowork/overview) no aplicativo Claude Desktop executa suas sessões no Claude Code e concede a cada sessão acesso às suas pastas de trabalho, como a pasta que o usuário conecta, através de regras allow que fornece quando inicia a sessão. Quando sua política gerenciada define [`allowManagedPermissionRulesOnly`](/docs/pt/settings-reference#allowmanagedpermissionrulesonly), Claude Code mantém apenas as regras allow na política gerenciada: descarta regras allow que um host fornece como configurações pai, como `--allowedTools`, ou em um arquivo de configurações, então gravações nessas pastas perdem sua pré-aprovação. Em uma sessão Cowork que pede antes de edições, Cowork não consegue mostrar o prompt, e Claude relata cada gravação como bloqueada porque o caminho se resolve para um local protegido ou um caminho fora da pasta conectada.

282 282 

283Para restaurar as gravações, adicione regras de permissão para essas pastas à fonte gerenciada que Claude Code [seleciona](#precedence-within-the-managed-tier) nessas máquinas: em uma frota gerenciada por MDM, essa é a política MDM em vez de um arquivo de configurações gerenciadas separado. Este exemplo usa a forma de arquivo, e uma política MDM toma as mesmas chaves. Mantém `allowManagedPermissionRulesOnly` definido e permite edições sob uma pasta `CoworkProjects` no diretório pessoal de cada usuário; substitua o caminho pelas pastas que seus usuários conectam:283Para restaurar as gravações, adicione regras allow para essas pastas à fonte gerenciada que Claude Code [seleciona](#precedence-within-the-managed-tier) nessas máquinas: em uma frota gerenciada por MDM, essa é a política MDM em vez de um arquivo de configurações gerenciadas separado. Este exemplo usa a forma de arquivo, e uma política MDM toma as mesmas chaves. Mantém `allowManagedPermissionRulesOnly` definido e permite edições sob uma pasta `CoworkProjects` no diretório pessoal de cada usuário; substitua o caminho pelas pastas que seus usuários conectam:

284 284 

285```json managed-settings.json theme={null}285```json managed-settings.json theme={null}

286{286{

mcp.md +43 −21

Details

142```142```

143 143 

144<Note>144<Note>

145 **Importante: Separe argumentos do servidor com `--`**

146 

147 Para servidores stdio, o `--` (duplo travessão) separa as próprias opções do Claude, como `--transport`, `--env`, e `--scope`, do comando e argumentos que executam o servidor. Tudo após `--` é passado para o servidor intocado.145 Para servidores stdio, o `--` (duplo travessão) separa as próprias opções do Claude, como `--transport`, `--env`, e `--scope`, do comando e argumentos que executam o servidor. Tudo após `--` é passado para o servidor intocado.

148 146 

149 Por exemplo:147 Por exemplo:


275* `✘ Rejected (see disabledMcpjsonServers in settings)`: um servidor `.mcp.json` que uma entrada [`disabledMcpjsonServers`](/docs/pt/settings-reference#disabledmcpjsonservers) rejeita. Claude Code o mostra apenas em `claude mcp get <name>`.273* `✘ Rejected (see disabledMcpjsonServers in settings)`: um servidor `.mcp.json` que uma entrada [`disabledMcpjsonServers`](/docs/pt/settings-reference#disabledmcpjsonservers) rejeita. Claude Code o mostra apenas em `claude mcp get <name>`.

276* `⊘ Disabled for this project (re-enable via /mcp)`: um servidor que a lista [`disabledMcpServers`](#disable-a-server-without-removing-it) do projeto nomeia. Claude Code o mostra em `claude mcp list` e `claude mcp get <name>`. Ative o servidor novamente no painel `/mcp`.274* `⊘ Disabled for this project (re-enable via /mcp)`: um servidor que a lista [`disabledMcpServers`](#disable-a-server-without-removing-it) do projeto nomeia. Claude Code o mostra em `claude mcp list` e `claude mcp get <name>`. Ative o servidor novamente no painel `/mcp`.

277 275 

278Os servidores WebSocket não aparecem na saída de `claude mcp list`. Use `claude mcp get <name>` ou o painel `/mcp` para verificá-los.

279 

280<h4 id="project-server-approvals-and-workspace-trust">276<h4 id="project-server-approvals-and-workspace-trust">

281 Aprovações de servidor de projeto e confiança do workspace277 Aprovações de servidor de projeto e confiança do workspace

282</h4>278</h4>


371 367 

372No v2, Claude Code também:368No v2, Claude Code também:

373 369 

374* Pergunta aos servidores HTTP se eles suportam a revisão mais recente, e a usa com aqueles que suportam. Em sessões onde ele busca sinalizadores de recurso, ele também pergunta aos servidores conectores claude.ai, e no Claude Code v2.1.285 ou posterior ele pergunta aos servidores stdio à medida que Anthropic lança essa mudança. Para que ele pergunte aos servidores conectores e stdio em cada sessão, defina [`MCP_PROTOCOL_NEGOTIATION`](/docs/pt/env-vars) como `auto`. Ele se conecta a todos os outros servidores como v1 faz.370* Pergunta aos servidores HTTP e stdio se eles suportam a revisão mais recente, e a usa com aqueles que suportam. Em sessões onde ele busca sinalizadores de recurso, ele também pergunta aos servidores conectores claude.ai. Ele se conecta a todos os outros servidores como v1 faz.

375* Recebe notificações `list_changed` de servidores na revisão mais recente sobre um [stream que mantém aberto](#notification-streams-on-the-v2-runtime).371* Recebe notificações `list_changed` de servidores na revisão mais recente sobre um [stream que mantém aberto](#notification-streams-on-the-v2-runtime).

376* Não registra um servidor de [canal](#push-messages-with-channels) que se conecta na revisão mais recente, porque essa revisão não pode carregar mensagens de canal.372* Não registra um servidor de [canal](#push-messages-with-channels) que se conecta na revisão mais recente, porque essa revisão não pode carregar mensagens de canal.

377* Falha em um [login OAuth MCP](#authenticate-with-remote-mcp-servers) cuja resposta de autorização nomeia um emissor inesperado.373* Falha em um [login OAuth MCP](#authenticate-with-remote-mcp-servers) cuja resposta de autorização nomeia um emissor inesperado.


458 454 

459No [tempo de execução v2](#mcp-client-runtimes), um servidor de canal que negocia a revisão de protocolo MCP 2026-07-28 não pode entregar mensagens de canal, portanto Claude Code não o registra como um canal. Um servidor de canal que não suporta essa revisão se conecta no handshake anterior e se registra como antes.455No [tempo de execução v2](#mcp-client-runtimes), um servidor de canal que negocia a revisão de protocolo MCP 2026-07-28 não pode entregar mensagens de canal, portanto Claude Code não o registra como um canal. Um servidor de canal que não suporta essa revisão se conecta no handshake anterior e se registra como antes.

460 456 

461Claude Code pergunta aos servidores stdio por essa revisão quando você define [`MCP_PROTOCOL_NEGOTIATION`](/docs/pt/env-vars) como `auto`. Anthropic também está ativando isso por padrão, para Claude Code v2.1.285 ou posterior, em sessões onde Claude Code [busca sinalizadores de recurso](/docs/pt/env-vars#features-that-need-feature-flag-fetching). Para manter um servidor de canal stdio no handshake anterior, defina `MCP_PROTOCOL_NEGOTIATION` como `legacy`, o que mantém todos os servidores nele.457Claude Code pergunta aos servidores stdio por essa revisão por padrão. Para manter um servidor de canal stdio no handshake anterior, defina [`MCP_PROTOCOL_NEGOTIATION`](/docs/pt/env-vars) como `legacy`, o que mantém todos os servidores nele.

462 458 

463<Tip>459<Tip>

464 Dicas:460 Dicas:


509 Servidores MCP fornecidos por plugins505 Servidores MCP fornecidos por plugins

510</h3>506</h3>

511 507 

512[Plugins](/docs/pt/plugins/overview) podem agrupar servidores MCP que fornecem ferramentas e integrações quando você ativa o plugin. Os servidores MCP de plugin funcionam de forma idêntica aos servidores configurados pelo usuário.508[Plugins](/docs/pt/plugins/overview) podem agrupar servidores MCP que fornecem ferramentas e integrações quando você ativa o plugin.

513 509 

514**Como funcionam os servidores MCP de plugin**:510**Como funcionam os servidores MCP de plugin**:

515 511 


1407* **Limite padrão**: o máximo padrão é 25.000 tokens1403* **Limite padrão**: o máximo padrão é 25.000 tokens

1408* **Escopo**: a variável de ambiente se aplica a ferramentas que não declaram seu próprio limite. Ferramentas que definem [`anthropic/maxResultSizeChars`](#raise-the-limit-for-a-specific-tool) usam esse valor em vez disso para conteúdo de texto, independentemente do que `MAX_MCP_OUTPUT_TOKENS` está definido. Ferramentas que retornam dados de imagem ainda estão sujeitas a `MAX_MCP_OUTPUT_TOKENS`1404* **Escopo**: a variável de ambiente se aplica a ferramentas que não declaram seu próprio limite. Ferramentas que definem [`anthropic/maxResultSizeChars`](#raise-the-limit-for-a-specific-tool) usam esse valor em vez disso para conteúdo de texto, independentemente do que `MAX_MCP_OUTPUT_TOKENS` está definido. Ferramentas que retornam dados de imagem ainda estão sujeitas a `MAX_MCP_OUTPUT_TOKENS`

1409* **Acima do limite**: quando um resultado bem-sucedido sem conteúdo de imagem excede o limite de tokens, Claude Code o salva em um arquivo e o substitui na conversa com uma mensagem que nomeia o caminho do arquivo, para que Claude leia o arquivo quando precisar do conteúdo. O arquivo fica no diretório `tool-results` da sessão em [`~/.claude/projects/`](/docs/pt/claude-directory#cleaned-up-automatically).1405* **Acima do limite**: quando um resultado bem-sucedido sem conteúdo de imagem excede o limite de tokens, Claude Code o salva em um arquivo e o substitui na conversa com uma mensagem que nomeia o caminho do arquivo, para que Claude leia o arquivo quando precisar do conteúdo. O arquivo fica no diretório `tool-results` da sessão em [`~/.claude/projects/`](/docs/pt/claude-directory#cleaned-up-automatically).

1406* **Tamanho da resposta de servidores HTTP e SSE**: Claude Code para de ler uma resposta de um servidor [HTTP](#option-1-add-a-remote-http-server) ou [SSE](#option-2-add-a-remote-sse-server) assim que um corpo de resposta JSON, ou um evento de um fluxo de eventos, ultrapassa 16 MB após a descompressão. A requisição à qual essa resposta corresponde falha. Se você mantém o servidor, retorne menos dados por resposta para permanecer abaixo do limite, por exemplo, paginando os resultados

1410 1407 

1411Uma chamada que Claude Code [moveu para uma tarefa em segundo plano](#automatic-backgrounding-of-long-tool-calls) informa seu resultado por meio da notificação da tarefa. Mais dois limites se aplicam a uma chamada que é concluída em primeiro plano:1408Uma chamada que Claude Code [moveu para uma tarefa em segundo plano](#automatic-backgrounding-of-long-tool-calls) informa seu resultado por meio da notificação da tarefa. Mais dois limites se aplicam a uma chamada que é concluída em primeiro plano:

1412 1409 


1440 1437 

1441A anotação se aplica independentemente de `MAX_MCP_OUTPUT_TOKENS` para conteúdo de texto, portanto os usuários não precisam aumentar a variável de ambiente para ferramentas que a declaram. Ferramentas que retornam dados de imagem ainda estão sujeitas ao limite de tokens.1438A anotação se aplica independentemente de `MAX_MCP_OUTPUT_TOKENS` para conteúdo de texto, portanto os usuários não precisam aumentar a variável de ambiente para ferramentas que a declaram. Ferramentas que retornam dados de imagem ainda estão sujeitas ao limite de tokens.

1442 1439 

1443<Warning>

1444 Se você encontrar frequentemente avisos de saída com servidores MCP específicos que você não controla, considere aumentar o limite `MAX_MCP_OUTPUT_TOKENS`. Você também pode pedir ao autor do servidor para adicionar a anotação `anthropic/maxResultSizeChars` ou para paginar suas respostas. A anotação não tem efeito em ferramentas que retornam conteúdo de imagem; para essas, aumentar `MAX_MCP_OUTPUT_TOKENS` é a única opção.

1445</Warning>

1446 

1447<h3 id="images-in-tool-results">1440<h3 id="images-in-tool-results">

1448 Imagens em resultados de ferramentas1441 Imagens em resultados de ferramentas

1449</h3>1442</h3>


1508}1501}

1509```1502```

1510 1503 

1511Algumas superfícies, como [Remote Control](/docs/pt/remote-control) e aplicações construídas no [Agent SDK](/docs/pt/agent-sdk/overview), normalmente permitem que você aprove chamadas de ferramentas com um toque. Para uma ferramenta marcada com essa anotação, Claude Code retém a ação de um toque e mostra o prompt de permissão completo da ferramenta, então a aprovação ainda vem de uma pessoa respondendo ao prompt em vez de um toque.1504Algumas superfícies, como [Remote Control](/docs/pt/remote-control) e aplicações construídas no [Agent SDK](/docs/pt/agent-sdk/overview), normalmente permitem que você aprove chamadas de ferramenta com um toque. Para uma ferramenta marcada com essa anotação, Claude Code retém a ação de um toque e mostra o prompt de permissão completo da ferramenta, então a aprovação ainda vem de uma pessoa respondendo ao prompt em vez de um toque.

1512 1505 

1513Claude Code retém a aprovação de um toque da mesma forma para qualquer solicitação de permissão que apenas o diálogo do terminal possa renderizar completamente, como uma que carrega um aviso de segurança ou uma opção de sempre permitir que a superfície remota não possa mostrar. Você responde essa solicitação no diálogo do terminal em vez de Remote Control. Requer Claude Code v2.1.214 ou posterior.1506Claude Code retém a aprovação de um toque da mesma forma para qualquer solicitação de permissão que apenas o diálogo do terminal possa renderizar completamente, como uma que carrega um aviso de segurança ou uma opção de sempre permitir que a superfície remota não possa mostrar. Você responde essa solicitação no diálogo do terminal em vez de Remote Control. Requer Claude Code v2.1.214 ou posterior.

1514 1507 


1585A busca de ferramentas mantém o uso de contexto MCP baixo ao adiar as definições de ferramentas até que Claude as necessite. Apenas nomes de ferramentas e instruções do servidor são carregados no início da sessão, portanto adicionar mais servidores MCP tem impacto mínimo na sua janela de contexto. Claude Code não impõe um limite fixo de ferramentas por servidor; o limite prático é o seu orçamento de janela de contexto.1578A busca de ferramentas mantém o uso de contexto MCP baixo ao adiar as definições de ferramentas até que Claude as necessite. Apenas nomes de ferramentas e instruções do servidor são carregados no início da sessão, portanto adicionar mais servidores MCP tem impacto mínimo na sua janela de contexto. Claude Code não impõe um limite fixo de ferramentas por servidor; o limite prático é o seu orçamento de janela de contexto.

1586 1579 

1587<Note>1580<Note>

1588 A busca de ferramentas não é suportada em implantações do Microsoft Foundry [hospedadas no Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options), que a rejeitam no lado do servidor: Claude Code detecta a rejeição e carrega as ferramentas MCP antecipadamente para essa implantação. [`ENABLE_TOOL_SEARCH`](#configure-tool-search) não pode substituir isso, pois a rejeição vem da implantação em si.1581 A busca de ferramentas não é suportada em implantações do Microsoft Foundry [hospedadas no Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options), que a rejeitam no lado do servidor: Claude Code detecta a rejeição e carrega as ferramentas MCP antecipadamente para essa implantação. [`ENABLE_TOOL_SEARCH`](#configure-tool-search) não pode sobrescrever isso, pois a rejeição vem da implantação em si.

1589</Note>1582</Note>

1590 1583 

1591<h3 id="for-mcp-server-authors">1584<h3 id="for-mcp-server-authors">


1604 1597 

1605Para alterar o limite para cada servidor MCP em sua sessão, defina [`CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH`](/docs/pt/env-vars#variables) como um número de caracteres. Esta variável requer Claude Code v2.1.280 ou posterior.1598Para alterar o limite para cada servidor MCP em sua sessão, defina [`CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH`](/docs/pt/env-vars#variables) como um número de caracteres. Esta variável requer Claude Code v2.1.280 ou posterior.

1606 1599 

1600<h4 id="per-tool-alwaysload">

1601 Marcar uma ferramenta para carregar antecipadamente ou permanecer adiada

1602</h4>

1603 

1604Para controlar como uma das ferramentas do seu servidor é carregada, defina `"anthropic/alwaysLoad"` no objeto `_meta` dessa ferramenta. A pessoa que adiciona seu servidor ao Claude Code também pode definir [`alwaysLoad`](#exempt-a-server-from-deferral) para o servidor inteiro na configuração dela, e essa opção de configuração pode sobrescrever a sua:

1605 

1606| Valor da sua ferramenta | O que acontece |

1607| :- | :- |

1608| `true` | A ferramenta é carregada antecipadamente. A inicialização não aguarda seu servidor por causa desse valor. A pessoa que configura seu servidor ainda pode [adiar todas as ferramentas dele](#defer-a-servers-tools) |

1609| `false` | A ferramenta permanece adiada quando a configuração dela define `"alwaysLoad": true`. Isso se aplica quando seu servidor é passado com [`--mcp-config`](/docs/pt/cli-reference#cli-flags), fornecido por uma [aplicação do Agent SDK](/docs/pt/agent-sdk/mcp#in-code) ou fornecido por um [plugin](#plugin-provided-mcp-servers). Em outros servidores, a ferramenta é carregada antecipadamente. Requer Claude Code v2.1.285 ou posterior |

1610 

1611A seguinte entrada de `tools/list` solicita que uma ferramenta seja carregada antecipadamente:

1612 

1613```json theme={null}

1614{

1615 "name": "search_tickets",

1616 "description": "Searches the ticket tracker by keyword",

1617 "_meta": {

1618 "anthropic/alwaysLoad": true

1619 }

1620}

1621```

1622 

1607<h3 id="configure-tool-search">1623<h3 id="configure-tool-search">

1608 Configurar busca de ferramentas1624 Configurar busca de ferramentas

1609</h3>1625</h3>

1610 1626 

1611A busca de ferramentas é ativada por padrão: as ferramentas MCP são adiadas e descobertas sob demanda. Claude Code a desativa quando `ANTHROPIC_BASE_URL` aponta para um host que não é de primeira parte, pois a maioria dos proxies não encaminha blocos `tool_reference`. Defina `ENABLE_TOOL_SEARCH` explicitamente para substituir esse fallback.1627A busca de ferramentas é ativada por padrão: as ferramentas MCP são adiadas e descobertas sob demanda. Claude Code a desativa quando `ANTHROPIC_BASE_URL` aponta para um host que não é de primeira parte, pois a maioria dos proxies não encaminha blocos `tool_reference`. Defina `ENABLE_TOOL_SEARCH` explicitamente para sobrescrever esse fallback.

1612 1628 

1613Definir [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/pt/env-vars) mantém a busca de ferramentas desativada. Você não pode substituí-la definindo `ENABLE_TOOL_SEARCH` você mesmo. Sua organização pode manter a busca de ferramentas ativada através de [configurações gerenciadas](/docs/pt/managed-settings), no Claude Code v2.1.227 ou posterior. [Desativar capacidades de pré-lançamento](/docs/pt/llm-gateway-protocol#disable-pre-release-capabilities) cobre onde a substituição se aplica e o que a variável remove.1629Definir [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/pt/env-vars) mantém a busca de ferramentas desativada. Você não pode sobrescrever isso definindo `ENABLE_TOOL_SEARCH` você mesmo. Sua organização pode manter a busca de ferramentas ativada através de [configurações gerenciadas](/docs/pt/managed-settings), no Claude Code v2.1.227 ou posterior. [Desativar capacidades de pré-lançamento](/docs/pt/llm-gateway-protocol#disable-pre-release-capabilities) cobre onde a substituição se aplica e o que a variável remove.

1614 1630 

1615A busca de ferramentas requer um modelo que suporte blocos `tool_reference`: Claude Sonnet 4.5, Claude Haiku 4.5, Claude Opus 4.5 e modelos posteriores. Consulte [compatibilidade de modelo na documentação da API](https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool#model-compatibility) para a lista atual.1631A busca de ferramentas requer um modelo que suporte blocos `tool_reference`: Claude Sonnet 4.5, Claude Haiku 4.5, Claude Opus 4.5 e modelos posteriores. Consulte [compatibilidade de modelo na documentação da API](https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool#model-compatibility) para a lista atual.

1616 1632 

1617Na Agent Platform do Google Cloud, Claude Code decide por geração de modelo:1633Na Agent Platform do Google Cloud, Claude Code decide por geração de modelo:

1618 1634 

1619* **Claude Opus 4.5, Sonnet 4.5, Haiku 4.5 e posteriores**: a busca de ferramentas está ativada por padrão, o mesmo que na API Anthropic.1635* **Claude Opus 4.5, Sonnet 4.5, Haiku 4.5 e posteriores**: a busca de ferramentas está ativada por padrão, o mesmo que na API Anthropic.

1620* **Modelos anteriores da Agent Platform**: Claude Code carrega todas as ferramentas MCP antecipadamente, porque suas pilhas de serviço rejeitam o cabeçalho beta necessário. `ENABLE_TOOL_SEARCH=true` não substitui isso.1636* **Modelos anteriores da Agent Platform**: Claude Code carrega todas as ferramentas MCP antecipadamente, porque suas pilhas de serviço rejeitam o cabeçalho beta necessário. `ENABLE_TOOL_SEARCH=true` não sobrescreve isso.

1621 1637 

1622Antes da v2.1.221, Claude Code desativava a busca de ferramentas para todos os modelos na Agent Platform do Google Cloud, a menos que você definisse `ENABLE_TOOL_SEARCH=true`.1638Antes da v2.1.221, Claude Code desativava a busca de ferramentas para todos os modelos na Agent Platform do Google Cloud, a menos que você definisse `ENABLE_TOOL_SEARCH=true`.

1623 1639 


1625 1641 

1626| Valor | Comportamento |1642| Valor | Comportamento |

1627| :- | :- |1643| :- | :- |

1628| (não definido) | Todas as ferramentas MCP adiadas e carregadas sob demanda. Retorna ao carregamento antecipado na Agent Platform do Google Cloud com modelos anteriores à geração Claude 4.5, quando `ANTHROPIC_BASE_URL` é um host que não é de primeira parte, ou em uma implantação do Microsoft Foundry hospedada no Azure |1644| (não definido) | Todas as ferramentas MCP adiadas e carregadas sob demanda. Recorre ao carregamento antecipado na Agent Platform do Google Cloud com modelos anteriores à geração Claude 4.5, quando `ANTHROPIC_BASE_URL` é um host que não é de primeira parte, ou em uma implantação do Microsoft Foundry hospedada no Azure |

1629| `true` | Todas as ferramentas MCP adiadas, exceto em uma implantação do Microsoft Foundry hospedada no Azure, onde a rejeição no lado do servidor ainda força o carregamento antecipado, e em modelos da Agent Platform do Google Cloud anteriores à geração Claude 4.5, onde Claude Code continua carregando ferramentas antecipadamente. Claude Code envia o cabeçalho beta através de proxies e as solicitações falham em proxies que não suportam blocos `tool_reference` |1645| `true` | Todas as ferramentas MCP adiadas, exceto em uma implantação do Microsoft Foundry hospedada no Azure, onde a rejeição no lado do servidor ainda força o carregamento antecipado, e em modelos da Agent Platform do Google Cloud anteriores à geração Claude 4.5, onde Claude Code continua carregando ferramentas antecipadamente. Claude Code envia o cabeçalho beta através de proxies e as requisições falham em proxies que não suportam blocos `tool_reference` |

1630| `auto` | Modo de limite: Claude Code carrega as ferramentas que de outra forma adiaria antecipadamente enquanto suas definições totalizam menos de 10% da janela de contexto e adia todas elas uma vez que as definições atingem 10% |1646| `auto` | Modo de limite: Claude Code carrega as ferramentas que de outra forma adiaria antecipadamente enquanto suas definições totalizam menos de 10% da janela de contexto e adia todas elas uma vez que as definições atingem 10% |

1631| `auto:N` | Modo de limite com uma porcentagem personalizada, onde `N` é 0-100. Por exemplo, `auto:5` para 5% |1647| `auto:N` | Modo de limite com uma porcentagem personalizada, onde `N` é 0-100. Por exemplo, `auto:5` para 5% |

1632| `false` | Todas as ferramentas MCP carregadas antecipadamente, sem adiamento |1648| `false` | Todas as ferramentas MCP carregadas antecipadamente, sem adiamento |


1655 Isentar um servidor do adiamento1671 Isentar um servidor do adiamento

1656</h3>1672</h3>

1657 1673 

1658Se as ferramentas de um servidor devem estar sempre visíveis para Claude sem uma etapa de busca, defina `alwaysLoad` como `true` na configuração desse servidor. Cada ferramenta desse servidor é então carregada no contexto no início da sessão, independentemente da configuração `ENABLE_TOOL_SEARCH`. Use isso para um pequeno número de ferramentas que Claude precisa a cada turno, pois cada ferramenta antecipada consome contexto que de outra forma estaria disponível para sua conversa.1674Se as ferramentas de um servidor devem estar sempre visíveis para Claude sem uma etapa de busca, defina `alwaysLoad` como `true` na configuração desse servidor. As ferramentas do servidor são então carregadas no contexto independentemente da configuração `ENABLE_TOOL_SEARCH`. Use isso para um pequeno número de ferramentas que Claude precisa a cada turno, pois cada ferramenta antecipada consome contexto que de outra forma estaria disponível para sua conversa.

1659 1675 

1660A seguinte entrada `.mcp.json` isenta um servidor HTTP enquanto deixa outros servidores adiados:1676A seguinte entrada `.mcp.json` isenta um servidor HTTP enquanto deixa outros servidores adiados:

1661 1677 


1671}1687}

1672```1688```

1673 1689 

1674O campo `alwaysLoad` está disponível em todos os tipos de servidor. Um servidor MCP também pode marcar ferramentas individuais como sempre carregadas incluindo `"anthropic/alwaysLoad": true` no objeto `_meta` da ferramenta, que tem o mesmo efeito apenas para essa ferramenta.1690O campo `alwaysLoad` está disponível em todos os tipos de servidor.

1691 

1692Definir `alwaysLoad: true` também faz a inicialização aguardar as ferramentas do servidor, limitado ao timeout de conexão padrão de 5 segundos, pois elas devem estar presentes quando o primeiro prompt é construído. Um servidor remoto com uma entrada [`cached`](#server-status-detail) válida fornece suas ferramentas do cache sem se conectar, portanto não retarda a inicialização. Outros servidores se conectam em segundo plano por padrão; defina [`MCP_CONNECTION_NONBLOCKING=0`](/docs/pt/env-vars) para fazer a inicialização aguardá-los também.

1693 

1694<h3 id="defer-a-servers-tools">

1695 Adiar as ferramentas de um servidor

1696</h3>

1675 1697 

1676Definir `alwaysLoad: true` também faz a inicialização aguardar as ferramentas do servidor, limitado ao tempo limite de conexão padrão de 5 segundos, pois elas devem estar presentes quando o primeiro prompt é construído. Um servidor remoto com uma entrada [`cached`](#server-status-detail) válida fornece suas ferramentas do cache sem se conectar, portanto não retarda a inicialização. Outros servidores se conectam em segundo plano por padrão; defina [`MCP_CONNECTION_NONBLOCKING=0`](/docs/pt/env-vars) para fazer a inicialização aguardá-los também.1698Para manter todas as ferramentas de um servidor atrás da busca de ferramentas, defina `"alwaysLoad": false` na entrada desse servidor em sua configuração MCP. Isso inclui ferramentas que o autor do servidor [marcou para carregar antecipadamente](#per-tool-alwaysload). Se você omitir `alwaysLoad`, essas ferramentas marcadas são carregadas antecipadamente. Requer Claude Code v2.1.287 ou posterior.

1677 1699 

1678<h2 id="use-mcp-prompts-as-commands">1700<h2 id="use-mcp-prompts-as-commands">

1679 Use MCP prompts as commands1701 Use MCP prompts as commands

memory.md +5 −3

Details

161 161 

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.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, Claude Code os inclui quando Claude usa a ferramenta [Read](/docs/pt/tools-reference#read-tool-behavior), [Write](/docs/pt/tools-reference#write-tool-behavior) ou [Edit](/docs/pt/tools-reference#edit-tool-behavior) em um arquivo nesses subdiretórios. Se Claude já usou uma dessas ferramentas no próprio `CLAUDE.md` de um subdiretório, esse arquivo não é carregado dessa forma, porque Claude Code o trata como já presente na conversa. Para arquivos dentro de um worktree sob `.claude/worktrees/`, consulte [Isole subagentes com worktrees](/docs/pt/worktrees#isolate-subagents-with-worktrees).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, Claude Code carrega cada um assim que Claude lê, escreve ou edita outro arquivo nesse subdiretório. A leitura inclui visualizar o arquivo com um comando Bash que [conta como leitura](/docs/pt/tools-reference#edit-tool-behavior), como `cat` ou `head` em um único arquivo. 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 


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 usa a ferramenta Read, Write ou Edit em um arquivo que corresponde 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.235Regras sem um campo `paths` são carregadas incondicionalmente e se aplicam a todos os arquivos. Uma regra com escopo de caminho carrega quando Claude usa a ferramenta Read, Write ou Edit em um arquivo correspondente. Ela também carrega quando Claude visualiza um arquivo correspondente com um comando Bash que [conta como leitura](/docs/pt/tools-reference#edit-tool-behavior), como `cat` ou `head` em um único arquivo. 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 


278 278 

279O diretório `.claude/rules/` suporta symlinks, portanto você pode manter um conjunto compartilhado de regras e vinculá-las em vários projetos. Symlinks circulares são detectados e tratados graciosamente.279O diretório `.claude/rules/` suporta symlinks, portanto você pode manter um conjunto compartilhado de regras e vinculá-las em vários projetos. Symlinks circulares são detectados e tratados graciosamente.

280 280 

281Claude Code trata um symlink cujo alvo está fora do seu diretório de trabalho como uma [importação externa](#import-additional-files). As regras vinculadas não carregam até que você aprove importações externas para o projeto, e depois apenas as sem um campo [`paths`](#path-specific-rules) carregam. Claude Code pede essa aprovação apenas quando um arquivo de memória do projeto importa um arquivo fora do diretório de trabalho com `@path`, não para symlinks sozinhos. Para carregar regras compartilhadas sem essa aprovação, mantenha-as em [`~/.claude/rules/`](#user-level-rules), onde se aplicam a cada projeto em sua máquina.281Claude Code trata um symlink cujo alvo está fora do seu diretório de trabalho como uma [importação externa](#import-additional-files). As regras vinculadas não carregam até que você aprove importações externas para o projeto, e depois apenas as sem um campo [`paths`](#path-specific-rules) carregam.

282 

283Claude Code pede essa aprovação uma vez por projeto, em um diálogo no início de uma sessão interativa. O diálogo lista os arquivos de regras vinculados junto com quaisquer importações `@path` externas. Para carregar regras compartilhadas sem essa aprovação, mantenha-as em [`~/.claude/rules/`](#user-level-rules), onde se aplicam a cada projeto em sua máquina.

282 284 

283Este exemplo vincula um diretório compartilhado e um arquivo individual:285Este exemplo vincula um diretório compartilhado e um arquivo individual:

284 286 

Details

116 2) Configurar credenciais do Azure116 2) Configurar credenciais do Azure

117</h3>117</h3>

118 118 

119Claude Code suporta três métodos de autenticação para Microsoft Foundry. Escolha o método que melhor se adequa aos seus requisitos de segurança.119Claude Code suporta três métodos de autenticação para Microsoft Foundry. Escolha o método que melhor se adequa aos seus requisitos de segurança:

120 120 

121**Opção A: Autenticação por chave de API**121* [Chave de API](#use-an-api-key): você copia uma chave do portal do Microsoft Foundry e a define como `ANTHROPIC_FOUNDRY_API_KEY`

122* [Microsoft Entra ID](#use-microsoft-entra-id): Claude Code obtém tokens através da cadeia de credenciais padrão do Azure SDK, por exemplo de uma sessão `az login`, portanto não há chave de API para armazenar

123* [Token de portador](#use-a-bearer-token): outro processo obtém um token de acesso do Microsoft Entra ID e você o passa em `ANTHROPIC_FOUNDRY_AUTH_TOKEN`

124 

125<Note>

126 Ao usar Microsoft Foundry, o comando `/logout` não está disponível, pois a autenticação é tratada através de credenciais do Azure.

127</Note>

128 

129<h4 id="use-an-api-key">

130 Usar uma chave de API

131</h4>

132 

133Copie uma chave do portal do Microsoft Foundry e, em seguida, defina-a como uma variável de ambiente:

122 134 

1231. Navegue até seu recurso no portal do Microsoft Foundry1351. Navegue até seu recurso no portal do Microsoft Foundry

1242. Vá para a seção **Endpoints e chaves**1362. Abra a seção **Endpoints e chaves**

1253. Copie a **Chave de API**1373. Copie a **Chave de API**

1264. Defina a variável de ambiente, substituindo `your-azure-api-key` pela chave que você copiou:1384. Defina a variável de ambiente, substituindo `your-azure-api-key` pela chave que você copiou:

127 139 


129export ANTHROPIC_FOUNDRY_API_KEY=your-azure-api-key141export ANTHROPIC_FOUNDRY_API_KEY=your-azure-api-key

130```142```

131 143 

132**Opção B: Autenticação do Microsoft Entra ID**144<h4 id="use-microsoft-entra-id">

145 Usar o Microsoft Entra ID

146</h4>

133 147 

134Quando nem `ANTHROPIC_FOUNDRY_API_KEY` nem `ANTHROPIC_FOUNDRY_AUTH_TOKEN` estão definidos, Claude Code usa automaticamente a [cadeia de credenciais padrão](https://learn.microsoft.com/en-us/azure/developer/javascript/sdk/authentication/credential-chains#defaultazurecredential-overview) do Azure SDK.148Deixe `ANTHROPIC_FOUNDRY_API_KEY` e `ANTHROPIC_FOUNDRY_AUTH_TOKEN` sem definir. Claude Code então usa a [cadeia de credenciais padrão](https://learn.microsoft.com/en-us/azure/developer/javascript/sdk/authentication/credential-chains#defaultazurecredential-overview) do Azure SDK.

135Isso suporta uma variedade de métodos para autenticar cargas de trabalho locais e remotas.149Isso suporta uma variedade de métodos para autenticar cargas de trabalho locais e remotas.

136 150 

137Em ambientes locais, você pode usar comumente a Azure CLI:151Em uma máquina local, faça login com a Azure CLI:

138 152 

139```bash theme={null}153```bash theme={null}

140az login154az login

141```155```

142 156 

143**Opção C: Autenticação por token de portador**157Para as funções de que sua identidade precisa, consulte [Configuração do Azure RBAC](#azure-rbac-configuration).

158 

159<h4 id="use-a-bearer-token">

160 Usar um token de portador

161</h4>

144 162 

145Claude Code envia o valor de `ANTHROPIC_FOUNDRY_AUTH_TOKEN` em cada solicitação como o cabeçalho `Authorization: Bearer`. Use esta opção quando outro processo, como um aplicativo host ou um script de login, já tiver obtido um token de acesso para você. Requer Claude Code v2.1.203 ou posterior.163Claude Code envia o valor de `ANTHROPIC_FOUNDRY_AUTH_TOKEN` em cada solicitação como o cabeçalho `Authorization: Bearer`. Use esta opção quando outro processo, como um aplicativo host ou um script de login, já tiver obtido um token de acesso para você. Requer Claude Code v2.1.203 ou posterior.

146 164 


152 170 

153`ANTHROPIC_FOUNDRY_AUTH_TOKEN` tem precedência sobre `ANTHROPIC_FOUNDRY_API_KEY` e sobre a cadeia de credenciais padrão.171`ANTHROPIC_FOUNDRY_AUTH_TOKEN` tem precedência sobre `ANTHROPIC_FOUNDRY_API_KEY` e sobre a cadeia de credenciais padrão.

154 172 

155<Note>

156 Ao usar Microsoft Foundry, o comando `/logout` não está disponível, pois a autenticação é tratada através de credenciais do Azure.

157</Note>

158 

159<h3 id="3-configure-claude-code">173<h3 id="3-configure-claude-code">

160 3. Configurar Claude Code174 3. Configurar Claude Code

161</h3>175</h3>


240 254 

241Para detalhes, consulte [documentação RBAC do Microsoft Foundry](https://learn.microsoft.com/en-us/azure/ai-foundry/concepts/rbac-azure-ai-foundry).255Para detalhes, consulte [documentação RBAC do Microsoft Foundry](https://learn.microsoft.com/en-us/azure/ai-foundry/concepts/rbac-azure-ai-foundry).

242 256 

257<h2 id="1m-token-context-window">

258 Janela de contexto de 1M de tokens

259</h2>

260 

261No Microsoft Foundry, quando o Claude Code consegue identificar qual modelo a sua implantação serve, os modelos Fable, Sonnet 5 e posteriores, e Opus 4.7 e posteriores são executados com a [janela de contexto de 1M de tokens](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) por padrão, sem necessidade do sufixo `[1m]`. O Claude Code lê o modelo a partir do nome da implantação nas suas variáveis de modelo. Nomeie cada implantação com o ID do modelo, como `claude-opus-4-8`, ou mapeie o modelo para o nome da sua implantação com [`modelOverrides`](/docs/pt/model-config#override-model-ids-per-version). Para um nome de implantação que não consegue associar a um modelo, o Claude Code assume uma janela de 200K, a menos que você [declare uma diferente](/docs/pt/model-config#correct-the-window-for-a-gateway-or-custom-model-id).

262 

263Esta entrada do `settings.json` informa ao Claude Code que uma implantação chamada `team-opus-prod` serve o Opus 4.8:

264 

265```json theme={null}

266{

267 "modelOverrides": {

268 "claude-opus-4-8": "team-opus-prod"

269 }

270}

271```

272 

273Para manter uma janela de 200K, defina [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/pt/model-config#turn-off-1m-context).

274 

275O Opus 4.6 e o Sonnet 4.6 alcançam a janela de 1M quando você acrescenta `[1m]` ao nome da implantação em `ANTHROPIC_DEFAULT_OPUS_MODEL` ou `ANTHROPIC_DEFAULT_SONNET_MODEL`, conforme descrito em [Fixar modelos para implantações de terceiros](/docs/pt/model-config#pin-models-for-third-party-deployments). Antes da v2.1.287, os modelos Fable e o Opus 4.7 e posteriores também precisavam desse sufixo no Microsoft Foundry e, sem ele, eram executados com uma janela de 200K por padrão.

276 

243<h2 id="troubleshooting">277<h2 id="troubleshooting">

244 Resolução de problemas278 Resolução de problemas

245</h2>279</h2>

model-config.md +143 −133

Details

22Para orientação sobre qual modelo e nível de esforço se adequam a diferentes tipos de trabalho, consulte [Choosing a Claude model and effort level in Claude Code](https://claude.com/blog/claude-model-and-effort-level-in-claude-code) no blog.22Para orientação sobre qual modelo e nível de esforço se adequam a diferentes tipos de trabalho, consulte [Choosing a Claude model and effort level in Claude Code](https://claude.com/blog/claude-model-and-effort-level-in-claude-code) no blog.

23 23 

24<Note>24<Note>

25 `ANTHROPIC_BASE_URL` muda para onde as solicitações são enviadas, não qual modelo as responde. Para rotear Claude através de um gateway LLM, consulte [LLM gateways](/docs/pt/llm-gateway).25 `ANTHROPIC_BASE_URL` muda para onde as requisições são enviadas, não qual modelo as responde. Para rotear Claude através de um gateway de LLM, consulte [LLM gateways](/docs/pt/llm-gateway).

26</Note>26</Note>

27 27 

28<h3 id="model-aliases">28<h3 id="model-aliases">


40| **`opus`** | Usa o modelo Opus mais recente para tarefas de raciocínio complexo |40| **`opus`** | Usa o modelo Opus mais recente para tarefas de raciocínio complexo |

41| **`haiku`** | Usa o modelo Haiku rápido e eficiente para tarefas simples |41| **`haiku`** | Usa o modelo Haiku rápido e eficiente para tarefas simples |

42| **`sonnet[1m]`** | Usa Sonnet com uma [janela de contexto de 1 milhão de tokens](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) para sessões longas. Sem efeito quando `sonnet` já é resolvido para Sonnet 5.5 ou Sonnet 5 com sua janela nativa de 1M |42| **`sonnet[1m]`** | Usa Sonnet com uma [janela de contexto de 1 milhão de tokens](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) para sessões longas. Sem efeito quando `sonnet` já é resolvido para Sonnet 5.5 ou Sonnet 5 com sua janela nativa de 1M |

43| **`opus[1m]`** | Usa Opus com uma [janela de contexto de 1 milhão de tokens](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) para sessões longas |43| **`opus[1m]`** | Usa Opus com uma [janela de contexto de 1 milhão de tokens](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) para sessões longas. Sem efeito quando `opus` já é resolvido para Opus 4.7 ou posterior com sua janela nativa de 1M |

44| **`opusplan`** | Modo especial que usa `opus` durante o Plan Mode, depois muda para `sonnet` para execução |44| **`opusplan`** | Modo especial que usa `opus` durante o modo de planejamento, depois muda para `sonnet` para execução |

45 45 

46Os aliases `opus`, `sonnet` e `haiku` são resolvidos para a versão mais recente na API Anthropic e para uma versão anterior em alguns outros provedores:46Os aliases `opus`, `sonnet` e `haiku` são resolvidos para a versão mais recente na API Anthropic e para uma versão anterior em alguns outros provedores:

47 47 


56 56 

57A menos que você defina `ANTHROPIC_DEFAULT_FABLE_MODEL`, o alias `fable` é resolvido para Fable 5.1, exceto em sessões do [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway), onde `fable` e `best` são resolvidos para Fable 5.57A menos que você defina `ANTHROPIC_DEFAULT_FABLE_MODEL`, o alias `fable` é resolvido para Fable 5.1, exceto em sessões do [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway), onde `fable` e `best` são resolvidos para Fable 5.

58 58 

59Um gateway que não está configurado para servir `claude-fable-5-1` rejeita solicitações para esse modelo. Para usar Fable 5.1 através de um gateway que o serve, selecione-o com `/model claude-fable-5-1`.59Um gateway que não está configurado para servir `claude-fable-5-1` rejeita requisições para esse modelo. Para usar Fable 5.1 através de um gateway que o serve, selecione-o com `/model claude-fable-5-1`.

60 60 

61Onde `opus` ou `sonnet` é resolvido para um modelo mais antigo, modelos mais novos estão disponíveis selecionando o nome completo do modelo explicitamente ou definindo `ANTHROPIC_DEFAULT_OPUS_MODEL` ou `ANTHROPIC_DEFAULT_SONNET_MODEL`.61Onde `opus` ou `sonnet` é resolvido para um modelo mais antigo, modelos mais novos estão disponíveis selecionando o nome completo do modelo explicitamente ou definindo `ANTHROPIC_DEFAULT_OPUS_MODEL` ou `ANTHROPIC_DEFAULT_SONNET_MODEL`.

62 62 


81 81 

82Se você se conectar à API Anthropic diretamente e suas configurações de usuário contiverem `claude-fable-5` ou `claude-fable-5[1m]` como o modelo, por exemplo porque você selecionou Fable no seletor `/model` antes da v2.1.257, Claude Code muda esse valor salvo para o alias `fable` ou `fable[1m]` na primeira vez que você executa v2.1.257 ou posterior. A linha do modelo de inicialização mostra `(auto-updated)` uma vez. Um valor `claude-fable-5` nas configurações de projeto, local ou gerenciadas permanece como está.82Se você se conectar à API Anthropic diretamente e suas configurações de usuário contiverem `claude-fable-5` ou `claude-fable-5[1m]` como o modelo, por exemplo porque você selecionou Fable no seletor `/model` antes da v2.1.257, Claude Code muda esse valor salvo para o alias `fable` ou `fable[1m]` na primeira vez que você executa v2.1.257 ou posterior. A linha do modelo de inicialização mostra `(auto-updated)` uma vez. Um valor `claude-fable-5` nas configurações de projeto, local ou gerenciadas permanece como está.

83 83 

84Solicitações que os classificadores de segurança de um modelo Fable sinalizam, mais frequentemente em domínios de cibersegurança e biologia, acionam [fallback automático de modelo](#automatic-model-fallback).84Requisições que os classificadores de segurança de um modelo Fable sinalizam, mais frequentemente em domínios de cibersegurança e biologia, acionam [fallback automático de modelo](#automatic-model-fallback).

85 85 

86Para aproveitar ao máximo o Fable:86Para aproveitar ao máximo o Fable:

87 87 


91* **Dimensione tarefas maiores**: entregue-lhe trabalho que você normalmente dividiria em pedaços. Ele mantém sessões longas sem perder o fio.91* **Dimensione tarefas maiores**: entregue-lhe trabalho que você normalmente dividiria em pedaços. Ele mantém sessões longas sem perder o fio.

92 92 

93<Note>93<Note>

94 Fable 5.1 requer Claude Code v2.1.257 ou posterior. Se uma solicitação para ele de uma versão mais antiga falhar, consulte [Claude Code does not support this model](/docs/pt/errors#claude-code-does-not-support-this-model). Execute `claude update` para atualizar. Para disponibilidade sob retenção zero de dados, consulte [Model availability under ZDR](/docs/pt/zero-data-retention#model-availability-under-zdr).94 Fable 5.1 requer Claude Code v2.1.257 ou posterior. Se uma requisição para ele de uma versão mais antiga falhar, consulte [Claude Code does not support this model](/docs/pt/errors#claude-code-does-not-support-this-model). Execute `claude update` para atualizar. Para disponibilidade sob retenção zero de dados, consulte [Model availability under ZDR](/docs/pt/zero-data-retention#model-availability-under-zdr).

95</Note>95</Note>

96 96 

97Na API Anthropic, um modelo Fable aparece no seletor `/model` a menos que [`availableModels`](#restrict-model-selection) ou [restrições de modelo da organização](#organization-model-restrictions) o excluam. Quando sua organização não pode usar Fable em absoluto, por exemplo sob [retenção zero de dados](/docs/pt/zero-data-retention#model-availability-under-zdr), a linha permanece no seletor acinzentada, com uma nota sobre o motivo.97Na API Anthropic, um modelo Fable aparece no seletor `/model` a menos que [`availableModels`](#restrict-model-selection) ou [restrições de modelo da organização](#organization-model-restrictions) o excluam. Quando sua organização não pode usar Fable em absoluto, por exemplo sob [retenção zero de dados](/docs/pt/zero-data-retention#model-availability-under-zdr), a linha permanece no seletor acinzentada, com uma nota sobre o motivo.


102 102 

103Dependendo do seu plano e nível de assento, o uso de Fable pode ser cobrado em [créditos de uso](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) em vez de usar os limites incluídos do seu plano. Quando isso acontece, o seletor `/model` mostra "Requer créditos de uso" na linha Fable. Para gerenciar créditos de uso, consulte [Add usage credits to your subscription](/docs/pt/costs#add-usage-credits-to-your-subscription).103Dependendo do seu plano e nível de assento, o uso de Fable pode ser cobrado em [créditos de uso](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) em vez de usar os limites incluídos do seu plano. Quando isso acontece, o seletor `/model` mostra "Requer créditos de uso" na linha Fable. Para gerenciar créditos de uso, consulte [Add usage credits to your subscription](/docs/pt/costs#add-usage-credits-to-your-subscription).

104 104 

105Em sessões interativas, Claude Code mostra um prompt de consentimento antes de uma solicitação Fable cobrar créditos de uso. Membros de planos Enterprise com faturamento da organização não veem o prompt. Você pode continuar em Fable usando créditos de uso ou mudar para seu modelo padrão. Você também pode descartar o prompt:105Em sessões interativas, Claude Code mostra um prompt de consentimento antes de uma requisição Fable cobrar créditos de uso. Membros de planos Enterprise com faturamento da organização não veem o prompt. Você pode continuar em Fable usando créditos de uso ou mudar para seu modelo padrão. Você também pode descartar o prompt:

106 106 

107* Quando você seleciona um modelo Fable com `/model`, você mantém seu modelo atual.107* Quando você seleciona um modelo Fable com `/model`, você mantém seu modelo atual.

108* No meio da sessão, Claude Code continua a vez em seu modelo padrão.108* No meio da sessão, Claude Code continua o turno em seu modelo padrão.

109 109 

110Depois que você escolhe continuar em Fable usando créditos de uso, Claude Code não mostra o prompt novamente.110Depois que você escolhe continuar em Fable usando créditos de uso, Claude Code não mostra o prompt novamente.

111 111 

112Em uma sessão com [Remote Control](/docs/pt/remote-control) conectado, uma [sessão em segundo plano](/docs/pt/agent-view), ou uma sessão de colega de [equipe de agentes](/docs/pt/agent-teams), ninguém pode estar no terminal, então Claude Code mantém o prompt de consentimento no meio da sessão para o prazo [`dialogExpiry`](/docs/pt/settings-reference#dialogexpiry), cinco minutos por padrão. Se ninguém tiver respondido até o prazo, Claude Code encerra a vez sem enviar a solicitação e adiciona um aviso à transcrição, que o cliente Remote Control também mostra. Sua seleção de modelo permanece inalterada, e Claude Code pede consentimento novamente em sua próxima mensagem.112Em uma sessão com [Remote Control](/docs/pt/remote-control) conectado, uma [sessão em segundo plano](/docs/pt/agent-view), ou uma sessão de colega de [equipe de agentes](/docs/pt/agent-teams), ninguém pode estar no terminal, então Claude Code mantém o prompt de consentimento no meio da sessão para o prazo [`dialogExpiry`](/docs/pt/settings-reference#dialogexpiry), cinco minutos por padrão. Se ninguém tiver respondido até o prazo, Claude Code encerra o turno sem enviar a requisição e adiciona um aviso à transcrição, que o cliente Remote Control também mostra. Sua seleção de modelo permanece inalterada, e Claude Code pede consentimento novamente em sua próxima mensagem.

113 113 

114O que você pode fazer enquanto o prompt está aguardando depende da sessão:114O que você pode fazer enquanto o prompt está aguardando depende da sessão:

115 115 

116* Com Remote Control conectado ou em uma sessão de colega, pressione qualquer tecla no terminal para cancelar o prazo, e Claude Code aguarda sua resposta.116* Com Remote Control conectado ou em uma sessão de colega, pressione qualquer tecla no terminal para cancelar o prazo, e Claude Code aguarda sua resposta.

117* Em uma sessão em segundo plano, responda antes do prazo.117* Em uma sessão em segundo plano, responda antes do prazo.

118* Se você enviar uma nova mensagem do cliente remoto antes de alguém digitar no terminal, Claude Code encerra a vez da mesma forma, e sua nova mensagem inicia a próxima vez. Depois que alguém digita no terminal, Claude Code continua aguardando a resposta e coloca sua nova mensagem na fila atrás dela.118* Se você enviar uma nova mensagem do cliente remoto antes de alguém digitar no terminal, Claude Code encerra o turno da mesma forma, e sua nova mensagem inicia o próximo turno. Depois que alguém digita no terminal, Claude Code continua aguardando a resposta e coloca sua nova mensagem na fila atrás dela.

119 119 

120Em uma sessão que outro aplicativo hospeda através do [Agent SDK](/docs/pt/agent-sdk/overview), se o prompt aparece depende desse aplicativo. Se aparecer e ninguém responder antes do mesmo prazo [`dialogExpiry`](/docs/pt/settings-reference#dialogexpiry), Claude Code encerra a vez sem enviar a solicitação.120Em uma sessão que outro aplicativo hospeda através do [Agent SDK](/docs/pt/agent-sdk/overview), se o prompt aparece depende desse aplicativo. Se aparecer e ninguém responder antes do mesmo prazo [`dialogExpiry`](/docs/pt/settings-reference#dialogexpiry), Claude Code encerra o turno sem enviar a requisição.

121 121 

122Em [modo não interativo](/docs/pt/headless) com a flag `-p`, e em um aplicativo Agent SDK que não mostra o prompt, Claude Code nunca pede consentimento. Quando uma solicitação Fable lá seria cobrada em créditos de uso, Claude Code a cobra sem perguntar.122Em [modo não interativo](/docs/pt/headless) com a flag `-p`, e em um aplicativo Agent SDK que não mostra o prompt, Claude Code nunca pede consentimento. Quando uma requisição Fable lá seria cobrada em créditos de uso, Claude Code a cobra sem perguntar.

123 123 

124<h3 id="setting-your-model">124<h3 id="setting-your-model">

125 Configurar seu modelo125 Configurar seu modelo


136`/model` salva sua escolha como o padrão para novas sessões escrevendo o campo `model` em suas configurações de usuário. No seletor:136`/model` salva sua escolha como o padrão para novas sessões escrevendo o campo `model` em suas configurações de usuário. No seletor:

137 137 

138* `Enter`: mude de modelo e salve como seu padrão138* `Enter`: mude de modelo e salve como seu padrão

139* `s`: mude de modelo apenas para esta sessão e deixe seu padrão inalterado. Para usar uma chave diferente, rebinde [`modelPicker:thisSessionOnly`](/docs/pt/keybindings#model-picker-actions)139* `s`: mude de modelo apenas para esta sessão e deixe seu padrão inalterado. Para usar uma tecla diferente, redefina o atalho de teclado [`modelPicker:thisSessionOnly`](/docs/pt/keybindings#model-picker-actions)

140 140 

141Digitar `/model <name>` diretamente se comporta como `Enter`. Para mudar apenas para esta sessão, abra o seletor com `/model` e pressione `s` na linha do modelo.141Digitar `/model <name>` diretamente se comporta como `Enter`. Para mudar apenas para esta sessão, abra o seletor com `/model` e pressione `s` na linha do modelo.

142 142 


146* Se [restrições de modelo](#restrict-model-selection) excluem o modelo registrado ou ele não está disponível para sua conta, e seu administrador não definiu um modelo padrão da organização, a opção Padrão é resolvida como se nada tivesse sido registrado.146* Se [restrições de modelo](#restrict-model-selection) excluem o modelo registrado ou ele não está disponível para sua conta, e seu administrador não definiu um modelo padrão da organização, a opção Padrão é resolvida como se nada tivesse sido registrado.

147* Se você escolher Padrão ou `opusplan` em `/model`, a escolha registrada não muda.147* Se você escolher Padrão ou `opusplan` em `/model`, a escolha registrada não muda.

148 148 

149Se você mudar de modelos com `/model`, a mudança também alcança [subagentos que herdam o modelo da conversa principal](/docs/pt/sub-agents#choose-a-model), porque Claude Code resolve seu modelo a partir daquele que sua sessão está usando quando Claude os inicia. Mude para Opus antes de Claude delegar pesquisa ou execuções de teste para um deles, e esse trabalho é executado em Opus também. Para manter um subagentos personalizado em um modelo menor, defina `model` em sua definição.149Se você mudar de modelos com `/model`, a mudança também alcança [subagentes que herdam o modelo da conversa principal](/docs/pt/sub-agents#choose-a-model), porque Claude Code resolve seu modelo a partir daquele que sua sessão está usando quando Claude os inicia. Mude para Opus antes de Claude delegar pesquisa ou execuções de teste para um deles, e esse trabalho é executado em Opus também. Para manter um subagente personalizado em um modelo menor, defina `model` em sua definição.

150 150 

151Se você definir um modelo com `/model` em [modo não interativo](/docs/pt/headless), com a flag `-p`, sua escolha se aplica apenas à sessão atual e não é salva como seu padrão; `/model` nesse modo requer Claude Code v2.1.205 ou posterior. As configurações de projeto e gerenciadas ainda têm precedência e se reaplicam no próximo lançamento. Um [modelo padrão da organização](#organization-default-model) que seu administrador configurou para substituir a seleção do usuário também se reaplica no próximo lançamento.151Se você definir um modelo com `/model` em [modo não interativo](/docs/pt/headless), com a flag `-p`, sua escolha se aplica apenas à sessão atual e não é salva como seu padrão; `/model` nesse modo requer Claude Code v2.1.205 ou posterior. As configurações de projeto e gerenciadas ainda têm precedência e se reaplicam no próximo lançamento. Um [modelo padrão da organização](#organization-default-model) que seu administrador configurou para sobrescrever a seleção do usuário também se reaplica no próximo lançamento.

152 152 

153Na v2.1.144 até v2.1.152, `/model` se aplicava apenas à sessão atual e `d` no seletor salvava um padrão.153Na v2.1.144 até v2.1.152, `/model` se aplicava apenas à sessão atual e `d` no seletor salvava um padrão.

154 154 

155A flag `--model` e a variável de ambiente `ANTHROPIC_MODEL` se aplicam apenas à sessão que você inicia com elas. Para executar modelos diferentes em terminais diferentes ao mesmo tempo, inicie cada um com sua própria flag `--model` em vez de mudar com `/model`.155A flag `--model` e a variável de ambiente `ANTHROPIC_MODEL` se aplicam apenas à sessão que você inicia com elas. Para executar modelos diferentes em terminais diferentes ao mesmo tempo, inicie cada um com sua própria flag `--model` em vez de mudar com `/model`.

156 156 

157Os preços no seletor `/model` aparecem quando Claude Code fala com a API Anthropic, diretamente ou através de um [gateway LLM](/docs/pt/llm-gateway) que a proxeia, e o preço em uma linha é o preço do modelo que essa linha seleciona. Em [provedores de terceiros](/docs/pt/third-party-integrations) como Amazon Bedrock e no [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway), seu provedor ou gateway determina o que você paga, então as linhas do seletor não mostram preço. O preço é apenas um rótulo de exibição; não afeta qual modelo uma linha seleciona ou o que seu provedor cobra. Antes da v2.1.206, [Claude Platform on AWS](/docs/pt/claude-platform-on-aws) e sessões de gateway mostravam preços de lista da Anthropic, e uma linha poderia mostrar o preço de um modelo diferente daquele que selecionava.157Os preços no seletor `/model` aparecem quando Claude Code fala com a API Anthropic, diretamente ou através de um [gateway de LLM](/docs/pt/llm-gateway) que faz proxy dela, e o preço em uma linha é o preço do modelo que essa linha seleciona. Em [provedores de terceiros](/docs/pt/third-party-integrations) como Amazon Bedrock e no [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway), seu provedor ou gateway determina o que você paga, então as linhas do seletor não mostram preço. O preço é apenas um rótulo de exibição; não afeta qual modelo uma linha seleciona ou o que seu provedor cobra. Antes da v2.1.206, [Claude Platform on AWS](/docs/pt/claude-platform-on-aws) e sessões de gateway mostravam preços de lista da Anthropic, e uma linha poderia mostrar o preço de um modelo diferente daquele que selecionava.

158 158 

159As sessões retomadas iniciadas com `claude --resume`, `--continue`, ou o seletor `/resume` mantêm o modelo que estavam usando quando a transcrição foi salva. Se o modelo restaurado foi descontinuado ou é excluído por [`availableModels`](#restrict-model-selection), a sessão recorre à ordem de precedência normal. Em provedores que usam IDs de implantação específicos do provedor em vez de IDs de modelo Anthropic, como Amazon Bedrock, Agent Platform do Google Cloud e Microsoft Foundry, o modelo da transcrição não é restaurado em absoluto e a sessão resolve seu modelo através da ordem de precedência normal.159As sessões retomadas iniciadas com `claude --resume`, `--continue`, ou o seletor `/resume` mantêm o modelo que estavam usando quando a transcrição foi salva. Se o modelo restaurado foi descontinuado ou é excluído por [`availableModels`](#restrict-model-selection), a sessão recorre à ordem de precedência normal. Em provedores que usam IDs de implantação específicos do provedor em vez de IDs de modelo Anthropic, como Amazon Bedrock, Agent Platform do Google Cloud e Microsoft Foundry, o modelo da transcrição não é restaurado em absoluto e a sessão resolve seu modelo através da ordem de precedência normal.

160 160 


162 162 

163Um modelo que você escolhe para o novo lançamento com `--model` ou `ANTHROPIC_MODEL` ainda tem precedência sobre o modelo restaurado. A partir da v2.1.195, uma variável da família [`ANTHROPIC_DEFAULT_OPUS_MODEL`](#environment-variables) também tem. [`ANTHROPIC_DEFAULT_MODEL`](#set-a-default-model-for-new-sessions) pode também, sob as condições listadas em sua seção.163Um modelo que você escolhe para o novo lançamento com `--model` ou `ANTHROPIC_MODEL` ainda tem precedência sobre o modelo restaurado. A partir da v2.1.195, uma variável da família [`ANTHROPIC_DEFAULT_OPUS_MODEL`](#environment-variables) também tem. [`ANTHROPIC_DEFAULT_MODEL`](#set-a-default-model-for-new-sessions) pode também, sob as condições listadas em sua seção.

164 164 

165Quando o modelo ativo na inicialização vem das configurações de projeto ou gerenciadas em vez de sua própria seleção, o cabeçalho de inicialização mostra qual arquivo de configurações o definiu. Execute `/model` para substituir; a configuração de projeto ou gerenciada se reaplica no próximo lançamento. Em plataformas que incorporam Claude Code e definem [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/pt/env-vars), a configuração de modelo do host tem precedência sobre as configurações de modelo gerenciadas, enquanto uma lista de permissões `availableModels` gerenciada permanece em vigor a menos que o host forneça a sua própria; [Exceptions to managed settings precedence](/docs/pt/settings#exceptions-to-managed-settings-precedence) diz quais chaves e variáveis o host substitui.165Quando o modelo ativo na inicialização vem das configurações de projeto ou gerenciadas em vez de sua própria seleção, o cabeçalho de inicialização mostra qual arquivo de configurações o definiu. Execute `/model` para sobrescrever; a configuração de projeto ou gerenciada se reaplica no próximo lançamento. Em plataformas que incorporam Claude Code e definem [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/pt/env-vars), a configuração de modelo do host tem precedência sobre as configurações de modelo gerenciadas, enquanto uma allowlist `availableModels` gerenciada permanece em vigor a menos que o host forneça a sua própria; [Exceptions to managed settings precedence](/docs/pt/settings#exceptions-to-managed-settings-precedence) diz quais chaves e variáveis o host sobrescreve.

166 166 

167Se você ou sua organização configurarem [hooks PreModelSwitch](/docs/pt/hooks#premodelswitch), eles são executados antes de uma mudança solicitada ser aplicada e podem bloqueá-la ou pedir que você confirme.167Se você ou sua organização configurarem [hooks PreModelSwitch](/docs/pt/hooks#premodelswitch), eles são executados antes de uma mudança solicitada ser aplicada e podem bloqueá-la ou pedir que você confirme.

168 168 


170 170 

171Quando você muda de modelos através do método `setModel()` do [Agent SDK](/docs/pt/agent-sdk/overview), através de um aplicativo como o [Desktop app](/docs/pt/desktop), ou de um dispositivo conectado através de [Remote Control](/docs/pt/remote-control), Claude Code verifica o valor na mudança:171Quando você muda de modelos através do método `setModel()` do [Agent SDK](/docs/pt/agent-sdk/overview), através de um aplicativo como o [Desktop app](/docs/pt/desktop), ou de um dispositivo conectado através de [Remote Control](/docs/pt/remote-control), Claude Code verifica o valor na mudança:

172 172 

173* **Agent SDK ou um aplicativo**: com Claude Code v2.1.268 ou posterior, a menos que Claude Code aceite um ID de modelo localmente, como faz para sua [opção de modelo personalizado](#add-a-custom-model-option), ele confirma o ID com seu provedor na primeira vez que a sessão muda para ele. A confirmação é executada em cada provedor, e um ID que seu provedor não oferece é recusado na mudança em vez de falhar em sua próxima solicitação.173* **Agent SDK ou um aplicativo**: com Claude Code v2.1.268 ou posterior, a menos que Claude Code aceite um ID de modelo localmente, como faz para sua [opção de modelo personalizado](#add-a-custom-model-option), ele confirma o ID com seu provedor na primeira vez que a sessão muda para ele. A confirmação é executada em cada provedor, e um ID que seu provedor não oferece é recusado na mudança em vez de falhar em sua próxima requisição.

174* **Remote Control**: na API Anthropic, Claude Code verifica o valor localmente e não envia nenhuma solicitação.174* **Remote Control**: na API Anthropic, Claude Code verifica o valor localmente e não envia nenhuma requisição.

175 175 

176Consulte [Model is not a recognized model id](/docs/pt/errors#model-is-not-a-recognized-model-id) e [Model not found](/docs/pt/errors#model-not-found) para as mensagens.176Consulte [Model is not a recognized model id](/docs/pt/errors#model-is-not-a-recognized-model-id) e [Model not found](/docs/pt/errors#model-not-found) para as mensagens.

177 177 

178Se você definir o modelo com a flag `--model`, a variável de ambiente `ANTHROPIC_MODEL`, ou a configuração `model`, Claude Code não o verifica antecipadamente, e um valor digitado incorretamente produz [There's an issue with the selected model](/docs/pt/errors#theres-an-issue-with-the-selected-model) na primeira solicitação.178Se você definir o modelo com a flag `--model`, a variável de ambiente `ANTHROPIC_MODEL`, ou a configuração `model`, Claude Code não o verifica antecipadamente, e um valor digitado incorretamente produz [There's an issue with the selected model](/docs/pt/errors#theres-an-issue-with-the-selected-model) na primeira requisição.

179 179 

180Quando o modelo solicitado tem uma data de aposentadoria programada ou é automaticamente remapeado para uma versão mais recente, Claude Code mostra um aviso que nomeia o modelo solicitado. Sessões interativas o mostram como um aviso de inicialização. A partir da v2.1.182, o mesmo aviso é escrito em stderr em [modo não interativo](/docs/pt/headless) ao usar o formato de saída de texto padrão. A verificação também cobre um `model` definido em [frontmatter de subagentos](/docs/pt/sub-agents). O aviso stderr é suprimido para `--output-format json` e `stream-json`; leia o modelo real do campo `modelUsage` da [mensagem de resultado](/docs/pt/headless#get-structured-output) em vez disso.180Quando o modelo solicitado tem uma data de aposentadoria programada ou é automaticamente remapeado para uma versão mais recente, Claude Code mostra um aviso que nomeia o modelo solicitado. Sessões interativas o mostram como um aviso de inicialização. A partir da v2.1.182, o mesmo aviso é escrito em stderr em [modo não interativo](/docs/pt/headless) ao usar o formato de saída de texto padrão. A verificação também cobre um `model` definido em [frontmatter de subagentes](/docs/pt/sub-agents). O aviso stderr é suprimido para `--output-format json` e `stream-json`; leia o modelo real do campo `modelUsage` da [mensagem de resultado](/docs/pt/headless#get-structured-output) em vez disso.

181 181 

182Por exemplo, inicie uma sessão em Opus:182Por exemplo, inicie uma sessão em Opus:

183 183 


234 234 

235Quando você escolhe um modelo com `/model` e sua próxima sessão começa em algo diferente, estas são as causas usuais:235Quando você escolhe um modelo com `/model` e sua próxima sessão começa em algo diferente, estas são as causas usuais:

236 236 

237* **Você o escolheu para uma sessão.** Pressionar `s` no seletor, iniciar com `--model`, e executar `/model` em modo não interativo se aplicam apenas à sessão atual e deixam seu padrão salvo sozinho.237* **Você o escolheu para uma sessão.** Pressionar `s` no seletor, iniciar com `--model`, e executar `/model` em modo não interativo se aplicam apenas à sessão atual e deixam seu padrão salvo intacto.

238* **Algo com prioridade mais alta define o modelo.** Um valor `model` nas configurações de projeto ou gerenciadas, `ANTHROPIC_MODEL` em seu shell, ou um [padrão da organização](#organization-default-model) que seu administrador definiu para substituir as escolhas do usuário se aplica novamente em cada lançamento. Sua escolha `/model` ainda está salva; está sendo superada. Quando as configurações de projeto ou gerenciadas definem o modelo, o cabeçalho de inicialização nomeia o arquivo.238* **Algo com prioridade mais alta define o modelo.** Um valor `model` nas configurações de projeto ou gerenciadas, `ANTHROPIC_MODEL` em seu shell, ou um [padrão da organização](#organization-default-model) que seu administrador definiu para sobrescrever as escolhas do usuário se aplica novamente em cada lançamento. Sua escolha `/model` ainda está salva; está sendo superada. Quando as configurações de projeto ou gerenciadas definem o modelo, o cabeçalho de inicialização nomeia o arquivo.

239* **Claude Code não conseguiu salvar sua escolha.** `/model` escreve `model` em `~/.claude/settings.json`. Se você não conseguir escrever nesse arquivo, por exemplo porque outra ferramenta o gera ou o vincula a uma cópia somente leitura, o modelo que você escolheu dura para a sessão e o próximo lançamento lê o valor antigo. Defina `model` na ferramenta que gera o arquivo, ou torne o arquivo gravável. Consulte [A change you made in Claude Code is lost in new sessions](/docs/pt/settings#a-change-you-made-in-claude-code-is-lost-in-new-sessions).239* **Claude Code não conseguiu salvar sua escolha.** `/model` escreve `model` em `~/.claude/settings.json`. Se você não conseguir escrever nesse arquivo, por exemplo porque outra ferramenta o gera ou o vincula a uma cópia somente leitura, o modelo que você escolheu dura para a sessão e o próximo lançamento lê o valor antigo. Defina `model` na ferramenta que gera o arquivo, ou torne o arquivo gravável. Consulte [A change you made in Claude Code is lost in new sessions](/docs/pt/settings#a-change-you-made-in-claude-code-is-lost-in-new-sessions).

240* **Você retomou uma sessão.** Uma sessão que você retoma com `claude --resume` ou `--continue` geralmente [mantém o modelo que estava usando](#setting-your-model) em vez de seu padrão atual.240* **Você retomou uma sessão.** Uma sessão que você retoma com `claude --resume` ou `--continue` geralmente [mantém o modelo que estava usando](#setting-your-model) em vez de seu padrão atual.

241 241 


310* Sessões [Claude Tag](https://claude.com/docs/claude-tag/overview) são executadas em ambientes na nuvem, mas não recebem configurações gerenciadas pelo servidor; em um [ambiente auto-hospedado](/docs/pt/self-hosted-environments), elas ainda leem o arquivo de configurações gerenciadas na imagem do executor. Para definir o modelo para essas sessões, veja [Escolher o modelo para um escopo](https://claude.com/docs/claude-tag/admins/customize#choose-the-model-for-a-scope) no guia de administrador do Claude Tag.310* Sessões [Claude Tag](https://claude.com/docs/claude-tag/overview) são executadas em ambientes na nuvem, mas não recebem configurações gerenciadas pelo servidor; em um [ambiente auto-hospedado](/docs/pt/self-hosted-environments), elas ainda leem o arquivo de configurações gerenciadas na imagem do executor. Para definir o modelo para essas sessões, veja [Escolher o modelo para um escopo](https://claude.com/docs/claude-tag/admins/customize#choose-the-model-for-a-scope) no guia de administrador do Claude Tag.

311* Cowork, a aba de trabalho agentic no aplicativo Claude Desktop, executa suas sessões em Claude Code, mas, por design, não recebe configurações gerenciadas pelo servidor do console de administração claude.ai. Quando a lista `availableModels` em suas configurações gerenciadas pelo servidor é não vazia e um usuário escolhe um modelo fora dela, o servidor rejeita esse modelo para uma sessão Cowork remota. Um arquivo de configurações gerenciadas se aplica a sessões Cowork quando está presente onde a sessão é executada; sessões Cowork remotas são executadas em VMs gerenciadas pela Anthropic, onde um arquivo implantado no dispositivo não está presente.311* Cowork, a aba de trabalho agentic no aplicativo Claude Desktop, executa suas sessões em Claude Code, mas, por design, não recebe configurações gerenciadas pelo servidor do console de administração claude.ai. Quando a lista `availableModels` em suas configurações gerenciadas pelo servidor é não vazia e um usuário escolhe um modelo fora dela, o servidor rejeita esse modelo para uma sessão Cowork remota. Um arquivo de configurações gerenciadas se aplica a sessões Cowork quando está presente onde a sessão é executada; sessões Cowork remotas são executadas em VMs gerenciadas pela Anthropic, onde um arquivo implantado no dispositivo não está presente.

312* Sessões em [provedores de terceiros](/docs/pt/server-managed-settings#platform-availability) como Amazon Bedrock, Agent Platform do Google Cloud, Microsoft Foundry e [Claude Platform on AWS](/docs/pt/claude-platform-on-aws) não recebem configurações gerenciadas pelo servidor, portanto entregue a lista de permissões através de MDM ou arquivos de configurações gerenciadas lá.312* Sessões em [provedores de terceiros](/docs/pt/server-managed-settings#platform-availability) como Amazon Bedrock, Agent Platform do Google Cloud, Microsoft Foundry e [Claude Platform on AWS](/docs/pt/claude-platform-on-aws) não recebem configurações gerenciadas pelo servidor, portanto entregue a lista de permissões através de MDM ou arquivos de configurações gerenciadas lá.

313* A entrega gerenciada pelo servidor também requer que a sessão se autentique com um [login ou chave elegível](/docs/pt/server-managed-settings#platform-availability). Frotas que geram chaves apenas através de um script [`apiKeyHelper`](/docs/pt/settings-reference#apikeyhelper) devem entregar a lista de permissões através de MDM ou arquivos de configurações gerenciadas.313* A entrega a partir do console de administração também requer que a sessão faça a busca com um [login elegível](/docs/pt/server-managed-settings#platform-availability) em sua organização ou um token OAuth emitido para ela. Para frotas que se autenticam com chaves de API, sejam configuradas diretamente ou geradas por um script [`apiKeyHelper`](/docs/pt/settings-reference#apikeyhelper), entregue a allowlist através de MDM ou arquivos de configurações gerenciadas.

314* A aba Desktop Code também hospeda [sessões SSH](/docs/pt/desktop#ssh-sessions), que leem o arquivo de configurações gerenciadas do host remoto em que são executadas. Veja [Configurações gerenciadas de desktop](/docs/pt/desktop#managed-settings).314* A aba Desktop Code também hospeda [sessões SSH](/docs/pt/desktop#ssh-sessions), que leem o arquivo de configurações gerenciadas do host remoto em que são executadas. Veja [Configurações gerenciadas de desktop](/docs/pt/desktop#managed-settings).

315* Os seletores de modelo em claude.ai e no aplicativo Desktop ocultam ou desabilitam modelos excluídos pela lista de permissões de sua organização. O estado do seletor é uma conveniência para usuários; não é onde a aplicação acontece.315* Os seletores de modelo em claude.ai e no aplicativo Desktop ocultam ou desabilitam modelos excluídos pela lista de permissões de sua organização. O estado do seletor é uma conveniência para usuários; não é onde a aplicação acontece.

316 316 


500 500 

501Quando um administrador definiu um [modelo padrão da organização](#organization-default-model), `default` é resolvido para esse modelo em vez do padrão do tipo de conta acima. Requer Claude Code v2.1.196 ou posterior. `default` também pode ser resolvido para o modelo que você definiu com [`ANTHROPIC_DEFAULT_MODEL`](#set-a-default-model-for-new-sessions), sob as condições listadas em sua seção, ou para o modelo [registrado em sua conta](#setting-your-model).501Quando um administrador definiu um [modelo padrão da organização](#organization-default-model), `default` é resolvido para esse modelo em vez do padrão do tipo de conta acima. Requer Claude Code v2.1.196 ou posterior. `default` também pode ser resolvido para o modelo que você definiu com [`ANTHROPIC_DEFAULT_MODEL`](#set-a-default-model-for-new-sessions), sob as condições listadas em sua seção, ou para o modelo [registrado em sua conta](#setting-your-model).

502 502 

503Quando nada é registrado em sua conta, as configurações gerenciadas [aplicam a lista de permissões para o modelo Default](#enforce-the-allowlist-for-the-default-model), e o padrão do tipo de conta não está em `availableModels`, `default` é resolvido para o Default aplicado em vez do padrão do tipo de conta acima. Quando um padrão da organização e aplicação se aplicam, o padrão da organização substitui o padrão do tipo de conta primeiro e a aplicação é feita em seguida: um padrão da organização na lista de permissões é mantido, enquanto um fora da lista é resolvido para o Default aplicado.503Quando nada é registrado em sua conta, as configurações gerenciadas [aplicam a allowlist para o modelo Default](#enforce-the-allowlist-for-the-default-model), e o padrão do tipo de conta não está em `availableModels`, `default` é resolvido para o Default aplicado em vez do padrão do tipo de conta acima. Quando um padrão da organização e aplicação se aplicam, o padrão da organização substitui o padrão do tipo de conta primeiro e a aplicação é feita em seguida: um padrão da organização na allowlist é mantido, enquanto um fora da lista é resolvido para o Default aplicado.

504 504 

505Os modelos Fable não são o padrão do tipo de conta em nenhum plano ou provedor. Escolher um com `/model` o salva como o modelo selecionado em suas configurações de usuário, para que as sessões posteriores iniciem nele. Para a alteração única que Claude Code faz em uma seleção Fable 5 salva na v2.1.257, consulte [Trabalhar com Fable](#work-with-fable).505Os modelos Fable não são o padrão do tipo de conta em nenhum plano ou provedor. Escolher um com `/model` o salva como o modelo selecionado em suas configurações de usuário, para que as sessões posteriores iniciem nele. Para a alteração única que Claude Code faz em uma seleção Fable 5 salva na v2.1.257, consulte [Trabalhar com Fable](#work-with-fable).

506 506 


510 510 

511O alias do modelo `opusplan` fornece uma abordagem híbrida automatizada:511O alias do modelo `opusplan` fornece uma abordagem híbrida automatizada:

512 512 

513* **No modo de plano**: usa `opus` para raciocínio complexo e decisões de arquitetura513* **No modo de planejamento**: usa `opus` para raciocínio complexo e decisões de arquitetura

514* **No modo de execução**: alterna automaticamente para `sonnet` para geração de código e implementação514* **No modo de execução**: alterna automaticamente para `sonnet` para geração de código e implementação

515 515 

516Isso combina o raciocínio do Opus para planejamento com a eficiência do Sonnet para execução.516Isso combina o raciocínio do Opus para planejamento com a eficiência do Sonnet para execução.

517 517 

518A fase Opus do modo de plano usa a mesma janela de contexto que a configuração do modelo `opus`, e a fase de execução usa a mesma janela que `sonnet`. Quando `opus` e `sonnet` são resolvidos para modelos que são executados com a [janela de contexto de 1M](#extended-context) por padrão, como os modelos atuais fazem na Anthropic API, ambas as fases são executadas com ela. Para solicitar contexto de 1M para ambas as fases onde não o fazem, [defina o modelo](#setting-your-model) para `opusplan[1m]`, por exemplo com `/model opusplan[1m]`. Defini-lo com `/model` requer Claude Code v2.1.265 ou posterior; em versões anteriores, use o sinalizador `--model` ou a configuração `model` em vez disso.518A fase Opus do modo de planejamento usa a mesma janela de contexto que a configuração do modelo `opus`, e a fase de execução usa a mesma janela que `sonnet`. Quando `opus` e `sonnet` são resolvidos para modelos que são executados com a [janela de contexto de 1M](#extended-context) por padrão, como os modelos atuais fazem na Anthropic API, ambas as fases são executadas com ela. Para solicitar contexto de 1M para ambas as fases onde não o fazem, [defina o modelo](#setting-your-model) para `opusplan[1m]`, por exemplo com `/model opusplan[1m]`. Defini-lo com `/model` requer Claude Code v2.1.265 ou posterior; em versões anteriores, use a flag `--model` ou a configuração `model` em vez disso.

519 519 

520Quando [`availableModels`](#restrict-model-selection) exclui o Opus mais recente mas permite uma versão mais antiga, por exemplo `["sonnet", "claude-opus-4-6"]`, `opusplan` usa o Opus mais recente permitido para planejamento e permanece apenas em Sonnet quando todo Opus é excluído. Uma sessão Haiku que normalmente seria atualizada para Sonnet no modo de plano também usa o Sonnet mais recente permitido, e permanece apenas em Haiku quando todo Sonnet é excluído. Antes da v2.1.205, o modo de plano permanecia no modelo da sessão sempre que a versão mais recente da família de atualização era excluída, mesmo quando a lista de permissões permitia uma mais antiga.520Quando [`availableModels`](#restrict-model-selection) exclui o Opus mais recente mas permite uma versão mais antiga, por exemplo `["sonnet", "claude-opus-4-6"]`, `opusplan` usa o Opus mais recente permitido para planejamento e permanece apenas em Sonnet quando todo Opus é excluído. Uma sessão Haiku que normalmente seria atualizada para Sonnet no modo de planejamento também usa o Sonnet mais recente permitido, e permanece apenas em Haiku quando todo Sonnet é excluído. Antes da v2.1.205, o modo de planejamento permanecia no modelo da sessão sempre que a versão mais recente da família de atualização era excluída, mesmo quando a allowlist permitia uma mais antiga.

521 521 

522A substituição de uma versão mais antiga permitida se aplica na Anthropic API e [Claude Platform on AWS](/docs/pt/claude-platform-on-aws). No Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry e Mantle, cujas implantações usam IDs de modelo específicos do provedor, o modo de plano permanece no modelo da sessão sempre que o modelo de atualização é excluído.522A substituição de uma versão mais antiga permitida se aplica na Anthropic API e [Claude Platform on AWS](/docs/pt/claude-platform-on-aws). No Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry e Mantle, cujas implantações usam IDs de modelo específicos do provedor, o modo de planejamento permanece no modelo da sessão sempre que o modelo de atualização é excluído.

523 523 

524Para uma abordagem híbrida onde Claude decide no meio da tarefa quando consultar um segundo modelo em vez de alternar no limite do plano, consulte a [ferramenta advisor](/docs/pt/advisor).524Para uma abordagem híbrida onde Claude decide no meio da tarefa quando consultar um segundo modelo em vez de alternar no limite do plano, consulte a [ferramenta advisor](/docs/pt/advisor).

525 525 


527 Cadeias de modelo de fallback527 Cadeias de modelo de fallback

528</h3>528</h3>

529 529 

530Quando o modelo primário está sobrecarregado, indisponível ou retorna outro erro de servidor não repetível, Claude Code pode alternar para um modelo de fallback em vez de falhar na solicitação. Autenticação, faturamento, limite de taxa, tamanho de solicitação e erros de transporte, e uma [negação pela verificação de política da sua organização](/docs/pt/errors#automatic-retries), nunca acionam uma alternância; esses seguem sua manipulação normal de repetição e erro. Ele alterna quando [Amazon Bedrock](/docs/pt/amazon-bedrock#when-a-model-is-disabled-mid-session) ou [Google Cloud's Agent Platform](/docs/pt/google-vertex-ai#when-a-model-is-disabled-mid-session) recusa um modelo que sua conta não pode invocar, o que Claude Code trata como o modelo estar indisponível em vez de um erro de autenticação.530Quando o modelo primário está sobrecarregado, indisponível ou retorna outro erro de servidor não repetível, Claude Code pode alternar para um modelo de fallback em vez de falhar na requisição. Erros de autenticação, faturamento, rate limit, tamanho de requisição e transporte, e uma [negação pela verificação de política da sua organização](/docs/pt/errors#automatic-retries), nunca acionam uma alternância; esses seguem sua manipulação normal de nova tentativa e erro. Ele alterna quando [Amazon Bedrock](/docs/pt/amazon-bedrock#when-a-model-is-disabled-mid-session) ou [Google Cloud's Agent Platform](/docs/pt/google-vertex-ai#when-a-model-is-disabled-mid-session) recusa um modelo que sua conta não pode invocar, o que Claude Code trata como o modelo estar indisponível em vez de um erro de autenticação.

531 531 

532Configure um ou mais modelos de fallback e Claude Code os tenta em ordem, mostrando um aviso quando alterna. A alternância dura apenas para o turno atual, portanto sua próxima mensagem tenta o modelo primário primeiro novamente. Claude Code limita cadeias a três modelos após remoção de duplicatas e ignora entradas extras.532Configure um ou mais modelos de fallback e Claude Code os tenta em ordem, mostrando um aviso quando alterna. A alternância dura apenas para o turno atual, portanto sua próxima mensagem tenta o modelo primário primeiro novamente. Claude Code limita cadeias a três modelos após remoção de duplicatas e ignora entradas extras.

533 533 

534Defina uma cadeia para uma sessão com o sinalizador `--fallback-model`, que aceita uma lista separada por vírgulas:534Defina uma cadeia para uma sessão com a flag `--fallback-model`, que aceita uma lista separada por vírgulas:

535 535 

536```bash theme={null}536```bash theme={null}

537claude --fallback-model sonnet,haiku537claude --fallback-model sonnet,haiku


545}545}

546```546```

547 547 

548O sinalizador `--fallback-model` tem precedência sobre a configuração `fallbackModel`. Cada entrada aceita um nome de modelo ou alias, e `"default"` se expande para o modelo padrão.548A flag `--fallback-model` tem precedência sobre a configuração `fallbackModel`. Cada entrada aceita um nome de modelo ou alias, e `"default"` se expande para o modelo padrão.

549 549 

550Claude Code não confirma a cadeia na inicialização e `/status` não a exibe. O aviso mostrado quando uma alternância acontece é o primeiro sinal visível de que um fallback está configurado.550Claude Code não confirma a cadeia na inicialização e `/status` não a exibe. O aviso mostrado quando uma alternância acontece é o primeiro sinal visível de que um fallback está configurado.

551 551 

552Quando uma solicitação falha, Claude Code tenta cada entrada em ordem até que uma a aceite. Uma entrada que também não pode ser alcançada, como um modelo descontinuado fixado em configurações, falha para a próxima da mesma forma. Claude Code remove dois tipos de entrada antes dessa caminhada começar:552Quando uma requisição falha, Claude Code tenta cada entrada em ordem até que uma a aceite. Uma entrada que também não pode ser alcançada, como um modelo descontinuado fixado em configurações, falha para a próxima da mesma forma. Claude Code remove dois tipos de entrada antes dessa caminhada começar:

553 553 

554* **Fora da lista de permissões**: Claude Code descarta qualquer entrada não permitida por [`availableModels`](#restrict-model-selection) quando lê a cadeia.554* **Fora da allowlist**: Claude Code descarta qualquer entrada não permitida por [`availableModels`](#restrict-model-selection) quando lê a cadeia.

555* **Janela de contexto menor durante compactação**: a cadeia também cobre [compactação](/docs/pt/context-window#what-survives-compaction), mas Claude Code não fará fallback para um modelo com uma janela de contexto menor que a do primário, pois resumir lá cortaria parte da conversa primeiro. Se todo fallback for menor, a compactação mostra o erro original e você pode tentar novamente.555* **Janela de contexto menor durante compactação**: a cadeia também cobre [compactação](/docs/pt/context-window#what-survives-compaction), mas Claude Code não fará fallback para um modelo com uma janela de contexto menor que a do primário, pois resumir lá cortaria parte da conversa primeiro. Se todo fallback for menor, a compactação mostra o erro original e você pode tentar novamente.

556 556 

557Claude Code também aplica a cadeia a [subagentes](/docs/pt/sub-agents). Quando a solicitação de um subagente falha, Claude Code tenta seus modelos de fallback configurados em ordem, e o subagente continua no modelo que aceita a solicitação. O modelo da sua sessão permanece inalterado. Antes da v2.1.247, uma falha que a cadeia cobria terminava o subagente.557Claude Code também aplica a cadeia a [subagentes](/docs/pt/sub-agents). Quando a requisição de um subagente falha, Claude Code tenta seus modelos de fallback configurados em ordem, e o subagente continua no modelo que aceita a requisição. O modelo da sua sessão permanece inalterado. Antes da v2.1.247, uma falha que a cadeia cobria terminava o subagente.

558 558 

559<h3 id="automatic-model-fallback">559<h3 id="automatic-model-fallback">

560 Fallback automático de modelo560 Fallback automático de modelo


562 562 

563Esta seção cobre fallback baseado em conteúdo de modelos Fable, Opus 5.5, Sonnet 5.5 e Opus 5. Para fallback baseado em disponibilidade quando um modelo está sobrecarregado ou indisponível, consulte [Cadeias de modelo de fallback](#fallback-model-chains).563Esta seção cobre fallback baseado em conteúdo de modelos Fable, Opus 5.5, Sonnet 5.5 e Opus 5. Para fallback baseado em disponibilidade quando um modelo está sobrecarregado ou indisponível, consulte [Cadeias de modelo de fallback](#fallback-model-chains).

564 564 

565Os modelos Fable, Opus 5.5, Sonnet 5.5 e Opus 5 são executados com classificadores de segurança, que na maioria das vezes sinalizam conteúdo de cibersegurança e biologia. Quando um classificador sinaliza uma solicitação e a categoria sinalizada tem um modelo de fallback, Claude Code executa novamente a solicitação nesse modelo e mostra um aviso na transcrição. Para essas duas categorias, o modelo de fallback depende de qual modelo recusou:565Os modelos Fable, Opus 5.5, Sonnet 5.5 e Opus 5 são executados com classificadores de segurança, que na maioria das vezes sinalizam conteúdo de cibersegurança e biologia. Para essas duas categorias, o modelo de fallback depende de qual modelo recusou:

566 566 

567* **Fable 5.1, Fable 5 e Opus 5.5**: solicitações sinalizadas por biologia são executadas novamente em Opus 5, e solicitações sinalizadas por cibersegurança são executadas novamente em Opus 4.8.567* **Fable 5.1, Fable 5 e Opus 5.5**: requisições sinalizadas por biologia são executadas novamente em Opus 5, e requisições sinalizadas por cibersegurança são executadas novamente em Opus 4.8.

568* **Sonnet 5.5**: solicitações sinalizadas por cibersegurança são executadas novamente em Sonnet 5. Solicitações sinalizadas por biologia terminam com uma recusa, porque Sonnet 5.5 não tem modelo de fallback de biologia.568* **Sonnet 5.5**: requisições sinalizadas por cibersegurança são executadas novamente em Sonnet 5. Requisições sinalizadas por biologia terminam com uma recusa, porque Sonnet 5.5 não tem modelo de fallback de biologia.

569* **Opus 5**: solicitações sinalizadas por cibersegurança são executadas novamente em Opus 4.8. Solicitações sinalizadas por biologia terminam com uma recusa, porque Opus 5 executa seus próprios classificadores de biologia sem modelo de fallback.569* **Opus 5**: requisições sinalizadas por cibersegurança são executadas novamente em Opus 4.8. Requisições sinalizadas por biologia terminam com uma recusa, porque Opus 5 executa seus próprios classificadores de biologia sem modelo de fallback.

570 570 

571No Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry, Claude Code resolve esses destinos através dos IDs de modelo da sua implantação. Consulte [Ativar fallback no Bedrock, Agent Platform e Foundry](#enable-fallback-on-bedrock-agent-platform-and-foundry).571No Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry, Claude Code resolve esses destinos através dos IDs de modelo da sua implantação. Consulte [Ativar fallback no Bedrock, Agent Platform e Foundry](#enable-fallback-on-bedrock-agent-platform-and-foundry).

572 572 

573Quando Claude Code alterna uma requisição sinalizada para o modelo de fallback de sua categoria, ele executa novamente a requisição nesse modelo. Na sua conversa principal, ele mostra um aviso na transcrição. Para ser consultado antes, consulte [Perguntar antes de alternar](#ask-before-switching).

574 

573Após um fallback, a sessão continua no modelo de fallback. Para retornar ao seu modelo original, execute [`/model`](#setting-your-model).575Após um fallback, a sessão continua no modelo de fallback. Para retornar ao seu modelo original, execute [`/model`](#setting-your-model).

574 576 

575O fallback baseado em categoria requer Claude Code v2.1.219 ou posterior. Antes da v2.1.219, toda solicitação Fable 5 sinalizada era executada novamente no modelo Opus padrão do seu provedor, e Opus 5 não era uma fonte de fallback.577O fallback baseado em categoria requer Claude Code v2.1.219 ou posterior. Antes da v2.1.219, toda requisição Fable 5 sinalizada era executada novamente no modelo Opus padrão do seu provedor, e Opus 5 não era uma fonte de fallback.

576 578 

577O 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.579O 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.

578 580 


580 Nível de esforço após um fallback582 Nível de esforço após um fallback

581</h4>583</h4>

582 584 

583Quando Claude Code alterna sua sessão para o modelo de fallback, ele mantém o nível de esforço em que a requisição sinalizada foi executada no lugar do esforço padrão desse modelo. Por exemplo, uma sessão em Opus 5.5 em seu padrão `medium` que recorre ao Opus 4.8 como fallback permanece em `medium`, embora o padrão do Opus 4.8 seja `high`.585Quando Claude Code alterna sua sessão para o modelo de fallback, ele mantém o nível de esforço em que a requisição sinalizada foi executada. Por exemplo, uma sessão em Opus 5.5 em seu padrão `medium` que recorre ao Opus 4.8 como fallback permanece em `medium`, embora o padrão do Opus 4.8 seja `high`.

584 586 

585Um nível diferente se aplica em casos como estes:587Um nível diferente se aplica em casos como estes:

586 588 

587* **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.

588* **Sua própria alteração**: depois que você escolhe um nível de esforço, seleciona um modelo em `/model` ou retoma a sessão mais tarde, o nível da requisição sinalizada deixa de ser mantido.589* **Sua própria alteração**: depois que você escolhe um nível de esforço, seleciona um modelo em `/model` ou retoma a sessão mais tarde, o nível da requisição sinalizada deixa de ser mantido.

589* **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.590* **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.

590 591 

591O 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.592Na sessão, execute `/effort status` para ver o nível em vigor, ou `/effort` para alterá-lo.

592 593 

593<h4 id="check-what-triggered-fallback">594<h4 id="check-what-triggered-fallback">

594 Verificar o que acionou o fallback595 Verificar o que acionou o fallback

595</h4>596</h4>

596 597 

597O fallback pode ser acionado na primeira solicitação de uma sessão, antes de você enviar algo incomum, porque a primeira solicitação carrega contexto do espaço de trabalho, como seu conteúdo CLAUDE.md e status do git. Um repositório que contém material de segurança ou biologia pode acionar o classificador apenas nesse contexto.598O fallback pode ser acionado na primeira requisição de uma sessão, antes de você enviar algo incomum, porque a primeira requisição carrega contexto do workspace, como seu conteúdo CLAUDE.md e status do git. Um repositório que contém material de segurança ou biologia pode acionar o classificador apenas nesse contexto.

598 599 

599Para verificar se as personalizações são o gatilho, inicie uma sessão com `claude --safe-mode`, que desativa personalizações como CLAUDE.md, skills, servidores MCP e hooks. O status do git e nomes de diretórios não são personalizações e ainda estão inclusos.600Para verificar se as personalizações são o gatilho, inicie uma sessão com `claude --safe-mode`, que desativa personalizações como CLAUDE.md, skills, servidores MCP e hooks. O status do git e nomes de diretórios não são personalizações e ainda estão inclusos.

600 601 


602 Perguntar antes de alternar603 Perguntar antes de alternar

603</h4>604</h4>

604 605 

605Para decidir o que acontece cada vez que uma solicitação é sinalizada, em vez de alternar automaticamente, execute `/config` e desative **Switch models when a message is flagged**, ou defina [`switchModelsOnFlag`](/docs/pt/settings-reference#switchmodelsonflag) como `false` em seu arquivo de configurações. Uma solicitação sinalizada pausa a sessão com duas opções: alternar para o modelo de fallback ou editar o prompt e tentar novamente no modelo atual.606Para decidir o que acontece cada vez que uma requisição é sinalizada, execute `/config`, selecione **Switch models when a message is flagged** e escolha **Ask each time**. Você também pode definir [`switchModelsOnFlag`](/docs/pt/settings-reference#switchmodelsonflag) como `false` em seu arquivo de configurações. Claude Code então pausa em uma requisição sinalizada que alternaria modelos e oferece duas opções: alternar para o modelo de fallback ou editar o prompt e tentar novamente.

607 

608Na primeira vez que uma requisição sinalizada alternaria modelos em uma sessão interativa, Claude Code pode perguntar se deve alternar automaticamente a partir de então. Ele pergunta apenas se você não definiu `switchModelsOnFlag`, e salva sua escolha como essa chave em suas configurações de usuário.

606 609 

607Alguns casos se comportam diferentemente:610Se você escolher permanecer no modelo atual, o valor salvo é `false`, o mesmo que **Ask each time**. Se você dispensar a pergunta, Claude Code não salva nada e pergunta novamente na próxima vez que uma requisição sinalizada alternaria modelos.

608 611 

609* Quando a categoria sinalizada não tem modelo de fallback, como um sinalizador de biologia em Opus 5 ou Sonnet 5.5, Claude Code não mostra o prompt e a solicitação termina com a recusa.612Quando você escolheu **Ask each time**, alguns casos se comportam de forma diferente:

610* Se ambos os modelos sinalizarem a mesma solicitação, você pode editar o prompt e tentar novamente ou iniciar uma nova sessão.613 

611* Em sessões [Claude Code na web](/docs/pt/claude-code-on-the-web) no aplicativo móvel, edição e nova tentativa não são suportadas. Alterne modelos ou continue a sessão de um navegador de desktop ou do aplicativo de desktop.614* Quando a categoria sinalizada não tem modelo de fallback, como uma sinalização de biologia em Opus 5 ou Sonnet 5.5, Claude Code não mostra o prompt e a requisição termina com a recusa.

612* Em [modo não interativo](/docs/pt/cli-reference#cli-flags) e integrações SDK que não podem mostrar o prompt, uma solicitação sinalizada termina o turno com uma recusa.615* Se ambos os modelos sinalizarem a mesma requisição, você pode editar o prompt e tentar novamente ou iniciar uma nova sessão.

613* Quando o destino de fallback é bloqueado por [`availableModels`](#restrict-model-selection), Claude Code não mostra o prompt. A solicitação sinalizada termina com a recusa, o mesmo que fallback automático quando o destino é bloqueado.616* Em [sessões na nuvem](/docs/pt/claude-code-on-the-web) no aplicativo móvel, edição e nova tentativa não são suportadas. Alterne modelos ou continue a sessão de um navegador de desktop ou do aplicativo de desktop.

617* Em [modo não interativo](/docs/pt/cli-reference#cli-flags) e integrações SDK que não podem mostrar o prompt, uma requisição sinalizada termina o turno com uma recusa.

618* Em um [subagente](/docs/pt/sub-agents), Claude Code não mostra o prompt, e uma requisição sinalizada que alternaria modelos é executada novamente no modelo de fallback.

619* Quando o destino de fallback é bloqueado por [`availableModels`](#restrict-model-selection), Claude Code não mostra o prompt. A requisição sinalizada termina com a recusa, o mesmo que fallback automático quando o destino é bloqueado.

614 620 

615<h4 id="enable-fallback-on-bedrock-agent-platform-and-foundry">621<h4 id="enable-fallback-on-bedrock-agent-platform-and-foundry">

616 Ativar fallback no Bedrock, Agent Platform e Foundry622 Ativar fallback no Bedrock, Agent Platform e Foundry

617</h4>623</h4>

618 624 

619No [Amazon Bedrock](/docs/pt/amazon-bedrock), [Google Cloud's Agent Platform](/docs/pt/google-vertex-ai) e [Microsoft Foundry](/docs/pt/microsoft-foundry), IDs de modelo são específicos do provedor, portanto o fallback automático opera apenas quando Claude Code pode identificar ambos os modelos envolvidos:625No [Amazon Bedrock](/docs/pt/amazon-bedrock), [Google Cloud's Agent Platform](/docs/pt/google-vertex-ai) e [Microsoft Foundry](/docs/pt/microsoft-foundry), IDs de modelo são específicos do provedor, portanto o fallback automático opera apenas quando Claude Code pode identificar cada modelo envolvido:

620 626 

621* Claude Code deve reconhecer o modelo atual como uma fonte de fallback. Fable 5.1 e Fable 5 são reconhecidos quando o ID do modelo contém `claude-fable-5`, corresponde ao valor de `ANTHROPIC_DEFAULT_FABLE_MODEL` ou é mapeado com [`modelOverrides`](#override-model-ids-per-version). Opus 5.5, Sonnet 5.5 e Opus 5 são reconhecidos por seu ID de modelo do provedor ou um mapeamento [`modelOverrides`](#override-model-ids-per-version).627* Claude Code deve reconhecer o modelo atual como uma fonte de fallback. Fable 5.1 e Fable 5 são reconhecidos quando o ID do modelo contém `claude-fable-5`, corresponde ao valor de `ANTHROPIC_DEFAULT_FABLE_MODEL` ou é mapeado com [`modelOverrides`](#override-model-ids-per-version). Opus 5.5, Sonnet 5.5 e Opus 5 são reconhecidos por seu ID de modelo do provedor ou um mapeamento [`modelOverrides`](#override-model-ids-per-version).

622* Um destino Opus deve ser resolvido em sua implantação, qualquer que seja o modelo que recusou: defina `ANTHROPIC_DEFAULT_OPUS_MODEL` ou mantenha uma entrada Opus 4.8 na lista de modelos do provedor. Sem um, o fallback permanece desativado para cada modelo de origem, incluindo Sonnet 5.5, e solicitações sinalizadas terminam com uma recusa.628* Um destino Opus deve ser resolvido em sua implantação, qualquer que seja o modelo que recusou: defina `ANTHROPIC_DEFAULT_OPUS_MODEL` ou mantenha uma entrada Opus 4.8 na lista de modelos do provedor. Sem um, o fallback permanece desativado para cada modelo de origem, incluindo Sonnet 5.5, e requisições sinalizadas terminam com uma recusa.

623* O modelo de fallback da categoria sinalizada deve ser resolvido em sua implantação. De um modelo Fable, Opus 5.5 ou Opus 5, se você definir `ANTHROPIC_DEFAULT_OPUS_MODEL`, solicitações sinalizadas são executadas novamente nesse modelo para cada categoria que tem um fallback; um sinalizador de biologia em Opus 5 ainda termina com uma recusa. Se você não o definir, solicitações sinalizadas por cibersegurança são executadas novamente na entrada Opus 4.8, e solicitações sinalizadas por biologia de um modelo Fable ou Opus 5.5 em uma entrada Opus 5. De Sonnet 5.5, solicitações sinalizadas por cibersegurança são executadas novamente no modelo que você definiu em `ANTHROPIC_DEFAULT_SONNET_MODEL`, ou em uma entrada Sonnet 5 na lista de modelos do provedor se você não o definir.629* O modelo de fallback da categoria sinalizada deve ser resolvido em sua implantação. De um modelo Fable, Opus 5.5 ou Opus 5, se você definir `ANTHROPIC_DEFAULT_OPUS_MODEL`, requisições sinalizadas são executadas novamente nesse modelo para cada categoria que tem um fallback; uma sinalização de biologia em Opus 5 ainda termina com uma recusa. Se você não o definir, requisições sinalizadas por cibersegurança são executadas novamente na entrada Opus 4.8, e requisições sinalizadas por biologia de um modelo Fable ou Opus 5.5 em uma entrada Opus 5. De Sonnet 5.5, requisições sinalizadas por cibersegurança são executadas novamente no modelo que você definiu em `ANTHROPIC_DEFAULT_SONNET_MODEL`, ou em uma entrada Sonnet 5 na lista de modelos do provedor se você não o definir.

624 630 

625Se nenhum dos modelos puder ser identificado, Claude Code não alterna. A solicitação sinalizada termina com uma mensagem de recusa, e você pode alternar modelos com [`/model`](#setting-your-model) e tentar novamente. Para tornar ambos os modelos identificáveis, defina os pinos para seu modelo de origem:631Se algum dos modelos não puder ser identificado, Claude Code não alterna. A requisição sinalizada termina com uma mensagem de recusa, e você pode alternar modelos com [`/model`](#setting-your-model) e tentar novamente. Para tornar ambos os modelos identificáveis, defina os pinos para seu modelo de origem:

626 632 

627* **Modelos Fable**: defina `ANTHROPIC_DEFAULT_FABLE_MODEL` para seu ID de modelo Fable para que Claude Code o reconheça como uma fonte de fallback.633* **Modelos Fable**: defina `ANTHROPIC_DEFAULT_FABLE_MODEL` para seu ID de modelo Fable para que Claude Code o reconheça como uma fonte de fallback.

628* **Cada modelo de origem**: defina `ANTHROPIC_DEFAULT_OPUS_MODEL` para um ID de modelo Opus para ativar o fallback e dar às categorias sinalizadas um destino. Um pino que nomeia um modelo fora da família Opus, ou o modelo que recusou, deixa a recusa em pé.634* **Cada modelo de origem**: defina `ANTHROPIC_DEFAULT_OPUS_MODEL` para um ID de modelo Opus para ativar o fallback e dar às categorias sinalizadas um destino. Um pino que nomeia um modelo fora da família Opus, ou o modelo que recusou, deixa a recusa em pé.

629* **Sonnet 5.5**: além do pino Opus, defina `ANTHROPIC_DEFAULT_SONNET_MODEL` ou mantenha uma entrada Sonnet 5 na lista de modelos do provedor para fornecer o modelo em que a solicitação é executada novamente. Um pino Sonnet que nomeia um modelo fora da família Sonnet, ou Sonnet 5.5 em si, deixa a recusa em pé.635* **Sonnet 5.5**: além do pino Opus, defina `ANTHROPIC_DEFAULT_SONNET_MODEL` ou mantenha uma entrada Sonnet 5 na lista de modelos do provedor para fornecer o modelo em que a requisição é executada novamente. Um pino Sonnet que nomeia um modelo fora da família Sonnet, ou Sonnet 5.5 em si, deixa a recusa em pé.

636 

637O modelo de fallback também deve ter uma janela de contexto pelo menos tão grande quanto a da sessão; caso contrário, Claude Code não alterna e a requisição sinalizada termina com a mesma recusa. Nesses provedores, os modelos de origem são executados com a [janela de contexto de 1M](#extended-context) por padrão. Fixe um modelo que também o faça, como Opus 4.8 em `ANTHROPIC_DEFAULT_OPUS_MODEL` ou Sonnet 5 em `ANTHROPIC_DEFAULT_SONNET_MODEL`, por um ID que Claude Code [consiga associar a esse modelo](#pin-models-for-third-party-deployments).

630 638 

631<h4 id="security-research-and-biology-workloads">639<h4 id="security-research-and-biology-workloads">

632 Pesquisa de segurança e cargas de trabalho de biologia640 Pesquisa de segurança e cargas de trabalho de biologia

633</h4>641</h4>

634 642 

635Cargas de trabalho em segurança ofensiva ou biologia, incluindo testes de penetração, exercícios Capture the Flag (CTF) e bases de código adjacentes à biologia, acionam fallback frequentemente, geralmente na primeira solicitação. Para trabalho substantivo de biologia em Fable 5.1, Fable 5 ou Opus 5.5, Claude Code move a sessão para Opus 5 na primeira solicitação sinalizada, e solicitações posteriores sinalizadas por biologia terminam em recusas lá, porque Opus 5 não tem fallback de biologia. Em Opus 5 e Sonnet 5.5, você recebe essas recusas da primeira solicitação sinalizada.643Cargas de trabalho em segurança ofensiva ou biologia, incluindo testes de penetração, exercícios Capture the Flag (CTF) e bases de código adjacentes à biologia, acionam fallback frequentemente, geralmente na primeira requisição. Para trabalho substantivo de biologia em Fable 5.1, Fable 5 ou Opus 5.5, a primeira requisição sinalizada que alterna modelos move a sessão para Opus 5, e requisições posteriores sinalizadas por biologia terminam em recusas lá, porque Opus 5 não tem fallback de biologia. Em Opus 5 e Sonnet 5.5, você recebe essas recusas desde a primeira requisição sinalizada.

636 644 

637Este é o roteamento esperado para esses domínios, não um sinalizador de conta. Se sua organização precisar de capacidade de classe Fable para este trabalho, peça ao seu time de contas da Anthropic sobre programas de acesso confiável.645Este é o roteamento esperado para esses domínios, não uma sinalização de conta. Se sua organização precisar de capacidade de classe Fable para este trabalho, peça ao seu time de contas da Anthropic sobre programas de acesso confiável.

638 646 

639<h3 id="adjust-effort-level">647<h3 id="adjust-effort-level">

640 Ajustar nível de esforço648 Ajustar nível de esforço


656 664 

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

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

6593. O esforço padrão do modelo: `high` em cada modelo que suporta esforço, exceto que Opus 5.5, Sonnet 5.5 e Haiku 5.5 têm `medium` como padrão, Opus 4.7 tem `xhigh` como padrão 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 saber qual nível se aplica.6673. O esforço padrão do modelo: `high` em cada modelo que suporta esforço, exceto que Opus 5.5, Sonnet 5.5 e Haiku 5.5 têm `medium` como padrão, Opus 4.7 tem `xhigh` como padrão 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

668 

669Após um fallback automático de modelo, consulte [Nível de esforço após um fallback](#effort-level-after-a-fallback) para saber qual nível se aplica.

660 670 

661Opus 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.671Opus 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.

662 672 

663Quando você define `low`, `medium`, `high` ou `xhigh` em uma sessão interativa em sua máquina, você escolhe quanto tempo dura confirmando-o:673Quando você define `low`, `medium`, `high` ou `xhigh` em uma sessão interativa em sua máquina, você escolhe quanto tempo dura pela forma como o confirma:

664 674 

665* `Enter` no controle deslizante `/effort` ou no seletor `/model`, ou um nível digitado após `/effort`: salve o nível como seu padrão e aplique-o em sessões posteriores675* `Enter` no controle deslizante `/effort` ou no seletor `/model`, ou um nível digitado após `/effort`: salve o nível como seu padrão e aplique-o em sessões posteriores

666* `s` no controle deslizante `/effort` ou no seletor `/model`: aplique o nível apenas a esta sessão. Requer Claude Code v2.1.257 ou posterior676* `s` no controle deslizante `/effort` ou no seletor `/model`: aplique o nível apenas a esta sessão. Requer Claude Code v2.1.257 ou posterior


679 689 

680O controle deslizante `/effort` também tem um alternador **Ultracode**. Ultracode é uma configuração de Claude Code em vez de um nível de esforço do modelo: com ele ativado, Claude orquestra [fluxos de trabalho dinâmicos](/docs/pt/workflows) para tarefas substantivas, em qualquer nível de esforço em que a sessão é executada. Para onde pode ser definido persistentemente, consulte a configuração [`ultracode`](/docs/pt/settings-reference#ultracode).690O controle deslizante `/effort` também tem um alternador **Ultracode**. Ultracode é uma configuração de Claude Code em vez de um nível de esforço do modelo: com ele ativado, Claude orquestra [fluxos de trabalho dinâmicos](/docs/pt/workflows) para tarefas substantivas, em qualquer nível de esforço em que a sessão é executada. Para onde pode ser definido persistentemente, consulte a configuração [`ultracode`](/docs/pt/settings-reference#ultracode).

681 691 

682Ativar ou desativar ultracode com `/effort` ou a configuração `ultracode` deixa o nível de esforço inalterado. O sinalizador `--effort ultracode` e o valor Agent SDK `effortLevel: "ultracode"` o ativam e também definem o nível para `xhigh`. Escolher um nível no controle deslizante `/effort` ou no seletor `/model` deixa ultracode como estava.692Ativar ou desativar ultracode com `/effort` ou a configuração `ultracode` deixa o nível de esforço inalterado. A flag `--effort ultracode` e o valor Agent SDK `effortLevel: "ultracode"` o ativam e também definem o nível para `xhigh`. Escolher um nível no controle deslizante `/effort` ou no seletor `/model` deixa ultracode como estava.

683 693 

684Você pode ativar ultracode através de qualquer um dos seguintes:694Você pode ativar ultracode através de qualquer um dos seguintes:

685 695 

686* **`/effort`**: execute `/effort ultracode` para ativá-lo para a sessão atual ou `/effort ultracode off` para desativá-lo. No controle deslizante `/effort`, pressione `Tab` para alternar o alternador **Ultracode**, depois `Enter` para aplicá-lo696* **`/effort`**: execute `/effort ultracode` para ativá-lo para a sessão atual ou `/effort ultracode off` para desativá-lo. No controle deslizante `/effort`, pressione `Tab` para alternar o alternador **Ultracode**, depois `Enter` para aplicá-lo

687* **Sinalizador `--effort`**: lance com `claude --effort ultracode`, que inicia a sessão em esforço `xhigh` com ultracode ativado697* **Flag `--effort`**: lance com `claude --effort ultracode`, que inicia a sessão em esforço `xhigh` com ultracode ativado

688* **Configuração `ultracode`**: defina [`"ultracode": true`](/docs/pt/settings-reference#ultracode) em um arquivo de configurações, com `--settings`, ou em uma solicitação de controle Agent SDK. Uma solicitação [`applyFlagSettings()`](/docs/pt/agent-sdk/typescript#applyflagsettings) também aceita `effortLevel: "ultracode"`, que o ativa e define o nível de esforço para `xhigh`698* **Configuração `ultracode`**: defina [`"ultracode": true`](/docs/pt/settings-reference#ultracode) em um arquivo de configurações, com `--settings`, ou em uma requisição de controle Agent SDK. Uma requisição [`applyFlagSettings()`](/docs/pt/agent-sdk/typescript#applyflagsettings) também aceita `effortLevel: "ultracode"`, que o ativa e define o nível de esforço para `xhigh`

689 699 

690O formulário `/effort ultracode off`, o alternador do controle deslizante e manter ultracode ativado em níveis de esforço diferentes de `xhigh` requerem Claude Code v2.1.284 ou posterior. Antes da v2.1.284, ativar ultracode definia a sessão para esforço `xhigh`, escolher outro nível o desativava e um limite de esforço abaixo de `xhigh` o tornava indisponível.700A forma `/effort ultracode off`, o alternador do controle deslizante e manter ultracode ativado em níveis de esforço diferentes de `xhigh` requerem Claude Code v2.1.284 ou posterior. Antes da v2.1.284, ativar ultracode definia a sessão para esforço `xhigh`, escolher outro nível o desativava e um limite de esforço abaixo de `xhigh` o tornava indisponível.

691 701 

692Passar `ultracode` para o sinalizador `--effort` ou o valor Agent SDK `effortLevel` requer Claude Code v2.1.203 ou posterior. Antes da v2.1.203, `--effort ultracode` imprimia `Unknown --effort value 'ultracode'` e a sessão iniciava no esforço padrão.702Passar `ultracode` para a flag `--effort` ou o valor Agent SDK `effortLevel` requer Claude Code v2.1.203 ou posterior. Antes da v2.1.203, `--effort ultracode` imprimia `Unknown --effort value 'ultracode'` e a sessão iniciava no esforço padrão.

693 703 

694A configuração `effortLevel` persistida e a variável de ambiente `CLAUDE_CODE_EFFORT_LEVEL` não aceitam `ultracode`. Se `CLAUDE_CODE_EFFORT_LEVEL` ou um [limite de esforço](#organization-effort-limits) define o nível da sessão, ultracode permanece ativado nesse nível.704A configuração `effortLevel` persistida e a variável de ambiente `CLAUDE_CODE_EFFORT_LEVEL` não aceitam `ultracode`. Se `CLAUDE_CODE_EFFORT_LEVEL` ou um [limite de esforço](#organization-effort-limits) define o nível da sessão, ultracode permanece ativado nesse nível.

695 705 


721 731 

722A escala de esforço é calibrada por modelo, portanto o mesmo nome de nível não representa o mesmo valor subjacente entre modelos.732A escala de esforço é calibrada por modelo, portanto o mesmo nome de nível não representa o mesmo valor subjacente entre modelos.

723 733 

724Opus 5.5 [padrão para `medium`](#adjust-effort-level), um nível abaixo do padrão de Opus 5 de `high`. Nos testes da Anthropic, Opus 5.5 em `medium` corresponde ou excede Opus 5 em `high` em avaliações de codificação e trabalho de conhecimento. Em um determinado nível, Opus 5.5 tende a pensar mais por turno do que Opus 5. Quando você se move de Opus 5 para Opus 5.5, comece em `medium` em vez de levar o nível que você usou em Opus 5. Para testar níveis contra seu próprio trabalho, consulte [Calibrate effort](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-opus-5-5#calibrate-effort) no guia de prompting Opus 5.5.734Opus 5.5 [tem `medium` como padrão](#adjust-effort-level), um nível abaixo do padrão de Opus 5 de `high`. Nos testes da Anthropic, Opus 5.5 em `medium` corresponde ou excede Opus 5 em `high` em avaliações de codificação e trabalho de conhecimento. Em um determinado nível, Opus 5.5 tende a pensar mais por turno do que Opus 5. Quando você se move de Opus 5 para Opus 5.5, comece em `medium` em vez de levar o nível que você usou em Opus 5. Para testar níveis contra seu próprio trabalho, consulte [Calibrate effort](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-opus-5-5#calibrate-effort) no guia de prompting Opus 5.5.

725 735 

726<h4 id="use-ultrathink-for-one-off-deep-reasoning">736<h4 id="use-ultrathink-for-one-off-deep-reasoning">

727 Usar ultrathink para raciocínio profundo único737 Usar ultrathink para raciocínio profundo único


735 745 

736Você pode alterar o esforço através de qualquer um dos seguintes:746Você pode alterar o esforço através de qualquer um dos seguintes:

737 747 

738* **`/effort`**: execute `/effort` sem argumentos para abrir um controle deslizante interativo, `/effort` seguido por um nome de nível para defini-lo diretamente, ou `/effort auto` para limpar seu nível salvo para o modelo ativo. Você pode executá-lo enquanto Claude está trabalhando, e uma vez que você confirme o [aviso de cache](/docs/pt/prompt-caching#changing-effort-level), se Claude Code mostrar um, Claude Code aplica o novo nível à próxima solicitação no turno748* **`/effort`**: execute `/effort` sem argumentos para abrir um controle deslizante interativo, `/effort` seguido por um nome de nível para defini-lo diretamente, ou `/effort auto` para limpar seu nível salvo para o modelo ativo. Você pode executá-lo enquanto Claude está trabalhando, e uma vez que você confirme o [aviso de cache](/docs/pt/prompt-caching#changing-effort-level), se Claude Code mostrar um, Claude Code aplica o novo nível à próxima requisição no turno

739* **Em `/model`**: use as teclas de seta esquerda/direita para ajustar o controle deslizante de esforço ao selecionar um modelo749* **Em `/model`**: use as teclas de seta esquerda/direita para ajustar o controle deslizante de esforço ao selecionar um modelo

740* **Sinalizador `--effort`**: passe um nome de nível para defini-lo para uma única sessão ao lançar Claude Code750* **Flag `--effort`**: passe um nome de nível para defini-lo para uma única sessão ao lançar Claude Code

741* **Variável de ambiente**: defina `CLAUDE_CODE_EFFORT_LEVEL` para um nome de nível ou `auto`751* **Variável de ambiente**: defina `CLAUDE_CODE_EFFORT_LEVEL` para um nome de nível ou `auto`

742* **Configurações**: defina um nível por modelo em [`modelSettings`](/docs/pt/settings-reference#modelsettings), ou defina [`effortLevel`](/docs/pt/settings-reference#effortlevel) para `low`, `medium`, `high` ou `xhigh` como o padrão para modelos sem um. `max` não é aceito como um nível em nenhuma chave, e `ultracode` tem sua própria chave [`ultracode`](/docs/pt/settings-reference#ultracode)752* **Configurações**: defina um nível por modelo em [`modelSettings`](/docs/pt/settings-reference#modelsettings), ou defina [`effortLevel`](/docs/pt/settings-reference#effortlevel) para `low`, `medium`, `high` ou `xhigh` como o padrão para modelos sem um. `max` não é aceito como um nível em nenhuma chave, e `ultracode` tem sua própria chave [`ultracode`](/docs/pt/settings-reference#ultracode)

743* **De um dispositivo conectado**: em uma sessão [Remote Control](/docs/pt/remote-control#what-connected-devices-see), escolha um nível no controle de esforço em seu telefone ou em seu navegador. O nível se aplica apenas à sessão atual. Requer Claude Code v2.1.234 ou posterior753* **De um dispositivo conectado**: em uma sessão [Remote Control](/docs/pt/remote-control#what-connected-devices-see), escolha um nível no controle de esforço em seu telefone ou em seu navegador. O nível se aplica apenas à sessão atual. Requer Claude Code v2.1.234 ou posterior

744* **Frontmatter de skill e subagente**: defina `effort` em um arquivo markdown [skill](/docs/pt/skills#frontmatter-reference) ou [subagente](/docs/pt/sub-agents#supported-frontmatter-fields) para substituir o nível de esforço quando esse skill ou subagente é executado754* **Frontmatter de skill e subagente**: defina `effort` em um arquivo markdown de [skill](/docs/pt/skills#frontmatter-reference) ou [subagente](/docs/pt/sub-agents#supported-frontmatter-fields) para sobrescrever o nível de esforço quando essa skill ou subagente é executado

745 755 

746O esforço de frontmatter se aplica quando esse skill ou subagente está ativo, substituindo o nível de sessão, mas não a variável de ambiente. Um [`maxEffortLevel`](/docs/pt/settings-reference#maxeffortlevel) ou [limite de esforço da organização](#organization-effort-limits) ainda limita o nível em que o skill ou subagente é executado.756O esforço de frontmatter se aplica quando essa skill ou subagente está ativo, sobrescrevendo o nível de sessão, mas não a variável de ambiente. Um [`maxEffortLevel`](/docs/pt/settings-reference#maxeffortlevel) ou [limite de esforço da organização](#organization-effort-limits) ainda limita o nível em que a skill ou subagente é executado.

747 757 

748Se você definir `effortLevel` em [configurações gerenciadas](/docs/pt/managed-settings), Claude Code o aplica na etapa de configurações da [ordem de resolução de esforço](#adjust-effort-level), e os usuários ainda podem alterar o nível com `/effort` ou `--effort`. Para manter os usuários em ou abaixo de um nível, defina [`maxEffortLevel`](/docs/pt/settings-reference#maxeffortlevel).758Se você definir `effortLevel` em [configurações gerenciadas](/docs/pt/managed-settings), Claude Code o aplica na etapa de configurações da [ordem de resolução de esforço](#adjust-effort-level), e os usuários ainda podem alterar o nível com `/effort` ou `--effort`. Para manter os usuários em ou abaixo de um nível, defina [`maxEffortLevel`](/docs/pt/settings-reference#maxeffortlevel).

749 759 


777 787 

778<a id="extended-context-with-1m" />788<a id="extended-context-with-1m" />

779 789 

790<span id="sonnet-5-5-and-sonnet-5-context-window" />

791 

780<h3 id="extended-context">792<h3 id="extended-context">

781 Contexto estendido793 Contexto estendido

782</h3>794</h3>

783 795 

784Fable 5.1, Fable 5, Sonnet 5 e posterior, Haiku 5.5, Opus 4.6 e posterior, e Sonnet 4.6 suportam uma [janela de contexto de 1 milhão de tokens](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) para sessões longas com bases de código grandes.796Fable 5.1, Fable 5, Sonnet 5 e posterior, Haiku 5.5, Opus 4.6 e posterior, e Sonnet 4.6 suportam uma [janela de contexto de 1 milhão de tokens](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) para sessões longas com bases de código grandes.

785 797 

786Na Anthropic API, Fable 5.1, Fable 5, Sonnet 5 e posterior, Haiku 5.5, e Opus 4.7 e posterior são executados com a janela de 1M em cada plano, incluindo Pro. Você não seleciona uma variante `[1m]` ou ativa créditos de uso para a janela de 1M nesses modelos. O uso de Fable em si pode ser faturado para créditos de uso em alguns planos; consulte [Fable e créditos de uso](#fable-and-usage-credits).798Fable 5.1, Fable 5, Sonnet 5 e posterior, Haiku 5.5, e Opus 4.7 e posterior são executados com a janela de 1M por padrão, sem necessidade do sufixo `[1m]`. Isso inclui sessões no Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry, e sessões do [Claude apps gateway](/docs/pt/claude-apps-gateway). Para executá-los com uma janela de 200K em vez disso, consulte [Desativar o contexto de 1M](#turn-off-1m-context).

787 799 

788Opus 4.6 e Sonnet 4.6 alcançam 1M apenas através de sua variante `[1m]`, e o acesso a essa variante depende do seu plano. Nos planos Max, Team e Enterprise, incluindo assentos Team Standard e Team Premium, Opus 4.6 com contexto de 1M está incluído em sua assinatura. Sonnet 4.6 com contexto de 1M requer [créditos de uso](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) em cada plano de assinatura, incluindo Max.800Opus 4.6 e Sonnet 4.6 alcançam 1M apenas através de sua variante `[1m]`, e o acesso a essa variante depende do seu plano. Nos planos Max, Team e Enterprise, incluindo assentos Team Standard e Team Premium, Opus 4.6 com contexto de 1M está incluído em sua assinatura. Sonnet 4.6 com contexto de 1M requer [créditos de uso](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) em cada plano de assinatura, incluindo Max.

789 801 


793| Pro | Requer [créditos de uso](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) | Requer [créditos de uso](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |805| Pro | Requer [créditos de uso](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) | Requer [créditos de uso](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |

794| API e pagamento conforme o uso | Acesso completo | Acesso completo |806| API e pagamento conforme o uso | Acesso completo | Acesso completo |

795 807 

796Claude Code verifica esses requisitos de plano apenas quando se conecta diretamente à Anthropic API. Se você apontar `ANTHROPIC_BASE_URL` para um [gateway LLM](/docs/pt/llm-gateway#subscriptions-and-gateways) e seu login claude.ai salvo permanecer a credencial ativa, Claude Code não verifica seus créditos de uso do plano. As opções `[1m]` permanecem disponíveis em `/model`, e o gateway decide se a solicitação é bem-sucedida. Antes da v2.1.229, Claude Code rejeitava `/model sonnet[1m]` nessa configuração quando não conseguia confirmar créditos de uso na conta.808Claude Code verifica esses requisitos de plano apenas quando se conecta diretamente à Anthropic API. Se você apontar `ANTHROPIC_BASE_URL` para um [gateway de LLM](/docs/pt/llm-gateway#subscriptions-and-gateways) e seu login claude.ai salvo permanecer a credencial ativa, Claude Code não verifica seus créditos de uso do plano. As opções `[1m]` permanecem disponíveis em `/model`, e o gateway decide se a requisição é bem-sucedida. Antes da v2.1.229, Claude Code rejeitava `/model sonnet[1m]` nessa configuração quando não conseguia confirmar créditos de uso na conta.

797 809 

798<span id="context-window-behind-a-gateway" />810Na Anthropic API, a janela de contexto de 1M usa preços de modelo padrão sem prêmio para tokens além de 200K, exceto no Haiku 5.5, que [custa mais em prompts com mais de 100K tokens](#haiku-5-5-context-window-and-pricing). Para planos onde contexto estendido está incluído em sua assinatura, o uso permanece coberto por sua assinatura. Para planos que acessam contexto estendido através de créditos de uso, tokens são faturados para créditos de uso.

799 

800Se você definir `ANTHROPIC_BASE_URL` para um [gateway de LLM](/docs/pt/llm-gateway) ou outro proxy, Claude Code dá a cada modelo que reconhece a mesma janela de contexto que o modelo tem na Anthropic API. Fable 5.1, Fable 5, Sonnet 5 e posterior, Haiku 5.5, e Opus 4.7 e posterior recebem a janela de 1M sem nenhuma variante `[1m]` para selecionar, e um modelo que alcança 1M apenas através de sua variante `[1m]`, como Opus 4.6, é executado em 200K sem ela. Claude Code não pode detectar um limite inferior que o gateway ou o servidor atrás dele impõe. Se seu gateway rejeita requisições acima de 200K tokens, defina [`CLAUDE_CODE_AUTO_COMPACT_WINDOW=200000`](/docs/pt/env-vars) no ambiente que inicia Claude Code, para que as sessões em cada modelo [compactem nesse limite](#set-the-auto-compact-window).

801 

802Para desativar contexto de 1M, defina `CLAUDE_CODE_DISABLE_1M_CONTEXT=1`. Claude Code remove variantes de modelo de 1M do seletor de modelo. Em modelos com uma janela nativa de 1M, como Sonnet 5 e os modelos Fable, também trata o modelo como tendo uma janela de contexto de 200K:

803 

804* Com compactação automática ativada, sessões compactam no limite de 200K através de [compactação automática](#set-the-auto-compact-window). Definir a janela de compactação automática acima de 200K não levanta a retenção, porque Claude Code limita essa janela à janela de contexto do modelo.

805* Com compactação automática desativada, sessões param no limite de 200K com o [erro de limite de contexto](/docs/pt/errors#prompt-is-too-long) em vez de compactar.

806 811 

807Antes da v2.1.223, Claude Code mantinha apenas sessões Sonnet 5, Opus 4.8 e Opus 5 em 200K. Consulte [variáveis de ambiente](/docs/pt/env-vars).812<h4 id="select-1m-context-for-opus-4-6-or-sonnet-4-6">

808 813 Selecionar contexto de 1M para Opus 4.6 ou Sonnet 4.6

809A janela de contexto de 1M usa preços de modelo padrão sem prêmio para tokens além de 200K, exceto no Haiku 5.5, que [custa mais em prompts com mais de 100K tokens](#haiku-5-5-context-window-and-pricing). Para planos onde contexto estendido está incluído em sua assinatura, o uso permanece coberto por sua assinatura. Para planos que acessam contexto estendido através de créditos de uso, tokens são faturados para créditos de uso.814</h4>

810 

811Se sua conta suporta contexto de 1M, a opção aparece no seletor `/model` nas versões mais recentes de Claude Code. Se você não a vê, reinicie sua sessão, e em um provedor de terceiros verifique se sua implantação [fixou o modelo](#pin-models-for-third-party-deployments) com uma variável `ANTHROPIC_DEFAULT_*_MODEL`.

812 815 

813Você também pode usar o sufixo `[1m]` com aliases de modelo ou nomes de modelo completos:816Para selecionar uma variante de 1M pelo nome, anexe o sufixo `[1m]` a um alias de modelo ou a um nome de modelo completo:

814 817 

815```text theme={null}818```text theme={null}

816# Use o alias opus[1m] ou sonnet[1m]819# Append [1m] to a full model name

817/model opus[1m]820/model claude-opus-4-6[1m]

818/model sonnet[1m]821/model claude-sonnet-4-6[1m]

819 822 

820# Ou anexe [1m] a um nome de modelo completo823# Or to an alias: the suffix applies to the model the alias resolves to

821/model claude-opus-4-8[1m]824/model opus[1m]

822```825```

823 826 

824<h4 id="sonnet-5-5-and-sonnet-5-context-window">827<span id="context-window-behind-a-gateway" />

825 Janela de contexto Sonnet 5.5 e Sonnet 5828 

829<h4 id="context-window-behind-an-llm-gateway">

830 Janela de contexto atrás de um gateway de LLM

826</h4>831</h4>

827 832 

828Na Anthropic API, Sonnet 5.5 e Sonnet 5 sempre são executados com a janela de contexto de 1M. Não há variante de 200K, nenhum sufixo `[1m]` para selecionar e nenhum crédito de uso necessário em nenhum plano. Sessões compactam automaticamente antes da janela preencher, em cerca de 967K tokens por padrão; defina [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/pt/env-vars) para escolher um limite diferente.833Se você definir `ANTHROPIC_BASE_URL` para um [gateway de LLM](/docs/pt/llm-gateway) ou outro proxy, Claude Code dá a cada modelo que reconhece a mesma janela de contexto que o modelo tem na Anthropic API. Fable 5.1, Fable 5, Sonnet 5 e posterior, Haiku 5.5, e Opus 4.7 e posterior recebem a janela de 1M sem nenhuma variante `[1m]` para selecionar, e um modelo que alcança 1M apenas através de sua variante `[1m]`, como Opus 4.6, é executado em 200K sem ela. Claude Code não pode detectar um limite inferior que o gateway ou o servidor atrás dele impõe. Se seu gateway rejeita requisições acima de 200K tokens, defina [`CLAUDE_CODE_AUTO_COMPACT_WINDOW=200000`](/docs/pt/env-vars) no ambiente que inicia Claude Code, para que as sessões em cada modelo [compactem nesse limite](#set-the-auto-compact-window).

829 834 

830Claude Code dá a Sonnet 5.5 e Sonnet 5 a mesma janela de 1M atrás de um [gateway LLM](/docs/pt/llm-gateway) ou outro `ANTHROPIC_BASE_URL` personalizado. Se seu gateway impõe um limite inferior, consulte [a janela de contexto atrás de um gateway](#context-window-behind-a-gateway).835<h4 id="turn-off-1m-context">

836 Desativar o contexto de 1M

837</h4>

831 838 

832Esta configuração orça a janela em 200K em vez disso:839Para manter as sessões em uma janela de 200K, defina `CLAUDE_CODE_DISABLE_1M_CONTEXT=1` em seu shell ou em um [arquivo de configurações](/docs/pt/env-vars#set-environment-variables). Claude Code remove as variantes de modelo `[1m]` do seletor de modelo. Em modelos que são executados com a janela de 1M por padrão, como os modelos Fable, Sonnet 5 e posterior, e Opus 4.7 e posterior, também trata o modelo como tendo uma janela de contexto de 200K:

833 840 

834* **`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`**: mantém sessões em cada modelo com uma janela nativa de 1M em uma janela de 200K; consulte [Contexto estendido](#extended-context) para como a retenção é aplicada. Útil para implantações que precisam limitar contexto.841* Com compactação automática ativada, sessões compactam no limite de 200K através de [compactação automática](#set-the-auto-compact-window). Definir a janela de compactação automática acima de 200K não levanta a retenção, porque Claude Code limita essa janela à janela de contexto do modelo.

842* Com compactação automática desativada, sessões param no limite de 200K com o [erro de limite de contexto](/docs/pt/errors#prompt-is-too-long) em vez de compactar.

835 843 

836<h4 id="haiku-5-5-context-window-and-pricing">844<h4 id="haiku-5-5-context-window-and-pricing">

837 Janela de contexto e preços do Haiku 5.5845 Janela de contexto e preços do Haiku 5.5


844Sessões compactam automaticamente em cerca de 967K tokens por padrão. Para compactar mais cedo, [defina uma janela de compactação automática menor](#set-the-auto-compact-window) para o modelo.852Sessões compactam automaticamente em cerca de 967K tokens por padrão. Para compactar mais cedo, [defina uma janela de compactação automática menor](#set-the-auto-compact-window) para o modelo.

845 853 

846<h2 id="context-window-and-auto-compaction">854<h2 id="context-window-and-auto-compaction">

847 Janela de contexto e auto-compactação855 Janela de contexto e compactação automática

848</h2>856</h2>

849 857 

850A janela de auto-compactação é o quão cheia a janela de contexto pode ficar antes de Claude Code compactar a conversa. Para saber o que a compactação mantém e descarta por mecanismo, consulte [O que sobrevive à compactação](/docs/pt/context-window#what-survives-compaction).858A janela de compactação automática é o quão cheia a janela de contexto pode ficar antes de Claude Code compactar a conversa. Para saber o que a compactação mantém e descarta por mecanismo, consulte [O que sobrevive à compactação](/docs/pt/context-window#what-survives-compaction).

851 859 

852<h3 id="set-the-auto-compact-window">860<h3 id="set-the-auto-compact-window">

853 Definir a janela de auto-compactação861 Definir a janela de compactação automática

854</h3>862</h3>

855 863 

856Você pode definir a janela de compactação automática nestes lugares:864Você pode definir a janela de compactação automática nestes lugares:

857 865 

858* **Para o modelo atual, nesta sessão e nas posteriores**: execute `/autocompact` com um valor, como `/autocompact 500k`. Claude Code o salva em suas configurações de usuário sob o modelo atual em [`modelSettings`](/docs/pt/settings-reference#modelsettings) e o aplica à sessão atual. Se um [escopo de configurações](/docs/pt/settings#settings-precedence) de prioridade mais alta, como configurações gerenciadas, definir sua própria janela para esse modelo ou para todos os modelos, o comando salva seu valor, mas a sessão mantém a janela desse escopo, e o comando informa isso. Execute `/autocompact auto` para retornar à janela ajustada para seu modelo. Antes da v2.1.288, o comando salvava uma única janela para todos os modelos, como a chave de nível superior `autoCompactWindow`.866* **Para o modelo atual, nesta sessão e nas posteriores**: execute `/autocompact` com um valor, como `/autocompact 500k`. Claude Code o salva em suas configurações de usuário sob o modelo atual em [`modelSettings`](/docs/pt/settings-reference#modelsettings) e o aplica à sessão atual. Se um [escopo de configurações](/docs/pt/settings#settings-precedence) de prioridade mais alta, como configurações gerenciadas, definir sua própria janela para esse modelo ou para todos os modelos, o comando salva seu valor, mas a sessão mantém a janela desse escopo, e o comando informa isso. Execute `/autocompact auto` para retornar à janela ajustada para seu modelo. Antes da v2.1.288, o comando salvava uma única janela para todos os modelos, como a chave de nível superior `autoCompactWindow`.

859* **Para todos os modelos**: defina [`autoCompactWindow`](/docs/pt/settings-reference#autocompactwindow) em um arquivo de configurações, como `"autoCompactWindow": 200000` em `~/.claude/settings.json`. Uma janela que você salvou para um modelo com `/autocompact` tem precedência sobre essa chave no mesmo arquivo para esse modelo.867* **Para todos os modelos**: defina [`autoCompactWindow`](/docs/pt/settings-reference#autocompactwindow) em um arquivo de configurações, como `"autoCompactWindow": 200000` em `~/.claude/settings.json`. Uma janela que você salvou para um modelo com `/autocompact` tem precedência sobre essa chave no mesmo arquivo para esse modelo.

860* **Para um lançamento**: passe [`--autocompact`](/docs/pt/cli-reference#cli-flags) ao iniciar Claude Code. O sinalizador substitui sua configuração salva para esse lançamento sem alterá-la, e `claude --autocompact auto` executa a sessão na janela ajustada mesmo se sua configuração salva tiver um valor. Diferentemente de `/autocompact`, o sinalizador não é preemptado por um escopo de configurações de prioridade mais alta, como configurações gerenciadas.868* **Para um lançamento**: passe [`--autocompact`](/docs/pt/cli-reference#cli-flags) ao iniciar Claude Code. A flag sobrescreve sua configuração salva para esse lançamento sem alterá-la, e `claude --autocompact auto` executa a sessão na janela ajustada mesmo se sua configuração salva tiver um valor. Diferentemente de `/autocompact`, a flag não é preemptada por um escopo de configurações de prioridade mais alta, como configurações gerenciadas.

861* **Em scripts e ambientes em nuvem**: defina [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/pt/env-vars). Enquanto estiver definido, ele tem precedência sobre o comando, o sinalizador e a configuração, e `/autocompact` relata a substituição em vez de alterar a janela.869* **Em scripts e ambientes em nuvem**: defina [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/pt/env-vars). Enquanto estiver definida, ela tem precedência sobre o comando, a flag e a configuração, e `/autocompact` relata a substituição em vez de alterar a janela.

862 870 

863O comando e o sinalizador aceitam um tamanho de janela de 100K a 1M de tokens, em qualquer uma destas formas:871O comando e a flag aceitam um tamanho de janela de 100K a 1M de tokens, em qualquer uma destas formas:

864 872 

865* Uma contagem de token simples, como `200000`873* Uma contagem de tokens simples, como `200000`

866* Um sufixo `k` ou `M`, como `500k` ou `1M`874* Um sufixo `k` ou `M`, como `500k` ou `1M`

867* Um número simples de 100 a 1000, significando milhares, então `200` define 200.000875* Um número simples de 100 a 1000, significando milhares, então `200` define 200.000

868 876 

869A variável de ambiente aceita apenas a contagem de token simples. Claude Code limita a janela à janela de contexto do modelo.877A variável de ambiente aceita apenas a contagem de tokens simples. Claude Code limita a janela à janela de contexto do modelo.

870 878 

871<h3 id="default-auto-compact-thresholds">879<h3 id="default-auto-compact-thresholds">

872 Limites padrão de auto-compactação880 Limites padrão de compactação automática

873</h3>881</h3>

874 882 

875Se você não definir uma janela de auto-compactação, Claude Code compacta quando a conversa atinge o limite de contexto do modelo, exceto nestas sessões:883Se você não definir uma janela de compactação automática, Claude Code compacta quando a conversa atinge o limite de contexto do modelo, exceto nestas sessões:

876 884 

877* [Sessões em nuvem](/docs/pt/claude-code-on-the-web) compactam conforme a conversa se aproxima do limite do modelo885* [Sessões na nuvem](/docs/pt/claude-code-on-the-web) compactam conforme a conversa se aproxima do limite do modelo

878* Sonnet 4.6 e Opus 4.6 sem [contexto estendido](#extended-context) compactam no limite de 200K, e assim fazem Opus 4.8 e posteriores quando executam com uma janela de contexto de 200K, como no Amazon Bedrock, na Plataforma de Agentes do Google Cloud e no Microsoft Foundry886* Sonnet 4.6 e Opus 4.6 sem [contexto estendido](#extended-context) compactam no limite de 200K

879* Quando você define [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/pt/env-vars), modelos com uma janela nativa de 1M, como Sonnet 5 e os modelos Fable, compactam no limite de 200K887* Quando você define [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/pt/env-vars), modelos com uma janela nativa de 1M, como Sonnet 5 e os modelos Fable, compactam no limite de 200K

880* Modelos executando com uma janela nativa de 1M compactam antes da janela se encher, em aproximadamente 967K tokens por padrão. Na API Anthropic, estes incluem Sonnet 5, Haiku 5.5, os modelos Fable e Opus 4.7 e posteriores. No Amazon Bedrock, na Plataforma de Agentes do Google Cloud e no Microsoft Foundry, consulte [Fixar modelos para implantações de terceiros](#pin-models-for-third-party-deployments) para saber quais modelos executam com essa janela. Atrás de uma `ANTHROPIC_BASE_URL` personalizada, consulte [a janela de contexto atrás de um gateway](#context-window-behind-a-gateway)888* Modelos executando com uma janela nativa de 1M compactam antes da janela se encher, em aproximadamente 967K tokens por padrão. Estes incluem os modelos Fable, Sonnet 5 e posteriores, Haiku 5.5 e Opus 4.7 e posteriores. Atrás de uma `ANTHROPIC_BASE_URL` personalizada, consulte [a janela de contexto atrás de um gateway](#context-window-behind-a-gateway)

881* Sessões em um ID de modelo que Claude Code não reconhece, como um alias de [gateway LLM](/docs/pt/llm-gateway), compactam na janela de contexto que Claude Code assume para o ID; consulte [Corrigir a janela para um gateway ou ID de modelo personalizado](#correct-the-window-for-a-gateway-or-custom-model-id)889* Sessões em um ID de modelo que Claude Code não reconhece, como um alias de [gateway de LLM](/docs/pt/llm-gateway), compactam na janela de contexto que Claude Code assume para o ID; consulte [Corrigir a janela para um gateway ou ID de modelo personalizado](#correct-the-window-for-a-gateway-or-custom-model-id)

882 890 

883<h3 id="correct-the-window-for-a-gateway-or-custom-model-id">891<h3 id="correct-the-window-for-a-gateway-or-custom-model-id">

884 Corrigir a janela para um gateway ou ID de modelo personalizado892 Corrigir a janela para um gateway ou ID de modelo personalizado

885</h3>893</h3>

886 894 

887Em um [gateway LLM](/docs/pt/llm-gateway) ou outra implantação personalizada, Claude Code pode assumir uma janela de contexto para o ID do modelo que difere da janela real do modelo, independentemente de resolver ou não o ID para um modelo Claude. Defina [`CLAUDE_CODE_MAX_CONTEXT_TOKENS`](/docs/pt/env-vars) para a janela que Claude Code deve assumir em vez disso.895Em um [gateway de LLM](/docs/pt/llm-gateway) ou outra implantação personalizada, Claude Code pode assumir uma janela de contexto para o ID do modelo que difere da janela real do modelo, independentemente de resolver ou não o ID para um modelo Claude. Defina [`CLAUDE_CODE_MAX_CONTEXT_TOKENS`](/docs/pt/env-vars) para a janela que Claude Code deve assumir em vez disso.

888 896 

889Como a variável se aplica depende do ID. Claude Code trata um ID como um provedor ou ortografia personalizada quando não começa com `claude-`, em qualquer capitalização, ou quando carrega um sufixo que Claude Code remove ao ler o ID, como a data `@YYYYMMDD` usada na Plataforma de Agentes do Google Cloud. Antes da v2.1.259, Claude Code não contava um sufixo removido, então um ID `claude-` não reconhecido com um sufixo de data era tratado como um nome `claude-` simples.897Como a variável se aplica depende do ID. Claude Code trata um ID como um provedor ou ortografia personalizada quando não começa com `claude-`, em qualquer capitalização, ou quando carrega um sufixo que Claude Code remove ao ler o ID, como a data `@YYYYMMDD` usada na Plataforma de Agentes do Google Cloud. Antes da v2.1.259, Claude Code não contava um sufixo removido, então um ID `claude-` não reconhecido com um sufixo de data era tratado como um nome `claude-` simples.

890 898 


893* Se Claude Code não conseguir resolver um provedor ou ortografia personalizada para um modelo que reconhece e o ID não contiver `[1m]`, a variável se aplica diretamente e a compactação proativa continua na janela declarada.901* Se Claude Code não conseguir resolver um provedor ou ortografia personalizada para um modelo que reconhece e o ID não contiver `[1m]`, a variável se aplica diretamente e a compactação proativa continua na janela declarada.

894* Se Claude Code não conseguir resolver um provedor ou ortografia personalizada para um modelo que reconhece e o ID contiver `[1m]`, em qualquer capitalização, Claude Code assume uma janela de 1M para ele e a variável não se aplica por conta própria. Para corrigir a janela mantendo a compactação proativa, também defina [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/pt/env-vars). Com essa variável definida, Claude Code dimensiona o ID como a mesma ortografia sem `[1m]`, então `CLAUDE_CODE_MAX_CONTEXT_TOKENS` se aplica quando se aplicaria a essa ortografia sem tag.902* Se Claude Code não conseguir resolver um provedor ou ortografia personalizada para um modelo que reconhece e o ID contiver `[1m]`, em qualquer capitalização, Claude Code assume uma janela de 1M para ele e a variável não se aplica por conta própria. Para corrigir a janela mantendo a compactação proativa, também defina [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/pt/env-vars). Com essa variável definida, Claude Code dimensiona o ID como a mesma ortografia sem `[1m]`, então `CLAUDE_CODE_MAX_CONTEXT_TOKENS` se aplica quando se aplicaria a essa ortografia sem tag.

895 903 

896 Com uma janela declarada acima de 200K, Claude Code então mostra um [aviso de inicialização](/docs/pt/errors#the-200k-limit-isnt-enforced) que o limite de 200K não é aplicado. O aviso é esperado nesta configuração.904 Com uma janela declarada acima de 200K, Claude Code então mostra um [aviso de inicialização](/docs/pt/errors#the-200k-limit-isnt-enforced) de que o limite de 200K não é aplicado. O aviso é esperado nesta configuração.

897* Se o ID resolver para um modelo que Claude Code reconhece, ou o ID for um nome `claude-` simples sem sufixo para Claude Code remover, em qualquer capitalização, a variável entra em vigor apenas quando você também define [`DISABLE_COMPACT`](/docs/pt/env-vars), que desabilita toda compactação.905* Se o ID resolver para um modelo que Claude Code reconhece, ou o ID for um nome `claude-` simples sem sufixo para Claude Code remover, em qualquer capitalização, a variável entra em vigor apenas quando você também define [`DISABLE_COMPACT`](/docs/pt/env-vars), que desabilita toda compactação.

898 906 

899 Por exemplo, um ID que contém um nome de modelo Claude que Claude Code conhece, como `anthropic/claude-opus-4-8`, `us.anthropic.claude-…-v1:0`, ou o datado `claude-sonnet-4-5@20250929`, resolve para esse modelo. Isso inclui IDs que também contêm `[1m]`: Claude Code resolve `claude-opus-4-8[1m]` para Opus 4.8 mesmo com `CLAUDE_CODE_DISABLE_1M_CONTEXT` definido.907 Por exemplo, um ID que contém um nome de modelo Claude que Claude Code conhece, como `anthropic/claude-opus-4-8`, `us.anthropic.claude-…-v1:0`, ou o datado `claude-sonnet-4-5@20250929`, resolve para esse modelo. Isso inclui IDs que também contêm `[1m]`: Claude Code resolve `claude-opus-4-8[1m]` para Opus 4.8 mesmo com `CLAUDE_CODE_DISABLE_1M_CONTEXT` definido.


947| Variável de ambiente | Descrição |955| Variável de ambiente | Descrição |

948| - | - |956| - | - |

949| `ANTHROPIC_DEFAULT_FABLE_MODEL` | O modelo a usar para `fable`, e o ID de modelo que Claude Code reconhece como modelo Fable para [fallback automático de modelo](#automatic-model-fallback) em provedores de terceiros |957| `ANTHROPIC_DEFAULT_FABLE_MODEL` | O modelo a usar para `fable`, e o ID de modelo que Claude Code reconhece como modelo Fable para [fallback automático de modelo](#automatic-model-fallback) em provedores de terceiros |

950| `ANTHROPIC_DEFAULT_OPUS_MODEL` | O modelo a usar para `opus`, ou para `opusplan` quando Plan Mode está ativo. |958| `ANTHROPIC_DEFAULT_OPUS_MODEL` | O modelo a usar para `opus`, ou para `opusplan` quando o modo de planejamento está ativo. |

951| `ANTHROPIC_DEFAULT_SONNET_MODEL` | O modelo a usar para `sonnet`, ou para `opusplan` quando Plan Mode não está ativo. |959| `ANTHROPIC_DEFAULT_SONNET_MODEL` | O modelo a usar para `sonnet`, ou para `opusplan` quando o modo de planejamento não está ativo. |

952| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | O modelo a usar para `haiku`, ou [funcionalidade de fundo](/docs/pt/costs#background-token-usage) |960| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | O modelo a usar para `haiku`, ou [funcionalidade de fundo](/docs/pt/costs#background-token-usage) |

953| `CLAUDE_CODE_SUBAGENT_MODEL` | O modelo padrão para [subagents](/docs/pt/sub-agents#choose-a-model), [agent team](/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. Um modelo por invocação ou o campo `model` de uma definição, incluindo `inherit`, tem precedência. Para alterar isso, defina [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE`](/docs/pt/sub-agents#run-every-subagent-on-one-model) |961| `CLAUDE_CODE_SUBAGENT_MODEL` | O modelo padrão para [subagentes](/docs/pt/sub-agents#choose-a-model), companheiros de [equipe de agentes](/docs/pt/agent-teams#specify-teammates-and-models), e agentes de [fluxo de trabalho](/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. Um modelo por invocação ou o campo `model` de uma definição, incluindo `inherit`, tem precedência. Para alterar isso, defina [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE`](/docs/pt/sub-agents#run-every-subagent-on-one-model) |

954 962 

955Em provedores de terceiros, [Personalizar exibição e capacidades do modelo fixado](#customize-pinned-model-display-and-capabilities) descreve o que a linha de um modelo fixado no seletor `/model` mostra.963Em provedores de terceiros, [Personalizar exibição e capacidades do modelo fixado](#customize-pinned-model-display-and-capabilities) descreve o que a linha de um modelo fixado no seletor `/model` mostra.

956 964 


981 989 

982Aplique o mesmo padrão para `ANTHROPIC_DEFAULT_FABLE_MODEL`, `ANTHROPIC_DEFAULT_SONNET_MODEL` e `ANTHROPIC_DEFAULT_HAIKU_MODEL`. Para IDs de modelo atuais e legados em todos os provedores, veja [Visão geral de modelos](https://platform.claude.com/docs/en/about-claude/models/overview). Para atualizar usuários para uma nova versão de modelo, atualize essas variáveis de ambiente e reimplante.990Aplique o mesmo padrão para `ANTHROPIC_DEFAULT_FABLE_MODEL`, `ANTHROPIC_DEFAULT_SONNET_MODEL` e `ANTHROPIC_DEFAULT_HAIKU_MODEL`. Para IDs de modelo atuais e legados em todos os provedores, veja [Visão geral de modelos](https://platform.claude.com/docs/en/about-claude/models/overview). Para atualizar usuários para uma nova versão de modelo, atualize essas variáveis de ambiente e reimplante.

983 991 

984Para habilitar [contexto estendido](#extended-context) para um modelo fixado, anexe `[1m]` ao ID do modelo em `ANTHROPIC_DEFAULT_OPUS_MODEL`, `ANTHROPIC_DEFAULT_SONNET_MODEL`, ou `ANTHROPIC_DEFAULT_FABLE_MODEL`:992Um modelo fixado com uma janela 1M nativa, como Opus 4.8 ou Sonnet 5, é executado com a [janela de contexto 1M](#extended-context) sem nenhum sufixo quando Claude Code consegue associar o ID fixado a esse modelo. O ID corresponde quando contém o ID da API Anthropic do modelo, assim como `us.anthropic.claude-opus-4-8` contém `claude-opus-4-8`, ou quando uma entrada [`modelOverrides`](#override-model-ids-per-version) mapeia o modelo para ele. Em um ID fixado que Claude Code não consegue associar a um modelo, as sessões são executadas com uma janela de 200K por padrão, a menos que o ID tenha o sufixo `[1m]`.

993 

994Para um modelo que alcança 1M através de sua variante `[1m]`, como Opus 4.6 ou Sonnet 4.6, habilite o contexto estendido anexando `[1m]` ao ID do modelo em `ANTHROPIC_DEFAULT_OPUS_MODEL` ou `ANTHROPIC_DEFAULT_SONNET_MODEL`:

985 995 

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

987export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8[1m]'997export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-6[1m]'

988```998```

989 999 

990Com o sufixo `[1m]`, a janela de contexto 1M se aplica a todo o uso do alias fixado, incluindo a fase Opus do modo de plano de [`opusplan`](#opusplan-model-setting) e [subagents](/docs/pt/sub-agents#choose-a-model) cujo frontmatter `model` nomeia o alias.1000Com o sufixo `[1m]`, a janela de contexto 1M se aplica a todo o uso do alias fixado, incluindo a fase Opus do modo de planejamento de [`opusplan`](#opusplan-model-setting) e [subagentes](/docs/pt/sub-agents#choose-a-model) cujo frontmatter `model` nomeia o alias.

991 1001 

992* Claude Code remove o sufixo antes de enviar o ID do modelo para seu provedor.1002* Claude Code remove o sufixo antes de enviar o ID do modelo para seu provedor.

993* Apenas anexe `[1m]` quando o modelo subjacente [suportar contexto 1M](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model).1003* Apenas anexe `[1m]` quando o modelo subjacente [suportar contexto 1M](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model).

994* O sufixo é lido por variável, não por modelo. No Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry, um ID de modelo sem `[1m]` em uma variável usa contexto 200K mesmo se outra variável define o mesmo modelo com o sufixo. Sonnet 5 sempre é executado com a janela 1M nesses provedores e nunca precisa do sufixo.1004* O sufixo é lido por variável, não por modelo. No Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry, um ID de Opus 4.6 ou Sonnet 4.6 sem `[1m]` em uma variável usa contexto 200K mesmo se outra variável define o mesmo modelo com o sufixo.

995 1005 

996Quando você define uma variável `ANTHROPIC_DEFAULT_*_MODEL`, o seletor `/model` mostra uma linha para esse modelo no lugar das linhas integradas da família, incluindo qualquer linha de contexto 1M. Para alcançar a janela 1M sem adicionar o sufixo a essa variável, seus usuários executam `/model opus[1m]`, e Claude Code aplica o sufixo ao modelo que a variável nomeia. `/model sonnet[1m]` funciona da mesma forma.1006Quando você define uma variável `ANTHROPIC_DEFAULT_*_MODEL`, o seletor `/model` mostra uma linha para esse modelo no lugar das linhas integradas da família, incluindo qualquer linha de contexto 1M. Para alcançar a janela 1M sem adicionar o sufixo a essa variável, seus usuários executam `/model opus[1m]`, e Claude Code aplica o sufixo ao modelo que a variável nomeia. `/model sonnet[1m]` funciona da mesma forma.

997 1007 

998<Note>1008<Note>

999 Uma lista de permissões `availableModels` entregue através de [MDM ou um arquivo de configurações gerenciado](/docs/pt/managed-settings#delivery-mechanisms) ainda se aplica ao usar provedores de terceiros; [configurações gerenciadas pelo servidor não são entregues lá](/docs/pt/server-managed-settings#platform-availability).1009 Uma allowlist `availableModels` entregue através de [MDM ou um arquivo de configurações gerenciado](/docs/pt/managed-settings#delivery-mechanisms) ainda se aplica ao usar provedores de terceiros; [configurações gerenciadas pelo servidor não são entregues lá](/docs/pt/server-managed-settings#platform-availability).

1000 1010 

1001 A filtragem corresponde a um alias de modelo como `opus`, um prefixo de versão como `claude-opus-4-8`, ou o ID de modelo completo em forma de provedor. Prefixos específicos do provedor como `us.anthropic.` não são removidos, então para permitir um modelo específico, liste seu ID completo em forma de provedor, ou mapeie através de [`modelOverrides`](#override-model-ids-per-version). Para um modelo fixado, esse ID é o valor que você define em sua variável `ANTHROPIC_DEFAULT_*_MODEL`. Qualquer sufixo `[1m]` é removido tanto da entrada da lista de permissões quanto do modelo solicitado antes da correspondência.1011 A filtragem corresponde a um alias de modelo como `opus`, um prefixo de versão como `claude-opus-4-8`, ou o ID de modelo completo em forma de provedor. Prefixos específicos do provedor como `us.anthropic.` não são removidos, então para permitir um modelo específico, liste seu ID completo em forma de provedor, ou mapeie através de [`modelOverrides`](#override-model-ids-per-version). Para um modelo fixado, esse ID é o valor que você define em sua variável `ANTHROPIC_DEFAULT_*_MODEL`. Qualquer sufixo `[1m]` é removido tanto da entrada da allowlist quanto do modelo solicitado antes da correspondência.

1002</Note>1012</Note>

1003 1013 

1004<h3 id="customize-pinned-model-display-and-capabilities">1014<h3 id="customize-pinned-model-display-and-capabilities">


1014 1024 

1015Claude Code também pode não reconhecer quais recursos um modelo fixado suporta. Você pode definir o nome de exibição e a descrição você mesmo e declarar capacidades com variáveis de ambiente complementares para cada modelo fixado.1025Claude Code também pode não reconhecer quais recursos um modelo fixado suporta. Você pode definir o nome de exibição e a descrição você mesmo e declarar capacidades com variáveis de ambiente complementares para cada modelo fixado.

1016 1026 

1017Essas variáveis têm efeito em provedores de terceiros como Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry. As variáveis `_NAME` e `_DESCRIPTION` também têm efeito quando `ANTHROPIC_BASE_URL` aponta para um [gateway LLM](/docs/pt/llm-gateway). Elas não têm efeito ao conectar diretamente a `api.anthropic.com`.1027Essas variáveis têm efeito em provedores de terceiros como Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry. As variáveis `_NAME` e `_DESCRIPTION` também têm efeito quando `ANTHROPIC_BASE_URL` aponta para um [gateway de LLM](/docs/pt/llm-gateway). Elas não têm efeito ao conectar diretamente a `api.anthropic.com`.

1018 1028 

1019| Variável de ambiente | Descrição |1029| Variável de ambiente | Descrição |

1020| - | - |1030| - | - |


1050 Substituir IDs de modelo por versão1060 Substituir IDs de modelo por versão

1051</h3>1061</h3>

1052 1062 

1053Em plataformas que incorporam Claude Code e definem [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/pt/env-vars), a configuração de modelo do host tem precedência sobre configurações de modelo gerenciadas, enquanto uma lista de permissões `availableModels` gerenciada permanece em vigor a menos que o host forneça a sua própria; [Exceções à precedência de configurações gerenciadas](/docs/pt/settings#exceptions-to-managed-settings-precedence) diz quais chaves e variáveis o host substitui.1063Em plataformas que incorporam Claude Code e definem [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/pt/env-vars), a configuração de modelo do host tem precedência sobre configurações de modelo gerenciadas, enquanto uma allowlist `availableModels` gerenciada permanece em vigor a menos que o host forneça a sua própria; [Exceções à precedência de configurações gerenciadas](/docs/pt/settings#exceptions-to-managed-settings-precedence) diz quais chaves e variáveis o host sobrescreve.

1054 1064 

1055As variáveis de ambiente no nível de família acima configuram um ID de modelo por alias de família. Se você precisar mapear várias versões dentro da mesma família para IDs de provedor distintos, use a configuração `modelOverrides` em vez disso.1065As variáveis de ambiente no nível de família acima configuram um ID de modelo por alias de família. Se você precisar mapear várias versões dentro da mesma família para IDs de provedor distintos, use a configuração `modelOverrides` em vez disso.

1056 1066 


1078 1088 

1079As substituições também se aplicam quando você passa um ID de modelo Anthropic diretamente através de `--model`, a variável de ambiente `ANTHROPIC_MODEL`, ou uma variável de ambiente `ANTHROPIC_DEFAULT_*_MODEL`. No Amazon Bedrock, Google Cloud's Agent Platform e [Mantle](/docs/pt/amazon-bedrock#use-the-mantle-endpoint), um ID de modelo Anthropic sem entrada `modelOverrides` resolve para o mesmo ID específico do provedor que a linha do seletor `/model` para essa versão, quando o provedor suporta essa versão. Mantle suporta um subconjunto de versões. Para um ID de modelo Anthropic fora desse subconjunto, Claude Code envia o ID bruto para Mantle sem mapeá-lo, a menos que uma entrada `modelOverrides` o cubra. Antes da v2.1.200, `--model` e os valores de variável de ambiente chegavam ao provedor como estavam sem passar pelo mapa de substituição.1089As substituições também se aplicam quando você passa um ID de modelo Anthropic diretamente através de `--model`, a variável de ambiente `ANTHROPIC_MODEL`, ou uma variável de ambiente `ANTHROPIC_DEFAULT_*_MODEL`. No Amazon Bedrock, Google Cloud's Agent Platform e [Mantle](/docs/pt/amazon-bedrock#use-the-mantle-endpoint), um ID de modelo Anthropic sem entrada `modelOverrides` resolve para o mesmo ID específico do provedor que a linha do seletor `/model` para essa versão, quando o provedor suporta essa versão. Mantle suporta um subconjunto de versões. Para um ID de modelo Anthropic fora desse subconjunto, Claude Code envia o ID bruto para Mantle sem mapeá-lo, a menos que uma entrada `modelOverrides` o cubra. Antes da v2.1.200, `--model` e os valores de variável de ambiente chegavam ao provedor como estavam sem passar pelo mapa de substituição.

1080 1090 

1081`modelOverrides` funciona junto com `availableModels`. A lista de permissões é avaliada contra o ID de modelo Anthropic, não o valor de substituição, então uma entrada como `"opus"` em `availableModels` continua a corresponder mesmo quando versões do Opus são mapeadas para ARNs. Quando `enforceAvailableModels` é definido em configurações gerenciadas, o Padrão imposto é resolvido através de `modelOverrides` de [configurações gerenciadas](/docs/pt/managed-settings#how-claude-code-combines-managed-sources) apenas. O mapeamento de um administrador, como uma versão fixada para um ARN de perfil de inferência, é honrado no Padrão imposto. Substituições de configurações de usuário ou projeto não o afetam.1091`modelOverrides` funciona junto com `availableModels`. A allowlist é avaliada contra o ID de modelo Anthropic, não o valor de substituição, então uma entrada como `"opus"` em `availableModels` continua a corresponder mesmo quando versões do Opus são mapeadas para ARNs. Quando `enforceAvailableModels` é definido em configurações gerenciadas, o Padrão imposto é resolvido através de `modelOverrides` de [configurações gerenciadas](/docs/pt/managed-settings#how-claude-code-combines-managed-sources) apenas. O mapeamento de um administrador, como uma versão fixada para um ARN de perfil de inferência, é honrado no Padrão imposto. Substituições de configurações de usuário ou projeto não o afetam.

1082 1092 

1083Quando `availableModels` é definido em [configurações gerenciadas](/docs/pt/managed-settings), apenas `modelOverrides` de configurações gerenciadas se aplicam a um ID de modelo Anthropic passado diretamente através de `--model` ou das variáveis de ambiente acima. Claude Code ignora substituições em configurações de usuário ou projeto para esses IDs, e nunca resolve um ID que a lista gerenciada exclui através de `modelOverrides` de qualquer fonte de configurações. Essa restrição de fonte gerenciada requer Claude Code v2.1.200 ou posterior. Veja [Restringir seleção de modelo](#restrict-model-selection) para como IDs bloqueados são tratados.1093Quando `availableModels` é definido em [configurações gerenciadas](/docs/pt/managed-settings), apenas `modelOverrides` de configurações gerenciadas se aplicam a um ID de modelo Anthropic passado diretamente através de `--model` ou das variáveis de ambiente acima. Claude Code ignora substituições em configurações de usuário ou projeto para esses IDs, e nunca resolve um ID que a lista gerenciada exclui através de `modelOverrides` de qualquer fonte de configurações. Essa restrição de fonte gerenciada requer Claude Code v2.1.200 ou posterior. Veja [Restringir seleção de modelo](#restrict-model-selection) para como IDs bloqueados são tratados.

1084 1094 

1085<h3 id="prompt-caching-configuration">1095<h3 id="prompt-caching-configuration">

1086 Configuração de prompt caching1096 Configuração de cache de prompt

1087</h3>1097</h3>

1088 1098 

1089Claude Code usa automaticamente [prompt caching](/docs/pt/prompt-caching) para otimizar o desempenho e reduzir custos. Você pode desabilitar prompt caching globalmente ou para níveis de modelo específicos:1099Claude Code usa automaticamente [cache de prompt](/docs/pt/prompt-caching) para otimizar o desempenho e reduzir custos. Você pode desabilitar o cache de prompt globalmente ou para níveis de modelo específicos:

1090 1100 

1091| Variável de ambiente | Descrição |1101| Variável de ambiente | Descrição |

1092| - | - |1102| - | - |

1093| `DISABLE_PROMPT_CACHING` | Defina como `1` para desabilitar prompt caching para todos os modelos. Tem precedência sobre as configurações por modelo |1103| `DISABLE_PROMPT_CACHING` | Defina como `1` para desabilitar o cache de prompt para todos os modelos. Tem precedência sobre as configurações por modelo |

1094| `DISABLE_PROMPT_CACHING_HAIKU` | Defina como `1` para desabilitar prompt caching para o [modelo Haiku padrão](/docs/pt/prompt-caching#disable-prompt-caching) |1104| `DISABLE_PROMPT_CACHING_HAIKU` | Defina como `1` para desabilitar o cache de prompt para o [modelo Haiku padrão](/docs/pt/prompt-caching#disable-prompt-caching) |

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

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

1097| `DISABLE_PROMPT_CACHING_FABLE` | Defina como `1` para desabilitar prompt caching apenas para modelos Fable |1107| `DISABLE_PROMPT_CACHING_FABLE` | Defina como `1` para desabilitar o cache de prompt apenas para modelos Fable |

1098 1108 

1099Para escolher o TTL do cache para a conversa principal e para subagents separadamente, veja [escolha o TTL você mesmo](/docs/pt/prompt-caching#choose-the-ttl-yourself). Para o que dispara uma falha de cache, veja [Como Claude Code usa prompt caching](/docs/pt/prompt-caching).1109Para escolher o TTL do cache para a conversa principal e para subagentes separadamente, veja [escolha o TTL você mesmo](/docs/pt/prompt-caching#choose-the-ttl-yourself). Para o que dispara uma falha de cache, veja [Como Claude Code usa o cache de prompt](/docs/pt/prompt-caching).

1100 1110 

1101<h2 id="version-history">1111<h2 id="version-history">

1102 Histórico de versões1112 Histórico de versões

Details

551* **Configurações gerenciadas pelo servidor**: adicione-as ao bloco `env` das [configurações gerenciadas pelo servidor](/docs/pt/server-managed-settings) da sua organização. Claude Code busca essas configurações na inicialização onde [as configurações gerenciadas pelo servidor se aplicam](/docs/pt/model-config#surface-coverage), o que inclui as máquinas dos seus usuários e sessões em nuvem diferentes das sessões do canal Claude Tag. Sessões Claude Tag não recebem suas configurações gerenciadas pelo servidor, portanto esta rota não as configura.551* **Configurações gerenciadas pelo servidor**: adicione-as ao bloco `env` das [configurações gerenciadas pelo servidor](/docs/pt/server-managed-settings) da sua organização. Claude Code busca essas configurações na inicialização onde [as configurações gerenciadas pelo servidor se aplicam](/docs/pt/model-config#surface-coverage), o que inclui as máquinas dos seus usuários e sessões em nuvem diferentes das sessões do canal Claude Tag. Sessões Claude Tag não recebem suas configurações gerenciadas pelo servidor, portanto esta rota não as configura.

552* **As variáveis do ambiente**: adicione-as às [variáveis de ambiente](/docs/pt/cloud-environments#set-environment-variables) de um ambiente em nuvem para configurar apenas as sessões executadas nesse ambiente. Esta é a rota que alcança sessões Claude Tag.552* **As variáveis do ambiente**: adicione-as às [variáveis de ambiente](/docs/pt/cloud-environments#set-environment-variables) de um ambiente em nuvem para configurar apenas as sessões executadas nesse ambiente. Esta é a rota que alcança sessões Claude Tag.

553 553 

554Qualquer pessoa que use um ambiente pode ler suas variáveis, portanto não coloque uma credencial lá, como um token de coletor em `OTEL_EXPORTER_OTLP_HEADERS`. Um [segredo de rede](/docs/pt/cloud-environments#add-api-credentials) no ambiente também não ajuda, porque a exportação de telemetria do próprio Claude Code é uma das [requisições que nunca recebem o segredo](/docs/pt/cloud-environments#requests-that-never-get-the-credential). Se seu coletor exigir uma credencial, configure toda a exportação através de configurações gerenciadas pelo servidor, porque quando você define uma credencial lá, [Claude Code remove variáveis de endpoint definidas fora das configurações gerenciadas](#how-managed-settings-lock-the-otlp-destination).554Qualquer pessoa que use um ambiente pode ler suas variáveis, portanto não coloque uma credencial lá, como um token de coletor em `OTEL_EXPORTER_OTLP_HEADERS`. Um [segredo de rede](/docs/pt/cloud-environments#add-network-secrets) no ambiente também não ajuda, porque a exportação de telemetria do próprio Claude Code é uma das [requisições que nunca recebem o segredo](/docs/pt/cloud-environments#requests-that-never-get-the-credential). Se seu coletor exigir uma credencial, configure toda a exportação através de configurações gerenciadas pelo servidor, porque quando você define uma credencial lá, [Claude Code remove variáveis de endpoint definidas fora das configurações gerenciadas](#how-managed-settings-lock-the-otlp-destination).

555 555 

556Mantenha essas restrições em mente ao configurar telemetria para sessões em nuvem:556Mantenha essas restrições em mente ao configurar telemetria para sessões em nuvem:

557 557 


1314* `event.sequence`: contador por processo para ordenar eventos, descrito em [Atributos de correlação de eventos](#event-correlation-attributes)1314* `event.sequence`: contador por processo para ordenar eventos, descrito em [Atributos de correlação de eventos](#event-correlation-attributes)

1315* `plugin_id`: identificador do plugin em forma `<name>@<marketplace>`1315* `plugin_id`: identificador do plugin em forma `<name>@<marketplace>`

1316* `hook_event`: tipo de evento de hook que emitiu as métricas1316* `hook_event`: tipo de evento de hook que emitiu as métricas

1317* Até 20 chaves de métrica emitidas pelo plugin. Os nomes correspondem a `^[a-z][a-z0-9_]{0,39}$`. Os valores são booleano ou número.1317* Até 20 chaves de métricas emitidas pelo plugin. Os nomes correspondem a `^[a-z][a-z0-9_]{0,39}$`. Os valores são booleanos ou números.

1318 1318 

1319<h4 id="compaction-event">1319<h4 id="compaction-event">

1320 Evento de compactação1320 Evento de compactação


1382* `appearance_id`: ID único vinculando os eventos emitidos para uma instância de pesquisa1382* `appearance_id`: ID único vinculando os eventos emitidos para uma instância de pesquisa

1383* `survey_type`: Qual pesquisa produziu o evento. `"session"` é o prompt de classificação "Como Claude está se saindo?"1383* `survey_type`: Qual pesquisa produziu o evento. `"session"` é o prompt de classificação "Como Claude está se saindo?"

1384* `response`: A seleção do usuário em eventos `responded`1384* `response`: A seleção do usuário em eventos `responded`

1385* `enabled_via_override`: `true` quando [`CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL`](/docs/pt/env-vars) está definido. Emitido como booleano, não uma string. Presente em eventos de pesquisa `session`. Filtre neste atributo para confirmar que a substituição está aplicada em uma frota1385* `enabled_via_override`: `true` quando [`CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL`](/docs/pt/env-vars) está definido. Emitido como Booleano, não como string. Presente em eventos de pesquisa `session`. Filtre por este atributo para confirmar que a substituição está aplicada em toda a frota

1386 1386 

1387<h4 id="retention-sweep-event">1387<h4 id="retention-sweep-event">

1388 Evento de varredura de retenção1388 Evento de varredura de retenção


1473 Por exemplo, configurações gerenciadas com `apiKeyHelper`, duas variáveis `env`, e uma regra de negar são exportadas como `{"apiKeyHelper":"[REDACTED]","env":{"HTTPS_PROXY":"[REDACTED]","CLAUDE_CODE_ENABLE_TELEMETRY":"[REDACTED]"},"permissions":{"deny":["Read([REDACTED])"]}}`.1473 Por exemplo, configurações gerenciadas com `apiKeyHelper`, duas variáveis `env`, e uma regra de negar são exportadas como `{"apiKeyHelper":"[REDACTED]","env":{"HTTPS_PROXY":"[REDACTED]","CLAUDE_CODE_ENABLE_TELEMETRY":"[REDACTED]"},"permissions":{"deny":["Read([REDACTED])"]}}`.

1474 1474 

1475 Claude Code corta o valor em 8 KB de UTF-8, e o valor cortado não é JSON válido1475 Claude Code corta o valor em 8 KB de UTF-8, e o valor cortado não é JSON válido

1476* `managed_settings.settings_truncated` (quando `managed_settings.settings` está presente): `true` quando Claude Code cortou `managed_settings.settings` em 8 KB, `false` caso contrário. Emitido como booleano, não uma string1476* `managed_settings.settings_truncated` (quando `managed_settings.settings` está presente): `true` quando o Claude Code cortou `managed_settings.settings` em 8 KB, `false` caso contrário. Emitido como Booleano, não como string

1477 1477 

1478<h2 id="interpret-metrics-and-events-data">1478<h2 id="interpret-metrics-and-events-data">

1479 Interpretar dados de métricas e eventos1479 Interpretar dados de métricas e eventos

Details

209| :- | :- | :- | :- |209| :- | :- | :- | :- |

210| Prazo de primeiro byte | Nenhum cabeçalho de resposta chega após Claude Code enviar a solicitação | API Anthropic direta e [Claude Platform on AWS](/docs/pt/claude-platform-on-aws), incluindo através de um proxy HTTPS, mas não quando `ANTHROPIC_BASE_URL` ou `ANTHROPIC_AWS_BASE_URL` as roteia através de um [gateway](/docs/pt/gateways). Opt-in no Amazon Bedrock com `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`; não executa no Agent Platform do Google Cloud ou no Microsoft Foundry | 180 segundos na API Anthropic direta, 300 segundos em outro lugar, mais um segundo por 32KB de corpo da solicitação |210| Prazo de primeiro byte | Nenhum cabeçalho de resposta chega após Claude Code enviar a solicitação | API Anthropic direta e [Claude Platform on AWS](/docs/pt/claude-platform-on-aws), incluindo através de um proxy HTTPS, mas não quando `ANTHROPIC_BASE_URL` ou `ANTHROPIC_AWS_BASE_URL` as roteia através de um [gateway](/docs/pt/gateways). Opt-in no Amazon Bedrock com `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`; não executa no Agent Platform do Google Cloud ou no Microsoft Foundry | 180 segundos na API Anthropic direta, 300 segundos em outro lugar, mais um segundo por 32KB de corpo da solicitação |

211| Watchdog de nível de evento | Nenhum evento de resposta é analisado. Em conexões onde o watchdog de nível de byte executa, bytes chegando, incluindo pings de keep-alive, também redefinem este watchdog, por até cerca de cinco minutos sem um evento analisado | Cada provedor | 300 segundos |211| Watchdog de nível de evento | Nenhum evento de resposta é analisado. Em conexões onde o watchdog de nível de byte executa, bytes chegando, incluindo pings de keep-alive, também redefinem este watchdog, por até cerca de cinco minutos sem um evento analisado | Cada provedor | 300 segundos |

212| Watchdog de nível de byte | Nenhum byte chega no fio, incluindo pings de keep-alive SSE | API Anthropic direta, [Claude Platform on AWS](/docs/pt/claude-platform-on-aws), e [gateway](/docs/pt/gateways) conexões, incluindo um `ANTHROPIC_BASE_URL` customizado. Opt-in no Amazon Bedrock `vnd.amazon.eventstream` respostas com `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`; não executa no Agent Platform do Google Cloud ou no Microsoft Foundry | 180 segundos na API Anthropic direta, 300 segundos em outro lugar |212| Watchdog de nível de byte | Nenhum byte chega no fio, incluindo pings de keep-alive SSE | API Anthropic direta, [Claude Platform on AWS](/docs/pt/claude-platform-on-aws), e [gateway](/docs/pt/gateways) conexões, incluindo um `ANTHROPIC_BASE_URL` customizado. Opt-in no Amazon Bedrock `vnd.amazon.eventstream` respostas com `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`; não executa no Agent Platform do Google Cloud ou no Microsoft Foundry | 180 segundos na API Anthropic direta. Através de um `ANTHROPIC_BASE_URL` customizado, 180 segundos quando Claude Code [buscou as feature flags](/docs/pt/env-vars#features-that-need-feature-flag-fetching) e 300 segundos quando não buscou. 300 segundos em outro lugar |

213| Tempo limite de inatividade do corpo | Nenhum byte chega por 5 minutos | Provedores diferentes da API Anthropic direta, Claude Platform on AWS, e Amazon Bedrock com `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` definido, a menos que [`API_FORCE_IDLE_TIMEOUT`](/docs/pt/env-vars) mude isso | 5 minutos |213| Tempo limite de inatividade do corpo | Nenhum byte chega por 5 minutos | Provedores diferentes da API Anthropic direta, Claude Platform on AWS, e Amazon Bedrock com `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` definido, a menos que [`API_FORCE_IDLE_TIMEOUT`](/docs/pt/env-vars) mude isso | 5 minutos |

214 214 

215Se você definir `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`, o watchdog de nível de byte substitui o tempo limite de inatividade do corpo no Bedrock em vez de executar junto com ele. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` então também governa quanto tempo um stream Bedrock pode permanecer silencioso antes de Claude Code tratar a conexão como morta, dentro dos limites listados abaixo. Bytes chegando ainda não redefinem o watchdog de nível de evento no Bedrock. Com logging de debug ativado, cada stream Bedrock então registra uma mensagem de debug que começa com `wire-heartbeat: _chunkTimes absent`.215Se você definir `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`, o watchdog de nível de byte substitui o tempo limite de inatividade do corpo no Bedrock em vez de executar junto com ele. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` então também governa quanto tempo um stream Bedrock pode permanecer silencioso antes de Claude Code tratar a conexão como morta, dentro dos limites listados abaixo. Bytes chegando ainda não redefinem o watchdog de nível de evento no Bedrock. Com logging de debug ativado, cada stream Bedrock então registra uma mensagem de debug que começa com `wire-heartbeat: _chunkTimes absent`.

Details

183| :- | :- | :- |183| :- | :- | :- |

184| `name` | Não | Nome do estilo de saída, mostrado no seletor `/config`. Padrão: o nome do arquivo |184| `name` | Não | Nome do estilo de saída, mostrado no seletor `/config`. Padrão: o nome do arquivo |

185| `description` | Não | Descrição do estilo de saída, mostrada no seletor `/config` |185| `description` | Não | Descrição do estilo de saída, mostrada no seletor `/config` |

186| `keep-coding-instructions` | Não | Defina como `true` para manter as instruções integradas de engenharia de software do Claude Code junto com seu estilo. Padrão: `false` |186| `keep-coding-instructions` | Não | Defina como `true` para manter a seção de instruções integradas de engenharia de software do Claude Code, que apenas o system prompt completo inclui, junto com seu estilo. Consulte [Como os estilos de saída funcionam](#how-output-styles-work). Padrão: `false` |

187| `force-for-plugin` | Não | Apenas estilos de saída de plugin. Defina como `true` para aplicar este estilo automaticamente sempre que o plugin estiver habilitado, sem exigir que os usuários o selecionem. Substitui a configuração `outputStyle` do usuário. Se vários plugins habilitados definirem isso, Claude Code usa o primeiro carregado. Padrão: `false` |187| `force-for-plugin` | Não | Apenas estilos de saída de plugin. Defina como `true` para aplicar este estilo automaticamente sempre que o plugin estiver habilitado, sem exigir que os usuários o selecionem. Substitui a configuração `outputStyle` do usuário. Se vários plugins habilitados definirem isso, Claude Code usa o primeiro carregado. Padrão: `false` |

188 188 

189<span id="comparisons-to-related-features" />189<span id="comparisons-to-related-features" />


214Um estilo de saída altera as instruções que Claude Code fornece ao Claude.214Um estilo de saída altera as instruções que Claude Code fornece ao Claude.

215 215 

216* Claude Code envia as instruções do estilo ativo com cada solicitação.216* Claude Code envia as instruções do estilo ativo com cada solicitação.

217* Os estilos de saída personalizados omitem as instruções de engenharia de software integradas do Claude Code, como como definir o escopo das alterações, escrever comentários e verificar o trabalho, a menos que `keep-coding-instructions` seja definido como `true`.217* No system prompt completo, os estilos de saída personalizados omitem a seção de instruções de engenharia de software integradas do Claude Code, como definir o escopo das alterações, escrever comentários e verificar o trabalho, a menos que `keep-coding-instructions` seja definido como `true`. O system prompt mais curto não inclui essa seção, portanto o campo não tem efeito nesse caso. Para contar com o campo, defina [`CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT`](/docs/pt/env-vars#variables) como `0`, o que seleciona o prompt completo em qualquer modelo.

218 218 

219Os estilos de saída se aplicam à conversa principal e a um [fork](/docs/pt/sub-agents#fork-the-current-conversation), que herda a conversa completa e o prompt do sistema do pai. Outros [subagentes executam seu próprio prompt do sistema](/docs/pt/sub-agents#what-loads-at-startup), portanto os estilos não alteram como eles respondem.219Os estilos de saída se aplicam à conversa principal e a um [fork](/docs/pt/sub-agents#fork-the-current-conversation), que herda a conversa completa e o prompt do sistema do pai. Outros [subagentes executam seu próprio prompt do sistema](/docs/pt/sub-agents#what-loads-at-startup), portanto os estilos não alteram como eles respondem.

220 220 

overview.md +1 −1

Details

42 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd42 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

43 ```43 ```

44 44 

45 Quando o instalador terminar, abra uma nova janela de terminal e execute `claude --version`. Uma instalação funcionando imprime um número de versão. Se seu shell disser que `claude` não foi encontrado ou não é reconhecido, o diretório de instalação ainda não está em seu PATH: consulte [Corrija seu PATH](/docs/pt/troubleshoot-install#command-not-found-claude-after-installation).45 O comando de instalação não mostra nenhum progresso enquanto baixa o Claude Code. Quando o instalador terminar, abra uma nova janela de terminal e execute `claude --version`. Uma instalação funcionando imprime um número de versão. Se seu shell disser que `claude` não foi encontrado ou não é reconhecido, o diretório de instalação ainda não está em seu PATH: consulte [Corrija seu PATH](/docs/pt/troubleshoot-install#command-not-found-claude-after-installation).

46 46 

47 Se você vir `The token '&&' is not a valid statement separator`, você está no PowerShell, não no CMD. Se você vir `'irm' is not recognized as an internal or external command`, você está no CMD, não no PowerShell.47 Se você vir `The token '&&' is not a valid statement separator`, você está no PowerShell, não no CMD. Se você vir `'irm' is not recognized as an internal or external command`, você está no CMD, não no PowerShell.

48 48 

permissions.md +1 −1

Details

701Permissões e [sandboxing](/docs/pt/sandboxing) são camadas de segurança complementares:701Permissões e [sandboxing](/docs/pt/sandboxing) são camadas de segurança complementares:

702 702 

703* **Permissões** controlam quais ferramentas o Claude Code pode usar e quais arquivos ou domínios ele pode acessar. Elas se aplicam a Bash, Read, Edit, WebFetch, MCP e todas as outras ferramentas, exceto que uma regra de negação ou pergunta não pode bloquear [`EndConversation`](/docs/pt/tools-reference#endconversation-tool-behavior) enquanto qualquer outra ferramenta permanecer.703* **Permissões** controlam quais ferramentas o Claude Code pode usar e quais arquivos ou domínios ele pode acessar. Elas se aplicam a Bash, Read, Edit, WebFetch, MCP e todas as outras ferramentas, exceto que uma regra de negação ou pergunta não pode bloquear [`EndConversation`](/docs/pt/tools-reference#endconversation-tool-behavior) enquanto qualquer outra ferramenta permanecer.

704* **Sandboxing** fornece imposição em nível do SO que restringe o acesso ao sistema de arquivos e rede dos comandos shell. Aplica-se apenas a comandos Bash, PowerShell e [Monitor](/docs/pt/tools-reference#monitor-tool) e seus processos filhos.704* **Sandboxing** fornece imposição em nível do SO que restringe o acesso ao sistema de arquivos e rede dos comandos shell. Aplica-se a comandos das ferramentas Bash, PowerShell e [Monitor](/docs/pt/tools-reference#monitor-tool) e seus processos filhos.

705 705 

706Use ambos para defesa em profundidade, já que as restrições de sandbox ainda se aplicam mesmo se uma injeção de prompt contornar a tomada de decisão do Claude. Caminhos e domínios tanto das configurações de sandbox quanto das regras de permissão são [mesclados na configuração final de sandbox](/docs/pt/sandboxing#permission-rules).706Use ambos para defesa em profundidade, já que as restrições de sandbox ainda se aplicam mesmo se uma injeção de prompt contornar a tomada de decisão do Claude. Caminhos e domínios tanto das configurações de sandbox quanto das regras de permissão são [mesclados na configuração final de sandbox](/docs/pt/sandboxing#permission-rules).

707 707 

plugin-evals.md +26 −5

Details

337* **Substituições**: insira campos da entrada da chamada com `{{input.<field>}}`, e o conteúdo de um arquivo de fixture ao lado do mock com `{{file:fixtures/{input.<field>}.json}}`.337* **Substituições**: insira campos da entrada da chamada com `{{input.<field>}}`, e o conteúdo de um arquivo de fixture ao lado do mock com `{{file:fixtures/{input.<field>}.json}}`.

338* **`expect:`**: o bloco `expect:` protege a entrada. Se uma chamada violar, a execução aborta com pontuação 0 e registra por quê, então um caso pode afirmar o que seu plugin pediu ao servidor.338* **`expect:`**: o bloco `expect:` protege a entrada. Se uma chamada violar, a execução aborta com pontuação 0 e registra por quê, então um caso pode afirmar o que seu plugin pediu ao servidor.

339* **`error: true`**: defina `error: true` para retornar o corpo como um erro de ferramenta em vez disso.339* **`error: true`**: defina `error: true` para retornar o corpo como um erro de ferramenta em vez disso.

340* **`type: agent`**: defina `type: agent` para ter o modelo juiz responder como o servidor a partir de instruções no corpo.340* **`type: agent`**: defina `type: agent` para ter o modelo juiz responder como o servidor a partir de instruções no corpo. Chamadas a mocks de agente compartilham um [orçamento por execução](#mock-call-budget-exceeded) de quatro vezes o `max_turns` do caso, e uma chamada além dele aborta a execução com pontuação 0.

341 341 

342A [referência de arquivo mock](#mock-files) lista cada chave e os arquivos `_server.md` e `_tools.json`.342A [referência de arquivo mock](#mock-files) lista cada chave e os arquivos `_server.md` e `_tools.json`.

343 343 


372| :- | :- |372| :- | :- |

373| Um diretório raiz do plugin, como `.` | Cada caso sob seu diretório de eval, com esse plugin carregado |373| Um diretório raiz do plugin, como `.` | Cada caso sob seu diretório de eval, com esse plugin carregado |

374| Um arquivo único `prompt.md` ou `case.yaml` | Esse caso, com seu plugin envolvente carregado |374| Um arquivo único `prompt.md` ou `case.yaml` | Esse caso, com seu plugin envolvente carregado |

375| Um plugin instalado por nome, `name` ou `name@marketplace` | Os casos na cópia instalada do diretório de eval, com a cópia instalada carregada. Os resultados são escritos sob `./evals/results/` no seu diretório atual, ou `./<dir>/results/` com `--eval-dir` |375| Um plugin instalado por nome, `name` ou `name@marketplace` | O plugin e os casos em seu diretório de eval, lidos [no local ou a partir da cópia instalada](/docs/pt/plugins/loading#in-place-and-copied-plugins). Os resultados são escritos sob `./evals/results/` no seu diretório atual, ou `./<dir>/results/` com `--eval-dir` |

376| `name@skills-dir` | O mesmo, para um [plugin de diretório de skills](/docs/pt/plugins/loading#plugins-shared-through-a-repository) |376| `name@skills-dir` | O mesmo, para um [plugin de diretório de skills](/docs/pt/plugins/loading#plugins-shared-through-a-repository) |

377| Omitido | O diretório atual como um caminho |377| Omitido | O diretório atual como um caminho |

378 378 


504| `cases[].aggregates.score` | Pontuação média de execução de braço com para o caso |504| `cases[].aggregates.score` | Pontuação média de execução de braço com para o caso |

505| `cases[].aggregates.delta` | Pontuação de braço com menos pontuação de braço sem. Omitido quando os braços não são comparáveis |505| `cases[].aggregates.delta` | Pontuação de braço com menos pontuação de braço sem. Omitido quando os braços não são comparáveis |

506| `cases[].arms.with[].error` | `null`, ou por que uma execução terminou anormalmente, como `timed out after 300s`. Uma execução que começou mas terminou mal ainda é classificada no que produziu, então um erro não nulo não implica pontuação 0 |506| `cases[].arms.with[].error` | `null`, ou por que uma execução terminou anormalmente, como `timed out after 300s`. Uma execução que começou mas terminou mal ainda é classificada no que produziu, então um erro não nulo não implica pontuação 0 |

507| `cases[].arms.with[].aborted` | Presente quando um [mock](#mock-mcp-servers) `expect:` ou `abort_when` parou a execução, com `server`, `tool` e `reason`. A execução marca 0 e `error` permanece `null` |507| `cases[].arms.with[].aborted` | Presente quando um [mock](#mock-mcp-servers) parou a execução por meio de `expect:`, `abort_when` ou do [orçamento de chamadas de agent-mock](#mock-call-budget-exceeded), com `server`, `tool` e `reason`. A execução marca 0 e `error` permanece `null` |

508| `cases[].arms.with[].skippedPaidGraders` | `true` quando o teto de custo pulou os avaliadores de juiz dessa execução, então sua pontuação não é comparável |508| `cases[].arms.with[].skippedPaidGraders` | `true` quando o teto de custo pulou os avaliadores de juiz dessa execução, então sua pontuação não é comparável |

509| `costUsd`, `durationSeconds`, `claudeVersion` | Custo estimado a preço de lista incluindo chamadas de juiz, segundos de parede e a versão de Claude Code que executou o conjunto |509| `costUsd`, `durationSeconds`, `claudeVersion` | Custo estimado a preço de lista incluindo chamadas de juiz, segundos de parede e a versão de Claude Code que executou o conjunto |

510 510 


660| Chave | Padrão | Propósito |660| Chave | Padrão | Propósito |

661| :- | :- | :- |661| :- | :- | :- |

662| `type` | `fixed` | `fixed` retorna o corpo como escrito. `agent` trata o corpo como instruções para o [modelo de juiz](#command-options), que atua como o servidor para a execução e vê chamadas anteriores como histórico |662| `type` | `fixed` | `fixed` retorna o corpo como escrito. `agent` trata o corpo como instruções para o [modelo de juiz](#command-options), que atua como o servidor para a execução e vê chamadas anteriores como histórico |

663| `expect` | não definido | Um mapa de caminhos de entrada com pontos para um nome de tipo como `string`, `number`, `boolean`, `array` ou `object`, um `/regex/`, um literal ou uma lista de literais permitidos. Uma chamada que viola aborta a execução com pontuação 0 e é relatada como `aborted` com o servidor, ferramenta e motivo |663| `expect` | não definido | Um mapa de caminhos de entrada com pontos para um nome de tipo como `string`, `number`, `boolean`, `array` ou `object`, um [`/regex/`](#expect-patterns), um literal ou uma lista de literais permitidos. Uma chamada que viola aborta a execução com pontuação 0 e é relatada como `aborted` com o servidor, ferramenta e motivo |

664| `error` | `false` | `fixed` apenas. Retorne o corpo como um erro de ferramenta |664| `error` | `false` | `fixed` apenas. Retorne o corpo como um erro de ferramenta |

665| `abort_when` | não definido | `agent` apenas. Prosa listando as únicas condições sob as quais o agente pode abortar a execução |665| `abort_when` | não definido | `agent` apenas. Prosa listando as únicas condições sob as quais o agente pode abortar a execução |

666 666 

667Dois arquivos opcionais ficam ao lado dos arquivos de ferramenta no diretório de um servidor:667Dois arquivos opcionais ficam ao lado dos arquivos de ferramenta no diretório de um servidor:

668 668 

669* **`_server.md`**: um único mock `type: agent` que responde várias ferramentas, listadas em sua chave frontmatter `tools:`. Um `<tool>.md` para a mesma ferramenta tem precedência. Coloque uma guarda `expect:` no `<tool>.md` individual, não aqui669* **`_server.md`**: um único mock `type: agent` que responde várias ferramentas, listadas em sua chave frontmatter `tools:`. Um `<tool>.md` para a mesma ferramenta tem precedência. Uma guarda `expect:` aqui é um erro de carregamento, a menos que `tools:` liste uma única ferramenta, então coloque a guarda no `<tool>.md` individual

670* **`_tools.json`**: uma resposta `tools/list` salva do servidor real, para que ferramentas mockificadas carreguem suas descrições reais e esquemas de entrada em vez de um espaço reservado permissivo670* **`_tools.json`**: uma resposta `tools/list` salva do servidor real, para que ferramentas mockificadas carreguem suas descrições reais e esquemas de entrada em vez de um espaço reservado permissivo

671 671 

672O diretório `mocks/` próprio de um caso usa o mesmo layout e substitui os arquivos de mocks do conjunto arquivo por arquivo.672O diretório `mocks/` próprio de um caso usa o mesmo layout e substitui os arquivos de mocks do conjunto arquivo por arquivo.

673 673 

674<h4 id="expect-patterns">

675 Padrões regex em expect

676</h4>

677 

678Um valor `/regex/` em `expect:` usa um pequeno dialeto que Claude Code verifica quando carrega o conjunto:

679 

680* Caracteres literais, `.`, escapes como `\d` e classes de caracteres como `[a-z]`

681* Os quantificadores `*`, `+`, `?` e as formas `{m,n}`, cada um aplicado a um único caractere, escape ou classe

682* Um `^` opcional no início e um `$` no final

683* Apenas as flags `i` e `s`

684 

685Um padrão fora do dialeto, como um com grupo, alternância, referência retroativa, lookaround ou outra flag, impede o caso de carregar: o caso recebe pontuação 0 e seu erro nomeia o padrão. Para permitir vários valores exatos, escreva uma lista de literais em vez de uma alternância.

686 

687Cada padrão verifica valores apenas até um comprimento máximo, e um valor mais longo conta como uma violação. Quantificadores podem reduzir esse comprimento, e um `^` inicial o aumenta, então ancore os padrões com `^` e mantenha poucos quantificadores.

688 

674<h2 id="troubleshooting">689<h2 id="troubleshooting">

675 Solução de problemas690 Solução de problemas

676</h2>691</h2>


779 794 

780Se sua conta atinge o limite de uso do plano ou um limite de taxa de API enquanto um conjunto está em execução, cada execução posterior termina com esse erro, é classificada no que produziu e geralmente marca 0. O conjunto ainda termina e não é marcado `partial`, então o resultado pode parecer uma regressão. Verifique a coluna `NOTES` ou `cases[].arms.with[].error` no JSON para a mensagem de limite antes de confiar nas pontuações, então re-execute após o limite redefinir, com `--runs 1` ou um filtro `--case` se você precisar ficar abaixo dele.795Se sua conta atinge o limite de uso do plano ou um limite de taxa de API enquanto um conjunto está em execução, cada execução posterior termina com esse erro, é classificada no que produziu e geralmente marca 0. O conjunto ainda termina e não é marcado `partial`, então o resultado pode parecer uma regressão. Verifique a coluna `NOTES` ou `cases[].arms.with[].error` no JSON para a mensagem de limite antes de confiar nas pontuações, então re-execute após o limite redefinir, com `--runs 1` ou um filtro `--case` se você precisar ficar abaixo dele.

781 796 

797<h3 id="mock-call-budget-exceeded">

798 "mock call budget exceeded"

799</h3>

800 

801Todo [mock](#mock-mcp-servers) `type: agent` em uma execução consome um único orçamento de chamadas de quatro vezes o `max_turns` do caso, o que equivale a 40 chamadas no padrão de 10. Chamadas respondidas a partir de gravações em `.replay/` também contam, e a linha de progresso `mock budget` do caso imprime o orçamento. Uma chamada além dele aborta a execução com pontuação 0 e este motivo, então aumente `max_turns` no caso para uma skill que faz muitas chamadas a mocks de agente.

802 

782<h3 id="runs-time-out-or-hit-the-turn-cap">803<h3 id="runs-time-out-or-hit-the-turn-cap">

783 Execuções expiram ou atingem o limite de turno804 Execuções expiram ou atingem o limite de turno

784</h3>805</h3>

Details

76 plugin install76 plugin install

77</h3>77</h3>

78 78 

79Instale um plugin de um marketplace que você adicionou. `i` é um alias para `install`.79Instale um plugin de um dos seus marketplaces. `i` é um alias para `install`.

80 80 

81```bash theme={null}81```bash theme={null}

82claude plugin install <plugin> [options]82claude plugin install <plugin> [options]

83```83```

84 84 

85A maioria dos plugins é instalada sem um prompt. Para um plugin cujo marketplace [executa um comando para instalá-lo](/docs/pt/plugins/host-marketplace) ou [define um `headersHelper` para seu download](/docs/pt/plugins/host-marketplace#how-users-accept-a-headershelper-command), Claude Code primeiro imprime o comando e pergunta `Run this command now? [y/N]`.85A maioria dos plugins é instalada sem um prompt. Para um plugin cuja entrada de marketplace [executa um comando para instalá-lo](/docs/pt/plugins/host-marketplace) ou [define um `headersHelper` para seu download](/docs/pt/plugins/host-marketplace#how-users-accept-a-headershelper-command), Claude Code primeiro imprime o comando e pergunta `Run this command now? [y/N]`.

86 86 

87| Flag | Descrição |87| Flag | Descrição |

88| :- | :- |88| :- | :- |


129 129 

130Um erro de uso, como um `--scope` inválido, não imprime nenhuma linha de resultado e sai com `1` com o motivo em stderr.130Um erro de uso, como um `--scope` inválido, não imprime nenhuma linha de resultado e sai com `1` com o motivo em stderr.

131 131 

132<h4 id="json-result-for-marketplace-commands">

133 Resultado JSON para comandos de marketplace

134</h4>

135 

136Em `plugin marketplace add`, `plugin marketplace remove` e `plugin marketplace update`, `--json` imprime um objeto JSON na última linha de stdout com os campos `command`, `outcome` e `message`. O seguinte é o resultado de `claude plugin marketplace remove your-marketplace --json`:

137 

138```json theme={null}

139{"command":"marketplace-remove","outcome":"ok","marketplace":"your-marketplace","message":"Successfully removed marketplace: your-marketplace"}

140```

141 

142O valor de `command` é `marketplace-add`, `marketplace-remove` ou `marketplace-update`. Os campos abaixo aparecem apenas quando se aplicam:

143 

144* `marketplace`: o nome do marketplace sobre o qual o comando atuou

145* `failureCode`: um código para o motivo pelo qual o comando falhou, como `invalid_source`

146 

147`plugin marketplace add` e `plugin marketplace remove` podem não imprimir nenhuma linha de resultado quando o argumento é o [nome reservado](/docs/pt/plugins/marketplace-reference#reserved-names) `anthropic-plugin-directory`, então verifique o código de saída para esse nome.

148 

132<h4 id="accept-a-displayed-install-command">149<h4 id="accept-a-displayed-install-command">

133 Aceitar um comando de instalação exibido150 Aceitar um comando de instalação exibido

134</h4>151</h4>


487| Opção | Descrição | Padrão |504| Opção | Descrição | Padrão |

488| :- | :- | :- |505| :- | :- | :- |

489| `--runs <n>` | Execuções por caso em cada [arm](/docs/pt/plugin-evals#compare-against-a-no-plugin-baseline) | `runs` de cada caso, senão 3 |506| `--runs <n>` | Execuções por caso em cada [arm](/docs/pt/plugin-evals#compare-against-a-no-plugin-baseline) | `runs` de cada caso, senão 3 |

490| `-j, --concurrency <n>` | Sessões de agente para executar de uma vez, 1 a 8. Elas compartilham seu limite de taxa | `1` |507| `-j, --concurrency <n>` | Sessões de agente para executar de uma vez, 1 a 8. Elas compartilham seu rate limit | `1` |

491| `--model <model>` | Modelo para o agente sob teste | `model` de cada caso, senão `ANTHROPIC_MODEL` se definido, senão padrão de Claude Code |508| `--model <model>` | Modelo para o agente sob teste | `model` de cada caso, senão `ANTHROPIC_MODEL` se definido, senão padrão de Claude Code |

492| `--judge-model <model>` | Modelo para avaliadores `llm` e `baseline` | O modelo para [tarefas em segundo plano](/docs/pt/plugin-evals#grade-the-result) |509| `--judge-model <model>` | Modelo para avaliadores `llm` e `baseline` | O modelo para [tarefas em segundo plano](/docs/pt/plugin-evals#grade-the-result) |

493| `--ablation <mode>` | `none` ou `with-without`. Veja [Comparar contra uma linha de base sem plugin](/docs/pt/plugin-evals#compare-against-a-no-plugin-baseline) | Decidido por caso, como essa seção descreve |510| `--ablation <mode>` | `none` ou `with-without`. Veja [Pontuar em relação à linha de base sem plugin](/docs/pt/plugin-evals#compare-against-a-no-plugin-baseline) | Decidido por caso, como essa seção descreve |

494| `--threshold <0..1>` | Saia com 1 se algum caso pontuar abaixo disso | `1.0` |511| `--threshold <0..1>` | Saia com 1 se algum caso pontuar abaixo disso | `1.0` |

495| `--max-cost-usd <usd>` | Pare antes da próxima execução uma vez que o gasto atinja isso, saia com 2 e relate resultados parciais | Sem limite |512| `--max-cost-usd <usd>` | Pare antes da próxima execução uma vez que o gasto atinja isso, saia com 2 e relate resultados parciais | Sem limite |

496| `--allow-tools <tools...>` | Conceda ferramentas além do conjunto somente leitura, como `Bash`, `Write`, `Edit` ou `"mcp__plugin_<plugin>_<server>__*"`. Veja [Conceder ferramentas](/docs/pt/plugin-evals#grant-tools) | |513| `--allow-tools <tools...>` | Conceda ferramentas além do conjunto somente leitura, como `Bash`, `Write`, `Edit` ou `"mcp__plugin_<plugin>_<server>__*"`. Veja [Conceder ferramentas](/docs/pt/plugin-evals#grant-tools) | |


672* `target`: o caminho resolvido que Claude Code validou689* `target`: o caminho resolvido que Claude Code validou

673* `manifest`: o resultado do próprio manifesto, ou `null` para uma execução sem manifesto690* `manifest`: o resultado do próprio manifesto, ou `null` para uma execução sem manifesto

674* `contents`: resultados por arquivo, cada um nomeando seu `file` e carregando arrays `errors`, `warnings` e `notes`691* `contents`: resultados por arquivo, cada um nomeando seu `file` e carregando arrays `errors`, `warnings` e `notes`

692 * `gatingHooks`: se cada hook de [mod](/docs/pt/plugins/mods/overview) que pode recusar uma ação, como um hook `tool.call`, tem um [manipulador `.catch`](/docs/pt/plugins/mods/events#handle-a-hook-that-fails). Cada item fornece `module`, `pattern`, `hook` e `hasCatch`. Requer Claude Code v2.1.290 ou posterior

675 693 

676Na saída `2`, o comando não escreve nada para stdout. A mensagem de erro vai para stderr.694Na saída `2`, o comando não escreve nada para stdout. A mensagem de erro vai para stderr.

677 695 


703| `--scope <scope>` | Arquivo de configurações para declarar o marketplace: `user`, `project` ou `local`. Padrão é `user` |721| `--scope <scope>` | Arquivo de configurações para declarar o marketplace: `user`, `project` ou `local`. Padrão é `user` |

704| `--sparse <paths...>` | Limite o checkout git a estes diretórios, para monorepos. Apenas fontes `github` e `git` |722| `--sparse <paths...>` | Limite o checkout git a estes diretórios, para monorepos. Apenas fontes `github` e `git` |

705| `--claudeai` | Leia o argumento como o nome de um [marketplace hospedado em claude.ai](/docs/pt/plugins/install#add-from-claude-ai) em vez de uma fonte. Requer Claude Code v2.1.273 ou posterior |723| `--claudeai` | Leia o argumento como o nome de um [marketplace hospedado em claude.ai](/docs/pt/plugins/install#add-from-claude-ai) em vez de uma fonte. Requer Claude Code v2.1.273 ou posterior |

724| `--json` | Imprima se o comando teve êxito, e sua mensagem, como um objeto JSON na última linha do stdout, no [formato de resultado JSON](#plugin-json-result). Não tem efeito com `--claudeai`. Requer Claude Code v2.1.287 ou posterior |

706 725 

707`<source>` toma qualquer uma das formas na tabela abaixo, e sua forma decide o tipo de fonte e como Claude Code busca o marketplace. Para o objeto de fonte resultante, veja a [referência de marketplace](/docs/pt/plugins/marketplace-reference).726`<source>` toma qualquer uma das formas na tabela abaixo, e sua forma decide o tipo de fonte e como Claude Code busca o marketplace. Para o objeto de fonte resultante, veja a [referência de marketplace](/docs/pt/plugins/marketplace-reference).

708 727 


797| Flag | Descrição |816| Flag | Descrição |

798| :- | :- |817| :- | :- |

799| `--scope <scope>` | Remova a declaração de um escopo de configurações: `user`, `project` ou `local`. Sem ele, Claude Code remove a declaração de cada escopo |818| `--scope <scope>` | Remova a declaração de um escopo de configurações: `user`, `project` ou `local`. Sem ele, Claude Code remove a declaração de cada escopo |

819| `--json` | Imprima se o comando teve êxito, e sua mensagem, como um objeto JSON na última linha do stdout, no [formato de resultado JSON](#plugin-json-result). Requer Claude Code v2.1.287 ou posterior |

800 820 

801Remova um marketplace de cada escopo:821Remova um marketplace de cada escopo:

802 822 


806 826 

807Claude Code imprime `Successfully removed marketplace: your-marketplace`. Quando o comando desinstala plugins, a saída os lista sob uma linha como `Also uninstalled 2 plugins from this marketplace:`. Para usar um deles novamente, adicione o marketplace de volta e reinstale o plugin.827Claude Code imprime `Successfully removed marketplace: your-marketplace`. Quando o comando desinstala plugins, a saída os lista sob uma linha como `Also uninstalled 2 plugins from this marketplace:`. Para usar um deles novamente, adicione o marketplace de volta e reinstale o plugin.

808 828 

809Se você escopar para um arquivo de configurações que não declara o marketplace, o comando falha com `Marketplace 'your-marketplace' is not declared in project settings. Omit --scope to remove it from all scopes.`829Se você restringir o escopo a um arquivo de configurações que não declara o marketplace, o comando falha com `Marketplace 'your-marketplace' is not declared in project settings. Omit --scope to remove it from all scopes.`

810 830 

811<h3 id="plugin-marketplace-update">831<h3 id="plugin-marketplace-update">

812 plugin marketplace update832 plugin marketplace update


815Atualize um marketplace, ou cada marketplace, de sua fonte para buscar novos plugins e versões. Um marketplace adicionado com um branch ou tag `ref` atualiza para o commit mais recente desse ref, não o branch padrão do repositório.835Atualize um marketplace, ou cada marketplace, de sua fonte para buscar novos plugins e versões. Um marketplace adicionado com um branch ou tag `ref` atualiza para o commit mais recente desse ref, não o branch padrão do repositório.

816 836 

817```bash theme={null}837```bash theme={null}

818claude plugin marketplace update [name]838claude plugin marketplace update [name] [options]

819```839```

820 840 

821O comando não toma flags além de `--help`.841| Flag | Descrição |

842| :- | :- |

843| `--json` | Imprima se o comando teve êxito, e sua mensagem, como um objeto JSON na última linha do stdout, no [formato de resultado JSON](#plugin-json-result). Sem um nome, o comando recusa `--json` e sai com `1`. Requer Claude Code v2.1.287 ou posterior |

822 844 

823Atualize um marketplace:845Atualize um marketplace:

824 846 


826claude plugin marketplace update your-marketplace848claude plugin marketplace update your-marketplace

827```849```

828 850 

829Claude Code imprime `Successfully updated marketplace: your-marketplace`. Quando você omite o nome, imprime uma contagem como `Successfully updated 2 marketplaces`. Sem marketplaces adicionados, imprime `No marketplaces configured` e sai com `0`.851Claude Code imprime `Successfully updated marketplace: your-marketplace`. Quando você omite o nome, imprime uma contagem como `Successfully updated 2 marketplaces`.

830 852 

831<h2 id="plugin-in-a-session">853<h2 id="plugin-in-a-session">

832 /plugin em uma sessão854 /plugin em uma sessão

Details

1034]1034]

1035```1035```

1036 1036 

1037O comando é executado em um shell, no diretório de trabalho em que a sessão foi iniciada.1037O comando é executado em um shell, no diretório de trabalho atual da sessão. Ele é executado com todas as suas permissões de usuário e fora do [sandbox](/docs/pt/sandboxing).

1038 1038 

1039O comando de um monitor é limitado em onde inicia e o que pode referenciar:1039O comando de um monitor é limitado em onde inicia e o que pode referenciar:

1040 1040 

Details

52* **Nomes que Claude Code usa para plugins que não vêm de um marketplace**: `inline` para plugins carregados com [`--plugin-dir`](/docs/pt/cli-reference), `builtin` para plugins integrados, `skills-dir` para plugins carregados automaticamente de [`.claude/skills/`](/docs/pt/skills) e `synced` para plugins sincronizados de sua conta claude.ai. `claude-plugin-test` também é reservado. `skills-dir` também aparece como `{"source": "skills-dir"}` em `strictKnownMarketplaces` e `blockedMarketplaces`, descrito em [Source values valid only in policy lists](#source-values-valid-only-in-policy-lists).52* **Nomes que Claude Code usa para plugins que não vêm de um marketplace**: `inline` para plugins carregados com [`--plugin-dir`](/docs/pt/cli-reference), `builtin` para plugins integrados, `skills-dir` para plugins carregados automaticamente de [`.claude/skills/`](/docs/pt/skills) e `synced` para plugins sincronizados de sua conta claude.ai. `claude-plugin-test` também é reservado. `skills-dir` também aparece como `{"source": "skills-dir"}` em `strictKnownMarketplaces` e `blockedMarketplaces`, descrito em [Source values valid only in policy lists](#source-values-valid-only-in-policy-lists).

53* **`npm`, `pip`, `uv`, `cargo`, `github` e `gh`**: reservado em qualquer capitalização. Esta verificação requer Claude Code v2.1.275 ou posterior.53* **`npm`, `pip`, `uv`, `cargo`, `github` e `gh`**: reservado em qualquer capitalização. Esta verificação requer Claude Code v2.1.275 ou posterior.

54* **Nomes começando com `claudeai-`**: reservado para marketplaces hospedados em claude.ai. `claude plugin marketplace add` recusa qualquer outro marketplace que use um com `Cannot add marketplace "<name>": names starting with "claudeai-" are reserved for marketplaces hosted on claude.ai`.54* **Nomes começando com `claudeai-`**: reservado para marketplaces hospedados em claude.ai. `claude plugin marketplace add` recusa qualquer outro marketplace que use um com `Cannot add marketplace "<name>": names starting with "claudeai-" are reserved for marketplaces hosted on claude.ai`.

55* **A pasta de download de um marketplace GitHub registrado, `<owner>-<repo>`**: Claude Code baixa um marketplace adicionado de uma origem `github` como `acme/x-tools` por meio de uma pasta chamada `acme-x-tools`, qualquer que seja o `name` próprio desse marketplace. Enquanto esse marketplace estiver registrado sob um nome diferente de `acme-x-tools`, `claude plugin marketplace add` recusa um marketplace diferente chamado `acme-x-tools` após baixá-lo e relata `Can't use the marketplace name "acme-x-tools"`. Esta verificação requer Claude Code v2.1.290 ou posterior.

55 56 

56Quando um marketplace registrado para de carregar porque seu nome imita um oficial, `claude plugin list` e `/plugin` relatam `Claude Code refuses the marketplace name "<name>"`. A mensagem informa você a remover o marketplace. Removê-lo também desinstala seus plugins e exclui seus dados salvos. Esta mensagem de recusa nomeada requer Claude Code v2.1.282 ou posterior.57Quando um marketplace registrado para de carregar porque seu nome imita um oficial, `claude plugin list` e `/plugin` relatam `Claude Code refuses the marketplace name "<name>"`. A mensagem informa você a remover o marketplace. Removê-lo também desinstala seus plugins e exclui seus dados salvos. Esta mensagem de recusa nomeada requer Claude Code v2.1.282 ou posterior.

57 58 


498| `Claude Code cannot install plugin "x". Each part of a plugin id (plugin@marketplace) may use only the letters a-z and A-Z, digits, ".", "_" and "-", and must start with a letter or digit. Change this entry's "name".` | Error | `plugins[i].name` |499| `Claude Code cannot install plugin "x". Each part of a plugin id (plugin@marketplace) may use only the letters a-z and A-Z, digits, ".", "_" and "-", and must start with a letter or digit. Change this entry's "name".` | Error | `plugins[i].name` |

499| `Duplicate plugin name "x" found in marketplace` | Error | Duas entradas compartilham um `name` |500| `Duplicate plugin name "x" found in marketplace` | Error | Duas entradas compartilham um `name` |

500| `plugins.i.source: Invalid input` | Error | A `source` da entrada não corresponde a nenhum tipo. Veja [Invalid input on a source](#invalid-input-on-a-source) |501| `plugins.i.source: Invalid input` | Error | A `source` da entrada não corresponde a nenhum tipo. Veja [Invalid input on a source](#invalid-input-on-a-source) |

502| `plugins.i.source: Invalid string: must start with "./"` | Error | Uma `source` de caminho relativo sem o `./` inicial. Antes da v2.1.285, esse erro imprimia `Invalid input` em vez disso |

501| `plugins[i].source: Path contains "..": <path>` | Error | Uma `source` relativa que escapa da raiz do marketplace |503| `plugins[i].source: Path contains "..": <path>` | Error | Uma `source` relativa que escapa da raiz do marketplace |

502| `source.source: 'unsupported' is a parse-time placeholder and cannot be authored` | Error | `plugins[i].source` |504| `source.source: 'unsupported' is a parse-time placeholder and cannot be authored` | Error | `plugins[i].source` |

503| `Plugin "x" sets headersHelper but is not "strict": false` | Error | `plugins[i].headersHelper`, em uma entrada `archive` |505| `Plugin "x" sets headersHelper but is not "strict": false` | Error | `plugins[i].headersHelper`, em uma entrada `archive` |


524 526 

525`Invalid input` em uma `source` significa que o objeto não correspondeu a nenhum tipo de origem. Verifique estas causas:527`Invalid input` em uma `source` significa que o objeto não correspondeu a nenhum tipo de origem. Verifique estas causas:

526 528 

527* Um caminho relativo que não começa com `./`, diferente de `"."` ou um [nome simples sob `metadata.pluginRoot`](#relative-path-plugin-source)

528* Um `package` `npm` contendo `..`529* Um `package` `npm` contendo `..`

529* Um tipo de `source` que não é um das [origens de plugin](#plugin-sources)530* Um tipo de `source` que não é um das [origens de plugin](#plugin-sources)

530* Um tipo conhecido com um campo obrigatório faltando ou do tipo errado, como `github` sem `repo`531* Um tipo conhecido com um campo obrigatório faltando ou do tipo errado, como `github` sem `repo`

531 532 

533Um caminho relativo que não começa com `./`, diferente de `"."` ou um [nome simples sob `metadata.pluginRoot`](#relative-path-plugin-source), falha com `Invalid string: must start with "./"`. Antes da v2.1.285, ele imprimia `Invalid input` como as causas acima.

534 

532<h3 id="failures-that-validation-doesn’t-catch">535<h3 id="failures-that-validation-doesn’t-catch">

533 Failures that validation doesn't catch536 Failures that validation doesn't catch

534</h3>537</h3>

Details

25 Interrompa mods instalados pelo usuário de serem carregados25 Interrompa mods instalados pelo usuário de serem carregados

26</h2>26</h2>

27 27 

28Para impedir que cada mod que seus usuários tragam seja carregado, defina a opção `allowManagedModsOnly` no [guard integrado](#know-what-happens-by-default), um mod de política que Claude Code carrega antes de cada mod que um usuário instala. A opção vai em configurações gerenciadas sob `pluginConfigs`, com chave `cc-plugin-sec-default@builtin`:28Para impedir que cada mod que seus usuários tragam execute seus hooks, defina a opção `allowManagedModsOnly` na [guarda integrada](#know-what-happens-by-default), um mod de política que Claude Code carrega antes de cada mod que um usuário instala. A opção vai em configurações gerenciadas sob `pluginConfigs`, com chave `cc-plugin-sec-default@builtin`:

29 29 

30```json managed-settings.json theme={null}30```json managed-settings.json theme={null}

31{31{


41 41 

42Com a opção definida em configurações gerenciadas:42Com a opção definida em configurações gerenciadas:

43 43 

44* **Nenhum mod que um usuário traz é carregado**: isso cobre um mod em um plugin que o usuário instalou, um mod carregado com `--plugin-dir` e um mod [que Claude escreveu durante uma sessão](/docs/pt/plugins/mods/create#ask-claude-for-a-mod)44* **Nenhum mod que um usuário traz executa seus hooks**: isso cobre um mod em um plugin que o usuário instalou, um mod carregado com `--plugin-dir` e um mod [que Claude escreveu durante uma sessão](/docs/pt/plugins/mods/create#ask-claude-for-a-mod)

45* **Os mods da sua organização ainda são carregados**: um mod que [conta como da sua organização](#install-your-organizations-mods) não é verificado. Todos os outros mods contam como de um usuário e não são carregados. Isso inclui um mod em um plugin que você habilita de um GitHub ou outro marketplace remoto, e um que sua organização ativa para seus membros no claude.ai. Se nenhum contar como seu, nenhum mod instalado é carregado.45* **Os mods da sua organização ainda são executados**: um mod que [conta como da sua organização](#install-your-organizations-mods) não é verificado. Todos os outros mods contam como de um usuário e são recusados. Isso inclui um mod em um plugin que você habilita de um GitHub ou outro marketplace remoto, e um que sua organização ativa para seus membros no claude.ai. Se nenhum contar como seu, nenhum mod instalado executa seus hooks.

46* **Os usuários não podem desfazer**: o guard lê a opção apenas de configurações gerenciadas, então a mesma entrada em um arquivo de configurações de usuário, projeto ou local, ou em um arquivo passado com `--settings`, não muda nada46* **Os usuários não podem desfazer**: a guarda lê a opção apenas de configurações gerenciadas, então a mesma entrada em um arquivo de configurações de usuário, projeto ou local, ou em um arquivo passado com `--settings`, não muda nada

47* **Um arquivo ou política MDM cobre cada provedor**: quando você entrega a opção como um arquivo ou através de MDM, funciona da mesma forma no Amazon Bedrock, na Agent Platform do Google Cloud e no Microsoft Foundry. Para entrega do console de administração do claude.ai, veja [Disponibilidade de plataforma](/docs/pt/server-managed-settings#platform-availability)47* **Um arquivo ou política MDM cobre cada provedor**: quando você entrega a opção como um arquivo ou através de MDM, funciona da mesma forma no Amazon Bedrock, na Agent Platform do Google Cloud e no Microsoft Foundry. Para entrega do console de administração do claude.ai, veja [Disponibilidade de plataforma](/docs/pt/server-managed-settings#platform-availability)

48* **As outras personalizações dos usuários continuam funcionando**: seus [hooks em arquivos de configurações](/docs/pt/hooks), linhas de status e `/goal` não são afetados48* **As outras personalizações dos usuários continuam funcionando**: seus [hooks em arquivos de configurações](/docs/pt/hooks) e no `hooks/hooks.json` dos plugins, linhas de status e `/goal` não são afetados

49* **Mods integrados continuam em execução**: mods integrados ao Claude Code, como suporte a `AGENTS.md`, cada um tem [seu próprio switch](/docs/pt/plugins/mods/overview#mods-built-into-claude-code)49* **Mods integrados continuam em execução**: mods integrados ao Claude Code, como suporte a `AGENTS.md`, cada um tem [seu próprio switch](/docs/pt/plugins/mods/overview#mods-built-into-claude-code)

50 50 

51Para confirmar a opção na máquina de um usuário, inicie Claude Code lá com `--plugin-dir` e o caminho de um diretório que contém um mod, como `claude --plugin-dir ./first-mod`. Os hooks do mod não são executados, e a transcrição e o log de depuração têm a [mensagem do guard](/docs/pt/plugins/mods/troubleshoot#messages-from-the-built-in-guard), que nomeia o mod e `allowManagedModsOnly`. Se o mod for carregado, veja [Verificar que uma política está em vigor](/docs/pt/managed-settings#check-that-a-policy-is-in-force) e as [regras que decidem se uma opção entra em vigor](#set-options-on-the-built-in-guard).51Para confirmar a opção na máquina de um usuário, inicie Claude Code lá com `--plugin-dir` e o caminho de um diretório que contém um mod, como `claude --plugin-dir ./first-mod`. Os hooks do mod não são executados, e a transcrição e o log de depuração têm a [mensagem da guarda](/docs/pt/plugins/mods/troubleshoot#messages-from-the-built-in-guard), que nomeia o mod e `allowManagedModsOnly`. Se a mensagem não estiver lá, veja [Verificar que uma política está em vigor](/docs/pt/managed-settings#check-that-a-policy-is-in-force) e as [regras que decidem se uma opção entra em vigor](#set-options-on-the-built-in-guard).

52 52 

53Se você definiu `CLAUDE_CODE_ENABLE_FUNCTION_HOOKS` como `0` durante acesso antecipado, substitua-o por esta opção. Claude Code v2.1.287 e posterior ignora a variável em qualquer valor, então um `0` lá deixa mods ativados.53Se você definiu `CLAUDE_CODE_ENABLE_FUNCTION_HOOKS` como `0` durante acesso antecipado, substitua-o por esta opção. Claude Code v2.1.287 e posterior ignora a variável em qualquer valor, então um `0` lá deixa mods ativados.

54 54 


117claude plugin validate ./some-mod117claude plugin validate ./some-mod

118```118```

119 119 

120Duas linhas na saída descrevem o código do mod:120As linhas `hooks:` e `calls:` na saída descrevem o código do mod:

121 121 

122```text theme={null}122```text theme={null}

123 ❯ ./register.js hooks: session.start, tool.call, ui.render{component=Pane}123 ❯ ./register.js hooks: session.start, tool.call, ui.render{component=Pane}


150 150 

151| O que você quer | Configurações |151| O que você quer | Configurações |

152| :- | :- |152| :- | :- |

153| Nenhum mod instalado, com hooks intocados | Defina [`allowManagedModsOnly`](#set-options-on-the-built-in-guard) e não implante mods seus |153| Nenhum mod instalado é executado, com os hooks de configuração intocados | Defina [`allowManagedModsOnly`](#set-options-on-the-built-in-guard) e não implante mods seus |

154| Nenhum mod instalado e nenhum hook, incluindo seus hooks gerenciados | Defina `disableAllHooks` como `true` |154| Nenhum mod instalado e nenhum hook, incluindo seus hooks gerenciados | Defina `disableAllHooks` como `true` |

155| Apenas mods da sua organização | Defina a opção [`allowManagedModsOnly`](#stop-user-installed-mods-from-loading) do guard, e [instale seus mods](#install-your-organizations-mods) para que contem como seus |155| Apenas mods da sua organização | Defina a [opção `allowManagedModsOnly`](#stop-user-installed-mods-from-loading) da guarda integrada, e [instale seus mods](#install-your-organizations-mods) para que contem como seus |

156| Qualquer mod de marketplaces que você aprova | Mantenha suas [restrições de marketplace](/docs/pt/plugins/org#restrict-what-users-can-install), e defina `disableSideloadFlags` como `true` |156| Qualquer mod de marketplaces que você aprova | Mantenha suas [restrições de marketplace](/docs/pt/plugins/org#restrict-what-users-can-install), e defina `disableSideloadFlags` como `true` |

157| Qualquer mod, com seu próprio mod verificando os outros | [Instale seu mod](#install-your-organizations-mods), e liste-o com `sec-default@builtin` em `prependPlugins` |157| Qualquer mod, com seu próprio mod verificando os outros | [Instale seu mod](#install-your-organizations-mods), e liste-o com `sec-default@builtin` em `prependPlugins` |

158 158 

159O que cada configuração faz:159O que cada configuração faz:

160 160 

161* **`allowManagedModsOnly`**: uma opção no guard integrado. Mods próprios dos usuários não são carregados, e seus hooks de configurações, linhas de status e `/goal` continuam funcionando. [Interrompa mods instalados pelo usuário de serem carregados](#stop-user-installed-mods-from-loading) lista o que cobre.161* **`allowManagedModsOnly`**: uma opção na guarda integrada. Claude Code recusa os mods próprios dos usuários, então nenhum dos hooks deles é executado. Os hooks de configuração, linhas de status e `/goal` dos usuários continuam funcionando. [Interrompa mods instalados pelo usuário de serem carregados](#stop-user-installed-mods-from-loading) lista o que cobre.

162* **`allowManagedHooksOnly`**: uma configuração mais ampla. Apenas [mods da sua organização](#install-your-organizations-mods) e mods integrados ao Claude Code são carregados. Um mod que um usuário instalou por si só não é. A configuração também bloqueia hooks em arquivos de configurações próprios dos usuários. Leia [O que é executado sob `allowManagedHooksOnly`](/docs/pt/settings-reference#what-runs-under-allowmanagedhooksonly) antes de defini-la.162* **`allowManagedHooksOnly`**: uma configuração mais ampla. Apenas [mods da sua organização](#install-your-organizations-mods) e mods integrados ao Claude Code são carregados. Um mod que um usuário instalou por si só não é. A configuração também bloqueia hooks em arquivos de configurações próprios dos usuários. Leia [O que é executado sob `allowManagedHooksOnly`](/docs/pt/settings-reference#what-runs-under-allowmanagedhooksonly) antes de defini-la.

163* **`disableAllHooks`**: a configuração mais ampla. Em configurações gerenciadas, ela interrompe os mods em cada plugin instalado, incluindo os seus, e desativa cada hook em arquivos de configurações, então um hook `PreToolUse` em suas configurações gerenciadas não bloqueia mais nada. Linhas de status personalizadas e `/goal` também param de funcionar. Leia [`disableAllHooks`](/docs/pt/settings-reference#disableallhooks) antes de defini-la.163* **`disableAllHooks`**: a configuração mais ampla. Em configurações gerenciadas, ela interrompe os mods em cada plugin instalado, incluindo os seus, e desativa cada hook em arquivos de configurações, então um hook `PreToolUse` em suas configurações gerenciadas não bloqueia mais nada. Linhas de status personalizadas e `/goal` também param de funcionar. Leia [`disableAllHooks`](/docs/pt/settings-reference#disableallhooks) antes de defini-la.

164* **`disableSideloadFlags`**: rejeita `--plugin-dir` e `--plugin-url` na inicialização, e impede que mods que Claude escreve durante uma sessão sejam carregados. A configuração também rejeita `--agents` e `--mcp-config`. Leia [`disableSideloadFlags`](/docs/pt/settings-reference#disablesideloadflags) antes de defini-la.164* **`disableSideloadFlags`**: rejeita `--plugin-dir` e `--plugin-url` na inicialização, e impede que mods que Claude escreve durante uma sessão sejam carregados. A configuração também rejeita `--agents` e `--mcp-config`. Leia [`disableSideloadFlags`](/docs/pt/settings-reference#disablesideloadflags) antes de defini-la.

165 165 

166Mods integrados ao Claude Code, como suporte a `AGENTS.md`, não são afetados por essas configurações. Cada um tem [seu próprio switch](/docs/pt/plugins/mods/overview#mods-built-into-claude-code).166Mods integrados ao Claude Code, como suporte a `AGENTS.md`, não são afetados por essas configurações. Cada um tem [seu próprio switch](/docs/pt/plugins/mods/overview#mods-built-into-claude-code).

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 foi recusado ou 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 da guarda integrada](/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">170<h3 id="allow-only-your-organization’s-mods">

171 Permita apenas os mods da sua organização171 Permita apenas os mods da sua organização


193 193 

194Cada grupo de chaves faz um trabalho:194Cada grupo de chaves faz um trabalho:

195 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.196* **`extraKnownMarketplaces`, `enabledPlugins` e `prependPlugins`**: instalam seu mod para que ele conte como seu, e o executam primeiro com a guarda integrada 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.197* **`pluginConfigs`**: define a opção `allowManagedModsOnly` da guarda integrada, então Claude Code recusa os mods próprios dos usuários. Os hooks de configuração, 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ção198* **`disableSideloadFlags`**: consulte [`disableSideloadFlags`](/docs/pt/settings-reference#disablesideloadflags) para ver as flags que ela rejeita na inicialização

199 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: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 201 

202* **Seu mod**: sua linha `hooks module` tem `tier prepend`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.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 módulo de hooks 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)`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 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).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).


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

221<h3 id="set-options-on-the-built-in-guard">221<h3 id="set-options-on-the-built-in-guard">

222 Defina opções no guard integrado222 Defina opções na guarda integrada

223</h3>223</h3>

224 224 

225O guard integrado aceita opções. Defina-as em configurações gerenciadas sob `pluginConfigs`, com chave `cc-plugin-sec-default@builtin`, como o exemplo em [Interrompa mods instalados pelo usuário de serem carregados](#stop-user-installed-mods-from-loading) faz.225A guarda integrada aceita opções. Defina-as em configurações gerenciadas sob `pluginConfigs`, com chave `cc-plugin-sec-default@builtin`, como o exemplo em [Interrompa mods instalados pelo usuário de serem carregados](#stop-user-installed-mods-from-loading) faz.

226 226 

227A tabela fornece o que seus usuários obtêm com cada opção não definida e com ela definida como `true`:227A tabela fornece o que seus usuários obtêm com cada opção não definida e com ela definida como `true`:

228 228 

229| Opção | Não definida | `true` |229| Opção | Não definida | `true` |

230| :- | :- | :- |230| :- | :- | :- |

231| `allowManagedModsOnly` | Mods próprios dos usuários são carregados | Apenas [mods da sua organização](#install-your-organizations-mods), e mods integrados ao Claude Code, são carregados. Claude Code recusa cada outro mod, incluindo um que um usuário instalou ou nomeou com `--plugin-dir`. |231| `allowManagedModsOnly` | Mods próprios dos usuários são executados | Apenas [mods da sua organização](#install-your-organizations-mods), e mods integrados ao Claude Code, executam seus hooks. Claude Code recusa cada outro mod, incluindo um que um usuário instalou ou nomeou com `--plugin-dir`. |

232| `allowModsToOverrideDenyRules` | Regras de negação têm precedência sobre mods dos usuários | Um mod de um usuário que aprova chamadas de ferramentas pode aprovar uma chamada que uma regra `deny` recusa |232| `allowModsToOverrideDenyRules` | Regras de negação têm precedência sobre mods dos usuários | Um mod de um usuário que aprova chamadas de ferramenta pode aprovar uma chamada que uma regra `deny` recusa |

233 233 

234Estas regras decidem se uma opção entra em vigor:234Estas regras decidem se uma opção entra em vigor:

235 235 

236* **O id tem uma forma aqui**: Claude Code lê as opções apenas sob `cc-plugin-sec-default@builtin`. `prependPlugins` aceita `sec-default@builtin` também, e `pluginConfigs` não.236* **O id tem uma forma aqui**: Claude Code lê as opções apenas sob `cc-plugin-sec-default@builtin`. `prependPlugins` aceita `sec-default@builtin` também, e `pluginConfigs` não.

237* **Apenas configurações gerenciadas contam**: a mesma entrada em um arquivo de configurações de usuário, projeto ou local, ou em um arquivo passado com `--settings`, nem define uma opção nem afrouxe uma237* **Apenas configurações gerenciadas contam**: a mesma entrada em um arquivo de configurações de usuário, projeto ou local, ou em um arquivo passado com `--settings`, nem define uma opção nem afrouxa uma

238* **O guard tem que ser carregado**: se você definir `prependPlugins`, [nomeie o guard na lista](#install-your-organizations-mods). Onde o guard não é carregado, nenhuma opção se aplica.238* **A guarda integrada tem que ser carregada**: se você definir `prependPlugins`, [nomeie a guarda integrada na lista](#install-your-organizations-mods). Onde a guarda integrada não é carregada, nenhuma opção se aplica.

239* **O guard falha fechado**: se o guard não conseguir ler configurações gerenciadas, ele recusa cada mod de um usuário ao carregar. Se não conseguir verificar as regras de negação para uma chamada que um mod de um usuário aprovou, ele recusa a chamada.239* **A guarda integrada falha fechada**: se a guarda integrada não conseguir ler configurações gerenciadas, ela recusa cada mod de um usuário ao carregar. Se não conseguir verificar as regras de negação para uma chamada que um mod de um usuário aprovou, ela recusa a chamada.

240 240 

241As [mensagens do guard integrado](/docs/pt/plugins/mods/troubleshoot#messages-from-the-built-in-guard) são o que seus usuários veem quando qualquer opção se aplica.241As [mensagens da guarda integrada](/docs/pt/plugins/mods/troubleshoot#messages-from-the-built-in-guard) são o que seus usuários veem quando qualquer opção se aplica.

242 242 

243<h2 id="run-your-organization’s-own-mods">243<h2 id="run-your-organization’s-own-mods">

244 Execute mods próprios da sua organização244 Execute mods próprios da sua organização


285}285}

286```286```

287 287 

288Um plugin que Claude Code copia em seu cache conta como de um usuário, mesmo quando `enabledPlugins` gerenciado o habilita. Isso cobre cada plugin de uma fonte GitHub, git, URL ou npm. Seu mod é executado entre mods dos usuários, `prependPlugins` e `appendPlugins` o pulam, e ele não é carregado sob `allowManagedModsOnly` ou `allowManagedHooksOnly`. O log de depuração do usuário tem uma linha que começa com o id do plugin e `is enabled by managed settings, but`.288Um plugin que Claude Code copia em seu cache conta como de um usuário, mesmo quando `enabledPlugins` gerenciado o habilita. Isso cobre cada plugin de uma fonte GitHub, git, URL ou npm. Seu mod é executado entre mods dos usuários, `prependPlugins` e `appendPlugins` o pulam, `allowManagedModsOnly` o recusa, e `allowManagedHooksOnly` impede que ele seja carregado. O log de depuração do usuário tem uma linha que começa com o id do plugin e `is enabled by managed settings, but`.

289 289 

290Claude Code levanta um evento cada vez que está prestes a agir, como executar uma ferramenta, e o passa para cada mod por sua vez. Um mod que conta como seu [é executado antes dos mods dos usuários](/docs/pt/plugins/mods/events#the-order-mods-run-in) mesmo quando você não o lista em lugar nenhum. Para definir seu lugar, liste seu id em uma de duas configurações. O id é o nome do plugin, `@`, e o nome do marketplace, como `acme-guard@acme-tools`.290Claude Code levanta um evento cada vez que está prestes a agir, como executar uma ferramenta, e o passa para cada mod por sua vez. Um mod que conta como seu [é executado antes dos mods dos usuários](/docs/pt/plugins/mods/events#the-order-mods-run-in) mesmo quando você não o lista em lugar nenhum. Para definir seu lugar, liste seu id em uma de duas configurações. O id é o nome do plugin, `@`, e o nome do marketplace, como `acme-guard@acme-tools`.

291 291 

292* **`prependPlugins`**: seu mod vê cada evento antes de qualquer mod de um usuário e cada resultado depois. Pode mudar o evento, recusá-lo ou pular os mods dos usuários.292* **`prependPlugins`**: seu mod vê cada evento antes de qualquer mod de um usuário e cada resultado depois. Pode mudar o evento, recusá-lo ou pular os mods dos usuários.

293* **`appendPlugins`**: seu mod é executado após cada mod de um usuário, então vê apenas os eventos que aqueles mods passam, na forma que os passam293* **`appendPlugins`**: seu mod é executado após cada mod de um usuário, então vê apenas os eventos que aqueles mods passam, na forma que os passam

294 294 

295Este exemplo declara o marketplace `acme-tools` em `/opt/acme/claude-plugins`, habilita `acme-guard` dele, e executa esse mod primeiro, com o guard integrado depois:295Este exemplo declara o marketplace `acme-tools` em `/opt/acme/claude-plugins`, habilita `acme-guard` dele, e executa esse mod primeiro, com a guarda integrada depois:

296 296 

297```json managed-settings.json theme={null}297```json managed-settings.json theme={null}

298{298{


310 310 

311* **`extraKnownMarketplaces`**: nomeia o diretório que contém o marketplace `acme-tools`. `path` é o caminho absoluto do diretório que contém `.claude-plugin/marketplace.json`.311* **`extraKnownMarketplaces`**: nomeia o diretório que contém o marketplace `acme-tools`. `path` é o caminho absoluto do diretório que contém `.claude-plugin/marketplace.json`.

312* **`enabledPlugins`**: ativa `acme-guard` para cada usuário que recebe essas configurações gerenciadas312* **`enabledPlugins`**: ativa `acme-guard` para cada usuário que recebe essas configurações gerenciadas

313* **`prependPlugins`**: coloca `acme-guard` primeiro e o guard integrado segundo, ambos antes de qualquer mod que um usuário instala. Claude Code segue a ordem que você lista.313* **`prependPlugins`**: coloca `acme-guard` primeiro e a guarda integrada em segundo, ambos antes de qualquer mod que um usuário instala. Claude Code segue a ordem que você lista.

314 314 

315Para confirmar que a máquina de um usuário recebeu as configurações, veja [Verificar que uma política está em vigor](/docs/pt/managed-settings#check-that-a-policy-is-in-force).315Para confirmar que a máquina de um usuário recebeu as configurações, veja [Verificar que uma política está em vigor](/docs/pt/managed-settings#check-that-a-policy-is-in-force).

316 316 


321 321 

322Estas regras decidem quais ids nas duas listas entram em vigor:322Estas regras decidem quais ids nas duas listas entram em vigor:

323 323 

324* **A lista substitui o padrão**: quando você define `prependPlugins` em configurações gerenciadas, nomeie `sec-default@builtin` nela para manter o guard integrado. O guard é integrado e não precisa de uma entrada `enabledPlugins`.324* **A lista substitui o padrão**: quando você define `prependPlugins` em configurações gerenciadas, nomeie `sec-default@builtin` nela para manter a guarda integrada. A guarda é integrada e não precisa de uma entrada `enabledPlugins`.

325* **Seus próprios ids devem contar como seus**: em configurações gerenciadas, Claude Code pula um id cujo plugin não atende às condições para um mod da organização325* **Seus próprios ids devem contar como seus**: em configurações gerenciadas, Claude Code pula um id cujo plugin não atende às condições para um mod da organização

326* **Repositórios não podem defini-los**: Claude Code lê ambas as configurações de configurações gerenciadas e nunca de um arquivo de configurações de um repositório. Um usuário pode defini-los em `~/.claude/settings.json` para ordenar seus próprios mods apenas em uma máquina sem configurações gerenciadas, e apenas quando não estão conectados com um plano Team ou Enterprise. Em qualquer outro lugar, Claude Code ignora ambas as chaves em configurações de usuário. Uma lista lá nem adiciona nem remove o guard integrado.326* **Repositórios não podem defini-los**: Claude Code lê ambas as configurações de configurações gerenciadas e nunca de um arquivo de configurações de um repositório. Um usuário pode defini-los em `~/.claude/settings.json` para ordenar seus próprios mods apenas em uma máquina sem configurações gerenciadas, e apenas quando não estão conectados com um plano Team ou Enterprise. Em qualquer outro lugar, Claude Code ignora ambas as chaves em configurações de usuário. Uma lista lá nem adiciona nem remove a guarda integrada.

327 327 

328<h3 id="enforce-a-policy-with-a-mod-of-your-own">328<h3 id="enforce-a-policy-with-a-mod-of-your-own">

329 Aplique uma política com um mod seu329 Aplique uma política com um mod seu

Details

71 71 

72Quando você pergunta sobre um ticket, Claude pode chamar `mcp__my-mod__ticket` com seu id. O segundo hook busca o ticket e retorna o corpo da resposta, que Claude lê como o resultado da ferramenta. Quando o servidor responde com um status de erro, Claude lê `Lookup failed with status` e o número.72Quando você pergunta sobre um ticket, Claude pode chamar `mcp__my-mod__ticket` com seu id. O segundo hook busca o ticket e retorna o corpo da resposta, que Claude lê como o resultado da ferramenta. Quando o servidor responde com um status de erro, Claude lê `Lookup failed with status` e o número.

73 73 

74<Tip>

75 Quando o [MCP Tool Search](/docs/pt/mcp#scale-with-mcp-tool-search) adia uma ferramenta registrada, Claude vê seu nome, mas não sua descrição, até procurá-la. Se Claude deve considerar a ferramenta em todos os turnos, adicione [`isDeferred: false`](/docs/pt/plugins/mods/reference#tools) ao registro para [carregar a ferramenta completa antecipadamente](/docs/pt/mcp#exempt-a-server-from-deferral). O campo requer Claude Code v2.1.293 ou posterior, e versões anteriores o ignoram.

76</Tip>

77 

74<h2 id="call-a-model">78<h2 id="call-a-model">

75 Chame um modelo79 Chame um modelo

76</h2>80</h2>


204 208 

205* **Paths**: um caminho relativo é resolvido em relação ao diretório de trabalho da sessão209* **Paths**: um caminho relativo é resolvido em relação ao diretório de trabalho da sessão

206* **`$.fs.list`**: retorna as entradas de um diretório como `{ name, kind, size, isLink }` e não é recursivo210* **`$.fs.list`**: retorna as entradas de um diretório como `{ name, kind, size, isLink }` e não é recursivo

207* **`$.process.run`**: leva uma lista de argumentos e não usa shell. Ele resolve para `{ exitCode, stdout, stderr }` qualquer que seja o código de saída. Ele rejeita se o programa não puder iniciar ou ainda estiver em execução no tempo limite, que é 30 segundos por padrão, então envolva em `try` e `catch`.211* **`$.process.run`**: leva uma lista de argumentos e não usa shell. Ele resolve para `{ exitCode, stdout, stderr }` qualquer que seja o código de saída. Ele rejeita se o programa não puder iniciar ou ainda estiver em execução no timeout, que é 30 segundos por padrão, então envolva em `try` e `catch`.

208 212 

209Cada uma dessas chamadas é em si um evento, nomeado para seu namespace e método sem o `$.`, como `fs.read` para `$.fs.read`. Um mod [anterior na cadeia](/docs/pt/plugins/mods/events#the-order-mods-run-in) pode observar, reescrever ou recusar sua chamada, que é como uma organização restringe o que os mods alcançam.213Cada uma dessas chamadas é em si um evento, nomeado para seu namespace e método sem o `$.`, como `fs.read` para `$.fs.read`. Um mod [anterior na cadeia](/docs/pt/plugins/mods/events#the-order-mods-run-in) pode observar, reescrever ou recusar sua chamada, que é como uma organização restringe o que os mods alcançam.

210 214 

215Um mod pode recusar sua chamada `$.process.spawn` depois que o comando produziu saída ou saiu, e nada do que o comando fez é desfeito. A chamada então é rejeitada com uma mensagem que termina com uma destas strings e o motivo do mod que recusou:

216 

217* **`$.process.spawn started, and a plugin withheld its result:`**: o mod que recusou não havia lido a saída do comando até o fim. Claude Code interrompe o comando se ele ainda estiver em execução.

218* **`$.process.spawn ran, and a plugin withheld its result:`**: o mod que recusou havia lido a saída do comando até o fim, então o comando já havia saído

219 

211<h2 id="next-steps">220<h2 id="next-steps">

212 Próximas etapas221 Próximas etapas

213</h2>222</h2>

Details

316✔ Validation passed316✔ Validation passed

317```317```

318 318 

319A linha `hooks:` lista os eventos que seu módulo conecta, cada um com seu filtro entre chaves. A linha `calls:` lista cada método da API de mods que ele chama. Um módulo que lê ou define variáveis de ambiente também obtém linhas `env reads:` e `env writes:`, e um que usa [`$.state`](/docs/pt/plugins/mods/interface#keep-state) obtém `state reads:` e `state writes:`.319Verifique a linha `hooks:` para ver os eventos que seu módulo conecta, cada um com seu filtro entre chaves, e `calls:` para ver cada método da API de mods que ele chama. Se seu módulo lê ou define variáveis de ambiente, procure também as linhas `env reads:` e `env writes:`, e `state reads:` e `state writes:` se ele usa [`$.state`](/docs/pt/plugins/mods/interface#keep-state). Você também vê uma linha para cada hook que pode recusar uma ação, como `gating hook without .catch: tool.call`, que informa se esse hook tem um [handler `.catch`](/docs/pt/plugins/mods/events#handle-a-hook-that-fails).

320 320 

321Se um evento que você pretendia tratar está faltando na primeira linha, o Claude Code não chamará esse hook também. A causa usual é um nome de evento digitado incorretamente, que o comando relata como um erro como `"tool.calls" is not an event`.321Se um evento que você pretendia tratar está faltando na primeira linha, o Claude Code não chamará esse hook também. A causa usual é um nome de evento digitado incorretamente, que o comando relata como um erro como `"tool.calls" is not an event`.

322 322 

Details

245 245 

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

247 247 

248Para impedir um prompt, retorne `{ drop: 'the reason' }` sem chamar `next`. Se o seu hook retornar um `drop` depois que sua chamada `next(e)` deixou o prompt passar, o turno ainda é executado, e o hook [falha](#handle-a-hook-that-fails) com uma mensagem que inclui `a drop after its next() was answered`.

249 

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).250[Outros eventos](/docs/pt/plugins/mods/reference#prompts-and-what-claude-reads) cobrem o restante do que o Claude lê: `prompt.section` para cada seção do system prompt, `prompt.context` para o contexto enviado com a primeira mensagem e `skill.prompt` para o texto de uma skill. Texto desses hooks que muda entre requisições [invalida o cache de prompt](/docs/pt/prompt-caching).

249 251 

250<h3 id="follow-a-turn">252<h3 id="follow-a-turn">


312 314 

313Claude Code ordena a cadeia por onde cada mod vem:315Claude Code ordena a cadeia por onde cada mod vem:

314 316 

3151. O guard integrado `sec-default@builtin`, um mod integrado em Claude Code que `/plugin` lista como `cc-plugin-sec-default`, onde [ele carrega](/docs/pt/plugins/mods/admin#know-what-happens-by-default), mods que sua organização lista em [`prependPlugins`](/docs/pt/plugins/mods/admin#install-your-organizations-mods) e depois qualquer outro mod que conta como de sua organização e não está em `appendPlugins`3171. A guarda integrada `sec-default@builtin`, um mod integrado em Claude Code que `/plugin` lista como `cc-plugin-sec-default`, onde [ele carrega](/docs/pt/plugins/mods/admin#know-what-happens-by-default), mods que sua organização lista em [`prependPlugins`](/docs/pt/plugins/mods/admin#install-your-organizations-mods) e depois qualquer outro mod que conta como de sua organização e não está em `appendPlugins`

3162. Mods que você instala3182. Mods que você instala

3173. Mods que sua organização lista em `appendPlugins`3193. Mods que sua organização lista em `appendPlugins`

3184. Outros mods integrados em Claude Code3204. Outros mods integrados em Claude Code


320Entre os mods que você instala, um mod é executado antes dos mods que lista em `dependencies` em seu manifesto. Dentro de um módulo, hooks são executados na ordem em que `register` chamou `on`.322Entre os mods que você instala, um mod é executado antes dos mods que lista em `dependencies` em seu manifesto. Dentro de um módulo, hooks são executados na ordem em que `register` chamou `on`.

321 323 

322<h4 id="where-settings-hooks-run-in-the-order">324<h4 id="where-settings-hooks-run-in-the-order">

323 Onde hooks de configurações são executados na ordem325 Onde hooks de configuração são executados na ordem

324</h4>326</h4>

325 327 

326Os hooks `PreToolUse` configurados em arquivos de configurações também são executados durante uma chamada de ferramenta, em pontos fixos na cadeia de mods:328Os hooks `PreToolUse` configurados em arquivos de configurações também são executados durante uma chamada de ferramenta, em pontos fixos na cadeia de mods:


339* **Falhou antes de chamar `next`**: Claude Code o pula e o próximo manipulador é executado em seu lugar341* **Falhou antes de chamar `next`**: Claude Code o pula e o próximo manipulador é executado em seu lugar

340* **Falhou após `next` ser resolvido**: esse resultado permanece e nada é executado uma segunda vez342* **Falhou após `next` ser resolvido**: esse resultado permanece e nada é executado uma segunda vez

341 343 

342Uma linha nomeia o mod, o evento e o motivo, como `my-mod: tool.call hook skipped: threw Error: boom`. Onde você o lê depende da sessão, como [Descubra por que um mod não faz nada](/docs/pt/plugins/mods/troubleshoot#find-out-why-a-mod-does-nothing) lista. Um hook `ui.render` cujo desenho não valida é relatado diferentemente, como [Construa uma árvore a partir de elementos](/docs/pt/plugins/mods/interface#build-a-tree-from-elements) descreve.344Uma linha nomeia o mod, o evento e o motivo, como `my-mod: tool.call hook skipped: threw Error: boom`. Onde você o lê depende da sessão, como [Descubra por que um mod não faz nada](/docs/pt/plugins/mods/troubleshoot#find-out-why-a-mod-does-nothing) lista. Um hook `ui.render` cujo desenho não valida é relatado diferentemente, como [Crie uma árvore a partir de elementos](/docs/pt/plugins/mods/interface#build-a-tree-from-elements) descreve.

343 345 

344Para fazer um hook que bloqueia chamadas falhar fechado, adicione um manipulador de erro `.catch` que responda em seu lugar. Aqui, `guard` é sua função de hook:346Para fazer um hook que bloqueia chamadas falhar fechado, adicione um manipulador de erro `.catch` que responda em seu lugar. Aqui, `guard` é sua função de hook, e o manipulador testa [`next.called`](/docs/pt/plugins/mods/reference#the-hook-function) para saber se `guard` já tinha chamado `next` quando falhou:

345 347 

346```javascript theme={null}348```javascript theme={null}

347// on retorna um registro e .catch anexa um manipulador a esse hook349// on retorna um registro e .catch anexa um manipulador a esse hook

348on('tool.call', { tool: 'Bash' }, guard).catch(async ($, e, next) => {350on('tool.call', { tool: 'Bash' }, guard).catch(async ($, e, next) => {

349 // next.error.kind é 'throw' ou 'timeout', que diz como guard falhou351 // guard já tinha chamado next, então retorne o que voltou

352 if (next.called) return next(e)

353 // next.error.kind diz por que o manipulador foi chamado, como 'throw' ou 'timeout'

350 return { deny: 'The command guard failed, so this command was not run: ' + next.error.kind }354 return { deny: 'The command guard failed, so this command was not run: ' + next.error.kind }

351})355})

352```356```

353 357 

354Enquanto `guard` funciona, o manipulador nunca é executado. Quando `guard` lança ou expira em uma chamada Bash, Claude Code chama o manipulador com o mesmo evento. O manipulador retorna `{ deny }`, portanto o comando não é executado e Claude lê o texto com `throw` ou `timeout` no final. Sem o manipulador, Claude Code pularia `guard` e executaria o comando. O manipulador tem seu próprio [limite de tempo](/docs/pt/plugins/mods/reference#limits), mais curto.358Quando `guard` lança ou expira em uma chamada Bash, Claude Code chama o manipulador com o mesmo evento:

359 

360* **`guard` falhou antes de chamar `next`**: o comando não é executado e Claude lê o texto de `deny` com o tipo no final

361* **`guard` falhou depois de chamar `next`**: o `next(e)` do manipulador é resolvido para o resultado que a chamada de `guard` produziu, sem executar o comando novamente, e Claude lê esse resultado

362 

363O manipulador tem seu próprio [limite de tempo](/docs/pt/plugins/mods/reference#limits), mais curto. Se o próprio manipulador lançar ou expirar, Claude Code pula o hook como se ele não tivesse manipulador. Quando `guard` não tinha chamado `next`, o comando então prossegue como prosseguiria sem o mod.

364 

365O mesmo formato de manipulador serve para uma guarda em `prompt.submit` ou `config.set`. Quando `next.called` for false, retorne a recusa que a [referência de eventos](/docs/pt/plugins/mods/reference#events) lista para esse evento: `{ drop: 'the reason' }` para `prompt.submit`, `{ deny: 'the reason' }` para `config.set`.

366 

367Em `tool.check` e `plugin.register`, uma recusa retornada após `next` ser resolvido ainda vale, portanto retorne-a sem testar `next.called`:

368 

369* **`tool.check`**: retorne `{ decision: 'deny', reason: 'the reason' }`

370* **`plugin.register`**: retorne `{ refuse: 'the reason' }`, como [Recuse mods quando sua verificação falhar](/docs/pt/plugins/mods/admin#refuse-mods-when-your-check-fails) mostra

355 371 

356<h2 id="next-steps">372<h2 id="next-steps">

357 Próximos passos373 Próximos passos

Details

443 443 

444Em uma sessão iniciada com `--plugin-dir`, uma linha de transcrição diz assim, como `ui.render (Pane) refused: Text prop "bogusProp" is not allowed; the engine drew its own`. O [log de depuração](/docs/pt/plugins/mods/troubleshoot#read-the-debug-log) registra como `ui.render (Pane): a hook returned a tree that does not validate` com a mesma razão. Nada mais aparece na sessão, então quando um desenho não aparece, verifique essa linha ou o log.444Em uma sessão iniciada com `--plugin-dir`, uma linha de transcrição diz assim, como `ui.render (Pane) refused: Text prop "bogusProp" is not allowed; the engine drew its own`. O [log de depuração](/docs/pt/plugins/mods/troubleshoot#read-the-debug-log) registra como `ui.render (Pane): a hook returned a tree that does not validate` com a mesma razão. Nada mais aparece na sessão, então quando um desenho não aparece, verifique essa linha ou o log.

445 445 

446<h3 id="link-in-the-desktop-app">

447 `Link` no app Desktop

448</h3>

449 

450No app Desktop, um `Link` é desenhado como texto simples, a menos que seu `href` atenda a estes requisitos:

451 

452* **Esquema e host**: uma URL `https:`, ou uma URL `http://localhost` como `http://localhost:3000`

453* **Sem `@`**: escreva um `@` no caminho ou na query como `%40`

454* **Grafia**: o que `new URL(href).href` retorna, exceto por uma `/` ausente após o host. Isso exclui um host em maiúsculas, um espaço e `:443` em uma URL `https:`.

455 

456No terminal, esses requisitos não se aplicam.

457 

458<h3 id="when-a-client-fails">

459 Quando um `Client` falha

460</h3>

461 

462No terminal, quando o arquivo que um `Client` executa falha, uma linha esmaecida como `my-mod: Client client/spinner.js: boom` ocupa o lugar do `Client`, e o restante do seu desenho continua aparecendo.

463 

464Se seu mod trata [`ui.fault`](/docs/pt/plugins/mods/reference#interface), o Claude Code então [desenha o site novamente](#when-claude-code-redraws-without-being-asked).

465 

446<h3 id="draw-a-grid-of-colored-cells">466<h3 id="draw-a-grid-of-colored-cells">

447 Desenhar uma grade de células coloridas467 Desenhar uma grade de células coloridas

448</h3>468</h3>


806Estas regras se aplicam ao código:826Estas regras se aplicam ao código:

807 827 

808* **Escreva `plugin` e `key` como strings literais**: `claude plugin validate` as lê de sua fonte828* **Escreva `plugin` e `key` como strings literais**: `claude plugin validate` as lê de sua fonte

829* **Mantenha o resultado de cada chamada `atom` em uma `const`**: se você declarar `count` com `let`, a validação falha com `takes a source the scan can read`

809* **Declare cada valor no arquivo de declaração de tipos**: caso contrário a validação falha com `hello-tabs.count is not declared`830* **Declare cada valor no arquivo de declaração de tipos**: caso contrário a validação falha com `hello-tabs.count is not declared`

810* **Escreva de um callback ou hook de outro evento**: um hook `ui.render` pode ler estado e não pode escrevê-lo, então escreva de `onPress`, `onSubmit` ou um hook para outro evento831* **Escreva de um callback ou hook de outro evento**: um hook `ui.render` pode ler estado e não pode escrevê-lo, então escreva de `onPress`, `onSubmit` ou um hook para outro evento

811 832 

Details

113Os mods estão ativados por padrão. No terminal, use o Claude Code v2.1.287 ou posterior. O aplicativo Desktop inclui sua própria cópia do Claude Code, e os mods funcionam nele a partir da v2.1.286. Verifique a versão no local onde você usa mods:113Os mods estão ativados por padrão. No terminal, use o Claude Code v2.1.287 ou posterior. O aplicativo Desktop inclui sua própria cópia do Claude Code, e os mods funcionam nele a partir da v2.1.286. Verifique a versão no local onde você usa mods:

114 114 

115* **Terminal**: no seu shell, execute `claude --version`. Se a sua for mais antiga, [atualize o Claude Code](/docs/pt/setup#update-claude-code).115* **Terminal**: no seu shell, execute `claude --version`. Se a sua for mais antiga, [atualize o Claude Code](/docs/pt/setup#update-claude-code).

116* **Aplicativo Desktop**: em uma sessão local na aba Code, digite `/status` e leia a linha **Claude Code**, que mostra uma versão como `2.1.286`. Se a sua for mais antiga, atualize o aplicativo Desktop.116* **Aplicativo Desktop**: em uma sessão local na aba Code, digite `/status` e leia a linha **Claude Code**, que mostra uma versão como `2.1.286`. Se a sua for mais antiga, [atualize o aplicativo Desktop](/docs/pt/desktop#claude-code-version-in-the-code-tab).

117 117 

118Para desativar mods, escolha quantos parar e por quanto tempo. Para ativá-los novamente, desfaça a mesma alteração:118Para desativar mods, escolha quantos parar e por quanto tempo. Para ativá-los novamente, desfaça a mesma alteração:

119 119 

Details

43| `next.origin` | `{ plugin, tier }` de quem disparou o evento. O próprio Claude Code é `{ plugin: 'engine', tier: 'core' }`. O `tier` de um mod é seu grupo de prioridade na [ordem em que os mods são executados](/docs/pt/plugins/mods/events#the-order-mods-run-in): `prepend`, `user`, `append` ou `builtin`. |43| `next.origin` | `{ plugin, tier }` de quem disparou o evento. O próprio Claude Code é `{ plugin: 'engine', tier: 'core' }`. O `tier` de um mod é seu grupo de prioridade na [ordem em que os mods são executados](/docs/pt/plugins/mods/events#the-order-mods-run-in): `prepend`, `user`, `append` ou `builtin`. |

44| `next.budget` | O limite de tempo do hook em milissegundos: `next.budget.ms` é o limite inteiro e `next.budget.remainingMs` é o que resta agora |44| `next.budget` | O limite de tempo do hook em milissegundos: `next.budget.ms` é o limite inteiro e `next.budget.remainingMs` é o que resta agora |

45| `next.to(e, tier)` | Pula para um tier posterior, que é `append`, `builtin` ou `core`. `next.to(e, 'append')` pula os mods que um usuário instalou. Somente um mod em `prependPlugins` ou `appendPlugins` pode chamá-lo. |45| `next.to(e, tier)` | Pula para um tier posterior, que é `append`, `builtin` ou `core`. `next.to(e, 'append')` pula os mods que um usuário instalou. Somente um mod em `prependPlugins` ou `appendPlugins` pode chamá-lo. |

46| `next.error`, `next.called` | Somente em um manipulador `.catch`. `next.error.kind` é `throw` ou `timeout`, `next.error.message` é o texto do erro e `next.called` é `true` quando o hook que falhou havia chamado `next`. |46| `next.error` | Somente em um manipulador `.catch`. `kind` é `throw` ou `timeout` quando o hook falhou, e `message` é o texto do erro. `kind` é `re-entry` quando o hook foi ignorado porque o evento veio de dentro de uma de suas próprias chamadas à API de mods, e `cause` é `lent` se um método que outro mod adiciona à API de mods disparou esse evento. `re-entry` e `cause` exigem o Claude Code v2.1.292 ou posterior. |

47| `next.called` | Somente em um manipulador `.catch`. `true` quando o hook havia chamado `next`. |

47 48 

48<h2 id="events">49<h2 id="events">

49 Eventos50 Eventos


258| [`Box`](/docs/pt/plugins/mods/interface#build-a-tree-from-elements) | `key`, layout flex, `gap`, `padding`, `margin`, `width`, `height`, [`borderStyle`](#box-border-styles), `backgroundColor`, `position`, `hover` | ✓ | ✓ |259| [`Box`](/docs/pt/plugins/mods/interface#build-a-tree-from-elements) | `key`, layout flex, `gap`, `padding`, `margin`, `width`, `height`, [`borderStyle`](#box-border-styles), `backgroundColor`, `position`, `hover` | ✓ | ✓ |

259| [`Text`](/docs/pt/plugins/mods/interface#build-a-tree-from-elements) | `color`, `backgroundColor`, `bold`, `italic`, `underline`, `dimColor`, `inverse`, `wrap` | ✓ | ✓ |260| [`Text`](/docs/pt/plugins/mods/interface#build-a-tree-from-elements) | `color`, `backgroundColor`, `bold`, `italic`, `underline`, `dimColor`, `inverse`, `wrap` | ✓ | ✓ |

260| [`Button`](/docs/pt/plugins/mods/interface#respond-to-presses-and-typing) | `key`, `label`, `onPress`, `hotkey`, `plain`, `dimColor`, `autoFocus`, `action` | ✓ | ✓ |261| [`Button`](/docs/pt/plugins/mods/interface#respond-to-presses-and-typing) | `key`, `label`, `onPress`, `hotkey`, `plain`, `dimColor`, `autoFocus`, `action` | ✓ | ✓ |

261| `Link` | `href`, `label` | ✓ | ✓ |262| [`Link`](/docs/pt/plugins/mods/interface#link-in-the-desktop-app) | `href`, `label`. Consulte [Limites](#limits). | ✓ | ✓ |

262| `Code` | O código | ✓ | ✓ |263| [`Code`](/docs/pt/plugins/mods/gallery#show-code-and-changes) | `source`, `language`, `path`, `startLine`, `format`, `wrap` | ✓ | ✓ |

263| `Markdown` | `text`, `key`, `dimColor`, `onLinkPress`, `pressableLinks` | ✓ | ✓ |264| `Markdown` | `text`, `key`, `dimColor`, `onLinkPress`, `pressableLinks` | ✓ | ✓ |

264| [`Input`](/docs/pt/plugins/mods/interface#take-typed-input-and-draw-a-row-for-each-item) | `key`, `label`, `placeholder`, `value`, `submitLabel`, `onSubmit`, `onInput`, `autoFocus` | ✓ | ✓ |265| [`Input`](/docs/pt/plugins/mods/interface#take-typed-input-and-draw-a-row-for-each-item) | `key`, `label`, `placeholder`, `value`, `submitLabel`, `onSubmit`, `onInput`, `autoFocus` | ✓ | ✓ |

265| `Select` | `key`, `label`, `options`, `value`, `onSelect`, `autoFocus` | ✓ | ✓ |266| `Select` | `key`, `label`, `options`, `value`, `onSelect`, `autoFocus` | ✓ | ✓ |

266| `Svg` | Um documento SVG, até 131.072 caracteres | | ✓ |267| `Svg` | Um documento SVG, até 131.072 caracteres | | ✓ |

267| [`Client`](/docs/pt/plugins/mods/interface#build-a-tree-from-elements) | `module`, `key` | ✓ | ✓ |268| [`Client`](/docs/pt/plugins/mods/interface#build-a-tree-from-elements) | `module`, `key` | ✓ | ✓ |

268| [`Raster`](/docs/pt/plugins/mods/interface#draw-a-grid-of-colored-cells) | `key`, `columns` até 512, `rows` até 256, `cells`. Consulte [Desenhar uma grade de células coloridas](/docs/pt/plugins/mods/interface#draw-a-grid-of-colored-cells). | ✓ | |269| [`Raster`](/docs/pt/plugins/mods/interface#draw-a-grid-of-colored-cells) | `key`, `columns` até 512, `rows` até 256, `cells`. Consulte [Desenhar uma grade de células coloridas](/docs/pt/plugins/mods/interface#draw-a-grid-of-colored-cells). | ✓ | |

269| `Image` | Bytes PNG ou RGBA até 2 MiB, ou um caminho de arquivo | ✓ | |270| `Image` | Bytes PNG ou RGBA até 2 MiB, ou um caminho de arquivo, `columns` e `rows` até 255, e texto `alt`. | ✓ | |

270 271 

271Mais regras de `Button`: `action` indica uma das próprias [ações de atalho de teclado](/docs/pt/keybindings) do Claude Code, e o atalho do usuário para ela pressiona o botão quando esse atalho é um acorde ou uma tecla com modificador. Um `hotkey` numérico em um botão na faixa também é acionado quando o usuário digita apenas esse dígito em um prompt vazio e faz uma pausa. Quando dois botões em um mesmo desenho indicam o mesmo `hotkey`, o posterior fica com ele. `autoFocus` aceita apenas `true` em qualquer controle, então omita a prop para deixá-lo desativado.272Mais regras de `Button`: `action` indica uma das próprias [ações de atalho de teclado](/docs/pt/keybindings) do Claude Code, e o atalho do usuário para ela pressiona o botão quando esse atalho é um acorde ou uma tecla com modificador. Um `hotkey` numérico em um botão na faixa também é acionado quando o usuário digita apenas esse dígito em um prompt vazio e faz uma pausa. Quando dois botões em um mesmo desenho indicam o mesmo `hotkey`, o posterior fica com ele. `autoFocus` aceita apenas `true` em qualquer controle, então omita a prop para deixá-lo desativado.

272 273 


295 Limites296 Limites

296</h2>297</h2>

297 298 

298Hooks e chamadas à API de mods são executados sob limites de tempo e de tamanho. O Claude Code ignora um hook que excede um limite de tempo e rejeita uma chamada que excede um limite de tamanho.299Hooks e chamadas à API de mods são executados sob limites de tempo e de tamanho. O Claude Code ignora um hook que excede um limite de tempo.

299 300 

300| Limite | Valor |301| Limite | Valor |

301| :- | :- |302| :- | :- |


306| `maxTokens` de `$.model.complete` | 1024 por padrão, até 64.000 ou o limite de saída do modelo |307| `maxTokens` de `$.model.complete` | 1024 por padrão, até 64.000 ou o limite de saída do modelo |

307| `$.fs.read` e `$.fs.write` | 4 MiB para um arquivo |308| `$.fs.read` e `$.fs.write` | 4 MiB para um arquivo |

308| Texto em uma árvore | Os primeiros 100.000 caracteres são desenhados |309| Texto em uma árvore | Os primeiros 100.000 caracteres são desenhados |

310| O `language` ou `path` de um `Code`, o `value` de uma opção de `Select` ou o `module` de um `Client` | 10.000 caracteres. Se algum for mais longo, o Claude Code [desenha sua própria versão do site](/docs/pt/plugins/mods/interface#build-a-tree-from-elements). |

311| O `href` de um `Link` | 2.048 caracteres. Um `href` mais longo impede que a árvore inteira seja desenhada. |

309| `$.store` | 4 MiB de JSON no total |312| `$.store` | 4 MiB de JSON no total |

310| `$.session.messages()` | As 4.096 entradas mais recentes |313| `$.session.messages()` | As 4.096 entradas mais recentes |

311| Redesenhos de `$.ui.invalidate('ui.render')` | Limitados a 10 por segundo, ou 30 no terminal para o painel visível, a faixa expandida e a linha de dica abaixo do prompt. Chamadas que chegam antes disso são agrupadas. |314| Redesenhos de `$.ui.invalidate('ui.render')` | Limitados a 10 por segundo, ou 30 no terminal para o painel visível, a faixa expandida e a linha de dica abaixo do prompt. Chamadas que chegam antes disso são agrupadas. |


325| `CLAUDE_CODE_PLUGIN_DIRS` | Ambiente, ou `env` em `~/.claude/settings.json` | Diretórios de plugin a carregar como `--plugin-dir` faz, para aplicativos aos quais você não pode passar uma flag. Caminhos absolutos separados por `:`, ou `;` no Windows. |328| `CLAUDE_CODE_PLUGIN_DIRS` | Ambiente, ou `env` em `~/.claude/settings.json` | Diretórios de plugin a carregar como `--plugin-dir` faz, para aplicativos aos quais você não pode passar uma flag. Caminhos absolutos separados por `:`, ou `;` no Windows. |

326| `CLAUDE_CODE_PLUGIN_DIR_WATCH` | Ambiente | `1` faz com que uma sessão não interativa de longa duração recarregue os mods de `--plugin-dir` ao salvar |329| `CLAUDE_CODE_PLUGIN_DIR_WATCH` | Ambiente | `1` faz com que uma sessão não interativa de longa duração recarregue os mods de `--plugin-dir` ao salvar |

327| `prependPlugins`, `appendPlugins` | Configurações gerenciadas. Configurações do usuário somente em uma máquina sem configurações gerenciadas, para um usuário que não está conectado com um plano Team ou Enterprise. | Listas de ids de plugin, como `acme-guard@acme-tools`. Mods em `prependPlugins` são executados antes de todo mod que um usuário instala, e mods em `appendPlugins` são executados depois, na ordem listada. Consulte [A ordem em que os mods são executados](/docs/pt/plugins/mods/events#the-order-mods-run-in). |330| `prependPlugins`, `appendPlugins` | Configurações gerenciadas. Configurações do usuário somente em uma máquina sem configurações gerenciadas, para um usuário que não está conectado com um plano Team ou Enterprise. | Listas de ids de plugin, como `acme-guard@acme-tools`. Mods em `prependPlugins` são executados antes de todo mod que um usuário instala, e mods em `appendPlugins` são executados depois, na ordem listada. Consulte [A ordem em que os mods são executados](/docs/pt/plugins/mods/events#the-order-mods-run-in). |

328| `allowManagedModsOnly` | Configurações gerenciadas, como uma [opção da guarda integrada](/docs/pt/plugins/mods/admin#set-options-on-the-built-in-guard) | Somente mods que [contam como da sua organização](/docs/pt/plugins/mods/admin#install-your-organizations-mods), e mods integrados ao Claude Code, são carregados. Os hooks de configuração dos usuários continuam em execução. |331| `allowManagedModsOnly` | Configurações gerenciadas, como uma [opção da guarda integrada](/docs/pt/plugins/mods/admin#set-options-on-the-built-in-guard) | Somente mods que [contam como da sua organização](/docs/pt/plugins/mods/admin#install-your-organizations-mods), e mods integrados ao Claude Code, executam seus hooks. Os hooks de configuração dos usuários continuam em execução. |

329| `allowModsToOverrideDenyRules` | Configurações gerenciadas, como uma [opção da guarda integrada](/docs/pt/plugins/mods/admin#set-options-on-the-built-in-guard) | Permite que um mod instalado por um usuário aprove uma chamada de ferramenta que uma regra `deny` recusa |332| `allowModsToOverrideDenyRules` | Configurações gerenciadas, como uma [opção da guarda integrada](/docs/pt/plugins/mods/admin#set-options-on-the-built-in-guard) | Permite que um mod instalado por um usuário aprove uma chamada de ferramenta que uma regra `deny` recusa |

330| `allowManagedHooksOnly` | Configurações gerenciadas | Bloqueia hooks e mods instalados que não são da sua organização. Consulte [o que continua em execução](/docs/pt/settings-reference#what-runs-under-allowmanagedhooksonly). |333| `allowManagedHooksOnly` | Configurações gerenciadas | Bloqueia hooks e mods instalados que não são da sua organização. Consulte [o que continua em execução](/docs/pt/settings-reference#what-runs-under-allowmanagedhooksonly). |

331| `disableAllHooks` | Qualquer arquivo de configurações | Nas configurações gerenciadas, nenhum mod ou hook de um plugin instalado é executado. Nas suas próprias configurações, o que a sua organização gerencia continua em execução. Consulte [`disableAllHooks`](/docs/pt/settings-reference#disableallhooks). |334| `disableAllHooks` | Qualquer arquivo de configurações | Nas configurações gerenciadas, nenhum mod ou hook de um plugin instalado é executado. Nas suas próprias configurações, o que a sua organização gerencia continua em execução. Consulte [`disableAllHooks`](/docs/pt/settings-reference#disableallhooks). |

Details

107 107 

108Um stub para uma chamada de mods API retorna um objeto com um campo `value`, que contém o que a chamada resolve em seu mod: `{ value: 7 }` faz `$.store.get` resolver para `7`. Um stub para um dos eventos do Claude Code, como [`turn.step`](/docs/pt/plugins/mods/reference#turns) ou `tool.call`, retorna o resultado próprio desse evento, como `{ result: 'ok' }`. `$.session.send` e `$.prompt.fill` também levam o resultado do evento, como a tabela mostra. [Look up what a stub returns](#look-up-what-a-stub-returns) mostra qual forma cada nome comum assume. Estes erros significam que um stub está errado ou faltando. A saída de um teste falhado inclui um bloco intitulado `the engine reported:`, e cada erro aparece lá:108Um stub para uma chamada de mods API retorna um objeto com um campo `value`, que contém o que a chamada resolve em seu mod: `{ value: 7 }` faz `$.store.get` resolver para `7`. Um stub para um dos eventos do Claude Code, como [`turn.step`](/docs/pt/plugins/mods/reference#turns) ou `tool.call`, retorna o resultado próprio desse evento, como `{ result: 'ok' }`. `$.session.send` e `$.prompt.fill` também levam o resultado do evento, como a tabela mostra. [Look up what a stub returns](#look-up-what-a-stub-returns) mostra qual forma cada nome comum assume. Estes erros significam que um stub está errado ou faltando. A saída de um teste falhado inclui um bloco intitulado `the engine reported:`, e cada erro aparece lá:

109 109 

110* `returned neither { value } nor { deny }`: um stub para uma chamada de mods API retornou um valor simples110* `returned neither { value } nor { deny }`: um stub para uma chamada de mods API retornou um valor simples, o que faz o teste falhar

111* `no implementation for` seguido por um nome: seu mod fez essa chamada e nenhum stub a responde111* `no implementation for` seguido por um nome: seu mod fez essa chamada e nenhum stub a responde

112 112 

113O kit também exporta mocks em memória que respondem um namespace inteiro para você. `mock.clock(on)` responde [`$.clock`](/docs/pt/plugins/mods/api#run-work-in-the-background), `mock.store(on, { count: 7 })` responde `$.store` de um armazenamento que começa com essas entradas, e `mock.env(on, { CI: 'true' })` responde `$.env.get` dessas variáveis. `mock.clock` retorna um relógio simulado que seu teste avança, então um teste de um temporizador não espera. `mock.store` não retorna nada, então para verificar o que seu mod salvou, escreva os dois stubs `store` você mesmo como o [drawing test](#test-a-drawing) faz.113O kit também exporta mocks em memória que respondem um namespace inteiro para você. `mock.clock(on)` responde [`$.clock`](/docs/pt/plugins/mods/api#run-work-in-the-background), `mock.store(on, { count: 7 })` responde `$.store` de um armazenamento que começa com essas entradas, e `mock.env(on, { CI: 'true' })` responde `$.env.get` dessas variáveis. `mock.clock` retorna um relógio simulado que seu teste avança, então um teste de um temporizador não espera. `mock.store` não retorna nada, então para verificar o que seu mod salvou, escreva os dois stubs `store` você mesmo como o [drawing test](#test-a-drawing) faz.


198 198 

199`expect` tem as asserções `toBe`, `toEqual`, `toMatch`, `toMatchObject`, `toContain`, `toBeDefined`, `toBeUndefined`, e `toThrow`, e `.not` antes de qualquer uma delas.199`expect` tem as asserções `toBe`, `toEqual`, `toMatch`, `toMatchObject`, `toContain`, `toBeDefined`, `toBeUndefined`, e `toThrow`, e `.not` antes de qualquer uma delas.

200 200 

201Quando um `expect` falha dentro de um stub ou hook que você passou para `on` como uma função simples em vez de um gerador assíncrono, o teste falha. O mecanismo pula esse hook, e a saída da falha o nomeia, como `in the test's store.set hook`.

202 

201<h2 id="test-a-timer">203<h2 id="test-a-timer">

202 Testar um temporizador204 Testar um temporizador

203</h2>205</h2>

Details

30| :- | :- |30| :- | :- |

31| `no hooks module to load` | Os mods podem carregar. O comando não encontrou nenhum mod para testar neste diretório. |31| `no hooks module to load` | Os mods podem carregar. O comando não encontrou nenhum mod para testar neste diretório. |

32| `hooks modules are turned off here` | Uma configuração está bloqueando seus mods: `disableAllHooks` em suas próprias configurações, ou a política de sua organização |32| `hooks modules are turned off here` | Uma configuração está bloqueando seus mods: `disableAllHooks` em suas próprias configurações, ou a política de sua organização |

33| `hooks modules are turned off in this process` | A Anthropic desativou os mods instalados remotamente. Nenhuma configuração em sua máquina os ativa novamente. |33| `hooks modules are turned off in this process: the rollout switch served off` | A Anthropic desativou os mods instalados remotamente. |

34| `hooks modules are turned off in this process: the rollout switch was saved off by an earlier session` | O comando usou um valor que uma sessão anterior salvou, que pode estar desatualizado. Inicie `claude` uma vez para atualizá-lo e, em seguida, execute o comando novamente. |

34 35 

35Uma organização também pode definir `allowManagedModsOnly` para permitir apenas seus próprios mods, o que este comando não relata. Nesse caso, um mod que você instala não carrega, e [uma mensagem diz por quê](/docs/pt/plugins/mods/troubleshoot#messages-from-the-built-in-guard).36Uma organização também pode definir `allowManagedModsOnly` para permitir apenas seus próprios mods, o que este comando não relata. Nesse caso, o Claude Code recusa um mod que você instala, e [uma mensagem diz por quê](/docs/pt/plugins/mods/troubleshoot#messages-from-the-built-in-guard).

36 37 

37<h2 id="the-mod-doesn’t-load">38<h2 id="the-mod-doesn’t-load">

38 O mod não carrega39 O mod não carrega


72 73 

73| A mensagem começa com | O que significa |74| A mensagem começa com | O que significa |

74| :- | :- |75| :- | :- |

75| `hooks modules are turned off for installed plugins in this process` | A Anthropic desativou os mods instalados remotamente. Nenhuma configuração em sua máquina os ativa novamente. |76| `hooks modules are turned off for installed plugins in this process: the rollout switch served off` | A Anthropic desativou os mods instalados remotamente. |

77| `hooks modules are turned off for installed plugins in this process: the rollout switch was saved off by an earlier session` | A sessão usou um valor que uma sessão anterior salvou, que pode estar desatualizado. Inicie Claude Code novamente para atualizá-lo. |

76| `disableAllHooks in managed settings` | Sua organização desativou hooks de plugins instalados |78| `disableAllHooks in managed settings` | Sua organização desativou hooks de plugins instalados |

77| `only managed plugins and built-in plugins run` | `allowManagedHooksOnly` está definido, ou `disableAllHooks` está definido em um arquivo de configurações diferente de configurações gerenciadas |79| `only managed plugins and built-in plugins run` | `allowManagedHooksOnly` está definido, ou `disableAllHooks` está definido em um arquivo de configurações diferente de configurações gerenciadas |

78| `installed plugins that are not managed load no hooks module in this mode (--bare)` | Você iniciou Claude Code com `--bare` |80| `installed plugins that are not managed load no hooks module in this mode (--bare)` | Você iniciou Claude Code com `--bare` |


86 88 

87| A mensagem contém | O que significa | Onde aparece |89| A mensagem contém | O que significa | Onde aparece |

88| :- | :- | :- |90| :- | :- | :- |

89| `mods are limited to your organization's by policy (allowManagedModsOnly)` | Sua organização permite apenas [seus próprios mods](/docs/pt/plugins/mods/admin#install-your-organizations-mods), então o seu não foi carregado | O log de depuração e a transcrição em uma [sessão que recarrega dinamicamente um diretório de plugin](#find-out-why-a-mod-does-nothing) |91| `mods are limited to your organization's by policy (allowManagedModsOnly)` | Sua organização permite apenas [seus próprios mods](/docs/pt/plugins/mods/admin#install-your-organizations-mods), então o seu foi recusado | O log de depuração e a transcrição em uma [sessão que recarrega dinamicamente um diretório de plugin](#find-out-why-a-mod-does-nothing) |

90| `tried to lift a deny rule in your settings` | O hook [`tool.check`](/docs/pt/plugins/mods/reference#tools) do seu mod aprovou uma chamada que uma regra `deny` recusa. A chamada permanece recusada. | A transcrição e o log de depuração, uma vez para cada mod em uma sessão. Em uma execução `claude -p`, apenas o log de depuração. |92| `tried to lift a deny rule in your settings` | O hook [`tool.check`](/docs/pt/plugins/mods/reference#tools) do seu mod aprovou uma chamada que uma regra `deny` recusa. A chamada permanece recusada. | A transcrição e o log de depuração, uma vez para cada mod em uma sessão. Em uma execução `claude -p`, apenas o log de depuração. |

91| `the deny rules in your settings could not be checked for this call, so it is refused` | O guarda falhou ao verificar uma chamada que um mod aprovou, então recusou a chamada | O motivo que Claude lê para a chamada recusada |93| `the deny rules in your settings could not be checked for this call, so it is refused` | O guarda falhou ao verificar uma chamada que um mod aprovou, então recusou a chamada | O motivo que Claude lê para a chamada recusada |

92 94 


163 165 

164Corrija o hook.166Corrija o hook.

165 167 

168<h3 id="its-session-start-ran-again-in-a-fresh-copy">

169 `its session.start ran again in a fresh copy`

170</h3>

171 

172A linha começa com o nome do mod e nomeia uma chamada `$.prompt.submit`, `$.command.run` ou `$.agent.spawn`, como em `first-mod: its session.start ran again in a fresh copy; the $.prompt.submit call it had already made was not made again`. Claude Code carregou o módulo do mod novamente, por exemplo depois que o hooks worker travou e foi substituído, e o hook [`session.start`](/docs/pt/plugins/mods/reference#session) da nova cópia foi executado. A chamada que a linha nomeia foi resolvida com o resultado de sua primeira execução em vez de ser executada novamente, então seu mod não envia o prompt, não executa o comando nem inicia o subagente duas vezes. O restante do hook foi executado normalmente.

173 

174Não há nada a corrigir.

175 

176Antes da v2.1.292, a chamada era executada uma segunda vez, então o prompt era enviado, o comando executado ou o subagente iniciado duas vezes.

177 

166<h3 id="mods-that-run-in-the-hooks-worker-are-off-for-this-session">178<h3 id="mods-that-run-in-the-hooks-worker-are-off-for-this-session">

167 `mods that run in the hooks worker are off for this session`179 `mods that run in the hooks worker are off for this session`

168</h3>180</h3>


207 219 

208Leia o motivo nessa linha. As causas comuns são uma prop que o elemento não aceita e um elemento que o aplicativo não tem.220Leia o motivo nessa linha. As causas comuns são uma prop que o elemento não aceita e um elemento que o aplicativo não tem.

209 221 

222<h3 id="a-ui-render-line-says-threw-while-drawn">

223 Uma linha `ui.render` diz `threw while drawn`

224</h3>

225 

226A linha nomeia o [ponto de renderização](/docs/pt/plugins/mods/reference#render-sites), depois diz `threw while drawn:` e o erro, como em `first-mod: ui.render (ToolUse) threw while drawn: <error>; the engine drew its own`. Claude Code encontrou esse erro ao desenhar a árvore que seu hook [`ui.render`](/docs/pt/plugins/mods/reference#interface) retornou, ou ao desenhar o ponto a partir das [`props` que seu hook passou para `next`](/docs/pt/plugins/mods/interface#change-what-claude-code-already-draws). O final `the engine drew its own` significa que o ponto mostra o conteúdo usual de Claude Code.

227 

228Leia o erro e corrija o valor no seu hook que o causou.

229 

230Antes da v2.1.289, esse erro em uma linha da transcrição encerrava a sessão com [`Claude Code exited after an unrecoverable interface error`](/docs/pt/errors#exited-after-an-unrecoverable-interface-error).

231 

232<h3 id="the-module-failed-without-a-message">

233 `the module failed without a message`

234</h3>

235 

236Um [`Client`](/docs/pt/plugins/mods/interface#when-a-client-fails) falhou com um erro que não tem mensagem, como `throw new Error()`. A linha em seu lugar aparece como `my-mod: Client client/spinner.js: the module failed without a message`.

237 

238Encontre o throw no código do seu `Client` e dê uma mensagem ao erro. A linha então mostra essa mensagem.

239 

240Antes da v2.1.289, a linha mostrava `Error` como motivo.

241 

210<h3 id="$-ui-open-runs-and-no-pane-appears">242<h3 id="$-ui-open-runs-and-no-pane-appears">

211 `$.ui.open` executa e nenhum painel aparece243 `$.ui.open` executa e nenhum painel aparece

212</h3>244</h3>


227 Um desenho funciona no terminal e não no aplicativo Desktop259 Um desenho funciona no terminal e não no aplicativo Desktop

228</h3>260</h3>

229 261 

230O site ou elemento não está disponível lá.262O ponto de renderização ou elemento não está disponível lá.

231 263 

232Verifique as [render sites](/docs/pt/plugins/mods/reference#render-sites) e tabelas de [elementos](/docs/pt/plugins/mods/reference#elements).264Verifique as tabelas de [pontos de renderização](/docs/pt/plugins/mods/reference#render-sites) e de [elementos](/docs/pt/plugins/mods/reference#elements).

233 265 

234<h2 id="an-edit-or-a-value-is-lost">266<h2 id="an-edit-or-a-value-is-lost">

235 Uma edição ou um valor é perdido267 Uma edição ou um valor é perdido


285 317 

286Um desenho que não validou conta como um resultado recusado e também recebe uma linha. Para escrever suas próprias linhas no log, chame [`$.ui.log`](/docs/pt/plugins/mods/api#show-something-without-starting-a-turn) com um segundo argumento, como em `$.ui.log('message', { to: 'debug' })`. Sem o segundo argumento, `$.ui.log` adiciona uma linha fraca à transcrição.318Um desenho que não validou conta como um resultado recusado e também recebe uma linha. Para escrever suas próprias linhas no log, chame [`$.ui.log`](/docs/pt/plugins/mods/api#show-something-without-starting-a-turn) com um segundo argumento, como em `$.ui.log('message', { to: 'debug' })`. Sem o segundo argumento, `$.ui.log` adiciona uma linha fraca à transcrição.

287 319 

288Enquanto você edita um mod carregado com `--plugin-dir`, a transcrição mostra uma linha para cada recarregamento que nomeia o mod e lista seus hooks. Se um salvamento quebrar o módulo, a linha diz `reload failed, the previous version stays loaded:` com o motivo, e a última versão de trabalho continua executando.320Enquanto você edita um mod carregado com `--plugin-dir`, a transcrição mostra uma linha para cada recarregamento que nomeia o mod e lista seus hooks. Se um salvamento quebrar o módulo, a linha diz `reload failed, the previous version stays loaded:` com o motivo, e a última versão de trabalho continua executando até que Claude Code recarregue os plugins novamente, como quando você executa `/reload-plugins`.

289 321 

290<h2 id="next-steps">322<h2 id="next-steps">

291 Próximas etapas323 Próximas etapas

plugins/org.md +1 −1

Details

212| `pluginTrustMessage` | Anexa seu texto ao aviso de confiança que `/plugin` mostra antes de um plugin instalar | Não muda o próprio texto do aviso |212| `pluginTrustMessage` | Anexa seu texto ao aviso de confiança que `/plugin` mostra antes de um plugin instalar | Não muda o próprio texto do aviso |

213| `allowedChannelPlugins` | Substitui a lista padrão de plugins permitidos para enviar mensagens de canal. Requer `channelsEnabled: true` | Veja [Restrict which channel plugins can run](/docs/pt/channels#restrict-which-channel-plugins-can-run) |213| `allowedChannelPlugins` | Substitui a lista padrão de plugins permitidos para enviar mensagens de canal. Requer `channelsEnabled: true` | Veja [Restrict which channel plugins can run](/docs/pt/channels#restrict-which-channel-plugins-can-run) |

214| [`CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL=1`](/docs/pt/env-vars) | Para sessões de terminal interativas de auto-registrar o marketplace oficial | Não remove um marketplace já registrado. A allowlist e blocklist controlam o mesmo auto-registro sem ele. Uma máquina que começou uma vez com ele definido não retoma auto-registro depois que você o desdefine |214| [`CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL=1`](/docs/pt/env-vars) | Para sessões de terminal interativas de auto-registrar o marketplace oficial | Não remove um marketplace já registrado. A allowlist e blocklist controlam o mesmo auto-registro sem ele. Uma máquina que começou uma vez com ele definido não retoma auto-registro depois que você o desdefine |

215| [`allowManagedModsOnly`](/docs/pt/plugins/mods/admin#stop-user-installed-mods-from-loading) | Para cada [mod](/docs/pt/plugins/mods/overview) instalado que não [conta como da sua organização](/docs/pt/plugins/mods/admin#install-your-organizations-mods) de carregar | Não para um plugin que contém um mod de instalar. Para isso, use as chaves de marketplace nesta tabela |215| [`allowManagedModsOnly`](/docs/pt/plugins/mods/admin#stop-user-installed-mods-from-loading) | Impede que cada [mod](/docs/pt/plugins/mods/overview) instalado que não [conta como da sua organização](/docs/pt/plugins/mods/admin#install-your-organizations-mods) execute seus hooks | Não para um plugin que contém um mod de instalar. Para isso, use as chaves de marketplace nesta tabela |

216 216 

217Cada chave na tabela é uma configuração gerenciada, exceto `enabledPlugins`, `syncClaudeAiPlugins`, `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` e `allowManagedModsOnly`:217Cada chave na tabela é uma configuração gerenciada, exceto `enabledPlugins`, `syncClaudeAiPlugins`, `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` e `allowManagedModsOnly`:

218 218 

Details

29Um plugin pode conter conteúdo que executa código em sua máquina com seus privilégios de usuário e conteúdo que entra no contexto do Claude como instruções, portanto [revise um plugin antes de instalá-lo](#review-a-plugin-before-you-install). Aqui está o que um plugin instalado pode fazer:29Um plugin pode conter conteúdo que executa código em sua máquina com seus privilégios de usuário e conteúdo que entra no contexto do Claude como instruções, portanto [revise um plugin antes de instalá-lo](#review-a-plugin-before-you-install). Aqui está o que um plugin instalado pode fazer:

30 30 

31* **Hooks**: os [hooks](/docs/pt/hooks) de um plugin são executados como comandos shell em pontos do ciclo de vida do Claude Code, como antes ou depois de uma chamada de ferramenta.31* **Hooks**: os [hooks](/docs/pt/hooks) de um plugin são executados como comandos shell em pontos do ciclo de vida do Claude Code, como antes ou depois de uma chamada de ferramenta.

32* **Monitors**: os [monitors](/docs/pt/plugins/components#monitors) de um plugin são executados como comandos shell em segundo plano que Claude Code inicia por conta própria quando a sessão começa, quando você recarrega plugins ou na primeira vez que uma skill nomeada é executada.

32* **Mods**: um [mod](/docs/pt/plugins/mods/overview) de um plugin executa JavaScript dentro do Claude Code com suas permissões. Para listar o que um mod faz antes de instalá-lo, veja [Decida se confia em um mod](/docs/pt/plugins/mods/overview#decide-whether-to-trust-a-mod).33* **Mods**: um [mod](/docs/pt/plugins/mods/overview) de um plugin executa JavaScript dentro do Claude Code com suas permissões. Para listar o que um mod faz antes de instalá-lo, veja [Decida se confia em um mod](/docs/pt/plugins/mods/overview#decide-whether-to-trust-a-mod).

33* **Servidores MCP e LSP**: Claude Code se conecta aos [servidores MCP](/docs/pt/mcp) que um plugin habilitado declara e fornece ao Claude suas ferramentas. Um servidor MCP stdio é executado como um processo que Claude Code inicia em sua máquina. Claude Code também inicia os servidores de linguagem que o plugin declara.34* **Servidores MCP e LSP**: Claude Code se conecta aos [servidores MCP](/docs/pt/mcp) que um plugin habilitado declara e fornece ao Claude suas ferramentas. Um servidor MCP stdio é executado como um processo que Claude Code inicia em sua máquina. Claude Code também inicia os servidores de linguagem que o plugin declara.

34* **Diretório `bin/`**: Claude Code adiciona o diretório `bin/` de cada plugin habilitado ao `PATH` do shell da ferramenta Bash, para que os comandos Bash do Claude possam executar qualquer executável lá.35* **Diretório `bin/`**: Claude Code adiciona o diretório `bin/` de cada plugin habilitado ao `PATH` do shell da ferramenta Bash, para que os comandos Bash do Claude possam executar qualquer executável lá.


37 38 

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ó:39As [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 40 

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* **Hooks, monitors e processos de servidor**: command hooks e monitors são comandos shell executados com suas permissões completas de usuário. Claude Code executa hooks, monitors, servidores MCP, servidores LSP 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).42* **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 43 

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.44Instalar 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

96 96 

97A [`opusplan` model setting](/docs/pt/model-config#opusplan-model-setting) resolve para Opus durante o modo de planejamento e Sonnet durante a execução, então cada alternância de modo de planejamento é uma mudança de modelo e inicia um cache novo.97A [`opusplan` model setting](/docs/pt/model-config#opusplan-model-setting) resolve para Opus durante o modo de planejamento e Sonnet durante a execução, então cada alternância de modo de planejamento é uma mudança de modelo e inicia um cache novo.

98 98 

99[Automatic model fallback](/docs/pt/model-config#automatic-model-fallback) em modelos Fable, Opus 5.5, Sonnet 5.5 e Opus 5 também é uma mudança de modelo. Quando um classificador de segurança sinaliza uma solicitação em uma categoria que tem um modelo de fallback, Claude Code executa novamente a solicitação nesse modelo e a sessão continua lá.99O [fallback automático de modelo](/docs/pt/model-config#automatic-model-fallback) em modelos Fable, Opus 5.5, Sonnet 5.5 e Opus 5 também é uma mudança de modelo. Quando um classificador de segurança sinaliza uma requisição em uma categoria que tem um modelo de fallback e Claude Code executa novamente a requisição nesse modelo, a sessão continua lá.

100 100 

101Quando a frontmatter de uma skill ou comando nomeia um [`model`](/docs/pt/skills#frontmatter-reference) diferente do modelo atual da sessão, esse turno também é uma mudança de modelo: a próxima solicitação lê todo o histórico de conversa sem acertos de cache. O modelo de sessão retoma no seu próximo prompt. Uma skill `context: fork` define o [modelo do subagente bifurcado](/docs/pt/skills#run-skills-in-a-subagent) em vez disso.101Quando a frontmatter de uma skill ou comando nomeia um [`model`](/docs/pt/skills#frontmatter-reference) diferente do modelo atual da sessão, esse turno também é uma mudança de modelo: a próxima solicitação lê todo o histórico de conversa sem acertos de cache. O modelo de sessão retoma no seu próximo prompt. Uma skill `context: fork` define o [modelo do subagente bifurcado](/docs/pt/skills#run-skills-in-a-subagent) em vez disso.

102 102 

quickstart.md +16 −14

Details

53 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd53 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

54 ```54 ```

55 55 

56 Quando o instalador terminar, abra uma nova janela de terminal e execute `claude --version`. Uma instalação funcionando imprime um número de versão. Se seu shell disser que `claude` não foi encontrado ou não é reconhecido, o diretório de instalação ainda não está em seu PATH: consulte [Corrija seu PATH](/docs/pt/troubleshoot-install#command-not-found-claude-after-installation).56 O comando de instalação não mostra nenhum progresso enquanto baixa o Claude Code. Quando o instalador terminar, abra uma nova janela de terminal e execute `claude --version`. Uma instalação funcionando imprime um número de versão. Se seu shell disser que `claude` não foi encontrado ou não é reconhecido, o diretório de instalação ainda não está em seu PATH: consulte [Corrija seu PATH](/docs/pt/troubleshoot-install#command-not-found-claude-after-installation).

57 57 

58 Se você vir `The token '&&' is not a valid statement separator`, você está no PowerShell, não no CMD. Se você vir `'irm' is not recognized as an internal or external command`, você está no CMD, não no PowerShell.58 Se você vir `The token '&&' is not a valid statement separator`, você está no PowerShell, não no CMD. Se você vir `'irm' is not recognized as an internal or external command`, você está no CMD, não no PowerShell.

59 59 


229 Passo 7: Teste outros fluxos de trabalho comuns229 Passo 7: Teste outros fluxos de trabalho comuns

230</h2>230</h2>

231 231 

232Existem várias maneiras de trabalhar com o Claude:232Experimente mais alguns prompts. Você pode pedir ao Claude para refatorar código, escrever testes, atualizar a documentação ou revisar suas alterações:

233 

234**Refatorar código**

235 233 

236```text wrap theme={null}234```text wrap theme={null}

237refactor the authentication module to use async/await instead of callbacks235refactor the authentication module to use async/await instead of callbacks

238```236```

239 237 

240**Escrever testes**

241 

242```text wrap theme={null}238```text wrap theme={null}

243write unit tests for the calculator functions239write unit tests for the calculator functions

244```240```

245 241 

246**Atualizar documentação**

247 

248```text wrap theme={null}242```text wrap theme={null}

249update the README with installation instructions243update the README with installation instructions

250```244```

251 245 

252**Revisão de código**

253 

254```text wrap theme={null}246```text wrap theme={null}

255review my changes and suggest improvements247review my changes and suggest improvements

256```248```


263 Comandos essenciais255 Comandos essenciais

264</h2>256</h2>

265 257 

266Aqui estão os comandos mais importantes para uso diário. Comandos shell são executados a partir do seu terminal para iniciar ou retomar Claude Code. Comandos de sessão são executados dentro do Claude Code após ele iniciar.258Aqui estão os comandos mais importantes para uso diário, agrupados por onde você os executa.

267 259 

268**Comandos shell**260<h3 id="shell-commands">

261 Comandos shell

262</h3>

263 

264Execute estes a partir do seu terminal para iniciar ou retomar Claude Code.

269 265 

270| Comando | O que faz | Exemplo |266| Comando | O que faz | Exemplo |

271| - | - | - |267| - | - | - |


275| `claude -c` | Continuar conversa mais recente no diretório atual | `claude -c` |271| `claude -c` | Continuar conversa mais recente no diretório atual | `claude -c` |

276| `claude -r` | Retomar uma conversa anterior | `claude -r` |272| `claude -r` | Retomar uma conversa anterior | `claude -r` |

277 273 

278**Comandos de sessão**274Veja a [referência CLI](/docs/pt/cli-reference) para a lista completa de comandos shell.

275 

276<h3 id="session-commands">

277 Comandos de sessão

278</h3>

279 

280Execute estes dentro do Claude Code após ele iniciar.

279 281 

280| Comando | O que faz | Exemplo |282| Comando | O que faz | Exemplo |

281| - | - | - |283| - | - | - |


283| `/help` | Mostrar comandos disponíveis | `/help` |285| `/help` | Mostrar comandos disponíveis | `/help` |

284| `/exit` ou Ctrl+D duas vezes | Sair do Claude Code | `/exit` |286| `/exit` ou Ctrl+D duas vezes | Sair do Claude Code | `/exit` |

285 287 

286Veja a [referência CLI](/docs/pt/cli-reference) para a lista completa de comandos shell e a [referência de comandos](/docs/pt/commands) para a lista completa de comandos de sessão.288Veja a [referência de comandos](/docs/pt/commands) para a lista completa de comandos de sessão.

287 289 

288<h2 id="pro-tips-for-beginners">290<h2 id="pro-tips-for-beginners">

289 Dicas profissionais para iniciantes291 Dicas profissionais para iniciantes

Details

201* **`false`**: desative a conexão automática, embora um `true` de [configurações gerenciadas](/docs/pt/managed-settings) o supere, porque Claude Code salva a escolha em suas configurações de usuário. Um `false` em configurações de projeto ou local (`.claude/settings.json`, `.claude/settings.local.json`) desativa a conexão automática mesmo sobre um `true` gerenciado.201* **`false`**: desative a conexão automática, embora um `true` de [configurações gerenciadas](/docs/pt/managed-settings) o supere, porque Claude Code salva a escolha em suas configurações de usuário. Um `false` em configurações de projeto ou local (`.claude/settings.json`, `.claude/settings.local.json`) desativa a conexão automática mesmo sobre um `true` gerenciado.

202* **`default`**: limpe sua escolha e siga o padrão do administrador da sua organização se um estiver definido, caso contrário, o padrão atual de Claude Code.202* **`default`**: limpe sua escolha e siga o padrão do administrador da sua organização se um estiver definido, caso contrário, o padrão atual de Claude Code.

203 203 

204O mesmo alternador aparece fora da CLI:204A extensão VS Code e o aplicativo Desktop também têm um alternador de conexão automática:

205 205 

206* **Aplicativo Desktop**: **Settings > Claude Code > Connect new sessions to Remote Control**.

207* **Extensão VS Code**: **Enable Remote Control for all sessions** na seção Settings do [menu de comandos](/docs/pt/vs-code#use-the-prompt-box).206* **Extensão VS Code**: **Enable Remote Control for all sessions** na seção Settings do [menu de comandos](/docs/pt/vs-code#use-the-prompt-box).

207* **Aplicativo Desktop**: **Settings > Claude Code > Connect new sessions to Remote Control**. Consulte [Controlar quais sessões aparecem em seus outros dispositivos](/docs/pt/desktop#control-which-sessions-appear-on-your-other-devices).

208 208 

209Para ativar a conexão automática a partir de um arquivo de configurações, defina [`remoteControlAtStartup`](/docs/pt/settings-reference#remotecontrolatstartup) como `true` em seu `~/.claude/settings.json` de usuário ou em [configurações gerenciadas](/docs/pt/managed-settings). Em configurações de projeto ou local (`.claude/settings.json`, `.claude/settings.local.json`), Claude Code honra um `false` e desativa a conexão automática para esse repositório, mas ignora um `true`, para que um arquivo verificado não possa ativar Remote Control para todos que abrem o repositório.209Para ativar a conexão automática a partir de um arquivo de configurações, defina [`remoteControlAtStartup`](/docs/pt/settings-reference#remotecontrolatstartup) como `true` em seu `~/.claude/settings.json` de usuário ou em [configurações gerenciadas](/docs/pt/managed-settings). Em configurações de projeto ou local (`.claude/settings.json`, `.claude/settings.local.json`), Claude Code honra um `false` e desativa a conexão automática para esse repositório, mas ignora um `true`, para que um arquivo verificado não possa ativar Remote Control para todos que abrem o repositório.

210 210 

routines.md +1 −1

Details

93 Escolha um [ambiente em nuvem](/docs/pt/cloud-environments) para a rotina. Os ambientes controlam o que a sessão em nuvem tem acesso:93 Escolha um [ambiente em nuvem](/docs/pt/cloud-environments) para a rotina. Os ambientes controlam o que a sessão em nuvem tem acesso:

94 94 

95 * **Acesso à rede**: defina o nível de acesso à internet disponível durante cada execução95 * **Acesso à rede**: defina o nível de acesso à internet disponível durante cada execução

96 * **Variáveis de ambiente**: forneça valores que Claude pode usar durante cada execução. Elas são [visíveis para qualquer pessoa que use o ambiente](/docs/pt/cloud-environments#what-carries-over-from-your-setup), portanto em planos Pro e Max, armazene chaves para as APIs que Claude chama durante uma execução como [segredos de rede](/docs/pt/cloud-environments#add-api-credentials) em vez disso. Essa seção também lista as requisições que nunca recebem um segredo96 * **Variáveis de ambiente**: forneça valores que Claude pode usar durante cada execução. Elas são [visíveis para qualquer pessoa que use o ambiente](/docs/pt/cloud-environments#what-carries-over-from-your-setup), portanto em planos Pro e Max, armazene chaves para as APIs que Claude chama durante uma execução como [segredos de rede](/docs/pt/cloud-environments#add-network-secrets) em vez disso. Essa seção também lista as requisições que nunca recebem um segredo

97 * **Script de configuração**: instale dependências e ferramentas que a rotina precisa. O resultado é [armazenado em cache](/docs/pt/cloud-environments#environment-caching), portanto o script não é executado novamente em cada sessão97 * **Script de configuração**: instale dependências e ferramentas que a rotina precisa. O resultado é [armazenado em cache](/docs/pt/cloud-environments#environment-caching), portanto o script não é executado novamente em cada sessão

98 98 

99 Um ambiente **Default** é fornecido com acesso à rede **Trusted**, que permite apenas a [lista de permissões padrão](/docs/pt/cloud-environments#default-allowed-domains) de registros de pacotes, APIs de provedores de nuvem, registros de contêineres e domínios de desenvolvimento comuns através da rede da sessão. Os conectores que você adiciona à rotina alcançam seus serviços através dos servidores da Anthropic, portanto não precisam de alterações na lista de permissões. Se sua rotina precisar alcançar seus próprios serviços diretamente ou um domínio fora dessa lista, edite o [acesso à rede](/docs/pt/cloud-environments#network-access) do ambiente antes de executar. Para usar um ambiente separado, [crie um](/docs/pt/cloud-environments#configure-your-environment) primeiro.99 Um ambiente **Default** é fornecido com acesso à rede **Trusted**, que permite apenas a [lista de permissões padrão](/docs/pt/cloud-environments#default-allowed-domains) de registros de pacotes, APIs de provedores de nuvem, registros de contêineres e domínios de desenvolvimento comuns através da rede da sessão. Os conectores que você adiciona à rotina alcançam seus serviços através dos servidores da Anthropic, portanto não precisam de alterações na lista de permissões. Se sua rotina precisar alcançar seus próprios serviços diretamente ou um domínio fora dessa lista, edite o [acesso à rede](/docs/pt/cloud-environments#network-access) do ambiente antes de executar. Para usar um ambiente separado, [crie um](/docs/pt/cloud-environments#configure-your-environment) primeiro.

Details

22 22 

23| Approach | What is isolated | Requires Docker | Setup effort |23| Approach | What is isolated | Requires Docker | Setup effort |

24| :- | :- | :- | :- |24| :- | :- | :- | :- |

25| [Sandboxed Bash tool](#sandboxed-bash-tool) | Bash, PowerShell, and Monitor commands and their child processes | No | Minimal on macOS; low on Linux and WSL2 |25| [Ferramenta Bash em sandbox](#sandboxed-bash-tool) | Comandos das ferramentas Bash, PowerShell e Monitor e seus processos filhos | Não | Mínimo no macOS; baixo no Linux e no WSL2 |

26| [Sandbox runtime](#sandbox-runtime) | Todo o processo do Claude Code, incluindo ferramentas de arquivo, servidores MCP e hooks | Não | Baixo |26| [Sandbox runtime](#sandbox-runtime) | Todo o processo do Claude Code, incluindo ferramentas de arquivo, servidores MCP e hooks | Não | Baixo |

27| [Dev container](#dev-containers) | Ambiente de desenvolvimento completo | Sim | Médio |27| [Dev container](#dev-containers) | Ambiente de desenvolvimento completo | Sim | Médio |

28| [Custom container](#custom-container) | Ambiente de desenvolvimento completo | Sim | Médio a alto |28| [Custom container](#custom-container) | Ambiente de desenvolvimento completo | Sim | Médio a alto |


76 Esta opção não suporta Windows nativo. Em hosts Windows, use WSL2 ou uma das abordagens de container ou VM abaixo.76 Esta opção não suporta Windows nativo. Em hosts Windows, use WSL2 ou uma das abordagens de container ou VM abaixo.

77</Note>77</Note>

78 78 

79A sandboxed Bash tool é integrada ao Claude Code. Ela usa primitivos do sistema operacional para restringir o acesso ao sistema de arquivos e rede de cada comando Bash, PowerShell ou Monitor que o Claude executa.79A sandboxed Bash tool é integrada ao Claude Code. Ela usa primitivos do sistema operacional para restringir o acesso ao sistema de arquivos e à rede dos comandos das ferramentas Bash, PowerShell e Monitor que o Claude executa.

80 80 

81Execute o comando `/sandbox` para abrir o painel de sandbox e escolher um modo. O guia [Sandboxing](/docs/pt/sandboxing) cobre os modos de aprovação, o limite padrão, e como ampliá-lo ou estreitá-lo.81Execute o comando `/sandbox` para abrir o painel de sandbox e escolher um modo. O guia [Sandboxing](/docs/pt/sandboxing) cobre os modos de aprovação, o limite padrão, e como ampliá-lo ou estreitá-lo.

82 82 

83O sandbox por comando não cobre tudo que é executado em uma sessão:83O sandbox por comando não cobre tudo que é executado em uma sessão:

84 84 

85* Outras [built-in tools](/docs/pt/tools-reference) como Read, Edit e WebFetch são executadas dentro do processo do Claude Code e não geram código arbitrário. [Permission rules](/docs/pt/permissions) para caminho ou domínio as controlam.85* Outras [built-in tools](/docs/pt/tools-reference) como Read, Edit e WebFetch são executadas dentro do processo do Claude Code e não geram código arbitrário. [Permission rules](/docs/pt/permissions) para caminho ou domínio as controlam.

86* Servidores [MCP](/docs/pt/mcp) e [command hooks](/docs/pt/hooks#command-hook-fields) são processos separados que são executados sem restrições no host.86* Servidores [MCP](/docs/pt/mcp), [command hooks](/docs/pt/hooks#command-hook-fields) e [monitores de plugin](/docs/pt/plugins/components#monitors) são processos separados que são executados sem restrições no host. Para outros processos executados dessa forma, consulte [O que é executado fora do sandbox](/docs/pt/sandboxing#what-runs-outside-the-sandbox).

87 87 

88Para colocar ferramentas integradas, servidores MCP e hooks todos atrás de um limite do SO, execute todo o processo do Claude Code dentro do [sandbox runtime](#sandbox-runtime), do [dev container](#dev-containers), ou de um [custom container](#custom-container).88Para colocar ferramentas integradas, servidores MCP e hooks todos atrás de um limite do SO, execute todo o processo do Claude Code dentro do [sandbox runtime](#sandbox-runtime), do [dev container](#dev-containers), ou de um [custom container](#custom-container).

89 89 

sandboxing.md +1 −1

Details

698Regras de permissão e sandboxing controlam coisas diferentes:698Regras de permissão e sandboxing controlam coisas diferentes:

699 699 

700* **Regras de permissão** controlam quais ferramentas o Claude Code pode usar e são avaliadas antes de qualquer ferramenta ser executada. Elas se aplicam a todas as ferramentas: Bash, Read, Edit, WebFetch, MCP e outras, exceto que uma regra de negação ou pergunta não pode bloquear [`EndConversation`](/docs/pt/tools-reference#endconversation-tool-behavior) enquanto qualquer outra ferramenta permanecer.700* **Regras de permissão** controlam quais ferramentas o Claude Code pode usar e são avaliadas antes de qualquer ferramenta ser executada. Elas se aplicam a todas as ferramentas: Bash, Read, Edit, WebFetch, MCP e outras, exceto que uma regra de negação ou pergunta não pode bloquear [`EndConversation`](/docs/pt/tools-reference#endconversation-tool-behavior) enquanto qualquer outra ferramenta permanecer.

701* **Sandboxing** fornece aplicação em nível de SO que restringe o que os comandos shell podem acessar no nível do sistema de arquivos e rede. Aplica-se apenas aos comandos Bash, PowerShell e [Monitor](/docs/pt/tools-reference#monitor-tool) e seus processos filhos.701* **Sandboxing** fornece aplicação em nível de SO que restringe o que os comandos shell podem acessar no nível do sistema de arquivos e rede. Aplica-se aos comandos das ferramentas Bash, PowerShell e [Monitor](/docs/pt/tools-reference#monitor-tool) e seus processos filhos.

702 702 

703As duas camadas também diferem em como são aplicadas. O Claude Code avalia decisões de permissão antes de um comando ser executado, com base na string do comando e, em modo automático, no julgamento de um classificador separado sobre se o comando é seguro. O sistema operacional aplica o limite do sandbox no processo em execução, portanto ele se mantém independentemente do que o modelo escolheu executar e mesmo que um comando permitido faça mais do que seu nome sugere.703As duas camadas também diferem em como são aplicadas. O Claude Code avalia decisões de permissão antes de um comando ser executado, com base na string do comando e, em modo automático, no julgamento de um classificador separado sobre se o comando é seguro. O sistema operacional aplica o limite do sandbox no processo em execução, portanto ele se mantém independentemente do que o modelo escolheu executar e mesmo que um comando permitido faça mais do que seu nome sugere.

704 704 

Details

348 348 

349Nem as chaves retornadas por um script [`apiKeyHelper`](/docs/pt/settings-reference#apikeyhelper) nem as credenciais de [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation) acionam a busca de configurações.349Nem as chaves retornadas por um script [`apiKeyHelper`](/docs/pt/settings-reference#apikeyhelper) nem as credenciais de [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation) acionam a busca de configurações.

350 350 

351Uma sessão recebe as configurações gerenciadas da organização proprietária da credencial com a qual ela se autentica. Uma chave de API do [Claude Console](https://platform.claude.com) pertence à organização do Console em que foi criada, que é uma organização separada da sua organização de Equipe ou Empresa no claude.ai. Portanto, as configurações que você define nas Admin Settings do claude.ai não alcançam uma sessão que se autentica com essa chave, como um job de CI que usa a chave de API do Console da sua empresa. Para aplicá-las a esse job, use uma destas opções. A opção de token OAuth não se aplica a um job executado com [`--bare`](/docs/pt/headless#start-faster-with-bare-mode), porque o modo bare não lê `CLAUDE_CODE_OAUTH_TOKEN`.

352 

353* **Token OAuth**: gere um token com [`claude setup-token`](/docs/pt/authentication#generate-a-long-lived-token), autorize-o para sua organização de Equipe ou Empresa e defina-o como `CLAUDE_CODE_OAUTH_TOKEN` no ambiente do job. Remova desse ambiente qualquer credencial que [tenha precedência](/docs/pt/authentication#authentication-precedence) sobre o token, como `ANTHROPIC_API_KEY`.

354* **Configurações gerenciadas pelo endpoint**: implante um [arquivo de configurações gerenciadas](/docs/pt/managed-settings#delivery-mechanisms) na máquina que executa o job.

355 

351Em uma sessão de [Cowork](https://claude.com/docs/cowork/overview) no aplicativo Claude Desktop, Claude Code não busca configurações gerenciadas pelo servidor do console de administração claude.ai, mesmo quando o usuário se conecta com uma conta de Equipe ou Empresa. [Onde e quando uma política se aplica](/docs/pt/managed-settings#where-and-when-a-policy-applies) cobre qual política alcança sessões de Cowork na máquina do usuário e sessões de Cowork remotas. claude.ai ainda aplica suas listas [`strictKnownMarketplaces`](/docs/pt/settings-reference#strictknownmarketplaces) e [`blockedMarketplaces`](/docs/pt/settings-reference#blockedmarketplaces) quando um usuário de Cowork adiciona um marketplace de um repositório git em claude.ai ou de **Customize** na aba Cowork. [Como as restrições funcionam](/docs/pt/plugins/org#restrict-what-users-can-install) descreve essa verificação.356Em uma sessão de [Cowork](https://claude.com/docs/cowork/overview) no aplicativo Claude Desktop, Claude Code não busca configurações gerenciadas pelo servidor do console de administração claude.ai, mesmo quando o usuário se conecta com uma conta de Equipe ou Empresa. [Onde e quando uma política se aplica](/docs/pt/managed-settings#where-and-when-a-policy-applies) cobre qual política alcança sessões de Cowork na máquina do usuário e sessões de Cowork remotas. claude.ai ainda aplica suas listas [`strictKnownMarketplaces`](/docs/pt/settings-reference#strictknownmarketplaces) e [`blockedMarketplaces`](/docs/pt/settings-reference#blockedmarketplaces) quando um usuário de Cowork adiciona um marketplace de um repositório git em claude.ai ou de **Customize** na aba Cowork. [Como as restrições funcionam](/docs/pt/plugins/org#restrict-what-users-can-install) descreve essa verificação.

352 357 

353Se você exportar uma variável de provedor `CLAUDE_CODE_USE_*` ou um `ANTHROPIC_BASE_URL` não padrão em seu shell, Claude Code ignora a busca de configurações para suas sessões. [`claude doctor` e `/status` relatam a busca ignorada e sua causa](#verify-settings-delivery).358Se você exportar uma variável de provedor `CLAUDE_CODE_USE_*` ou um `ANTHROPIC_BASE_URL` não padrão em seu shell, Claude Code ignora a busca de configurações para suas sessões. [`claude doctor` e `/status` relatam a busca ignorada e sua causa](#verify-settings-delivery).


379| Usuário executa um binário Claude Code modificado | Um usuário que pode executar um cliente modificado pode contornar qualquer controle do lado do cliente |384| Usuário executa um binário Claude Code modificado | Um usuário que pode executar um cliente modificado pode contornar qualquer controle do lado do cliente |

380| Usuário executa uma versão anterior do Claude Code | Versões que antecedem as configurações gerenciadas pelo servidor não as buscam ou aplicam |385| Usuário executa uma versão anterior do Claude Code | Versões que antecedem as configurações gerenciadas pelo servidor não as buscam ou aplicam |

381| API está indisponível | As configurações em cache se aplicam se disponíveis, exceto pelos [valores que Claude Code retém](#fetch-and-caching-behavior) até que uma busca seja bem-sucedida. Sem um cache, Claude Code não aplica nenhuma configuração gerenciada pelo servidor até a próxima busca bem-sucedida e ainda aplica qualquer [configuração gerenciada pelo endpoint](/docs/pt/managed-settings#delivery-mechanisms) no dispositivo. Com `forceRemoteSettingsRefresh: true`, a CLI sai em vez de continuar, exceto para [subcomandos `claude auth`](#enforce-fail-closed-startup). Clientes conectados através de um [gateway de aplicativos Claude](#platform-availability) saem na inicialização sem essa configuração, com a mesma exceção `claude auth` |386| API está indisponível | As configurações em cache se aplicam se disponíveis, exceto pelos [valores que Claude Code retém](#fetch-and-caching-behavior) até que uma busca seja bem-sucedida. Sem um cache, Claude Code não aplica nenhuma configuração gerenciada pelo servidor até a próxima busca bem-sucedida e ainda aplica qualquer [configuração gerenciada pelo endpoint](/docs/pt/managed-settings#delivery-mechanisms) no dispositivo. Com `forceRemoteSettingsRefresh: true`, a CLI sai em vez de continuar, exceto para [subcomandos `claude auth`](#enforce-fail-closed-startup). Clientes conectados através de um [gateway de aplicativos Claude](#platform-availability) saem na inicialização sem essa configuração, com a mesma exceção `claude auth` |

382| Usuário se autentica com uma organização diferente | As configurações não são entregues para contas fora da organização gerenciada |387| Usuário se autentica com uma organização diferente | As configurações não são entregues para contas fora da organização gerenciada, incluindo uma sessão que se autentica com uma [chave de API do Console](#platform-availability) |

383| Usuário configura um [provedor de modelo de terceiros](#platform-availability) | As configurações gerenciadas pelo servidor são ignoradas. Isso inclui definir `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_MANTLE`, `CLAUDE_CODE_USE_VERTEX`, `CLAUDE_CODE_USE_FOUNDRY`, `CLAUDE_CODE_USE_ANTHROPIC_AWS`, ou um `ANTHROPIC_BASE_URL` não padrão |388| Usuário configura um [provedor de modelo de terceiros](#platform-availability) | As configurações gerenciadas pelo servidor são ignoradas. Isso inclui definir `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_MANTLE`, `CLAUDE_CODE_USE_VERTEX`, `CLAUDE_CODE_USE_FOUNDRY`, `CLAUDE_CODE_USE_ANTHROPIC_AWS`, ou um `ANTHROPIC_BASE_URL` não padrão |

384| Tráfego de rede é interceptado ou redirecionado | Validação TLS desabilitada ou tráfego interceptado pode alterar as configurações que o cliente recebe |389| Tráfego de rede é interceptado ou redirecionado | Validação TLS desabilitada ou tráfego interceptado pode alterar as configurações que o cliente recebe |

385 390 

Details

1399 1399 

1400Escolha o que acontece quando um [classificador de segurança sinaliza uma solicitação](/docs/pt/model-config#automatic-model-fallback): mude para o modelo de fallback e continue, ou pause para que você possa escolher entre mudar e editar o prompt.1400Escolha o que acontece quando um [classificador de segurança sinaliza uma solicitação](/docs/pt/model-config#automatic-model-fallback): mude para o modelo de fallback e continue, ou pause para que você possa escolher entre mudar e editar o prompt.

1401 1401 

1402* **Escopo**: [`Qualquer arquivo`](#scopes). Aparece em `/config` como **Mude de modelos quando uma mensagem é sinalizada**.1402* **Escopo**: [`Qualquer arquivo`](#scopes). Aparece em `/config` como **Switch models when a message is flagged**, com as opções **Switch automatically** e **Ask each time**.

1403* **Tipo**: Boolean1403* **Tipo**: Boolean

1404 * `true`: Claude Code muda para o modelo de fallback e continua1404 * `true`: Claude Code muda para o modelo de fallback e continua

1405 * `false`: em uma sessão interativa Claude Code pausa para que você possa escolher entre mudar e editar o prompt; onde nenhum diálogo pode mostrar, como uma execução `-p`, a solicitação sinalizada termina como um erro1405 * `false`: em uma sessão interativa Claude Code pausa para que você possa escolher entre mudar e editar o prompt; onde nenhum diálogo pode mostrar, como uma execução `-p`, a solicitação sinalizada termina como um erro

1406* **Padrão**: `true`, mude automaticamente1406* **Padrão**: sem definir. Claude Code muda automaticamente, embora possa [perguntar primeiro](/docs/pt/model-config#ask-before-switching) em uma sessão interativa

1407 1407 

1408```json settings.json theme={null}1408```json settings.json theme={null}

1409{1409{


3164 `plansDirectory`3164 `plansDirectory`

3165</h3>3165</h3>

3166 3166 

3167Escolha onde Claude Code armazena os arquivos de plano que escreve em [plan mode](/docs/pt/permission-modes#analyze-before-you-edit-with-plan-mode). Claude Code resolve o caminho relativo à raiz do projeto e mantém o padrão quando o caminho se resolve fora dela.3167Escolha onde Claude Code armazena os arquivos de plano que escreve no [modo de planejamento](/docs/pt/permission-modes#analyze-before-you-edit-with-plan-mode). Claude Code resolve o caminho relativo à raiz do projeto.

3168 3168 

3169* **Scope**: [`Any file`](#scopes)3169* **Scope**: [`Any file`](#scopes)

3170* **Type**: string, um caminho relativo à raiz do projeto3170* **Type**: string, um caminho relativo à raiz do projeto


3176}3176}

3177```3177```

3178 3178 

3179Claude Code armazena planos em `~/.claude/plans` em vez do diretório que você definiu em casos como estes:

3180 

3181* **Fora da raiz do projeto**: o caminho se resolve fora da raiz do projeto, como acontece com `"../plans"`.

3182* **Barra invertida no macOS, Linux e WSL**: o caminho resolvido contém uma barra invertida, como acontece com `"docs\\plans"` no estilo Windows. Escreva `"docs/plans"`, que também funciona no Windows.

3183 

3179<h3 id="skilllistingbudgetfraction">3184<h3 id="skilllistingbudgetfraction">

3180 `skillListingBudgetFraction`3185 `skillListingBudgetFraction`

3181</h3>3186</h3>


5768 5773 

5769Desative sessões de Code que executam no dispositivo no [aplicativo desktop](/docs/pt/desktop#local-sessions-on-managed-devices), para implantações onde os desenvolvedores devem trabalhar em máquinas remotas via SSH. Na aba Code, o ambiente **Local** permanece no menu suspenso de ambiente, mas fica acinzentado e não pode ser selecionado, com uma dica de ferramenta dizendo que sua organização o desativou; no Windows, a entrada WSL fica acinzentada da mesma forma, embora se as sessões WSL executam em um dispositivo gerenciado seja [governado separadamente](/docs/pt/admin-setup#wsl-sessions-in-claude-code-desktop). Novas sessões usam como padrão a primeira [conexão SSH](/docs/pt/desktop#ssh-sessions) se uma estiver configurada, e o aplicativo se recusa a iniciar ou retomar uma sessão no dispositivo, incluindo uma conexão SSH de volta para a mesma máquina. Sessões SSH para outros hosts e sessões em nuvem não são afetadas. O aplicativo desktop lê essa chave; o CLI do terminal a ignora. Requer Claude Desktop v1.37937.0 ou posterior.5774Desative sessões de Code que executam no dispositivo no [aplicativo desktop](/docs/pt/desktop#local-sessions-on-managed-devices), para implantações onde os desenvolvedores devem trabalhar em máquinas remotas via SSH. Na aba Code, o ambiente **Local** permanece no menu suspenso de ambiente, mas fica acinzentado e não pode ser selecionado, com uma dica de ferramenta dizendo que sua organização o desativou; no Windows, a entrada WSL fica acinzentada da mesma forma, embora se as sessões WSL executam em um dispositivo gerenciado seja [governado separadamente](/docs/pt/admin-setup#wsl-sessions-in-claude-code-desktop). Novas sessões usam como padrão a primeira [conexão SSH](/docs/pt/desktop#ssh-sessions) se uma estiver configurada, e o aplicativo se recusa a iniciar ou retomar uma sessão no dispositivo, incluindo uma conexão SSH de volta para a mesma máquina. Sessões SSH para outros hosts e sessões em nuvem não são afetadas. O aplicativo desktop lê essa chave; o CLI do terminal a ignora. Requer Claude Desktop v1.37937.0 ou posterior.

5770 5775 

5771* **Escopo**: [`Gerenciado`](#scopes)5776* **Escopo**: [`Gerenciado`](#scopes). Por padrão, o aplicativo desktop lê a chave de [uma fonte gerenciada](/docs/pt/managed-settings#how-claude-code-combines-managed-sources).

5772* **Tipo**: Boolean; apenas o Boolean JSON `true` tem efeito5777* **Tipo**: Boolean; apenas o Boolean JSON `true` tem efeito

5773 * `true`: o aplicativo desktop não oferece sessões de Code no dispositivo; sessões locais existentes permanecem listadas, mas não podem continuar5778 * `true`: o aplicativo desktop não oferece sessões de Code no dispositivo; sessões locais existentes permanecem listadas, mas não podem continuar

5774 * `false`: sessões locais permanecem disponíveis5779 * `false`: sessões locais permanecem disponíveis


5915 5920 

5916Adicione conexões SSH ao menu suspenso do ambiente [Desktop](/docs/pt/desktop#pre-configure-ssh-connections-for-your-team). Administradores a usam para distribuir conexões compartilhadas para uma equipe. Conexões que você define em configurações gerenciadas aparecem como gerenciadas, então os usuários podem selecioná-las, mas não podem editá-las ou deletá-las no aplicativo.5921Adicione conexões SSH ao menu suspenso do ambiente [Desktop](/docs/pt/desktop#pre-configure-ssh-connections-for-your-team). Administradores a usam para distribuir conexões compartilhadas para uma equipe. Conexões que você define em configurações gerenciadas aparecem como gerenciadas, então os usuários podem selecioná-las, mas não podem editá-las ou deletá-las no aplicativo.

5917 5922 

5918* **Escopo**: [`Usuário ou gerenciado`](#scopes). O aplicativo desktop lê essa chave.5923* **Escopo**: [`Usuário ou gerenciado`](#scopes). O aplicativo desktop lê essa chave. Por padrão, ele lê as conexões gerenciadas de [uma fonte gerenciada](/docs/pt/managed-settings#how-claude-code-combines-managed-sources).

5919* **Tipo**: array de objetos, cada um com `id`, `name` e `sshHost` obrigatórios e `sshPort` e `sshIdentityFile` opcionais5924* **Tipo**: array de objetos, cada um com `id`, `name` e `sshHost` obrigatórios e `sshPort` e `sshIdentityFile` opcionais

5920* **Padrão**: não definido5925* **Padrão**: não definido

5921 5926 


5939 5944 

5940Limite os hosts aos quais uma [sessão SSH do Desktop](/docs/pt/desktop#restrict-which-ssh-hosts-users-can-connect-to) pode se conectar. Apenas o aplicativo Desktop lê essa chave; a CLI não. Padrões são insensíveis a maiúsculas: `*` corresponde a qualquer host, `*.example.com` corresponde a `example.com` e cada subdomínio, e qualquer outra coisa é uma correspondência exata contra o nome do host após a resolução de `~/.ssh/config`. Um array vazio desativa sessões SSH.5945Limite os hosts aos quais uma [sessão SSH do Desktop](/docs/pt/desktop#restrict-which-ssh-hosts-users-can-connect-to) pode se conectar. Apenas o aplicativo Desktop lê essa chave; a CLI não. Padrões são insensíveis a maiúsculas: `*` corresponde a qualquer host, `*.example.com` corresponde a `example.com` e cada subdomínio, e qualquer outra coisa é uma correspondência exata contra o nome do host após a resolução de `~/.ssh/config`. Um array vazio desativa sessões SSH.

5941 5946 

5942* **Escopo**: [`Gerenciado`](#scopes)5947* **Escopo**: [`Gerenciado`](#scopes). Por padrão, o Desktop lê a chave de [uma fonte gerenciada](/docs/pt/managed-settings#how-claude-code-combines-managed-sources).

5943* **Tipo**: array de padrões de nome de host5948* **Tipo**: array de padrões de nome de host

5944* **Padrão**: não definido, então qualquer host é permitido5949* **Padrão**: não definido, então qualquer host é permitido

5945 5950 


5951}5956}

5952```5957```

5953 5958 

5959Um valor que o Desktop não consegue ler como uma lista de hosts, como `true` ou um objeto, conta como um array vazio até que você o corrija, exceto `null`, que conta como não definido. Requer Claude Desktop v2.26454.0 ou posterior.

5960 

5961Se você definir [`managedSourcesBehavior`](#managedsourcesbehavior) como `"merge"` em sua fonte de maior prioridade, o Desktop combina as listas de cada [fonte de administrador](/docs/pt/managed-settings#how-claude-code-combines-managed-sources) e permite um host que corresponda a qualquer uma delas. Se você definir um array vazio em uma fonte, as sessões SSH permanecem ativadas para os hosts que outra fonte lista.

5962 

5954<span id="authentication-and-login" />5963<span id="authentication-and-login" />

5955 5964 

5956<h2 id="authentication-and-providers">5965<h2 id="authentication-and-providers">

setup.md +12 −8

Details

63 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd63 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

64 ```64 ```

65 65 

66 Quando o instalador terminar, abra uma nova janela de terminal e execute `claude --version`. Uma instalação funcionando imprime um número de versão. Se seu shell disser que `claude` não foi encontrado ou não é reconhecido, o diretório de instalação ainda não está em seu PATH: consulte [Corrija seu PATH](/docs/pt/troubleshoot-install#command-not-found-claude-after-installation).66 O comando de instalação não mostra nenhum progresso enquanto baixa o Claude Code. Quando o instalador terminar, abra uma nova janela de terminal e execute `claude --version`. Uma instalação funcionando imprime um número de versão. Se seu shell disser que `claude` não foi encontrado ou não é reconhecido, o diretório de instalação ainda não está em seu PATH: consulte [Corrija seu PATH](/docs/pt/troubleshoot-install#command-not-found-claude-after-installation).

67 67 

68 Se você vir `The token '&&' is not a valid statement separator`, você está no PowerShell, não no CMD. Se você vir `'irm' is not recognized as an internal or external command`, você está no CMD, não no PowerShell.68 Se você vir `The token '&&' is not a valid statement separator`, você está no PowerShell, não no CMD. Se você vir `'irm' is not recognized as an internal or external command`, você está no CMD, não no PowerShell.

69 69 


119 119 

120| Opção | Requer | [Sandboxing](/docs/pt/sandboxing) | Quando usar |120| Opção | Requer | [Sandboxing](/docs/pt/sandboxing) | Quando usar |

121| - | - | - | - |121| - | - | - | - |

122| Windows nativo | Nenhum; [Git for Windows](https://git-scm.com/downloads/win) é opcional | Não suportado | Projetos e ferramentas nativas do Windows |122| [Windows nativo](#install-on-native-windows) | Nenhum; [Git for Windows](https://git-scm.com/downloads/win) é opcional | Não suportado | Projetos e ferramentas nativas do Windows |

123| WSL 2 | WSL 2 habilitado | Suportado | Cadeias de ferramentas Linux ou execução de comando em sandbox |123| [WSL 2](#install-in-wsl) | WSL 2 habilitado | Suportado | Cadeias de ferramentas Linux ou execução de comando em sandbox |

124| WSL 1 | WSL 1 habilitado | Não suportado | Se WSL 2 não estiver disponível |124| [WSL 1](#install-in-wsl) | WSL 1 habilitado | Não suportado | Se WSL 2 não estiver disponível |

125 125 

126**Opção 1: Windows nativo**126<h4 id="install-on-native-windows">

127 Instalar no Windows nativo

128</h4>

127 129 

128Execute o comando de instalação a partir do PowerShell ou CMD. Você não precisa executar como Administrador. Instalar [Git for Windows](https://git-scm.com/downloads/win) é opcional. Ele fornece o Git Bash, necessário para a [ferramenta Bash](/docs/pt/tools-reference#bash-tool-behavior) e a [ferramenta Monitor](/docs/pt/tools-reference#monitor-tool).130Execute o [comando de instalação](#install-claude-code) a partir do PowerShell ou CMD. Você não precisa executar como Administrador. Instalar [Git for Windows](https://git-scm.com/downloads/win) é opcional. Ele fornece o Git Bash, necessário para a [ferramenta Bash](/docs/pt/tools-reference#bash-tool-behavior) e a [ferramenta Monitor](/docs/pt/tools-reference#monitor-tool).

129 131 

130Se você instalar a partir do PowerShell ou CMD apenas afeta qual comando de instalação você executa. Seu prompt mostra `PS C:\Users\SeuNome>` no PowerShell e `C:\Users\SeuNome>` sem o `PS` no CMD. Se você é novo no terminal, o [guia de terminal](/docs/pt/terminal-guide#windows) orienta cada etapa.132Se você instalar a partir do PowerShell ou CMD apenas afeta qual comando de instalação você executa. Seu prompt mostra `PS C:\Users\SeuNome>` no PowerShell e `C:\Users\SeuNome>` sem o `PS` no CMD. Se você é novo no terminal, o [guia de terminal](/docs/pt/terminal-guide#windows) orienta cada etapa.

131 133 


144 146 

145Quando Git for Windows está instalado, a ferramenta PowerShell está disponível ao lado do Bash: ativada por padrão para contas claude.ai e Console, e habilitada com `CLAUDE_CODE_USE_POWERSHELL_TOOL=1` em sessões do Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry. Defina como `0` para desativar a ferramenta. Consulte [ferramenta PowerShell](/docs/pt/tools-reference#powershell-tool) para configuração e limitações.147Quando Git for Windows está instalado, a ferramenta PowerShell está disponível ao lado do Bash: ativada por padrão para contas claude.ai e Console, e habilitada com `CLAUDE_CODE_USE_POWERSHELL_TOOL=1` em sessões do Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry. Defina como `0` para desativar a ferramenta. Consulte [ferramenta PowerShell](/docs/pt/tools-reference#powershell-tool) para configuração e limitações.

146 148 

147**Opção 2: WSL**149<h4 id="install-in-wsl">

150 Instalar no WSL

151</h4>

148 152 

149Abra sua distribuição WSL e execute o instalador Linux a partir das [instruções de instalação](#install-claude-code) acima. Você instala e inicia `claude` dentro do terminal WSL, não a partir do PowerShell ou CMD.153Abra sua distribuição WSL e execute o instalador Linux a partir das [instruções de instalação](#install-claude-code). Você instala e inicia `claude` dentro do terminal WSL, não a partir do PowerShell ou CMD.

150 154 

151<h3 id="alpine-linux-and-musl-based-distributions">155<h3 id="alpine-linux-and-musl-based-distributions">

152 Alpine Linux e distribuições baseadas em musl156 Alpine Linux e distribuições baseadas em musl

skills.md +15 −0

Details

36 36 

37Skills agrupadas são listadas junto com comandos integrados na [referência de comandos](/docs/pt/commands), marcadas como **Skill** na coluna Propósito.37Skills agrupadas são listadas junto com comandos integrados na [referência de comandos](/docs/pt/commands), marcadas como **Skill** na coluna Propósito.

38 38 

39<h3 id="check-your-setup-with-/doctor">

40 Verifique sua configuração com `/doctor`

41</h3>

42 

43Execute `/doctor` no prompt do Claude Code para uma verificação de configuração que diagnostica problemas e pode corrigi-los. Claude relata suas descobertas primeiro e pede confirmação antes de alterar qualquer coisa. A verificação abrange estas áreas:

44 

45* **Integridade da instalação**: instalações duplicadas ou remanescentes, problemas de `PATH`, arquivos de configuração que não podem ser analisados e se uma versão mais recente está disponível no seu [canal de lançamento](/docs/pt/setup#configure-release-channel)

46* **Extensões**: skills, servidores MCP e plugins não utilizados comparados com seu custo de contexto, e [hooks](/docs/pt/hooks) lentos

47* **Arquivos `CLAUDE.md`**: arquivos `CLAUDE.md` locais que duplicam arquivos versionados, [conteúdo de `CLAUDE.md` versionado que Claude poderia derivar da base de código](/docs/pt/memory#my-claude-md-is-too-large) e as orientações sempre carregadas restantes, que Claude oferece migrar para skills e arquivos `CLAUDE.md` aninhados que são carregados sob demanda

48* **Permissões**: uma oferta para tornar o [modo auto](/docs/pt/permissions#permission-modes) seu modo de permissão padrão e para [pré-aprovar](/docs/pt/permissions) comandos somente leitura que você nega com frequência

49 

50Para diagnósticos de instalação somente leitura sem iniciar uma sessão, execute `claude doctor` no seu terminal.

51 

52Para auditar suas instruções em vez da sua configuração, execute `/doctor prompt-audit` no prompt do Claude Code. Claude [verifica seus arquivos `CLAUDE.md`, skills e outras configurações](/docs/pt/memory#audit-your-instruction-files) em busca de instruções desatualizadas ou conflitantes em vez de executar a verificação. O subcomando `prompt-audit` requer Claude Code v2.1.283 ou posterior.

53 

39<h3 id="run-and-verify-your-app">54<h3 id="run-and-verify-your-app">

40 Execute e verifique seu aplicativo55 Execute e verifique seu aplicativo

41</h3>56</h3>

statusline.md +79 −30

Details

148 148 

149O Claude Code executa seu script com [dados de sessão JSON](#available-data) na entrada padrão e exibe tudo o que o script imprime na saída padrão.149O Claude Code executa seu script com [dados de sessão JSON](#available-data) na entrada padrão e exibe tudo o que o script imprime na saída padrão.

150 150 

151**Quando é atualizado**151<Note>A linha de status é executada localmente e não consome tokens de API. Ela se oculta temporariamente durante certas interações da interface, incluindo o menu de ajuda e prompts de permissão.</Note>

152 

153<h3 id="when-the-status-line-updates">

154 Quando a linha de status é atualizada

155</h3>

152 156 

153Seu script é executado uma vez quando uma sessão inicia, incluindo quando você retoma uma. Depois disso, ele é executado novamente quando:157Seu script é executado uma vez quando uma sessão inicia, incluindo quando você retoma uma. Depois disso, ele é executado novamente quando:

154 158 


158* O modo Vim alterna162* O modo Vim alterna

159* Você altera o `command` nas suas configurações de `statusLine`163* Você altera o `command` nas suas configurações de `statusLine`

160* Um temporizador [`refreshInterval`](#manually-configure-a-status-line) decorre, se você definir um164* Um temporizador [`refreshInterval`](#manually-configure-a-status-line) decorre, se você definir um

161* Uma janela de [limite de taxa](#rate-limit-usage) nos dados que seu script recebeu por último atinge seu tempo `resets_at`165* Uma janela de [rate limit](#rate-limit-usage) nos dados que seu script recebeu por último atinge seu tempo `resets_at`

162* Um [cache de prompt](#prompt-cache-fields) aquecido nos dados que seu script recebeu por último atinge seu tempo `expires_at`166* Um [cache de prompt](#prompt-cache-fields) aquecido nos dados que seu script recebeu por último atinge seu tempo `expires_at`

163 167 

164O Claude Code debounce as atualizações em 300ms, portanto mudanças rápidas são agrupadas e seu script é executado uma vez após as mudanças pararem. Uma alteração no próprio `command` ignora o debounce: o Claude Code executa o novo comando imediatamente. Se uma nova atualização for acionada enquanto seu script ainda está em execução, o Claude Code cancela o script em andamento. Se você editar seu script, as alterações aparecem na próxima vez que um gatilho de atualização o re-executa.168O Claude Code debounce as atualizações em 300ms, portanto mudanças rápidas são agrupadas e seu script é executado uma vez após as mudanças pararem. Uma alteração no próprio `command` ignora o debounce: o Claude Code executa o novo comando imediatamente. Se uma nova atualização for acionada enquanto seu script ainda está em execução, o Claude Code cancela o script em andamento. Se você editar seu script, as alterações aparecem na próxima vez que um gatilho de atualização o re-executa.

165 169 

166Os gatilhos acionados por eventos podem ficar silenciosos quando a sessão principal está ociosa, por exemplo enquanto um coordenador aguarda subagentes em segundo plano. Para manter segmentos baseados em tempo ou de origem externa atualizados durante períodos ociosos, defina [`refreshInterval`](#manually-configure-a-status-line) para também re-executar o comando em um temporizador fixo.170Os gatilhos acionados por eventos podem ficar silenciosos quando a sessão principal está ociosa, por exemplo enquanto um coordenador aguarda subagentes em segundo plano. Para manter segmentos baseados em tempo ou de origem externa atualizados durante períodos ociosos, defina [`refreshInterval`](#manually-configure-a-status-line) para também re-executar o comando em um temporizador fixo.

167 171 

168**O que seu script pode exibir**172<h3 id="what-your-script-can-output">

173 O que seu script pode exibir

174</h3>

175 

176Seu script pode imprimir mais do que uma única linha de texto simples:

169 177 

170* **Múltiplas linhas**: cada instrução `echo` ou `print` é exibida como uma linha separada. Consulte o [exemplo de múltiplas linhas](#display-multiple-lines).178* **Múltiplas linhas**: cada instrução `echo` ou `print` é exibida como uma linha separada. Consulte o [exemplo de múltiplas linhas](#display-multiple-lines).

171* **Cores**: use [códigos de escape ANSI](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors) como `\033[32m` para verde (o terminal deve suportá-los). Consulte o [exemplo de status do git](#git-status-with-colors).179* **Cores**: use [códigos de escape ANSI](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors) como `\033[32m` para verde (o terminal deve suportá-los). Consulte o [exemplo de status do git](#git-status-with-colors).

172* **Links**: use [sequências de escape OSC 8](https://en.wikipedia.org/wiki/ANSI_escape_code#OSC) para tornar o texto clicável (Cmd+clique no macOS, Ctrl+clique no Windows/Linux). Requer um terminal que suporte hiperlinks como iTerm2, Kitty ou WezTerm. Consulte o [exemplo de links clicáveis](#clickable-links).180* **Links**: use [sequências de escape OSC 8](https://en.wikipedia.org/wiki/ANSI_escape_code#OSC) para tornar o texto clicável (Cmd+clique no macOS, Ctrl+clique no Windows/Linux). Requer um terminal que suporte hiperlinks como iTerm2, Kitty ou WezTerm. Consulte o [exemplo de links clicáveis](#clickable-links).

173 181 

174**Dimensionando a saída para o terminal**182<h3 id="size-output-to-the-terminal">

183 Dimensionando a saída para o terminal

184</h3>

175 185 

176O Claude Code captura a saída do seu script em vez de conectá-la diretamente ao terminal, portanto `tput cols` e a detecção de largura em nível de linguagem não podem ler o tamanho do terminal de dentro do script. Leia as variáveis de ambiente `COLUMNS` e `LINES` em vez disso. O Claude Code define estas variáveis para as dimensões atuais do terminal antes de executar seu script.186O Claude Code captura a saída do seu script em vez de conectá-la diretamente ao terminal, portanto `tput cols` e a detecção de largura em nível de linguagem não podem ler o tamanho do terminal de dentro do script. Leia as variáveis de ambiente `COLUMNS` e `LINES` em vez disso. O Claude Code define estas variáveis para as dimensões atuais do terminal antes de executar seu script.

177 187 

178<Note>A linha de status é executada localmente e não consome tokens de API. Ela se oculta temporariamente durante certas interações da interface, incluindo o menu de ajuda e prompts de permissão.</Note>

179 

180<h2 id="available-data">188<h2 id="available-data">

181 Dados disponíveis189 Dados disponíveis

182</h2>190</h2>


1168}1176}

1169```1177```

1170 1178 

1171O comando é executado uma vez por tick de atualização com todas as linhas de subagente visíveis passadas como um único objeto JSON em stdin. A entrada inclui os [campos de hook base](/docs/pt/hooks#common-input-fields), um campo `columns` com a largura de linha utilizável e um array `tasks`. Cada tarefa tem `id`, `name`, `type`, `status`, `description`, `label`, `startTime`, `model`, `effort`, `contextWindowSize`, `tokenCount`, `tokenSamples` e `cwd`.1179O comando é executado uma vez por tick de atualização e recebe todas as linhas de subagente visíveis como um único objeto JSON em stdin. A entrada inclui os [campos de hook base](/docs/pt/hooks#common-input-fields), um campo `columns` com a largura de linha utilizável e um array `tasks` com uma entrada por linha, descrito em [Campos de tarefa](#task-fields).

1172 

1173O campo `model` por tarefa é o ID do modelo resolvido em que a tarefa é executada. `contextWindowSize` é a janela de contexto desse modelo em tokens, calculada da mesma forma que a `context_window.context_window_size` da linha de status principal, para que você possa renderizar uma porcentagem por linha a partir de `tokenCount`. Ambos os campos exigem Claude Code v2.1.205 ou posterior e são omitidos para uma tarefa cujo modelo ainda não foi resolvido.

1174 

1175O campo `effort` por tarefa é o esforço de raciocínio definido para esse subagente, em seu [frontmatter de definição](/docs/pt/sub-agents#supported-frontmatter-fields) ou na invocação individual. O valor é um dos strings de nível de esforço `low`, `medium`, `high`, `xhigh` ou `max`, ou um orçamento de token numérico. O campo relata o valor configurado conforme escrito: se o modelo não suportar esse nível, o esforço que Claude Code realmente aplica pode ser diferente. O campo exige Claude Code v2.1.214 ou posterior e está ausente quando nenhum nível está definido para o subagente.

1176 1180 

1177Escreva uma linha JSON para stdout por linha que você queira substituir, na forma `{"id": "<task id>", "content": "<row body>"}`. A string `content` é renderizada como está, incluindo cores ANSI e hiperlinks OSC 8. Omita o `id` de uma tarefa para manter a renderização padrão para essa linha; emita uma string `content` vazia para ocultá-la.1181Escreva uma linha JSON para stdout por linha que você queira substituir, na forma `{"id": "<task id>", "content": "<row body>"}`. A string `content` é renderizada como está, incluindo cores ANSI e hiperlinks OSC 8. Omita o `id` de uma tarefa para manter a renderização padrão para essa linha; emita uma string `content` vazia para ocultá-la.

1178 1182 

1179Os mesmos portões de confiança, `disableAllHooks` e [`allowManagedHooksOnly`](/docs/pt/settings-reference#allowmanagedhooksonly) que se aplicam a `statusLine` se aplicam aqui. Plugins podem enviar um `subagentStatusLine` padrão em seu [`settings.json`](/docs/pt/plugins/manifest-reference#standard-layout), mas diferentemente de hooks, valores de plugin não são executados sob `allowManagedHooksOnly` mesmo quando o plugin é forçadamente ativado nas configurações gerenciadas `enabledPlugins`.1183Os mesmos portões de confiança, `disableAllHooks` e [`allowManagedHooksOnly`](/docs/pt/settings-reference#allowmanagedhooksonly) que se aplicam a `statusLine` se aplicam aqui. Plugins podem enviar um `subagentStatusLine` padrão em seu [`settings.json`](/docs/pt/plugins/manifest-reference#standard-layout), mas diferentemente de hooks, valores de plugin não são executados sob `allowManagedHooksOnly` mesmo quando o plugin é forçadamente ativado nas configurações gerenciadas `enabledPlugins`.

1180 1184 

1185<h3 id="task-fields">

1186 Campos de tarefa

1187</h3>

1188 

1189Cada entrada no array `tasks` descreve uma linha de subagente com os campos abaixo. Campos marcados como opcionais são omitidos quando não têm valor, portanto verifique sua ausência no seu script.

1190 

1191| Campo | Tipo | Descrição |

1192| :- | :- | :- |

1193| `id` | string | Identificador da tarefa. Repita-o como `id` na linha que você escrever de volta para essa linha |

1194| `name` | string, opcional | Nome pelo qual o subagente é [endereçado](/docs/pt/sub-agents#subagent-names), quando ele tem um |

1195| `type` | string | Tipo de tarefa: `local_agent` |

1196| `agentType` | string | Tipo de subagente como o qual a tarefa é executada, como o [`Explore`](/docs/pt/sub-agents#built-in-subagents) integrado ou um `code-reviewer` personalizado. Contém o mesmo valor que os hooks recebem como [`agent_type`](/docs/pt/hooks#subagentstart). Requer Claude Code v2.1.293 ou posterior |

1197| `status` | string | Estado da tarefa, como `running`, `completed`, `failed` ou `killed` |

1198| `description` | string | Descrição curta da tarefa, como a que Claude forneceu ao iniciar o subagente |

1199| `label` | string | Resumo curto do progresso da tarefa quando Claude Code tem um, caso contrário o mesmo texto de `description` |

1200| `startTime` | number | Quando a tarefa começou, em milissegundos desde a época Unix |

1201| `model` | string, opcional | ID do modelo resolvido em que a tarefa é executada. Omitido até que o modelo seja resolvido. Requer Claude Code v2.1.205 ou posterior |

1202| `effort` | string ou number, opcional | Esforço de raciocínio definido para o subagente em seu [frontmatter de definição](/docs/pt/sub-agents#supported-frontmatter-fields) ou na invocação individual: `low`, `medium`, `high`, `xhigh`, `max` ou um orçamento de tokens numérico. Este é o valor configurado, e o esforço que Claude Code aplica pode ser diferente quando o modelo não suporta esse nível. Omitido quando nenhum esforço está definido. Requer Claude Code v2.1.213 ou posterior |

1203| `contextWindowSize` | number, opcional | Janela de contexto de `model` em tokens, calculada da mesma forma que a [`context_window.context_window_size`](#context-window-fields) da linha de status principal, para que você possa renderizar uma porcentagem por linha a partir de `tokenCount`. Omitido quando `model` é omitido. Requer Claude Code v2.1.205 ou posterior |

1204| `tokenCount` | number | Contagem de tokens acumulada do subagente, o número que a linha padrão mostra |

1205| `tokenSamples` | array de numbers | Até as últimas 16 leituras de `tokenCount`, uma por tick de atualização, da mais antiga para a mais recente e terminando com a atual |

1206| `cwd` | string | Diretório de trabalho do subagente: seu próprio diretório quando ele é executado em um, como um worktree isolado, caso contrário o diretório de trabalho da sessão |

1207 

1181<h2 id="tips">1208<h2 id="tips">

1182 Dicas1209 Dicas

1183</h2>1210</h2>


1192 Solução de problemas1219 Solução de problemas

1193</h2>1220</h2>

1194 1221 

1195**Linha de status não aparecendo**1222Se a linha de status estiver em branco, comece por [Linha de status não aparecendo](#status-line-not-appearing). Uma pasta na qual você não confiou e um script que falha também a deixam em branco, conforme descrito em [Confiança do workspace necessária](#workspace-trust-required) e [Erros de script ou travamentos](#script-errors-or-hangs).

1223 

1224<h3 id="status-line-not-appearing">

1225 Linha de status não aparecendo

1226</h3>

1227 

1228Se você configurou uma linha de status e nada aparece na parte inferior da interface, siga estas verificações:

1196 1229 

1197* Verifique se seu script é executável: `chmod +x ~/.claude/statusline.sh`1230* Verifique se seu script é executável: `chmod +x ~/.claude/statusline.sh`

1198* Verifique se seu script produz saída para stdout, não stderr1231* Verifique se seu script produz saída para stdout, não stderr


1203* Execute `claude --debug` para registrar o stderr do seu script em cada invocação de linha de status e seu código de saída na primeira invocação em uma sessão1236* Execute `claude --debug` para registrar o stderr do seu script em cada invocação de linha de status e seu código de saída na primeira invocação em uma sessão

1204* Peça ao Claude para ler seu arquivo de configurações e executar o comando `statusLine` diretamente para descobrir erros1237* Peça ao Claude para ler seu arquivo de configurações e executar o comando `statusLine` diretamente para descobrir erros

1205 1238 

1206**Linha de status mostra `--` ou valores vazios**1239<h3 id="status-line-shows-or-empty-values">

1240 Linha de status mostra `--` ou valores vazios

1241</h3>

1207 1242 

1208* Os campos podem ser `null` antes da primeira resposta de API ser concluída1243Os campos podem ser `null` antes da primeira resposta de API ser concluída, portanto trate valores nulos em seu script com fallbacks como `// 0` em jq. Reinicie o Claude Code se os valores permanecerem vazios após várias mensagens.

1209* Trate valores nulos em seu script com fallbacks como `// 0` em jq

1210* Reinicie o Claude Code se os valores permanecerem vazios após várias mensagens

1211 1244 

1212**Porcentagem de contexto mostra valores inesperados**1245<h3 id="context-percentage-shows-unexpected-values">

1246 Porcentagem de contexto mostra valores inesperados

1247</h3>

1213 1248 

1214* Use `used_percentage` para o estado de contexto mais simples e preciso1249A linha de status relata as contagens da última resposta de API, enquanto `/context` adiciona uma estimativa para mensagens adicionadas desde essa resposta, portanto `/context` pode ler mais alto até a próxima resposta. Use `used_percentage` para o estado de contexto mais simples e preciso. Para a fórmula por trás de `used_percentage`, veja [Campos da janela de contexto](#context-window-fields).

1215* A linha de status relata as contagens da última resposta de API, enquanto `/context` adiciona uma estimativa para mensagens adicionadas desde essa resposta, portanto `/context` pode ler mais alto até a próxima resposta

1216 1250 

1217**Links OSC 8 não clicáveis**1251<h3 id="osc-8-links-not-clickable">

1252 Links OSC 8 não clicáveis

1253</h3>

1254 

1255Se um link é clicável depende do seu terminal, de o Claude Code detectar suporte a hiperlink nele, de SSH ou tmux removerem a sequência de escape e de como seu script a imprime:

1218 1256 

1219* Verifique se seu terminal suporta hiperlinks OSC 8 (iTerm2, Kitty, WezTerm)1257* Verifique se seu terminal suporta hiperlinks OSC 8 (iTerm2, Kitty, WezTerm)

1220 1258 

1221* Terminal.app não suporta links clicáveis1259* Terminal.app não suporta links clicáveis

1222 1260 

1223* Se o texto do link aparecer mas não for clicável, o Claude Code pode não ter detectado suporte a hiperlink em seu terminal. Defina a variável de ambiente `FORCE_HYPERLINK` para substituir a detecção antes de iniciar o Claude Code:1261* Se o texto do link aparecer mas não for clicável, o Claude Code pode não ter detectado suporte a hiperlink em seu terminal. Defina a variável de ambiente `FORCE_HYPERLINK` para sobrescrever a detecção antes de iniciar o Claude Code:

1224 1262 

1225 ```bash theme={null}1263 ```bash theme={null}

1226 FORCE_HYPERLINK=1 claude1264 FORCE_HYPERLINK=1 claude


1236 1274 

1237* Se sequências de escape aparecerem como texto literal como `\e]8;;`, use `printf '%b'` em vez de `echo -e` para manipulação de escape mais confiável1275* Se sequências de escape aparecerem como texto literal como `\e]8;;`, use `printf '%b'` em vez de `echo -e` para manipulação de escape mais confiável

1238 1276 

1239**Falhas de exibição com sequências de escape**1277<h3 id="display-glitches-with-escape-sequences">

1278 Falhas de exibição com sequências de escape

1279</h3>

1240 1280 

1241* Sequências de escape complexas (cores ANSI, links OSC 8) podem ocasionalmente causar saída corrompida se se sobrepuserem com outras atualizações da interface1281Sequências de escape complexas (cores ANSI, links OSC 8) podem ocasionalmente causar saída corrompida se se sobrepuserem com outras atualizações da interface. Linhas de status de múltiplas linhas com códigos de escape são mais propensas a problemas de renderização do que texto simples de linha única.

1242* Se você vir texto corrompido, tente simplificar seu script para saída de texto simples

1243* Linhas de status de múltiplas linhas com códigos de escape são mais propensas a problemas de renderização do que texto simples de linha única

1244 1282 

1245**Confiança do espaço de trabalho necessária**1283Se você vir texto corrompido, tente simplificar seu script para saída de texto simples.

1246 1284 

1247* Como `statusLine` executa um comando de shell, o Claude Code o executa sob a mesma [regra de confiança do espaço de trabalho que hooks em arquivos de configurações](/docs/pt/permissions#what-runs-before-you-trust-a-folder). Aceitar o diálogo para a pasta, ou para um diretório pai cuja confiança se estende a ela, é suficiente.1285<h3 id="workspace-trust-required">

1248* Até então, a linha de status permanece em branco, e `claude --debug` registra `Status line command skipped: workspace trust not accepted`. Reinicie o Claude Code e aceite o diálogo de confiança para habilitá-lo.1286 Confiança do workspace necessária

1287</h3>

1288 

1289Até que você aceite o diálogo de confiança do workspace, a linha de status permanece em branco. Como `statusLine` executa um comando de shell, o Claude Code o executa sob a mesma [regra de confiança do workspace que hooks em arquivos de configurações](/docs/pt/permissions#what-runs-before-you-trust-a-folder). Aceitar o diálogo para a pasta, ou para um diretório pai cuja confiança se estende a ela, é suficiente.

1290 

1291Até então, `claude --debug` registra `Status line command skipped: workspace trust not accepted`. Reinicie o Claude Code e aceite o diálogo de confiança para habilitá-la.

1249 1292 

1250**Erros de script ou travamentos**1293<h3 id="script-errors-or-hangs">

1294 Erros de script ou travamentos

1295</h3>

1296 

1297O Claude Code exibe a saída do seu script somente depois que o script sai com código 0:

1251 1298 

1252* Scripts que saem com códigos diferentes de zero ou não produzem saída fazem a linha de status ficar em branco1299* Scripts que saem com códigos diferentes de zero ou não produzem saída fazem a linha de status ficar em branco

1253* Scripts lentos bloqueiam a linha de status de atualizar até que sejam concluídos. Mantenha scripts rápidos para evitar saída obsoleta.1300* Scripts lentos bloqueiam a linha de status de atualizar até que sejam concluídos. Mantenha scripts rápidos para evitar saída obsoleta.

1254* Se uma nova atualização for acionada enquanto um script lento está em execução, o script em andamento é cancelado1301* Se uma nova atualização for acionada enquanto um script lento está em execução, o script em andamento é cancelado

1255* Teste seu script independentemente com entrada simulada antes de configurá-lo1302* Teste seu script independentemente com entrada simulada antes de configurá-lo

1256 1303 

1257**Notificações compartilham a linha de status**1304<h3 id="notifications-share-the-status-line-row">

1305 Notificações compartilham a linha da linha de status

1306</h3>

1258 1307 

1259Fora da [renderização em tela cheia](/docs/pt/fullscreen), o Claude Code mostra notificações na mesma linha que sua linha de status. Na renderização em tela cheia, o Claude Code oferece às notificações uma linha própria.1308Fora da [renderização em tela cheia](/docs/pt/fullscreen), o Claude Code mostra notificações na mesma linha que sua linha de status. Na renderização em tela cheia, o Claude Code oferece às notificações uma linha própria.

1260 1309 

sub-agents.md +2 −0

Details

3793. A variável de ambiente [`CLAUDE_CODE_SUBAGENT_MODEL`](/docs/pt/model-config#environment-variables), quando você a define como um alias de modelo ou ID de modelo3793. A variável de ambiente [`CLAUDE_CODE_SUBAGENT_MODEL`](/docs/pt/model-config#environment-variables), quando você a define como um alias de modelo ou ID de modelo

3804. O modelo da conversa principal3804. O modelo da conversa principal

381 381 

382Se um [mod](/docs/pt/plugins/mods/overview) instalado definir um modelo no seu hook [`agent.spawn`](/docs/pt/plugins/mods/reference#subagents), o Claude Code usa esse modelo no lugar do parâmetro por invocação.

383 

382Em dois casos, um alias de família como `opus` no parâmetro por invocação ou no frontmatter resolve para o modelo da conversa principal em vez da [versão para a qual o alias aponta](/docs/pt/model-config#model-aliases):384Em dois casos, um alias de família como `opus` no parâmetro por invocação ou no frontmatter resolve para o modelo da conversa principal em vez da [versão para a qual o alias aponta](/docs/pt/model-config#model-aliases):

383 385 

384* **O modelo da conversa principal pertence a essa família**: o subagente é executado no modelo exato da conversa principal, incluindo qualquer sufixo `[1m]`, de modo que recebe a mesma janela de [contexto estendido](/docs/pt/model-config#extended-context) da conversa principal.386* **O modelo da conversa principal pertence a essa família**: o subagente é executado no modelo exato da conversa principal, incluindo qualquer sufixo `[1m]`, de modo que recebe a mesma janela de [contexto estendido](/docs/pt/model-config#extended-context) da conversa principal.

tools-reference.md +20 −10

Details

155</h3>155</h3>

156 156 

157* Quando Claude executa `cd` na sessão principal, o novo diretório de trabalho é mantido para comandos Bash posteriores, desde que permaneça dentro do diretório do projeto ou de um [diretório de trabalho adicional](/docs/pt/permissions#working-directories) que você adicionou com `--add-dir`, `/add-dir`, ou `additionalDirectories` nas configurações. Isso inclui comandos que Claude executa em resposta às suas mensagens posteriores.157* Quando Claude executa `cd` na sessão principal, o novo diretório de trabalho é mantido para comandos Bash posteriores, desde que permaneça dentro do diretório do projeto ou de um [diretório de trabalho adicional](/docs/pt/permissions#working-directories) que você adicionou com `--add-dir`, `/add-dir`, ou `additionalDirectories` nas configurações. Isso inclui comandos que Claude executa em resposta às suas mensagens posteriores.

158 * Sessões de subagentos nunca mantêm mudanças de diretório de trabalho.158 * Sessões de subagentes nunca mantêm mudanças de diretório de trabalho.

159 * Se `cd` sair desses diretórios, Claude Code redefine para o diretório do projeto e anexa `Shell cwd was reset to <dir>` ao resultado da ferramenta.159 * Se `cd` sair desses diretórios, Claude Code redefine para o diretório do projeto e anexa `Shell cwd was reset to <dir>` ao resultado da ferramenta.

160 * Para desabilitar esse carregamento de forma que cada comando Bash comece no diretório do projeto, defina `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR=1`.160 * Para desabilitar esse carregamento de forma que cada comando Bash comece no diretório do projeto, defina `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR=1`.

161* Variáveis de ambiente não persistem. Um `export` em um comando não estará disponível no próximo.161* Variáveis de ambiente não persistem. Um `export` em um comando não estará disponível no próximo.


197 Comandos em segundo plano197 Comandos em segundo plano

198</h3>198</h3>

199 199 

200Para processos de longa duração, como servidores de desenvolvimento ou builds de observação, Claude pode definir `run_in_background: true` para iniciar o comando como uma tarefa em segundo plano e continuar trabalhando enquanto é executado. Liste e interrompa tarefas em segundo plano com `/tasks`. Depois de interromper uma lá, ou de um cliente conectado como o aplicativo de desktop, Claude continua em vez de esperar. Se um subagentos iniciou o comando, é esse subagentos que continua.200Para processos de longa duração, como servidores de desenvolvimento ou builds de observação, Claude pode definir `run_in_background: true` para iniciar o comando como uma tarefa em segundo plano e continuar trabalhando enquanto é executado. Liste e interrompa tarefas em segundo plano com `/tasks`. Depois de interromper uma lá, ou de um cliente conectado como o aplicativo de desktop, Claude continua em vez de esperar. Se um subagente iniciou o comando, é esse subagente que continua.

201 201 

202<h4 id="when-a-background-command-stops">202<h4 id="when-a-background-command-stops">

203 Quando um comando em segundo plano para203 Quando um comando em segundo plano para

204</h4>204</h4>

205 205 

206Um comando que um [subagentos em primeiro plano](/docs/pt/sub-agents#run-subagents-in-foreground-or-background) iniciou para quando a execução desse subagentos termina, quer tenha terminado, falhado ou sido interrompido. Um comando que a conversa principal ou um subagentos em segundo plano iniciou continua sendo executado após uma resposta final, até sair, ser interrompido ou atingir seu [limite de tempo](#time-limit-for-background-commands). No modo não interativo com a flag `-p`, [comandos em segundo plano terminam logo após o resultado final da execução](/docs/pt/headless#background-tasks-at-exit).206Um comando que um [subagente em primeiro plano](/docs/pt/sub-agents#run-subagents-in-foreground-or-background) iniciou para quando a execução desse subagente termina, quer tenha terminado, falhado ou sido interrompido. Um comando que a conversa principal ou um subagente em segundo plano iniciou continua sendo executado após uma resposta final, até sair, ser interrompido ou atingir seu [limite de tempo](#time-limit-for-background-commands).

207 

208Enquanto um comando que a conversa principal iniciou ainda está em execução, uma execução no modo não interativo com a flag `-p` [permanece aberta após seu resultado](/docs/pt/headless#background-tasks-at-exit) até que esse comando saia ou atinja seu limite de tempo. Um comando que um subagente em segundo plano iniciou é interrompido quando a execução sai.

207 209 

208<h4 id="time-limit-for-background-commands">210<h4 id="time-limit-for-background-commands">

209 Limite de tempo para comandos em segundo plano211 Limite de tempo para comandos em segundo plano


218* Um comando que Claude inicia em segundo plano obtém 30 minutos, ou o `timeout` que Claude passa com `run_in_background`, até um máximo de 2 horas220* Um comando que Claude inicia em segundo plano obtém 30 minutos, ou o `timeout` que Claude passa com `run_in_background`, até um máximo de 2 horas

219* Um comando que começa em primeiro plano e depois se move para segundo plano, por exemplo em seu timeout, obtém 30 minutos a partir da mudança221* Um comando que começa em primeiro plano e depois se move para segundo plano, por exemplo em seu timeout, obtém 30 minutos a partir da mudança

220 222 

223Em uma execução com a flag `-p` cujo prompt você passa como texto em vez de com `--input-format stream-json`, ambos os padrões são de 10 minutos em vez de 30, porque a execução [aguarda os comandos em segundo plano após seu resultado](/docs/pt/headless#background-tasks-at-exit).

224 

221Quando um comando em segundo plano atinge seu limite de tempo, Claude Code o interrompe e diz a Claude por quê, e Claude pode iniciar o comando novamente com um `timeout` mais longo se o trabalho ainda precisar. O aviso de parada lê `Background command "<description>" was stopped after reaching its background time limit`.225Quando um comando em segundo plano atinge seu limite de tempo, Claude Code o interrompe e diz a Claude por quê, e Claude pode iniciar o comando novamente com um `timeout` mais longo se o trabalho ainda precisar. O aviso de parada lê `Background command "<description>" was stopped after reaching its background time limit`.

222 226 

223<h4 id="raise-the-time-limit-for-background-commands">227<h4 id="raise-the-time-limit-for-background-commands">

224 Aumente o limite de tempo para comandos em segundo plano228 Aumente o limite de tempo para comandos em segundo plano

225</h4>229</h4>

226 230 

227Duas [variáveis de ambiente](/docs/pt/env-vars) aumentam esses limites, para comandos Bash e PowerShell igualmente. Ambas usam milissegundos, e nenhuma pode encurtar um limite: um valor mais baixo deixa o padrão de 30 minutos e o máximo de 2 horas em vigor.231Duas [variáveis de ambiente](/docs/pt/env-vars) aumentam esses limites, para comandos Bash e PowerShell igualmente. Ambas usam milissegundos, e nenhuma pode encurtar um limite: um valor mais baixo deixa os padrões e o máximo de 2 horas em vigor.

228 232 

229* Defina `BASH_DEFAULT_TIMEOUT_MS` acima de `1800000` para substituir o padrão de 30 minutos por esse valor, tanto para comandos que Claude inicia sem um `timeout` quanto para comandos movidos233* Defina `BASH_DEFAULT_TIMEOUT_MS` acima de `1800000` para substituir o padrão de 30 minutos por esse valor, tanto para comandos que Claude inicia sem um `timeout` quanto para comandos movidos. Em uma execução `-p` cujo prompt você passa como texto, qualquer valor acima de `600000` substitui seu padrão de 10 minutos

230* Defina `BASH_MAX_TIMEOUT_MS` acima de `7200000` para aumentar o máximo de 2 horas para esse valor. Definir `BASH_DEFAULT_TIMEOUT_MS` acima de `7200000` aumenta o máximo da mesma forma234* Defina `BASH_MAX_TIMEOUT_MS` acima de `7200000` para aumentar o máximo de 2 horas para esse valor. Definir `BASH_DEFAULT_TIMEOUT_MS` acima de `7200000` aumenta o máximo da mesma forma

231 235 

232<h4 id="foreground-commands-that-move-to-the-background">236<h4 id="foreground-commands-that-move-to-the-background">

233 Comandos em primeiro plano que se movem para segundo plano237 Comandos em primeiro plano que se movem para segundo plano

234</h4>238</h4>

235 239 

236Quando 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.240Quando 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 subagente em primeiro plano ainda para quando a execução desse subagente termina.

237 241 

238Definir [`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.242Definir [`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.

239 243 


285 289 

286Visualizar um arquivo com Bash também satisfaz o requisito read-before-edit quando o comando é `cat`, `nl`, `bat`, `batcat`, `head`, `tail`, `sed -n 'X,Yp'`, `grep`, `egrep`, `fgrep`, ou `rg` em um único arquivo sem pipes ou redirecionamentos. Saída com pipe e outros comandos Bash não contam para a verificação read-before-edit.290Visualizar um arquivo com Bash também satisfaz o requisito read-before-edit quando o comando é `cat`, `nl`, `bat`, `batcat`, `head`, `tail`, `sed -n 'X,Yp'`, `grep`, `egrep`, `fgrep`, ou `rg` em um único arquivo sem pipes ou redirecionamentos. Saída com pipe e outros comandos Bash não contam para a verificação read-before-edit.

287 291 

288Visualizar um arquivo com Bash afeta apenas a elegibilidade de edição, não as permissões. Consulte [Regras de permissão Read e Edit](/docs/pt/permissions#read-and-edit) para saber quais comandos Bash suas regras de negação `Read` e `Edit` cobrem.292Quando Claude visualiza um arquivo dessa forma, Claude Code também carrega qualquer [`CLAUDE.md` de subdiretório](/docs/pt/memory#how-claude-md-files-load) e [regras com escopo de caminho](/docs/pt/memory#path-specific-rules) que se aplicam a esse arquivo. Consulte [Regras de permissão Read e Edit](/docs/pt/permissions#read-and-edit) para saber quais comandos Bash suas regras de negação `Read` e `Edit` cobrem.

289 293 

290<h2 id="endconversation-tool-behavior">294<h2 id="endconversation-tool-behavior">

291 Comportamento da ferramenta EndConversation295 Comportamento da ferramenta EndConversation


709O backend de busca não é configurável. Para buscar com um provedor diferente, adicione um [servidor MCP](/docs/pt/mcp) que exponha uma ferramenta de busca.713O backend de busca não é configurável. Para buscar com um provedor diferente, adicione um [servidor MCP](/docs/pt/mcp) que exponha uma ferramenta de busca.

710 714 

711<Note>715<Note>

712 WebSearch está disponível na Claude API e na [Claude Platform on AWS](/docs/pt/claude-platform-on-aws). No Microsoft Foundry, ele requer uma [implantação hospedada na Anthropic](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options): implantações hospedadas no Azure não suportam ferramentas do lado do servidor, portanto a chamada do WebSearch falha. Na Agent Platform do Google Cloud, funciona com Claude 4 e modelos posteriores, incluindo Opus, Sonnet e Haiku. Amazon Bedrock não expõe a ferramenta de web search do lado do servidor.716 WebSearch está disponível na Claude API, na [Claude Platform on AWS](/docs/pt/claude-platform-on-aws) e no Microsoft Foundry. Na Agent Platform do Google Cloud, funciona com Claude 4 e modelos posteriores, incluindo Opus, Sonnet e Haiku. Amazon Bedrock não expõe a ferramenta de web search do lado do servidor.

713</Note>717</Note>

714 718 

715<h3 id="session-search-limit">719<h3 id="session-search-limit">

716 Limite de busca da sessão720 Limite de busca da sessão

717</h3>721</h3>

718 722 

719Uma sessão pode fazer no máximo 200 chamadas do WebSearch, contadas em toda a conversa principal e em cada [subagent](/docs/pt/sub-agents) que ela gera, portanto as buscas feitas por fan-outs de pesquisa paralela contam contra o mesmo limite. O limite requer Claude Code v2.1.212 ou posterior. Quando Claude atinge o limite, chamadas posteriores retornam um aviso dizendo a Claude para continuar com as informações que já reuniu, em vez de um erro que convidaria a uma tentativa novamente. Você não vê o aviso: uma chamada limitada aparece na conversa como uma busca que não fez nada, e se Claude precisar de mais buscas, o aviso diz a ele para pedir que você aumente o limite.723Uma sessão interativa no terminal tem um limite de 200 chamadas do WebSearch. As buscas da conversa principal e de [subagentes](/docs/pt/sub-agents), como um fan-out de pesquisa paralela, contam contra o mesmo limite. O limite requer Claude Code v2.1.212 ou posterior.

724 

725Enquanto uma sessão está no limite, as buscas aparecem na conversa como chamadas que não fizeram nada. Claude recebe um aviso dizendo a ele para continuar com as informações que já reuniu e, se precisar de mais buscas, para pedir que você aumente o limite.

726 

727Para obter mais buscas, aumente o limite, aguarde o limite ser reabastecido ou inicie uma nova conversa:

720 728 

721Defina a variável de ambiente [`CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION`](/docs/pt/env-vars) para alterar o limite; ela aceita um número inteiro positivo, portanto o limite pode ser aumentado, mas não desativado. Executar [`/clear`](/docs/pt/commands#all-commands) redefine a contagem. Se o trabalho que ainda pode gerar [subagents](/docs/pt/sub-agents) sobreviver à limpeza, como um fluxo de trabalho em execução, a contagem é mantida.729* **Aumentar o limite**: defina a variável de ambiente [`CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION`](/docs/pt/env-vars#variables) com um número inteiro positivo, como `500`. O limite pode ser aumentado, mas não desativado.

730* **Aguardar o reabastecimento**: no Claude Code v2.1.290 ou posterior, o limite de uma sessão interativa no terminal é reabastecido a cerca de 100 chamadas por hora. Para alterar a taxa, defina [`CLAUDE_CODE_WEB_SEARCH_REFILLS_PER_HOUR`](/docs/pt/env-vars#variables) com um número de chamadas por hora, como `50`.

731* **Iniciar uma nova conversa**: executar [`/clear`](/docs/pt/commands#all-commands) no prompt do Claude Code também redefine a contagem. Se o trabalho que ainda pode gerar subagentes sobreviver à limpeza, como um fluxo de trabalho em execução, a contagem é mantida.

722 732 

723<h2 id="write-tool-behavior">733<h2 id="write-tool-behavior">

724 Comportamento da ferramenta Write734 Comportamento da ferramenta Write

vs-code.md +1 −0

Details

623* **Claude's replies**: the extension announces each reply once, when it's complete, and stays silent while text streams in. Your screen reader reads code blocks as a line-count summary, reads links by their label, and reads tables cell by cell; the full reply stays readable in the transcript.623* **Claude's replies**: the extension announces each reply once, when it's complete, and stays silent while text streams in. Your screen reader reads code blocks as a line-count summary, reads links by their label, and reads tables cell by cell; the full reply stays readable in the transcript.

624* **Permission requests and questions**: the extension announces a request when its permission prompt appears, naming the tool Claude wants to use. It announces in the same way when Claude asks you a question and when Claude finishes a plan and waits for your review.624* **Permission requests and questions**: the extension announces a request when its permission prompt appears, naming the tool Claude wants to use. It announces in the same way when Claude asks you a question and when Claude finishes a plan and waits for your review.

625* **Status changes**: the extension announces when Claude starts working, when Claude is ready for your input, and when Claude Code starts compacting the conversation.625* **Status changes**: the extension announces when Claude starts working, when Claude is ready for your input, and when Claude Code starts compacting the conversation.

626* **Mensagens enfileiradas**: quando você envia uma mensagem enquanto o Claude está trabalhando, a extensão anuncia "Message queued." para essa mensagem.

626* **Errors and model prompts**: the extension announces errors in the conversation, and announces when the [usage-credits consent prompt](/docs/pt/model-config#fable-and-usage-credits) or the [flagged-request prompt](/docs/pt/model-config#ask-before-switching) appears.627* **Errors and model prompts**: the extension announces errors in the conversation, and announces when the [usage-credits consent prompt](/docs/pt/model-config#fable-and-usage-credits) or the [flagged-request prompt](/docs/pt/model-config#ask-before-switching) appears.

627 628 

628While Claude works, your screen reader reads a text label in place of the progress spinner's animation.629While Claude works, your screen reader reads a text label in place of the progress spinner's animation.

Details

12 12 

13Uma sessão na nuvem executa Claude Code em infraestrutura de nuvem em vez de sua máquina, gerenciada pela Anthropic por padrão. Este guia de início rápido inicia uma a partir de [claude.ai/code](https://claude.ai/code) no seu navegador. Você também pode iniciar uma a partir do aplicativo móvel Claude, do aplicativo Desktop ou do seu terminal com `claude --cloud`.13Uma sessão na nuvem executa Claude Code em infraestrutura de nuvem em vez de sua máquina, gerenciada pela Anthropic por padrão. Este guia de início rápido inicia uma a partir de [claude.ai/code](https://claude.ai/code) no seu navegador. Você também pode iniciar uma a partir do aplicativo móvel Claude, do aplicativo Desktop ou do seu terminal com `claude --cloud`.

14 14 

15Você precisará de um repositório GitHub para [começar](#connect-github). Claude o clona em uma máquina virtual isolada, faz alterações e envia uma branch para você revisar. As sessões persistem entre dispositivos, portanto uma tarefa que você inicia no seu laptop está pronta para revisar no seu telefone mais tarde.15Você precisará de um repositório GitHub para [começar](#connect-github). Claude o clona em uma máquina virtual isolada, faz alterações e envia um branch para você revisar. As sessões persistem entre dispositivos, portanto uma tarefa que você inicia no seu laptop está pronta para revisar no seu telefone mais tarde. Cada sessão conta para os limites de uso do seu plano junto com o restante do seu uso do Claude e do Claude Code, e não há cobrança separada pela VM na nuvem.

16 16 

17As sessões na nuvem funcionam bem para:17As sessões na nuvem funcionam bem para:

18 18 

worktrees.md +2 −2

Details

59 Limpe worktrees59 Limpe worktrees

60</h2>60</h2>

61 61 

62Quando você sai de uma sessão de worktree interativa, Claude verifica a worktree para trabalho que a remoção deletaria: arquivos alterados ou não rastreados, trabalho não confirmado dentro de submódulos verificados e novos commits. Estas regras se aplicam a worktrees que Claude criou com git. Para uma worktree que seu hook [WorktreeCreate](/docs/pt/hooks#worktreecreate) criou, veja [WorktreeRemove](/docs/pt/hooks#worktreeremove) em vez disso.62Quando você sai de uma sessão de worktree interativa, Claude verifica a worktree para trabalho que a remoção deletaria: arquivos alterados ou não rastreados, trabalho não confirmado dentro de submódulos em checkout e novos commits. Estas regras se aplicam a worktrees que Claude criou com git. Para uma worktree que seu hook [WorktreeCreate](/docs/pt/hooks#worktreecreate) criou, veja [WorktreeRemove](/docs/pt/hooks#worktreeremove) em vez disso.

63 63 

64* **A worktree está limpa**: para uma sessão sem nome, Claude remove a worktree e seu branch automaticamente. Uma sessão [nomeada](/docs/pt/sessions#name-your-sessions) solicita primeiro para que você possa manter a worktree para depois64* **A worktree está limpa**: para uma sessão sem nome, Claude remove a worktree e seu branch automaticamente. Uma sessão [nomeada](/docs/pt/sessions#name-your-sessions) solicita primeiro para que você possa manter a worktree para depois

65* **A worktree tem trabalho nela**: Claude solicita que você mantenha ou remova a worktree. Manter preserva o diretório e branch. Para retornar depois, execute o comando `claude --worktree <name> --resume` que Claude Code imprime ao sair. Remover deleta o diretório da worktree e seu branch, junto com todo o trabalho neles65* **A worktree tem trabalho nela**: Claude solicita que você mantenha ou remova a worktree. Manter preserva o diretório e branch. Para retornar depois, execute o comando `claude --worktree <name> --resume` que Claude Code imprime ao sair. Remover deleta o diretório da worktree e seu branch, junto com todo o trabalho neles


144Quando você [coloca em segundo plano](/docs/pt/agent-view#send-the-session-to-the-background) uma sessão `--worktree`, sua worktree se torna uma worktree de sessão em segundo plano que a varredura pode remover. A varredura deixa uma worktree no lugar nestes casos:144Quando você [coloca em segundo plano](/docs/pt/agent-view#send-the-session-to-the-background) uma sessão `--worktree`, sua worktree se torna uma worktree de sessão em segundo plano que a varredura pode remover. A varredura deixa uma worktree no lugar nestes casos:

145 145 

146* A worktree ainda contém trabalho: arquivos alterados ou não rastreados, ou commits não enviados.146* A worktree ainda contém trabalho: arquivos alterados ou não rastreados, ou commits não enviados.

147* Um submódulo verificado na worktree contém arquivos alterados ou não rastreados, ou Claude Code não consegue inspecionar os submódulos da worktree. Esta verificação requer Claude Code v2.1.274 ou posterior.147* Um submódulo em checkout na worktree contém arquivos alterados ou não rastreados, ou Claude Code não consegue inspecionar os submódulos da worktree. Esta verificação requer Claude Code v2.1.274 ou posterior.

148* Um dos [quatro casos que também bloqueiam a criação de worktree](#git-lfs-content-is-missing-from-a-worktree-claude-code-created) se aplica: Claude Code não pode determinar quais drivers de filtro a configuração do repositório define, ou encontra uma configuração lá que não pode desativar.148* Um dos [quatro casos que também bloqueiam a criação de worktree](#git-lfs-content-is-missing-from-a-worktree-claude-code-created) se aplica: Claude Code não pode determinar quais drivers de filtro a configuração do repositório define, ou encontra uma configuração lá que não pode desativar.

149* A worktree pertence a uma sessão `--worktree` que você não colocou em segundo plano, qualquer que seja sua idade.149* A worktree pertence a uma sessão `--worktree` que você não colocou em segundo plano, qualquer que seja sua idade.

150* Você criou a worktree você mesmo com `git worktree add`, mesmo que depois tenha executado uma sessão `--worktree <name>` nela e colocado essa sessão em segundo plano.150* Você criou a worktree você mesmo com `git worktree add`, mesmo que depois tenha executado uma sessão `--worktree <name>` nela e colocado essa sessão em segundo plano.