SpyBara
Go Premium

Documentation 2026-09-28 22:59 UTC to 2026-09-29 12:59 UTC

115 files changed +3,587 −2,054. View all changes and history on the product overview
2026
Tue 29 13:59 Mon 28 22:59 Fri 25 23:58 Thu 24 22:57 Wed 23 23:57 Tue 22 23:59 Mon 21 22:59 Sun 20 23:59 Sat 19 23:57 Fri 18 23:58 Tue 15 23:58 Mon 14 22:58 Sun 13 21:00 Sat 12 03:02 Thu 10 23:00 Wed 9 22:58 Tue 8 20:00 Tue 1 21:02
Details

111 Responda a menus e prompts111 Responda a menus e prompts

112</h2>112</h2>

113 113 

114No modo leitor de tela, menus que você normalmente navegaria com as teclas de seta, incluindo prompts de permissão, tornam-se listas numeradas. Claude Code anuncia cada opção como uma linha numerada, seguida por um prompt `Enter selection` que nomeia o intervalo válido. Digite o número da opção que deseja e pressione Enter.114No modo leitor de tela, menus que você normalmente navegaria com as teclas de seta, incluindo prompts de permissão, tornam-se listas numeradas. Claude Code anuncia cada opção como uma linha numerada, seguida por um prompt `Select with numbers` que nomeia o intervalo válido. Digite o número da opção que deseja e pressione Enter.

115 115 

116* Pressione Escape para cancelar um menu cujo prompt termina com `or Escape to cancel`.116* Pressione Escape para cancelar um menu cujo prompt termina com `or Escape to cancel`.

117* Se você digitar um número que não está na lista, Claude Code anuncia o intervalo válido e permite que você tente novamente.117* Se você digitar um número que não está na lista, Claude Code anuncia o intervalo válido e permite que você tente novamente.

admin-setup.md +2 −2

Details

97| :- | :- | :- |97| :- | :- | :- |

98| [Permission rules](/docs/pt/permissions) | Permitir, perguntar ou negar ferramentas e comandos específicos | `permissions.allow`, `permissions.deny` |98| [Permission rules](/docs/pt/permissions) | Permitir, perguntar ou negar ferramentas e comandos específicos | `permissions.allow`, `permissions.deny` |

99| [Permission lockdown](/docs/pt/permissions#managed-only-settings) | Tornar as configurações gerenciadas a [única fonte de configurações de regras de permissão](/docs/pt/settings-reference#allowmanagedpermissionrulesonly). Desabilitar `--dangerously-skip-permissions` | `allowManagedPermissionRulesOnly`, `permissions.disableBypassPermissionsMode` |99| [Permission lockdown](/docs/pt/permissions#managed-only-settings) | Tornar as configurações gerenciadas a [única fonte de configurações de regras de permissão](/docs/pt/settings-reference#allowmanagedpermissionrulesonly). Desabilitar `--dangerously-skip-permissions` | `allowManagedPermissionRulesOnly`, `permissions.disableBypassPermissionsMode` |

100| [Starting permission mode](/docs/pt/permission-modes#which-mode-a-session-starts-in) | Escolha o modo de permissão em que as sessões de terminal dos seus desenvolvedores começam em vez do modo de permissão inicial integrado, ou remova o modo automático. A extensão VS Code lê um `defaultMode` que você define apenas em planos Pro, Max e Team; [Switch permission modes](/docs/pt/permission-modes#switch-permission-modes) lista o que a extensão lê | `permissions.defaultMode`, `permissions.disableAutoMode` |100| [Starting permission mode](/docs/pt/permission-modes#which-mode-a-session-starts-in) | Escolha o modo de permissão em que as sessões de terminal dos seus desenvolvedores começam em vez do modo de permissão inicial integrado, ou remova o modo automático. [Switch permission modes](/docs/pt/permission-modes#switch-permission-modes) lista quando a extensão VS Code lê um `defaultMode` que você define | `permissions.defaultMode`, `permissions.disableAutoMode` |

101| [Sandboxing](/docs/pt/sandboxing) | Isolamento de sistema de arquivos e rede de nível do SO com listas de permissão de domínio | `sandbox.enabled`, `sandbox.network.allowedDomains` |101| [Sandboxing](/docs/pt/sandboxing) | Isolamento de sistema de arquivos e rede de nível do SO com listas de permissão de domínio | `sandbox.enabled`, `sandbox.network.allowedDomains` |

102| [Managed policy CLAUDE.md](/docs/pt/memory#deploy-organization-wide-claude-md) | Instruções em toda a organização carregadas em cada sessão, não podem ser excluídas | Arquivo no caminho da política gerenciada |102| [Managed policy CLAUDE.md](/docs/pt/memory#deploy-organization-wide-claude-md) | Instruções em toda a organização carregadas em cada sessão, não podem ser excluídas | Arquivo no caminho da política gerenciada |

103| [MCP server control](/docs/pt/managed-mcp) | Restringir quais servidores MCP os usuários podem adicionar ou conectar, implantar um conjunto fixo, ou fornecer servidores remotos para cada usuário ao lado dos seus próprios | `allowedMcpServers`, `deniedMcpServers`, `allowManagedMcpServersOnly`, `managedMcpServers`, ou um arquivo `managed-mcp.json` implantado |103| [MCP server control](/docs/pt/managed-mcp) | Restringir quais servidores MCP os usuários podem adicionar ou conectar, implantar um conjunto fixo, ou fornecer servidores remotos para cada usuário ao lado dos seus próprios | `allowedMcpServers`, `deniedMcpServers`, `allowManagedMcpServersOnly`, `managedMcpServers`, ou um arquivo `managed-mcp.json` implantado |


105| [Customization lockdown](/docs/pt/settings-reference#strictpluginonlycustomization) | Bloquear skills, agents, hooks e servidores MCP de fontes de usuário e projeto, para que possam vir apenas de plugins ou configurações gerenciadas. Bloquear skills também interrompe os [skills que seus desenvolvedores habilitam em claude.ai](/docs/pt/skills#where-synced-skills-load) de sincronização | `strictPluginOnlyCustomization` |105| [Customization lockdown](/docs/pt/settings-reference#strictpluginonlycustomization) | Bloquear skills, agents, hooks e servidores MCP de fontes de usuário e projeto, para que possam vir apenas de plugins ou configurações gerenciadas. Bloquear skills também interrompe os [skills que seus desenvolvedores habilitam em claude.ai](/docs/pt/skills#where-synced-skills-load) de sincronização | `strictPluginOnlyCustomization` |

106| [Disable claude.ai sync](/docs/pt/settings-reference#syncclaudeaiskills) | Impedir que Claude Code carregue os [skills](/docs/pt/skills#how-synced-skills-behave) e [plugins](/docs/pt/plugins/loading#synced-plugins) que seus desenvolvedores habilitam em claude.ai. Se você desativar Skills para sua organização em claude.ai, Claude Code interrompe a sincronização de ambos, e na v2.1.273 ou posterior também remove os que já sincronizou. Para interromper um sem desativar Skills, defina sua chave como `false` nas configurações gerenciadas | `syncClaudeAiSkills`, `syncClaudeAiPlugins` |106| [Disable claude.ai sync](/docs/pt/settings-reference#syncclaudeaiskills) | Impedir que Claude Code carregue os [skills](/docs/pt/skills#how-synced-skills-behave) e [plugins](/docs/pt/plugins/loading#synced-plugins) que seus desenvolvedores habilitam em claude.ai. Se você desativar Skills para sua organização em claude.ai, Claude Code interrompe a sincronização de ambos, e na v2.1.273 ou posterior também remove os que já sincronizou. Para interromper um sem desativar Skills, defina sua chave como `false` nas configurações gerenciadas | `syncClaudeAiSkills`, `syncClaudeAiPlugins` |

107| [Hook restrictions](/docs/pt/settings-reference#allowmanagedhooksonly) | Restringir quais hooks são executados e restringir URLs de hook HTTP; consulte [o que é executado em `allowManagedHooksOnly`](/docs/pt/settings-reference#what-runs-under-allowmanagedhooksonly) para a lista completa de efeitos | `allowManagedHooksOnly`, `allowedHttpHookUrls` |107| [Hook restrictions](/docs/pt/settings-reference#allowmanagedhooksonly) | Restringir quais hooks são executados e restringir URLs de hook HTTP; consulte [o que é executado em `allowManagedHooksOnly`](/docs/pt/settings-reference#what-runs-under-allowmanagedhooksonly) para a lista completa de efeitos | `allowManagedHooksOnly`, `allowedHttpHookUrls` |

108| [Login enforcement](/docs/pt/settings-reference#forceloginmethod) | Restringir login a um método específico ou organização Anthropic. A restrição de método se aplica na extensão VS Code, Agent SDK, `claude setup-token` e `/install-github-app`, e a tela de login interativa do terminal, acessada por `/login` ou onboarding de primeira execução, pré-seleciona o método sem aplicá-lo; Claude Code verifica a organização para logins de conta claude.ai no terminal, extensão VS Code e Agent SDK, e não verifica para logins do Claude Console ou para entrada de [gateway](/docs/pt/claude-apps-gateway). Antes da v2.1.212, apenas logins de terminal aplicavam qualquer chave. Quando definido, sessões autenticadas por `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, ou `apiKeyHelper` são bloqueadas na inicialização; sessões de provedor de nuvem não são afetadas | `forceLoginMethod`, `forceLoginOrgUUID` |108| [Login enforcement](/docs/pt/settings-reference#forceloginmethod) | Restringir login a um método específico ou organização Anthropic. A restrição de método se aplica na extensão VS Code, Agent SDK, `claude setup-token` e `/install-github-app`, e a tela de login interativa do terminal, acessada por `/login` ou onboarding de primeira execução, pré-seleciona o método sem aplicá-lo; Claude Code verifica a organização para logins de conta claude.ai no terminal, extensão VS Code e Agent SDK, e não verifica para logins do Claude Console ou para entrada de [gateway](/docs/pt/claude-apps-gateway). Antes da v2.1.212, apenas logins de terminal aplicavam qualquer chave. Quando definido, sessões autenticadas por `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, ou `apiKeyHelper` são bloqueadas na inicialização; sessões de provedor de nuvem não são afetadas a menos que uma dessas credenciais, ou uma chave de API salva por um login anterior do Claude Console, também esteja presente | `forceLoginMethod`, `forceLoginOrgUUID` |

109| [Disable agent view](/docs/pt/agent-view#how-background-sessions-are-hosted) | Desativar `claude agents`, `--bg`, `/background` e o supervisor sob demanda | `disableAgentView` |109| [Disable agent view](/docs/pt/agent-view#how-background-sessions-are-hosted) | Desativar `claude agents`, `--bg`, `/background` e o supervisor sob demanda | `disableAgentView` |

110| [Configure the corporate launcher](/docs/pt/corporate-launcher) | Prefixar o [supervisor de agente de fundo](/docs/pt/agent-view#how-background-sessions-are-hosted), seus workers e os [outros processos de fundo cobertos](/docs/pt/corporate-launcher#what-the-launcher-covers) com um launcher corporativo obrigatório em vez de desativar a visualização de agente | `processWrapper` |110| [Configure the corporate launcher](/docs/pt/corporate-launcher) | Prefixar o [supervisor de agente de fundo](/docs/pt/agent-view#how-background-sessions-are-hosted), seus workers e os [outros processos de fundo cobertos](/docs/pt/corporate-launcher#what-the-launcher-covers) com um launcher corporativo obrigatório em vez de desativar a visualização de agente | `processWrapper` |

111| [Model restrictions](/docs/pt/model-config#restrict-model-selection) | `availableModels` filtra quais modelos aparecem no seletor. Adicionar `enforceAvailableModels` também restringe o modelo padrão selecionado automaticamente. Consulte [surface coverage](/docs/pt/model-config#surface-coverage) para saber como essa configuração alcança a CLI, web e IDE | `availableModels`, `enforceAvailableModels` |111| [Model restrictions](/docs/pt/model-config#restrict-model-selection) | `availableModels` filtra quais modelos aparecem no seletor. Adicionar `enforceAvailableModels` também restringe o modelo padrão selecionado automaticamente. Consulte [surface coverage](/docs/pt/model-config#surface-coverage) para saber como essa configuração alcança a CLI, web e IDE | `availableModels`, `enforceAvailableModels` |

advisor.md +3 −2

Details

103| - | - | - |103| - | - | - |

104| Haiku 4.5 | Fable, Opus, Sonnet | Haiku pode chamar o advisor, mas não pode atuar como um |104| Haiku 4.5 | Fable, Opus, Sonnet | Haiku pode chamar o advisor, mas não pode atuar como um |

105| Sonnet 4.6 | Fable, Opus, Sonnet | |105| Sonnet 4.6 | Fable, Opus, Sonnet | |

106| Sonnet 5 | Fable, Opus 4.7 ou posterior, Sonnet 5 | Um advisor Sonnet 4.6 é rejeitado, e a API recusa um advisor Opus 4.6 |106| Sonnet 5.5 ou Sonnet 5 | Fable, Opus 4.7 ou posterior, Sonnet 5 ou posterior | Um advisor Sonnet 4.6 é rejeitado, e a API recusa um advisor Opus 4.6 |

107| Opus 4.6 | Fable, Opus, Sonnet 5 | Um advisor Sonnet 4.6 é rejeitado |107| Opus 4.6 | Fable, Opus, Sonnet 5 ou posterior | Um advisor Sonnet 4.6 é rejeitado |

108| Opus 4.7 ou Opus 4.8 | Fable, e Opus 4.7 ou posterior | Um advisor Opus 4.6 ou Sonnet é rejeitado |108| Opus 4.7 ou Opus 4.8 | Fable, e Opus 4.7 ou posterior | Um advisor Opus 4.6 ou Sonnet é rejeitado |

109| Opus 5.5 ou Opus 5 | Fable, e Opus 5 ou posterior | Um advisor Opus 4.6 ou Sonnet é rejeitado, e a API recusa um advisor Opus 4.7 ou Opus 4.8 |109| Opus 5.5 ou Opus 5 | Fable, e Opus 5 ou posterior | Um advisor Opus 4.6 ou Sonnet é rejeitado, e a API recusa um advisor Opus 4.7 ou Opus 4.8 |

110| Fable 5 | Fable 5.1 ou Fable 5 | Um advisor Opus ou Sonnet é rejeitado |110| Fable 5 | Fable 5.1 ou Fable 5 | Um advisor Opus ou Sonnet é rejeitado |


163 163 

164* **Reviewed**: a linha confirma que o advisor revisou a conversa. Quando o advisor retornou orientação legível, pressione `Ctrl+O` para lê-la.164* **Reviewed**: a linha confirma que o advisor revisou a conversa. Quando o advisor retornou orientação legível, pressione `Ctrl+O` para lê-la.

165* **Declined**: a linha lê `Advisor declined to advise on this request`. Se o advisor forneceu um motivo, pressione `Ctrl+O` para lê-lo.165* **Declined**: a linha lê `Advisor declined to advise on this request`. Se o advisor forneceu um motivo, pressione `Ctrl+O` para lê-lo.

166* **Unavailable**: a chamada do advisor falhou, e a linha lê `Advisor unavailable (<error_code>)`, onde `<error_code>` é o código que a chamada retornou.

166 167 

167Claude geralmente segue a orientação do advisor, mas se adapta quando sua própria evidência contradiz uma afirmação específica: se uma etapa recomendada falha quando tentada, ou o conteúdo do arquivo contradiz o conselho, Claude expõe o conflito em vez de seguir a orientação incondicionalmente.168Claude geralmente segue a orientação do advisor, mas se adapta quando sua própria evidência contradiz uma afirmação específica: se uma etapa recomendada falha quando tentada, ou o conteúdo do arquivo contradiz o conselho, Claude expõe o conflito em vez de seguir a orientação incondicionalmente.

168 169 

Details

129Veja a referência TypeScript [`tool()`](/docs/pt/agent-sdk/typescript#tool) ou a referência Python [`@tool`](/docs/pt/agent-sdk/python#tool) para detalhes completos dos parâmetros, incluindo formatos de entrada JSON Schema e estrutura de valor de retorno.129Veja a referência TypeScript [`tool()`](/docs/pt/agent-sdk/typescript#tool) ou a referência Python [`@tool`](/docs/pt/agent-sdk/python#tool) para detalhes completos dos parâmetros, incluindo formatos de entrada JSON Schema e estrutura de valor de retorno.

130 130 

131<Tip>131<Tip>

132 Para tornar um parâmetro opcional: em TypeScript, adicione `.default()` ao campo Zod. Em Python, o esquema de dicionário trata cada chave como obrigatória, então deixe o parâmetro fora do esquema, mencione-o na string de descrição e leia-o com `args.get()` no manipulador. A ferramenta [`get_precipitation_chance` abaixo](#add-more-tools) mostra ambos os padrões.132 Para tornar um parâmetro opcional: em TypeScript, adicione `.optional()` ao campo Zod e aplique o padrão no manipulador. Em Python, o esquema de dicionário trata cada chave como obrigatória, então deixe o parâmetro fora do esquema, mencione-o na string de descrição e leia-o com `args.get()` no manipulador. A ferramenta [`get_precipitation_chance` abaixo](#add-more-tools) mostra ambos os padrões.

133</Tip>133</Tip>

134 134 

135<h3 id="call-a-custom-tool">135<h3 id="call-a-custom-tool">


248 .int()248 .int()

249 .min(1)249 .min(1)

250 .max(24)250 .max(24)

251 .default(12) // .default() makes the parameter optional251 .optional() // .optional() lets Claude omit the parameter

252 .describe("How many hours of forecast to return")252 .describe("How many hours of forecast to return")

253 },253 },

254 async (args) => {254 async (args) => {

255 const hours = args.hours ?? 12; // Apply the default in the handler

255 const response = await fetch(256 const response = await fetch(

256 `https://api.open-meteo.com/v1/forecast?latitude=${args.latitude}&longitude=${args.longitude}&hourly=precipitation_probability&forecast_days=1`257 `https://api.open-meteo.com/v1/forecast?latitude=${args.latitude}&longitude=${args.longitude}&hourly=precipitation_probability&forecast_days=1`

257 );258 );

258 const data: any = await response.json();259 const data: any = await response.json();

259 const chances = data.hourly.precipitation_probability.slice(0, args.hours);260 const chances = data.hourly.precipitation_probability.slice(0, hours);

260 261 

261 return {262 return {

262 content: [{ type: "text", text: `Next ${args.hours} hours: ${chances.join("%, ")}%` }]263 content: [{ type: "text", text: `Next ${hours} hours: ${chances.join("%, ")}%` }]

263 };264 };

264 }265 }

265 );266 );


469 Imagens470 Imagens

470</h3>471</h3>

471 472 

472Um bloco de imagem carrega os bytes da imagem inline, codificados em base64. Não há campo de URL. Para retornar uma imagem que existe em uma URL, busque-a no manipulador, leia os bytes da resposta e codifique-os em base64 antes de retornar. O resultado é processado como entrada visual.473Um bloco de imagem carrega os bytes da imagem inline, codificados em base64. Não há campo de URL. Para retornar uma imagem que existe em uma URL, busque-a no manipulador, leia os bytes da resposta e codifique-os em base64 antes de retornar. Uma imagem PNG, JPEG, GIF ou WebP chega a Claude como entrada visual; uma imagem de qualquer outro tipo é salva em disco e Claude recebe seu caminho de arquivo como texto.

473 474 

474| Campo | Tipo | Notas |475| Campo | Tipo | Notas |

475| :- | :- | :- |476| :- | :- | :- |


538 Recursos539 Recursos

539</h3>540</h3>

540 541 

541Um bloco de recurso incorpora um pedaço de conteúdo identificado por uma URI. A URI é um rótulo para Claude referenciar; o conteúdo real fica no campo `text` ou `blob` do bloco. Use isso quando sua ferramenta produz algo que faz sentido ser endereçado por nome depois, como um arquivo gerado ou um registro de um sistema externo.542Um bloco de recurso incorpora um pedaço de conteúdo identificado por uma URI. O conteúdo real fica no campo `text` ou `blob` do bloco. Use isso quando sua ferramenta produz um arquivo gerado ou um registro de um sistema externo.

542 543 

543| Campo | Tipo | Notas |544| Campo | Tipo | Notas |

544| :- | :- | :- |545| :- | :- | :- |


548| `resource.blob` | `string` | O conteúdo codificado em base64, se for binário. Apenas TypeScript: o SDK do Python remove recursos binários do resultado da ferramenta e registra um aviso |549| `resource.blob` | `string` | O conteúdo codificado em base64, se for binário. Apenas TypeScript: o SDK do Python remove recursos binários do resultado da ferramenta e registra um aviso |

549| `resource.mimeType` | `string` | Opcional |550| `resource.mimeType` | `string` | Opcional |

550 551 

551Este exemplo mostra um bloco de recurso retornado de dentro de um manipulador de ferramenta. A URI `file:///tmp/report.md` é um rótulo que Claude pode referenciar depois; o SDK não lê desse caminho.552Este exemplo mostra um bloco de recurso retornado de dentro de um manipulador de ferramenta. O SDK não lê do URI do exemplo, `file:///tmp/report.md`.

552 553 

553<CodeGroup>554<CodeGroup>

554 ```typescript TypeScript theme={null}555 ```typescript TypeScript theme={null}


572 {573 {

573 "type": "resource",574 "type": "resource",

574 "resource": {575 "resource": {

575 "uri": "file:///tmp/report.md", # Label for Claude to reference, not a path the SDK reads576 "uri": "file:///tmp/report.md", # Not a path the SDK reads

576 "mimeType": "text/markdown",577 "mimeType": "text/markdown",

577 "text": "# Report\n...", # The actual content, inline578 "text": "# Report\n...", # The actual content, inline

578 },579 },

Details

6 6 

7> Encontre um projeto completo e executável do Agent SDK ou uma receita guiada no Claude Cookbook que corresponda ao que você deseja construir.7> Encontre um projeto completo e executável do Agent SDK ou uma receita guiada no Claude Cookbook que corresponda ao que você deseja construir.

8 8 

9Esta página o roteia para projetos completos e executáveis do Agent SDK e receitas guiadas do Claude Cookbook. As aplicações TypeScript vivem no repositório [`claude-agent-sdk-demos`](https://github.com/anthropics/claude-agent-sdk-demos), e as receitas Python vivem no [Claude Cookbook](https://platform.claude.com/cookbook).9Esta página o roteia para projetos completos e executáveis do Agent SDK e receitas guiadas do Claude Cookbook. As aplicações vivem no repositório [`claude-agent-sdk-demos`](https://github.com/anthropics/claude-agent-sdk-demos), e as receitas Python vivem no [Claude Cookbook](https://platform.claude.com/cookbook).

10 10 

11<h2 id="run-a-minimal-agent-first">11<h2 id="run-a-minimal-agent-first">

12 Execute um agente mínimo primeiro12 Execute um agente mínimo primeiro


18 18 

19* [Hello World](https://github.com/anthropics/claude-agent-sdk-demos/tree/main/hello-world): um projeto TypeScript mínimo para clonar quando você deseja começar a partir do código do repositório19* [Hello World](https://github.com/anthropics/claude-agent-sdk-demos/tree/main/hello-world): um projeto TypeScript mínimo para clonar quando você deseja começar a partir do código do repositório

20 20 

21<h2 id="explore-a-typescript-application">21<h2 id="explore-a-demo-application">

22 Explore uma aplicação TypeScript22 Explore uma aplicação de demonstração

23</h2>23</h2>

24 24 

25As aplicações TypeScript em [`claude-agent-sdk-demos`](https://github.com/anthropics/claude-agent-sdk-demos) são demos para desenvolvimento local, de um cliente de email a um sistema de pesquisa multi-agente. Clone a demo cuja forma corresponde ao que você está construindo.25As aplicações em [`claude-agent-sdk-demos`](https://github.com/anthropics/claude-agent-sdk-demos) são demos para desenvolvimento local, desde um cliente de email até um sistema de pesquisa multi-agente. Clone a demo cuja forma corresponde ao que você está construindo.

26 26 

27<h2 id="work-through-a-python-recipe">27<h2 id="work-through-a-python-recipe">

28 Trabalhe com uma receita Python28 Trabalhe com uma receita Python

Details

247 ```247 ```

248 </CodeGroup>248 </CodeGroup>

249 249 

250 Se você capturar o ID de sessão e o ID de checkpoint, você também pode reverter a partir da CLI. Este comando requer o executável `claude`, que vem de [instalar Claude Code](/docs/pt/setup) e não é instalado pelo pacote SDK. O SDK ativa checkpointing para você, mas quando você executa `claude -p` diretamente, você deve definir a variável de ambiente `CLAUDE_CODE_ENABLE_SDK_FILE_CHECKPOINTING`:250 Se você capturar o ID de sessão e o ID de checkpoint, você também pode reverter a partir da CLI. Este comando requer o executável `claude`, que vem de [instalar Claude Code](/docs/pt/setup). O SDK ativa checkpointing para você, mas quando você executa `claude -p` diretamente, você deve definir a variável de ambiente `CLAUDE_CODE_ENABLE_SDK_FILE_CHECKPOINTING`:

251 251 

252 ```bash theme={null}252 ```bash theme={null}

253 CLAUDE_CODE_ENABLE_SDK_FILE_CHECKPOINTING=true claude -p --resume <session-id> --rewind-files <checkpoint-uuid>253 CLAUDE_CODE_ENABLE_SDK_FILE_CHECKPOINTING=true claude -p --resume <session-id> --rewind-files <checkpoint-uuid>

Details

127 127 

128Os exemplos de carga de trabalho incluem um agente de email que triagem e responde a emails recebidos, um construtor de sites que hospeda um site editável por usuário através de portas de container, e um chatbot que lida com tráfego contínuo de uma plataforma como Slack.128Os exemplos de carga de trabalho incluem um agente de email que triagem e responde a emails recebidos, um construtor de sites que hospeda um site editável por usuário através de portas de container, e um chatbot que lida com tráfego contínuo de uma plataforma como Slack.

129 129 

130O container expõe um endpoint HTTP ou WebSocket e mapeia cada sessão ativa para uma query de longa duração e o subprocesso por trás dela. Em TypeScript, use [`streamInput()`](/docs/pt/agent-sdk/typescript#query-object) para adicionar turnos a uma sessão ativa e [`startup()`](/docs/pt/agent-sdk/typescript#startup) para pré-aquecer subprocessos antes do tráfego recebido. Em Python, use [`ClaudeSDKClient`](/docs/pt/agent-sdk/python#claudesdkclient) para manter uma sessão aberta entre turnos. Dimensione o container para que ele possa manter o número máximo de sessões simultâneas na memória.130O container expõe um endpoint HTTP ou WebSocket e mapeia cada sessão ativa para uma query de longa duração e o subprocesso por trás dela. As chamadas que mantêm as sessões abertas e aquecidas diferem entre os SDKs:

131 

132* **TypeScript**: use [`streamInput()`](/docs/pt/agent-sdk/typescript#query-object) para adicionar turnos a uma sessão ativa. Chame [`startup()`](/docs/pt/agent-sdk/typescript#startup) para pré-aquecer subprocessos antes do tráfego recebido. Se você não souber o diretório de trabalho de uma sessão até sua primeira solicitação chegar, pré-aqueça com [`prewarm()`](/docs/pt/agent-sdk/typescript#prewarm) em vez disso.

133* **Python**: use [`ClaudeSDKClient`](/docs/pt/agent-sdk/python#claudesdkclient) para manter uma sessão aberta entre turnos.

134 

135Dimensione o container para que ele possa manter o número máximo de sessões simultâneas na memória.

131 136 

132<h3 id="hybrid-sessions">137<h3 id="hybrid-sessions">

133 Sessões híbridas138 Sessões híbridas


314 319 

315* Passe `settingSources: []` em TypeScript ou `setting_sources=[]` em Python para pular configurações de usuário, projeto e local.320* Passe `settingSources: []` em TypeScript ou `setting_sources=[]` em Python para pular configurações de usuário, projeto e local.

316* Defina `CLAUDE_CODE_DISABLE_AUTO_MEMORY=1` em `env`. [Memória automática](/docs/pt/memory#auto-memory) em `~/.claude/projects/<project>/memory/` carrega no prompt do sistema independentemente de `settingSources`. Veja [O que settingSources não controla](/docs/pt/agent-sdk/claude-code-features#what-settingsources-does-not-control) para as outras entradas que carregam incondicionalmente.321* Defina `CLAUDE_CODE_DISABLE_AUTO_MEMORY=1` em `env`. [Memória automática](/docs/pt/memory#auto-memory) em `~/.claude/projects/<project>/memory/` carrega no prompt do sistema independentemente de `settingSources`. Veja [O que settingSources não controla](/docs/pt/agent-sdk/claude-code-features#what-settingsources-does-not-control) para as outras entradas que carregam incondicionalmente.

317* Aponte `CLAUDE_CONFIG_DIR` para um diretório por inquilino para que os inquilinos não compartilhem a configuração global `~/.claude.json`. Quando cada diretório de configuração serve um diretório de trabalho e você não compartilha um [`SessionStore`](/docs/pt/agent-sdk/session-storage) entre inquilinos, você também pode definir [`CLAUDE_CODE_PROJECT_DIR_NAME`](/docs/pt/sessions#name-the-project-directory-yourself) em `env` para manter os caminhos de transcrição sob ele curtos. Requer Agent SDK TypeScript v0.3.234 ou posterior, ou Agent SDK Python v0.2.140 ou posterior.322* Aponte `CLAUDE_CONFIG_DIR` para um diretório por inquilino para que os inquilinos não compartilhem a configuração global `~/.claude.json`. Quando cada diretório de configuração serve um diretório de trabalho e você não passa um [`SessionStore`](/docs/pt/agent-sdk/session-storage), você também pode definir [`CLAUDE_CODE_PROJECT_DIR_NAME`](/docs/pt/sessions#name-the-project-directory-yourself) em `env` para manter os caminhos de transcrição sob ele curtos. Requer Agent SDK TypeScript v0.3.234 ou posterior, ou Agent SDK Python v0.2.140 ou posterior.

318* Use um diretório de trabalho por inquilino. Passe `cwd` explicitamente em cada chamada `query()`.323* Use um diretório de trabalho por inquilino. Passe `cwd` explicitamente em cada chamada `query()`.

319* Aplique regras de saída por inquilino em seu proxy, como IPs de saída distintos, credenciais ou listas de permissão de domínio, para que um inquilino comprometido não possa exfiltrar dados através da política de saída de outro inquilino.324* Aplique regras de saída por inquilino em seu proxy, como IPs de saída distintos, credenciais ou listas de permissão de domínio, para que um inquilino comprometido não possa exfiltrar dados através da política de saída de outro inquilino.

320 325 

Details

162| :- | :- | :- |162| :- | :- | :- |

163| Servidor stdio, ou servidor HTTP/SSE sem uma lista de ferramentas em cache | Sim, até que se conecte | [`MCP_TIMEOUT`](/docs/pt/env-vars), 30 segundos por padrão; a conexão falha nesse prazo |163| Servidor stdio, ou servidor HTTP/SSE sem uma lista de ferramentas em cache | Sim, até que se conecte | [`MCP_TIMEOUT`](/docs/pt/env-vars), 30 segundos por padrão; a conexão falha nesse prazo |

164| Servidor remoto com uma lista de ferramentas em cache, salva por Claude Code de uma conexão anterior | Não; as ferramentas em cache estão disponíveis desde a primeira volta | Nenhum; conecta na sua primeira chamada de ferramenta, e essa conexão adiada tem seu próprio tempo limite |164| Servidor remoto com uma lista de ferramentas em cache, salva por Claude Code de uma conexão anterior | Não; as ferramentas em cache estão disponíveis desde a primeira volta | Nenhum; conecta na sua primeira chamada de ferramenta, e essa conexão adiada tem seu próprio tempo limite |

165| Servidor [SDK](#sdk-mcp-servers) em processo | Sim, até que se conecte e liste suas ferramentas | Nenhum; as solicitações de conexão e listagem de ferramentas têm seus próprios tempos limite |165| Servidor [SDK](#sdk-mcp-servers) em processo | Sim, até que se conecte e liste suas ferramentas | [`MCP_TIMEOUT`](/docs/pt/env-vars), 30 segundos por padrão, por tentativa de conexão; a conexão falha nesse prazo |

166 166 

167Servidores carregados de [arquivos de configuração](#from-a-config-file) como `.mcp.json` ou de plugins geralmente mostram `pending` na mensagem init. Quando `options.mcpServers` contém um servidor stdio, HTTP ou SSE, a primeira volta aguarda esses servidores pendentes também, até `MCP_TIMEOUT`. Quando `options.mcpServers` está vazio ou contém apenas servidores SDK, a primeira volta aguarda até 2 segundos em vez disso:167Servidores carregados de [arquivos de configuração](#from-a-config-file) como `.mcp.json` ou de plugins geralmente mostram `pending` na mensagem init. Quando `options.mcpServers` contém um servidor stdio, HTTP ou SSE, a primeira volta aguarda esses servidores pendentes também, até `MCP_TIMEOUT`. Quando `options.mcpServers` está vazio ou contém apenas servidores SDK, a primeira volta aguarda até 2 segundos em vez disso:

168 168 

Details

14 14 

15Um prompt do sistema é o conjunto inicial de instruções que molda como o Claude se comporta ao longo de uma conversa. O Agent SDK tem três pontos de partida para isso:15Um prompt do sistema é o conjunto inicial de instruções que molda como o Claude se comporta ao longo de uma conversa. O Agent SDK tem três pontos de partida para isso:

16 16 

17* **Padrão mínimo**: quando você não define `systemPrompt` em TypeScript ou `system_prompt` em Python, o SDK usa um prompt mínimo que cobre chamadas de ferramentas, mas omite o resto do conteúdo do preset `claude_code`, incluindo suas instruções de segurança e proteção e seu contexto sobre o diretório de trabalho e ambiente. Isso difere de `claude -p`, que usa o prompt do sistema Claude Code por padrão. Se você está migrando da CLI e quer um comportamento correspondente, defina o preset `claude_code`.17* **Padrão mínimo**: quando você não define `systemPrompt` em TypeScript ou `system_prompt` em Python, o SDK usa um prompt mínimo que cobre chamadas de ferramentas, mas omite o resto do conteúdo do preset `claude_code`, incluindo suas instruções de segurança e proteção. Isso difere de `claude -p`, que usa o prompt do sistema Claude Code por padrão. Se você está migrando da CLI e quer um comportamento correspondente, defina o preset `claude_code`.

18* **Preset `claude_code`**: o prompt do sistema que a CLI do Claude Code usa, com instruções de uso de ferramentas, instruções de segurança e proteção, e contexto sobre o diretório de trabalho e ambiente. Defina `systemPrompt: { type: "preset", preset: "claude_code" }` em TypeScript ou `system_prompt={"type": "preset", "preset": "claude_code"}` em Python, opcionalmente com `append` para adicionar suas próprias instruções no final.18* **Preset `claude_code`**: o prompt do sistema que a CLI do Claude Code usa, com instruções de uso de ferramentas e instruções de segurança e proteção. Defina `systemPrompt: { type: "preset", preset: "claude_code" }` em TypeScript ou `system_prompt={"type": "preset", "preset": "claude_code"}` em Python, opcionalmente com `append` para adicionar suas próprias instruções no final.

19* **String personalizada**: um prompt que você escreve por conta própria. O SDK envia apenas o que você fornece.19* **String personalizada**: um prompt que você escreve por conta própria. O SDK envia apenas o que você fornece.

20 20 

21<h3 id="decide-on-a-starting-point">21<h3 id="decide-on-a-starting-point">


26 26 

27| Você está construindo | Use | O que você obtém |27| Você está construindo | Use | O que você obtém |

28| :- | :- | :- |28| :- | :- | :- |

29| Uma ferramenta de codificação tipo CLI ou IDE onde um humano observa e direciona, e os padrões do Claude Code são o que você quer | Preset `claude_code` | O prompt do Claude Code, incluindo orientação de ferramentas, regras de segurança e contexto de ambiente |29| Uma ferramenta de codificação tipo CLI ou IDE onde um humano observa e direciona, e os padrões do Claude Code são o que você quer | Preset `claude_code` | O prompt do Claude Code, incluindo orientação de ferramentas e regras de segurança |

30| O mesmo tipo de ferramenta, mais regras específicas do produto como padrões de codificação, formato de saída ou contexto de domínio | Preset `claude_code` com `append` | Tudo acima, com suas instruções adicionadas após o preset. Nada é removido, então essa é a customização de menor risco |30| O mesmo tipo de ferramenta, mais regras específicas do produto como padrões de codificação, formato de saída ou contexto de domínio | Preset `claude_code` com `append` | Tudo acima, com suas instruções adicionadas após o preset. Nada é removido, então essa é a customização de menor risco |

31| Um agente com uma superfície, identidade ou modelo de permissão diferente, ou um agente não-codificação | String de prompt personalizado | Apenas o que você escreve. Você assume a responsabilidade de substituir a orientação de ferramentas e instruções de segurança que seu agente ainda precisa |31| Um agente com uma superfície, identidade ou modelo de permissão diferente, ou um agente não-codificação | String de prompt personalizado | Apenas o que você escreve. Você assume a responsabilidade de substituir a orientação de ferramentas e instruções de segurança que seu agente ainda precisa |

32| Um loop de chamada de ferramentas fino sem persona de agente, onde você fornece todo o comportamento no prompt do usuário | Nenhuma opção `systemPrompt` | O padrão mínimo: suporte a chamadas de ferramentas e nada mais |32| Um loop de chamada de ferramentas fino sem persona de agente, onde você fornece todo o comportamento no prompt do usuário | Nenhuma opção `systemPrompt` | O padrão mínimo: suporte a chamadas de ferramentas e nada mais |


225 Melhorar o cache de prompt entre usuários e máquinas225 Melhorar o cache de prompt entre usuários e máquinas

226</h4>226</h4>

227 227 

228Por padrão, duas sessões que usam a mesma predefinição `claude_code` e texto `append` ainda não podem compartilhar uma entrada de cache de prompt se forem executadas de diretórios de trabalho diferentes. Isso ocorre porque a predefinição incorpora contexto por sessão no prompt do sistema antes do seu texto `append`: o diretório de trabalho, se é um repositório git, a plataforma, o shell ativo, a versão do SO, e caminhos de auto-memória. Qualquer diferença nesse contexto produz um prompt do sistema diferente e uma falha de cache. O conteúdo de CLAUDE.md não afeta o cache do prompt do sistema porque o SDK o injeta na conversa, não no prompt do sistema.228Por padrão, duas sessões que usam a mesma predefinição `claude_code` e texto `append` ainda não podem compartilhar uma entrada de cache de prompt quando suas localizações de memória automática diferem. A predefinição incorpora essa localização no prompt do sistema antes do seu texto `append`. A localização padrão é um caminho absoluto sob `~/.claude/projects/` nomeado para o caminho do repositório no disco, então difere entre usuários, máquinas e checkouts.

229 229 

230Para tornar o prompt do sistema idêntico em sessões, defina `excludeDynamicSections: true` em TypeScript ou `"exclude_dynamic_sections": True` em Python. O contexto por sessão se move para a primeira mensagem do usuário, deixando apenas a predefinição estática e seu texto `append` no prompt do sistema para que configurações idênticas compartilhem uma entrada de cache em usuários e máquinas.230O conteúdo de CLAUDE.md e detalhes de ambiente como o diretório de trabalho, plataforma, shell e versão do SO não afetam o cache do prompt do sistema, porque Claude Code os entrega na conversa, não no prompt do sistema.

231 

232Para tornar o prompt do sistema idêntico em sessões, defina `excludeDynamicSections: true` em TypeScript ou `"exclude_dynamic_sections": True` em Python. O contexto por usuário se move para a primeira mensagem do usuário, deixando apenas a predefinição estática e seu texto `append` no prompt do sistema para que configurações idênticas compartilhem uma entrada de cache em usuários e máquinas.

231 233 

232<Note>234<Note>

233 `excludeDynamicSections` requer `@anthropic-ai/claude-agent-sdk` v0.2.98 ou posterior, ou `claude-agent-sdk` v0.1.58 ou posterior para Python. Defina-o apenas no formulário de objeto predefinido. O SDK o ignora quando você passa um prompt personalizado em vez da predefinição; para manter as instruções de um prompt personalizado em cache no SDK TypeScript, veja [Cache the static part of a custom prompt](#cache-the-static-part-of-a-custom-prompt).235 `excludeDynamicSections` requer `@anthropic-ai/claude-agent-sdk` v0.2.98 ou posterior, ou `claude-agent-sdk` v0.1.58 ou posterior para Python. Defina-o apenas no formulário de objeto predefinido. O SDK o ignora quando você passa um prompt personalizado em vez da predefinição; para manter as instruções de um prompt personalizado em cache no SDK TypeScript, veja [Cache the static part of a custom prompt](#cache-the-static-part-of-a-custom-prompt).

234</Note>236</Note>

235 237 

236O exemplo a seguir emparelha um bloco `append` compartilhado com `excludeDynamicSections` para que uma frota de agentes executados de diretórios diferentes possa reutilizar o mesmo prompt do sistema em cache:238O exemplo a seguir emparelha um bloco `append` compartilhado com `excludeDynamicSections` para que uma frota de agentes possa reutilizar o mesmo prompt do sistema em cache:

237 239 

238<CodeGroup>240<CodeGroup>

239 ```typescript TypeScript theme={null}241 ```typescript TypeScript theme={null}


279 ```281 ```

280</CodeGroup>282</CodeGroup>

281 283 

282**Tradeoffs:** o diretório de trabalho, a flag de repositório git, a plataforma, o shell ativo, a versão do SO, e caminhos de auto-memória ainda chegam ao Claude, mas como parte da primeira mensagem do usuário em vez do prompt do sistema. Instruções na mensagem do usuário têm peso marginalmente menor do que o mesmo texto no prompt do sistema, então Claude pode depender delas menos fortemente ao raciocinar sobre o diretório atual ou caminhos de auto-memória. Ative esta opção quando a reutilização de cache entre sessões for mais importante do que contexto de ambiente maximamente autoritário.284**Tradeoffs:** o texto que sai do prompt do sistema ainda chega ao Claude, mas em uma mensagem do usuário. Esse texto é pelo menos a localização do diretório de memória automática, e frequentemente toda a seção de memória automática. Instruções em uma mensagem do usuário têm peso marginalmente menor do que o mesmo texto no prompt do sistema, então Claude pode seguir sua orientação de memória automática menos consistentemente. Ative esta opção quando a reutilização de cache entre sessões for mais importante do que isso.

283 285 

284Para a flag equivalente no modo CLI não interativo, veja [`--exclude-dynamic-system-prompt-sections`](/docs/pt/cli-reference).286Para a flag equivalente no modo CLI não interativo, veja [`--exclude-dynamic-system-prompt-sections`](/docs/pt/cli-reference).

285 287 


418 420 

419Registrar um `append` ou prompt personalizado por padrão requer Claude Code v2.1.265 ou posterior, que o TypeScript Agent SDK agrupa a partir de v0.3.265 e o Python Agent SDK a partir de v0.2.153. Antes de Claude Code v2.1.268, sessões que não [buscam feature flags](/docs/pt/env-vars#features-that-need-feature-flag-fetching), incluindo sessões em Amazon Bedrock, Google Cloud's Agent Platform, e Microsoft Foundry, reconstruíram o prompt em cada solicitação e `snapshot` não tinha efeito.421Registrar um `append` ou prompt personalizado por padrão requer Claude Code v2.1.265 ou posterior, que o TypeScript Agent SDK agrupa a partir de v0.3.265 e o Python Agent SDK a partir de v0.2.153. Antes de Claude Code v2.1.268, sessões que não [buscam feature flags](/docs/pt/env-vars#features-that-need-feature-flag-fetching), incluindo sessões em Amazon Bedrock, Google Cloud's Agent Platform, e Microsoft Foundry, reconstruíram o prompt em cada solicitação e `snapshot` não tinha efeito.

420 422 

423<h2 id="context-claude-code-adds-outside-the-system-prompt">

424 Contexto que Claude Code adiciona fora do prompt do sistema

425</h2>

426 

427Lembretes do sistema são mensagens que Claude Code adiciona à conversa durante uma sessão para dar contexto ao Claude, como o conteúdo de seus arquivos CLAUDE.md ou uma nota de que um arquivo foi alterado no disco. Claude Code os envia na conversa, não no prompt do sistema, então eles chegam ao Claude independentemente de você usar a predefinição `claude_code` ou passar sua própria string como `systemPrompt`.

428 

429Esta seção aborda os [lembretes mais prováveis de mudar como seu agente se comporta](#reminders-claude-code-adds-to-the-conversation), como [desativar os que seu agente substitui](#turn-off-the-context-your-agent-replaces), e como [ver o que Claude recebeu](#see-what-claude-received) em uma solicitação específica.

430 

431<h3 id="reminders-claude-code-adds-to-the-conversation">

432 Lembretes que Claude Code adiciona à conversa

433</h3>

434 

435Lembretes do sistema são textos que Claude Code adiciona à conversa junto com os prompts que seu código envia. Os seguintes lembretes são os mais prováveis de mudar como seu agente se comporta:

436 

437* **Instruções do projeto**: os arquivos CLAUDE.md que sua opção [`settingSources`](#claude-md-files-for-project-level-instructions) carrega

438* **Instruções de estilo de saída**: as instruções do [estilo de saída](#output-styles-for-persistent-configurations) ativo, na conversa principal

439* **Atribuição de commit e pull request**: o trailer `Co-Authored-By` e o rodapé de pull request da configuração [`attribution`](/docs/pt/settings-reference#attribution)

440* **Saída de hook**: texto que seus [hooks](/docs/pt/agent-sdk/hooks#outputs) retornam como `additionalContext`

441* **Skills disponíveis**: os nomes e descrições das [skills](/docs/pt/agent-sdk/skills) que Claude pode chamar

442* **Subagentes disponíveis**: os nomes e descrições dos [subagentes](/docs/pt/agent-sdk/subagents) que Claude pode iniciar

443* **Lembretes de lista de tarefas**: em uma [sessão que tem as ferramentas de rastreamento de tarefas](/docs/pt/agent-sdk/todo-tracking#model-availability), um prompt para atualizar a lista de tarefas quando Claude não a tocou por vários turnos

444* **Notas de arquivo alterado**: uma nota de que um arquivo que Claude leu anteriormente foi alterado no disco

445 

446Claude Code apresenta seus arquivos CLAUDE.md com uma linha dizendo ao Claude que as instruções substituem o comportamento padrão.

447 

448Se você passar sua própria string como `systemPrompt`, adicione uma frase a ela que diga o que é um lembrete do sistema. A predefinição `claude_code` tem uma, e sua string substitui toda a predefinição. Sem ela, nada em seu prompt diz ao Claude que lembretes como conteúdo CLAUDE.md e saída de hook vêm da aplicação em vez de mensagens do usuário. Por exemplo:

449 

450```text theme={null}

451The application adds system reminders to this conversation. Treat them as context from the application, not as messages from the user.

452```

453 

454<h3 id="turn-off-the-context-your-agent-replaces">

455 Desativar o contexto que seu agente substitui

456</h3>

457 

458Desative um pedaço de contexto integrado quando seu agente fornece sua própria versão da mesma orientação. Por exemplo, se seu prompt diz ao Claude para escrever mensagens de commit como `PROJ-142: fix login redirect` sem trailers, Claude Code ainda diz ao Claude para terminar cada mensagem de commit com um trailer `Co-Authored-By`, então Claude recebe duas instruções conflitantes para o mesmo commit.

459 

460Passe chaves de configurações através da opção [`settings`](/docs/pt/agent-sdk/typescript#options) em TypeScript ou [`settings`](/docs/pt/agent-sdk/python#claudeagentoptions) em Python, e variáveis de ambiente através da opção `env`. Em TypeScript, [`env`](/docs/pt/agent-sdk/typescript#options) substitui o ambiente herdado, então espalhe `process.env` nele.

461 

462| Contexto integrado | Como desativar |

463| :- | :- |

464| As instruções integradas de commit e pull request e o snapshot de status git | Defina [`includeGitInstructions`](/docs/pt/settings-reference#includegitinstructions) como `false`, ou `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS=1` |

465| O trailer `Co-Authored-By` e o rodapé de pull request | Defina [`attribution.commit`](/docs/pt/settings-reference#attribution-commit) e [`attribution.pr`](/docs/pt/settings-reference#attribution-pr) como seu próprio texto, ou como strings vazias para removê-los |

466| A fonte de configurações do usuário ou projeto, incluindo seu CLAUDE.md | Deixe `'user'` ou `'project'` fora de [`settingSources`](/docs/pt/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources) |

467| Cada arquivo CLAUDE.md | Defina `CLAUDE_CODE_DISABLE_CLAUDE_MDS=1` |

468| Lembretes de lista de tarefas, notas de arquivo alterado e a lista de skills | Defina `CLAUDE_CODE_DISABLE_ATTACHMENTS=1` |

469 

470As instruções integradas de commit e pull request do Claude Code não são um lembrete. Elas fazem parte da descrição da ferramenta Bash, então também chegam ao Claude quando você passa um `systemPrompt` personalizado.

471 

472Se você definir `CLAUDE_CODE_DISABLE_ATTACHMENTS`, Claude Code também envia menções de arquivo `@` como texto simples em vez de expandi-las no conteúdo do arquivo. A lista de subagentes disponíveis e notificações de tarefas em segundo plano ainda chegam.

473 

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

475 

476<CodeGroup>

477 ```typescript TypeScript theme={null}

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

479 

480 for await (const message of query({

481 prompt: "Commit the staged changes for ticket PROJ-142",

482 options: {

483 systemPrompt: {

484 type: "preset",

485 preset: "claude_code",

486 append: "Write commit messages as: <ticket id>: <summary>. Add no trailers."

487 },

488 settings: {

489 includeGitInstructions: false,

490 attribution: { commit: "", pr: "" }

491 },

492 allowedTools: ["Bash(git *)"]

493 }

494 })) {

495 if (message.type === "result") console.log(message.subtype);

496 }

497 ```

498 

499 ```python Python theme={null}

500 import asyncio

501 from claude_agent_sdk import query, ClaudeAgentOptions

502 

503 

504 async def main():

505 async for message in query(

506 prompt="Commit the staged changes for ticket PROJ-142",

507 options=ClaudeAgentOptions(

508 system_prompt={

509 "type": "preset",

510 "preset": "claude_code",

511 "append": "Write commit messages as: <ticket id>: <summary>. Add no trailers.",

512 },

513 settings='{"includeGitInstructions": false, "attribution": {"commit": "", "pr": ""}}',

514 allowed_tools=["Bash(git *)"],

515 ),

516 ):

517 print(message)

518 

519 

520 asyncio.run(main())

521 ```

522</CodeGroup>

523 

524Para confirmar a alteração, execute o exemplo em um repositório com alterações preparadas e verifique o novo commit com `git log -1`. A mensagem termina sem um trailer `Co-Authored-By`.

525 

526<h3 id="see-what-claude-received">

527 Ver o que Claude recebeu

528</h3>

529 

530O fluxo de mensagens do SDK não inclui lembretes do sistema, então ler as mensagens que seu código recebe não mostrará o que Claude viu. Para vê-los, registre as solicitações que Claude Code envia:

531 

532* **Registro de solicitação bruta**: defina [`OTEL_LOG_RAW_API_BODIES`](/docs/pt/monitoring-usage#api-request-body-event) como `file:<dir>`. Claude Code escreve cada corpo de solicitação nesse diretório.

533* **Um gateway que você controla**: aponte [`ANTHROPIC_BASE_URL`](/docs/pt/llm-gateway) para um proxy que registra corpos de solicitação.

534 

535Em uma solicitação registrada, procure no array `messages`. Um lembrete aparece dentro de uma mensagem do usuário envolvida em tags `<system-reminder>` ou, em alguns modelos, como uma mensagem separada com a função `system`.

536 

421<h2 id="compare-the-four-approaches">537<h2 id="compare-the-four-approaches">

422 Comparação das quatro abordagens538 Comparação das quatro abordagens

423</h2>539</h2>


431| **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 |

432| **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) |

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

434| **Contexto de ambiente** | Automático | Automático | Automático | Deve ser fornecido |

435| **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 | Substituir ou estender padrão | Apenas adições | Controle completo |

436| **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 |

437| **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 |

Details

253| Variable | Adiciona |253| Variable | Adiciona |

254| - | - |254| - | - |

255| `OTEL_LOG_USER_PROMPTS=1` | Texto de prompt em eventos `claude_code.user_prompt` e no span `claude_code.interaction` |255| `OTEL_LOG_USER_PROMPTS=1` | Texto de prompt em eventos `claude_code.user_prompt` e no span `claude_code.interaction` |

256| `OTEL_LOG_TOOL_DETAILS=1` | Argumentos de entrada de ferramenta (caminhos de arquivo, comandos de shell, padrões de pesquisa) em eventos `claude_code.tool_result` |256| `OTEL_LOG_TOOL_DETAILS=1` | Argumentos de entrada de ferramenta, como caminhos de arquivo, comandos de shell e padrões de pesquisa em eventos `claude_code.tool_result`, e nomes reais de agente, skill, plugin e servidor MCP nas [métricas de custo e token](/docs/pt/monitoring-usage#cost-counter) |

257| `OTEL_LOG_TOOL_CONTENT=1` | Um evento de span [`tool.output`](/docs/pt/monitoring-usage#tool-output-span-event) em `claude_code.tool` com conteúdos de arquivo e saída de Bash, truncado em 60 KB por padrão, configurável via `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`, que requer Claude Code v2.1.214 ou posterior. Requer que [rastreamento](#read-agent-traces) esteja ativado. Os atributos de span carregam conteúdo de ferramenta sob [seus próprios gates](/docs/pt/monitoring-usage#new-context-gates) |257| `OTEL_LOG_TOOL_CONTENT=1` | Um evento de span [`tool.output`](/docs/pt/monitoring-usage#tool-output-span-event) em `claude_code.tool` com conteúdos de arquivo, saída de Bash e o que ferramentas MCP, WebFetch e WebSearch retornam, truncado em 60 KB por padrão, configurável via `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`, que requer Claude Code v2.1.214 ou posterior. Resultados de ferramentas MCP, WebFetch e WebSearch requerem Claude Code v2.1.283 ou posterior. Requer que [rastreamento](#read-agent-traces) esteja ativado. Os atributos de span carregam conteúdo de ferramenta sob [seus próprios gates](/docs/pt/monitoring-usage#new-context-gates) |

258| `OTEL_LOG_RAW_API_BODIES` | JSON completo de solicitação e resposta da API Anthropic Messages como eventos de log `claude_code.api_request_body` e `claude_code.api_response_body`. Defina como `1` para corpos inline truncados em 60 KB por padrão, ou `file:<dir>` para corpos não truncados em disco com um caminho `body_ref` no evento. `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` configura o limite de truncamento inline, e requer Claude Code v2.1.214 ou posterior. Os corpos incluem todo o histórico de conversa e têm conteúdo de pensamento estendido redatado. Ativar isso implica consentimento para tudo que as três variáveis acima revelariam |258| `OTEL_LOG_RAW_API_BODIES` | JSON completo de solicitação e resposta da API Anthropic Messages como eventos de log `claude_code.api_request_body` e `claude_code.api_response_body`. Defina como `1` para corpos inline truncados em 60 KB por padrão, ou `file:<dir>` para corpos não truncados em disco com um caminho `body_ref` no evento. `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` configura o limite de truncamento inline, e requer Claude Code v2.1.214 ou posterior. Os corpos incluem todo o histórico de conversa e têm conteúdo de pensamento estendido redatado. Ativar isso implica consentimento para tudo que as três variáveis acima revelariam |

259 259 

260Deixe essas não definidas a menos que seu pipeline de observabilidade seja aprovado para armazenar os dados que seu agente manipula. Consulte [Segurança e privacidade](/docs/pt/monitoring-usage#security-and-privacy) na referência de Monitoring para a lista completa de atributos e comportamento de redação.260Deixe essas não definidas a menos que seu pipeline de observabilidade seja aprovado para armazenar os dados que seu agente manipula. Consulte [Segurança e privacidade](/docs/pt/monitoring-usage#security-and-privacy) na referência de Monitoring para a lista completa de atributos e comportamento de redação.

Details

41 </Step>41 </Step>

42 42 

43 <Step title="Regras de permissão">43 <Step title="Regras de permissão">

44 Verifique as regras `allow` (de `allowed_tools` e settings.json). Se uma regra corresponder, a ferramenta é aprovada. Uma chamada que a ferramenta aprova por conta própria é resolvida nesta etapa também, sem necessidade de regra: por exemplo uma leitura de arquivo dentro de seus diretórios de trabalho ou um [comando Bash somente leitura](/docs/pt/permissions#read-only-commands). Remoções `rm` e `rmdir` direcionadas a um [caminho crítico](/docs/pt/permission-modes#critical-paths) nunca são aprovadas por uma regra de permissão: elas chegam ao seu callback nos modos que solicitam, vão para o [classificador](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) no modo `auto` no Claude Code v2.1.218 ou posterior, e são negadas no modo `dontAsk`.44 Verifique as regras `allow` (de `allowed_tools` e settings.json). Se uma regra corresponder, a ferramenta é aprovada. Uma chamada que a ferramenta aprova por conta própria é resolvida nesta etapa também, sem necessidade de regra: por exemplo uma leitura de arquivo dentro de seus diretórios de trabalho ou um [comando Bash somente leitura](/docs/pt/permissions#read-only-commands).

45 

46 Remoções `rm` e `rmdir` direcionadas a um [caminho crítico](/docs/pt/permission-modes#critical-paths) nunca são aprovadas por uma regra de permissão. Se elas então chegarem ao seu callback depende do modo de permissão: em uma sessão do Agent SDK no modo `auto`, por exemplo, Claude Code as nega por padrão sem chamá-lo. A tabela [Caminhos críticos](/docs/pt/permission-modes#critical-paths) do modo lista o que cada modo faz com elas.

45 </Step>47 </Step>

46 48 

47 <Step title="Callback canUseTool">49 <Step title="Callback canUseTool">


89Use `//path` para um caminho absoluto do sistema de arquivos: uma regra de negação de `Edit(//secrets/**)` bloqueia escritas em qualquer lugar sob `/secrets` no disco. Com uma única barra inicial, `Edit(/secrets/**)` ancora na fonte da regra. Para regras passadas através de `allowed_tools` ou `disallowed_tools`, isso significa o diretório de trabalho da sessão, portanto a regra não bloqueia `/secrets` no disco. Veja [Regras Read e Edit](/docs/pt/permissions#read-and-edit) para as quatro formas de âncora e como as regras dos arquivos de configuração são resolvidas.91Use `//path` para um caminho absoluto do sistema de arquivos: uma regra de negação de `Edit(//secrets/**)` bloqueia escritas em qualquer lugar sob `/secrets` no disco. Com uma única barra inicial, `Edit(/secrets/**)` ancora na fonte da regra. Para regras passadas através de `allowed_tools` ou `disallowed_tools`, isso significa o diretório de trabalho da sessão, portanto a regra não bloqueia `/secrets` no disco. Veja [Regras Read e Edit](/docs/pt/permissions#read-and-edit) para as quatro formas de âncora e como as regras dos arquivos de configuração são resolvidas.

90 92 

91<Warning>93<Warning>

92 **Ferramentas aprovadas automaticamente nunca chegam a `canUseTool`.** Uma chamada de ferramenta aprovada em qualquer etapa anterior, por `acceptEdits` ou `bypassPermissions`, ou por uma regra de permissão, ignora seu callback `canUseTool`, portanto as verificações de permissão que você coloca lá são silenciosamente ignoradas para essa ferramenta. `AskUserQuestion`, ferramentas MCP marcadas [`_meta["anthropic/requiresUserInteraction"]`](/docs/pt/mcp#require-approval-for-a-specific-tool), ferramentas de conector [que sua organização definiu como `ask`](/docs/pt/mcp#organization-controls-on-connector-tools), e remoções `rm` e `rmdir` direcionadas a um [caminho crítico](/docs/pt/permission-modes#critical-paths) ainda chegam ao callback, mesmo quando uma regra de permissão corresponde. No modo `auto`, as remoções de caminho crítico vão para o [classificador](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) em vez do callback, enquanto as outras chamadas listadas aqui ainda chegam a ele; o roteamento do classificador requer Claude Code v2.1.218 ou posterior. No modo `dontAsk` essas chamadas são negadas, sem invocar o callback.94 **Ferramentas aprovadas automaticamente nunca chegam a `canUseTool`.** Uma chamada de ferramenta aprovada em qualquer etapa anterior, por `acceptEdits` ou `bypassPermissions`, ou por uma regra de permissão, ignora seu callback `canUseTool`, portanto as verificações de permissão que você coloca lá são silenciosamente ignoradas para essa ferramenta.

95 

96 Uma regra de permissão nunca aprova automaticamente `AskUserQuestion`, ferramentas MCP marcadas [`_meta["anthropic/requiresUserInteraction"]`](/docs/pt/mcp#require-approval-for-a-specific-tool), ferramentas de conector [que sua organização definiu como `ask`](/docs/pt/mcp#organization-controls-on-connector-tools), ou remoções `rm` e `rmdir` direcionadas a um [caminho crítico](/docs/pt/permission-modes#critical-paths). No modo `dontAsk` Claude Code nega essas chamadas sem invocar o callback. Em outros modos os três primeiros chegam ao callback. Dependendo do [modo de permissão](/docs/pt/permission-modes#critical-paths), uma remoção de caminho crítico chega ao callback também ou Claude Code a nega sem chamá-lo, como faz por padrão para uma sessão do Agent SDK no modo `auto`.

93 97 

94 A cobertura depende da forma da entrada: um nome simples como `Read` ou `mcp__github__get_issue` aprova automaticamente todas as chamadas a essa ferramenta, exceto as exceções acima, enquanto uma regra com escopo como `Bash(npm test *)` aprova automaticamente apenas chamadas correspondentes, e outras chamadas `Bash` que precisam de aprovação ainda passam para o callback. Para verificações que devem ser executadas em todas as chamadas de ferramenta, use um [hook `PreToolUse`](/docs/pt/agent-sdk/hooks): hooks são executados antes de qualquer outra etapa, e uma negação de hook se aplica mesmo no modo `bypassPermissions`.98 A cobertura depende da forma da entrada: um nome simples como `Read` ou `mcp__github__get_issue` aprova automaticamente todas as chamadas a essa ferramenta, exceto as exceções acima, enquanto uma regra com escopo como `Bash(npm test *)` aprova automaticamente apenas chamadas correspondentes, e outras chamadas `Bash` que precisam de aprovação ainda passam para o callback. Para verificações que devem ser executadas em todas as chamadas de ferramenta, use um [hook `PreToolUse`](/docs/pt/agent-sdk/hooks): hooks são executados antes de qualquer outra etapa, e uma negação de hook se aplica mesmo no modo `bypassPermissions`.

95</Warning>99</Warning>

Details

331 Plugin não carregando331 Plugin não carregando

332</h3>332</h3>

333 333 

334Se seu plugin não aparecer na mensagem de inicialização:334Se seu plugin não aparecer na lista `plugins` da mensagem de inicialização, verifique seu campo [`plugin_errors`](/docs/pt/agent-sdk/typescript#sdksystemmessage) para saber o motivo e, em seguida, trabalhe através destas verificações:

335 335 

3361. **Verifique o caminho**: certifique-se de que o caminho aponta para o diretório raiz do plugin, o diretório pai de `skills/`, `agents/`, `hooks/`, `commands/`, ou `.claude-plugin/`3361. **Verifique o caminho**: certifique-se de que o caminho aponta para o diretório raiz do plugin, o diretório pai de `skills/`, `agents/`, `hooks/`, `commands/`, ou `.claude-plugin/`

3372. **Valide plugin.json**: se seu plugin inclui um manifesto, certifique-se de que ele tem sintaxe JSON válida3372. **Valide plugin.json**: se seu plugin inclui um manifesto, certifique-se de que ele tem sintaxe JSON válida

Details

295| Propriedade | Tipo | Descrição |295| Propriedade | Tipo | Descrição |

296| :- | :- | :- |296| :- | :- | :- |

297| `session_id` | `str` | Identificador único de sessão |297| `session_id` | `str` | Identificador único de sessão |

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

299| `last_modified` | `int` | Hora da última modificação em milissegundos desde a época |299| `last_modified` | `int` | Hora da última modificação em milissegundos desde a época |

300| `file_size` | `int \| None` | Tamanho do arquivo de sessão em bytes (`None` para backends de armazenamento remoto) |300| `file_size` | `int \| None` | Tamanho do arquivo de sessão em bytes (`None` para backends de armazenamento remoto) |

301| `custom_title` | `str \| None` | Título de sessão definido pelo usuário |301| `custom_title` | `str \| None` | Título de sessão definido pelo usuário |


875 include_partial_messages: bool = False875 include_partial_messages: bool = False

876 include_hook_events: bool = False876 include_hook_events: bool = False

877 forward_subagent_text: bool = False877 forward_subagent_text: bool = False

878 verbatim_prompts: bool = False

878 fork_session: bool = False879 fork_session: bool = False

879 resume_session_at: str | None = None880 resume_session_at: str | None = None

880 resume_drops_turn: str | None = None881 resume_drops_turn: str | None = None


928| `include_partial_messages` | `bool` | `False` | Incluir eventos de streaming de mensagens parciais. Quando ativado, mensagens [`StreamEvent`](#streamevent) são produzidas |929| `include_partial_messages` | `bool` | `False` | Incluir eventos de streaming de mensagens parciais. Quando ativado, mensagens [`StreamEvent`](#streamevent) são produzidas |

929| `include_hook_events` | `bool` | `False` | Incluir eventos de ciclo de vida de hook no fluxo de mensagens como objetos `HookEventMessage` |930| `include_hook_events` | `bool` | `False` | Incluir eventos de ciclo de vida de hook no fluxo de mensagens como objetos `HookEventMessage` |

930| `forward_subagent_text` | `bool` | `False` | Encaminhar blocos de texto e pensamento de subagentes no fluxo de mensagens. Sem esta opção, Claude Code emite blocos `tool_use` e `tool_result` de subagentes mas não texto ou pensamento. Requer Python Agent SDK 0.2.140 ou posterior |931| `forward_subagent_text` | `bool` | `False` | Encaminhar blocos de texto e pensamento de subagentes no fluxo de mensagens. Sem esta opção, Claude Code emite blocos `tool_use` e `tool_result` de subagentes mas não texto ou pensamento. Requer Python Agent SDK 0.2.140 ou posterior |

932| `verbatim_prompts` | `bool` | `False` | Entregar cada prompt conforme escrito. O SDK envia cada mensagem do usuário com `client_composed` definido como `True`. Veja [`client_composed`](/docs/pt/agent-sdk/typescript#sdkusermessage) para o que Claude Code pula nessas mensagens. Use esta opção quando seu texto de prompt incluir conteúdo que o usuário final não digitou. Para controle por turno, deixe desativado e defina `"client_composed": True` em mensagens individuais transmitidas em vez disso. Enquanto a opção está ativada, o SDK sobrescreve qualquer valor `client_composed` que você definir. Requer Python Agent SDK 0.2.158 ou posterior e Claude Code v2.1.248 ou posterior; a CLI agrupada com essas versões do SDK satisfaz o requisito do Claude Code |

931| `fork_session` | `bool` | `False` | Ao retomar com `resume`, bifurcar para um novo ID de sessão em vez de continuar a sessão original |933| `fork_session` | `bool` | `False` | Ao retomar com `resume`, bifurcar para um novo ID de sessão em vez de continuar a sessão original |

932| `resume_session_at` | `str \| None` | `None` | Ao retomar, carregar a conversa apenas até e incluindo a mensagem com este UUID. Use com `resume`, e geralmente `fork_session`, para ramificar de um ponto anterior. Requer Python Agent SDK 0.2.137 ou posterior |934| `resume_session_at` | `str \| None` | `None` | Ao retomar, carregar a conversa apenas até e incluindo a mensagem com este UUID. Use com `resume`, e geralmente `fork_session`, para ramificar de um ponto anterior. Requer Python Agent SDK 0.2.137 ou posterior |

933| `resume_drops_turn` | `str \| None` | `None` | UUID do prompt do usuário cuja rodada uma truncagem `resume_session_at` descarta. Quando definido, a CLI recusa o retorno se o intervalo descartado contiver entradas não atribuíveis a essa rodada. Requer Python Agent SDK 0.2.137 ou posterior e Claude Code v2.1.223 ou posterior; a CLI agrupada com essas versões do SDK satisfaz o requisito do Claude Code |935| `resume_drops_turn` | `str \| None` | `None` | UUID do prompt do usuário cuja rodada uma truncagem `resume_session_at` descarta. Quando definido, a CLI recusa o retorno se o intervalo descartado contiver entradas não atribuíveis a essa rodada. Requer Python Agent SDK 0.2.137 ou posterior e Claude Code v2.1.223 ou posterior; a CLI agrupada com essas versões do SDK satisfaz o requisito do Claude Code |


1010| `type` | Sim | Deve ser `"preset"` para usar um prompt do sistema predefinido |1012| `type` | Sim | Deve ser `"preset"` para usar um prompt do sistema predefinido |

1011| `preset` | Sim | Deve ser `"claude_code"` para usar o prompt do sistema do Claude Code |1013| `preset` | Sim | Deve ser `"claude_code"` para usar o prompt do sistema do Claude Code |

1012| `append` | Não | Instruções adicionais para anexar ao prompt do sistema predefinido |1014| `append` | Não | Instruções adicionais para anexar ao prompt do sistema predefinido |

1013| `exclude_dynamic_sections` | Não | Mover contexto por sessão como diretório de trabalho, a flag git-repo, e caminhos de memória automática do prompt do sistema para a primeira mensagem do usuário. Melhora a reutilização de cache de prompt entre usuários e máquinas. Veja [Modificar prompts do sistema](/docs/pt/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines) |1015| `exclude_dynamic_sections` | Não | Mover contexto por usuário, como a localização de memória automática, do prompt do sistema para a primeira mensagem do usuário. Melhora a reutilização de cache de prompt entre usuários e máquinas. Veja [Modificar prompts do sistema](/docs/pt/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines) |

1014| `snapshot` | Não | Defina como `False` para reconstruir o prompt do sistema em cada requisição em vez de [reutilizar o prompt que a sessão registrou em sua primeira requisição](/docs/pt/agent-sdk/modifying-system-prompts#change-the-prompt-of-an-existing-session). Requer `claude-agent-sdk` v0.2.153 ou posterior |1016| `snapshot` | Não | Defina como `False` para reconstruir o prompt do sistema em cada requisição em vez de [reutilizar o prompt que a sessão registrou em sua primeira requisição](/docs/pt/agent-sdk/modifying-system-prompts#change-the-prompt-of-an-existing-session). Requer `claude-agent-sdk` v0.2.153 ou posterior |

1015 1017 

1016<h3 id="systempromptcustom">1018<h3 id="systempromptcustom">


3791<Warning>3793<Warning>

3792 Comandos executando com `dangerouslyDisableSandbox: True` têm acesso completo ao sistema. Certifique-se de que seu manipulador `can_use_tool` valida essas solicitações cuidadosamente.3794 Comandos executando com `dangerouslyDisableSandbox: True` têm acesso completo ao sistema. Certifique-se de que seu manipulador `can_use_tool` valida essas solicitações cuidadosamente.

3793 3795 

3794 Se `permission_mode` está definido para `bypassPermissions` e `allow_unsandboxed_commands` está ativado, o modelo pode autonomamente executar comandos fora do sandbox sem prompts de aprovação, além das [ações que nenhum modo auto-aprova](/docs/pt/permission-modes#actions-no-mode-auto-approves). Esta combinação efetivamente permite que o modelo escape do isolamento de sandbox silenciosamente.3796 Se `permission_mode` está definido para `bypassPermissions` e `allowUnsandboxedCommands` está ativado, o modelo pode autonomamente executar comandos fora do sandbox sem prompts de aprovação, além das [ações que nenhum modo auto-aprova](/docs/pt/permission-modes#actions-no-mode-auto-approves). Esta combinação efetivamente permite que o modelo escape do isolamento de sandbox silenciosamente.

3795</Warning>3797</Warning>

3796 3798 

3797<h2 id="see-also">3799<h2 id="see-also">

Details

330 Limitações conhecidas330 Limitações conhecidas

331</h2>331</h2>

332 332 

333* **Structured output**: o resultado JSON aparece apenas no `ResultMessage.structured_output` final, não como deltas de streaming. Consulte [structured outputs](/docs/pt/agent-sdk/structured-outputs) para detalhes.333* **Structured output**: com mensagens parciais ativadas, o JSON é transmitido como chunks `input_json_delta` não validados de uma chamada de ferramenta, e apenas o resultado validado chega ao `ResultMessage.structured_output` final. Consulte [structured outputs](/docs/pt/agent-sdk/structured-outputs) para detalhes.

334 334 

335<h2 id="next-steps">335<h2 id="next-steps">

336 Próximas etapas336 Próximas etapas

Details

162 structured\_output is None but the result says success162 structured\_output is None but the result says success

163</h3>163</h3>

164 164 

165Uma mensagem de resultado pode terminar com `subtype: "success"` enquanto `structured_output` é `None` em Python ou `undefined` em TypeScript. A execução é concluída, mas nenhuma saída validada existe. Uma maneira de atingir isso é um esquema que nenhuma saída pode satisfazer, por exemplo restrições de comprimento conflitantes. A execução termina sem um erro de validação, e o único sinal é o `structured_output` ausente.165Uma mensagem de resultado pode terminar com `subtype: "success"` enquanto `structured_output` é `None` em Python ou `undefined` em TypeScript. A execução é concluída, mas nenhuma saída validada existe. Uma maneira de atingir isso é um esquema que nenhuma saída pode satisfazer, por exemplo restrições de comprimento conflitantes.

166 166 

167Trate este resultado como uma falha no código da aplicação. Verifique se `subtype` é `success` e se `structured_output` está presente antes de usá-lo. A seção [Error handling](/docs/pt/agent-sdk/structured-outputs#error-handling) mostra este padrão para ambos os SDKs.167Trate este resultado como uma falha no código da aplicação. Verifique se `subtype` é `success` e se `structured_output` está presente antes de usá-lo. A seção [Error handling](/docs/pt/agent-sdk/structured-outputs#error-handling) mostra este padrão para ambos os SDKs.

168 168 

Details

54* Para compilação cruzada, instale o pacote de plataforma não correspondente, por exemplo `npm install @anthropic-ai/claude-agent-sdk-linux-x64 --force`.54* Para compilação cruzada, instale o pacote de plataforma não correspondente, por exemplo `npm install @anthropic-ai/claude-agent-sdk-linux-x64 --force`.

55* No Windows, o subcaminho do binário é `claude.exe`, por exemplo `@anthropic-ai/claude-agent-sdk-win32-x64/claude.exe`.55* No Windows, o subcaminho do binário é `claude.exe`, por exemplo `@anthropic-ai/claude-agent-sdk-win32-x64/claude.exe`.

56 56 

57<h3 id="import-the-/core-entry-when-you-bundle-the-agent-sdk">

58 Importe a entrada `/core` ao agrupar o Agent SDK

59</h3>

60 

61Se sua aplicação agrupa o Agent SDK junto com suas próprias dependências, importe de `@anthropic-ai/claude-agent-sdk/core` em vez da raiz do pacote. A entrada `/core` requer Agent SDK TypeScript v0.3.282 ou posterior, e seus tipos requerem TypeScript 5.0 ou posterior.

62 

63A entrada `/core` exporta o mesmo `query()`, `startup()`, `tool()`, `createSdkMcpServer()` e `resolveSettings()` como a entrada raiz, junto com as funções que renomeiam, marcam e deletam sessões, `AbortError`, as constantes de tempo de execução e todos os tipos. Ela não adiciona nomes próprios. Para manter o código que sua aplicação carrega pequeno, `/core` deixa de fora algumas exportações raiz, incluindo `prewarm()`, a classe `InMemorySessionStore` e os auxiliares que listam, leem, bifurcam, importam e resumem sessões. Se você precisar de um deles, use a entrada raiz.

64 

65A entrada raiz incorpora suas próprias cópias de `zod` e `@modelcontextprotocol/sdk`. A entrada `/core` as importa de seu `node_modules` nos intervalos que as `peerDependencies` do Agent SDK declaram, então um pacote que já as inclui não carrega uma segunda cópia. Importe de uma ou da outra entrada `/core` em um determinado processo, não ambas: elas são pacotes separados, e carregar ambas fornece duas cópias das classes e estado do Agent SDK.

66 

57<h2 id="functions">67<h2 id="functions">

58 Funções68 Funções

59</h2>69</h2>


93 `startup()`103 `startup()`

94</h3>104</h3>

95 105 

96Pré-aquece o subprocesso CLI gerando-o e completando o handshake de inicialização antes de um prompt estar disponível. O handle [`WarmQuery`](#warmquery) retornado aceita um prompt depois e o escreve em um processo já pronto, então a primeira chamada `query()` é resolvida sem pagar o custo de geração e inicialização do subprocesso inline.106Pré-aquece o subprocesso CLI gerando-o e completando o handshake de inicialização antes de um prompt estar disponível. O handle [`WarmQuery`](#warmquery) retornado aceita um prompt depois e o escreve em um processo já pronto, então a primeira chamada `query()` é resolvida sem pagar o custo de geração e inicialização do subprocesso inline. Se você ainda não souber o diretório de trabalho da sessão, use [`prewarm()`](#prewarm) em vez disso.

97 107 

98```typescript theme={null}108```typescript theme={null}

99function startup(params?: {109function startup(params?: {


135}145}

136```146```

137 147 

148<h3 id="prewarm">

149 `prewarm()`

150</h3>

151 

152*Alpha.* Inicia um processo Claude Code como sobressalente antes de você saber qual sessão ele servirá, para que você possa vinculá-lo a uma sessão depois com [`claim()`](#spareprocess). Use-o em uma aplicação que inicia antes do usuário escolher uma pasta. Requer TypeScript Agent SDK v0.3.282 ou posterior.

153 

154`prewarm()` completa o mesmo handshake de inicialização que [`startup()`](#startup), com o processo aguardando em `options.cwd` quando você o define e caso contrário em um diretório temporário privado sob seu diretório de configuração do Claude Code. O diretório de trabalho da sessão, seus hooks `SessionStart`, seus servidores MCP stdio e seu contexto CLAUDE.md e git aguardam a reivindicação. Um sobressalente mantém aproximadamente 230 a 260 MB de memória enquanto aguarda. Se seu [`spawnClaudeCodeProcess`](#options) executa Claude Code em outra máquina ou em um contêiner, defina `options.cwd` para um diretório que existe lá para o sobressalente aguardar.

155 

156```typescript theme={null}

157function prewarm(params?: {

158 options?: Options;

159 initializeTimeoutMs?: number;

160}): Promise<SpareProcess>;

161```

162 

163`options` e `initializeTimeoutMs` significam o mesmo que para `startup()`, exceto que `options.cwd` define apenas o diretório em que o sobressalente aguarda. A promise é resolvida com um [`SpareProcess`](#spareprocess) assim que o processo completa seu handshake de inicialização. `prewarm()` lança se `options` define `resume`, `continue` ou `forkSession`, porque um sobressalente não tem sessão ainda. Tudo o que uma reivindicação não pode definir, como `mcpServers`, `hooks`, `canUseTool`, `settingSources`, `systemPrompt` e `plugins`, é fixo pela vida do sobressalente, então mantenha um sobressalente por conjunto distinto dessas opções e pré-aqueça novamente quando elas mudarem.

164 

165<h4 id="example-2">

166 Exemplo

167</h4>

168 

169Pré-aqueça no boot da aplicação, depois reivindique o sobressalente quando o usuário inicia uma sessão:

170 

171```typescript theme={null}

172import { prewarm } from "@anthropic-ai/claude-agent-sdk";

173 

174// No boot da aplicação, antes da pasta da sessão ser conhecida

175const spare = await prewarm({ options: { maxTurns: 3 } });

176 

177// Depois, quando o usuário inicia uma sessão em uma pasta

178const claimedQuery = spare.claim({

179 prompt: "What files are here?",

180 options: { cwd: "/path/to/project" },

181});

182 

183spare.claimed.catch((error: Error) => {

184 // A menos que a mensagem comece com "option_not_applied", o prompt não foi executado:

185 // inicie esta sessão com query() em vez disso

186 console.error("Claim failed:", error.message);

187});

188 

189for await (const message of claimedQuery) {

190 console.log(message);

191}

192```

193 

138<h3 id="tool">194<h3 id="tool">

139 `tool()`195 `tool()`

140</h3>196</h3>


167 `ToolAnnotations`223 `ToolAnnotations`

168</h4>224</h4>

169 225 

170Re-exportado de `@modelcontextprotocol/sdk/types.js`. Todos os campos são dicas opcionais; os clientes não devem confiar neles para decisões de segurança.226Definido em `@modelcontextprotocol/sdk/types.js`. Todos os campos são dicas opcionais; os clientes não devem confiar neles para decisões de segurança.

171 227 

172| Campo | Tipo | Padrão | Descrição |228| Campo | Tipo | Padrão | Descrição |

173| :- | :- | :- | :- |229| :- | :- | :- | :- |


249| Propriedade | Tipo | Descrição |305| Propriedade | Tipo | Descrição |

250| :- | :- | :- |306| :- | :- | :- |

251| `sessionId` | `string` | Identificador único de sessão (UUID) |307| `sessionId` | `string` | Identificador único de sessão (UUID) |

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

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

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

255| `customTitle` | `string \| undefined` | Título de sessão definido pelo usuário (via `/rename`) |311| `customTitle` | `string \| undefined` | Título de sessão definido pelo usuário (via `/rename`) |


259| `tag` | `string \| undefined` | Tag de sessão definida pelo usuário (veja [`tagSession()`](#tagsession)) |315| `tag` | `string \| undefined` | Tag de sessão definida pelo usuário (veja [`tagSession()`](#tagsession)) |

260| `createdAt` | `number \| undefined` | Tempo de criação em milissegundos desde a época, do timestamp da primeira entrada |316| `createdAt` | `number \| undefined` | Tempo de criação em milissegundos desde a época, do timestamp da primeira entrada |

261 317 

262<h4 id="example-2">318<h4 id="example-3">

263 Exemplo319 Exemplo

264</h4>320</h4>

265 321 


312| `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 |368| `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 |

313| `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 |369| `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 |

314 370 

315<h4 id="example-3">371<h4 id="example-4">

316 Exemplo372 Exemplo

317</h4>373</h4>

318 374 


452| `provenance` | `Partial<Record<keyof Settings, ProvenanceEntry>>` | Para cada chave de nível superior em `effective`, qual fonte forneceu o valor |508| `provenance` | `Partial<Record<keyof Settings, ProvenanceEntry>>` | Para cada chave de nível superior em `effective`, qual fonte forneceu o valor |

453| `sources` | `Array<{ source, settings, path?, policyOrigin? }>` | Configurações brutas por fonte, ordenadas de precedência mais baixa para mais alta |509| `sources` | `Array<{ source, settings, path?, policyOrigin? }>` | Configurações brutas por fonte, ordenadas de precedência mais baixa para mais alta |

454 510 

455<h4 id="example-4">511<h4 id="example-5">

456 Exemplo512 Exemplo

457</h4>513</h4>

458 514 


547| `toolAliases` | `Record<string, string>` | `undefined` | Mapear nomes de ferramentas integradas para nomes de ferramentas MCP para que Claude chame sua implementação MCP em vez da integrada. Por exemplo, `{ Bash: 'mcp__workspace__bash' }` |603| `toolAliases` | `Record<string, string>` | `undefined` | Mapear nomes de ferramentas integradas para nomes de ferramentas MCP para que Claude chame sua implementação MCP em vez da integrada. Por exemplo, `{ Bash: 'mcp__workspace__bash' }` |

548| `toolConfig` | [`ToolConfig`](#toolconfig) | `undefined` | Configuração para comportamento de ferramenta integrada. Veja [`ToolConfig`](#toolconfig) para detalhes |604| `toolConfig` | [`ToolConfig`](#toolconfig) | `undefined` | Configuração para comportamento de ferramenta integrada. Veja [`ToolConfig`](#toolconfig) para detalhes |

549| `tools` | `string[] \| { type: 'preset'; preset: 'claude_code' }` | `undefined` | Configuração de ferramenta. Passe um array de nomes de ferramentas ou use o preset para obter as ferramentas padrão do Claude Code |605| `tools` | `string[] \| { type: 'preset'; preset: 'claude_code' }` | `undefined` | Configuração de ferramenta. Passe um array de nomes de ferramentas ou use o preset para obter as ferramentas padrão do Claude Code |

606| `verbatimPrompts` | `boolean` | `false` | Entregar cada prompt conforme escrito. O SDK envia cada mensagem de usuário com `client_composed: true`. Veja [`client_composed`](#sdkusermessage) para o que Claude Code pula nessas mensagens. Use esta opção quando seu texto de prompt inclui conteúdo que o usuário final não digitou. Para controle por turno, deixe desativado e defina `client_composed` em mensagens individuais transmitidas em vez disso. Requer TypeScript Agent SDK v0.3.280 ou posterior e Claude Code v2.1.248 ou posterior; a versão Claude Code agrupada com essas versões SDK satisfaz o requisito de versão Claude Code |

550 607 

551<h4 id="handle-slow-or-stalled-api-responses">608<h4 id="handle-slow-or-stalled-api-responses">

552 Lidar com respostas de API lentas ou travadas609 Lidar com respostas de API lentas ou travadas


617 path: string,674 path: string,

618 options?: { maxBytes?: number; encoding?: 'utf-8' | 'base64' }675 options?: { maxBytes?: number; encoding?: 'utf-8' | 'base64' }

619 ): Promise<SDKControlReadFileResponse | null>;676 ): Promise<SDKControlReadFileResponse | null>;

677 reloadPlugins(options?: {

678 holdOnCacheImpact?: boolean;

679 }): Promise<SDKControlReloadPluginsResponse>;

620 reloadSkills(): Promise<SDKControlReloadSkillsResponse>;680 reloadSkills(): Promise<SDKControlReloadSkillsResponse>;

681 reloadOutputStyles(): Promise<SDKControlReloadOutputStylesResponse>;

621 accountInfo(): Promise<AccountInfo>;682 accountInfo(): Promise<AccountInfo>;

622 reconnectMcpServer(serverName: string): Promise<void>;683 reconnectMcpServer(serverName: string): Promise<void>;

623 toggleMcpServer(serverName: string, enabled: boolean): Promise<void>;684 toggleMcpServer(serverName: string, enabled: boolean): Promise<void>;


650| `mcpServerStatus()` | Retorna status de servidores MCP conectados como [`McpServerStatus`](#mcpserverstatus)`[]` |711| `mcpServerStatus()` | Retorna status de servidores MCP conectados como [`McpServerStatus`](#mcpserverstatus)`[]` |

651| `getContextUsage(opts?)` | Retorna um [`SDKControlGetContextUsageResponse`](#sdkcontrolgetcontextusageresponse) dividindo o uso da janela de contexto da sessão por categoria, skill e ferramenta. Com o `detail` padrão, é o mesmo dado que `/context` mostra em uma sessão interativa. A [opção `detail`](#sdkcontrolgetcontextusageresponse) requer Agent SDK v0.3.257 ou posterior |712| `getContextUsage(opts?)` | Retorna um [`SDKControlGetContextUsageResponse`](#sdkcontrolgetcontextusageresponse) dividindo o uso da janela de contexto da sessão por categoria, skill e ferramenta. Com o `detail` padrão, é o mesmo dado que `/context` mostra em uma sessão interativa. A [opção `detail`](#sdkcontrolgetcontextusageresponse) requer Agent SDK v0.3.257 ou posterior |

652| `readFile(path, options?)` | Lê um arquivo do sistema de arquivos da sessão. Claude Code resolve o caminho contra `cwd`; [O que `readFile()` pode ler](#what-readfile-can-read) lista os arquivos que ele serve. Passe `{ maxBytes }` para alterar o limite de leitura (padrão 1 MB, teto 10 MB) e `{ encoding: 'base64' }` para arquivos binários como imagens. Resolve com um [`SDKControlReadFileResponse`](#sdkcontrolreadfileresponse), ou `null` em negação de permissão, arquivo ausente, ou erro de transporte. Requer TypeScript SDK v0.2.121 ou posterior |713| `readFile(path, options?)` | Lê um arquivo do sistema de arquivos da sessão. Claude Code resolve o caminho contra `cwd`; [O que `readFile()` pode ler](#what-readfile-can-read) lista os arquivos que ele serve. Passe `{ maxBytes }` para alterar o limite de leitura (padrão 1 MB, teto 10 MB) e `{ encoding: 'base64' }` para arquivos binários como imagens. Resolve com um [`SDKControlReadFileResponse`](#sdkcontrolreadfileresponse), ou `null` em negação de permissão, arquivo ausente, ou erro de transporte. Requer TypeScript SDK v0.2.121 ou posterior |

714| `reloadPlugins(options?)` | Recarrega plugins do disco, para que plugins que você instala ou edita no meio da sessão alcancem a sessão em execução. Resolve com um [`SDKControlReloadPluginsResponse`](#sdkcontrolreloadpluginsresponse) listando os comandos, subagentes, plugins e status do servidor MCP da sessão. Requer Agent SDK v0.2.85 ou posterior. A [opção `holdOnCacheImpact`](#sdkcontrolreloadpluginsresponse) requer Agent SDK v0.3.268 ou posterior |

653| `reloadSkills()` | Recarrega skills do disco, para que skills que você adiciona ou edita no meio da sessão fiquem disponíveis para a sessão em execução. Resolve com um [`SDKControlReloadSkillsResponse`](#sdkcontrolreloadskillsresponse) listando as skills disponíveis após o recarregamento. Requer Agent SDK v0.3.163 ou posterior |715| `reloadSkills()` | Recarrega skills do disco, para que skills que você adiciona ou edita no meio da sessão fiquem disponíveis para a sessão em execução. Resolve com um [`SDKControlReloadSkillsResponse`](#sdkcontrolreloadskillsresponse) listando as skills disponíveis após o recarregamento. Requer Agent SDK v0.3.163 ou posterior |

716| `reloadOutputStyles()` | Re-lê [estilos de saída](/docs/pt/output-styles) do disco, para que um arquivo de estilo que você adiciona ou edita no meio da sessão fique disponível para a sessão em execução. Resolve com um [`SDKControlReloadOutputStylesResponse`](#sdkcontrolreloadoutputstylesresponse) listando os nomes de estilo disponíveis após o recarregamento. Requer Agent SDK v0.3.261 ou posterior |

654| `accountInfo()` | Retorna informações de conta |717| `accountInfo()` | Retorna informações de conta |

655| `reconnectMcpServer(serverName)` | Reconectar um servidor MCP por nome. Se o nome também corresponder a uma entrada em um arquivo de configurações como `.mcp.json` ou `~/.claude.json`, Claude Code reconecta o servidor que você configurou através de [`mcpServers`](#options) ou `setMcpServers()`, não a entrada do arquivo de configurações. Essa ordem de resolução requer Claude Code v2.1.257 ou posterior |718| `reconnectMcpServer(serverName)` | Reconectar um servidor MCP por nome. Se o nome também corresponder a uma entrada em um arquivo de configurações como `.mcp.json` ou `~/.claude.json`, Claude Code reconecta o servidor que você configurou através de [`mcpServers`](#options) ou `setMcpServers()`, não a entrada do arquivo de configurações. Essa ordem de resolução requer Claude Code v2.1.257 ou posterior |

656| `toggleMcpServer(serverName, enabled)` | Ativar ou desativar um servidor MCP por nome, com a mesma resolução de nome que `reconnectMcpServer()`. Desativar desconecta o servidor |719| `toggleMcpServer(serverName, enabled)` | Ativar ou desativar um servidor MCP por nome, com a mesma resolução de nome que `reconnectMcpServer()`. Desativar desconecta o servidor |


672* **Aplicadas durante o turno atual**: `model`. Se você mudar `model` enquanto Claude está trabalhando em um turno, a resposta que Claude já está gerando termina no modelo antigo, e o resto do turno, começando com a próxima chamada que Claude Code faz para o modelo, usa o novo. Subagentes mantêm seu próprio modelo. Antes de v2.1.212, uma mudança no meio do turno aguardava o próximo turno.735* **Aplicadas durante o turno atual**: `model`. Se você mudar `model` enquanto Claude está trabalhando em um turno, a resposta que Claude já está gerando termina no modelo antigo, e o resto do turno, começando com a próxima chamada que Claude Code faz para o modelo, usa o novo. Subagentes mantêm seu próprio modelo. Antes de v2.1.212, uma mudança no meio do turno aguardava o próximo turno.

673* **Sem efeito no meio da sessão**: as opções de prompt do sistema. Estas são resolvidas uma vez na inicialização, então a sessão em execução mantém o valor original mesmo que a chamada tenha sucesso. Para alterá-los, inicie uma nova sessão.736* **Sem efeito no meio da sessão**: as opções de prompt do sistema. Estas são resolvidas uma vez na inicialização, então a sessão em execução mantém o valor original mesmo que a chamada tenha sucesso. Para alterá-los, inicie uma nova sessão.

674 737 

675`effortLevel` aceita um nome de [nível de esforço](/docs/pt/model-config#adjust-effort-level). Também aceita `"ultracode"`, que executa a sessão em esforço `xhigh` e ativa [ultracode](/docs/pt/workflows#let-claude-decide-with-ultracode). `applyFlagSettings()` declara `effortLevel` sem esse valor, então passe o equivalente `{ ultracode: true }` em TypeScript. O valor `ultracode` requer Claude Code v2.1.203 ou posterior e é aceito apenas por `applyFlagSettings()`, não pela chave `effortLevel` em um arquivo de configurações.738`effortLevel` aceita um nome de [nível de esforço](/docs/pt/model-config#adjust-effort-level). Também aceita `"ultracode"`, que executa a sessão em esforço `xhigh` e ativa [ultracode](/docs/pt/workflows#let-claude-decide-with-ultracode). `applyFlagSettings()` declara `effortLevel` sem esse valor, então em TypeScript passe `{ ultracode: true, effortLevel: "xhigh" }` para o mesmo resultado, ou a chave [`ultracode`](/docs/pt/settings-reference#ultracode) sozinha para ativar ultracode no nível de esforço atual da sessão. O valor `ultracode` requer Claude Code v2.1.203 ou posterior e é aceito apenas por `applyFlagSettings()`, não pela chave `effortLevel` em um arquivo de configurações. Antes de v2.1.284, a chave `ultracode` sozinha também definia o nível para `xhigh`.

676 739 

677Os valores são escritos na camada de configurações de flag, mesclados sobre o que a opção `settings` inline de `query()` definiu na inicialização. Esta é a mesma camada que a [seção de precedência na página](#settings-precedence) chama de opções programáticas.740Os valores são escritos na camada de configurações de flag, mesclados sobre o que a opção `settings` inline de `query()` definiu na inicialização. Esta é a mesma camada que a [seção de precedência na página](#settings-precedence) chama de opções programáticas.

678 741 


741 804 

742`WarmQuery` implementa `AsyncDisposable`, então pode ser usado com `await using` para limpeza automática.805`WarmQuery` implementa `AsyncDisposable`, então pode ser usado com `await using` para limpeza automática.

743 806 

807<h3 id="spareprocess">

808 `SpareProcess`

809</h3>

810 

811*Alfa.* Handle retornado por [`prewarm()`](#prewarm): um processo Claude Code iniciado que ainda não está vinculado a uma sessão e pode ser reivindicado uma vez. Requer TypeScript Agent SDK v0.3.282 ou posterior.

812 

813```typescript theme={null}

814interface SpareProcess extends AsyncDisposable {

815 claim(params: {

816 prompt: string | AsyncIterable<SDKUserMessage>;

817 options: ClaimOptions;

818 }): Query;

819 readonly claimed: Promise<{ cwd: string; sessionId: string; parkedMs?: number; sdkMcpSettled: boolean }>;

820 readonly exited: Promise<void>;

821 close(): void;

822}

823```

824 

825<h4 id="members">

826 Membros

827</h4>

828 

829| Membro | Descrição |

830| :- | :- |

831| `claim({ prompt, options })` | Vincular o spare a uma sessão em `options.cwd` e enviar sua primeira mensagem. Retorna uma [`Query`](#query-object) sincronamente, como `query()` faz. Pode ser chamado apenas uma vez |

832| `claimed` | Resolve com o diretório de trabalho e ID da sessão uma vez que Claude Code aceita a reivindicação. Rejeita quando Claude Code recusa a reivindicação, quando o processo saiu ou foi fechado primeiro, e, com uma mensagem que começa com `option_not_applied`, quando a sessão está em execução sem o `model` ou `maxThinkingTokens` que você pediu |

833| `exited` | Resolve quando o processo sai, reivindicado ou não. Substitua um spare que sai antes de você reivindicá-lo |

834| `close()` | Encerrar o processo. Antes de uma reivindicação isso descarta o spare e rejeita `claimed` |

835 

836`options.cwd` é obrigatório. Uma reivindicação também pode definir `additionalDirectories`, `model`, `permissionMode`, `maxThinkingTokens`, uma sobreposição de configurações de flag em `settings`, `appendSystemPrompt`, `title`, `agents`, e tokens por sessão em `env`.

837 

838Claude Code pode recusar uma reivindicação, por exemplo para uma pasta que não existe ou uma cujas configurações de projeto definem `env`, `agent`, ou `model`. Quando `claimed` rejeita com uma mensagem que começa com `option_not_applied`, a sessão está em execução sem o `model` ou `maxThinkingTokens` que você pediu. Após qualquer outra rejeição seu prompt não foi executado, então inicie a sessão com `query()` em vez disso.

839 

744<h3 id="sdkcontrolinitializeresponse">840<h3 id="sdkcontrolinitializeresponse">

745 `SDKControlInitializeResponse`841 `SDKControlInitializeResponse`

746</h3>842</h3>


824 tokens: number;920 tokens: number;

825 color: string;921 color: string;

826 isDeferred?: boolean;922 isDeferred?: boolean;

923 kind: "used" | "free" | "buffer" | "deferred";

827 }[];924 }[];

828 totalTokens: number;925 totalTokens: number;

829 maxTokens: number;926 maxTokens: number;


913 1010 

914Leia atribuição de token da coleção de campos:1011Leia atribuição de token da coleção de campos:

915 1012 

916* `categories` contém os totais por categoria.1013* `categories` contém os totais por categoria. Cada entrada `kind` classifica a linha com os mesmos valores que [`SDKContextUsageCategory`](#sdkcontextusagecategory). Classifique linhas nele em vez de no `name` de exibição. O campo requer Agent SDK v0.3.268 ou posterior.

917* `mcpTools` e `agents` atribuem tokens a ferramentas MCP individuais e subagentes.1014* `mcpTools` e `agents` atribuem tokens a ferramentas MCP individuais e subagentes.

918* `memoryFiles` lista cada arquivo de memória carregado com seu custo.1015* `memoryFiles` lista cada arquivo de memória carregado com seu custo.

919* `skills.skillFrontmatter` atribui os tokens da listagem de skills a cada skill incluída. As contagens por skill medem cada entrada de listagem de skill conforme Claude Code realmente a envia, que pode ser mais curta que o frontmatter completo da skill. Compare `skills.totalSkills` com `skills.includedSkills` para ver se cada skill descoberta fez parte da listagem.1016* `skills.skillFrontmatter` atribui os tokens da listagem de skills a cada skill incluída. As contagens por skill medem cada entrada de listagem de skill conforme Claude Code realmente a envia, que pode ser mais curta que o frontmatter completo da skill. Compare `skills.totalSkills` com `skills.includedSkills` para ver se cada skill descoberta fez parte da listagem.


950 1047 

951As regras de negação e solicitação de Read ainda bloqueiam um caminho correspondente, e uma regra de permissão ampla de Read não abre o resto do sistema de arquivos para `readFile()`. Para qualquer outra coisa a chamada resolve com `null`.1048As regras de negação e solicitação de Read ainda bloqueiam um caminho correspondente, e uma regra de permissão ampla de Read não abre o resto do sistema de arquivos para `readFile()`. Para qualquer outra coisa a chamada resolve com `null`.

952 1049 

1050<h3 id="sdkcontrolreloadpluginsresponse">

1051 `SDKControlReloadPluginsResponse`

1052</h3>

1053 

1054Tipo de retorno de [`reloadPlugins()`](#query-object).

1055 

1056```typescript theme={null}

1057type SDKControlReloadPluginsResponse = {

1058 commands: SlashCommand[];

1059 agents: AgentInfo[];

1060 plugins: {

1061 name: string;

1062 path: string;

1063 source?: string;

1064 version?: string;

1065 }[];

1066 mcpServers: McpServerStatus[];

1067 error_count: number;

1068 held?: boolean;

1069 cache_impact?: {

1070 mcp_servers_added: string[];

1071 mcp_servers_removed: string[];

1072 lsp_tool_change: ("adds" | "may-add" | "removes" | "may-remove") | null;

1073 };

1074};

1075```

1076 

1077Os campos de coleção descrevem a sessão após a chamada:

1078 

1079* `commands`, `agents`, e `mcpServers`: os comandos, subagentes e status do servidor MCP da sessão, nas mesmas formas que `supportedCommands()`, `supportedAgents()`, e `mcpServerStatus()` retornam. `supportedAgents()` continua retornando a lista capturada na inicialização, então leia `agents` aqui para o conjunto após um recarregamento

1080* `plugins`: cada plugin carregado com seu `name` e `path` de instalação. `version` repete o que o manifesto do plugin declara e é controlado pelo autor do plugin, então valide-o antes de confiar nele. É omitido quando o manifesto não declara nenhum

1081* `error_count`: o número de erros ao carregar plugins

1082 

1083Passe `{ holdOnCacheImpact: true }` para `reloadPlugins()` para manter um recarregamento que invalidaria o cache de prompt da conversa em vez de aplicá-lo. Claude Code executa a verificação que o comando interativo `/reload-plugins` faz antes de [avisar sobre o custo do cache](/docs/pt/prompt-caching#enabling-or-disabling-a-plugin). A opção requer Agent SDK v0.3.268 ou posterior. Um executável Claude Code mais antigo que v2.1.268, como um que você aponta `pathToClaudeCodeExecutable` para, ignora a opção e aplica o recarregamento.

1084 

1085Quando você passa a opção, leia `held` para aprender o que aconteceu:

1086 

1087* `true`: o recarregamento não foi aplicado, e os campos de coleção descrevem a sessão como ainda está. `cache_impact` diz o que aplicar mudaria. Para aplicar mesmo assim, chame `reloadPlugins()` novamente sem a opção.

1088* `false`: a verificação não encontrou impacto no cache, e o recarregamento foi aplicado.

1089* Ausente: você não passou a opção, ou o executável Claude Code é mais antigo que v2.1.268 e aplicou o recarregamento.

1090 

1091`cache_impact` está presente apenas junto com `held: true`. `mcp_servers_added` e `mcp_servers_removed` nomeiam os servidores MCP do plugin que o recarregamento registraria ou descartaria, como nomes com escopo `plugin:<plugin>:<server>`. Os nomes são criados pelo plugin, então valide-os antes de mostrá-los. `lsp_tool_change` diz se aplicar adicionaria ou removeria a ferramenta LSP, ou `null` quando não faria nenhum dos dois. As formas `may-` significam que a verificação não conseguiu ver completamente o conjunto de plugins pendente.

1092 

953<h3 id="sdkcontrolreloadskillsresponse">1093<h3 id="sdkcontrolreloadskillsresponse">

954 `SDKControlReloadSkillsResponse`1094 `SDKControlReloadSkillsResponse`

955</h3>1095</h3>


964 1104 

965`skills` lista as skills disponíveis após o recarregamento, na mesma forma [`SlashCommand`](#slashcommand) que `supportedCommands()` retorna.1105`skills` lista as skills disponíveis após o recarregamento, na mesma forma [`SlashCommand`](#slashcommand) que `supportedCommands()` retorna.

966 1106 

1107<h3 id="sdkcontrolreloadoutputstylesresponse">

1108 `SDKControlReloadOutputStylesResponse`

1109</h3>

1110 

1111Tipo de retorno de [`reloadOutputStyles()`](#query-object).

1112 

1113```typescript theme={null}

1114type SDKControlReloadOutputStylesResponse = {

1115 available_output_styles: string[];

1116};

1117```

1118 

1119`available_output_styles` lista os nomes dos estilos de saída integrados e personalizados disponíveis após o recarregamento.

1120 

967<h3 id="sdkcontrolmcpreadresourceresponse">1121<h3 id="sdkcontrolmcpreadresourceresponse">

968 `SDKControlMcpReadResourceResponse`1122 `SDKControlMcpReadResourceResponse`

969</h3>1123</h3>


984 1138 

985Passe `readMcpResource()` o nome do servidor conforme `mcpServerStatus()` o relata e um URI `ui://`, como o `ui.resourceUri` que uma ferramenta declara em sua [`_meta`](#mcpserverstatus). A chamada rejeita para qualquer outro esquema de URI, para um [servidor MCP SDK](#createsdkmcpserver) que sua aplicação hospeda a si mesma, e para um servidor que não está conectado. Está disponível quando a mensagem de inicialização [`capabilities`](#sdksystemmessage) incluem `mcp_read_resource_v1`.1139Passe `readMcpResource()` o nome do servidor conforme `mcpServerStatus()` o relata e um URI `ui://`, como o `ui.resourceUri` que uma ferramenta declara em sua [`_meta`](#mcpserverstatus). A chamada rejeita para qualquer outro esquema de URI, para um [servidor MCP SDK](#createsdkmcpserver) que sua aplicação hospeda a si mesma, e para um servidor que não está conectado. Está disponível quando a mensagem de inicialização [`capabilities`](#sdksystemmessage) incluem `mcp_read_resource_v1`.

986 1140 

987Cada entrada `contents` é um item de conteúdo conforme o servidor o enviou. `blob` contém dados base64 para um item binário, e `_meta` é o próprio `_meta` do item, onde um servidor MCP Apps coloca o `ui.csp` e `ui.permissions` do recurso. O conteúdo é HTML de terceiros não confiável, então renderize-o em um sandbox.1141Cada entrada `contents` é um item de conteúdo conforme o servidor o enviou, menos qualquer chave `_meta` sob o prefixo `com.anthropic/`, que é reservado para Claude Code. `blob` contém dados base64 para um item binário, e `_meta` é o próprio `_meta` do item, onde um servidor MCP Apps coloca o `ui.csp` e `ui.permissions` do recurso.

1142 

1143O conteúdo é HTML de terceiros não confiável, então renderize-o em um sandbox.

988 1144 

989<h3 id="agentdefinition">1145<h3 id="agentdefinition">

990 `AgentDefinition`1146 `AgentDefinition`


1142 blockedPath?: string;1298 blockedPath?: string;

1143 mcpServer?: { name: string; source: string };1299 mcpServer?: { name: string; source: string };

1144 decisionReason?: string;1300 decisionReason?: string;

1301 defaultToNo?: boolean;

1302 suppressAlwaysAllowRule?: boolean;

1145 toolUseID: string;1303 toolUseID: string;

1146 agentID?: string;1304 agentID?: string;

1147 requestId: string;1305 requestId: string;


1156| `blockedPath` | `string` | O caminho do arquivo que acionou a solicitação de permissão, se aplicável |1314| `blockedPath` | `string` | O caminho do arquivo que acionou a solicitação de permissão, se aplicável |

1157| `mcpServer` | `{ name: string; source: string }` | Para uma ferramenta `mcp__*`, o servidor MCP que a serve e de onde a definição desse servidor veio, com os campos de [`McpServerProvenance`](#mcpserverprovenance). Ausente para outras ferramentas. Requer Agent SDK v0.3.274 ou posterior |1315| `mcpServer` | `{ name: string; source: string }` | Para uma ferramenta `mcp__*`, o servidor MCP que a serve e de onde a definição desse servidor veio, com os campos de [`McpServerProvenance`](#mcpserverprovenance). Ausente para outras ferramentas. Requer Agent SDK v0.3.274 ou posterior |

1158| `decisionReason` | `string` | Explica por que esta solicitação de permissão foi acionada |1316| `decisionReason` | `string` | Explica por que esta solicitação de permissão foi acionada |

1317| `defaultToNo` | `boolean` | Quando `true`, um único toque errado não deve aprovar esta solicitação: abra seu prompt na opção de declínio, não pré-selecione aprovar, e não ofereça nenhum atalho de aprovação de uma tecla. Requer Agent SDK v0.3.268 ou posterior |

1318| `suppressAlwaysAllowRule` | `boolean` | Quando `true`, não ofereça uma escolha de sempre-permitir persistente para esta solicitação, porque a regra que ela escreveria concede mais do que a ação da própria solicitação. Requer Agent SDK v0.3.268 ou posterior |

1159| `toolUseID` | `string` | Identificador único para esta chamada de ferramenta específica dentro da mensagem do assistente |1319| `toolUseID` | `string` | Identificador único para esta chamada de ferramenta específica dentro da mensagem do assistente |

1160| `agentID` | `string` | Se executando dentro de um sub-agente, o ID do sub-agente |1320| `agentID` | `string` | Se executando dentro de um sub-agente, o ID do sub-agente |

1161| `requestId` | `string` | O `request_id` do envelope `control_request`. Uma `control_response` que sua aplicação envia fora do SDK, como um POST HTTP assinado, deve ecoar este valor para que o processo Claude Code possa corresponder a resposta à solicitação |1321| `requestId` | `string` | O `request_id` do envelope `control_request`. Uma `control_response` que sua aplicação envia fora do SDK, como um POST HTTP assinado, deve ecoar este valor para que o processo Claude Code possa corresponder a resposta à solicitação |


1372 type: "assistant";1532 type: "assistant";

1373 uuid: UUID;1533 uuid: UUID;

1374 session_id: string;1534 session_id: string;

1375 message: BetaMessage; // Do SDK Anthropic1535 message: BetaMessage; // From Anthropic SDK

1376 parent_tool_use_id: string | null;1536 parent_tool_use_id: string | null;

1377 error?: SDKAssistantMessageError;1537 error?: SDKAssistantMessageError;

1378 aborted?: true;1538 aborted?: true;


1380 context_usage?: SDKContextUsage;1540 context_usage?: SDKContextUsage;

1381 user_message_uuid?: string;1541 user_message_uuid?: string;

1382 user_message_uuids?: string[];1542 user_message_uuids?: string[];

1543 resume_reason?: string;

1383};1544};

1384```1545```

1385 1546 

1386O campo `message` é uma [`BetaMessage`](https://platform.claude.com/docs/pt/api/messages/create) do SDK Anthropic. Inclui campos como `id`, `content`, `model`, `stop_reason` e `usage`.1547O campo `message` é um [`BetaMessage`](https://platform.claude.com/docs/pt/api/messages/create) do SDK Anthropic. Inclui campos como `id`, `content`, `model`, `stop_reason` e `usage`.

1387 1548 

1388`SDKAssistantMessageError` é um de: `'authentication_failed'`, `'oauth_org_not_allowed'`, `'account_on_hold'`, `'billing_error'`, `'rate_limit'`, `'overloaded'`, `'invalid_request'`, `'model_not_found'`, `'server_error'`, `'max_output_tokens'`, `'cloud_credential_error'`, ou `'unknown'`. Quatro desses valores significam mais do que seus nomes dizem:1549`SDKAssistantMessageError` é um de: `'authentication_failed'`, `'oauth_org_not_allowed'`, `'account_on_hold'`, `'billing_error'`, `'rate_limit'`, `'overloaded'`, `'invalid_request'`, `'model_not_found'`, `'server_error'`, `'max_output_tokens'`, `'cloud_credential_error'` ou `'unknown'`. Quatro desses valores significam mais do que seus nomes indicam:

1389 1550 

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

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

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

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

1394 1555 

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

1396 1557 

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

1398 1559 

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

1400 1561 

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

1402 1563 

1403<h3 id="sdkusermessage">1564<h3 id="sdkusermessage">

1404 `SDKUserMessage`1565 `SDKUserMessage`


1411 type: "user";1572 type: "user";

1412 uuid?: UUID;1573 uuid?: UUID;

1413 session_id?: string;1574 session_id?: string;

1414 message: MessageParam; // Do SDK Anthropic1575 message: MessageParam; // From Anthropic SDK

1415 pasted_content?: MessageParam["content"][];1576 pasted_content?: MessageParam["content"][];

1416 parent_tool_use_id: string | null;1577 parent_tool_use_id: string | null;

1417 isSynthetic?: boolean;1578 isSynthetic?: boolean;

1418 shouldQuery?: boolean;1579 shouldQuery?: boolean;

1580 client_composed?: true;

1419 tool_use_result?: unknown;1581 tool_use_result?: unknown;

1420 origin?: SDKMessageOrigin;1582 origin?: SDKMessageOrigin;

1421 inline_pastes?: string[];1583 inline_pastes?: string[];


1424 1586 

1425Defina `pasted_content` para enviar conteúdo que o usuário colou em sua interface de prompt em vez de digitar, uma entrada por colagem, cada uma uma string ou um array de blocos de conteúdo. Claude Code anexa o texto de cada entrada após o texto digitado, em ordem, e pode envolver cada colagem em tags `<pasted_content>`. Blocos diferentes de texto são ignorados, portanto envie imagens e documentos em `message.content`. Requer Agent SDK v0.3.277 ou posterior.1587Defina `pasted_content` para enviar conteúdo que o usuário colou em sua interface de prompt em vez de digitar, uma entrada por colagem, cada uma uma string ou um array de blocos de conteúdo. Claude Code anexa o texto de cada entrada após o texto digitado, em ordem, e pode envolver cada colagem em tags `<pasted_content>`. Blocos diferentes de texto são ignorados, portanto envie imagens e documentos em `message.content`. Requer Agent SDK v0.3.277 ou posterior.

1426 1588 

1427Defina `shouldQuery` como `false` para anexar a mensagem à transcrição sem acionar um turno do assistente. A mensagem é mantida e mesclada na próxima mensagem do usuário que aciona um turno. Use isso para injetar contexto, como a saída de um comando que você executou fora de banda, sem gastar uma chamada de modelo nela.1589Defina `shouldQuery` ou `client_composed` para alterar como Claude Code manipula uma mensagem que você envia:

1590 

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

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

1428 1593 

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

1430 1595 

1431Para a ferramenta `Agent`, `tool_use_result` é [`AgentOutput`](#agent-2). Em um resultado `completed`, `content` contém o relatório do subagente sem o ID do agente e o trailer de uso que Claude Code anexa ao texto `tool_result`, portanto renderize a partir de `tool_use_result` em vez de analisar esse texto.1596Para a ferramenta `Agent`, `tool_use_result` é [`AgentOutput`](#agent-2). Em um resultado `completed`, `content` contém o relatório do subagente sem o ID do agente e o trailer de uso que Claude Code anexa ao texto `tool_result`, portanto renderize de `tool_use_result` em vez de analisar esse texto.

1432 1597 

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

1434 1599 

1435Defina `inline_pastes` para informar ao Claude Code quais partes de `message.content` o usuário colou em vez de digitar, uma string por colagem. O texto do prompt fica onde o usuário o colocou. Claude Code pode envolver cada colagem listada em tags `<pasted_content>` onde ela está, para que Claude possa distinguir material colado das próprias palavras do usuário. Apenas colagens no último bloco de texto do prompt são envolvidas. Requer TypeScript Agent SDK v0.3.280 ou posterior.1600Defina `inline_pastes` para informar Claude Code quais partes de `message.content` o usuário colou em vez de digitar, uma string por colagem. O texto do prompt fica onde o usuário o colocou. Claude Code pode envolver cada colagem listada em tags `<pasted_content>` onde ela está, para que Claude possa distinguir material colado das próprias palavras do usuário. Apenas colagens no último bloco de texto do prompt são envolvidas. Requer TypeScript Agent SDK v0.3.280 ou posterior.

1436 1601 

1437<h3 id="sdkusermessagereplay">1602<h3 id="sdkusermessagereplay">

1438 `SDKUserMessageReplay`1603 `SDKUserMessageReplay`

1439</h3>1604</h3>

1440 1605 

1441Mensagem de usuário repetida com UUID obrigatório.1606Mensagem do usuário repetida com UUID obrigatório.

1442 1607 

1443```typescript theme={null}1608```typescript theme={null}

1444type SDKUserMessageReplay = {1609type SDKUserMessageReplay = {


1448 message: MessageParam;1613 message: MessageParam;

1449 parent_tool_use_id: string | null;1614 parent_tool_use_id: string | null;

1450 isSynthetic?: boolean;1615 isSynthetic?: boolean;

1616 client_composed?: true;

1451 tool_use_result?: unknown;1617 tool_use_result?: unknown;

1452 origin?: SDKMessageOrigin;1618 origin?: SDKMessageOrigin;

1453 isReplay: true;1619 isReplay: true;

1454};1620};

1455```1621```

1456 1622 

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

1458 1624 

1459<h3 id="sdkresultmessage">1625<h3 id="sdkresultmessage">

1460 `SDKResultMessage`1626 `SDKResultMessage`


1480 ttft_stream_ms?: number;1646 ttft_stream_ms?: number;

1481 user_message_uuid?: string;1647 user_message_uuid?: string;

1482 user_message_uuids?: string[];1648 user_message_uuids?: string[];

1649 resume_reason?: string;

1650 local_command?: string;

1483 request_sent_wall_ms?: number;1651 request_sent_wall_ms?: number;

1484 first_content_frame_ms?: number;1652 first_content_frame_ms?: number;

1485 first_stream_post_ms?: number;1653 first_stream_post_ms?: number;


1493 structured_output?: unknown;1661 structured_output?: unknown;

1494 deferred_tool_use?: { id: string; name: string; input: Record<string, unknown> };1662 deferred_tool_use?: { id: string; name: string; input: Record<string, unknown> };

1495 terminal_reason?: TerminalReason;1663 terminal_reason?: TerminalReason;

1664 result_index?: number;

1496 fast_mode_state?: FastModeState;1665 fast_mode_state?: FastModeState;

1497 fast_mode_disabled_reason?: FastModeDisabledReason;1666 fast_mode_disabled_reason?: FastModeDisabledReason;

1498 origin?: SDKMessageOrigin;1667 origin?: SDKMessageOrigin;


1520 startup_failure_reason?: SDKStartupFailureReason;1689 startup_failure_reason?: SDKStartupFailureReason;

1521 user_message_uuid?: string;1690 user_message_uuid?: string;

1522 user_message_uuids?: string[];1691 user_message_uuids?: string[];

1692 resume_reason?: string;

1523 terminal_reason?: TerminalReason;1693 terminal_reason?: TerminalReason;

1694 result_index?: number;

1524 fast_mode_state?: FastModeState;1695 fast_mode_state?: FastModeState;

1525 fast_mode_disabled_reason?: FastModeDisabledReason;1696 fast_mode_disabled_reason?: FastModeDisabledReason;

1526 origin?: SDKMessageOrigin;1697 origin?: SDKMessageOrigin;


1529 1700 

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

1531 1702 

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

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

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

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

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

1537* `request_sent_wall_ms`: milissegundos de época em que Claude Code despachou a solicitação de API, para junções contra timestamps do lado do servidor. Presente apenas junto com [`user_message_uuid`](#user_message_uuid), em um resultado de sucesso com `is_error` false cujo turno enviou uma solicitação de API.1708* `resume_reason`: por que Claude Code re-executou esta rodada após uma reinicialização interrompê-la. Presente em ambos os braços, e apenas em tal re-execução. Consulte [`resume_reason`](#resume_reason).

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

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

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

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

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

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

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

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

1544* `startup_failure_reason`: por que Claude Code recusou iniciar, na mensagem de resultado `error_during_execution` que escreve antes de sair em uma falha de inicialização conhecida. Veja [`startup_failure_reason`](#startup_failure_reason) para os valores e quais falhas o carregam. Requer Agent SDK v0.3.274 ou posterior.1717* `result_index`: onde este resultado cai na ordem de entrega da execução, contando a partir de 0 em cada resultado que o processo escreve. Presente em ambos os braços. Um resultado cuja escrita falha ainda consome seu número, portanto uma lacuna na sequência significa que um resultado foi perdido. Requer Agent SDK v0.3.268 ou posterior.

1545* `terminal_reason`: por que o loop terminou. Um de `"completed"`, `"max_turns"`, `"tool_deferred"`, `"aborted_streaming"`, `"aborted_tools"`, `"hook_stopped"`, `"stop_hook_prevented"`, `"background_requested"`, `"blocking_limit"`, `"rapid_refill_breaker"`, `"prompt_too_long"`, `"image_error"`, `"model_error"`, `"api_error"`, `"malformed_tool_use_exhausted"`, `"budget_exhausted"`, `"structured_output_retry_exhausted"`, `"tool_deferred_unavailable"`, ou `"turn_setup_failed"`.1718* `startup_failure_reason`: por que Claude Code recusou iniciar, no resultado `error_during_execution` que escreve antes de sair em uma falha de inicialização conhecida. Consulte [`startup_failure_reason`](#startup_failure_reason) para os valores e quais falhas o carregam. Requer Agent SDK v0.3.274 ou posterior.

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

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

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

1549Use o código de razão para explicar por que o modo rápido está desativado em sua própria interface do usuário em vez de rederivá-lo. Cada código nomeia a verificação que bloqueou o modo rápido:1722 

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

1551| Código de razão | Significado |1724 

1725| Código de motivo | Significado |

1552| - | - |1726| - | - |

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

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

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

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

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

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

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

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

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

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

1563 1737 

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

1565 1739 

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

1567 1741 

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

1569 1743 

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

1571 1745 

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

1573 1747 

1574<h4 id="user_message_uuid">1748<h4 id="user_message_uuid">

1575 `user_message_uuid`1749 `user_message_uuid`

1576</h4>1750</h4>

1577 1751 

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

1579 1753 

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

1581 1755 

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

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

1584* **Um prompt que Claude Code gerou a si mesmo**, como o turno que continua o trabalho interrompido após uma sessão reiniciar: o turno não responde nenhuma mensagem sua no início e seus frames não carregam nenhum eco. Se Claude Code pegar uma mensagem regular sua entre chamadas de ferramenta, o turno responde essa mensagem a partir de então. O eco de captura requer Agent SDK v0.3.265 ou posterior; versões anteriores não ecoam nada nesses turnos.1758* **O prompt que Claude Code gera para re-executar uma rodada interrompida sob [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/pt/env-vars)**: quando o último prompt da rodada interrompida é uma mensagem regular que você enviou, independentemente de ter aberto a rodada ou Claude Code tê-la capturado durante a rodada, a re-execução responde essa mensagem no início. [`resume_reason`](#resume_reason) diz os quadros da re-execução do da tentativa interrompida. Quando o último prompt não é uma mensagem regular sua, a re-execução não responde nenhuma mensagem sua no início. Se Claude Code pegar uma mensagem regular sua entre chamadas de ferramenta, a rodada responde a mensagem capturada a partir de então. Ecoar o prompt da rodada interrompida requer Agent SDK v0.3.268 ou posterior.

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

1585 1760 

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

1587 1762 

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

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

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

1591 1766 

1592Claude Code omite o campo nestes casos:1767Claude Code omite o campo nestes casos:

1593 1768 

1594* Frames de resposta diferentes daqueles primeiros frames de resposta1769* Quadros de resposta diferentes daquelas primeiras respostas

1595* Frames de subagente1770* Quadros de subagente

1596* Turnos que não respondem nenhuma mensagem com um `uuid`: o turno respondeu uma mensagem que você enviou sem um, ou Claude Code iniciou o turno a si mesmo e não capturou nenhuma mensagem regular que tenha um1771* Rodadas que não respondem nenhuma mensagem sua, ou respondem uma mensagem que você enviou sem um `uuid`

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

1598 1773 

1599<h4 id="user_message_uuids">1774<h4 id="user_message_uuids">

1600 `user_message_uuids`1775 `user_message_uuids`

1601</h4>1776</h4>

1602 1777 

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

1604 1779 

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

1606 1781 

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

1608 1783 

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

1785 

1786<h4 id="resume_reason">

1787 `resume_reason`

1788</h4>

1789 

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

1791 

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

1793 

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

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

1796 

1797O valor é um token curto em minúsculas nomeando por que a rodada foi re-executada, como `interrupted_turn`. O campo está ausente em cada outra rodada.

1610 1798 

1611<h4 id="queued_turn_count">1799<h4 id="queued_turn_count">

1612 `queued_turn_count`1800 `queued_turn_count`

1613</h4>1801</h4>

1614 1802 

1615O número de mensagens que você enviou com [`origin: { kind: "human" }`](#sdkmessageorigin) que ainda estão esperando na fila de comando quando Claude Code produziu o resultado. Requer Agent SDK v0.3.242 ou posterior.1803O número de mensagens que você enviou com [`origin: { kind: "human" }`](#sdkmessageorigin) que ainda estão aguardando na fila de comandos quando Claude Code produziu o resultado. Requer Agent SDK v0.3.242 ou posterior.

1616 1804 

1617O que `0` e um campo ausente dizem a você:1805O que `0` e um campo ausente indicam:

1618 1806 

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

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

1621 1809 

1622<h4 id="startup_failure_reason">1810<h4 id="startup_failure_reason">

1623 `startup_failure_reason`1811 `startup_failure_reason`

1624</h4>1812</h4>

1625 1813 

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

1627 1815 

1628Defina `CLAUDE_CODE_STARTUP_FAILURE_RESULTS` como `1` em [`env`](#options) para receber este resultado para cada valor `SDKStartupFailureReason`. Sem essa variável, Claude Code escreve o resultado apenas para essas falhas, e o resto termina com saída stderr, uma saída não-zero e nenhuma mensagem de resultado:1816Defina `CLAUDE_CODE_STARTUP_FAILURE_RESULTS` como `1` em [`env`](#options) para receber este resultado para cada valor `SDKStartupFailureReason`. Sem essa variável, Claude Code escreve o resultado apenas para essas falhas, e o resto termina com saída stderr, uma saída diferente de zero e nenhuma mensagem de resultado:

1629 1817 

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

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

1632 1820 

1633```typescript theme={null}1821```typescript theme={null}

1634type SDKStartupFailureReason =1822type SDKStartupFailureReason =


1655| Valor | O que parou a sessão |1843| Valor | O que parou a sessão |

1656| :- | :- |1844| :- | :- |

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

1658| `org_verify_failed` | A organização do login não pôde ser verificada contra o pin, por exemplo devido a uma falha de rede ou um token revogado |1846| `org_verify_failed` | A organização do login não conseguiu ser verificada contra o pin, por exemplo, por causa de uma falha de rede ou um token revogado |

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

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

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

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

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

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

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

1666| `cwd_unavailable` | O diretório de trabalho foi deletado, movido ou não pode ser lido |1854| `cwd_unavailable` | O diretório de trabalho foi deletado, movido ou não consegue ser lido |

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

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

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

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

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

1672| `bypass_root` | Modo de permissões de bypass foi solicitado enquanto executava como root |1860| `bypass_root` | Modo de permissões de bypass foi solicitado enquanto executava como root |

1673 1861 


1701 output_style: string;1889 output_style: string;

1702 skills: string[];1890 skills: string[];

1703 plugins: { name: string; path: string }[];1891 plugins: { name: string; path: string }[];

1892 plugin_errors?: {

1893 plugin: string;

1894 type: string;

1895 message: string;

1896 path?: string;

1897 }[];

1704 fast_mode_state?: FastModeState;1898 fast_mode_state?: FastModeState;

1705 fast_mode_disabled_reason?: FastModeDisabledReason;1899 fast_mode_disabled_reason?: FastModeDisabledReason;

1706 effort?: "low" | "medium" | "high" | "xhigh" | "max" | null;1900 effort?: "low" | "medium" | "high" | "xhigh" | "max" | null;


1708};1902};

1709```1903```

1710 1904 

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

1712 1906 

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

1714 1908 

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

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

1716 1911 

1717`source` em cada entrada `mcp_servers`: de onde veio a definição do servidor, com os mesmos valores que [`McpServerStatus`](#mcpserverstatus)'s `source`. Requer Agent SDK v0.3.274 ou posterior.1912O array `capabilities` nomeia os comportamentos de protocolo que este CLI implementa, para que você possa fazer detecção de recursos em vez de comparar strings `claude_code_version`. É um conjunto aberto: ignore valores que você não reconheça, e verifique a capacidade específica cujo comportamento você depende. O campo requer Claude Code v2.1.205 ou posterior e está ausente em CLIs anteriores.

1718 1913 

1719*1914| Capacidade | Significado |

1915| - | - |

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

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

1720 1918 

1721`effort`: o [nível de esforço](/docs/pt/model-config#adjust-effort-level) que Claude Code envia na próxima solicitação da sessão, ou `null` quando não envia nenhum. Claude Code define o campo apenas na mensagem de inicialização que envia para clientes [Remote Control](/docs/pt/remote-control), e o omite da mensagem de inicialização que sua aplicação lê. Requer Agent SDK v0.3.234 ou posterior.1919O array `plugin_errors` lista falhas de carregamento de plugin. Uma entrada descreve um plugin que não carregou e está ausente de `plugins`, ou um plugin que carregou sem uma de suas partes, como seu arquivo de hooks. A chave é omitida quando nada falhou. `SDKSystemMessage` declara `plugin_errors` em Agent SDK v0.3.283 ou posterior.

1722 1920 

1723O array `capabilities` nomeia os comportamentos de protocolo que esta CLI implementa, para que você possa fazer detecção de recursos em vez de comparar strings `claude_code_version`. É um conjunto aberto: ignore valores que você não reconhecer, e verifique a capacidade específica cujo comportamento você depende. O campo requer Claude Code v2.1.205 ou posterior e está ausente em CLIs anteriores.1921Quando um diretório ou arquivo de sua opção [`plugins`](#options) falha em carregar, o campo `plugin` da entrada contém uma tag posicional como `inline[0]` em vez de um nome de plugin. Isso acontece, por exemplo, quando o caminho não existe ou o manifesto é inválido. Corresponda tal entrada à sua opção pelo seu campo `path`.

1724 1922 

1725| Capacidade | Significado |1923A tabela abaixo lista os campos de cada entrada `plugin_errors`.

1726| - | - |1924 

1727| `interrupt_receipt_v1` | [`interrupt()`](#query-object) resolve com uma resposta [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse) listando as mensagens que estavam pendentes quando a interrupção chegou |1925| Campo | Tipo | Descrição |

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

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

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

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

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

1729 1931 

1730<h3 id="sdkpartialassistantmessage">1932<h3 id="sdkpartialassistantmessage">

1731 `SDKPartialAssistantMessage`1933 `SDKPartialAssistantMessage`


1736```typescript theme={null}1938```typescript theme={null}

1737type SDKPartialAssistantMessage = {1939type SDKPartialAssistantMessage = {

1738 type: "stream_event";1940 type: "stream_event";

1739 event: BetaRawMessageStreamEvent; // Do SDK Anthropic1941 event: BetaRawMessageStreamEvent; // From Anthropic SDK

1740 parent_tool_use_id: string | null;1942 parent_tool_use_id: string | null;

1741 uuid: UUID;1943 uuid: UUID;

1742 session_id: string;1944 session_id: string;

1743 ttft_ms?: number; // Tempo até o primeiro token em ms, presente apenas em eventos message_start1945 ttft_ms?: number; // Time to first token in ms, present only on message_start events

1744 user_message_uuid?: string;1946 user_message_uuid?: string;

1745 user_message_uuids?: string[];1947 user_message_uuids?: string[];

1948 resume_reason?: string;

1746};1949};

1747```1950```

1748 1951 

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

1750 1953 

1751<h3 id="sdkcompactboundarymessage">1954<h3 id="sdkcompactboundarymessage">

1752 `SDKCompactBoundaryMessage`1955 `SDKCompactBoundaryMessage`


1771 `SDKInformationalMessage`1974 `SDKInformationalMessage`

1772</h3>1975</h3>

1773 1976 

1774Banner de texto genérico emitido pelo loop. Carrega linhas de status sem erro, feedback de hook como a razão de bloqueio de um hook `UserPromptSubmit`, e saída de comando. Em Claude Code v2.1.227 ou posterior, a [`systemMessage`](/docs/pt/hooks#json-output) de um hook pode chegar como esta mensagem, com cada linha prefixada pelo nome do hook, como `PostToolUse:Bash says:`. Se a `systemMessage` de um hook chega como esta mensagem depende do evento. Cada [seção de evento](/docs/pt/hooks#hook-events) na página de hooks diz como a saída aparece. Renderize `content` como texto simples no `level` fornecido.1977Banner de texto genérico emitido pelo loop. Carrega avisos, notificações e outras linhas de status não-erro que Claude Code levanta, e feedback de hook como um motivo de bloqueio de hook `UserPromptSubmit`.

1978 

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

1980 

1981Renderize `content` como texto simples no `level` dado.

1775 1982 

1776```typescript theme={null}1983```typescript theme={null}

1777type SDKInformationalMessage = {1984type SDKInformationalMessage = {


1790 `SDKWorkerShuttingDownMessage`1997 `SDKWorkerShuttingDownMessage`

1791</h3>1998</h3>

1792 1999 

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

1794 2001 

1795```typescript theme={null}2002```typescript theme={null}

1796type SDKWorkerShuttingDownMessage = {2003type SDKWorkerShuttingDownMessage = {


1806 `SDKPluginInstallMessage`2013 `SDKPluginInstallMessage`

1807</h3>2014</h3>

1808 2015 

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

1810 2017 

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

1812type SDKPluginInstallMessage = {2019type SDKPluginInstallMessage = {


1824 `SDKPermissionDeniedMessage`2031 `SDKPermissionDeniedMessage`

1825</h3>2032</h3>

1826 2033 

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

1828 2035 

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

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

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

1832**Com nenhum**: uma execução `-p` simples, ou `query()` que não define nem `canUseTool` nem `permissionPromptToolName`, nega qualquer chamada de ferramenta que teria solicitado, e este evento relata essas negações bem como as que Claude Code decide por conta própria. Antes da v2.1.223, Claude Code não emitia este evento em execuções sem um callback.2039* **Com [`permissionPrompts: 'none'`](#options)**: Claude Code nega as chamadas que teriam solicitado, mesmo quando `canUseTool` ou uma ferramenta de prompt MCP também está definida, e este evento relata essas negações bem como as que Claude Code decide por conta própria. Requer Claude Code v2.1.259 ou posterior.

1833 

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

1835*

1836 2040 

1837**Com [`permissionPrompts: 'none'`](#options)**: Claude Code nega as chamadas que teriam solicitado, mesmo quando `canUseTool` ou uma ferramenta de prompt MCP também está definida, e este evento relata essas negações bem como as que Claude Code decide por conta própria. Requer Claude Code v2.1.259 ou posterior.2041Em cada configuração, este evento pula qualquer negação decidida no caminho do hook `PreToolUse`, independentemente de o hook ter negado a chamada em si ou uma regra de negação ter sobrescrito a decisão de permitir ou perguntar do hook. O evento também é melhor esforço: ocasionalmente Claude Code registra uma negação sem emitir este evento, portanto `permission_denials` na [mensagem de resultado](#sdkresultmessage) é o registro autoritário.

1838 

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

1840 2042 

1841```typescript theme={null}2043```typescript theme={null}

1842type SDKPermissionDeniedMessage = {2044type SDKPermissionDeniedMessage = {


1857| - | - | - |2059| - | - | - |

1858| `tool_name` | `string` | Nome da ferramenta que foi negada |2060| `tool_name` | `string` | Nome da ferramenta que foi negada |

1859| `tool_use_id` | `string` | ID do bloco `tool_use` que esta negação responde |2061| `tool_use_id` | `string` | ID do bloco `tool_use` que esta negação responde |

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

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

1862| `decision_reason` | `string` | Razão legível por humanos do componente que decidiu, quando disponível |2064| `decision_reason` | `string` | Motivo legível por humanos do componente que decidiu, quando disponível |

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

1864 2066 

1865<h3 id="sdkpermissiondenial">2067<h3 id="sdkpermissiondenial">

1866 `SDKPermissionDenial`2068 `SDKPermissionDenial`

1867</h3>2069</h3>

1868 2070 

1869Informações sobre um uso de ferramenta negado.2071Informação sobre um uso de ferramenta negado.

1870 2072 

1871```typescript theme={null}2073```typescript theme={null}

1872type SDKPermissionDenial = {2074type SDKPermissionDenial = {


1921 2123 

1922| Campo | Tipo | Descrição |2124| Campo | Tipo | Descrição |

1923| - | - | - |2125| - | - | - |

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

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

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

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

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

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

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

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

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

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

1934 2136 

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

1936 2138 


1943 `SDKContextUsageCategory`2145 `SDKContextUsageCategory`

1944</h3>2146</h3>

1945 2147 

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

1947 2149 

1948```typescript theme={null}2150```typescript theme={null}

1949type SDKContextUsageCategory = {2151type SDKContextUsageCategory = {


1957 2159 

1958| Campo | Tipo | Descrição |2160| Campo | Tipo | Descrição |

1959| - | - | - |2161| - | - | - |

1960| `name` | `string` | O nome de exibição da linha como `/context` a imprime, como `Messages`. Classifique linhas por `kind`, não por nome |2162| `name` | `string` | O nome de exibição da linha conforme `/context` o imprime, como `Messages`. Classifique linhas por `kind`, não por nome |

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

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

1963 2165 

1964Cada valor `kind` diz o que os tokens da linha são:2166Cada valor `kind` diz o que os tokens da linha são:

1965 2167 


1972 `SDKMessageOrigin`2174 `SDKMessageOrigin`

1973</h3>2175</h3>

1974 2176 

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

1976 2178 

1977```typescript theme={null}2179```typescript theme={null}

1978type SDKMessageOrigin =2180type SDKMessageOrigin =


2000 2202 

2001| `kind` | Significado |2203| `kind` | Significado |

2002| - | - |2204| - | - |

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

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

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

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

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

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

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

2010 2212 

2011<h3 id="task-notification-subkinds">2213<h3 id="task-notification-subkinds">

2012 Subtipos de notificação de tarefa2214 Subtipos de notificação de tarefa

2013</h3>2215</h3>

2014 2216 

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

2016 

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

2018*

2019 2218 

2020`peer-send-message`: a notificação é uma mensagem que outra de suas sessões enviou com a ferramenta `send_message` do lado do servidor que [Claude Code na web](/docs/pt/claude-code-on-the-web) sessões usam para se mensagear, não a [ferramenta `SendMessage` entre sessões](/docs/pt/cross-session-messaging), e servidores Anthropic verificaram que ambas as sessões pertencem ao mesmo grupo privado de sessões. Requer Claude Code v2.1.224 ou posterior. Uma entrega `send_message` que os servidores não verificaram dessa forma não tem `subkind`.2219* `scheduled-trigger`: a notificação é um prompt armazenado de uma [rotina](/docs/pt/routines), entregue porque um dos gatilhos da rotina disparou: seu cronograma, seu [gatilho de API](/docs/pt/routines#add-an-api-trigger), seu [gatilho GitHub](/docs/pt/routines#add-a-github-trigger), ou **Executar agora**. Um prompt que sua aplicação [declara como uma execução agendada](#declare-a-scheduled-run) carrega este valor também. Claude Code enquadra estes para o modelo como a tarefa atribuída da sessão, com um aviso diferente do [aviso que outras notificações de tarefa carregam](#sdktasknotificationmessage).

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

2021 2221 

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

2023 2223 

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

2025 2225 

2026<h4 id="declare-a-scheduled-run">2226<h4 id="declare-a-scheduled-run">

2027 Declare a scheduled run2227 Declarar uma execução agendada

2028</h4>2228</h4>

2029 2229 

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

2031 2231 

2032<h3 id="peer-origin-fields">2232<h3 id="peer-origin-fields">

2033 Campos de origem de par2233 Campos de origem de colega

2034</h3>2234</h3>

2035 2235 

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

2037 

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

2039*

2040 2237 

2041`fromMode`: a classe de permissão da sessão de envio, `bypass` ou `prompting`, declarada por um host que retransmite uma mensagem de par entre suas sessões, como o [aplicativo de desktop](/docs/pt/desktop#work-across-sessions). Claude Code a lê na sessão receptora quando aplica os [controles de entrada](/docs/pt/cross-session-messaging#control-inbound-messages). Requer Agent SDK v0.3.234 ou posterior.2238* `from`: o nome do colega, ou o endereço do remetente para um colega entre sessões. Para uma [mensagem entre máquinas unidirecional](/docs/pt/cross-session-messaging#message-sessions-on-other-machines), o remetente não tem endereço de resposta e `from` é `"unknown"`. O valor é criado pelo remetente; `verifiedPeerPid` é a identidade verificada.

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

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

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

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

2046`name`: o nome de exibição do remetente, normalizado por Claude Code: remove pontos de código de controle, formato, substituto e separador de linha ou parágrafo Unicode, depois corta o resultado e o limita a 64 pontos de código com reticências. Requer Claude Code v2.1.205 ou posterior.2243* `fromSession`: o ID de sessão do remetente que pode ser aberto pelo host, definido pelo host do remetente para que sua interface possa vincular de volta à sessão de envio. Como `from`, é afirmado pelo remetente: use-o como alvo de navegação apenas, e não o trate como prova da identidade do remetente. Requer Claude Code v2.1.216 ou posterior.

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

2048*

2049 

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

2051 

2052*

2053 

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

2055 

2056*

2057 

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

2059 2245 

2060<h2 id="hook-types">2246<h2 id="hook-types">

2061 Tipos de Hook2247 Tipos de Hook


2885 Tipos de Entrada de Ferramenta3071 Tipos de Entrada de Ferramenta

2886</h2>3072</h2>

2887 3073 

2888Documentação de esquemas de entrada para todas as ferramentas integradas do Claude Code. Esses tipos são exportados de `@anthropic-ai/claude-agent-sdk` e podem ser usados para interações de ferramenta type-safe.3074Documentação de esquemas de entrada para todas as ferramentas integradas do Claude Code. Esses tipos são exportados de `@anthropic-ai/claude-agent-sdk/sdk-tools` e podem ser usados para interações de ferramenta type-safe.

2889 3075 

2890<h3 id="toolinputschemas">3076<h3 id="toolinputschemas">

2891 `ToolInputSchemas`3077 `ToolInputSchemas`

2892</h3>3078</h3>

2893 3079 

2894União de tipos de entrada de ferramenta exportados de `@anthropic-ai/claude-agent-sdk`; os membros incluem:3080União de tipos de entrada de ferramenta exportados de `@anthropic-ai/claude-agent-sdk/sdk-tools`; os membros incluem:

2895 3081 

2896```typescript theme={null}3082```typescript theme={null}

2897type ToolInputSchemas =3083type ToolInputSchemas =


3693 Tipos de Saída de Ferramenta3879 Tipos de Saída de Ferramenta

3694</h2>3880</h2>

3695 3881 

3696Documentação de esquemas de saída para todas as ferramentas integradas do Claude Code. Esses tipos são exportados de `@anthropic-ai/claude-agent-sdk` e representam os dados de resposta reais retornados por cada ferramenta.3882Documentação de esquemas de saída para todas as ferramentas integradas do Claude Code. Esses tipos são exportados de `@anthropic-ai/claude-agent-sdk/sdk-tools` e representam os dados de resposta reais retornados por cada ferramenta.

3697 3883 

3698<h3 id="tooloutputschemas">3884<h3 id="tooloutputschemas">

3699 `ToolOutputSchemas`3885 `ToolOutputSchemas`

3700</h3>3886</h3>

3701 3887 

3702União de tipos de saída de ferramenta exportados de `@anthropic-ai/claude-agent-sdk`; os membros incluem:3888União de tipos de saída de ferramenta exportados de `@anthropic-ai/claude-agent-sdk/sdk-tools`; os membros incluem:

3703 3889 

3704```typescript theme={null}3890```typescript theme={null}

3705type ToolOutputSchemas =3891type ToolOutputSchemas =


5538 `SDKTaskProgressMessage`5724 `SDKTaskProgressMessage`

5539</h3>5725</h3>

5540 5726 

5541Emitido periodicamente enquanto um subagente ou tarefa de background está em execução. O campo `summary` é preenchido apenas quando [`agentProgressSummaries`](#options) está ativado.5727Emitido periodicamente enquanto um subagente ou tarefa de background está em execução.

5728 

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

5542 5730 

5543```typescript theme={null}5731```typescript theme={null}

5544type SDKTaskProgressMessage = {5732type SDKTaskProgressMessage = {


5701 5889 

5702Emitido quando o conjunto de comandos disponíveis muda durante a sessão, como quando Claude Code descobre skills conforme o agente entra em um subdiretório. O array `commands` é a lista completa atualizada, então substitua qualquer lista de comandos em cache por este payload. Chamar [`supportedCommands()`](#query-object) após esta mensagem retorna a mesma lista atualizada, porque o método rastreia o push mais recente; isso requer Agent SDK v0.3.216 ou posterior. Em versões anteriores do SDK, `supportedCommands()` retorna o snapshot capturado na inicialização e nunca reflete mudanças durante a sessão.5890Emitido quando o conjunto de comandos disponíveis muda durante a sessão, como quando Claude Code descobre skills conforme o agente entra em um subdiretório. O array `commands` é a lista completa atualizada, então substitua qualquer lista de comandos em cache por este payload. Chamar [`supportedCommands()`](#query-object) após esta mensagem retorna a mesma lista atualizada, porque o método rastreia o push mais recente; isso requer Agent SDK v0.3.216 ou posterior. Em versões anteriores do SDK, `supportedCommands()` retorna o snapshot capturado na inicialização e nunca reflete mudanças durante a sessão.

5703 5891 

5892Claude Code também emite esta mensagem quando [prompts](/docs/pt/mcp#use-mcp-prompts-as-commands) de um servidor MCP entram ou saem da lista, por exemplo quando um servidor termina de se conectar após a sessão iniciar. Isso requer Claude Code v2.1.281 ou posterior.

5893 

5704```typescript theme={null}5894```typescript theme={null}

5705type SDKCommandsChangedMessage = {5895type SDKCommandsChangedMessage = {

5706 type: "system";5896 type: "system";


5738 new_conversation_id: UUID;5928 new_conversation_id: UUID;

5739 uuid: UUID;5929 uuid: UUID;

5740 session_id: string;5930 session_id: string;

5931 trigger?: "clear" | "plan_mode_exit" | "fresh_session" | "onboarding";

5932 user_message_uuid?: string;

5933 timestamp?: string;

5741};5934};

5742```5935```

5743 5936 

5937Os campos opcionais descrevem o reset:

5938 

5939* `trigger`: o que descartou a conversa. Redefina sua transcrição em cada mensagem `conversation_reset`, incluindo uma onde este campo está ausente ou carrega um valor que você não reconhece.

5940* `user_message_uuid`: o `uuid` da mensagem de usuário que carregava o `/clear`. Use-o para corresponder o reset a essa mensagem.

5941* `timestamp`: quando o reset aconteceu, como uma string ISO 8601 em UTC. Use-o para exibição, não para ordenar mensagens.

5942 

5943Os campos `trigger`, `user_message_uuid` e `timestamp` requerem Claude Code v2.1.281 ou posterior.

5944 

5744As tipagens publicadas do SDK declaram `SDKConversationResetMessage` no Claude Code v2.1.203 e posterior. Antes de v2.1.203, `SDKMessage` referenciava o tipo sem declará-lo, então o estreitamento em `type === "conversation_reset"` falhou ao verificar o tipo quando `skipLibCheck` estava desativado.5945As tipagens publicadas do SDK declaram `SDKConversationResetMessage` no Claude Code v2.1.203 e posterior. Antes de v2.1.203, `SDKMessage` referenciava o tipo sem declará-lo, então o estreitamento em `type === "conversation_reset"` falhou ao verificar o tipo quando `skipLibCheck` estava desativado.

5745 5946 

5746<h3 id="aborterror">5947<h3 id="aborterror">


5857| `allowedDomains` | `string[]` | `[]` | Nomes de domínio que processos em sandbox podem acessar |6058| `allowedDomains` | `string[]` | `[]` | Nomes de domínio que processos em sandbox podem acessar |

5858| `deniedDomains` | `string[]` | `[]` | Nomes de domínio que processos em sandbox não podem acessar. Tem precedência sobre `allowedDomains` |6059| `deniedDomains` | `string[]` | `[]` | Nomes de domínio que processos em sandbox não podem acessar. Tem precedência sobre `allowedDomains` |

5859| `strictAllowlist` | `boolean` | `false` | Negar acesso de comandos em sandbox a hosts fora da [lista de permissões de rede](/docs/pt/sandboxing#network-isolation) em vez de solicitar. Aplicado apenas para comandos em sandbox; ferramentas em processo como WebFetch não são controladas por isso. Apenas honrado a partir de configurações de usuário, gerenciadas ou CLI `--settings`; configurações de projeto são ignoradas. Requer Claude Code v2.1.219 ou posterior |6060| `strictAllowlist` | `boolean` | `false` | Negar acesso de comandos em sandbox a hosts fora da [lista de permissões de rede](/docs/pt/sandboxing#network-isolation) em vez de solicitar. Aplicado apenas para comandos em sandbox; ferramentas em processo como WebFetch não são controladas por isso. Apenas honrado a partir de configurações de usuário, gerenciadas ou CLI `--settings`; configurações de projeto são ignoradas. Requer Claude Code v2.1.219 ou posterior |

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

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

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

5863| `allowAllUnixSockets` | `boolean` | `false` | Permitir acesso a todos os sockets Unix |6064| `allowAllUnixSockets` | `boolean` | `false` | Permitir acesso a todos os sockets Unix |

Details

296 <Tab title="Aprovar e lembrar">296 <Tab title="Aprovar e lembrar">

297 O usuário aprova e não quer ser perguntado novamente para este tipo de chamada. O terceiro argumento de callback carrega `suggestions`, uma matriz de entradas [`PermissionUpdate`](/docs/pt/agent-sdk/typescript#permissionupdate) prontas. Repita uma de volta em `updatedPermissions` para aplicá-la. Uma sugestão com o destino `localSettings` escreve a regra em `.claude/settings.local.json` para que futuras sessões ignorem o prompt para chamadas correspondentes.297 O usuário aprova e não quer ser perguntado novamente para este tipo de chamada. O terceiro argumento de callback carrega `suggestions`, uma matriz de entradas [`PermissionUpdate`](/docs/pt/agent-sdk/typescript#permissionupdate) prontas. Repita uma de volta em `updatedPermissions` para aplicá-la. Uma sugestão com o destino `localSettings` escreve a regra em `.claude/settings.local.json` para que futuras sessões ignorem o prompt para chamadas correspondentes.

298 298 

299 Em TypeScript, pule a escolha de sempre permitir para uma solicitação cujas opções carregam [`suppressAlwaysAllowRule: true`](/docs/pt/agent-sdk/typescript#canusetool). A dica requer Agent SDK v0.3.268 ou posterior, e o `context` Python não a carrega.

300 

299 O exemplo Python requer `claude-agent-sdk` 0.1.80 ou posterior.301 O exemplo Python requer `claude-agent-sdk` 0.1.80 ou posterior.

300 302 

301 <CodeGroup>303 <CodeGroup>

agent-teams.md +3 −1

Details

333 Context e comunicação333 Context e comunicação

334</h3>334</h3>

335 335 

336Cada companheiro de equipe tem sua própria context window. Quando gerado, um companheiro de equipe carrega o mesmo contexto de projeto que uma sessão regular: CLAUDE.md, MCP servers e skills. Ele também recebe o prompt de geração do líder. O histórico de conversa do líder não é transferido.336Cada companheiro de equipe tem sua própria context window. Quando gerado, um companheiro de equipe carrega o mesmo contexto de projeto que uma sessão regular: CLAUDE.md, MCP servers e skills. Se você iniciar o líder com [`--setting-sources`](/docs/pt/cli-reference#cli-flags), os companheiros de equipe carregam de uma lista restrita de fontes. Antes da v2.1.281, os companheiros de equipe em [painel dividido](#choose-a-display-mode) carregavam todas as fontes de configurações.

337 

338Um companheiro de equipe também recebe o prompt de geração do líder. O histórico de conversa do líder não é transferido.

337 339 

338**Como os companheiros de equipe compartilham informações:**340**Como os companheiros de equipe compartilham informações:**

339 341 

agent-view.md +154 −138

Details

260 260 

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

262 262 

263Você pode desativar este atalho com a configuração `leftArrowOpensAgents` em `/config`.263Você pode desativar este atalho com a configuração [`leftArrowOpensAgents`](/docs/pt/settings-reference#leftarrowopensagents) em `/config`.

264 264 

265<h3 id="organize-the-list">265<h3 id="organize-the-list">

266 Organizar a lista266 Organizar a lista


340 Despachar novos agentes340 Despachar novos agentes

341</h2>341</h2>

342 342 

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

344 344 

345<h3 id="from-agent-view">345<h3 id="from-agent-view">

346 From agent view346 A partir da visualização de agentes

347</h3>347</h3>

348 348 

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

350 350 

351O nome automático é um rótulo curto escrito por um [modelo da classe Haiku](/docs/pt/model-config). Um nome que a sessão recebe mais tarde também aparece em sua linha, incluindo o [título gerado](/docs/pt/sessions#name-your-sessions) que a sessão recebe quando você [aceita um plano](/docs/pt/permission-modes#review-and-approve-a-plan) naquela sessão.351O nome automático é um rótulo curto escrito por um [modelo da classe Haiku](/docs/pt/model-config). Um nome que a sessão recebe mais tarde também aparece em sua linha, incluindo o [título gerado](/docs/pt/sessions#name-your-sessions) que a sessão recebe quando você [aceita um plano](/docs/pt/permission-modes#review-and-approve-a-plan) nessa sessão.

352 352 

353Cole uma imagem no prompt para incluir uma captura de tela ou diagrama com a tarefa.353Cole uma imagem no prompt para incluir uma captura de tela ou diagrama com a tarefa.

354 354 

355Texto colado mais longo que 800 caracteres ou mais de três linhas se recolhe para um placeholder `[Pasted text #N]` para que a entrada permaneça em uma linha; o texto completo é enviado quando você despacha. Para revisar ou editar o texto recolhido antes de despachar, cole o mesmo texto novamente e o placeholder se expande de volta para a entrada.355O texto colado com mais de 800 caracteres ou mais de três linhas é recolhido para um espaço reservado `[Pasted text #N]` para que a entrada permaneça em uma linha; o texto completo é enviado quando você despacha. Para revisar ou editar o texto recolhido antes de despachar, cole o mesmo texto novamente e o espaço reservado se expande de volta para a entrada.

356 356 

357Prefixe ou mencione partes do prompt para controlar como a sessão é iniciada:357Prefixe ou mencione partes do prompt para controlar como a sessão é iniciada:

358 358 

359| Entrada | Efeito |359| Entrada | Efeito |

360| :- | :- |360| :- | :- |

361| `<agent-name> <prompt>` | Se a primeira palavra corresponder a um nome de [subagent](/docs/pt/sub-agents) personalizado, esse subagent é executado como o agente principal da sessão com a configuração de seu frontmatter |361| `<agent-name> <prompt>` | Se a primeira palavra corresponder a um nome de [subagente](/docs/pt/sub-agents) personalizado, esse subagente é executado como o agente principal da sessão com a configuração de seu frontmatter |

362| `@<agent-name>` | Mencione um subagent personalizado em qualquer lugar do prompt para executá-lo como o agente principal |362| `@<agent-name>` | Mencione um subagente personalizado em qualquer lugar do prompt para executá-lo como o agente principal |

363| `@<repo>` | Mencione um repositório para executar a sessão lá. Veja [Dispatch to a specific directory](#dispatch-to-a-specific-directory) para saber quais repositórios são listados |363| `@<repo>` | Mencione um repositório para executar a sessão lá. Veja [Despachar para um diretório específico](#dispatch-to-a-specific-directory) para saber quais repositórios são listados |

364| `/<command>` | Sugerir [skills](/docs/pt/skills) e [commands](/docs/pt/commands) para despachar como o prompt |364| `/<command>` | Sugira [skills](/docs/pt/skills) e [comandos](/docs/pt/commands) para despachar como o prompt |

365| `! <command>` | Execute um comando shell como um trabalho em background em vez de iniciar uma sessão Claude. O trabalho aparece como uma linha que você pode anexar, observar e desanexar |365| `! <command>` | Execute um comando do shell como um trabalho em segundo plano em vez de iniciar uma sessão do Claude. O trabalho aparece como uma linha que você pode anexar, observar e desanexar |

366| `#<number>` ou uma URL de pull ou merge request | Se uma sessão já está trabalhando naquele pull request ou merge request, Claude Code seleciona sua linha em vez de despachar uma nova sessão |366| `#<number>` ou uma URL de pull request ou merge request | Se uma sessão já está trabalhando nesse pull request ou merge request, Claude Code seleciona sua linha em vez de despachar uma nova sessão |

367 367 

368Um pequeno conjunto de comandos é executado em agent view em si em vez de ser despachado:368Um pequeno conjunto de comandos é executado na própria visualização de agentes em vez de despachar:

369 369 

370* `/exit` e `/quit` fecham agent view370* `/exit` e `/quit` fecham a visualização de agentes

371* `/logout` desconecta você371* `/logout` desconecta você

372* `/model` define o [modelo de despacho](#set-the-model)372* `/model` define o [modelo de despacho](#set-the-model)

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

374* Um `/resume` simples, ou seu alias `/continue`, abre um seletor das sessões passadas do repositório para [trazer uma de volta](#organize-the-list) como uma sessão em background. Requer Claude Code v2.1.212 ou posterior374* Um `/resume` simples, ou seu alias `/continue`, abre um seletor das sessões passadas do repositório para [trazer uma de volta](#organize-the-list) como uma sessão em segundo plano. Requer Claude Code v2.1.212 ou posterior

375 375 

376Skills, seus próprios comandos e built-ins que expandem prompts como `/init` são enviados para uma nova sessão em background como seu primeiro prompt. Outros comandos built-in mostram uma dica `attach to a session to run it` em vez disso. Tudo que você digitou permanece na entrada ao lado da dica para que você possa editá-lo.376Skills, seus próprios comandos e built-ins que expandem prompts, como `/init`, são enviados para uma nova sessão em segundo plano como seu primeiro prompt. Outros comandos built-in mostram uma dica `attach to a session to run it` em vez disso. Tudo o que você digitou permanece na entrada ao lado da dica para que você possa editá-lo.

377 377 

378Empacotar uma tarefa recorrente como uma [skill](/docs/pt/skills) permite que você inicie o mesmo fluxo de trabalho a partir de agent view repetidamente sem redigitar o prompt.378Empacotar uma tarefa recorrente como uma [skill](/docs/pt/skills) permite que você inicie o mesmo fluxo de trabalho a partir da visualização de agentes repetidamente sem redigitar o prompt.

379 379 

380Quando o mesmo `@name` corresponde tanto a um subagent quanto a um repositório irmão, o subagent tem precedência. A correspondência de primeira palavra também se aplica, portanto um prompt que começa com um de seus nomes de subagent despacha esse subagent em vez de tratar a palavra como texto simples. Use a forma `@` quando quiser ser explícito, ou comece o prompt com uma palavra diferente para evitar a correspondência.380Quando o mesmo `@name` corresponde tanto a um subagente quanto a um repositório irmão, o subagente tem precedência. A correspondência de primeira palavra simples também se aplica, portanto um prompt que começa com um de seus nomes de subagente despacha esse subagente em vez de tratar a palavra como texto simples. Use o formulário `@` quando quiser ser explícito, ou comece o prompt com uma palavra diferente para evitar a correspondência.

381 381 

382<h4 id="dispatch-to-a-specific-directory">382<h4 id="dispatch-to-a-specific-directory">

383 Dispatch to a specific directory383 Despachar para um diretório específico

384</h4>384</h4>

385 385 

386Uma nova sessão é executada no diretório em que você abriu agent view. Para direcionar um diretório diferente, use qualquer um destes:386Uma nova sessão é executada no diretório do qual você abriu a visualização de agentes. Para direcionar um diretório diferente, use qualquer um destes:

387 387 

388* Abra `claude agents` naquele diretório.388* Abra `claude agents` nesse diretório.

389* Abra `claude agents` em um diretório pai e mencione um repositório filho com `@<repo>` no prompt. Digitando `@` lista estes destinos:389* Abra `claude agents` em um diretório pai e mencione um repositório filho com `@<repo>` no prompt. Digitar `@` lista esses destinos:

390 390 

391 * Repositórios Git um nível abaixo do diretório de lançamento391 * Repositórios Git um nível abaixo do diretório de inicialização

392 * Os [git worktrees](/docs/pt/worktrees) registrados do repositório a partir do qual você iniciou que vivem dentro de sua árvore de diretórios, como os que Claude cria sob `.claude/worktrees/`, rotulados com seu branch verificado. Worktrees adicionados fora do repositório, como com `git worktree add ../feature`, não são listados392 * Os [git worktrees](/docs/pt/worktrees) registrados do repositório do qual você iniciou que vivem dentro de sua árvore de diretórios, como os que Claude cria sob `.claude/worktrees/`, rotulados com seu branch verificado. Worktrees adicionados fora do repositório, como com `git worktree add ../feature`, não são listados

393 * Qualquer diretório que já tenha uma sessão na lista393 * Qualquer diretório que já tenha uma sessão na lista

394 394 

395 Um diretório cujo nome contém um espaço não é listado.395 Um diretório cujo nome contém um espaço não é listado.

396* Do shell, `cd` para o diretório e execute `claude --bg "<prompt>"`.396* Do shell, `cd` para o diretório e execute `claude --bg "<prompt>"`.

397 397 

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

399 399 

400<h3 id="from-inside-a-session">400<h3 id="from-inside-a-session">

401 From inside a session401 De dentro de uma sessão

402</h3>402</h3>

403 403 

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

405 405 

406<h4 id="send-the-session-to-the-background">406<h4 id="send-the-session-to-the-background">

407 Send the session to the background407 Enviar a sessão para o segundo plano

408</h4>408</h4>

409 409 

410Execute `/background` ou seu alias `/bg` para mover a conversa atual para uma sessão em background. Passe um prompt como `/bg run the test suite and fix any failures` para dar uma instrução adicional primeiro. Se Claude estiver respondendo quando você executar `/bg`, a resposta continua na sessão em background.410Execute `/background` ou seu alias `/bg` para mover a conversa atual para uma sessão em segundo plano. Passe um prompt como `/bg run the test suite and fix any failures` para dar uma instrução adicional primeiro. Se Claude estiver respondendo quando você executar `/bg`, a resposta continua na sessão em segundo plano.

411 411 

412Sair de uma sessão que ainda tem trabalho em background em execução, como subagents, comandos shell em background, workflows ou [monitors](/docs/pt/tools-reference#monitor-tool), mostra um diálogo `Background work is running` em vez de sair imediatamente. Escolha `Move to background and exit` para colocar a sessão em background da mesma forma que `/background` faz e retornar ao seu shell. A opção não é mostrada quando agent view está [desativado](#turn-off-agent-view).412Sair de uma sessão que ainda tem trabalho em segundo plano em execução, como subagentes, comandos de shell em segundo plano, fluxos de trabalho ou [monitores](/docs/pt/tools-reference#monitor-tool), mostra um diálogo `Background work is running` em vez de sair imediatamente. Escolha `Move to background and exit` para colocar a sessão em segundo plano da mesma forma que `/background` faz e retornar ao seu shell. A opção não é mostrada quando a visualização de agentes está [desativada](#turn-off-agent-view).

413 413 

414Se uma sessão em background na lista já tem o nome da conversa, Claude Code numera o nome da nova linha, como `my-session (2)`, e deixa o nome da linha existente sozinho. Para renomear a nova linha, selecione-a em agent view e pressione `Ctrl+R`.414Se uma sessão em segundo plano na lista já tiver o nome da conversa, Claude Code numera o nome da nova linha, como `my-session (2)`, e deixa o nome da linha existente intacto. Para renomear a nova linha, selecione-a na visualização de agentes e pressione `Ctrl+R`.

415 415 

416<h4 id="copy-the-session-with-/fork">416<h4 id="copy-the-session-with-/fork">

417 Copy the session with /fork417 Copiar a sessão com /fork

418</h4>418</h4>

419 419 

420Execute `/fork` para copiar a conversa atual para uma nova sessão em background enquanto a original continua em execução. A cópia começa com tudo na conversa até esse ponto; veja os pontos abaixo para onde a cópia é executada. Ela também carrega o modelo, permission mode, effort level e quaisquer diretórios ou concessões de permissão "não pergunte novamente" que você adicionou durante a sessão. A cópia aparece como sua própria linha em agent view.420Execute `/fork` para copiar a conversa atual para uma nova sessão em segundo plano enquanto a original continua em execução. A cópia começa com tudo na conversa até esse ponto; veja os pontos abaixo para onde a cópia é executada. Ela também carrega o modelo, modo de permissão, nível de esforço e quaisquer diretórios ou concessões de permissão "não pergunte novamente" que você adicionou durante a sessão. A cópia aparece como sua própria linha na visualização de agentes.

421 421 

422Após o fork, as duas conversas são independentes: nada que a cópia faz entra na conversa original por conta própria, embora em sessões onde [cross-session messaging](/docs/pt/cross-session-messaging) está habilitado, Claude de qualquer sessão pode explicitamente enviar mensagens para a outra.422Após o fork, as duas conversas são independentes: nada que a cópia faz entra na conversa original por conta própria, embora em sessões onde [mensagens entre sessões](/docs/pt/cross-session-messaging) estão habilitadas, o Claude de qualquer sessão possa explicitamente enviar mensagens para a outra.

423 423 

424Copiar a sessão requer Claude Code v2.1.212 ou posterior; em v2.1.161 até v2.1.211, `/fork` inicia um [subagent bifurcado](/docs/pt/sub-agents#fork-the-current-conversation) em vez disso, que agora é `/subtask`. Quando [agent view está desativado](#turn-off-agent-view), `/fork` mantém o comportamento de subagent bifurcado e `/subtask` não está disponível.424Copiar a sessão requer Claude Code v2.1.212 ou posterior; na v2.1.161 até v2.1.211, `/fork` inicia um [subagente bifurcado](/docs/pt/sub-agents#fork-the-current-conversation) em vez disso, que agora é `/subtask`. Quando a [visualização de agentes está desativada](#turn-off-agent-view), `/fork` mantém o comportamento de subagente bifurcado e `/subtask` não está disponível.

425 425 

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

427 427 

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

429 429 

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

431 431 

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

433 433 

434* Como qualquer sessão despachada, a cópia [se move para seu próprio worktree antes de editar arquivos](#how-file-edits-are-isolated). Nesse caso, a confirmação não menciona onde a cópia é executada.434* Como qualquer sessão despachada, a cópia [se move para seu próprio worktree antes de editar arquivos](#how-file-edits-are-isolated). Nesse caso, a confirmação não menciona onde a cópia é executada.

435* Quando sua sessão se moveu para seu [worktree](/docs/pt/worktrees) vinculado após iniciar, a cópia começa de volta onde a sessão estava antes da movimentação e, a menos que [edite no local](#how-file-edits-are-isolated), faz suas alterações de código em um worktree próprio lá. Quando seu worktree está verificado em um branch, essa instrução também diz a uma cópia cuja tarefa se baseia em seu trabalho para basear seu novo branch no seu, já que seu branch permanece verificado em seu worktree. A confirmação termina com `runs in the origin tree`.435* Quando sua sessão se moveu para seu [worktree](/docs/pt/worktrees) vinculado após iniciar, a cópia começa de volta onde a sessão estava antes da mudança e, a menos que [edite no local](#how-file-edits-are-isolated), faz suas alterações de código em um worktree próprio lá. Quando seu worktree está verificado em um branch, essa instrução também diz a uma cópia cuja tarefa se baseia em seu trabalho para basear seu novo branch no seu, já que seu branch permanece verificado em seu worktree. A confirmação termina com `runs in the origin tree`.

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

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

438 438 

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

440 440 

441<h4 id="what-carries-over-when-you-background">441<h4 id="what-carries-over-when-you-background">

442 What carries over when you background442 O que é transferido quando você coloca em segundo plano

443</h4>443</h4>

444 444 

445Colocar em background inicia um novo processo que retoma da conversa salva, e o trabalho em andamento se move para ele: comandos shell em background em execução, subagents em background, workflows dinâmicos, tarefas agendadas que você criou com [`/loop`](/docs/pt/scheduled-tasks) e [respostas automáticas de Claude a comentários de artefatos](/docs/pt/artifacts#let-claude-reply-to-comments-on-its-own) todos se transferem e continuam em execução lá. Um subagent se move junto com tudo que iniciou, portanto é transferido apenas quando todo esse trabalho pode se mover também. Para parar o trabalho em andamento em vez de transferi-lo, defina a variável de ambiente [`CLAUDE_DISABLE_ADOPT=1`](/docs/pt/env-vars#variables); Claude Code então pede que você confirme antes de colocar em background.445Colocar em segundo plano inicia um novo processo que retoma da conversa salva, e o trabalho em andamento se move para ele: comandos de shell em segundo plano em execução, subagentes em segundo plano, fluxos de trabalho dinâmicos, tarefas agendadas que você criou com [`/loop`](/docs/pt/scheduled-tasks), e [respostas automáticas do Claude a comentários de artefatos](/docs/pt/artifacts#let-claude-reply-to-comments-on-its-own) tudo se transfere e continua em execução lá. Um subagente se move junto com tudo o que iniciou, portanto se transfere apenas quando todo esse trabalho também pode se mover. Para parar o trabalho em andamento em vez de transferi-lo, defina a variável de ambiente [`CLAUDE_DISABLE_ADOPT=1`](/docs/pt/env-vars#variables); Claude Code então pede que você confirme antes de colocar em segundo plano.

446 446 

447Quando um [workflow dinâmico](/docs/pt/workflows) ainda tem subagents em execução, Claude Code pergunta antes de colocar em background com o diálogo `Background this session?`, que diz quantos subagents seriam reiniciados. Escolha `Stay` para deixá-los terminar primeiro. Se você confirmar, Claude Code reproduz a execução na sessão em background: subagents que ainda estavam em execução começam do início, portanto os tokens que usaram até agora são gastos novamente. Veja [Resume after a pause](/docs/pt/workflows#resume-after-a-pause) para saber quais subagents concluídos retornam seus resultados salvos e quais são executados novamente.447Quando um [fluxo de trabalho dinâmico](/docs/pt/workflows) ainda tem subagentes em execução, Claude Code pergunta antes de colocar em segundo plano com o diálogo `Background this session?`, que diz quantos subagentes seriam reiniciados. Escolha `Stay` para deixá-los terminar primeiro. Se você confirmar, Claude Code reproduz a execução na sessão em segundo plano: subagentes que ainda estavam em execução começam do início, portanto os tokens que usaram até agora são gastos novamente. Veja [Retomar após uma pausa](/docs/pt/workflows#resume-after-a-pause) para saber quais subagentes concluídos retornam seus resultados salvos e quais são executados novamente.

448 448 

449Claude Code interrompe o trabalho que não pode ser transferido, como um [monitor](/docs/pt/tools-reference#monitor-tool) em execução, e interrompe um subagent em background que possui um monitor junto com ele. Quando algum desse trabalho está em execução, Claude Code mostra o diálogo `Background this session?` para que você possa confirmar antes de ser interrompido.449Claude Code para o trabalho que não pode ser transferido, como um [monitor](/docs/pt/tools-reference#monitor-tool) em execução, e para um subagente em segundo plano que possui um monitor junto com ele. Quando qualquer trabalho desse tipo está em execução, Claude Code mostra o diálogo `Background this session?` para que você possa confirmar antes de parar o trabalho.

450 450 

451Uma vez em background, a sessão pode iniciar novos subagents, monitors e comandos em background, e esses continuam em execução em desanexações e reanexações posteriores.451Uma vez em segundo plano, a sessão pode iniciar novos subagentes, monitores e comandos em segundo plano, e esses continuam em execução em desanexações e reanexações posteriores.

452 452 

453As flags de configuração do lançamento original são transferidas para a sessão colocada em background, portanto seus servidores MCP, settings e modelo de fallback permanecem em vigor:453Os sinalizadores de configuração do lançamento original são transferidos para a sessão em segundo plano, portanto seus servidores MCP, configurações e modelo de fallback permanecem em vigor:

454 454 

455* `--mcp-config` e `--strict-mcp-config`455* `--mcp-config` e `--strict-mcp-config`

456* `--settings`456* `--settings`

457* `--setting-sources`

457* `--add-dir`458* `--add-dir`

458* `--plugin-dir`459* `--plugin-dir`

459* `--fallback-model`460* `--fallback-model`

460* `--allow-dangerously-skip-permissions`461* `--allow-dangerously-skip-permissions`

461 462 

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

463 464 

464<h3 id="from-your-shell">465<h3 id="from-your-shell">

465 From your shell466 Do seu shell

466</h3>467</h3>

467 468 

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

469 470 

470```bash theme={null}471```bash theme={null}

471claude --bg "investigate the flaky SettingsChangeDetector test"472claude --bg "investigate the flaky SettingsChangeDetector test"


473 474 

474O prompt é o argumento posicional, não um valor `-p`. Claude Code rejeita `--bg` combinado com `-p` ou `--print` antes de qualquer sessão ser criada, porque `--print` nunca inicia a sessão interativa à qual `claude agents` se anexa.475O prompt é o argumento posicional, não um valor `-p`. Claude Code rejeita `--bg` combinado com `-p` ou `--print` antes de qualquer sessão ser criada, porque `--print` nunca inicia a sessão interativa à qual `claude agents` se anexa.

475 476 

476Para executar um [subagent](/docs/pt/sub-agents) específico que você definiu, como um `code-reviewer`, como o agente principal da sessão, combine `--bg` com `--agent`:477Se você executar `claude --bg` a partir de um terminal em um diretório que você não [confiou](/docs/pt/permissions#project-allow-rules-and-workspace-trust), o diálogo de confiança do workspace aparece primeiro e a sessão começa uma vez que você aceita. Se você recusar, Claude Code sai sem iniciar uma sessão. Onde nenhum diálogo pode aparecer, como em um script, o comando sai com um erro [`Workspace not trusted`](/docs/pt/errors#workspace-not-trusted-when-dispatching-a-background-session) em vez disso.

478 

479Para executar um [subagente](/docs/pt/sub-agents) específico que você definiu, como um `code-reviewer`, como o agente principal da sessão, combine `--bg` com `--agent`:

477 480 

478```bash theme={null}481```bash theme={null}

479claude --agent code-reviewer --bg "address review comments on PR 1234"482claude --agent code-reviewer --bg "address review comments on PR 1234"

480```483```

481 484 

482Se o nome não corresponder a nenhum de seus subagents, o lançamento falha: Claude Code imprime um aviso `no agent named` e ainda relata a sessão como colocada em background, mas a sessão sai imediatamente com um erro `--agent '<name>' not found`.485Se o nome não corresponder a nenhum de seus subagentes, o lançamento falha: Claude Code imprime um aviso `no agent named` e ainda relata a sessão como em segundo plano, mas a sessão sai imediatamente com um erro `--agent '<name>' not found`.

483 486 

484Quando a sessão colocada em background mais tarde retoma ou reinicia, Claude Code restaura o agente e suas restrições de ferramenta; para seu prompt de sistema, veja [System prompt flags in resumed conversations](/docs/pt/cli-reference#system-prompt-flags-in-resumed-conversations). Ele procura o agente no diretório da própria sessão primeiro, desde que você tenha [confiado naquele workspace](/docs/pt/permissions#project-allow-rules-and-workspace-trust), portanto um agente com escopo de projeto ainda carrega quando a sessão é retomada de outro diretório. Se o agente não existir mais, a sessão continua com as ferramentas padrão e sua transcrição abre com um [aviso nomeando o agente](/docs/pt/errors#session-agent-no-longer-available).487Quando a sessão em segundo plano mais tarde retoma ou reinicia, Claude Code restaura o agente e suas restrições de ferramentas; para seu prompt de sistema, veja [System prompt flags in resumed conversations](/docs/pt/cli-reference#system-prompt-flags-in-resumed-conversations). Ele procura o agente no diretório da própria sessão primeiro, desde que você tenha [confiado nesse workspace](/docs/pt/permissions#project-allow-rules-and-workspace-trust), portanto um agente com escopo de projeto ainda é carregado quando a sessão é retomada de outro diretório. Se o agente não existir mais, a sessão continua com as ferramentas padrão e sua transcrição abre com um [aviso nomeando o agente](/docs/pt/errors#session-agent-no-longer-available).

485 488 

486Para continuar uma conversa existente em background, passe seu ID de sessão completo com `--resume`:489Para continuar uma conversa existente em segundo plano, passe seu ID de sessão completo com `--resume`:

487 490 

488```bash theme={null}491```bash theme={null}

489claude --resume 1f0e2c9a-6d0b-4c11-9f39-2a77c1d4e8b5 --bg "pick up where you left off and finish the migration"492claude --resume 1f0e2c9a-6d0b-4c11-9f39-2a77c1d4e8b5 --bg "pick up where you left off and finish the migration"

490```493```

491 494 

492Em Claude Code v2.1.257 ou posterior, Claude Code continua aquela sessão sob o mesmo ID, ou inicia uma cópia sob um novo ID e imprime uma linha `note:` explicando por que não pôde continuar no local. Quando a sessão continua no local, `claude agents` mostra uma linha para ela.495No Claude Code v2.1.257 ou posterior, Claude Code continua essa sessão sob o mesmo ID, ou inicia uma cópia sob um novo ID e imprime uma linha `note:` explicando por que não pôde continuar no local. Quando a sessão continua no local, `claude agents` mostra uma linha para ela.

493 496 

494Quando você combina `--bg` com `--continue`, um `--resume` simples, ou `--resume` com um nome ou caminho de arquivo, Claude Code sempre inicia tal cópia. Adicione `--fork-session` para iniciar uma cópia propositalmente, sem a nota.497Quando você combina `--bg` com `--continue`, um `--resume` simples, ou `--resume` com um nome ou caminho de arquivo, Claude Code sempre inicia tal cópia. Adicione `--fork-session` para iniciar uma cópia propositalmente, sem a nota.

495 498 

496Passe `--name` para definir o nome de exibição da sessão em agent view em vez do gerado automaticamente:499Passe `--name` para definir o nome de exibição da sessão na visualização de agentes em vez do gerado automaticamente:

497 500 

498```bash theme={null}501```bash theme={null}

499claude --bg --name "flaky-test-fix" "investigate the flaky SettingsChangeDetector test"502claude --bg --name "flaky-test-fix" "investigate the flaky SettingsChangeDetector test"

500```503```

501 504 

502Após colocar em background, Claude imprime o ID curto da sessão e os comandos para gerenciá-la. Quando o serviço que hospeda sessões em background não está já em execução, `--bg` pode primeiro imprimir `Starting background service…` acima desta saída. Quando você passa `--name`, o nome aparece após o ID curto:505Após colocar em segundo plano, Claude imprime o ID curto da sessão e os comandos para gerenciá-la. Quando o serviço que hospeda sessões em segundo plano ainda não está em execução, `--bg` pode primeiro imprimir `Starting background service…` acima dessa saída. Quando você passa `--name`, o nome aparece após o ID curto:

503 506 

504```text theme={null}507```text theme={null}

505backgrounded · 7c5dcf5d · flaky-test-fix508backgrounded · 7c5dcf5d · flaky-test-fix


510```513```

511 514 

512<h4 id="run-a-shell-command">515<h4 id="run-a-shell-command">

513 Run a shell command516 Executar um comando do shell

514</h4>517</h4>

515 518 

516Para executar um comando shell como um trabalho em background em vez de uma sessão Claude, passe `--exec`. O exemplo a seguir executa `pytest -x` como um trabalho em background:519Para executar um comando do shell como um trabalho em segundo plano em vez de uma sessão do Claude, passe `--exec`. O exemplo a seguir executa `pytest -x` como um trabalho em segundo plano:

517 520 

518```bash theme={null}521```bash theme={null}

519claude --bg --exec 'pytest -x'522claude --bg --exec 'pytest -x'

520```523```

521 524 

522A partir de agent view, despache o mesmo tipo de trabalho digitando `!` como o primeiro caractere da entrada de despacho: o `!` aparece como um prefixo, tudo depois dele é o comando, e `Enter` inicia o trabalho.525A partir da visualização de agentes, despache o mesmo tipo de trabalho digitando `!` como o primeiro caractere da entrada de despacho: o `!` aparece como um prefixo, tudo depois dele é o comando, e `Enter` inicia o trabalho.

523 526 

524O comando é executado como um trabalho com suporte PTY e aparece como uma linha em agent view, com a linha de saída mais recente como seu status. Um trabalho shell executa o comando no lugar de Claude, portanto nenhum modelo é invocado e a saída não é enviada para nenhuma sessão.527O comando é executado como um trabalho com suporte PTY e aparece como uma linha na visualização de agentes, com a linha de saída mais recente como seu status. Um trabalho de shell executa o comando no lugar do Claude, portanto nenhum modelo é invocado e a saída não é enviada para nenhuma sessão.

525 528 

526Para ver a saída, anexe à linha, pressione `Space` para espreitar sem anexar, ou execute `claude logs <id>` do seu shell. A saída capturada permanece na memória e não é escrita em disco. A linha e sua saída são limpas automaticamente cerca de cinco minutos após o comando sair, portanto leia-a antes disso se precisar do resultado.529Para ver a saída, anexe à linha, pressione `Space` para espreitar sem anexar, ou execute `claude logs <id>` do seu shell. A saída capturada permanece na memória e não é escrita em disco. A linha e sua saída são limpas automaticamente cerca de cinco minutos após o comando sair, portanto leia antes disso se precisar do resultado.

527 530 

528<h3 id="how-file-edits-are-isolated">531<h3 id="how-file-edits-are-isolated">

529 How file edits are isolated532 Como os edits de arquivo são isolados

530</h3>533</h3>

531 534 

532Toda sessão em background, seja iniciada a partir de agent view, `/bg` ou `claude --bg`, inicia no seu diretório de trabalho. Antes de editar arquivos, Claude move a sessão para um [git worktree](/docs/pt/worktrees) isolado sob `.claude/worktrees/`, para que sessões paralelas possam ler o mesmo checkout, mas cada uma escreve no seu próprio. Uma vez que a sessão está em seu worktree, Claude Code [aplica isolamento de worktree](/docs/pt/worktrees#how-claude-code-enforces-isolation) para a sessão e para qualquer subagent que ela gera.535Toda sessão em segundo plano, seja iniciada a partir da visualização de agentes, `/bg` ou `claude --bg`, começa em seu diretório de trabalho. Antes de editar arquivos, Claude move a sessão para um [git worktree](/docs/pt/worktrees) isolado sob `.claude/worktrees/`, para que sessões paralelas possam ler o mesmo checkout, mas cada uma escreve em seu próprio. Uma vez que a sessão está em seu worktree, Claude Code [aplica isolamento de worktree](/docs/pt/worktrees#how-claude-code-enforces-isolation) para a sessão e para quaisquer subagentes que ela gera.

533 536 

534Claude pula o worktree quando:537Claude pula o worktree quando:

535 538 

536* A sessão já está dentro de um git worktree vinculado, seja Claude o criou sob `.claude/worktrees/` ou você o criou com `git worktree add` em outro lugar539* A sessão já está dentro de um git worktree vinculado, seja Claude o criou sob `.claude/worktrees/` ou você o criou com `git worktree add` em outro lugar

537* O arquivo que Claude está editando está dentro de um git worktree vinculado, como um que a sessão ou seu subagent criou com `git worktree add`540* O arquivo que Claude está editando está dentro de um git worktree vinculado, como um que a sessão ou seu subagente criou com `git worktree add`

538* O diretório de trabalho não é um repositório git e nenhum hook [`WorktreeCreate`](/docs/pt/hooks#worktreecreate) está configurado541* O diretório de trabalho não é um repositório git e nenhum [`WorktreeCreate` hook](/docs/pt/hooks#worktreecreate) está configurado

539* A escrita está fora do diretório de trabalho542* A escrita está fora do diretório de trabalho

540 543 

541Para desativar o isolamento de worktree para um repositório onde git worktrees são impraticáveis, defina [`worktree.bgIsolation`](/docs/pt/settings-reference#worktree-bgisolation) como `"none"`. As sessões em background editam sua cópia de trabalho diretamente sem se mover para um worktree primeiro. Adicione a configuração ao `.claude/settings.json` do projeto:544Para desativar o isolamento de worktree para um repositório onde git worktrees são impraticáveis, defina [`worktree.bgIsolation`](/docs/pt/settings-reference#worktree-bgisolation) como `"none"`. As sessões em segundo plano então editam sua cópia de trabalho diretamente sem se mover para um worktree primeiro. Adicione a configuração ao `.claude/settings.json` do projeto:

542 545 

543```json theme={null}546```json theme={null}

544{547{


548}551}

549```552```

550 553 

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

552 555 

553Quando o hook falha em um diretório que não é um repositório git, Claude pula o isolamento para aquele diretório e edita o diretório de trabalho no local. Dentro de um repositório git, Claude Code bloqueia escritas no checkout compartilhado até que Claude mova a sessão para um worktree.556Quando o hook falha em um diretório que não é um repositório git, Claude pula o isolamento para esse diretório e edita o diretório de trabalho no local. Dentro de um repositório git, Claude Code bloqueia escritas no checkout compartilhado até que Claude mova a sessão para um worktree.

554 557 

555Para encontrar o caminho do worktree de uma sessão, espreite a sessão ou anexe e verifique seu diretório de trabalho.558Para encontrar o caminho do worktree de uma sessão, espreite a sessão ou anexe e verifique seu diretório de trabalho.

556 559 

557Um [subagent](/docs/pt/sub-agents) que a sessão em background gera herda o diretório de trabalho da sessão, portanto suas edições de arquivo chegam ao worktree da sessão em vez de sua cópia de trabalho. Para dar a um subagent seu próprio worktree separado, defina [`isolation: worktree`](/docs/pt/sub-agents#supported-frontmatter-fields) em seu frontmatter ou passe `isolation: "worktree"` ao gerá-lo.560Um [subagente](/docs/pt/sub-agents) que a sessão em segundo plano gera herda o diretório de trabalho da sessão, portanto seus edits de arquivo acabam no worktree da sessão em vez de sua cópia de trabalho. Para dar a um subagente seu próprio worktree separado em vez disso, defina [`isolation: worktree`](/docs/pt/sub-agents#supported-frontmatter-fields) em seu frontmatter ou passe `isolation: "worktree"` ao gerá-lo.

558 561 

559Quando uma sessão em background fez alterações de código em um worktree que Claude entrou, Claude Code instrui Claude a preservar o trabalho antes de terminar, para que sobreviva se você deletar a sessão e seu worktree:562Quando uma sessão em segundo plano fez alterações de código em um worktree que Claude entrou, Claude Code instrui Claude a preservar o trabalho antes de terminar, para que sobreviva se você deletar a sessão e seu worktree:

560 563 

561* **Commit e push**: Claude faz commit sem perguntar, e faz push do branch quando o repositório tem um remoto.564* **Commit e push**: Claude faz commit sem perguntar, e faz push do branch quando o repositório tem um remote.

562* **Draft pull request**: Claude abre um quando a tarefa pede, e o rótulo [`#N`](#pull-request-status) aparece na linha.565* **Draft pull request**: Claude abre um quando a tarefa pede, e o rótulo [`#N`](#pull-request-status) aparece na linha.

563* **Nunca**: fazer push para `main` ou `master`, force-push e mesclar.566* **Nunca**: fazer push para `main` ou `master`, force-push e merge.

564* **Suas instruções git têm precedência**: se a tarefa, `CLAUDE.md` ou [memory](/docs/pt/memory) diz que você lida com commit ou push você mesmo, Claude deixa git para você.567* **Suas instruções git têm precedência**: se a tarefa, `CLAUDE.md` ou [memory](/docs/pt/memory) diz que você lida com commit ou push você mesmo, Claude deixa git para você.

565 568 

566Uma sessão editando um checkout que não isolou a si mesma ainda pergunta antes de fazer commit ou alternar branches. Isso se aplica quando o isolamento é definido como `"none"`, quando a movimentação do worktree falhou, ou quando a sessão foi iniciada dentro de um worktree que já existia.569Uma sessão editando um checkout que não isolou a si mesma ainda pergunta antes de fazer commit ou mudar de branch. Isso se aplica quando o isolamento está definido como `"none"`, quando a mudança de worktree falhou, ou quando a sessão começou dentro de um worktree que já existia.

567 570 

568Qualquer que seja a tarefa, Claude termina o trabalho com um relatório dizendo o que fez e onde o trabalho está: um caminho, um branch, um pull request ou a resposta em si.571Qualquer que seja a tarefa, Claude termina o trabalho com um relatório dizendo o que fez e onde o trabalho está: um caminho, um branch, um pull request, ou a resposta em si.

569 572 

570<h4 id="what-deleting-a-session-removes">573<h4 id="what-deleting-a-session-removes">

571 What deleting a session removes574 O que deletar uma sessão remove

572</h4>575</h4>

573 576 

574Delete uma sessão com `Ctrl+X` duas vezes em [agent view](#organize-the-list) ou com [`claude rm`](#manage-sessions-from-the-shell). Exceto nos casos mantidos abaixo, a sessão sai da lista. Sua transcrição permanece em sua máquina através de `claude --resume`, e a remoção sobrevive a reinicializações do supervisor.577Delete uma sessão com `Ctrl+X` duas vezes na [visualização de agentes](#organize-the-list) ou com [`claude rm`](#manage-sessions-from-the-shell). Exceto nos casos mantidos abaixo, a sessão sai da lista. Sua transcrição permanece em sua máquina através de `claude --resume`, e a remoção sobrevive a reinicializações do supervisor.

575 578 

576O que acontece com um worktree que Claude criou para a sessão:579O que acontece com um worktree que Claude criou para a sessão:

577 580 

578* Agent view o remove, incluindo alterações não confirmadas, portanto confirme o que você quer manter primeiro.581* A visualização de agentes o remove, incluindo alterações não confirmadas, portanto faça commit do que você quer manter primeiro.

579* `claude rm` o mantém, junto com a linha da sessão, quando tem alterações não confirmadas.582* `claude rm` o mantém, junto com a linha da sessão, quando tem alterações não confirmadas.

580* Nem agent view nem `claude rm` removem um worktree que outra sessão em execução está usando ou bloqueou, e deletar novamente não muda isso. Claude Code mantém o worktree e a sessão, e nomeia o diretório mantido e o motivo; em agent view, a linha da sessão mostra `not deleted`. Feche a outra sessão, depois delete novamente.583* Nem a visualização de agentes nem `claude rm` remove um worktree que outra sessão em execução está usando ou bloqueou, e deletar novamente não muda isso. Claude Code mantém o worktree e a sessão, e nomeia o diretório mantido e o motivo; na visualização de agentes, a linha da sessão mostra `not deleted`. Feche a outra sessão, depois delete novamente.

581* Quando você deleta uma sessão cujo worktree tem commits que Claude Code não pode confirmar que estão salvos em outro lugar, Claude Code mantém o worktree e a sessão, e a mensagem nomeia o branch do worktree e quantos commits não são enviados. A mensagem também oferece os dois caminhos adiante: fazer push dos commits ou deletar novamente para descartá-los.584* Quando você deleta uma sessão cujo worktree tem commits que Claude Code não pode confirmar que estão salvos em outro lugar, Claude Code mantém o worktree e a sessão, e a mensagem nomeia o branch do worktree e quantos commits não foram feitos push. A mensagem também oferece os dois caminhos adiante: fazer push dos commits, ou deletar novamente para descartá-los.

582 585 

583 Commits em um remoto não bloqueiam a deleção. Nem commits na cópia local do branch padrão do seu remoto `origin`, desde que aquele branch esteja verificado em seu checkout principal, o diretório do repositório em si em vez de um worktree.586 Commits em um remote não bloqueiam a deleção. Nem commits na cópia local do branch padrão do seu remote `origin`, desde que esse branch esteja verificado em seu checkout principal, o diretório do repositório em si em vez de um worktree.

584 587 

585 Após aquela recusa, você escolhe:588 Após essa recusa, você escolhe:

586 589 

587 * Para manter os commits, faça push deles ou mescle-os naquele branch padrão, depois delete a sessão novamente.590 * Para manter os commits, faça push deles, ou mescle-os nesse branch padrão, depois delete a sessão novamente.

588 * Para descartá-los, delete a sessão novamente sem fazer push: pressione `Ctrl+X` duas vezes em sua linha em agent view, ou execute o comando `claude rm <id> --discard-unpushed` que a recusa imprimiu. Isso remove a sessão e o worktree junto com seu branch, descartando os commits não enviados e quaisquer alterações não confirmadas.591 * Para descartá-los, delete a sessão novamente sem fazer push: pressione `Ctrl+X` duas vezes em sua linha na visualização de agentes, ou execute o comando `claude rm <id> --discard-unpushed` que a recusa imprimiu. Isso remove a sessão e o worktree junto com seu branch, descartando os commits não feitos push e quaisquer alterações não confirmadas.

589 592 

590 Quando você deleta novamente, Claude Code descarta apenas o que a recusa mostrou: se o worktree ganhou um commit desde então, Claude Code o mantém novamente e mostra o estado atualizado.593 Quando você deleta novamente, Claude Code descarta apenas o que a recusa mostrou: se o worktree ganhou um commit desde então, Claude Code o mantém novamente e mostra o estado atualizado.

591 594 

592 Quando os registros de outra sessão concluída também nomeiam o worktree, ele permanece quando você deleta novamente; faça push dos commits, depois delete novamente.595 Quando o registro de outra sessão concluída também nomeia o worktree, ele permanece quando você deleta novamente; faça push dos commits, depois delete novamente.

593* Um worktree que git não reconhece mais, por exemplo após `git worktree prune`, não bloqueia a deleção. Claude Code deleta a sessão e deixa o diretório em disco.596* Um worktree que git não reconhece mais, por exemplo após `git worktree prune`, não bloqueia a deleção. Claude Code deleta a sessão e deixa o diretório em disco.

594* Quando git ou seu hook [`WorktreeRemove`](/docs/pt/hooks#worktreeremove) falha em remover o worktree, Claude Code mantém o worktree e a sessão, e a mensagem nomeia a causa. Para um hook, a mensagem diz como terminou, como `exited 1`, e cita o início de seu stderr. A mensagem também diz qual destes fazer a seguir:597* Quando git ou seu [`WorktreeRemove` hook](/docs/pt/hooks#worktreeremove) falha em remover o worktree, Claude Code mantém o worktree e a sessão, e a mensagem nomeia a causa. Para um hook, a mensagem diz como terminou, como `exited 1`, e cita o início de seu stderr. A mensagem também diz qual destes fazer a seguir:

598 

599 * Delete a sessão novamente para remover o diretório mesmo assim, pressionando `Ctrl+X` duas vezes em sua linha na visualização de agentes ou executando o comando `claude rm <id> --force-remove-worktree <worktree-id>` que a recusa de `claude rm` imprimiu. O branch do worktree permanece no repositório.

600 

601 Claude Code oferece isso apenas quando pode confirmar todos os seguintes:

602 

603 * O diretório é um dos worktrees vinculados do repositório sob `.claude/worktrees/`

604 * Nem o worktree nem um submódulo verificado tem alterações não confirmadas em arquivos rastreados

605 * Nenhum registro de outra sessão o nomeia

595 606 

596 * Delete a sessão novamente para remover o diretório mesmo assim, pressionando `Ctrl+X` duas vezes em sua linha em agent view ou executando o comando `claude rm <id> --force-remove-worktree <worktree-id>` que a recusa de `claude rm` imprimiu. Claude Code oferece isso apenas quando pode confirmar que o diretório é um dos worktrees vinculados do repositório sob `.claude/worktrees/` sem alterações não confirmadas em arquivos rastreados, sem repositório aninhado dentro dele e sem registro de outra sessão nomeando-o. O branch do worktree permanece no repositório.607 Quando Claude Code não pode verificar o estado de um checkout de submódulo, como um substituído por um repositório git separado, ele também não oferece isso.

597 * Corrija o que está no caminho, como fazer commit ou stash das alterações não confirmadas, fechar o que está usando o diretório ou corrigir o hook, depois delete a sessão novamente.608 * Corrija o que está no caminho, como fazer commit ou stash das alterações não confirmadas, mover um repositório git separado para fora do worktree, fechar o que quer que esteja usando o diretório, ou corrigir o hook, depois delete a sessão novamente.

598 * Remova o diretório você mesmo, depois delete a sessão novamente.609 * Remova o diretório você mesmo, depois delete a sessão novamente.

599 610 

600Um worktree que você criou você mesmo e iniciou a sessão dentro é deixado no lugar de qualquer forma.611Um worktree que você criou você mesmo e iniciou a sessão dentro é deixado no lugar de qualquer forma.

601 612 

602Uma sessão cujo diretório de worktree não pertence a nenhum repositório git, porque o repositório foi deletado ou um hook [`WorktreeCreate`](/docs/pt/hooks#worktreecreate) criou o diretório em outro lugar, ainda pode ser deletada. Enquanto arquivos permanecem no diretório:613Uma sessão cujo diretório de worktree não pertence a nenhum repositório git, porque o repositório foi deletado ou um [`WorktreeCreate` hook](/docs/pt/hooks#worktreecreate) criou o diretório em outro lugar, ainda pode ser deletada. Enquanto arquivos permanecem no diretório:

603 614 

604* Agent view pede o mesmo duplo `Ctrl+X` antes de descartá-los. Para um diretório criado por hook, ele executa seu hook [`WorktreeRemove`](/docs/pt/hooks#worktreeremove) em vez disso, e sem um, ele recusa a deleção e mantém a sessão.615* A visualização de agentes pede o mesmo duplo `Ctrl+X` antes de descartá-los. Para um diretório criado por hook, ele executa seu [`WorktreeRemove` hook](/docs/pt/hooks#worktreeremove) em vez disso, e sem um ele recusa a deleção e mantém a sessão.

605* `claude rm` mantém a sessão e worktree, e nomeia o motivo.616* `claude rm` mantém a sessão e o worktree, e nomeia o motivo.

606 617 

607Qualquer caminho mantém um diretório que os registros de outra sessão concluída nomeiam.618Qualquer caminho mantém um diretório que o registro de outra sessão concluída nomeia.

608 619 

609<h3 id="set-the-model">620<h3 id="set-the-model">

610 Set the model621 Definir o modelo

611</h3>622</h3>

612 623 

613O nome do modelo mostrado no cabeçalho de agent view é o padrão de despacho. Novas sessões que você inicia a partir da entrada usam este modelo, que vem da configuração [`model`](/docs/pt/settings-reference#model) em suas settings de usuário. Defina-o selecionando um modelo no seletor [`/model`](/docs/pt/model-config), ou edite a configuração diretamente.624O nome do modelo mostrado no cabeçalho da visualização de agentes é o padrão de despacho. Novas sessões que você inicia a partir da entrada usam este modelo, que vem da [configuração `model`](/docs/pt/settings-reference#model) em suas configurações de usuário. Defina-o selecionando um modelo no [seletor `/model`](/docs/pt/model-config), ou edite a configuração diretamente.

614 625 

615Para substituir o padrão de despacho para toda a sessão de agent view, passe `--model` ao abrir agent view. Veja [Permission mode, model, and effort](#permission-mode-model-and-effort).626Para substituir o padrão de despacho para toda a sessão de visualização de agentes, passe `--model` ao abrir a visualização de agentes. Veja [Permission mode, model, and effort](#permission-mode-model-and-effort).

616 627 

617Para alterar o padrão de despacho de dentro de agent view, digite `/model` seguido de um nome de modelo na entrada de despacho e pressione `Enter`. O cabeçalho é atualizado para mostrar esse modelo com um marcador `(session)`, e as sessões que você despacha depois usam-no. Digite `/model default` para limpar a substituição e retornar ao padrão de despacho. Essa substituição dura o resto da execução atual de `claude agents` e não escreve no seu arquivo de settings. O exemplo a seguir despacha uma sessão em Opus e a próxima em Sonnet:628Para alterar o padrão de despacho de dentro da visualização de agentes, digite `/model` seguido de um nome de modelo na entrada de despacho e pressione `Enter`. O cabeçalho é atualizado para mostrar esse modelo com um marcador `(session)`, e as sessões que você despacha depois usam-no. Digite `/model default` para limpar a substituição e retornar ao padrão de despacho. Essa substituição dura o resto da execução atual de `claude agents` e não escreve em seu arquivo de configurações. O exemplo a seguir despacha uma sessão em Opus e a próxima em Sonnet:

618 629 

619```text theme={null}630```text theme={null}

620/model opus631/model opus


623run the test suite634run the test suite

624```635```

625 636 

626Cada sessão em background pode ser executada em um modelo diferente. Para substituir para uma sessão:637Cada sessão em segundo plano pode ser executada em um modelo diferente. Para substituir para uma sessão:

627 638 

628* Do shell, passe `--model` com `claude --bg`.639* Do shell, passe `--model` com `claude --bg`.

629* Anexe a uma sessão em execução e execute `/model` para alternar: uma escolha do seletor, ou um `/model <name>` digitado, salva como seu padrão para novas sessões a menos que você pressione `s` no seletor para uma alternância apenas de sessão. Uma alternância apenas de sessão persiste se a sessão for reiniciada.640* Anexe a uma sessão em execução e execute `/model` para mudar: uma escolha do seletor, ou um `/model <name>` digitado, salva como seu padrão para novas sessões a menos que você pressione `s` no seletor para uma mudança apenas de sessão. Uma mudança apenas de sessão persiste se a sessão for respawnada.

630* Despache um [subagent](/docs/pt/sub-agents) cujo frontmatter define um campo `model`.641* Despache um [subagente](/docs/pt/sub-agents) cujo frontmatter define um campo `model`.

631 642 

632<h3 id="permission-mode-model-and-effort">643<h3 id="permission-mode-model-and-effort">

633 Permission mode, model, and effort644 Permission mode, model, and effort

634</h3>645</h3>

635 646 

636Uma sessão em background leva suas settings, provedor, permission mode, modelo e esforço de onde e como você a despachou. As subseções abaixo cobrem cada fonte e o que persiste quando o supervisor reinicia a sessão.647Uma sessão em segundo plano toma suas configurações, provedor, modo de permissão, modelo e esforço de onde e como você a despachou. As subseções abaixo cobrem cada fonte, e o que persiste quando o supervisor reinicia a sessão.

637 648 

638<h4 id="settings-and-provider">649<h4 id="settings-and-provider">

639 Settings and provider650 Configurações e provedor

640</h4>651</h4>

641 652 

642Uma sessão em background lê suas [settings](/docs/pt/settings) do diretório em que é executada, da mesma forma que se você tivesse iniciado `claude` lá. Isso inclui valores [`env`](/docs/pt/settings-reference#env) em settings de projeto, portanto uma `ANTHROPIC_MODEL` ou variável de provedor definida lá se aplica a toda sessão em background naquele diretório.653Uma sessão em segundo plano lê suas [configurações](/docs/pt/settings) do diretório em que é executada, da mesma forma que se você tivesse iniciado `claude` lá com os [sinalizadores de configuração que ela carregou](#what-carries-over-when-you-background). Isso inclui [valores `env`](/docs/pt/settings-reference#env) em configurações de projeto, portanto um `ANTHROPIC_MODEL` ou variável de provedor definida lá se aplica a toda sessão em segundo plano nesse diretório.

643 654 

644Uma sessão em background também é executada com o `PATH` do shell a partir do qual você a despachou, portanto os comandos que ela executa encontram as mesmas ferramentas que seu terminal faz. Ela mantém a seleção de provedor de nuvem daquele shell também, como `CLAUDE_CODE_USE_BEDROCK` ou `CLAUDE_CODE_USE_VERTEX`, junto com seus aliases `ANTHROPIC_DEFAULT_*_MODEL` e qualquer substituição [`CLAUDE_CODE_EXTRA_BODY`](/docs/pt/env-vars) que você exportou lá.655Uma sessão em segundo plano também é executada com o `PATH` do shell do qual você a despachou, portanto os comandos que ela executa encontram as mesmas ferramentas que seu terminal faz. Ela mantém a seleção de provedor de nuvem desse shell também, como `CLAUDE_CODE_USE_BEDROCK` ou `CLAUDE_CODE_USE_VERTEX`, junto com seus aliases `ANTHROPIC_DEFAULT_*_MODEL` e qualquer substituição [`CLAUDE_CODE_EXTRA_BODY`](/docs/pt/env-vars) que você exportou lá.

645 656 

646<h4 id="llm-gateway">657<h4 id="llm-gateway">

647 LLM gateway658 Gateway LLM

648</h4>659</h4>

649 660 

650Se você rotear Claude Code através de um [LLM gateway](/docs/pt/llm-gateway), coloque as variáveis de gateway em um bloco `env` de um arquivo de settings em vez de exportá-las em seu shell, e as sessões em background as leem com o resto de suas settings. [Set in a settings file](/docs/pt/llm-gateway-connect#set-in-a-settings-file) mostra o bloco e qual arquivo de settings usar para a credencial.661Se você rotear Claude Code através de um [gateway LLM](/docs/pt/llm-gateway), coloque as variáveis de gateway em um bloco `env` de um arquivo de configurações em vez de exportá-las em seu shell, e as sessões em segundo plano as leem com o resto de suas configurações. [Set in a settings file](/docs/pt/llm-gateway-connect#set-in-a-settings-file) mostra o bloco e qual arquivo de configurações usar para a credencial.

651 662 

652Se você exportar um gateway `ANTHROPIC_BASE_URL` apenas em seu shell em vez disso, ele alcança uma sessão em background, junto com o `ANTHROPIC_CUSTOM_HEADERS` e credencial que você exportou com ele, apenas quando o [supervisor](#the-supervisor-process) foi ele próprio iniciado a partir de um shell que exportou o mesmo gateway, e apenas nestes casos:663Se você exportar um gateway `ANTHROPIC_BASE_URL` apenas em seu shell em vez disso, ele alcança uma sessão em segundo plano, junto com o `ANTHROPIC_CUSTOM_HEADERS` e credencial que você exportou com ele, apenas quando o [supervisor](#the-supervisor-process) foi ele próprio iniciado a partir de um shell que exportou o mesmo gateway, e apenas nestes casos:

653 664 

654* Você coloca sua própria sessão em background com `←` ou `/background`665* Você coloca sua própria sessão em segundo plano com `←` ou `/background`

655* Você despacha uma sessão para o diretório em que está666* Você despacha uma sessão para o diretório em que está

656* Você acorda uma sessão parada no diretório em que está anexando ou respondendo a ela667* Você acorda uma sessão parada no diretório em que está anexando ou respondendo a ela

657 668 

658Claude Code encaminha um gateway na frente de um provedor de nuvem. Se o shell a partir do qual você despacha seleciona o provedor e exporta seu endpoint de gateway com seu flag de bypass de auth, Claude Code encaminha o par endpoint-e-flag para a sessão sob as condições que se aplicam a `ANTHROPIC_BASE_URL`, junto com `ANTHROPIC_CUSTOM_HEADERS`. Por exemplo, exporte `CLAUDE_CODE_USE_VERTEX=1` com `ANTHROPIC_VERTEX_BASE_URL` e `CLAUDE_CODE_SKIP_VERTEX_AUTH=1`, e Claude Code encaminha aquele endpoint e flag.669Claude Code encaminha um gateway na frente de um provedor de nuvem. Se o shell do qual você despacha seleciona o provedor e exporta seu endpoint de gateway com seu sinalizador de bypass de auth, Claude Code encaminha o par endpoint-e-sinalizador para a sessão sob as condições que se aplicam a `ANTHROPIC_BASE_URL`, junto com `ANTHROPIC_CUSTOM_HEADERS`. Por exemplo, exporte `CLAUDE_CODE_USE_VERTEX=1` com `ANTHROPIC_VERTEX_BASE_URL` e `CLAUDE_CODE_SKIP_VERTEX_AUTH=1`, e Claude Code encaminha esse endpoint e sinalizador.

659 670 

660Claude Code aplica um gateway encaminhado apenas ao processo em execução daquela sessão e nunca o escreve em disco.671Claude Code aplica um gateway encaminhado apenas ao processo em execução dessa sessão e nunca o escreve em disco.

661 672 

662<h4 id="permission-mode">673<h4 id="permission-mode">

663 Permission mode674 Modo de permissão

664</h4>675</h4>

665 676 

666O [permission mode](/docs/pt/permissions) depende de como você iniciou a sessão:677O [modo de permissão](/docs/pt/permissions) depende de como você iniciou a sessão:

667 678 

668* **Colocada em background com `/bg` ou `←`**: Claude Code mantém o permission mode em que a sessão estava, portanto uma que você alterou para `acceptEdits` ou `auto` permanece lá após desanexar679* **Colocada em segundo plano com `/bg` ou `←`**: Claude Code mantém o modo de permissão em que a sessão estava, portanto um que você mudou para `acceptEdits` ou `auto` permanece lá após desanexar

669* **Despachada a partir de um agent view que você abriu com `←`**: a configuração do alvo vem primeiro, e o permission mode da sessão da qual você veio se aplica quando nada mais define um680* **Despachada a partir de uma visualização de agentes que você abriu com `←`**: a configuração própria do alvo vem primeiro, e o modo de permissão da sessão da qual você veio se aplica quando nada mais define um

670* **Despachada a partir de `claude agents` iniciado em um shell, ou com `claude --bg`**: a nova sessão começa da forma que uma nova sessão `claude` naquele diretório começaria, a menos que você a tenha despachado a partir de um agent view que você abriu com [dispatch defaults](#dispatch-defaults). [Which permission mode a session starts in](/docs/pt/permission-modes#which-mode-a-session-starts-in) lista a ordem681* **Despachada de `claude agents` iniciado em um shell, ou com `claude --bg`**: a nova sessão começa da forma que uma nova sessão `claude` nesse diretório começaria, a menos que você a tenha despachado a partir de uma visualização de agentes que você abriu com [padrões de despacho](#dispatch-defaults). [Which permission mode a session starts in](/docs/pt/permission-modes#which-mode-a-session-starts-in) lista a ordem

671 682 

672Para uma sessão que você despacha a partir de um agent view aberto com `←`, Claude Code leva o permission mode do primeiro destes que se aplica:683Para uma sessão que você despacha a partir de uma visualização de agentes aberta com `←`, Claude Code toma o modo de permissão do primeiro destes que se aplica:

673 684 

6741. O [`permissions.defaultMode`](/docs/pt/settings-reference#permissions-defaultmode) do diretório alvo. Duas regras de fonte se aplicam:6851. O [`permissions.defaultMode`](/docs/pt/settings-reference#permissions-defaultmode) do diretório alvo. Duas regras de fonte se aplicam:

675 * `auto` e `bypassPermissions` [têm efeito apenas a partir de settings gerenciadas, um arquivo `--settings` ou `~/.claude/settings.json`](/docs/pt/settings-reference#permissions-defaultmode).686 * `auto` e `bypassPermissions` [entram em vigor apenas a partir de configurações gerenciadas, um arquivo `--settings` ou `~/.claude/settings.json`](/docs/pt/settings-reference#permissions-defaultmode).

676 * Claude Code recusa um `defaultMode` do `.claude/settings.json` ou `.claude/settings.local.json` do projeto que seleciona um modo mais permissivo que o permission mode em que a sessão da qual você veio estava.687 * Claude Code recusa um `defaultMode` do `.claude/settings.json` ou `.claude/settings.local.json` do projeto que seleciona um modo mais permissivo do que a sessão da qual você veio estava.

6772. O permission mode da sessão da qual você veio6882. O modo de permissão da sessão da qual você veio

678 689 

679Quando Claude Code recusa o modo de uma fonte como muito permissivo, a próxima fonte na lista decide. Por exemplo, se você despacha a partir de uma sessão em plan mode para um diretório cujas settings verificadas pedem `acceptEdits`, a nova sessão começa em plan mode. Se você mover aquele `defaultMode` para `~/.claude/settings.json`, ele se aplica independentemente do permission mode da sessão da qual você veio.690Quando Claude Code recusa o modo de uma fonte como muito permissivo, a próxima fonte na lista decide. Por exemplo, se você despacha a partir de uma sessão em modo de plano para um diretório cujas configurações verificadas pedem `acceptEdits`, a nova sessão começa em modo de plano. Se você mover esse `defaultMode` para `~/.claude/settings.json`, ele se aplica independentemente do modo de permissão da sessão da qual você veio.

680 691 

681Permissividade corre plan, depois Manual e `dontAsk`, depois `acceptEdits` e auto, que cada um conta como mais permissivo que o outro, depois `bypassPermissions`.692A permissividade corre plano, depois Manual e `dontAsk`, depois `acceptEdits` e auto, que cada um conta como mais permissivo do que o outro, depois `bypassPermissions`.

682 693 

683<h4 id="dispatch-defaults">694<h4 id="dispatch-defaults">

684 Dispatch defaults695 Padrões de despacho

685</h4>696</h4>

686 697 

687Para definir padrões para cada sessão que você despacha a partir de agent view, passe qualquer um de `--permission-mode`, `--model`, `--effort` ou `--agent` ao abri-lo:698Para definir padrões para toda sessão que você despacha a partir da visualização de agentes, passe qualquer um de `--permission-mode`, `--model`, `--effort` ou `--agent` ao abri-la:

688 699 

689```bash theme={null}700```bash theme={null}

690claude agents --permission-mode plan --model opus --effort high701claude agents --permission-mode plan --model opus --effort high

691```702```

692 703 

693`--effort` aqui aceita os mesmos valores que o [flag `--effort` de nível superior](/docs/pt/cli-reference#cli-flags), incluindo `ultracode`.704`--effort` aqui aceita os mesmos valores que o [sinalizador `--effort` de nível superior](/docs/pt/cli-reference#cli-flags), incluindo `ultracode`.

694 705 

695`--agent` define o [subagent](/docs/pt/sub-agents) usado quando um prompt de despacho não nomeia um, seja com `@name` ou como a primeira palavra. O padrão é a configuração [`agent`](/docs/pt/settings-reference#agent) se uma estiver definida, caso contrário o agente `claude` integrado catch-all. Nomear um subagent na entrada de despacho substitui ambos.706`--agent` define o [subagente](/docs/pt/sub-agents) usado quando um prompt de despacho não nomeia um, seja com `@name` ou como a primeira palavra. Ele padrão para a [configuração `agent`](/docs/pt/settings-reference#agent) se uma estiver definida, caso contrário o agente `claude` catch-all built-in. Nomear um subagente na entrada de despacho substitui ambos.

696 707 

697`claude agents` também aceita `--dangerously-skip-permissions` como abreviação para `--permission-mode bypassPermissions`, e `--allow-dangerously-skip-permissions` para tornar `bypassPermissions` disponível no ciclo `Shift+Tab` de cada sessão despachada sem iniciar naquele modo. Ambos correspondem aos [flags CLI de nível superior](/docs/pt/cli-reference).708`claude agents` também aceita `--dangerously-skip-permissions` como abreviação para `--permission-mode bypassPermissions`, e `--allow-dangerously-skip-permissions` para tornar `bypassPermissions` disponível no ciclo `Shift+Tab` de cada sessão despachada sem começar nesse modo. Ambos correspondem aos [sinalizadores CLI de nível superior](/docs/pt/cli-reference).

698 709 

699Passe `--restricted` para iniciar cada sessão que você despacha a partir da visualização em [restricted mode](/docs/pt/cli-reference#cli-flags), como se cada uma fosse lançada com o flag de nível superior `--restricted`. Requer Claude Code v2.1.248 ou posterior.710Passe `--restricted` para iniciar toda sessão que você despacha a partir da visualização em [modo restrito](/docs/pt/cli-reference#cli-flags), como se cada uma fosse iniciada com o sinalizador de nível superior `--restricted`. Requer Claude Code v2.1.248 ou posterior.

700 711 

701Os padrões ativos aparecem no rodapé abaixo da entrada de despacho.712Os padrões ativos aparecem no rodapé abaixo da entrada de despacho.

702 713 

703Claude Code recusa `claude --bg --permission-mode bypassPermissions` até que você tenha aceitado o aviso de bypass executando `claude --dangerously-skip-permissions` uma vez interativamente, já que esse modo permite que uma sessão que você não está observando aja sem aprovação. Passar `--dangerously-skip-permissions` ou `--permission-mode bypassPermissions` para `claude agents` mostra o mesmo aviso quando você não o aceitou antes, e aceitar aplica `bypassPermissions` às sessões que você inicia a partir da visualização. Passar `--allow-dangerously-skip-permissions` mostra o mesmo aviso também, e aceitar torna `bypassPermissions` disponível no ciclo `Shift+Tab` dessas sessões sem iniciá-las nele.714Claude Code recusa `claude --bg --permission-mode bypassPermissions` até que você tenha aceitado o aviso de bypass executando `claude --dangerously-skip-permissions` uma vez interativamente, já que esse modo permite que uma sessão que você não está observando aja sem aprovação. Passar `--dangerously-skip-permissions` ou `--permission-mode bypassPermissions` para `claude agents` mostra o mesmo aviso quando você não o aceitou antes, e aceitar aplica `bypassPermissions` às sessões que você inicia a partir da visualização. Passar `--allow-dangerously-skip-permissions` mostra o mesmo aviso também, e aceitar torna `bypassPermissions` disponível no ciclo `Shift+Tab` dessas sessões sem iniciá-las nele.

704 715 

705<h4 id="what-persists-across-restarts">716<h4 id="what-persists-across-restarts">

706 What persists across restarts717 O que persiste entre reinicializações

707</h4>718</h4>

708 719 

709O permission mode, modelo e esforço que você escolheu para uma sessão em background, junto com os [flags de configuração que ela carrega](#what-carries-over-when-you-background), todos persistem quando o supervisor mais tarde [para e reinicia](#the-supervisor-process) seu processo. Uma sessão que você lançou com `claude --bg --dangerously-skip-permissions` ou `claude --bg --permission-mode bypassPermissions` permanece em `bypassPermissions` após aquele reinício. Um modelo ou esforço que você alterou no meio da sessão com `/model` ou `/effort` é mantido também.720O modo de permissão, modelo e esforço que você escolheu para uma sessão em segundo plano, junto com os [sinalizadores de configuração que ela carregou](#what-carries-over-when-you-background), tudo persiste quando o supervisor mais tarde [para e reinicia](#the-supervisor-process) seu processo. Uma sessão que você iniciou com `claude --bg --dangerously-skip-permissions` ou `claude --bg --permission-mode bypassPermissions` permanece em `bypassPermissions` após essa reinicialização. Um modelo ou esforço que você mudou no meio da sessão com `/model` ou `/effort` também é mantido.

710 721 

711Se a sessão levou seu esforço de suas settings em vez de `--effort` ou `/effort`, Claude Code lê suas settings novamente cada vez que inicia um processo para a sessão. Depois que você edita o esforço salvo em `settings.json`, a mudança alcança sessões que você coloca em background com `←` ou `/bg`, e seus reinícios posteriores. O esforço salvo é a chave [`effortLevel`](/docs/pt/settings-reference#effortlevel) ou uma entrada [`modelSettings`](/docs/pt/settings-reference#modelsettings).722Se a sessão tomou seu esforço de suas configurações em vez de `--effort` ou `/effort`, Claude Code lê suas configurações novamente cada vez que inicia um processo para a sessão. Depois que você edita o esforço salvo em `settings.json`, a mudança alcança sessões que você coloca em segundo plano com `←` ou `/bg`, e suas reinicializações posteriores. O esforço salvo é a chave [`effortLevel`](/docs/pt/settings-reference#effortlevel) ou uma entrada [`modelSettings`](/docs/pt/settings-reference#modelsettings).

712 723 

713Claude Code também mantém um nome que você definiu com [`/rename`](/docs/pt/commands) ou `Ctrl+R` através daquele reinício, portanto você ainda pode executar [`claude --resume <name>`](/docs/pt/sessions#name-your-sessions) para alcançar a sessão.724Claude Code também mantém um nome que você definiu com [`/rename`](/docs/pt/commands) ou `Ctrl+R` entre essa reinicialização, portanto você ainda pode executar [`claude --resume <name>`](/docs/pt/sessions#name-your-sessions) para alcançar a sessão.

714 725 

715Um prompt que você guardou com [`Ctrl+S`](/docs/pt/interactive-mode#general-controls) enquanto anexado é mantido com a sessão também. Reabra a sessão após seu processo ter sido parado ou reiniciado, e `Ctrl+S` restaura o texto guardado. Conteúdo colado no guarda não sobrevive ao reinício.726Um prompt que você guardou com [`Ctrl+S`](/docs/pt/interactive-mode#general-controls) enquanto anexado é mantido com a sessão também. Reabra a sessão após seu processo ter sido parado ou reiniciado, e `Ctrl+S` restaura o texto guardado. O conteúdo colado no guarda-roupa não sobrevive à reinicialização.

716 727 

717<h3 id="settings-plugins-and-mcp-servers">728<h3 id="settings-plugins-and-mcp-servers">

718 Settings, plugins, and MCP servers729 Configurações, plugins e servidores MCP

719</h3>730</h3>

720 731 

721Agent view aceita os mesmos flags de configuração que `claude` para carregar settings, plugins, servidores MCP e diretórios adicionais. Agent view aplica `--settings` e `--plugin-dir` a si mesmo e passa cada flag de configuração para as sessões que você despacha a partir dele, portanto um plugin ou servidor MCP que você carrega desta forma está disponível nessas sessões.732A visualização de agentes aceita os mesmos sinalizadores de configuração que `claude` para carregar configurações, plugins, servidores MCP e diretórios adicionais. A visualização de agentes aplica `--settings`, `--setting-sources` e `--plugin-dir` a si mesma e passa cada sinalizador de configuração para as sessões que você despacha a partir dela, portanto um plugin ou servidor MCP que você carrega dessa forma está disponível nessas sessões.

722 733 

723| Flag | Efeito |734| Sinalizador | Efeito |

724| :- | :- |735| :- | :- |

725| [`--settings <file-or-json>`](/docs/pt/settings) | Substituir settings para agent view e sessões despachadas |736| [`--settings <file-or-json>`](/docs/pt/settings) | Substituir configurações para visualização de agentes e sessões despachadas |

726| [`--add-dir <path>`](/docs/pt/permissions#additional-directories-grant-file-access-not-configuration) | Conceder acesso a arquivo a um diretório adicional |737| [`--setting-sources <sources>`](/docs/pt/cli-reference#cli-flags) | Carregar apenas as fontes de configurações nomeadas, na visualização de agentes e sessões despachadas |

738| [`--add-dir <path>`](/docs/pt/permissions#additional-directories-grant-file-access-not-configuration) | Conceder acesso a arquivo para um diretório adicional |

727| [`--plugin-dir <path>`](/docs/pt/plugins/create#load-a-directory-or-archive-for-one-session) | Carregar um plugin de um diretório local |739| [`--plugin-dir <path>`](/docs/pt/plugins/create#load-a-directory-or-archive-for-one-session) | Carregar um plugin de um diretório local |

728| [`--mcp-config <file-or-json>`](/docs/pt/mcp) | Carregar servidores MCP de um arquivo de configuração ou string JSON |740| [`--mcp-config <file-or-json>`](/docs/pt/mcp) | Carregar servidores MCP de um arquivo de configuração ou string JSON |

729| `--strict-mcp-config` | Usar apenas os servidores MCP de `--mcp-config`, ignorando outra configuração MCP. Veja [Exclusive control with managed-mcp.json](/docs/pt/managed-mcp#exclusive-control-with-managed-mcp-json) para o que o flag faz sob um arquivo MCP gerenciado |741| `--strict-mcp-config` | Use apenas os servidores MCP de `--mcp-config`, ignorando outra configuração MCP. Veja [Exclusive control with managed-mcp.json](/docs/pt/managed-mcp#exclusive-control-with-managed-mcp-json) para o que o sinalizador faz sob um arquivo MCP gerenciado |

730 742 

731Repita `--add-dir`, `--plugin-dir` ou `--mcp-config` uma vez por valor. `claude agents` não suporta a forma separada por espaço, como `--add-dir a b c`.743Repita `--add-dir`, `--plugin-dir` ou `--mcp-config` uma vez por valor. `claude agents` não suporta a forma separada por espaço, como `--add-dir a b c`.

732 744 

733Você pode colocar `--settings` e `--plugin-dir` antes ou depois de `agents`. Mantenha `--add-dir` e `--mcp-config` após `agents`: se você colocar qualquer um antes de `agents`, [`claude agents --json`](#manage-sessions-from-the-shell) falha com um erro `unknown option`.745Você pode colocar `--settings`, `--setting-sources` e `--plugin-dir` antes ou depois de `agents`. Mantenha `--add-dir` e `--mcp-config` após `agents`: se você colocar qualquer um antes de `agents`, [`claude agents --json`](#manage-sessions-from-the-shell) falha com um erro `unknown option`.

734 746 

735O exemplo a seguir abre agent view com uma substituição de settings e um diretório extra:747O exemplo a seguir abre a visualização de agentes com uma substituição de configurações e um diretório extra:

736 748 

737```bash theme={null}749```bash theme={null}

738claude agents --settings ./ci-settings.json --add-dir ../shared-lib750claude agents --settings ./ci-settings.json --add-dir ../shared-lib


1048 1060 

1049| Versão | Mudança |1061| Versão | Mudança |

1050| - | - |1062| - | - |

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

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

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

1066| v2.1.274 | Quando uma [exclusão é recusada](#what-deleting-a-session-removes) porque git ou seu hook `WorktreeRemove` não conseguiu remover o worktree, um submódulo verificado que Claude Code verifica não ter alterações não confirmadas em arquivos rastreados não bloqueia a oferta de deletar novamente e remover o diretório mesmo assim. Trabalho não confirmado dentro de um submódulo verificado conta como alterações não confirmadas, e a mensagem nomeia o submódulo. Antes desta versão, qualquer checkout de submódulo no worktree bloqueava a oferta, com uma mensagem dizendo que o worktree contém um repositório aninhado. |

1051| v2.1.268 | Quando uma [exclusão é recusada](#what-deleting-a-session-removes) porque git ou seu hook `WorktreeRemove` não conseguiu remover o worktree, a mensagem nomeia a causa, incluindo como um hook terminou e o início de seu stderr. Para um worktree vinculado sob o diretório `.claude/worktrees/` do repositório sem alterações não confirmadas em arquivos rastreados, nenhum repositório aninhado dentro dele e nenhum registro de outra sessão nomeando-o, deletar a sessão novamente remove o diretório mesmo assim, a partir de agent view ou com `claude rm <id> --force-remove-worktree <worktree-id>`. Antes desta versão, a linha mostrava apenas `worktree could not be removed (WorktreeRemove hook failed)` ou o erro do git, o stderr do hook ia apenas para o log de depuração, e deletar novamente era recusado da mesma forma. |1067| v2.1.268 | Quando uma [exclusão é recusada](#what-deleting-a-session-removes) porque git ou seu hook `WorktreeRemove` não conseguiu remover o worktree, a mensagem nomeia a causa, incluindo como um hook terminou e o início de seu stderr. Para um worktree vinculado sob o diretório `.claude/worktrees/` do repositório sem alterações não confirmadas em arquivos rastreados, nenhum repositório aninhado dentro dele e nenhum registro de outra sessão nomeando-o, deletar a sessão novamente remove o diretório mesmo assim, a partir de agent view ou com `claude rm <id> --force-remove-worktree <worktree-id>`. Antes desta versão, a linha mostrava apenas `worktree could not be removed (WorktreeRemove hook failed)` ou o erro do git, o stderr do hook ia apenas para o log de depuração, e deletar novamente era recusado da mesma forma. |

1052| v2.1.268 | Após o primeiro `←` mostrar `Press ← again to open agents`, ou `Press ← again to go back to agents` em uma sessão anexada, [o primeiro pressionamento que chega pelo menos um segundo depois muda](#switch-sessions-without-leaving-the-terminal), mesmo quando pressionamentos mais rápidos no meio foram ignorados. Antes desta versão, cada pressionamento ignorado reiniciava a espera, então pressionar `←` novamente em um ritmo constante não mudava até que você pausasse por mais de um segundo. |1068| v2.1.268 | Após o primeiro `←` mostrar `Press ← again to open agents`, ou `Press ← again to go back to agents` em uma sessão anexada, [o primeiro pressionamento que chega pelo menos um segundo depois muda](#switch-sessions-without-leaving-the-terminal), mesmo quando pressionamentos mais rápidos no meio foram ignorados. Antes desta versão, cada pressionamento ignorado reiniciava a espera, então pressionar `←` novamente em um ritmo constante não mudava até que você pausasse por mais de um segundo. |

1053| v2.1.260 | Quando você [coloca uma sessão em background](#from-inside-a-session), a [listagem de agentes](/docs/pt/cross-session-messaging#see-which-sessions-claude-can-reach) de suas outras sessões mostra a conversa uma vez, como sua sessão em background, e suas mensagens para ela não chegam mais ao terminal de onde você a moveu. Antes desta versão, esse terminal poderia ficar listado como uma segunda sessão interativa sob o nome da conversa, e uma sessão que tinha enviado mensagens para a conversa antes da mudança continuava entregando a esse terminal. |1069| v2.1.260 | Quando você [coloca uma sessão em background](#from-inside-a-session), a [listagem de agentes](/docs/pt/cross-session-messaging#see-which-sessions-claude-can-reach) de suas outras sessões mostra a conversa uma vez, como sua sessão em background, e suas mensagens para ela não chegam mais ao terminal de onde você a moveu. Antes desta versão, esse terminal poderia ficar listado como uma segunda sessão interativa sob o nome da conversa, e uma sessão que tinha enviado mensagens para a conversa antes da mudança continuava entregando a esse terminal. |

agents.md +1 −1

Details

13| [Subagentes](/docs/pt/sub-agents) | Trabalhadores delegados dentro de uma sessão que fazem uma tarefa secundária em seu próprio contexto e retornam um resumo | Uma tarefa secundária inundaria sua conversa principal com resultados de pesquisa, logs ou conteúdos de arquivo que você não consultará novamente |13| [Subagentes](/docs/pt/sub-agents) | Trabalhadores delegados dentro de uma sessão que fazem uma tarefa secundária em seu próprio contexto e retornam um resumo | Uma tarefa secundária inundaria sua conversa principal com resultados de pesquisa, logs ou conteúdos de arquivo que você não consultará novamente |

14| [Visualização de agentes](/docs/pt/agent-view) | Uma tela para despachar e monitorar sessões em execução em segundo plano, aberta com `claude agents`. Visualização de pesquisa | Você tem várias tarefas independentes e quer delegá-las, verificar o status rapidamente e intervir apenas quando uma precisar de você |14| [Visualização de agentes](/docs/pt/agent-view) | Uma tela para despachar e monitorar sessões em execução em segundo plano, aberta com `claude agents`. Visualização de pesquisa | Você tem várias tarefas independentes e quer delegá-las, verificar o status rapidamente e intervir apenas quando uma precisar de você |

15| [Equipes de agentes](/docs/pt/agent-teams) | Múltiplas sessões coordenadas com uma lista de tarefas compartilhada e mensagens entre agentes, gerenciadas por um líder. Experimental e desabilitado por padrão | Você quer que Claude divida um projeto em partes, as atribua e mantenha os trabalhadores sincronizados |15| [Equipes de agentes](/docs/pt/agent-teams) | Múltiplas sessões coordenadas com uma lista de tarefas compartilhada e mensagens entre agentes, gerenciadas por um líder. Experimental e desabilitado por padrão | Você quer que Claude divida um projeto em partes, as atribua e mantenha os trabalhadores sincronizados |

16| [Projetos](/docs/pt/claude-projects) | Uma conversa contínua em claude.ai/code ou no aplicativo desktop. Claude inicia sessões paralelas na nuvem chamadas threads, fornece a cada uma os repositórios, instruções e memória do projeto, e mostra quais precisam de você. Beta público em Pro e Max | O trabalho abrange muitas tarefas ao longo de dias ou semanas, deve continuar em execução quando sua máquina está desligada, e você prefere descrevê-lo uma vez em vez de despachar e rastrear cada sessão |16| [Projetos](/docs/pt/claude-projects) | Uma conversa contínua em claude.ai/code ou no aplicativo desktop. Claude inicia sessões paralelas chamadas threads, na nuvem ou, quando você solicita, em seu computador através do Remote Control, fornece a cada uma as instruções do projeto e mostra quais precisam de você. Beta público em Pro e Max | O trabalho abrange muitas tarefas ao longo de dias ou semanas, deve continuar em execução quando sua máquina está desligada, e você prefere descrevê-lo uma vez em vez de despachar e rastrear cada sessão |

17| [Workflows dinâmicos](/docs/pt/workflows) | Um script que executa muitos subagentes e verifica seus resultados, para um trabalho muito grande para coordenar em um único turno ou que precisa de mais de uma passagem | Uma tarefa cresce além de um punhado de subagentes, ou você quer que as descobertas sejam verificadas uma contra a outra: uma auditoria em toda a base de código, uma migração de 500 arquivos, pesquisa com verificação cruzada ou um plano elaborado de vários ângulos |17| [Workflows dinâmicos](/docs/pt/workflows) | Um script que executa muitos subagentes e verifica seus resultados, para um trabalho muito grande para coordenar em um único turno ou que precisa de mais de uma passagem | Uma tarefa cresce além de um punhado de subagentes, ou você quer que as descobertas sejam verificadas uma contra a outra: uma auditoria em toda a base de código, uma migração de 500 arquivos, pesquisa com verificação cruzada ou um plano elaborado de vários ângulos |

18 18 

19Em cada abordagem, os trabalhadores são sessões Claude. Para envolver uma ferramenta diferente, exponha-a ao Claude como um [servidor MCP](/docs/pt/mcp).19Em cada abordagem, os trabalhadores são sessões Claude. Para envolver uma ferramenta diferente, exponha-a ao Claude como um [servidor MCP](/docs/pt/mcp).

artifacts.md +36 −4

Details

305 305 

306Para tipografia, Claude pode carregar uma fonte do Google Fonts, a única fonte de fonte externa que uma página de artefato pode carregar. Claude incorpora qualquer outra fonte como um `@font-face` data URI e fornece a cada fonte uma pilha de fallback, portanto a página ainda é renderizada se uma fonte não carregar. Para usar uma fonte específica, nomeie-a em seu prompt ou em seu sistema de design.306Para tipografia, Claude pode carregar uma fonte do Google Fonts, a única fonte de fonte externa que uma página de artefato pode carregar. Claude incorpora qualquer outra fonte como um `@font-face` data URI e fornece a cada fonte uma pilha de fallback, portanto a página ainda é renderizada se uma fonte não carregar. Para usar uma fonte específica, nomeie-a em seu prompt ou em seu sistema de design.

307 307 

308<h2 id="draft-a-design-canvas">308<h2 id="start-from-a-slides-design-or-docs-template">

309 Rascunhar uma tela de design309 Comece a partir de um modelo de Slides, Design ou Docs

310</h2>310</h2>

311 311 

312Para criar um protótipo de uma interface de usuário, um fluxo de tela, uma página de destino ou um pôster em vez de construir uma página, execute `/design` com um resumo. Claude rascunha o design como pranchetas em uma tela e publica a tela como um artefato de Design. O resumo nomeia o que você deseja desenhar:312Em vez de construir uma página do zero, Claude pode iniciar um artefato a partir de um dos modelos em sua conta claude.ai: [Claude Slides](https://support.claude.com/en/articles/17153992-what-are-artifacts-and-how-do-i-use-them#h_11d5a9a5fa) para uma apresentação, [Claude Design](https://support.claude.com/en/articles/14604416-get-started-with-claude-design) para um design visual, ou [Claude Docs](https://support.claude.com/en/articles/16923645-get-started-with-claude-docs) para um documento que outras pessoas lerão e editarão. Cada um abre em seu próprio editor em claude.ai, onde você e seus colegas de equipe o alteram diretamente ou pedem a Claude para fazer isso, e o exportam para formatos como PowerPoint, PDF ou Word.

313 

314Para começar a partir de um modelo, descreva o que você deseja, como "transformar as notas de migração em um deck para a revisão de quinta-feira" ou "escrever este plano como um documento para a equipe". Claude escolhe o modelo correspondente, o preenche a partir de sua solicitação e do que a sessão já possui, e fornece o link. Para um deck ou um design, você também pode executar `/slides` ou `/design` com um resumo.

315 

316<Note>

317 Os modelos estão em beta. Eles estão ativados por padrão nos planos Pro, Max e Team. Nos planos Enterprise, um Proprietário [ativa cada modelo](https://support.claude.com/en/articles/16994751-artifacts-admin-guide-for-team-and-enterprise-plans) em **Configurações da Organização > Artefatos**. Se sua organização tiver o modelo Slides desativado, `/slides` não aparece; se tiver o modelo Design desativado, `/design` não rascunha designs. Ambos os comandos exigem Claude Code v2.1.265 ou posterior e uma sessão onde [artefatos estão disponíveis](#availability).

318</Note>

319 

320<h3 id="make-a-slide-deck">

321 Crie um deck de slides

322</h3>

323 

324Execute `/slides` com um resumo que diga o que o deck cobre e para quem é:

325 

326```text wrap theme={null}

327/slides a quarterly review of the platform team's reliability work, for the engineering all-hands

328```

329 

330Claude cria um artefato Claude Slides e fornece o link. Abra-o em um navegador de desktop para editar ou apresentar o deck. Se você executar `/slides` sem um resumo, Claude pergunta sobre o que o deck deve ser antes de criar qualquer coisa.

331 

332<h3 id="draft-a-design-canvas">

333 Rascunhe uma tela de design

334</h3>

335 

336Para criar um protótipo de uma interface de usuário, um fluxo de tela, uma página de destino ou um pôster em vez de construir uma página, execute `/design` com um resumo. Claude rascunha o design como pranchetas em uma tela e publica a tela como um artefato Claude Design. O resumo nomeia o que você deseja desenhar:

313 337 

314```text wrap theme={null}338```text wrap theme={null}

315/design a settings screen for a mobile banking app339/design a settings screen for a mobile banking app


317 341 

318Abra o artefato publicado em um navegador de desktop para revisar as pranchetas. Selecione um elemento em uma prancheta e altere-o, e suas edições são salvas automaticamente. Você pode exportar cada prancheta como PNG ou PDF.342Abra o artefato publicado em um navegador de desktop para revisar as pranchetas. Selecione um elemento em uma prancheta e altere-o, e suas edições são salvas automaticamente. Você pode exportar cada prancheta como PNG ou PDF.

319 343 

320`/design` requer uma sessão onde [artefatos estão disponíveis](#availability) e Claude Code v2.1.265 ou posterior.344<h3 id="write-a-document-with-claude-docs">

345 Escreva um documento com Claude Docs

346</h3>

347 

348Claude Docs chega ao Claude Code como um [conector](/docs/pt/mcp#use-mcp-servers-from-claude-ai) claude.ai em vez de um comando. Quando está conectado, `/mcp` o lista como `claude.ai Claude Docs`. Uma solicitação para um documento destinado a outras pessoas vai para Claude Docs em vez de uma página de artefato: uma especificação, uma proposta ou um resumo do plano que você trabalhou na sessão. Claude fornece o link do documento quando ele é rascunhado.

349 

350Um documento que pertence ao repositório de código, como um README, permanece um arquivo. Para obter um arquivo para algo que Claude colocaria em Claude Docs, nomeie o formato, como `.docx` ou um arquivo Markdown no repositório.

351 

352Para desativar o conector, adicione `claude.ai Claude Docs` a `deniedMcpServers` ou use o alternador `/mcp`, ambos descritos em [Desativar conectores claude.ai](/docs/pt/mcp#disable-claude-ai-connectors).

321 353 

322<h2 id="page-constraints">354<h2 id="page-constraints">

323 Restrições de página355 Restrições de página

authentication.md +45 −19

Details

32 32 

33Para fazer logout e se autenticar novamente, digite `/logout` no prompt do Claude Code. Fazer logout também redefine seu estado de configuração de primeiro lançamento, portanto, na próxima vez que você executar `claude`, ele o guiará novamente pelo login e configuração.33Para fazer logout e se autenticar novamente, digite `/logout` no prompt do Claude Code. Fazer logout também redefine seu estado de configuração de primeiro lançamento, portanto, na próxima vez que você executar `claude`, ele o guiará novamente pelo login e configuração.

34 34 

35Para permanecer conectado a várias contas ao mesmo tempo, como contas de trabalho e pessoais, dê a cada conta seu próprio diretório de configuração. Quando você inicia `claude`, defina a variável de ambiente [`CLAUDE_CONFIG_DIR`](/docs/pt/env-vars#variables) para o diretório da conta que você deseja usar. Cada diretório tem suas próprias configurações, histórico de sessão e login claude.ai ou chave de API. Por exemplo, em Bash ou Zsh, adicione este alias a `~/.bashrc` ou `~/.zshrc` para que `claude-work` use sua conta de trabalho enquanto `claude` mantém a sua pessoal:

36 

37```bash theme={null}

38alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'

39```

40 

41Depois de abrir um novo terminal e executar `claude-work` pela primeira vez, Claude Code o guiará pelo login e configuração para o novo diretório. Diretórios separados não mantêm dois logins do Claude Console [sem uma chave de API](#sign-in-without-an-api-key) separados, porque Claude Code armazena esse tipo de login fora do diretório de configuração.

42 

35Se você está tendo problemas para fazer login, consulte [solução de problemas de autenticação](/docs/pt/troubleshoot-install#login-and-authentication).43Se você está tendo problemas para fazer login, consulte [solução de problemas de autenticação](/docs/pt/troubleshoot-install#login-and-authentication).

36 44 

37<h2 id="set-up-team-authentication">45<h2 id="set-up-team-authentication">


122* Qualquer arquivo de configurações define [`forceLoginOrgUUID`](#restrict-login-to-your-organization), ou define `forceLoginMethod` como `"claudeai"` ou `"console"`130* Qualquer arquivo de configurações define [`forceLoginOrgUUID`](#restrict-login-to-your-organization), ou define `forceLoginMethod` como `"claudeai"` ou `"console"`

123* Uma fonte de configurações gerenciadas em sua máquina, como o arquivo de configurações gerenciadas, um perfil MDM ou as configurações gerenciadas pelo servidor em cache, existe mas Claude Code [não consegue lê-la](/docs/pt/managed-settings#invalid-entries-in-managed-settings) e nenhuma outra fonte gerenciada fornece uma política131* Uma fonte de configurações gerenciadas em sua máquina, como o arquivo de configurações gerenciadas, um perfil MDM ou as configurações gerenciadas pelo servidor em cache, existe mas Claude Code [não consegue lê-la](/docs/pt/managed-settings#invalid-entries-in-managed-settings) e nenhuma outra fonte gerenciada fornece uma política

124 132 

125Desdefina `ANTHROPIC_API_KEY` antes de fazer login sem uma chave. Um perfil escrito pelo próprio login do Console do Claude Code, ou pelo `ant auth login` da CLI do Claude Platform, é o mesmo tipo de credencial, então fazer login novamente o substitui.133Desdefina `ANTHROPIC_API_KEY` antes de fazer login sem uma chave.

126 134 

127Depois de fazer login sem uma chave, você tem um perfil em vez de uma chave de API armazenada:135Depois de fazer login sem uma chave, você tem um perfil em vez de uma chave de API armazenada:

128 136 


160 168 

161Para exigir que os logins claude.ai dos desenvolvedores pertençam a uma organização Anthropic específica, defina [`forceLoginMethod`](/docs/pt/settings-reference#forceloginmethod) e [`forceLoginOrgUUID`](/docs/pt/settings-reference#forceloginorguuid) em [configurações gerenciadas](/docs/pt/managed-settings). Defina `forceLoginOrgUUID` para seu ID de organização, mostrado em [configurações de administrador claude.ai](https://claude.ai/admin-settings/organization) para organizações Claude for Teams ou Enterprise. Claude Code relata um erro para um login claude.ai em qualquer outra organização e sai na inicialização se a credencial claude.ai em uso pertencer a uma organização que não esteja listada.169Para exigir que os logins claude.ai dos desenvolvedores pertençam a uma organização Anthropic específica, defina [`forceLoginMethod`](/docs/pt/settings-reference#forceloginmethod) e [`forceLoginOrgUUID`](/docs/pt/settings-reference#forceloginorguuid) em [configurações gerenciadas](/docs/pt/managed-settings). Defina `forceLoginOrgUUID` para seu ID de organização, mostrado em [configurações de administrador claude.ai](https://claude.ai/admin-settings/organization) para organizações Claude for Teams ou Enterprise. Claude Code relata um erro para um login claude.ai em qualquer outra organização e sai na inicialização se a credencial claude.ai em uso pertencer a uma organização que não esteja listada.

162 170 

163Para logins do Claude Console, Claude Code usa `forceLoginOrgUUID` para pré-selecionar a organização na página de login do Console quando você o define para um único ID de organização do Console, mostrado em [platform.claude.com/settings/organization](https://platform.claude.com/settings/organization). Ele não verifica a qual organização a credencial do Console resultante pertence, no login ou na inicialização, e um desenvolvedor que fez login com uma conta do Console antes de você implantar as chaves permanece conectado.171Para logins do Claude Console, Claude Code usa `forceLoginOrgUUID` para pré-selecionar a organização na página de login do Console quando você o define para um único ID de organização do Console, mostrado em [platform.claude.com/settings/organization](https://platform.claude.com/settings/organization). Ele não verifica a qual organização a credencial do Console resultante pertence, no login ou na inicialização. Um desenvolvedor que fez login com uma conta do Console antes de você implantar as chaves permanece conectado, e essa chave salva é bloqueada em uma máquina que também requer o login do [gateway](/docs/pt/claude-apps-gateway) ou em uma sessão que seleciona um provedor de nuvem.

164 172 

165Se você definir `forceLoginOrgUUID` em qualquer arquivo de configurações, Claude Code para de oferecer o [login do Console sem chave](#sign-in-without-an-api-key) nas sessões às quais esse arquivo se aplica e cria uma chave de API em vez disso. Para direcionar os desenvolvedores para o login claude.ai em vez disso, defina `forceLoginMethod` como `"claudeai"`.173Se você definir `forceLoginOrgUUID` em qualquer arquivo de configurações, Claude Code para de oferecer o [login do Console sem chave](#sign-in-without-an-api-key) nas sessões às quais esse arquivo se aplica e cria uma chave de API em vez disso. Para direcionar os desenvolvedores para o login claude.ai em vez disso, defina `forceLoginMethod` como `"claudeai"`.

166 174 

167Os desenvolvedores podem fazer login de vários caminhos: o fluxo `/login` do terminal, a [extensão VS Code](/docs/pt/vs-code), o Agent SDK, `claude setup-token`, `/install-github-app`, e [login do gateway](/docs/pt/claude-apps-gateway) para organizações que roteiamthrough a cloud gateway. No Claude Code v2.1.212 ou posterior, cada caminho aplica `forceLoginMethod`; antes da v2.1.212, apenas logins de terminal aplicavam qualquer chave. Na tela de login interativa do terminal, alcançada por `/login` ou onboarding de primeira execução, Claude Code pré-seleciona um método `claudeai` ou `console` sem aplicá-lo, então mesmo com `forceLoginMethod` definido como `"claudeai"`, um desenvolvedor ainda pode completar um login do Console lá. Os caminhos diferem em `forceLoginOrgUUID`:175No Claude Code v2.1.212 ou posterior, cada caminho de login listado aqui aplica `forceLoginMethod`. Na tela de login interativa do terminal, alcançada por `/login` ou onboarding de primeira execução, Claude Code pré-seleciona um método `claudeai` ou `console` sem aplicá-lo, então mesmo com `forceLoginMethod` definido como `"claudeai"`, um desenvolvedor ainda pode completar um login do Console lá.

168 176 

169* **Logins de terminal, extensão VS Code e Agent SDK**: verificam `forceLoginOrgUUID` para logins de conta claude.ai177Os caminhos diferem em `forceLoginOrgUUID`:

178 

179* **Terminal, [extensão VS Code](/docs/pt/vs-code) e logins do Agent SDK**: verificam `forceLoginOrgUUID` para logins de conta claude.ai

170* **`claude setup-token` e `/install-github-app`**: aplicam apenas `forceLoginMethod`, então eles podem cunhar um token em uma organização diferente180* **`claude setup-token` e `/install-github-app`**: aplicam apenas `forceLoginMethod`, então eles podem cunhar um token em uma organização diferente

171* **[Login do gateway](/docs/pt/claude-apps-gateway)**: selecionado por `forceLoginMethod: "gateway"` em vez de restringido por ele, e não autentica contra uma organização Anthropic, então `forceLoginOrgUUID` não se aplica; use seu provedor de identidade do gateway para restringir o acesso181* **[Login do gateway](/docs/pt/claude-apps-gateway)**: selecionado por `forceLoginMethod: "gateway"` em vez de restringido por ele, e não autentica contra uma organização Anthropic, então `forceLoginOrgUUID` não se aplica; use seu provedor de identidade do gateway para restringir o acesso

172 182 

173Implante as chaves através de sua ferramenta de gerenciamento de dispositivos. [Configurações gerenciadas pelo servidor](/docs/pt/server-managed-settings) alcançam apenas contas que já estão autenticadas em sua organização, então elas não podem redirecionar o primeiro login de um desenvolvedor. Se sua organização também distribui configurações gerenciadas pelo servidor, defina as chaves em ambos os lugares: fontes de [configurações gerenciadas](/docs/pt/server-managed-settings#settings-precedence) não se mesclam, e as configurações gerenciadas pelo servidor em cache substituem o arquivo gerenciado pelo dispositivo, exceto por alguns [exceções por chave](/docs/pt/server-managed-settings#per-key-exceptions-across-managed-sources). `forceLoginOrgUUID` e os valores `"claudeai"` e `"console"` de `forceLoginMethod` não estão entre essas exceções, então mantenha-os em ambos os lugares.183Implante as chaves através de sua ferramenta de gerenciamento de dispositivos. [Configurações gerenciadas pelo servidor](/docs/pt/server-managed-settings) alcançam apenas contas que já estão autenticadas em sua organização, então elas não podem redirecionar o primeiro login de um desenvolvedor. Se sua organização também distribui configurações gerenciadas pelo servidor, defina as chaves em ambos os lugares: fontes de [configurações gerenciadas](/docs/pt/server-managed-settings#settings-precedence) não se mesclam, e as configurações gerenciadas pelo servidor em cache substituem o arquivo gerenciado pelo dispositivo, exceto por alguns [exceções por chave](/docs/pt/server-managed-settings#per-key-exceptions-across-managed-sources). `forceLoginOrgUUID` e os valores `"claudeai"` e `"console"` de `forceLoginMethod` não estão entre essas exceções, então mantenha-os em ambos os lugares.

174 184 

185Em uma implantação de [gateway](/docs/pt/claude-apps-gateway), também mantenha `forceLoginMethod` e `forceLoginOrgUUID` fora das [configurações que o gateway serve](/docs/pt/claude-apps-gateway-config#managed).

186 

175As chaves também decidem se uma sessão que não usa uma credencial de login pode iniciar. Veja [`forceLoginOrgUUID`](/docs/pt/settings-reference#forceloginorguuid) na referência de configurações para o comportamento completo.187As chaves também decidem se uma sessão que não usa uma credencial de login pode iniciar. Veja [`forceLoginOrgUUID`](/docs/pt/settings-reference#forceloginorguuid) na referência de configurações para o comportamento completo.

176 188 

177* **`ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` ou `apiKeyHelper`**: bloqueado na inicialização, já que a associação à organização não pode ser verificada para uma credencial de ambiente189* **`ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` ou `apiKeyHelper`**: bloqueado na inicialização. Sob `forceLoginOrgUUID`, a associação à organização não pode ser verificada para uma credencial de ambiente, e sob `forceLoginMethod` a credencial estaria no lugar do login necessário. Quando as configurações gerenciadas também exigem o login do [gateway](/docs/pt/claude-apps-gateway), Claude Code bloqueia uma chave de API salva por um login anterior do Claude Console da mesma forma. Veja [Administrator policy requires a Cloud gateway sign-in](/docs/pt/errors#administrator-policy-requires-a-cloud-gateway-sign-in)

178* **Sessões do provedor de nuvem como Amazon Bedrock**: não bloqueadas, porque elas autenticam contra seu provedor de nuvem. Restrinja-as através de suas políticas de IAM de nuvem190* **Sessões do provedor de nuvem como Amazon Bedrock**: bloqueadas apenas enquanto uma credencial `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` ou `apiKeyHelper`, ou uma chave de API salva por um login anterior do Claude Console, ainda estiver presente na máquina. Remova-a e a sessão inicia. Essas sessões autenticam contra seu provedor de nuvem, cujas políticas de acesso as governam

179* **[Perfil Anthropic ou credenciais de federação](#anthropic-profiles-and-federation-credentials)**: não bloqueadas, e as chaves não verificam a qual organização o perfil pertence191* **[Perfil Anthropic ou credenciais de federação](#anthropic-profiles-and-federation-credentials)**: não bloqueadas a menos que uma credencial `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` ou `apiKeyHelper`, ou uma chave de API salva por um login anterior do Claude Console, também esteja presente na máquina. As chaves não verificam a qual organização o perfil pertence

180 192 

181<h2 id="credential-management">193<h2 id="credential-management">

182 Gerenciamento de credenciais194 Gerenciamento de credenciais


192 * Claude Code gerencia `.credentials.json` através de `/login` e `/logout`. Para rotear solicitações através de um endpoint de API personalizado, defina a variável de ambiente [`ANTHROPIC_BASE_URL`](/docs/pt/env-vars) em vez disso.204 * Claude Code gerencia `.credentials.json` através de `/login` e `/logout`. Para rotear solicitações através de um endpoint de API personalizado, defina a variável de ambiente [`ANTHROPIC_BASE_URL`](/docs/pt/env-vars) em vez disso.

193* **Tipos de autenticação suportados**: credenciais claude.ai, credenciais da API Claude, Microsoft Foundry Auth, Bedrock Auth, Vertex Auth, credenciais de perfil Anthropic e [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation), e tokens de sessão do [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway).205* **Tipos de autenticação suportados**: credenciais claude.ai, credenciais da API Claude, Microsoft Foundry Auth, Bedrock Auth, Vertex Auth, credenciais de perfil Anthropic e [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation), e tokens de sessão do [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway).

194* **Scripts de credenciais personalizados**: configure a configuração [`apiKeyHelper`](/docs/pt/settings-reference#apikeyhelper) para executar um script de shell que retorna uma chave de API.206* **Scripts de credenciais personalizados**: configure a configuração [`apiKeyHelper`](/docs/pt/settings-reference#apikeyhelper) para executar um script de shell que retorna uma chave de API.

195* **Intervalos de atualização**: Claude Code executa novamente `apiKeyHelper` após cinco minutos por padrão. Defina a variável de ambiente `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` para intervalos de atualização personalizados. Consulte [`apiKeyHelper`](/docs/pt/settings-reference#apikeyhelper) para os outros casos em que Claude Code executa novamente o helper.207* **Intervalos de atualização**: consulte [`apiKeyHelper`](/docs/pt/settings-reference#apikeyhelper) para os casos em que Claude Code executa novamente o helper.

196* **Aviso de helper lento**: se `apiKeyHelper` levar mais de 10 segundos para retornar uma chave, Claude Code exibe um aviso na barra de prompt mostrando o tempo decorrido. Se você vir este aviso regularmente, verifique se seu script de credenciais pode ser otimizado.208* **Aviso de helper lento**: se `apiKeyHelper` levar mais de 10 segundos para retornar uma chave, Claude Code exibe um aviso na barra de prompt mostrando o tempo decorrido. Se você vir este aviso regularmente, verifique se seu script de credenciais pode ser otimizado.

197* **Falhas do helper**: quando o script sai com um erro, expira ou não imprime nada, as solicitações falham com [`Your apiKeyHelper script is failing`](/docs/pt/errors#your-apikeyhelper-script-is-failing) dentro de três tentativas. Antes da v2.1.208, as falhas do helper apareciam como um 401 genérico após cerca de dez tentativas silenciosas.209* **Falhas do helper**: quando o script sai com um erro, expira ou não imprime nada, as solicitações falham com [`Your apiKeyHelper script is failing`](/docs/pt/errors#your-apikeyhelper-script-is-failing) dentro de três tentativas.

198 210 

199`apiKeyHelper`, `ANTHROPIC_API_KEY` e `ANTHROPIC_AUTH_TOKEN` se aplicam à CLI e às superfícies que a envolvem, incluindo a extensão VS Code, o Agent SDK e GitHub Actions. Claude Desktop e sessões na nuvem não chamam `apiKeyHelper` ou leem essas variáveis de ambiente: eles usam OAuth, exceto sessões de desktop executando uma [configuração de inferência de terceiros](/docs/pt/llm-gateway-connect#desktop-app), que se autenticam com a credencial dessa configuração.211`apiKeyHelper`, `ANTHROPIC_API_KEY` e `ANTHROPIC_AUTH_TOKEN` se aplicam à CLI e às superfícies que a envolvem, incluindo a extensão VS Code, o Agent SDK e GitHub Actions. Claude Desktop e sessões na nuvem não chamam `apiKeyHelper` ou leem essas variáveis de ambiente: eles usam OAuth, exceto sessões de desktop executando uma [configuração de inferência de terceiros](/docs/pt/llm-gateway-connect#desktop-app), que se autenticam com a credencial dessa configuração.

200 212 


202 Renovar um login que está expirando214 Renovar um login que está expirando

203</h3>215</h3>

204 216 

205Quando o login que você criou com `/login` está dentro de três dias de expiração, Claude Code mostra um aviso na inicialização: `Your login expires in 3 days · run /login to renew`. Requer Claude Code v2.1.203 ou posterior. Antes da v2.1.217, o aviso aparecia cinco dias antes.217Quando o login que você criou com `/login` está dentro de três dias de expiração, Claude Code mostra um aviso na inicialização: `Your login expires in 3 days · run /login to renew`.

206 218 

207Execute `/login` para renovar. O aviso é informativo e nunca bloqueia uma solicitação: a autenticação continua funcionando até que o login realmente expire. O tempo de vida do login em si não muda; o aviso antecipado é o que v2.1.203 adiciona.219Execute `/login` para renovar. O aviso é informativo e nunca bloqueia uma solicitação: a autenticação continua funcionando até que o login realmente expire.

208 220 

209Quando o login armazenado expira e não pode ser atualizado, cada solicitação de modelo falha com [`Login expired · Please run /login`](/docs/pt/errors#login-expired) até que você se conecte novamente. Antes da v2.1.206, Claude Code relatava um login expirado em solicitações de modelo como um erro de modelo em vez disso.221Quando o login armazenado expira e não pode ser atualizado, cada solicitação de modelo falha com [`Login expired · Please run /login`](/docs/pt/errors#login-expired) até que você se conecte novamente.

210 222 

211Você pode verificar este estado antes de uma solicitação falhar: [`/status`](/docs/pt/commands) mostra uma linha `Login` lendo `Expired — log in again`, mais a organização e o email que tem salvos para o login expirado. A linha aparece apenas quando o login claude.ai ou Claude Console salvo é a credencial ativa. A linha requer Claude Code v2.1.210 ou posterior.223Você pode verificar este estado antes de uma solicitação falhar: [`/status`](/docs/pt/commands) mostra uma linha `Login` lendo `Expired — log in again`, mais a organização e o email que tem salvos para o login expirado. A linha aparece apenas quando o login claude.ai ou Claude Console salvo é a credencial ativa. A linha requer Claude Code v2.1.210 ou posterior.

212 224 


230 242 

231Uma sessão do [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway) assinada fica fora desta lista: é uma seleção de provedor como Amazon Bedrock ou Google Cloud's Agent Platform, e a supera. Quando uma sessão de gateway existe, a CLI se autentica com o token do gateway mesmo se `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_VERTEX` ou `CLAUDE_CODE_USE_FOUNDRY` está definido, e fontes de credenciais acima como o token bearer, chave de API, `apiKeyHelper` e perfis não são usados.243Uma sessão do [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway) assinada fica fora desta lista: é uma seleção de provedor como Amazon Bedrock ou Google Cloud's Agent Platform, e a supera. Quando uma sessão de gateway existe, a CLI se autentica com o token do gateway mesmo se `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_VERTEX` ou `CLAUDE_CODE_USE_FOUNDRY` está definido, e fontes de credenciais acima como o token bearer, chave de API, `apiKeyHelper` e perfis não são usados.

232 244 

233Se as [configurações gerenciadas](/docs/pt/managed-settings) da sua máquina definirem [`forceLoginMethod`](/docs/pt/settings-reference#forceloginmethod) como `"gateway"` ou definirem [`forceLoginGatewayUrl`](/docs/pt/settings-reference#forcelogingatewayurl), e você não selecionar um provedor de nuvem através de uma variável como `CLAUDE_CODE_USE_BEDROCK` ou `CLAUDE_CODE_USE_VERTEX`, sua sessão usa apenas o sign-in do gateway. Claude Code pula as outras fontes de credenciais e pede que você se conecte com `/login`. Consulte [Administrator policy requires a Cloud gateway sign-in](/docs/pt/errors#administrator-policy-requires-a-cloud-gateway-sign-in) para ver o que você vê com cada credencial restante. Antes da v2.1.261, ou antes da v2.1.265 em uma máquina que define apenas `forceLoginGatewayUrl`, Claude Code usava um login salvo restante nessas máquinas até que você se conectasse ao gateway.245Se as [configurações gerenciadas](/docs/pt/managed-settings) da sua máquina definirem [`forceLoginMethod`](/docs/pt/settings-reference#forceloginmethod) como `"gateway"` ou definirem [`forceLoginGatewayUrl`](/docs/pt/settings-reference#forcelogingatewayurl), e você não selecionar um provedor de nuvem através de uma variável como `CLAUDE_CODE_USE_BEDROCK` ou `CLAUDE_CODE_USE_VERTEX`, sua sessão usa apenas o sign-in do gateway. Claude Code pula as outras fontes de credenciais e pede que você se conecte com `/login`. Consulte [Administrator policy requires a Cloud gateway sign-in](/docs/pt/errors#administrator-policy-requires-a-cloud-gateway-sign-in) para ver o que você vê com cada credencial restante. Requer Claude Code v2.1.261 ou posterior, ou v2.1.265 ou posterior em uma máquina que define apenas `forceLoginGatewayUrl`.

234 246 

235Se você tem uma assinatura Claude ativa mas também tem `ANTHROPIC_API_KEY` definido em seu ambiente, Claude Code usa a chave de API uma vez que você a aprova. Isso pode causar falhas de autenticação se a chave pertencer a uma organização desabilitada ou expirada.247Se você tem uma assinatura Claude ativa mas também tem `ANTHROPIC_API_KEY` definido em seu ambiente, Claude Code usa a chave de API uma vez que você a aprova. Isso pode causar falhas de autenticação se a chave pertencer a uma organização desabilitada ou expirada.

236 248 


254| Variáveis de federação | `ANTHROPIC_FEDERATION_RULE_ID` e `ANTHROPIC_ORGANIZATION_ID`, ambas definidas | Acima |266| Variáveis de federação | `ANTHROPIC_FEDERATION_RULE_ID` e `ANTHROPIC_ORGANIZATION_ID`, ambas definidas | Acima |

255| Perfil ativo | O arquivo [`active_config`](https://platform.claude.com/docs/en/manage-claude/wif-reference#active-profile) em seu diretório de configuração, ou um perfil nomeado `default` | Acima quando seu modo de autenticação é `oidc_federation`; abaixo de uma credencial `/login` funcionando quando seu modo de autenticação é `user_oauth` |267| Perfil ativo | O arquivo [`active_config`](https://platform.claude.com/docs/en/manage-claude/wif-reference#active-profile) em seu diretório de configuração, ou um perfil nomeado `default` | Acima quando seu modo de autenticação é `oidc_federation`; abaixo de uma credencial `/login` funcionando quando seu modo de autenticação é `user_oauth` |

256 268 

257A regra `user_oauth` impede que um perfil `ant auth login` deixado para trás mova suas solicitações para fora da conta em que você se conectou com `/login`. Para as variáveis de federação, Claude Code também lê as outras variáveis na [referência WIF](https://platform.claude.com/docs/en/manage-claude/wif-reference#environment-variables), como `ANTHROPIC_IDENTITY_TOKEN_FILE`, quando troca seu token de identidade. Para o formato do arquivo de perfil, consulte a [referência WIF](https://platform.claude.com/docs/en/manage-claude/wif-reference#profile-configuration-file).269Para as variáveis de federação, Claude Code também lê as outras variáveis na [referência WIF](https://platform.claude.com/docs/en/manage-claude/wif-reference#environment-variables), como `ANTHROPIC_IDENTITY_TOKEN_FILE`, quando troca seu token de identidade. Para o formato do arquivo de perfil, consulte a [referência WIF](https://platform.claude.com/docs/en/manage-claude/wif-reference#profile-configuration-file).

258 270 

259Para confirmar qual fonte Claude Code escolheu, execute `/status`. Uma linha `Profile` nomeia a fonte no lugar da linha `Login method`. Quando o perfil é a credencial em uso, `Organization` e `Email` mostram sua conta.271Para confirmar qual fonte Claude Code escolheu, execute `/status`. Uma linha `Profile` nomeia a fonte no lugar da linha `Login method`. Quando o perfil é a credencial em uso, `Organization` e `Email` mostram sua conta.

260 272 

261Se você iniciar Claude Code com `--debug`, ele também escreve uma linha `Using Anthropic profile auth` com o nome da fonte no log de depuração em `~/.claude/debug/<session-id>.txt`. Quando Claude Code passa por um perfil ativo `user_oauth` porque você tem uma credencial `/login` funcionando, ele escreve um aviso no log de depuração dizendo que está usando o login claude.ai em vez disso.

262 

263Quando o login de um perfil `user_oauth` expirou e Claude Code não pode renová-lo, as solicitações falham com [Anthropic profile login expired](/docs/pt/errors#anthropic-profile-login-expired).273Quando o login de um perfil `user_oauth` expirou e Claude Code não pode renová-lo, as solicitações falham com [Anthropic profile login expired](/docs/pt/errors#anthropic-profile-login-expired).

264 274 

265Recursos que precisam de seu login claude.ai, como [conectores claude.ai](/docs/pt/mcp#use-mcp-servers-from-claude-ai) e [`/schedule`](/docs/pt/routines), não estão disponíveis enquanto uma dessas fontes está selecionada. Para impedir que Claude Code selecione uma fonte:275Recursos que precisam de seu login claude.ai, como [conectores claude.ai](/docs/pt/mcp#use-mcp-servers-from-claude-ai) e [`/schedule`](/docs/pt/routines), não estão disponíveis enquanto uma dessas fontes está selecionada. Para impedir que Claude Code selecione uma fonte:


279 289 

280O comando abre o mesmo fluxo de autorização do navegador que `/login`, e o token é impresso no terminal depois que você aprova o acesso no navegador. Ele não salva o token em lugar nenhum; copie-o e defina-o como a variável de ambiente `CLAUDE_CODE_OAUTH_TOKEN` onde você quiser se autenticar:290O comando abre o mesmo fluxo de autorização do navegador que `/login`, e o token é impresso no terminal depois que você aprova o acesso no navegador. Ele não salva o token em lugar nenhum; copie-o e defina-o como a variável de ambiente `CLAUDE_CODE_OAUTH_TOKEN` onde você quiser se autenticar:

281 291 

282```bash theme={null}292<Tabs>

283export CLAUDE_CODE_OAUTH_TOKEN=your-token293 <Tab title="macOS, Linux, WSL">

284```294 ```bash theme={null}

295 export CLAUDE_CODE_OAUTH_TOKEN=your-token

296 ```

297 </Tab>

298 

299 <Tab title="Windows PowerShell">

300 ```powershell theme={null}

301 $env:CLAUDE_CODE_OAUTH_TOKEN = "your-token"

302 ```

303 </Tab>

304 

305 <Tab title="Windows CMD">

306 ```batch theme={null}

307 set CLAUDE_CODE_OAUTH_TOKEN=your-token

308 ```

309 </Tab>

310</Tabs>

285 311 

286Este token se autentica com sua assinatura Claude e requer um plano Pro, Max, Team ou Enterprise. Ele pode apenas fazer solicitações de modelo, então não pode estabelecer sessões de [Remote Control](/docs/pt/remote-control) ou buscar [conectores claude.ai](/docs/pt/mcp#use-mcp-servers-from-claude-ai). Servidores MCP que você configura localmente ainda funcionam.312Este token se autentica com sua assinatura Claude e requer um plano Pro, Max, Team ou Enterprise. Ele pode apenas fazer solicitações de modelo, então não pode estabelecer sessões de [Remote Control](/docs/pt/remote-control) ou buscar [conectores claude.ai](/docs/pt/mcp#use-mcp-servers-from-claude-ai). Servidores MCP que você configura localmente ainda funcionam.

287 313 

Details

9[Modo automático](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) permite que Claude Code seja executado sem prompts de permissão rotineiros, roteando chamadas de ferramentas através de um classificador que bloqueia qualquer coisa irreversível, destrutiva ou direcionada para fora do seu ambiente. Regras de negação e solicitação explícita são avaliadas antes do classificador e ainda bloqueiam ou solicitam. Use o bloco de configurações `autoMode` para dizer ao classificador quais repositórios, buckets e domínios sua organização confia, para que ele pare de bloquear operações internas rotineiras.9[Modo automático](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) permite que Claude Code seja executado sem prompts de permissão rotineiros, roteando chamadas de ferramentas através de um classificador que bloqueia qualquer coisa irreversível, destrutiva ou direcionada para fora do seu ambiente. Regras de negação e solicitação explícita são avaliadas antes do classificador e ainda bloqueiam ou solicitam. Use o bloco de configurações `autoMode` para dizer ao classificador quais repositórios, buckets e domínios sua organização confia, para que ele pare de bloquear operações internas rotineiras.

10 10 

11<Note>11<Note>

12 Modo automático está disponível para todos os usuários em todos os provedores, incluindo a API Anthropic, [Claude Platform on AWS](/docs/pt/claude-platform-on-aws), Amazon Bedrock, Agent Platform do Google Cloud, Microsoft Foundry e sessões do [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway) conectadas. Se Claude Code relatar que o modo automático não está disponível para sua conta, verifique os [requisitos completos](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode), que também cobrem os modelos suportados e o controle no nível da organização em planos Team e Enterprise. Nas versões v2.1.158 a v2.1.206, o modo automático no Amazon Bedrock, Agent Platform do Google Cloud, Microsoft Foundry e sessões do gateway de aplicativos Claude exigiam a definição de `CLAUDE_CODE_ENABLE_AUTO_MODE=1`; v2.1.207 removeu o requisito.12 Esta página é a referência de configuração. Ativar e desativar o modo automático é coberto na página Modos de permissão:

13 

14 * **Mudar para modo automático no meio da sessão, ou sair dele**: consulte [Mudar modos de permissão](/docs/pt/permission-modes#switch-permission-modes)

15 * **Iniciar uma sessão em modo automático**: consulte [Iniciar em um modo de permissão diferente](/docs/pt/permission-modes#start-in-a-different-mode)

13</Note>16</Note>

14 17 

15Por padrão, o classificador confia apenas no diretório de trabalho e nos remotos configurados do repositório atual. Ações como enviar para a organização de controle de fonte da sua empresa ou escrever em um bucket de nuvem da equipe são bloqueadas até que você as adicione a `autoMode.environment`.18O modo automático está disponível para todos os usuários em todos os provedores, incluindo a API Anthropic, [Claude Platform on AWS](/docs/pt/claude-platform-on-aws), Amazon Bedrock, Agent Platform do Google Cloud, Microsoft Foundry e sessões do [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway) conectadas. Se Claude Code relatar que o modo automático não está disponível para sua conta, verifique os [requisitos completos](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode), que também cobrem os modelos suportados e o controle no nível da organização em planos Team e Enterprise.

16 19 

17Para saber como as sessões acabam em modo automático e o que o classificador bloqueia por padrão, consulte [modo automático na página Modos de permissão](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode). Esta página é a referência de configuração.20Por padrão, o classificador confia apenas no diretório de trabalho e nos remotos configurados do repositório atual. Ações como enviar para a organização de controle de fonte da sua empresa ou escrever em um bucket de nuvem da equipe são bloqueadas até que você as adicione a `autoMode.environment`.

18 21 

19Esta página cobre como:22Esta página cobre como:

20 23 

21* [Adicionar um checkpoint humano](#add-a-human-checkpoint) para pushes e pull requests com `permissions.ask`24* [Adicionar um checkpoint humano](#add-a-human-checkpoint) para pushes e pull requests com `permissions.ask`

22* [Escolher onde definir regras](#where-the-classifier-reads-configuration) em CLAUDE.md, configurações do usuário e configurações gerenciadas

23* [Definir infraestrutura confiável](#define-trusted-infrastructure) com `autoMode.environment`25* [Definir infraestrutura confiável](#define-trusted-infrastructure) com `autoMode.environment`

24* [Gerar entradas de ambiente](#generate-environment-entries) com `/auto-mode-setup`26* [Gerar entradas de ambiente](#generate-environment-entries) com `/auto-mode-setup`

25* [Substituir as regras de bloqueio e permissão](#override-the-block-and-allow-rules) quando os padrões não se adequam ao seu pipeline

26* [Editar regras de `/permissions`](#edit-rules-from-permissions) sem abrir um arquivo de configurações

27* [Rotear todos os comandos shell através do classificador](#route-all-shell-commands-through-the-classifier) com `autoMode.classifyAllShell`

28* [Inspecionar sua configuração efetiva](#inspect-the-defaults-and-your-effective-config) com os subcomandos `claude auto-mode`

29* [Revisar negações](#review-denials) para saber o que adicionar a seguir27* [Revisar negações](#review-denials) para saber o que adicionar a seguir

30 28 

31<h2 id="common-boundaries">29<h2 id="common-boundaries">


34 32 

35O modo automático permite pushes para qualquer branch do repositório em que você está trabalhando, incluindo a branch padrão, e criação de pull request por padrão. Uma branch não padrão cujo nome a marca como alvo de deploy ou publicação, como `production`, `release` ou `gh-pages`, não é coberta por esse padrão: o classificador julga um push lá em seus próprios termos, incluindo como um deploy de produção. O conteúdo do push ainda é verificado, portanto um force push, um segredo entrando no commit ou uma mudança que enviaria segredos fora do repositório quando CI ou um pipeline de deploy o executa permanece bloqueado.33O modo automático permite pushes para qualquer branch do repositório em que você está trabalhando, incluindo a branch padrão, e criação de pull request por padrão. Uma branch não padrão cujo nome a marca como alvo de deploy ou publicação, como `production`, `release` ou `gh-pages`, não é coberta por esse padrão: o classificador julga um push lá em seus próprios termos, incluindo como um deploy de produção. O conteúdo do push ainda é verificado, portanto um force push, um segredo entrando no commit ou uma mudança que enviaria segredos fora do repositório quando CI ou um pipeline de deploy o executa permanece bloqueado.

36 34 

37<Info>Antes da v2.1.211, o classificador permitia pushes apenas para sua branch de trabalho, branches que Claude criou e pushes rotineiros para a branch padrão.</Info>

38 

39Se você quiser um checkpoint humano antes dos comandos push e pull request do Claude, adicione regras de permissão: as [receitas abaixo](#add-a-human-checkpoint) mantêm o modo automático ativado para tudo mais.35Se você quiser um checkpoint humano antes dos comandos push e pull request do Claude, adicione regras de permissão: as [receitas abaixo](#add-a-human-checkpoint) mantêm o modo automático ativado para tudo mais.

40 36 

41<h3 id="add-a-human-checkpoint">37<h3 id="add-a-human-checkpoint">


79| Em toda a organização | [Configurações gerenciadas](/docs/pt/server-managed-settings) | Infraestrutura confiável distribuída para todos os desenvolvedores |75| Em toda a organização | [Configurações gerenciadas](/docs/pt/server-managed-settings) | Infraestrutura confiável distribuída para todos os desenvolvedores |

80| Flag `--settings` ou Agent SDK | JSON inline | Substituições por invocação para automação |76| Flag `--settings` ou Agent SDK | JSON inline | Substituições por invocação para automação |

81 77 

82O classificador não lê `autoMode` das configurações do projeto em `.claude/settings.json` ou `.claude/settings.local.json`. Ambos os arquivos residem no diretório do repositório, portanto um repositório verificado ou uma etapa de compilação poderia injetar suas próprias regras de permissão. Antes da v2.1.207, o classificador também lia `.claude/settings.local.json`; mova qualquer bloco `autoMode` nesse arquivo para `~/.claude/settings.json`. Excluir `.claude/settings.local.json` também fecha o caso em que um repositório confirma o arquivo ou uma ferramenta local ou etapa de compilação o escreve.78O classificador não lê `autoMode` das configurações do projeto em `.claude/settings.json` ou `.claude/settings.local.json`. Ambos os arquivos residem no diretório do repositório, portanto um repositório verificado ou uma etapa de compilação poderia injetar suas próprias regras de permissão. Mova qualquer bloco `autoMode` em `.claude/settings.local.json` para `~/.claude/settings.json`.

83 79 

84As entradas de cada escopo são combinadas. Um desenvolvedor pode estender `environment`, `allow`, `soft_deny` e `hard_deny` com entradas pessoais, mas não pode remover entradas que as configurações gerenciadas fornecem. Como as regras de permissão atuam como exceções às regras de bloqueio suave dentro do classificador, uma entrada `allow` adicionada pelo desenvolvedor pode substituir uma entrada `soft_deny` da organização: a combinação é aditiva, não um limite de política rígida.80As entradas de cada escopo são combinadas. Um desenvolvedor pode estender `environment`, `allow`, `soft_deny` e `hard_deny` com entradas pessoais, mas não pode remover entradas que as configurações gerenciadas fornecem. Como as regras de permissão atuam como exceções às regras de bloqueio suave dentro do classificador, uma entrada `allow` adicionada pelo desenvolvedor pode substituir uma entrada `soft_deny` da organização: a combinação é aditiva, não um limite de política rígida.

85 81 


93 89 

94Para a maioria das organizações, `autoMode.environment` é o único campo que você precisa definir. Ele informa ao classificador quais repositórios, buckets e domínios são confiáveis: o classificador o usa para decidir o que significa "externo", portanto qualquer destino não listado é um alvo potencial de exfiltração.90Para a maioria das organizações, `autoMode.environment` é o único campo que você precisa definir. Ele informa ao classificador quais repositórios, buckets e domínios são confiáveis: o classificador o usa para decidir o que significa "externo", portanto qualquer destino não listado é um alvo potencial de exfiltração.

95 91 

96A partir do Claude Code v2.1.198, `claude auto-mode defaults` imprime três tipos de entrada de ambiente. Versões anteriores à v2.1.195 imprimem apenas os primeiros cinco slots de confiança.92`claude auto-mode defaults` imprime três tipos de entrada de ambiente.

97 93 

98* **Context slots**: descrevem sua organização, stack e postura de segurança para que o classificador leia as outras regras em seu contexto. Cada um é padronizado para `None configured` ou para a suposição conservadora nomeada ao lado:94* **Context slots**: descrevem sua organização, stack e postura de segurança para que o classificador leia as outras regras em seu contexto. Cada um é padronizado para `None configured` ou para a suposição conservadora nomeada ao lado:

99 * **Organization**95 * **Organization**


101 * **Cloud provider(s)**97 * **Cloud provider(s)**

102 * **Repository visibility**: um repositório é assumido como privado a menos que seu host remoto e nome indiquem o contrário, ou o classificador leia uma verificação de visibilidade anterior na conversa mostrando que é público.98 * **Repository visibility**: um repositório é assumido como privado a menos que seu host remoto e nome indiquem o contrário, ou o classificador leia uma verificação de visibilidade anterior na conversa mostrando que é público.

103 99 

104 Nas solicitações do classificador enviadas pelo Claude Code em si, o classificador lê suas mensagens e os comandos que Claude executa, não sua saída. A evidência deve ser algo que o classificador possa ler, como sua própria mensagem nomeando o repositório como público; a saída de um `gh repo view` por si só não o alcança. A verificação de evidência de transcrição requer Claude Code v2.1.200 ou posterior100 Nas solicitações do classificador enviadas pelo Claude Code em si, o classificador lê suas mensagens e os comandos que Claude executa, não sua saída. A evidência deve ser algo que o classificador possa ler, como sua própria mensagem nomeando o repositório como público; a saída de um `gh repo view` por si só não o alcança.

105 * **Internal sharing / snippet hosting**: serviços públicos de paste e gist são tratados como fora do limite de confiança até você nomear um101 * **Internal sharing / snippet hosting**: serviços públicos de paste e gist são tratados como fora do limite de confiança até você nomear um

106 * **Org-specific CLIs**102 * **Org-specific CLIs**

107 * **Secrets management**103 * **Secrets management**


110 * **Host containment**: padronizado para uma máquina de desenvolvedor comum ou executor de CI com internet aberta. Se Claude Code é executado em um container, VM ou pod com uma lista de permissão de egresso ou vizinhos que não deve tocar, nomeie os hosts permitidos, se o endpoint de metadados da nuvem deve ser alcançável e qual projeto de nuvem, cluster ou registro a tarefa usa e sob qual identidade. Até que esta entrada nomeie essa identidade, o classificador [bloqueia](/docs/pt/permission-modes#what-the-classifier-blocks-by-default) solicitações pelas credenciais do próprio host. Requer Claude Code v2.1.257 ou posterior106 * **Host containment**: padronizado para uma máquina de desenvolvedor comum ou executor de CI com internet aberta. Se Claude Code é executado em um container, VM ou pod com uma lista de permissão de egresso ou vizinhos que não deve tocar, nomeie os hosts permitidos, se o endpoint de metadados da nuvem deve ser alcançável e qual projeto de nuvem, cluster ou registro a tarefa usa e sob qual identidade. Até que esta entrada nomeie essa identidade, o classificador [bloqueia](/docs/pt/permission-modes#what-the-classifier-blocks-by-default) solicitações pelas credenciais do próprio host. Requer Claude Code v2.1.257 ou posterior

111 * **Protected deployment namespaces / environments**: volta para a heurística de Sensitive remote targets até você nomeá-los107 * **Protected deployment namespaces / environments**: volta para a heurística de Sensitive remote targets até você nomeá-los

112 * **Data retention / declassification**108 * **Data retention / declassification**

113* **Trust slots**: nomeiam o que o classificador trata como dentro de seu limite. Os slots são Trusted repo, Source control, Trusted internal domains, Trusted cloud buckets, Key internal services e Internal package registry. As entradas de repo e source-control são padronizadas para o repositório de trabalho e seus remotes configurados. Todos os outros slots de confiança são padronizados para `None configured`, portanto nada mais é confiável até você adicioná-lo. A visibilidade de um repositório abrange apenas material confidencial: um repositório privado é um destino aceitável para material confidencial, mas tornar um repositório privado nunca limpa segredos ou dados pessoais ou confiados nele, e o classificador trata o conteúdo portado, repontado ou lido pela primeira vez de fora do repositório de trabalho como não sendo trabalho do próprio repositório. Este escopo requer Claude Code v2.1.203 ou posterior.109* **Trust slots**: nomeiam o que o classificador trata como dentro de seu limite. Os slots são Trusted repo, Source control, Trusted internal domains, Trusted cloud buckets, Key internal services e Internal package registry. As entradas de repo e source-control são padronizadas para o repositório de trabalho e seus remotes configurados. Todos os outros slots de confiança são padronizados para `None configured`, portanto nada mais é confiável até você adicioná-lo. A visibilidade de um repositório abrange apenas material confidencial: um repositório privado é um destino aceitável para material confidencial, mas tornar um repositório privado nunca limpa segredos ou dados pessoais ou confiados nele, e o classificador trata o conteúdo portado, repontado ou lido pela primeira vez de fora do repositório de trabalho como não sendo trabalho do próprio repositório.

114* **Sensitivity slots**: nomeiam o que as regras de proteção tratam como alto risco. Os slots são Sensitive data locations & audiences, Sensitive remote targets e Protected IaC scopes. Cada um é padronizado para uma heurística ampla, como tratar qualquer host ou namespace cujo nome carregue `prod` ou `production` como um alvo remoto sensível, portanto as regras de proteção estão ativas antes de você configurar qualquer coisa. Nomear destinos concretos em um slot de sensibilidade faz com que essas regras se apliquem aos destinos nomeados em vez da heurística.110* **Sensitivity slots**: nomeiam o que as regras de proteção tratam como alto risco. Os slots são Sensitive data locations & audiences, Sensitive remote targets e Protected IaC scopes. Cada um é padronizado para uma heurística ampla, como tratar qualquer host ou namespace cujo nome carregue `prod` ou `production` como um alvo remoto sensível, portanto as regras de proteção estão ativas antes de você configurar qualquer coisa. Nomear destinos concretos em um slot de sensibilidade faz com que essas regras se apliquem aos destinos nomeados em vez da heurística.

115 111 

116<Info>Antes da v2.1.211, os context slots também incluíam uma entrada Default / protected branches que tratava `main` e `master` como protegidos até você nomear outros. v2.1.211 removeu: [pushes para qualquer branch do repositório em que você está trabalhando](#common-boundaries) são permitidos por padrão, portanto não há padrão de branch protegido para configurar.</Info>

117 

118Para adicionar suas próprias entradas junto aos padrões, inclua a string literal `"$defaults"` no array. As entradas padrão são inseridas nessa posição, portanto suas entradas personalizadas podem ir antes ou depois delas.112Para adicionar suas próprias entradas junto aos padrões, inclua a string literal `"$defaults"` no array. As entradas padrão são inseridas nessa posição, portanto suas entradas personalizadas podem ir antes ou depois delas.

119 113 

120O exemplo a seguir mantém as entradas padrão e adiciona repositórios, buckets, domínios e serviços de uma organização.114O exemplo a seguir mantém as entradas padrão e adiciona repositórios, buckets, domínios e serviços de uma organização.


143* **Trusted internal domains**: nomes de host para APIs, dashboards e serviços dentro de sua rede, como `*.internal.example.com`137* **Trusted internal domains**: nomes de host para APIs, dashboards e serviços dentro de sua rede, como `*.internal.example.com`

144* **Key internal services**: CI, registros de artefatos, índices de pacotes internos, ferramentas de incidentes138* **Key internal services**: CI, registros de artefatos, índices de pacotes internos, ferramentas de incidentes

145* **Internal package registry**: o registro npm, PyPI ou outro privado que as instalações devem rotear, para que instalações que o contornem para um registro público sejam bloqueadas139* **Internal package registry**: o registro npm, PyPI ou outro privado que as instalações devem rotear, para que instalações que o contornem para um registro público sejam bloqueadas

146* **Sensitive data locations & audiences**: os buckets, bancos de dados ou caminhos que contêm dados pessoais, dados comerciais confidenciais, credenciais, dados regulados ou material similarmente sensível, e os públicos com os quais os dados em cada local podem ser compartilhados, para que o classificador proteja esses locais em vez de adivinhar pelo conteúdo. Claude Code v2.1.195 através v2.1.197 nomeiam esta entrada PII / regulated-data locations e cobrem apenas locais que contêm dados pessoais ou regulados, sem a dimensão de público140* **Sensitive data locations & audiences**: os buckets, bancos de dados ou caminhos que contêm dados pessoais, dados comerciais confidenciais, credenciais, dados regulados ou material similarmente sensível, e os públicos com os quais os dados em cada local podem ser compartilhados, para que o classificador proteja esses locais em vez de adivinhar pelo conteúdo.

147* **Sensitive remote targets**: os namespaces, hosts ou containers que contam como produção, portanto shells remotos e port-forwards neles precisam de sua aprovação explícita141* **Sensitive remote targets**: os namespaces, hosts ou containers que contam como produção, portanto shells remotos e port-forwards neles precisam de sua aprovação explícita

148* **Protected IaC scopes**: os recursos de infraestrutura cujo apply ou destroy sempre deve exigir que você nomeie a mudança142* **Protected IaC scopes**: os recursos de infraestrutura cujo apply ou destroy sempre deve exigir que você nomeie a mudança

149* **Additional context**: restrições de indústria regulada, infraestrutura multi-tenant ou requisitos de conformidade que afetam o que o classificador deve tratar como arriscado143* **Additional context**: restrições de indústria regulada, infraestrutura multi-tenant ou requisitos de conformidade que afetam o que o classificador deve tratar como arriscado

150 144 

151As entradas Internal package registry, Sensitive data locations & audiences, Sensitive remote targets e Protected IaC scopes requerem Claude Code v2.1.195 ou posterior. Versões anteriores ainda as leem como contexto simples, mas não têm as regras integradas que as direcionam.

152 

153Um template inicial útil: preencha os campos entre colchetes e remova qualquer linha que não se aplique.145Um template inicial útil: preencha os campos entre colchetes e remova qualquer linha que não se aplique.

154 146 

155```json theme={null}147```json theme={null}


169}161}

170```162```

171 163 

172Quanto mais contexto específico você fornecer, melhor o classificador poderá distinguir operações internas rotineiras de tentativas de exfiltração.

173 

174Você não precisa preencher tudo de uma vez. Um rollout razoável: comece com os padrões e adicione sua org de controle de fonte e serviços internos principais, o que resolve os falsos positivos mais comuns, como fazer push para seus próprios repositórios. Adicione domínios confiáveis e buckets de nuvem em seguida. Preencha o resto conforme os bloqueios surgirem.164Você não precisa preencher tudo de uma vez. Um rollout razoável: comece com os padrões e adicione sua org de controle de fonte e serviços internos principais, o que resolve os falsos positivos mais comuns, como fazer push para seus próprios repositórios. Adicione domínios confiáveis e buckets de nuvem em seguida. Preencha o resto conforme os bloqueios surgirem.

175 165 

176<h2 id="generate-environment-entries">166<h2 id="generate-environment-entries">


309 299 

310Por padrão, as regras estreitas de Bash e PowerShell, como `Bash(npm test)`, permanecem em vigor no modo automático. Claude Code as resolve antes do classificador ser executado, a menos que o comando tenha [domínios permitidos por comando](/docs/pt/sandboxing#per-command-allowed-domains-in-auto-mode). Claude Code suspende apenas as regras amplas que concedem execução arbitrária de código, como `Bash(*)` ou intérpretes com caracteres curinga, juntamente com cada regra que nomeia [`Monitor`](/docs/pt/tools-reference#monitor-tool), porque os comandos Monitor são executados através do shell. Isso significa que uma regra estreita ainda pode deixar um argumento destrutivo passar sem o classificador vê-lo, por exemplo um caminho de script ou sinalizador que o prefixo da regra não antecipou.300Por padrão, as regras estreitas de Bash e PowerShell, como `Bash(npm test)`, permanecem em vigor no modo automático. Claude Code as resolve antes do classificador ser executado, a menos que o comando tenha [domínios permitidos por comando](/docs/pt/sandboxing#per-command-allowed-domains-in-auto-mode). Claude Code suspende apenas as regras amplas que concedem execução arbitrária de código, como `Bash(*)` ou intérpretes com caracteres curinga, juntamente com cada regra que nomeia [`Monitor`](/docs/pt/tools-reference#monitor-tool), porque os comandos Monitor são executados através do shell. Isso significa que uma regra estreita ainda pode deixar um argumento destrutivo passar sem o classificador vê-lo, por exemplo um caminho de script ou sinalizador que o prefixo da regra não antecipou.

311 301 

312Defina `autoMode.classifyAllShell` como `true` para suspender cada regra de permissão de Bash e PowerShell enquanto o modo automático estiver ativo, para que o classificador avalie cada comando shell independentemente da sua lista de permissões.302Defina `autoMode.classifyAllShell` como `true` para suspender cada regra de permissão de Bash e PowerShell enquanto o modo automático estiver ativo, para que o classificador avalie cada comando shell independentemente da sua lista de permissões, exceto [remoções de caminho crítico](/docs/pt/permission-modes#critical-paths).

313 303 

314```json theme={null}304```json theme={null}

315{305{


323 313 

324A configuração se aplica apenas enquanto o modo automático estiver ativo, e suas regras de permissão se comportam normalmente em outros modos de permissão.314A configuração se aplica apenas enquanto o modo automático estiver ativo, e suas regras de permissão se comportam normalmente em outros modos de permissão.

325 315 

326<Note>

327 `autoMode.classifyAllShell` requer Claude Code v2.1.193 ou posterior. Versões anteriores ignoram a chave e continuam a levar regras de permissão de shell estreitas para o modo automático.

328</Note>

329 

330<h2 id="inspect-the-defaults-and-your-effective-config">316<h2 id="inspect-the-defaults-and-your-effective-config">

331 Inspecione os padrões e sua configuração efetiva317 Inspecione os padrões e sua configuração efetiva

332</h2>318</h2>


375claude auto-mode critique361claude auto-mode critique

376```362```

377 363 

378Execute `claude auto-mode config` após salvar suas configurações para confirmar que as regras efetivas são o que você espera, com `"$defaults"` expandido no lugar. Se você escreveu regras personalizadas, `claude auto-mode critique` as revisa e sinaliza entradas que são ambíguas, redundantes ou provavelmente causarão falsos positivos.364Se você escreveu regras personalizadas, `claude auto-mode critique` as revisa e sinaliza entradas que são ambíguas, redundantes ou provavelmente causarão falsos positivos.

379 365 

380Para descartar suas personalizações e retornar aos padrões integrados, execute o subcomando reset. Requer Claude Code v2.1.212 ou posterior e remove a seção `autoMode` do seu arquivo de configurações do usuário:366Para descartar suas personalizações e retornar aos padrões integrados, execute o subcomando reset. Requer Claude Code v2.1.212 ou posterior e remove a seção `autoMode` do seu arquivo de configurações do usuário:

381 367 


409 395 

410Você pode adicionar a entrada de ambiente ou regra `allow` a partir da aba [**Auto mode**](#edit-rules-from-permissions) do diálogo `/permissions`.396Você pode adicionar a entrada de ambiente ou regra `allow` a partir da aba [**Auto mode**](#edit-rules-from-permissions) do diálogo `/permissions`.

411 397 

412Na maioria das sessões o nome do motivo nomeia a regra que o classificador correspondeu, entre colchetes, como `[Data Exfiltration]` ou `[Production Deploy]`, e algumas sessões executam um modelo classificador que adiciona uma breve explicação. Claude Code seleciona o modelo classificador, então qual forma você vê não é algo que você configura.398O texto entre colchetes, como `[Data Exfiltration]`, é o nome da regra que o classificador correspondeu. Para ler a redação completa dessa regra, veja [Inspecionar os padrões e sua configuração efetiva](#inspect-the-defaults-and-your-effective-config).

413 399 

414<h3 id="fix-repeated-denials">400<h3 id="fix-repeated-denials">

415 Corrigir negações repetidas401 Corrigir negações repetidas


417 403 

418Negações repetidas para o mesmo destino geralmente significam que o classificador está perdendo contexto. Adicione esse destino a `autoMode.environment`, ou [execute `/auto-mode-setup`](#generate-environment-entries) para que Claude Code rascunhe as entradas, depois execute `claude auto-mode config` para confirmar que a mudança entrou em vigor.404Negações repetidas para o mesmo destino geralmente significam que o classificador está perdendo contexto. Adicione esse destino a `autoMode.environment`, ou [execute `/auto-mode-setup`](#generate-environment-entries) para que Claude Code rascunhe as entradas, depois execute `claude auto-mode config` para confirmar que a mudança entrou em vigor.

419 405 

420Para reagir a negações programaticamente, use o [hook `PermissionDenied`](/docs/pt/hooks#permissiondenied).

421 

422<h2 id="see-also">406<h2 id="see-also">

423 Veja também407 Veja também

424</h2>408</h2>

Details

46 46 

47* **Em um único prompt**: peça ao Claude para executar a verificação e iterar na mesma mensagem, como na tabela acima.47* **Em um único prompt**: peça ao Claude para executar a verificação e iterar na mesma mensagem, como na tabela acima.

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

49* **Como um gate determinístico**: um [hook Stop](/docs/pt/hooks#stop) executa sua verificação como um script e bloqueia o turno de terminar até que passe. Claude Code substitui o hook e termina o turno após 8 bloqueios consecutivos.49* **Como um gate determinístico**: um [hook Stop](/docs/pt/hooks#stop) executa sua verificação como um script e bloqueia o turno de terminar até que passe. [Stop input](/docs/pt/hooks#stop-input) cobre o limite em bloqueios consecutivos.

50* **Por uma segunda opinião**: um [subagente de verificação](/docs/pt/sub-agents) ou um [fluxo de trabalho dinâmico](/docs/pt/workflows) que verifica suas próprias descobertas tem um modelo fresco tentando refutar o resultado, para que o agente que faz o trabalho não seja o que o avalia.50* **Por uma segunda opinião**: um [subagente de verificação](/docs/pt/sub-agents) ou um [fluxo de trabalho dinâmico](/docs/pt/workflows) que verifica suas próprias descobertas tem um modelo fresco tentando refutar o resultado, para que o agente que faz o trabalho não seja o que o avalia.

51 51 

52Cada etapa troca configuração por atenção. A versão de prompt funciona em qualquer tarefa hoje. As versões `/goal` e Stop hook são o que permite que uma execução desatendida termine corretamente sem você.52Cada etapa troca configuração por atenção. A versão de prompt funciona em qualquer tarefa hoje. As versões `/goal` e Stop hook são o que permite que uma execução desatendida termine corretamente sem você.


209 Para obter menos prompts sem abrir mão do controle, pré-aprove as ferramentas em que você confia com `/permissions` e deixe comandos em sandbox executarem sem perguntar com `/sandbox`. Mude para modo Manual quando quiser aprovar edições e comandos você mesmo.209 Para obter menos prompts sem abrir mão do controle, pré-aprove as ferramentas em que você confia com `/permissions` e deixe comandos em sandbox executarem sem perguntar com `/sandbox`. Mude para modo Manual quando quiser aprovar edições e comandos você mesmo.

210</Tip>210</Tip>

211 211 

212Nos planos Pro, Max e Team, o modo auto é o [modo de permissão inicial integrado](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) para sessões interativas de terminal e VS Code: um modelo classificador separado revisa a maioria das ações em vez de você e bloqueia apenas o que parece arriscado, como escalação de escopo, infraestrutura desconhecida ou ações impulsionadas por conteúdo hostil.212Com Claude Code v2.1.283 ou posterior, modo auto é o [modo de permissão inicial integrado](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) para sessões interativas de terminal e VS Code: um modelo classificador separado revisa a maioria das ações em vez de você e bloqueia apenas o que parece arriscado, como escalação de escopo, infraestrutura desconhecida ou ações impulsionadas por conteúdo hostil. Em versões anteriores, modo auto é o modo de permissão inicial integrado apenas em planos Pro, Max e Team.

213 213 

214No modo Manual, o modo de permissão inicial integrado em outros planos, Claude Code pergunta antes de ações que podem modificar seu sistema: gravações de arquivo, comandos Bash, ferramentas MCP. Isso é seguro mas tedioso. Após a décima aprovação você está clicando sem revisar. Duas ferramentas cortam essas interrupções no modo Manual e se aplicam também no modo auto:214No modo Manual, Claude Code pergunta antes de ações que podem modificar seu sistema: gravações de arquivo, comandos Bash, ferramentas MCP. Isso é seguro mas tedioso. Após a décima aprovação você está clicando sem revisar. Duas ferramentas cortam essas interrupções no modo Manual e se aplicam também no modo auto:

215 215 

216* **Listas de permissões**: permita ferramentas específicas que você sabe que são seguras, como `npm run lint` ou `git commit`216* **Listas de permissões**: permita ferramentas específicas que você sabe que são seguras, como `npm run lint` ou `git commit`

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

channels.md +1 −1

Details

361 361 

362Durante a visualização, `--channels` aceita apenas plugins de uma lista de permissão mantida pela Anthropic, ou da lista de permissão da sua organização se um administrador tiver definido [`allowedChannelPlugins`](#restrict-which-channel-plugins-can-run). Os plugins de canal em [claude-plugins-official](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins) são o conjunto aprovado padrão. Se você passar algo que não esteja na lista de permissão efetiva, Claude Code inicia normalmente, mas o canal não se registra, e o aviso de inicialização informa por quê.362Durante a visualização, `--channels` aceita apenas plugins de uma lista de permissão mantida pela Anthropic, ou da lista de permissão da sua organização se um administrador tiver definido [`allowedChannelPlugins`](#restrict-which-channel-plugins-can-run). Os plugins de canal em [claude-plugins-official](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins) são o conjunto aprovado padrão. Se você passar algo que não esteja na lista de permissão efetiva, Claude Code inicia normalmente, mas o canal não se registra, e o aviso de inicialização informa por quê.

363 363 

364Para testar um canal que você está criando, use `--dangerously-load-development-channels`. Veja [Testar durante a visualização de pesquisa](/docs/pt/channels-reference#test-during-the-research-preview) para informações sobre como testar canais personalizados que você cria.364Para testar um canal que você está criando, passe-o para `--dangerously-load-development-channels` no formulário `plugin:<name>@<marketplace>` ou `server:<name>`. Veja [Testar durante a visualização de pesquisa](/docs/pt/channels-reference#test-during-the-research-preview) para informações sobre como testar canais personalizados que você cria.

365 365 

366Relate problemas ou feedback no [repositório GitHub do Claude Code](https://github.com/anthropics/claude-code/issues).366Relate problemas ou feedback no [repositório GitHub do Claude Code](https://github.com/anthropics/claude-code/issues).

367 367 

Details

804 804 

805Para tornar seu channel instalável e compartilhável, envolva-o em um [plugin](/docs/pt/plugins/overview) e publique-o em um [marketplace](/docs/pt/plugins/overview). Os usuários o instalam com `/plugin install`, então o habilitam por sessão com `--channels plugin:<name>@<marketplace>`.805Para tornar seu channel instalável e compartilhável, envolva-o em um [plugin](/docs/pt/plugins/overview) e publique-o em um [marketplace](/docs/pt/plugins/overview). Os usuários o instalam com `/plugin install`, então o habilitam por sessão com `--channels plugin:<name>@<marketplace>`.

806 806 

807Um channel publicado em seu próprio marketplace ainda precisa de `--dangerously-load-development-channels` para ser executado, já que não está na [lista de aprovação](/docs/pt/channels#supported-channels). A lista de aprovação padrão é os plugins de channel em `claude-plugins-official`. Os [formulários de envio no aplicativo](/docs/pt/plugins/publish#submit-to-the-community-marketplace) adicionam plugins ao marketplace da comunidade, que não está na lista de aprovação de channels.807Um channel publicado em seu próprio marketplace ainda precisa de `--dangerously-load-development-channels` para ser executado, já que não está na [lista de aprovação](/docs/pt/channels#supported-channels). A lista de aprovação padrão é os plugins de channel em `claude-plugins-official`. O marketplace da comunidade não está na lista de aprovação de channels.

808 808 

809Se você está trabalhando com um contato parceiro da Anthropic, entre em contato com eles para coordenar uma listagem de marketplace oficial. Em planos Team e Enterprise, um administrador pode incluir seu plugin na lista [`allowedChannelPlugins`](/docs/pt/channels#restrict-which-channel-plugins-can-run) da organização, que substitui a lista de aprovação padrão da Anthropic.809Se você está trabalhando com um contato parceiro da Anthropic, entre em contato com eles para coordenar uma listagem de marketplace oficial. Em planos Team e Enterprise, um administrador pode incluir seu plugin na lista [`allowedChannelPlugins`](/docs/pt/channels#restrict-which-channel-plugins-can-run) da organização, que substitui a lista de aprovação padrão da Anthropic.

810 810 

Details

114 Mensagens enviadas no meio do turno não checkpointed114 Mensagens enviadas no meio do turno não checkpointed

115</h3>115</h3>

116 116 

117Quando uma mensagem que você [enfileira enquanto Claude trabalha](/docs/pt/interactive-mode#queue-messages-while-claude-works) chega ao Claude dentro do turno em execução, ela se junta a esse turno em vez de iniciar um novo. A mensagem aparece na conversa, mas Claude Code não cria um checkpoint para ela, e o menu de rewind não a lista. Uma mensagem enfileirada que Claude Code envia como seu próprio turno recebe um checkpoint como de costume.117Quando uma mensagem que você [enfileira enquanto Claude trabalha](/docs/pt/interactive-mode#queue-messages-while-claude-works) chega ao Claude dentro do turno em execução, ela se junta a esse turno em vez de iniciar um novo. A mensagem aparece na conversa, mas Claude Code não cria um checkpoint para ela, e o menu de rewind não a lista. Uma mensagem enfileirada que Claude Code envia como parte de um novo turno recebe um checkpoint como de costume, incluindo quando várias mensagens enfileiradas [compartilham esse turno](/docs/pt/interactive-mode#when-claude-code-sends-what-you-queued).

118 118 

119Para remover tal mensagem, ou desfazer as edições que Claude fez depois dela, faça rewind para o prompt que iniciou o turno. Isso faz rewind de todo o turno, incluindo o trabalho que Claude fez antes de sua mensagem chegar.119Para remover tal mensagem, ou desfazer as edições que Claude fez depois dela, faça rewind para o prompt que iniciou o turno. Isso faz rewind de todo o turno, incluindo o trabalho que Claude fez antes de sua mensagem chegar.

120 120 

Details

450 450 

451Seis configurações fornecidas pelo pai passam pelo filtro mesmo com todos os cinco bloqueios definidos. Sob a configuração padrão de primeiro vencedor, o valor de administrador que bloqueia o do pai é aquele na fonte de administrador de prioridade mais alta, exceto para `allowedMcpServers` enquanto o [bloqueio de servidor MCP](#lock-behavior-across-sources) está ativado. Sob a aceitação de mesclagem `managedSourcesBehavior`, [como Claude Code combina fontes gerenciadas](/docs/pt/managed-settings#how-claude-code-combines-managed-sources) diz qual valor da fonte se aplica em vez disso.451Seis configurações fornecidas pelo pai passam pelo filtro mesmo com todos os cinco bloqueios definidos. Sob a configuração padrão de primeiro vencedor, o valor de administrador que bloqueia o do pai é aquele na fonte de administrador de prioridade mais alta, exceto para `allowedMcpServers` enquanto o [bloqueio de servidor MCP](#lock-behavior-across-sources) está ativado. Sob a aceitação de mesclagem `managedSourcesBehavior`, [como Claude Code combina fontes gerenciadas](/docs/pt/managed-settings#how-claude-code-combines-managed-sources) diz qual valor da fonte se aplica em vez disso.

452 452 

453* **`forceLoginOrgUUID`**: Claude Code honra um valor fornecido pelo pai quando a fonte de administrador de prioridade mais alta não define um UUID de organização. O sign-in do gateway não verifica essa chave, então importa apenas para frotas que também usam logins Anthropic de primeira parte. Um UUID de organização na fonte de administrador de prioridade mais alta bloqueia o valor do pai e é aquele que Claude Code aplica, então defina `forceLoginOrgUUID` lá.453* **`forceLoginOrgUUID`**: Claude Code honra um valor fornecido pelo pai quando a fonte de administrador de prioridade mais alta não define um UUID de organização. O sign-in do gateway não verifica essa chave. Um UUID de organização na fonte de administrador de prioridade mais alta bloqueia o valor do pai e é aquele que Claude Code aplica.

454* **`allowedMcpServers`**: Claude Code honra uma lista de permissões fornecida pelo pai quando nenhuma lista de administrador está em vigor. `allowManagedMcpServersOnly` não a bloqueia, porque o bloqueio aplica qualquer lista que vença como o valor gerenciado, incluindo uma lista fornecida pelo pai quando nenhuma fonte de administrador fornece uma lista. Uma lista na fonte de administrador de prioridade mais alta bloqueia a do pai e é a lista que Claude Code aplica, então defina `allowedMcpServers` lá, ao lado do bloqueio. Antes da v2.1.223, um valor para qualquer chave em qualquer fonte de administrador bloqueava a do pai.454* **`allowedMcpServers`**: Claude Code honra uma lista de permissões fornecida pelo pai quando nenhuma lista de administrador está em vigor. `allowManagedMcpServersOnly` não a bloqueia, porque o bloqueio aplica qualquer lista que vença como o valor gerenciado, incluindo uma lista fornecida pelo pai quando nenhuma fonte de administrador fornece uma lista. Uma lista na fonte de administrador de prioridade mais alta bloqueia a do pai e é a lista que Claude Code aplica, então defina `allowedMcpServers` lá, ao lado do bloqueio. Antes da v2.1.223, um valor para qualquer chave em qualquer fonte de administrador bloqueava a do pai.

455* **`availableModels`**: Claude Code honra uma lista de modelos fornecida pelo pai quando a fonte gerenciada vencedora não define uma. Se sua frota restringe modelos, defina `availableModels` na fonte vencedora.455* **`availableModels`**: Claude Code honra uma lista de modelos fornecida pelo pai quando a fonte gerenciada vencedora não define uma. Se sua frota restringe modelos, defina `availableModels` na fonte vencedora.

456* **`strictKnownMarketplaces`**: Claude Code honra uma lista de permissões de marketplace de plugin fornecida pelo pai quando a fonte gerenciada vencedora não define uma. Se sua frota restringe marketplaces, defina `strictKnownMarketplaces` na fonte vencedora. Requer Claude Code v2.1.282 ou posterior.456* **`strictKnownMarketplaces`**: Claude Code honra uma lista de permissões de marketplace de plugin fornecida pelo pai quando a fonte gerenciada vencedora não define uma. Se sua frota restringe marketplaces, defina `strictKnownMarketplaces` na fonte vencedora. Requer Claude Code v2.1.282 ou posterior.

Details

947* `OTEL_EXPORTER_OTLP_ENDPOINT=<public_url>`947* `OTEL_EXPORTER_OTLP_ENDPOINT=<public_url>`

948* `OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf`948* `OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf`

949 949 

950Quando você [adiciona seus próprios rótulos](#add-your-own-labels), o gateway também empurra `OTEL_RESOURCE_ATTRIBUTES`.

951 

950Antes de Claude Code v2.1.265 no servidor do gateway, o gateway empurrava todos os três seletores de exportador como `otlp`, incluindo para sinais que nenhum destino optou.952Antes de Claude Code v2.1.265 no servidor do gateway, o gateway empurrava todos os três seletores de exportador como `otlp`, incluindo para sinais que nenhum destino optou.

951 953 

952O endpoint empurrado é construído a partir da URL pública, então métricas e logs não precisam de nenhuma configuração OTEL de desenvolvedores ou políticas.954O endpoint empurrado é construído a partir da URL pública, então métricas e logs não precisam de nenhuma configuração OTEL de desenvolvedores ou políticas.


964 966 

965Ambas as codificações OTLP protobuf e JSON são retransmitidas, e qualquer backend compatível com OpenTelemetry funciona como um destino.967Ambas as codificações OTLP protobuf e JSON são retransmitidas, e qualquer backend compatível com OpenTelemetry funciona como um destino.

966 968 

969<h4 id="add-your-own-labels">

970 Adicionar seus próprios rótulos

971</h4>

972 

973Para colocar rótulos fixos como `service.namespace` ou `deployment.environment.name` na telemetria de sessões conectadas através do gateway, defina `telemetry.resource_attributes`. Cada rótulo é um atributo de recurso OpenTelemetry, e cada destino recebe os mesmos rótulos.

974 

975Sessões obtêm os rótulos apenas quando você também define `telemetry.forward_to` e `listen.public_url`. Este exemplo adiciona dois rótulos:

976 

977```yaml theme={null}

978telemetry:

979 forward_to:

980 - url: https://otel-collector.internal.example.com

981 resource_attributes:

982 service.namespace: claude

983 deployment.environment.name: prod

984```

985 

986O gateway se recusa a iniciar quando um rótulo quebra uma destas regras, e o erro de inicialização nomeia o rótulo:

987 

988* Nomes usam apenas letras, dígitos, `.`, `_` e `-`

989* Nomes não são reservados. Comparados em qualquer caso de letra, os nomes reservados são tudo que começa com `user.`, `enduser.` ou `identity.`, mais `service.name`, `service.version`, `claude.deployment_mode`, `host.arch`, `os.type`, `os.version` e `wsl.version`

990* Valores são ASCII imprimível não vazio sem espaço e nenhum de `, ; = \ " %`

991* Valores são no máximo 255 caracteres conforme o gateway os conta após codificação em percentual, então `/`, `:` e `@` cada um contam como três

992* Valores são texto, então cite um número, `true` ou `false`

993 

994Você precisa de Claude Code v2.1.281 ou posterior no servidor do gateway para definir `telemetry.resource_attributes`. Um gateway anterior se recusa a iniciar quando encontra a chave. Atualize cada réplica antes de adicionar a chave e remova a chave antes de fazer rollback para uma versão anterior.

995 

996Sessões de terminal conectadas através de `/login` recebem os rótulos como `OTEL_RESOURCE_ATTRIBUTES`, empurrados com as outras [telemetry variables](#telemetry). Se você definir `OTEL_RESOURCE_ATTRIBUTES` no bloco `env` de uma política, sessões de terminal que essa política corresponde obtêm esse valor em vez dos rótulos. Claude Desktop recebe os rótulos do gateway ao lado de `user.email` e dos outros atributos de identidade.

997 

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

999 

967<h4 id="export-directly-to-your-collector">1000<h4 id="export-directly-to-your-collector">

968 Exportar diretamente para seu coletor1001 Exportar diretamente para seu coletor

969</h4>1002</h4>


1034 1067 

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

1036 1069 

1037Requer v2.1.283 ou posterior. Versões anteriores se recusam a iniciar quando a chave está definida, então atualize cada réplica antes de adicionar o bloco e remova-o antes de fazer rollback.1070Requer Claude Code v2.1.282 ou posterior no servidor do gateway. Versões anteriores se recusam a iniciar quando encontram a chave. Atualize cada réplica antes de adicionar o bloco e remova o bloco antes de fazer rollback.

1038 1071 

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

1040 1073 

1041```yaml theme={null}1074```yaml theme={null}

1042load_test_mode:1075load_test_mode:


1053 1086 

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

1055 1088 

1056Enquanto o modo está ligado, uma solicitação pode carregar um cabeçalho `x-load-test-user` contendo um número inteiro de até sete dígitos, e o gateway conta cada número como um desenvolvedor separado com o email e grupos do desenvolvedor cujo token veio com a solicitação. Dê à implantação de teste de carga seu próprio banco de dados vazio, porque o gateway se recusa a iniciar com o modo ligado contra um banco de dados no qual qualquer desenvolvedor já gastou algo.1089Nenhuma solicitação de modelo é enviada ao provedor, então a CPU de uma réplica por solicitação é uma estimativa e lê mais baixo que a produção, que também criptografa seu tráfego para o provedor. Confirme uma contagem de réplica com um pequeno piloto contra o provedor real. Antes de v2.1.283, a estimativa lê muito mais baixo.

1090 

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

1092 

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

1057 1094 

1058<Warning>1095<Warning>

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

Details

155 Operações155 Operações

156</h2>156</h2>

157 157 

158Assim que o gateway estiver servindo tráfego, a operação do dia a dia é ler seus logs, sondar sua saúde e girar seus segredos em seu cronograma. As subseções cobrem cada uma, mais o que o Postgres mantém e como atualizações e reversões se comportam.158Depois que o gateway está servindo tráfego, a operação do dia a dia consiste em ler seus logs, sondar sua saúde e rotacionar seus segredos conforme sua programação. As subseções cobrem cada um desses aspectos, além do que o Postgres mantém e como atualizações e reversões se comportam.

159 159 

160<h3 id="logs">160<h3 id="logs">

161 Logs161 Logs


163 163 

164O gateway escreve dois fluxos para stderr, ambos amigáveis a JSON:164O gateway escreve dois fluxos para stderr, ambos amigáveis a JSON:

165 165 

166* **Eventos de auditoria**: JSON de linha única por evento relevante para segurança. Canalize stderr para seu agregador de logs.166* **Eventos de auditoria**: JSON de uma única linha por evento relevante para segurança. Redirecione stderr para seu agregador de logs.

167 167 

168 Os eventos emitidos incluem `config.load`, `session.mint`, `session.refresh`, `device.authorize`, `device.verify`, `device.callback`, `auth.denied`, `access.denied`, `access.public_client`, `inference`, `managed.serve`, `desktop_bootstrap.serve`, `desktop_bootstrap.denied`, `spend.blocked`, `admin.denied`, `admin.limit.upsert` e `admin.limit.delete`. Os campos variam por evento:168 Os eventos emitidos incluem `config.load`, `session.mint`, `session.refresh`, `device.authorize`, `device.verify`, `device.callback`, `auth.denied`, `access.denied`, `access.public_client`, `inference`, `managed.serve`, `desktop_bootstrap.serve`, `desktop_bootstrap.denied`, `spend.blocked`, `admin.denied`, `admin.limit.upsert` e `admin.limit.delete`. Os campos variam por evento:

169 169 

170 * Eventos de mint e refresh bem-sucedidos carregam `sub`, `email`, `client_ip` e o resultado170 * Eventos bem-sucedidos de mint e refresh carregam `sub`, `email`, `client_ip` e o resultado

171 * `auth.denied` e `access.denied` carregam o motivo e IP do cliente, mais o caminho da solicitação para `auth.denied`, já que nenhuma identidade de usuário existe nessas negações. Dois motivos de `access.denied` mudam o que o evento carrega:171 * `auth.denied` e `access.denied` carregam o motivo e o IP do cliente, mais o caminho da solicitação para `auth.denied`, já que nenhuma identidade de usuário existe nessas negações. Dois motivos de `access.denied` mudam o que o evento carrega:

172 * `xff_unparseable`: o evento também carrega a entrada `X-Forwarded-For` que não pôde ser lida172 * `xff_unparseable`: o evento também carrega a entrada `X-Forwarded-For` que não pôde ser lida

173 * `client_ip_unknown`: o evento não carrega IP do cliente, porque a conexão não tinha endereço de peer enquanto uma lista de `access_control` estava definida173 * `client_ip_unknown`: o evento não carrega nenhum IP do cliente, porque a conexão não tinha endereço de peer enquanto uma lista de `access_control` estava definida

174 * `access.public_client` carrega o IP do cliente da primeira solicitação por processo a chegar de um endereço público enquanto `access_control.allow_cidrs` está vazio. O gateway serve a solicitação como de costume; o evento sinaliza que o gateway pode ser alcançável a partir da internet pública. Veja a [referência de `access_control`](/docs/pt/claude-apps-gateway-config#http-tuning) para o que conta como público e para a lista de permissões recomendada.174 * `access.public_client` carrega o IP do cliente da primeira solicitação por processo que chega de um endereço público enquanto `access_control.allow_cidrs` está vazio. O gateway serve a solicitação normalmente; o evento sinaliza que o gateway pode estar acessível pela internet pública. Veja a [referência de `access_control`](/docs/pt/claude-apps-gateway-config#http-tuning) para o que conta como público e para a lista de permissões recomendada.

175 * `inference` registra qual upstream serviu a solicitação e o status da resposta175 * `inference` registra qual upstream serviu a solicitação e o status da resposta

176 * `desktop_bootstrap.denied` registra uma busca de bootstrap do Claude Desktop rejeitada com o motivo (`not_configured`, `policy_not_opted_in` ou `no_policy_matched`) e a identidade do usuário176 * `desktop_bootstrap.denied` registra uma busca de bootstrap do Claude Desktop rejeitada com o motivo (`not_configured`, `policy_not_opted_in` ou `no_policy_matched`) e a identidade do usuário

177 * `admin.denied` registra uma tentativa de autenticação de API de administrador rejeitada com o IP do cliente, método, caminho e um motivo, sem o material de chave apresentado: `invalid_key` quando um `x-api-key` foi apresentado mas não correspondeu a nenhuma chave configurada, `bearer_rejected` quando apenas um cabeçalho `Authorization` foi apresentado e não verificou como uma sessão de gateway em `admin.admin_groups`, ou `no_credentials` quando nenhum cabeçalho foi apresentado177 * `admin.denied` registra uma tentativa de autenticação de API de administrador rejeitada com o IP do cliente, método, caminho e um motivo, sem o material de chave apresentado: `invalid_key` quando um `x-api-key` foi apresentado mas não correspondeu a nenhuma chave configurada, `bearer_rejected` quando apenas um cabeçalho `Authorization` foi apresentado e não verificou como uma sessão de gateway em `admin.admin_groups`, ou `no_credentials` quando nenhum cabeçalho foi apresentado

178* **Logs operacionais**: linhas legíveis por humanos com prefixo `[gateway]` para inicialização, avisos e erros upstream. A variável de ambiente `CLAUDE_GATEWAY_LOG_LEVEL` controla a verbosidade e aceita `debug`, `info`, `warn` ou `error`, com `info` como padrão. Em `debug`, cada entrada e atualização também registra os nomes, não os valores, das reivindicações no id\_token, mais os nomes das reivindicações de userinfo quando `userinfo_fallback` forneceu alguma, para que você possa diagnosticar configurações de `email_claim` e `groups_claim` sem registrar PII. Não afeta eventos de auditoria, que são sempre emitidos.178* **Logs operacionais**: linhas legíveis por humanos com prefixo `[gateway]` para inicialização, avisos e erros upstream. A variável de ambiente `CLAUDE_GATEWAY_LOG_LEVEL` controla a verbosidade e aceita `debug`, `info`, `warn` ou `error`, com `info` como padrão. Em `debug`, cada entrada e atualização também registra os nomes, não os valores, das reivindicações no id\_token, mais os nomes das reivindicações de userinfo quando `userinfo_fallback` forneceu alguma, para que você possa diagnosticar as configurações de `email_claim` e `groups_claim` sem registrar PII. Não afeta eventos de auditoria, que são sempre emitidos.

179 179 

180<h3 id="health">180<h3 id="health">

181 Saúde181 Saúde

182</h3>182</h3>

183 183 

184O gateway serve `GET /healthz` como uma sonda de vivacidade e `GET /readyz` como uma sonda de prontidão; `/readyz` verifica se o armazenamento é alcançável. Ambos estão isentos de `access_control.allow_cidrs`, então as sondas continuam funcionando em um listener bloqueado.184O gateway serve `GET /healthz` como uma sonda de vivacidade e `GET /readyz` como uma sonda de prontidão. `/readyz` verifica se o armazenamento está acessível. Se você definir [`store.readiness_grace_seconds`](/docs/pt/claude-apps-gateway-config#store), `/readyz` continua relatando pronto por até esse número de segundos após o armazenamento parar de responder.

185 185 

186O documento de descoberta OAuth em `/.well-known/oauth-authorization-server` também retorna `200` apenas após carregamento de configuração, descoberta OIDC, construção de cliente upstream e migração do Postgres, então funciona como uma verificação de inicialização de ponta a ponta.186Ambos os endpoints estão isentos de `access_control.allow_cidrs`, para que as sondas continuem funcionando em um listener bloqueado.

187 

188O documento de descoberta OAuth em `/.well-known/oauth-authorization-server` também retorna `200` apenas após o carregamento de configuração, descoberta OIDC, construção de cliente upstream e migração do Postgres terem sucesso, então funciona como uma verificação de inicialização de ponta a ponta.

187 189 

188<h3 id="concurrent-upstream-requests">190<h3 id="concurrent-upstream-requests">

189 Solicitações upstream simultâneas191 Solicitações upstream simultâneas

190</h3>192</h3>

191 193 

192Por padrão, cada réplica de gateway envia no máximo 256 solicitações upstream ao mesmo tempo. Uma resposta de streaming conta contra o limite até que o stream termine.194Por padrão, cada réplica de gateway envia no máximo 256 solicitações upstream ao mesmo tempo. Uma resposta de streaming conta contra o limite até que o fluxo termine.

193 195 

194Uma solicitação que chega enquanto uma réplica está no limite aguarda dentro do gateway por um slot livre. O desenvolvedor vê uma resposta que é lenta para começar ou parece travar. Em um upstream `provider: anthropic`, uma solicitação que aguarda mais tempo que [`timeouts.upstream_ttfb_ms`](/docs/pt/claude-apps-gateway-config#http-tuning) desiste desse upstream e falha com um 502 quando nenhum upstream posterior o serve.196Uma solicitação que chega enquanto uma réplica está no limite aguarda dentro do gateway por um slot livre. O desenvolvedor vê uma resposta que é lenta para começar ou parece travar. Em um upstream `provider: anthropic`, uma solicitação que aguarda mais tempo do que [`timeouts.upstream_ttfb_ms`](/docs/pt/claude-apps-gateway-config#http-tuning) desiste desse upstream e falha com um 502 quando nenhum upstream posterior a serve.

195 197 

196A linha de log de inicialização que contém `upstream requests:` mostra o limite em vigor. Enquanto uma réplica tem mais solicitações abertas que o limite, ela também registra um aviso que contém `client requests are open`, no máximo uma vez por minuto.198A linha de log de inicialização que contém `upstream requests:` mostra o limite em vigor. Enquanto uma réplica tem mais solicitações abertas do que o limite, ela também registra um aviso que contém `client requests are open`, no máximo uma vez por minuto.

197 199 

198Para servir mais solicitações ao mesmo tempo, você tem duas opções:200Para servir mais solicitações ao mesmo tempo, você tem duas opções:

199 201 

200* Adicione réplicas.202* Adicionar réplicas.

201* Aumente o limite em cada réplica. Defina a variável de ambiente `BUN_CONFIG_MAX_HTTP_REQUESTS` no contêiner do gateway para um número inteiro de 1 a 65535, depois reinicie o contêiner.203* Aumentar o limite em cada réplica. Defina a variável de ambiente `BUN_CONFIG_MAX_HTTP_REQUESTS` no contêiner do gateway para um número inteiro de 1 a 65535, depois reinicie o contêiner.

202 204 

203Uma réplica preenche seu limite a uma taxa de solicitação de aproximadamente o limite dividido pelo número médio de segundos que uma solicitação permanece aberta. Por exemplo, se as solicitações permanecerem abertas por 10 segundos em média, uma réplica no limite padrão de 256 a preenche a cerca de 26 solicitações por segundo.205Uma réplica preenche seu limite a uma taxa de solicitação de aproximadamente o limite dividido pelo número médio de segundos que uma solicitação permanece aberta. Por exemplo, se as solicitações permanecerem abertas por 10 segundos em média, uma réplica no limite padrão de 256 a preenche a cerca de 26 solicitações por segundo.

204 206 

205Se você fizer autoscaling em CPU, uma réplica no limite enfileira solicitações sem disparar uma expansão, então defina o alvo abaixo do nível de CPU que suas réplicas mostram quando registram o aviso `client requests are open`.207Se você fizer autoscaling na CPU, uma réplica no limite enfileira solicitações sem disparar uma expansão, então defina o alvo abaixo do nível de CPU que suas réplicas mostram quando registram o aviso `client requests are open`.

206 208 

207<Warning>209<Warning>

208 Cada solicitação aberta mantém memória no processo do gateway enquanto ele faz streaming e enquanto aguarda por um slot. Se você manter o limite em 256, a memória em uma réplica sobrecarregada ainda cresce, porque as solicitações em espera mantêm seus corpos de solicitação. Dimensione a memória do contêiner para o número de solicitações abertas no pico e observe a memória quando você alterar o limite. Uma réplica que fica sem memória é eliminada e descarta cada stream que mantém.210 Cada solicitação aberta mantém memória no processo do gateway enquanto ela flui e enquanto aguarda por um slot. Se você manter o limite em 256, a memória em uma réplica sobrecarregada ainda crescerá, porque as solicitações em espera mantêm seus corpos de solicitação. Dimensione a memória do contêiner para o número de solicitações abertas no pico e observe a memória quando você alterar o limite. Uma réplica que fica sem memória é eliminada e descarta cada fluxo que mantém.

209</Warning>211</Warning>

210 212 

211<h3 id="outage-behavior">213<h3 id="outage-behavior">

212 Comportamento de interrupção214 Comportamento de interrupção

213</h3>215</h3>

214 216 

215Se o Postgres cair, o gateway em si continua servindo desenvolvedores conectados e novas entradas falham. Se os desenvolvedores realmente continuam funcionando depende de como seu orquestrador lida com prontidão:217Se o Postgres cair, o gateway em si continua servindo desenvolvedores conectados e novas entradas falham. Se os desenvolvedores realmente continuam trabalhando depende de como seu orquestrador lida com a prontidão:

216 218 

217* **Sessões existentes**: tokens portadores validam localmente com o segredo JWT, atualizações de sessão não tocam o armazenamento e o processo do gateway ainda pode servir inferência219* **Sessões existentes**: tokens de portador validam localmente com o segredo JWT, atualizações de sessão não tocam o armazenamento e o processo do gateway ainda pode servir inferência

218* **Novas entradas**: falham até que o Postgres se recupere, porque o fluxo de dispositivo e seus contadores de limite de taxa vivem no Postgres220* **Novas entradas**: falham até que o Postgres se recupere, porque o fluxo de dispositivo e seus contadores de limite de taxa vivem no Postgres

219* **[Aplicação de limite de gastos](/docs/pt/claude-apps-gateway-spend-limits#postgres-availability)**: falha aberta por padrão durante a interrupção, então a inferência ainda flui; inverta para falha fechada se preferir bloquear do que executar sem medição221* **[Aplicação de limite de gastos](/docs/pt/claude-apps-gateway-spend-limits#postgres-availability)**: falha aberta por padrão durante a interrupção, então a inferência ainda flui; mude para falha fechada se preferir bloquear a não ter medição

220* **Prontidão**: `/readyz` relata não-pronto durante a interrupção, então orquestradores que controlam tráfego na prontidão removem cada réplica da rotação de uma vez. Nessa topologia todo tráfego, incluindo inferência que o gateway ainda poderia servir, falha no balanceador de carga até que o Postgres se recupere. A sonda de vivacidade em `/healthz` continua passando, então as réplicas não são reiniciadas. Aponte a sonda de prontidão para `/healthz` em vez disso se preferir que desenvolvedores conectados continuem funcionando através de uma interrupção de armazenamento; o custo é que novas entradas falham contra uma réplica que ainda relata pronto.222* **Prontidão**: por padrão `/readyz` relata não-pronto assim que o Postgres fica inacessível, então cada réplica falha sua verificação de prontidão de uma vez. Onde o tráfego apenas alcança réplicas que passam na verificação, todo tráfego, incluindo inferência que o gateway ainda poderia servir, falha até que o Postgres se recupere. A sonda de vivacidade em `/healthz` continua passando durante todo o tempo.

223 

224Se seu IdP cair, as sessões existentes funcionam até `ttl_hours` e novos logins falham. Uma atualização de sessão recebe uma resposta de tentar novamente e tem sucesso assim que o IdP volta. Defina um `ttl_hours` mais longo se seu IdP tiver janelas de manutenção frequentes.

225 

226<h4 id="readiness-grace-period">

227 Período de carência de prontidão

228</h4>

229 

230Para manter desenvolvedores conectados trabalhando através de uma breve interrupção do Postgres, como um failover de banco de dados, defina [`store.readiness_grace_seconds`](/docs/pt/claude-apps-gateway-config#store) para mais tempo do que o failover leva, por exemplo `300`. Com limites de gastos ativados e o comportamento padrão de falha aberta, solicitações através de uma réplica que permanece pronta não têm medição até que o Postgres se recupere, então mantenha o valor tão baixo quanto cobre seu failover. Se você definir [`enforcement.fail_closed_on_error: true`](/docs/pt/claude-apps-gateway-config#enforcement), o gateway recusa a inferência de desenvolvedores conectados com a mensagem `429` `spend limit unavailable` até que o Postgres se recupere, mesmo enquanto as réplicas ainda passam sua verificação de prontidão.

231 

232A configuração requer Claude Code v2.1.282 ou posterior no servidor do gateway. Um gateway anterior se recusa a iniciar quando encontra a chave, então atualize cada réplica antes de adicioná-la. [Atualizações](#upgrades) cobre reversão.

221 233 

222Se seu IdP cair, as sessões existentes funcionam até `ttl_hours`, novas entradas falham e uma atualização de sessão recebe uma resposta de tentar novamente e passa uma vez que o IdP está de volta. Defina um `ttl_hours` mais longo se seu IdP tiver janelas de manutenção frequentes.234Se você apontar a sonda de prontidão para `/healthz` em vez disso, as réplicas também continuam passando por uma interrupção, mas `/healthz` nunca relata não-pronto, então uma réplica cuja conexão do Postgres não se recupera continua passando também.

223 235 

224<h3 id="jwt-secret-rotation">236<h3 id="jwt-secret-rotation">

225 Rotação de segredo JWT237 Rotação de segredo JWT

226</h3>238</h3>

227 239 

228Gire o segredo de assinatura em etapas para que as sessões existentes permaneçam válidas:240Rotacione o segredo de assinatura em etapas para que as sessões existentes permaneçam válidas:

229 241 

2301. Gere um novo segredo. Coloque-o no início da matriz `session.jwt_secret`.2421. Gere um novo segredo. Coloque-o no início da matriz `session.jwt_secret`.

2312. Implante a implantação. Novos tokens assinam com o novo segredo; tokens antigos ainda verificam.2432. Implante a atualização. Novos tokens assinam com o novo segredo; tokens antigos ainda verificam.

2323. Após `ttl_hours` mais uma margem, remova o segredo antigo e implante novamente.2443. Após `ttl_hours` mais uma margem, remova o segredo antigo e implante novamente.

233 245 

234A rotação também é a única maneira de forçar sessões para fora antes de expirarem: tokens portadores validam localmente contra o segredo JWT, então não há revogação por sessão. Substituir o segredo completamente, sem manter o antigo na matriz, invalida cada sessão pendente de uma vez. Para offboarding individual, desprovision o usuário em seu IdP; sua sessão termina dentro de `ttl_hours`.246A rotação também é a única maneira de forçar sessões para fora antes de expirarem: tokens de portador validam localmente contra o segredo JWT, então não há revogação por sessão. Substituir o segredo completamente, sem manter o antigo na matriz, invalida cada sessão pendente de uma vez. Para desligamento individual, desprovisione o usuário em seu IdP; sua sessão termina dentro de `ttl_hours`.

235 247 

236<h3 id="postgres">248<h3 id="postgres">

237 Postgres249 Postgres


243| - | - | - |255| - | - | - |

244| `kv` | Concessões de dispositivo (TTL de 10 minutos) e contadores de limite de taxa | TTL por linha |256| `kv` | Concessões de dispositivo (TTL de 10 minutos) e contadores de limite de taxa | TTL por linha |

245| `spend` | Contadores de gastos período-até-data por principal, em centavos | `admin.spend_retention_months`, padrão 13 |257| `spend` | Contadores de gastos período-até-data por principal, em centavos | `admin.spend_retention_months`, padrão 13 |

246| `spend_limits` | Limites de gastos configurados | Até deletado via API |258| `spend_limits` | Limites de gastos configurados | Até serem deletados via API |

247| `admin_audit` | Trilha de mutação de API de administrador | `admin.audit_retention_days`, padrão 365 |259| `admin_audit` | Trilha de mutação de API de administrador | `admin.audit_retention_days`, padrão 365 |

248| `principal_emails` | Email, nome de exibição e grupos de IdP de cada principal vistos pela última vez. Contém PII. | `admin.identity_retention_days` desde última atividade, padrão 90 |260| `principal_emails` | Email visto pela última vez de cada principal, nome de exibição e grupos de IdP. Contém PII. | `admin.identity_retention_days` desde a última atividade, padrão 90 |

249 261 

250Um loop de 30 segundos expira linhas `kv` após seu TTL, e uma varredura horária impõe as janelas de retenção nas tabelas de gastos, então nada cresce sem limite. Sem [limites de gastos](/docs/pt/claude-apps-gateway-spend-limits) configurados, apenas `kv` é escrito. O gateway aplica suas próprias migrações de esquema na inicialização e em cada atualização, então sua função de banco de dados precisa de direitos para criar e alterar tabelas. Aponte-a para um banco de dados ou esquema dedicado ao gateway para manter essa concessão estreita.262Um loop de 30 segundos expira linhas de `kv` após seu TTL, e uma varredura horária aplica as janelas de retenção nas tabelas de gastos, então nada cresce sem limite. Sem [limites de gastos](/docs/pt/claude-apps-gateway-spend-limits) configurados, apenas `kv` é escrito. O gateway aplica suas próprias migrações de esquema na inicialização e em cada atualização, então sua função de banco de dados precisa de direitos para criar e alterar tabelas. Aponte-a para um banco de dados ou esquema dedicado ao gateway para manter essa concessão estreita.

251 263 

252Com limites de gastos em uso, um banco de dados perdido significa rastreamento de gastos e limites perdidos, não apenas re-entradas de desenvolvedores, então execute backups regulares. Para apagar um desenvolvedor que partiu imediatamente em vez de esperar pela retenção, execute `DELETE FROM principal_emails WHERE principal = '<sub>'` diretamente; isso remove a única tabela que mantém seu email, nome e grupos. Linhas `spend` e `admin_audit` referenciam apenas o `sub` OIDC pseudônimo.264Com limites de gastos em uso, um banco de dados perdido significa rastreamento de gastos e limites perdidos, não apenas re-logins de desenvolvedores, então execute backups regulares. Para apagar um desenvolvedor que partiu imediatamente em vez de esperar pela retenção, execute `DELETE FROM principal_emails WHERE principal = '<sub>'` diretamente; isso remove a única tabela que contém seu email, nome e grupos. Linhas de `spend` e `admin_audit` referenciam apenas o pseudônimo OIDC `sub`.

253 265 

254<h3 id="upgrades">266<h3 id="upgrades">

255 Atualizações267 Atualizações

256</h3>268</h3>

257 269 

258As réplicas são sem estado, então uma reinicialização contínua não perde nenhum estado do gateway. O gateway executa migrações de esquema na inicialização, o que significa que implantar o novo binário auto-migra o banco de dados. Réplicas concorrentes serializam em um bloqueio consultivo do Postgres, então apenas uma aplica cada migração.270As réplicas são sem estado, então uma reinicialização contínua não perde nenhum estado do gateway. O gateway executa migrações de esquema na inicialização, o que significa que implantar o novo binário auto-migra o banco de dados. Réplicas simultâneas serializam em um bloqueio consultivo do Postgres, então apenas uma aplica cada migração.

259 271 

260Quando seu orquestrador para uma réplica com `SIGTERM`, como em uma reinicialização contínua ou uma redução de escala, o gateway para de aceitar novas conexões e deixa as solicitações e streams já em voo terminarem antes de sair. Ele aguarda até 25 segundos, chamado de janela de drenagem, depois fecha o que ainda está aberto. Um `SIGINT`, como Ctrl+C em um terminal, inicia a mesma drenagem, e um segundo sinal durante a drenagem fecha as solicitações abertas e sai imediatamente. A drenagem requer gateway v2.1.274 ou posterior.272Quando seu orquestrador para uma réplica com `SIGTERM`, como em uma reinicialização contínua ou uma redução de escala, o gateway para de aceitar novas conexões e deixa as solicitações e fluxos já em voo terminarem antes de sair. Ele aguarda até 25 segundos, chamado de janela de drenagem, depois fecha o que ainda está aberto. Um `SIGINT`, como Ctrl+C em um terminal, inicia a mesma drenagem, e um segundo sinal durante a drenagem fecha as solicitações abertas e sai imediatamente. A drenagem requer gateway v2.1.274 ou posterior.

261 273 

262Gerações longas podem fazer streaming por minutos. No Kubernetes e Amazon ECS, aumente ambas juntas para dar a esses streams mais tempo:274Gerações longas podem fluxo por minutos. No Kubernetes e Amazon ECS, aumente ambos juntos para dar a esses fluxos mais tempo:

263 275 

264* **A janela de drenagem**: defina a variável de ambiente `CLAUDE_GATEWAY_DRAIN_TIMEOUT_MS` no contêiner do gateway para um número inteiro positivo de milissegundos, como `120000`. O gateway ignora um valor em qualquer outra forma, como `120s`, e mantém o padrão de 25 segundos276* **A janela de drenagem**: defina a variável de ambiente `CLAUDE_GATEWAY_DRAIN_TIMEOUT_MS` no contêiner do gateway para um número inteiro positivo de milissegundos, como `120000`. O gateway ignora um valor em qualquer outra forma, como `120s`, e mantém o padrão de 25 segundos

265* **O período de carência do seu orquestrador**: `terminationGracePeriodSeconds` no Kubernetes, ou `stopTimeout` no Amazon ECS277* **O período de carência do seu orquestrador**: `terminationGracePeriodSeconds` no Kubernetes, ou `stopTimeout` no Amazon ECS

266 278 

267O período de carência padrão é 30 segundos em ambas as plataformas. Mantenha-o pelo menos 5 segundos mais longo que a janela de drenagem, ou o orquestrador matará o gateway antes da drenagem terminar. No Kubernetes, adicione também a duração de qualquer hook `preStop`, porque o período de carência começa a contar antes do hook ser executado em vez de quando o gateway recebe `SIGTERM`.279O período de carência padrão é 30 segundos em ambas as plataformas. Mantenha-o pelo menos 5 segundos mais longo do que a janela de drenagem, ou o orquestrador mata o gateway antes da drenagem terminar. No Kubernetes, adicione também a duração de qualquer hook `preStop`, porque o período de carência começa a contar antes do hook ser executado em vez de quando o gateway recebe `SIGTERM`.

268 280 

269Sua plataforma também pode limitar quanto tempo a drenagem pode executar:281Sua plataforma também pode limitar quanto tempo a drenagem pode executar:

270 282 

271* **Amazon ECS no Fargate**: `stopTimeout` permite no máximo 120 segundos283* **Amazon ECS no Fargate**: `stopTimeout` permite no máximo 120 segundos

272* **Cloud Run**: para uma instância 10 segundos após `SIGTERM`, então streams abertos recebem no máximo 10 segundos lá, qualquer que seja a janela de drenagem284* **Cloud Run**: para uma instância 10 segundos após `SIGTERM`, então fluxos abertos recebem no máximo 10 segundos lá, qualquer que seja a janela de drenagem

273 285 

274Quando a janela de drenagem termina com solicitações ainda abertas, o gateway registra um aviso que contém `drain window over after`, conta as solicitações que cortou e nomeia ambas as configurações para aumentar.286Quando a janela de drenagem termina com solicitações ainda abertas, o gateway registra um aviso que contém `drain window over after`, conta as solicitações que cortou e nomeia ambas as configurações para aumentar.

275 287 

276As migrações são apenas anexadas, então reverter para um binário anterior que conhece menos migrações é seguro; ele ignora as linhas extras. A reversão também re-valida o YAML contra o esquema do binário mais antigo, então uma configuração que adotou uma chave introduzida pela versão mais nova falha na inicialização no mais antigo. Remova a nova chave antes de reverter.288As migrações são apenas anexadas, então reverter para um binário anterior que conhece menos migrações é seguro; ele ignora as linhas extras. A reversão também re-valida o YAML contra o esquema do binário mais antigo, então uma configuração que adotou uma chave introduzida pela versão mais recente falha na inicialização no mais antigo. Remova a nova chave antes de reverter.

277 289 

278Como você fixa a versão do gateway em sua própria imagem, correções em novas versões do Claude Code, incluindo correções de segurança, chegam à sua implantação apenas quando você atualiza o pino e reimplanta. Inclua o gateway no mesmo ciclo de patch que você usa para outros serviços que mantêm credenciais de produção.290Como você fixa a versão do gateway em sua própria imagem, correções em novos lançamentos do Claude Code, incluindo correções de segurança, chegam à sua implantação apenas quando você atualiza o pino e reimplanta. Inclua o gateway no mesmo ciclo de patches que você usa para outros serviços que mantêm credenciais de produção.

279 291 

280<h2 id="security">292<h2 id="security">

281 Segurança293 Segurança


357| As solicitações de um desenvolvedor falham com `Not signed in to the Cloud gateway — run /login.` | As configurações gerenciadas da máquina definem `forceLoginMethod: "gateway"` ou `forceLoginGatewayUrl`, e a sessão não tem login no gateway. Um login claude.ai restante não satisfaz o requisito. | Peça ao desenvolvedor para executar `/login` e completar o login no gateway. Veja também [Administrator policy requires a Cloud gateway sign-in](/docs/pt/errors#administrator-policy-requires-a-cloud-gateway-sign-in). |369| As solicitações de um desenvolvedor falham com `Not signed in to the Cloud gateway — run /login.` | As configurações gerenciadas da máquina definem `forceLoginMethod: "gateway"` ou `forceLoginGatewayUrl`, e a sessão não tem login no gateway. Um login claude.ai restante não satisfaz o requisito. | Peça ao desenvolvedor para executar `/login` e completar o login no gateway. Veja também [Administrator policy requires a Cloud gateway sign-in](/docs/pt/errors#administrator-policy-requires-a-cloud-gateway-sign-in). |

358| Claude Desktop relata que sua configuração de bootstrap não pôde ser buscada | `/user/bootstrap` retornou 404: a política que corresponde ao usuário não carrega uma chave `desktop`, ou nenhuma política correspondeu. O log de auditoria do gateway registra cada rejeição como `desktop_bootstrap.denied` com o motivo. | Adicione um bloco `desktop` à política que corresponde ao usuário, ou à camada base `match: {}`; um `desktop: {}` vazio é suficiente. Veja [Claude Desktop overlay](/docs/pt/claude-apps-gateway-config#claude-desktop-overlay). |370| Claude Desktop relata que sua configuração de bootstrap não pôde ser buscada | `/user/bootstrap` retornou 404: a política que corresponde ao usuário não carrega uma chave `desktop`, ou nenhuma política correspondeu. O log de auditoria do gateway registra cada rejeição como `desktop_bootstrap.denied` com o motivo. | Adicione um bloco `desktop` à política que corresponde ao usuário, ou à camada base `match: {}`; um `desktop: {}` vazio é suficiente. Veja [Claude Desktop overlay](/docs/pt/claude-apps-gateway-config#claude-desktop-overlay). |

359| A inicialização mostra `Gateway login is configured in managed settings, but this Claude Code build does not include Cloud gateway support.` | A compilação Claude Code instalada é anterior ao suporte de gateway | Peça ao desenvolvedor para atualizar Claude Code para uma versão que inclua suporte de Cloud gateway |371| A inicialização mostra `Gateway login is configured in managed settings, but this Claude Code build does not include Cloud gateway support.` | A compilação Claude Code instalada é anterior ao suporte de gateway | Peça ao desenvolvedor para atualizar Claude Code para uma versão que inclua suporte de Cloud gateway |

360| A inicialização sai com `Administrator policy requires a Cloud gateway sign-in on this machine` | O ambiente do desenvolvedor define `ANTHROPIC_API_KEY` ou `ANTHROPIC_AUTH_TOKEN`, suas configurações configuram um [`apiKeyHelper`](/docs/pt/settings-reference#apikeyhelper), ou uma chave de API de um login anterior do Claude Console ainda está salva | Peça ao desenvolvedor para limpar cada um que se aplica: desdefina a variável, remova a entrada `apiKeyHelper`, ou execute `claude auth logout` para remover a chave salva. Depois peça para iniciar `claude` e fazer login com `/login`. Veja também [Administrator policy requires a Cloud gateway sign-in](/docs/pt/errors#administrator-policy-requires-a-cloud-gateway-sign-in). |372| A inicialização sai com `Administrator policy requires a Cloud gateway sign-in on this machine` | O ambiente do desenvolvedor define `ANTHROPIC_API_KEY` ou `ANTHROPIC_AUTH_TOKEN`, suas configurações configuram um [`apiKeyHelper`](/docs/pt/settings-reference#apikeyhelper), ou uma chave de API de um login anterior do Claude Console ainda está salva | Peça ao desenvolvedor para limpar cada um que se aplica: desdefina a variável, remova a entrada `apiKeyHelper`, ou execute `claude auth logout` para remover a chave salva. Uma sessão que seleciona um provedor de nuvem com `CLAUDE_CODE_USE_*` então inicia sem login; para todas as outras sessões, peça para iniciar `claude` e fazer login com `/login`. Veja também [Administrator policy requires a Cloud gateway sign-in](/docs/pt/errors#administrator-policy-requires-a-cloud-gateway-sign-in). |

361| A inicialização ou `/login` relata `Claude Code may not be enabled for your organization` após um 403 no carregamento de configurações gerenciadas | O gateway, ou algo na frente dele, respondeu à solicitação `/managed/settings` com 403. A rota de configurações do próprio gateway nunca responde com 403. O status vem das verificações de IP [`access_control`](/docs/pt/claude-apps-gateway-config#http-tuning) ou de um proxy ou WAF na frente do gateway. O log de auditoria registra uma negação de verificação de IP como `access.denied` com o motivo. O desenvolvedor permanece conectado. | Verifique o log de auditoria para `access.denied` no momento da falha e corrija as listas `access_control` ou o front end, depois peça ao desenvolvedor para iniciar `claude` novamente |373| A inicialização ou `/login` relata `Claude Code may not be enabled for your organization` após um 403 no carregamento de configurações gerenciadas | O gateway, ou algo na frente dele, respondeu à solicitação `/managed/settings` com 403. A rota de configurações do próprio gateway nunca responde com 403. O status vem das verificações de IP [`access_control`](/docs/pt/claude-apps-gateway-config#http-tuning) ou de um proxy ou WAF na frente do gateway. O log de auditoria registra uma negação de verificação de IP como `access.denied` com o motivo. O desenvolvedor permanece conectado. | Verifique o log de auditoria para `access.denied` no momento da falha e corrija as listas `access_control` ou o front end, depois peça ao desenvolvedor para iniciar `claude` novamente |

362| 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 limite de taxa 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). |374| 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 limite de taxa 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). |

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

Details

255 255 

256 store:256 store:

257 postgres_url: ${GATEWAY_POSTGRES_URL} # EKS: ${file:/secrets/postgres-url}257 postgres_url: ${GATEWAY_POSTGRES_URL} # EKS: ${file:/secrets/postgres-url}

258 # readiness_grace_seconds: 300 # mantenha passando a verificação de saúde

259 # através de um failover RDS

258 260 

259 upstreams:261 upstreams:

260 - provider: bedrock262 - provider: bedrock


423 --load-balancers "targetGroupArn=$TG_ARN,containerName=gateway,containerPort=8080"425 --load-balancers "targetGroupArn=$TG_ARN,containerName=gateway,containerPort=8080"

424 ```426 ```

425 427 

426 O período de graça de 60 segundos dá a uma tarefa fria tempo para extrair a imagem, conectar ao store e responder sua primeira verificação de saúde antes de ECS começar a contar falhas contra a implantação. A verificação de saúde do grupo de destino em `GET /readyz` verifica se o store é acessível, portanto uma tarefa que não consegue alcançar Postgres nunca entra em rotação; consulte [Comportamento de interrupção](/docs/pt/claude-apps-gateway-deploy#outage-behavior) para o tradeoff e a alternativa `/healthz`.428 O período de graça de 60 segundos dá a uma tarefa fria tempo para extrair a imagem, conectar ao store e responder sua primeira verificação de saúde antes de ECS começar a contar falhas contra a implantação.

429 

430 A verificação de saúde do grupo de destino em `GET /readyz` verifica se o store é acessível, portanto uma tarefa que não consegue alcançar Postgres nunca entra em rotação. Para manter tarefas passando a verificação através de uma interrupção curta do banco de dados, como um failover RDS, defina `store.readiness_grace_seconds` conforme descrito em [Comportamento de interrupção](/docs/pt/claude-apps-gateway-deploy#outage-behavior), que também cobre a alternativa `/healthz`.

427 431 

428 As tarefas são executadas em subnets privadas sem IP público, portanto toda saída (para Bedrock, seu IdP, Secrets Manager, ECR e CloudWatch Logs) passa pelo gateway NAT. Para manter o tráfego Bedrock fora do caminho público, crie um endpoint VPC de interface `bedrock-runtime` e aponte o `base_url` do upstream para ele, conforme mostrado na [referência de upstream Bedrock](/docs/pt/claude-apps-gateway-config#amazon-bedrock); o IdP ainda precisa de saída de internet.432 As tarefas são executadas em subnets privadas sem IP público, portanto toda saída (para Bedrock, seu IdP, Secrets Manager, ECR e CloudWatch Logs) passa pelo gateway NAT. Para manter o tráfego Bedrock fora do caminho público, crie um endpoint VPC de interface `bedrock-runtime` e aponte o `base_url` do upstream para ele, conforme mostrado na [referência de upstream Bedrock](/docs/pt/claude-apps-gateway-config#amazon-bedrock); o IdP ainda precisa de saída de internet.

429 433 

Details

86 86 

87A pré-verificação consulta o Postgres com um tempo limite de dois segundos. Se o armazenamento estiver inacessível ou expirar o tempo limite, a aplicação falha aberta por padrão: a solicitação prossegue, o gateway registra um aviso e a resposta não carrega cabeçalhos `anthropic-ratelimit-unified-*`. Defina [`enforcement.fail_closed_on_error: true`](/docs/pt/claude-apps-gateway-config#enforcement) para falhar fechado em vez disso, que retorna o mesmo `429 billing_error` mas com a mensagem `spend limit unavailable` e sem período, hora de redefinição ou cabeçalho `retry-after`. Falha aberta mantém uma interrupção de armazenamento de se tornar uma interrupção de inferência; falha fechada garante nenhum gasto sem medição.87A pré-verificação consulta o Postgres com um tempo limite de dois segundos. Se o armazenamento estiver inacessível ou expirar o tempo limite, a aplicação falha aberta por padrão: a solicitação prossegue, o gateway registra um aviso e a resposta não carrega cabeçalhos `anthropic-ratelimit-unified-*`. Defina [`enforcement.fail_closed_on_error: true`](/docs/pt/claude-apps-gateway-config#enforcement) para falhar fechado em vez disso, que retorna o mesmo `429 billing_error` mas com a mensagem `spend limit unavailable` e sem período, hora de redefinição ou cabeçalho `retry-after`. Falha aberta mantém uma interrupção de armazenamento de se tornar uma interrupção de inferência; falha fechada garante nenhum gasto sem medição.

88 88 

89Falha aberta só ajuda enquanto seu balanceador de carga ou orquestrador ainda roteia o tráfego para o gateway. Veja [Comportamento de interrupção](/docs/pt/claude-apps-gateway-deploy#outage-behavior) para `store.readiness_grace_seconds`, que mantém réplicas passando sua verificação de prontidão através de uma breve interrupção.

90 

89<h3 id="usage-warnings-in-claude-code">91<h3 id="usage-warnings-in-claude-code">

90 Avisos de uso no Claude Code92 Avisos de uso no Claude Code

91</h3>93</h3>

Details

61 61 

62As threads em um [projeto](/docs/pt/claude-projects) precisam que o Claude GitHub App esteja instalado em cada repositório que elas clonam, independentemente do método com o qual você se conectou. Consulte [Configurar acesso ao GitHub](/docs/pt/claude-projects#set-up-github-access).62As threads em um [projeto](/docs/pt/claude-projects) precisam que o Claude GitHub App esteja instalado em cada repositório que elas clonam, independentemente do método com o qual você se conectou. Consulte [Configurar acesso ao GitHub](/docs/pt/claude-projects#set-up-github-access).

63 63 

64Em ambientes hospedados pela Anthropic, suas credenciais do GitHub permanecem criptografadas nos servidores da Anthropic e nunca entram na VM de uma sessão. As operações do GitHub da VM passam pelo [proxy do GitHub](/docs/pt/cloud-environments#github-proxy), que anexa a credencial no lado do servidor.

65 

64Para saber como `/schedule` verifica o acesso ao repositório antes de criar uma routine, consulte [Repositórios e permissões de branch](/docs/pt/routines#repositories-and-branch-permissions). Consulte [Conectar a partir do seu terminal](/docs/pt/web-quickstart#connect-from-your-terminal) para o passo a passo de `/web-setup`, incluindo o que `/web-setup` armazena e como removê-lo.66Para saber como `/schedule` verifica o acesso ao repositório antes de criar uma routine, consulte [Repositórios e permissões de branch](/docs/pt/routines#repositories-and-branch-permissions). Consulte [Conectar a partir do seu terminal](/docs/pt/web-quickstart#connect-from-your-terminal) para o passo a passo de `/web-setup`, incluindo o que `/web-setup` armazena e como removê-lo.

65 67 

66Quick web setup é uma configuração de organização que permite que membros conectem o GitHub com `/web-setup`, pula o prompt de instalação do Claude GitHub App durante o onboarding do navegador e faz com que o onboarding do navegador crie o [ambiente **Default**](/docs/pt/cloud-environments#the-default-environment) para eles em vez de mostrar o formulário de ambiente. Nos planos Team e Enterprise está desabilitado por padrão, o que oculta `/web-setup`. Um [Owner](/docs/pt/server-managed-settings#access-control) o ativa com o toggle **Quick web setup** em [**Admin settings > Claude Code**](https://claude.ai/admin-settings/claude-code).68Quick web setup é uma configuração de organização que permite que membros conectem o GitHub com `/web-setup`, pula o prompt de instalação do Claude GitHub App durante o onboarding do navegador e faz com que o onboarding do navegador crie o [ambiente **Default**](/docs/pt/cloud-environments#the-default-environment) para eles em vez de mostrar o formulário de ambiente. Nos planos Team e Enterprise está desabilitado por padrão, o que oculta `/web-setup`. Um [Owner](/docs/pt/server-managed-settings#access-control) o ativa com o toggle **Quick web setup** em [**Admin settings > Claude Code**](https://claude.ai/admin-settings/claude-code).


73 Mover tarefas entre terminal e nuvem75 Mover tarefas entre terminal e nuvem

74</h2>76</h2>

75 77 

76Esses fluxos de trabalho requerem o [Claude Code CLI](/docs/pt/quickstart) conectado à mesma conta claude.ai. Você pode iniciar novas sessões em nuvem a partir do seu terminal, ou puxar sessões em nuvem para seu terminal para continuar localmente. As sessões em nuvem persistem mesmo se você fechar seu laptop, e você pode monitorá-las de qualquer lugar, incluindo o aplicativo móvel Claude.78Esses fluxos de trabalho exigem o [Claude Code CLI](/docs/pt/quickstart) conectado à mesma conta claude.ai. Você pode iniciar novas sessões na nuvem a partir do seu terminal, ou puxar sessões na nuvem para seu terminal para continuar localmente. As sessões na nuvem persistem mesmo se você fechar seu laptop, e você pode monitorá-las de qualquer lugar, incluindo o aplicativo móvel Claude.

77 79 

78<Note>80<Note>

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

80</Note>82</Note>

81 83 

82<h3 id="from-terminal-to-cloud">84<h3 id="from-terminal-to-cloud">

83 Do terminal para a nuvem85 Do terminal para a nuvem

84</h3>86</h3>

85 87 

86Inicie uma sessão em nuvem a partir da linha de comando com o sinalizador `--cloud`:88Inicie uma sessão na nuvem a partir da linha de comando com o sinalizador `--cloud`:

87 89 

88```bash theme={null}90```bash theme={null}

89claude --cloud "Fix the authentication bug in src/auth/login.ts"91claude --cloud "Fix the authentication bug in src/auth/login.ts"

90```92```

91 93 

92Isso cria uma nova sessão em nuvem em claude.ai. A VM em nuvem clona o remoto GitHub do seu diretório atual na sua branch atual, não seu checkout local, então envie primeiro se você tiver commits locais. Veja [Envie repositórios locais sem GitHub](#send-local-repositories-without-github) para os casos em que Claude Code carrega seu repositório local em vez de clonar.94Isso cria uma nova sessão na nuvem em claude.ai. A VM na nuvem clona o remoto GitHub do diretório atual em sua ramificação atual, não seu checkout local, portanto, faça push primeiro se você tiver commits locais. Consulte [Enviar repositórios locais sem GitHub](#send-local-repositories-without-github) para os casos em que Claude Code carrega seu repositório local em vez de clonar.

93 95 

94`--cloud` funciona com um repositório por vez. A tarefa é executada na nuvem enquanto você continua trabalhando localmente. A ortografia mais antiga `--remote` ainda funciona como um alias descontinuado para `--cloud`.96`--cloud` funciona com um único repositório por vez. A tarefa é executada na nuvem enquanto você continua trabalhando localmente. A ortografia `--remote` mais antiga ainda funciona como um alias descontinuado para `--cloud`.

95 97 

96Enquanto o contêiner em nuvem inicia, o CLI mostra uma lista de verificação ao vivo das etapas de configuração, como clonar o repositório e executar seu [script de configuração](/docs/pt/cloud-environments#setup-scripts). Ele enfileira mensagens que você digita durante o provisionamento e as envia assim que a sessão estiver pronta.98Enquanto o contêiner na nuvem inicia, a CLI mostra uma lista de verificação ao vivo das etapas de configuração, como clonar o repositório e executar seu [script de configuração](/docs/pt/cloud-environments#setup-scripts). Ela enfileira mensagens que você digita durante o provisionamento e as envia assim que a sessão estiver pronta.

97 99 

98<Note>100<Note>

99 `--cloud` cria sessões em nuvem. `--remote-control` não está relacionado: permite que você monitore e dirija uma sessão CLI local a partir de claude.ai ou do aplicativo Claude. Veja [Remote Control](/docs/pt/remote-control).101 `--cloud` cria sessões na nuvem. `--remote-control` não está relacionado: permite que você monitore e dirija uma sessão CLI local a partir de claude.ai ou do aplicativo Claude. Consulte [Remote Control](/docs/pt/remote-control).

100</Note>102</Note>

101 103 

102Abra a sessão em claude.ai ou no aplicativo móvel Claude para verificar o progresso ou interagir diretamente. De lá você pode orientar Claude, fornecer feedback ou responder perguntas como em qualquer outra conversa.104Abra a sessão em claude.ai ou no aplicativo móvel Claude para verificar o progresso ou interagir diretamente. De lá, você pode dirigir Claude, fornecer feedback ou responder perguntas como em qualquer outra conversa.

103 105 

104Se Claude fizer uma pergunta e a sessão ficar ociosa, você ainda pode responder quando voltar, até [expiração do ambiente](#environment-expired), e a sessão continua a partir de sua resposta.106Se Claude fizer uma pergunta e a sessão ficar ociosa, você ainda pode responder quando voltar, até [expiração do ambiente](#environment-expired), e a sessão continua a partir de sua resposta.

105 107 

106<h4 id="tips-for-cloud-tasks">108<h4 id="tips-for-cloud-tasks">

107 Dicas para tarefas em nuvem109 Dicas para tarefas na nuvem

108</h4>110</h4>

109 111 

110**Planeje localmente, execute na nuvem**: para tarefas complexas, inicie Claude em plan mode para colaborar na abordagem, depois envie o trabalho para a nuvem:112**Planeje localmente, execute na nuvem**: para tarefas complexas, inicie Claude no modo de plano para colaborar na abordagem, depois envie o trabalho para a nuvem:

111 113 

112```bash theme={null}114```bash theme={null}

113claude --permission-mode plan115claude --permission-mode plan

114```116```

115 117 

116Em plan mode, Claude lê arquivos, executa comandos para explorar e propõe um plano sem editar código-fonte. Depois de estar satisfeito, salve o plano no repositório, confirme e envie para que a VM em nuvem possa cloná-lo. Depois inicie uma sessão em nuvem para execução autônoma:118No modo de plano, Claude lê arquivos, executa comandos para explorar e propõe um plano sem editar código-fonte. Depois de estar satisfeito, salve o plano no repositório, faça commit e push para que a VM na nuvem possa cloná-lo. Em seguida, inicie uma sessão na nuvem para execução autônoma:

117 119 

118```bash theme={null}120```bash theme={null}

119claude --cloud "Execute the migration plan in docs/migration-plan.md"121claude --cloud "Execute the migration plan in docs/migration-plan.md"

120```122```

121 123 

122**Execute tarefas em paralelo**: cada comando `--cloud` cria sua própria sessão em nuvem que é executada independentemente. Você pode iniciar múltiplas tarefas e todas serão executadas simultaneamente em sessões separadas:124**Execute tarefas em paralelo**: cada comando `--cloud` cria sua própria sessão na nuvem que é executada independentemente. Você pode iniciar várias tarefas e todas serão executadas simultaneamente em sessões separadas:

123 125 

124```bash theme={null}126```bash theme={null}

125claude --cloud "Fix the flaky test in auth.spec.ts"127claude --cloud "Fix the flaky test in auth.spec.ts"


130Quando uma sessão é concluída, você pode criar um PR a partir de claude.ai/code ou [teleportar](#from-cloud-to-terminal) a sessão para seu terminal para continuar trabalhando.132Quando uma sessão é concluída, você pode criar um PR a partir de claude.ai/code ou [teleportar](#from-cloud-to-terminal) a sessão para seu terminal para continuar trabalhando.

131 133 

132<h4 id="send-local-repositories-without-github">134<h4 id="send-local-repositories-without-github">

133 Envie repositórios locais sem GitHub135 Enviar repositórios locais sem GitHub

134</h4>136</h4>

135 137 

136Quando você executa `claude --cloud` a partir de um repositório que não tem um remoto git, ou a partir de um repositório github.com no qual o Claude GitHub App não está instalado, Claude Code agrupa seu repositório local e o carrega diretamente para a sessão em nuvem. Isso se aplica mesmo se você conectou GitHub com `/web-setup`. O pacote inclui seu histórico completo de repositório em todas as branches, mais quaisquer alterações não confirmadas em arquivos rastreados.138Quando você executa `claude --cloud` a partir de um repositório que não tem um remoto git, ou a partir de um repositório github.com no qual o Claude GitHub App não está instalado, Claude Code agrupa seu repositório local e o carrega diretamente para a sessão na nuvem. Isso se aplica mesmo se você conectou GitHub com `/web-setup`. O pacote inclui seu histórico completo de repositório em todas as ramificações, além de alterações não confirmadas em arquivos rastreados.

137 139 

138Em macOS, Linux e WSL, Claude Code deixa alterações não confirmadas em arquivos nomeados como credenciais ou chaves fora do upload e nomeia os arquivos que deixou de fora. Isso cobre arquivos `.env`, arquivos Terraform `*.tfvars` e arquivos de chave como `id_rsa` e `*.pem`. A sessão inicia com a versão confirmada de cada um, ou sem o arquivo se nenhum estiver confirmado. Em um worktree vinculado, submódulo ou layout similar, Claude Code carrega essas alterações com o resto e nomeia os arquivos que carrega.140No macOS, Linux e WSL, Claude Code deixa alterações não confirmadas em arquivos nomeados como credenciais ou chaves fora do upload e nomeia os arquivos que deixou de fora. Isso cobre arquivos `.env`, arquivos Terraform `*.tfvars` e arquivos de chave como `id_rsa` e `*.pem`. A sessão inicia com a versão confirmada de cada um, ou sem o arquivo se nenhum estiver confirmado.

139 141 

140Para carregar um pacote mesmo quando Claude Code clonaría do remoto, defina `CCR_FORCE_BUNDLE=1`:142Para carregar um pacote mesmo quando Claude Code clonaria do remoto, defina `CCR_FORCE_BUNDLE=1`:

141 143 

142```bash theme={null}144```bash theme={null}

143CCR_FORCE_BUNDLE=1 claude --cloud "Run the test suite and fix any failures"145CCR_FORCE_BUNDLE=1 claude --cloud "Run the test suite and fix any failures"


146Os repositórios agrupados devem atender a esses limites:148Os repositórios agrupados devem atender a esses limites:

147 149 

148* O diretório deve ser um repositório git com pelo menos um commit150* O diretório deve ser um repositório git com pelo menos um commit

149* O repositório agrupado deve estar abaixo de 100 MB. Repositórios maiores voltam a agrupar apenas a branch atual, depois a um snapshot único e compactado da árvore de trabalho, e falham apenas se o snapshot ainda for muito grande151* O repositório agrupado deve ter menos de 100 MB. Repositórios maiores voltam a agrupar apenas a ramificação atual, depois a um único snapshot compactado da árvore de trabalho, e falham se o snapshot ainda for muito grande

150* Arquivos não rastreados não estão incluídos; execute `git add` em arquivos que você deseja que a sessão em nuvem veja152* Arquivos não rastreados não são incluídos; execute `git add` em arquivos que você deseja que a sessão na nuvem veja

151* As sessões criadas a partir de um pacote podem enviar de volta para um remoto GitHub apenas quando sua [conexão GitHub](#github-authentication-options) tem acesso de push para esse repositório153* Sessões criadas a partir de um pacote podem fazer push de volta para um remoto GitHub apenas quando sua [conexão GitHub](#github-authentication-options) tem acesso de push a esse repositório

152 154 

153<h3 id="send-follow-ups-from-the-cli">155<h3 id="send-follow-ups-from-the-cli">

154 Envie follow-ups a partir do CLI156 Enviar acompanhamentos a partir da CLI

155</h3>157</h3>

156 158 

157Depois que uma sessão em nuvem está em execução, em qualquer lugar que ela seja executada, envie uma mensagem de follow-up a partir do CLI `claude` em qualquer máquina onde você esteja conectado com `claude auth login`. O CLI autentica com suas credenciais de conta Anthropic e não envia nenhum estado de sessão local, então o comando não precisa ser executado a partir da máquina que iniciou a sessão, e é o mesmo em cada shell, incluindo PowerShell.159Depois que uma sessão na nuvem está em execução, onde quer que seja executada, envie uma mensagem de acompanhamento a partir da CLI `claude` em qualquer máquina onde você esteja conectado com `claude auth login`. A CLI autentica com suas credenciais de conta Anthropic e não envia nenhum estado de sessão local, portanto o comando não precisa ser executado a partir da máquina que iniciou a sessão, e é o mesmo em cada shell, incluindo PowerShell.

158 160 

159O comando publica uma mensagem e sai:161O comando publica uma mensagem e sai:

160 162 


162claude -p "your message" --cloud <session-id>164claude -p "your message" --cloud <session-id>

163```165```

164 166 

165O CLI enfileira a mensagem na sessão e sai sem esperar por uma resposta. Use-o para orientar uma sessão de longa duração, enfileire a próxima etapa enquanto a atual ainda está terminando, ou envie follow-ups a partir de um [script de CI](/docs/pt/self-hosted-environments-testing#run-the-test-loop). Você também pode canalizar a mensagem em stdin em vez de passá-la como um argumento: `echo "your message" | claude -p --cloud <session-id>`.167A CLI enfileira a mensagem na sessão e sai sem esperar por uma resposta. Use-a para dirigir uma sessão de longa duração, enfileire a próxima etapa enquanto a atual ainda está terminando, ou envie acompanhamentos a partir de um [script CI](/docs/pt/self-hosted-environments-testing#run-the-test-loop). Você também pode canalizar a mensagem em stdin em vez de passá-la como um argumento: `echo "your message" | claude -p --cloud <session-id>`.

166 168 

167Para `<session-id>`, passe o ID simples, como `session_...` ou `cse_...`, ou a URL `claude.ai/code/<id>` da sessão, com ou sem o esquema ou string de consulta. Encontre o ID em sua lista de sessões em claude.ai/code.169Para `<session-id>`, passe o ID simples, como `session_...` ou `cse_...`, ou a URL `claude.ai/code/<id>` da sessão, com ou sem o esquema ou string de consulta. Encontre o ID em sua lista de sessões em claude.ai/code.

168 170 

169<Note>171<Note>

170 `--cloud` requer uma conta Anthropic. Não está disponível quando Claude Code está configurado para Amazon Bedrock, Google Cloud's Agent Platform ou outro provedor de terceiros. Um [gateway LLM](/docs/pt/llm-gateway) configurado apenas através de `ANTHROPIC_BASE_URL` não conta como um provedor de terceiros para esta verificação, mas você ainda precisa entrar com `claude auth login`. A política `allow_remote_sessions` da sua organização também deve estar habilitada. Um Owner pode ativá-la nas configurações de administrador do Claude Code em claude.ai/admin-settings/claude-code.172 `--cloud` requer uma conta Anthropic. Não está disponível quando Claude Code é configurado para Amazon Bedrock, Google Cloud's Agent Platform ou outro provedor de terceiros. Um [gateway LLM](/docs/pt/llm-gateway) configurado apenas através de `ANTHROPIC_BASE_URL` não conta como um provedor de terceiros para esta verificação, mas você ainda precisa se conectar com `claude auth login`. A política `allow_remote_sessions` da sua organização também deve estar habilitada. Um Owner pode ativá-la nas configurações de administrador do Claude Code em claude.ai/admin-settings/claude-code.

171</Note>173</Note>

172 174 

173<h4 id="output-and-errors">175<h4 id="output-and-errors">

174 Saída e erros176 Saída e erros

175</h4>177</h4>

176 178 

177No sucesso, o comando imprime o ID da sessão e um link para visualizar a sessão:179Com sucesso, o comando imprime o ID da sessão e um link para visualizar a sessão:

178 180 

179```181```

180Sent to cloud session.182Sent to cloud session.


182View: https://claude.ai/code/session_01DiUkqY2kzbUbDmW1w96rfi?from=cli&m=0184View: https://claude.ai/code/session_01DiUkqY2kzbUbDmW1w96rfi?from=cli&m=0

183```185```

184 186 

185Passe `--output-format json` para um resultado legível por máquina: `{ok, session_id, url}` no sucesso, ou `{ok: false, session_id, error}` quando o envio falha, por exemplo quando a sessão está faltando ou arquivada. Erros de configuração, como um provedor não suportado ou uma política de organização desabilitada, imprimem em stderr sem JSON. `--output-format stream-json` não é suportado com `--cloud <session-id>`.187Passe `--output-format json` para um resultado legível por máquina: `{ok, session_id, url}` com sucesso, ou `{ok: false, session_id, error}` quando o envio falha, por exemplo quando a sessão está ausente ou arquivada. Erros de configuração, como um provedor não suportado ou uma política organizacional desabilitada, são impressos em stderr sem JSON. `--output-format stream-json` não é suportado com `--cloud <session-id>`.

186 188 

187O CLI prefixos erros com `Error: `. Uma entrega falhada é envolvida como `failed to send message to cloud session <id>: <reason>`.189A CLI prefixos erros com `Error: `. Uma entrega com falha é envolvida como `failed to send message to cloud session <id>: <reason>`.

188 190 

189| Mensagem | O que significa |191| Mensagem | O que significa |

190| - | - |192| - | - |

191| `Cloud sessions aren't available with <provider>. They run on Anthropic's infrastructure and require an Anthropic account.` | Claude Code está configurado para um provedor de terceiros. A mensagem nomeia o provedor com o rótulo que sua configuração usa, como `Amazon Bedrock` ou `Google Vertex AI`. Remova a configuração desse provedor, por exemplo desconfigurar `CLAUDE_CODE_USE_BEDROCK`, e entre com uma conta Anthropic (`claude auth login`). |193| `Cloud sessions aren't available with <provider>. They run on Anthropic's infrastructure and require an Anthropic account.` | Claude Code é configurado para um provedor de terceiros. A mensagem nomeia o provedor com o rótulo que sua configuração usa, como `Amazon Bedrock` ou `Google Vertex AI`. Remova a configuração desse provedor, por exemplo, desconfigurar `CLAUDE_CODE_USE_BEDROCK`, e conecte-se com uma conta Anthropic (`claude auth login`). |

192| `Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them.` | A política de organização `allow_remote_sessions` está desabilitada. |194| `Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them.` | A política organizacional `allow_remote_sessions` está desativada. |

193| `Couldn't verify your organization's policy for cloud sessions. Check your network connection and try again.` | Claude Code não conseguiu buscar a política de sua organização, então recusa o envio em vez de assumir que as sessões em nuvem são permitidas. Verifique sua conexão de rede e tente novamente. |195| `Couldn't verify your organization's policy for cloud sessions. Check your network connection and try again.` | Claude Code não conseguiu buscar a política da sua organização, portanto recusa o envio em vez de assumir que as sessões na nuvem são permitidas. Verifique sua conexão de rede e tente novamente. |

194| `Attaching to an existing cloud session is not enabled for your account.` | Você executou `--cloud <session-id>` sem `-p`. Envie a mensagem com `claude -p "your message" --cloud <session-id>`. |196| `Attaching to an existing cloud session is not enabled for your account.` | Você executou `--cloud <session-id>` sem `-p`. Envie a mensagem com `claude -p "your message" --cloud <session-id>`. |

195| `Session not found: <id>` | O ID ou URL não corresponde a uma sessão que você pode acessar. Verifique-o contra a URL claude.ai/code da sessão. |197| `Session not found: <id>` | O ID ou URL não corresponde a uma sessão que você pode acessar. Verifique-o em relação à URL claude.ai/code da sessão. |

196| `cloud session <id> is archived and cannot accept new messages` | A sessão foi arquivada. Inicie uma nova sessão em vez disso. |198| `cloud session <id> is archived and cannot accept new messages` | A sessão foi arquivada. Inicie uma nova sessão em vez disso. |

197 199 

198<h3 id="from-cloud-to-terminal">200<h3 id="from-cloud-to-terminal">

199 Da nuvem para o terminal201 Da nuvem para o terminal

200</h3>202</h3>

201 203 

202Puxe uma sessão em nuvem para seu terminal usando qualquer um destes:204Puxe uma sessão na nuvem para seu terminal usando qualquer um destes:

203 205 

204* **Usando `--teleport`**: a partir da linha de comando, execute `claude --teleport` para um seletor de sessão interativo, ou `claude --teleport <session-id>` para retomar uma sessão específica diretamente. Se você tiver alterações não confirmadas, será solicitado que você as guarde primeiro.206* **Usando `--teleport`**: a partir da linha de comando, execute `claude --teleport` para um seletor de sessão interativo, ou `claude --teleport <session-id>` para retomar uma sessão específica diretamente. Se você tiver alterações não confirmadas, será solicitado que você as guarde primeiro.

205* **Usando `/teleport`**: dentro de uma sessão CLI existente, execute `/teleport` ou `/tp` para abrir o mesmo seletor de sessão sem reiniciar Claude Code.207* **Usando `/teleport`**: dentro de uma sessão CLI existente, execute `/teleport` ou `/tp` para abrir o mesmo seletor de sessão sem reiniciar Claude Code.

206* **De `/tasks`**: execute `/tasks` para ver suas sessões em segundo plano, depois pressione `t` para teleportar para uma.208* **De `/tasks`**: execute `/tasks` para ver suas sessões em segundo plano, depois pressione `t` para teleportar para uma.

207* **De claude.ai/code**: selecione **Open in > Terminal** no menu de sessão para copiar um comando que você pode colar em seu terminal.209* **De claude.ai/code**: selecione **Open in > Terminal** no menu de sessão para copiar um comando que você pode colar em seu terminal.

208* **De dentro da sessão em nuvem**: digite `/teleport` e Claude Code responde com o comando exato `claude --teleport <session-id>` para essa sessão, pronto para ser executado a partir de um checkout do repositório. Requer Claude Code v2.1.223 ou posterior no ambiente da sessão.210* **De dentro da sessão na nuvem**: digite `/teleport` e Claude Code responde com o comando exato `claude --teleport <session-id>` para essa sessão, pronto para ser executado a partir de um checkout do repositório. Requer Claude Code v2.1.223 ou posterior no ambiente da sessão.

209 211 

210Quando você teleporta uma sessão, Claude verifica se você está no repositório correto, busca e faz checkout da branch da sessão em nuvem e carrega o histórico completo da conversa em seu terminal. O terminal obtém sua própria cópia da sessão: novo trabalho lá fica local e não aparece na sessão em nuvem em claude.ai ou no aplicativo móvel Claude. Para continuar orientando a partir do seu telefone após teleportar, inicie [`/remote-control`](/docs/pt/remote-control) na sessão local.212Quando você teleporta uma sessão, Claude verifica se você está no repositório correto, busca e faz checkout da ramificação da sessão na nuvem e carrega o histórico completo da conversa em seu terminal. O terminal obtém sua própria cópia da sessão: novo trabalho lá permanece local e não aparece na sessão na nuvem em claude.ai ou no aplicativo móvel Claude. Para continuar dirigindo a partir do seu telefone após teleportar, inicie [`/remote-control`](/docs/pt/remote-control) na sessão local.

211 213 

212`--teleport` é distinto de `--resume`. `--resume` reabre uma conversa do histórico local desta máquina e não lista sessões em nuvem; `--teleport` puxa uma sessão em nuvem e sua branch.214`--teleport` é distinto de `--resume`. `--resume` reabre uma conversa do histórico local desta máquina e não lista sessões na nuvem; `--teleport` puxa uma sessão na nuvem e sua ramificação.

213 215 

214<h4 id="teleport-requirements">216<h4 id="teleport-requirements">

215 Requisitos de teleportação217 Requisitos de teleporte

216</h4>218</h4>

217 219 

218Teleport verifica esses requisitos antes de retomar uma sessão. Se algum requisito não for atendido, você verá um erro ou será solicitado a resolver o problema.220Teleport verifica esses requisitos antes de retomar uma sessão. Se algum requisito não for atendido, você verá um erro ou será solicitado a resolver o problema.


220| Requisito | Detalhes |222| Requisito | Detalhes |

221| - | - |223| - | - |

222| Estado git limpo | Seu diretório de trabalho não deve ter alterações não confirmadas. Teleport solicita que você guarde as alterações se necessário. |224| Estado git limpo | Seu diretório de trabalho não deve ter alterações não confirmadas. Teleport solicita que você guarde as alterações se necessário. |

223| Repositório correto | Você deve executar `--teleport` a partir de um checkout do mesmo repositório, não de um fork. Se você executá-lo a partir de um checkout de um repositório diferente, Claude Code mostra um erro que nomeia tanto o repositório da sessão quanto o repositório do seu checkout. Antes da v2.1.219, o erro não nomeava o repositório do seu checkout. Se Claude Code não conseguir analisar seu remoto em um nome de host, por exemplo um alias de host SSH como `git@work:owner/repo.git`, ele pede que você confirme, e aceita o checkout quando o proprietário do remoto e o nome do repositório correspondem ao repositório da sessão. |225| Repositório correto | Você deve executar `--teleport` a partir de um checkout do mesmo repositório, não de um fork. Se você executá-lo a partir de um checkout de um repositório diferente, Claude Code mostra um erro que nomeia tanto o repositório da sessão quanto o seu checkout. Antes de v2.1.219, o erro não nomeava o repositório do seu checkout. Se Claude Code não conseguir analisar seu remoto em um nome de host, por exemplo um alias de host SSH como `git@work:owner/repo.git`, ele pede que você confirme e aceita o checkout quando o proprietário do remoto e o nome do repositório correspondem ao repositório da sessão. |

224| Branch disponível | A branch da sessão em nuvem deve ter sido enviada para o remoto. Teleport busca e faz checkout automaticamente. |226| Ramificação disponível | A ramificação da sessão na nuvem deve ter sido enviada para o remoto. Teleport busca e faz checkout automaticamente. |

225| Mesma conta | Você deve estar autenticado na mesma conta claude.ai usada na sessão em nuvem. |227| Mesma conta | Você deve estar autenticado na mesma conta claude.ai usada na sessão na nuvem. |

226 228 

227<h4 id="teleport-is-unavailable">229<h4 id="teleport-is-unavailable">

228 `--teleport` não está disponível230 `--teleport` não está disponível

229</h4>231</h4>

230 232 

231Teleport requer autenticação de assinatura claude.ai. Se você estiver autenticado via chave de API, execute `/login` para entrar com sua conta claude.ai em vez disso. Se o erro nomear seu provedor em vez disso, as sessões em nuvem não estão disponíveis através de provedores de terceiros; veja a [tabela de erros](#output-and-errors). Se você já estiver conectado via claude.ai e `--teleport` ainda não estiver disponível, sua organização pode ter desabilitado as sessões em nuvem.233Teleport requer autenticação de assinatura claude.ai. Se você estiver autenticado via chave de API, execute `/login` para se conectar com sua conta claude.ai. Se o erro nomear seu provedor, as sessões na nuvem não estão disponíveis através de provedores de terceiros; consulte a [tabela de erros](#output-and-errors). Se você já estiver conectado via claude.ai e `--teleport` ainda não estiver disponível, sua organização pode ter desabilitado as sessões na nuvem.

232 234 

233<h2 id="work-with-sessions">235<h2 id="work-with-sessions">

234 Trabalhar com sessões236 Trabalhar com sessões


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

430 432 

431* **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.433* **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.

434* **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)

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

433* **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 remoto436* **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

434* **IP allowlist da organização**: sessões em nuvem chamam a API Anthropic a partir de infraestrutura gerenciada pela Anthropic, não de sua rede, enquanto sessões em um [ambiente auto-hospedado](/docs/pt/self-hosted-environments) a chamam a partir de sua própria rede. Se sua organização tem [IP allowlisting](https://support.claude.com/en/articles/13200993-restrict-access-to-claude-with-ip-allowlisting) habilitado, cada sessão em nuvem hospedada pela Anthropic falha com um erro de autenticação. O mesmo se aplica a [Code Review](/docs/pt/code-review) e a [routines](/docs/pt/routines) que são executadas em ambientes hospedados pela Anthropic; uma routine roteada para um ambiente auto-hospedado chama a API a partir de sua própria rede. Entre em contato com [suporte Anthropic](https://support.claude.com/) para isentar serviços hospedados pela Anthropic do allowlist de IP de sua organização.437* **IP allowlist da organização**: sessões em nuvem chamam a API Anthropic a partir de infraestrutura gerenciada pela Anthropic, não de sua rede, enquanto sessões em um [ambiente auto-hospedado](/docs/pt/self-hosted-environments) a chamam a partir de sua própria rede. Se sua organização tem [IP allowlisting](https://support.claude.com/en/articles/13200993-restrict-access-to-claude-with-ip-allowlisting) habilitado, cada sessão em nuvem hospedada pela Anthropic falha com um erro de autenticação. O mesmo se aplica a [Code Review](/docs/pt/code-review) e a [routines](/docs/pt/routines) que são executadas em ambientes hospedados pela Anthropic; uma routine roteada para um ambiente auto-hospedado chama a API a partir de sua própria rede. Entre em contato com [suporte Anthropic](https://support.claude.com/) para isentar serviços hospedados pela Anthropic do allowlist de IP de sua organização.

Details

1554| `projects/<project>/<session>.jsonl` | Transcrição completa da conversa: cada mensagem, chamada de ferramenta e resultado de ferramenta |1554| `projects/<project>/<session>.jsonl` | Transcrição completa da conversa: cada mensagem, chamada de ferramenta e resultado de ferramenta |

1555| `projects/<project>/<session>.orphaned-<timestamp>-<suffix>.jsonl`, `projects/<project>/<session>.jsonl.superseded-<timestamp>` | Uma transcrição anterior da sessão que Claude Code separou em vez de sobrescrever ou deletar. Não aparece no seletor de sessão |1555| `projects/<project>/<session>.orphaned-<timestamp>-<suffix>.jsonl`, `projects/<project>/<session>.jsonl.superseded-<timestamp>` | Uma transcrição anterior da sessão que Claude Code separou em vez de sobrescrever ou deletar. Não aparece no seletor de sessão |

1556| `projects/<project>/<session>/subagents/` | Transcrições de conversa de [Subagent](/docs/pt/sub-agents), removidas com a transcrição da sessão pai quando envelhece |1556| `projects/<project>/<session>/subagents/` | Transcrições de conversa de [Subagent](/docs/pt/sub-agents), removidas com a transcrição da sessão pai quando envelhece |

1557| `projects/<project>/<session>/tool-results/` | Grandes saídas de ferramentas derramadas em arquivos separados |1557| `projects/<project>/<session>/tool-results/` | Grandes saídas de ferramentas derramadas em arquivos separados, e cópias em tamanho completo de [imagens que ferramentas MCP retornam](/docs/pt/mcp#images-in-tool-results) |

1558| `file-history/<session>/` | Snapshots pré-edição de arquivos que Claude alterou, usados para [restauração de checkpoint](/docs/pt/checkpointing). Contém snapshots dos 100 checkpoints mais recentes; arquivos de snapshot que nenhum checkpoint retido referencia são deletados, exceto o primeiro snapshot de cada arquivo |1558| `file-history/<session>/` | Snapshots pré-edição de arquivos que Claude alterou, usados para [restauração de checkpoint](/docs/pt/checkpointing). Contém snapshots dos 100 checkpoints mais recentes; arquivos de snapshot que nenhum checkpoint retido referencia são deletados, exceto o primeiro snapshot de cada arquivo |

1559| `plans/` | Arquivos de plano escritos durante [plan mode](/docs/pt/permission-modes#analyze-before-you-edit-with-plan-mode) |1559| `plans/` | Arquivos de plano escritos durante [plan mode](/docs/pt/permission-modes#analyze-before-you-edit-with-plan-mode) |

1560| `debug/` | Logs de debug por sessão, escritos enquanto o debug logging está ativado, como quando você inicia com [`--debug`](/docs/pt/cli-reference#cli-flags) ou executa `/debug` |1560| `debug/` | Logs de debug por sessão, escritos enquanto o debug logging está ativado, como quando você inicia com [`--debug`](/docs/pt/cli-reference#cli-flags) ou executa `/debug` |


1582* **Modo bare**: quando você executa `claude -p` com [`--bare`](/docs/pt/headless#start-faster-with-bare-mode), Claude Code não executa a varredura nessa sessão.1582* **Modo bare**: quando você executa `claude -p` com [`--bare`](/docs/pt/headless#start-faster-with-bare-mode), Claude Code não executa a varredura nessa sessão.

1583* **Varredura pausada**: se Claude Code não conseguir determinar com segurança o período de retenção, ele pausa a varredura de limpeza de retenção; o [evento `retention_sweep`](/docs/pt/monitoring-usage#retention-sweep-event) lista cada configuração que a pausa. Quando a causa é um arquivo de configurações que não pode ser lido ou analisado, ou erros de configurações com `cleanupPeriodDays` ou `desktopSessionCleanupPeriodDays` explicitamente definidos, Claude Code também mostra um aviso em `/status` até você corrigir os erros de configurações. Quando [configurações gerenciadas](/docs/pt/server-managed-settings) fornecem `cleanupPeriodDays`, Claude Code executa a varredura no valor gerenciado em qualquer caso.1583* **Varredura pausada**: se Claude Code não conseguir determinar com segurança o período de retenção, ele pausa a varredura de limpeza de retenção; o [evento `retention_sweep`](/docs/pt/monitoring-usage#retention-sweep-event) lista cada configuração que a pausa. Quando a causa é um arquivo de configurações que não pode ser lido ou analisado, ou erros de configurações com `cleanupPeriodDays` ou `desktopSessionCleanupPeriodDays` explicitamente definidos, Claude Code também mostra um aviso em `/status` até você corrigir os erros de configurações. Quando [configurações gerenciadas](/docs/pt/server-managed-settings) fornecem `cleanupPeriodDays`, Claude Code executa a varredura no valor gerenciado em qualquer caso.

1584 1584 

1585<h3 id="session-scratchpad-directory">

1586 Diretório de bloco de notas por sessão

1587</h3>

1588 

1589O bloco de notas é um diretório por sessão que Claude Code fornece a Claude para arquivos temporários: resultados intermediários, scripts auxiliares e rascunhos que não pertencem ao seu projeto. Quando Claude diz que salvou algo "no bloco de notas", o arquivo está lá. Claude o usa em vez de `/tmp`, e pode criar, editar e ler arquivos nele sem um prompt de permissão.

1590 

1591O bloco de notas fica sob o diretório temporário de Claude Code em vez de `~/.claude`. Encontre o caminho da sessão atual para sua plataforma:

1592 

1593* **macOS**: `/private/tmp/claude-<uid>/<project>/<session-id>/scratchpad/`

1594* **Linux**: `/tmp/claude-<uid>/<project>/<session-id>/scratchpad/`, ou a mesma forma sob `$TMPDIR` quando seu sistema define um

1595* **Windows**: `%TEMP%\claude\<project>\<session-id>\scratchpad\`

1596 

1597`<project>` é o caminho do seu diretório de trabalho com cada caractere que não seja letra ou dígito substituído por `-`, como `-Users-you-my-project`. Se você definir [`CLAUDE_CODE_TMPDIR`](/docs/pt/env-vars), a árvore se move sob esse diretório em vez disso. Hooks recebem o caminho da sessão atual como [`scratchpad_dir`](/docs/pt/hooks#common-input-fields).

1598 

1599Arquivos do bloco de notas duram enquanto a transcrição da sessão: a [varredura de retenção](#cleaned-up-automatically) deleta o diretório quando deleta a transcrição, e [`claude project purge`](#clear-local-data) não toca no diretório temporário. Como o diretório fica sob a localização temporária do sistema, seu sistema operacional também pode limpá-lo, como na reinicialização. Para manter algo que Claude escreveu lá, peça a Claude para movê-lo para seu projeto.

1600 

1601Uma sessão tem um bloco de notas apenas quando todos estes se aplicam:

1602 

1603* Você está conectado com uma conta claude.ai em vez de uma chave de API

1604* A sessão usa a API Anthropic, não Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry

1605* [`enableArtifact`](/docs/pt/settings-reference#enableartifact) não está definido como `false`

1606 

1585<h3 id="kept-until-you-delete-them">1607<h3 id="kept-until-you-delete-them">

1586 Mantido até você deletar1608 Mantido até você deletar

1587</h3>1609</h3>


1626* Linhas de prompt correspondentes em `history.jsonl`1648* Linhas de prompt correspondentes em `history.jsonl`

1627* A entrada do projeto em `~/.claude.json`1649* A entrada do projeto em `~/.claude.json`

1628 1650 

1629Imagens que você colou ou anexou nas sessões do projeto são armazenadas sob o diretório temporário de Claude Code em vez de `~/.claude`, então a limpeza não as remove. A [varredura de retenção](#cleaned-up-automatically) as deleta uma vez que tenham mais de `cleanupPeriodDays` de idade.1651Imagens que você colou ou anexou nas sessões do projeto e o [bloco de notas](#session-scratchpad-directory) de cada sessão são armazenados sob o diretório temporário de Claude Code em vez de `~/.claude`, então a limpeza não as remove. A [varredura de retenção](#cleaned-up-automatically) ainda deleta as imagens uma vez que tenham mais de `cleanupPeriodDays` de idade; o bloco de notas de uma sessão purgada permanece até você deletá-lo ou seu sistema operacional limpar o diretório temporário.

1630 1652 

1631O comando imprime o plano completo de exclusão e pede confirmação antes de remover qualquer coisa.1653O comando imprime o plano completo de exclusão e pede confirmação antes de remover qualquer coisa.

1632 1654 

Details

12 12 

13Um projeto é uma conversa contínua onde Claude coordena um fluxo de trabalho relacionado para você. Você diz o que precisa ser feito e ele inicia uma thread para cada tarefa.13Um projeto é uma conversa contínua onde Claude coordena um fluxo de trabalho relacionado para você. Você diz o que precisa ser feito e ele inicia uma thread para cada tarefa.

14 14 

15Cada thread é geralmente uma [sessão em nuvem](/docs/pt/claude-code-on-the-web): Claude Code executando na nuvem em vez de na sua máquina. Quando uma tarefa precisa de algo que apenas seu computador tem, você pode pedir a Claude para executar essa thread no seu computador em vez disso através do [Remote Control](/docs/pt/remote-control). As threads são executadas em paralelo e você pode verificá-las e direcioná-las do seu telefone. As threads em nuvem continuam funcionando depois que você fecha o laptop.15Cada thread é geralmente uma [sessão em nuvem](/docs/pt/claude-code-on-the-web): Claude Code executando na nuvem em vez de na sua máquina. Quando uma tarefa precisa de algo que apenas seu computador tem, você pode pedir a Claude para [executar essa thread no seu computador](#run-a-thread-on-your-own-computer) em vez disso através do [Remote Control](/docs/pt/remote-control). As threads são executadas em paralelo e você pode verificá-las e direcioná-las do seu telefone. As threads em nuvem continuam funcionando depois que você fecha o laptop, enquanto uma thread no seu computador é executada apenas enquanto esse computador está acordado.

16 16 

17Sem um projeto, executar várias sessões significa fazer a coordenação você mesmo: você decide no que cada uma trabalha, repete o mesmo contexto no início de cada uma e verifica qual terminou ou precisa de uma resposta. Com um projeto, você:17Sem um projeto, executar várias sessões significa fazer a coordenação você mesmo: você decide no que cada uma trabalha, repete o mesmo contexto no início de cada uma e verifica qual terminou ou precisa de uma resposta. Com um projeto, você:

18 18 


39 Quando algo mais se encaixa melhor39 Quando algo mais se encaixa melhor

40</h3>40</h3>

41 41 

42As threads funcionam em repositórios GitHub e nos arquivos, pastas e pastas do Google Drive que você carrega no projeto, não em arquivos ou ferramentas que existem apenas na sua máquina. Se uma tarefa precisa de sua máquina, peça a Claude para executar sua thread lá através de [Remote Control](/docs/pt/remote-control). [Limitações](#limitations) lista o que isso precisa. Algo mais se encaixa melhor nestes casos:42Um projeto ainda se encaixa quando apenas algumas tarefas precisam de sua máquina. As threads em nuvem funcionam em repositórios GitHub e nos arquivos, pastas e pastas do Google Drive que você carrega no projeto, e para a tarefa ocasional que precisa de um banco de dados local ou de uma ferramenta em seu computador, você pode pedir a Claude para [executar a thread dessa tarefa em seu computador](#run-a-thread-on-your-own-computer). Algo diferente de um projeto se encaixa melhor nestes casos:

43 43 

44* **Uma tarefa que cabe em uma sessão**: "Corrigir o teste de login instável." Inicie uma [sessão em nuvem](/docs/pt/claude-code-on-the-web) você mesmo.44* **Uma tarefa que cabe em uma sessão**: "Corrigir o teste de login instável." Inicie uma [sessão em nuvem](/docs/pt/claude-code-on-the-web) você mesmo.

45* **Trabalho onde cada tarefa precisa de sua máquina**: um banco de dados local, um emulador de dispositivo, ou uma API atrás de sua VPN. Use uma sessão local, ou [agent view](/docs/pt/agent-view) para executar várias de uma vez. Se o trabalho só precisa de arquivos locais, carregue-os no projeto.45* **Trabalho onde cada tarefa precisa de sua máquina**: um banco de dados local, um emulador de dispositivo, ou uma API atrás de sua VPN. Use uma sessão local, ou [agent view](/docs/pt/agent-view) para executar várias de uma vez. Se o trabalho só precisa de arquivos locais, carregue-os no projeto.


277 277 

278Cada aprovação cobre esse prompt, ou o resto dessa thread se você escolher a opção mais ampla. Para deixar cada thread executar certos comandos sem perguntar, ou para bloquear alguns, adicione [regras de permissão](/docs/pt/permissions) ao `.claude/settings.json` do repositório. As threads as aplicam apenas em um projeto com um repositório; veja [O que as threads pegam de seus repositórios](#what-threads-pick-up-from-your-repositories).278Cada aprovação cobre esse prompt, ou o resto dessa thread se você escolher a opção mais ampla. Para deixar cada thread executar certos comandos sem perguntar, ou para bloquear alguns, adicione [regras de permissão](/docs/pt/permissions) ao `.claude/settings.json` do repositório. As threads as aplicam apenas em um projeto com um repositório; veja [O que as threads pegam de seus repositórios](#what-threads-pick-up-from-your-repositories).

279 279 

280<h3 id="run-a-thread-on-your-own-computer">

281 Executar uma thread no seu próprio computador

282</h3>

283 

284Quando uma tarefa precisa de algo que apenas seu computador tem, como um banco de dados local, um emulador de dispositivo ou uma API atrás de seu VPN, peça a Claude para executar a thread para essa tarefa no seu computador em vez de na nuvem. Quando você pede na conversa do projeto, a thread é uma sessão Claude Code em uma pasta na sua máquina, conectada através de [Remote Control](/docs/pt/remote-control). As outras threads do projeto continuam funcionando na nuvem. Comparado com uma thread na nuvem, uma thread no seu computador:

285 

286* Funciona com os arquivos, ferramentas, servidores MCP e configurações Claude Code naquela máquina em vez do ambiente em nuvem do projeto

287* Começa com as instruções do projeto, mas não com seus arquivos de memória carregados

288* Executa apenas enquanto esse computador está acordado com Remote Control ligado

289 

290<Steps>

291 <Step title="Conectar a pasta">

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

293 

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

295 * **Em um terminal**: execute `claude remote-control` na pasta e deixe-a funcionando.

296 </Step>

297 

298 <Step title="Peça a tarefa com Work locally">

299 Na conversa do projeto, escolha **Work locally** no menu **+** ao lado da caixa de mensagem, que marca sua mensagem como **Local**, e escreva o que você quer que seja feito. Dizer na mensagem que a tarefa deve ser executada no seu computador também funciona.

300 </Step>

301 

302 <Step title="Permitir no cartão">

303 Claude responde com um cartão **Allow Claude to work in a folder on your device**. Escolha a pasta se você conectou várias. Depois clique em **Allow once**.

304 </Step>

305</Steps>

306 

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

308 

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

310 

311Um projeto não pode executar uma thread no seu computador enquanto [**Require trusted devices**](/docs/pt/remote-control#trusted-devices) está ativado para sua conta.

312 

280<h2 id="give-a-project-standing-context">313<h2 id="give-a-project-standing-context">

281 Dar contexto permanente a um projeto314 Dar contexto permanente a um projeto

282</h2>315</h2>


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

442* **Sessões em nuvem**: cada thread é uma [sessão em nuvem](/docs/pt/claude-code-on-the-web), a menos que você peça a Claude para executá-la na sua máquina. De qualquer forma, Claude inicia e rastreia em vez de você. Uma sessão em nuvem que você iniciou pode se tornar um projeto ou alimentar um através de [**Continue as a project** ou **Move to project**](#start-from-an-existing-cloud-session).475* **Sessões em nuvem**: cada thread é uma [sessão em nuvem](/docs/pt/claude-code-on-the-web), a menos que você peça a Claude para executá-la na sua máquina. De qualquer forma, Claude inicia e rastreia em vez de você. Uma sessão em nuvem que você iniciou pode se tornar um projeto ou alimentar um através de [**Continue as a project** ou **Move to project**](#start-from-an-existing-cloud-session).

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

444* **Sessões locais e agent view**: uma sessão que você inicia na sua máquina em seu terminal, IDE ou no ambiente local do aplicativo desktop não pode ser adicionada a um projeto. Um projeto alcança sua máquina apenas executando uma thread lá através de [Remote Control](/docs/pt/remote-control). [Agent view](/docs/pt/agent-view) é uma tela para rastrear várias sessões locais que você iniciou; não tem coordenador.477* **Remote Control**: [Remote Control](/docs/pt/remote-control) conecta claude.ai a uma sessão Claude Code em execução na sua máquina. Quando você pede a Claude em um projeto para executar uma thread no seu computador, o projeto [usa Remote Control para fazer isso](#run-a-thread-on-your-own-computer).

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

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

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

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


454 488 

455* Projects estão disponíveis em claude.ai/code, no aplicativo desktop e no aplicativo móvel Claude, não no CLI do terminal ou através de Amazon Bedrock, Agent Platform do Google Cloud ou Microsoft Foundry. O comando [`claude project`](/docs/pt/cli-reference) do CLI, que gerencia o estado local do Claude Code para um diretório, não está relacionado.489* Projects estão disponíveis em claude.ai/code, no aplicativo desktop e no aplicativo móvel Claude, não no CLI do terminal ou através de Amazon Bedrock, Agent Platform do Google Cloud ou Microsoft Foundry. O comando [`claude project`](/docs/pt/cli-reference) do CLI, que gerencia o estado local do Claude Code para um diretório, não está relacionado.

456* As threads do projeto são [sessões em nuvem](/docs/pt/claude-code-on-the-web), ou sessões em sua própria máquina através de [Remote Control](/docs/pt/remote-control), com Anthropic como provedor de modelo em ambos os casos. [Segurança](/docs/pt/security) e [Uso de dados](/docs/pt/data-usage) cobrem como as sessões em nuvem são isoladas e o que é retido, e [Conexão e segurança](/docs/pt/remote-control#connection-and-security) cobre como uma thread em sua máquina se conecta e o que é armazenado.490* As threads do projeto são [sessões em nuvem](/docs/pt/claude-code-on-the-web), ou sessões em sua própria máquina através de [Remote Control](/docs/pt/remote-control), com Anthropic como provedor de modelo em ambos os casos. [Segurança](/docs/pt/security) e [Uso de dados](/docs/pt/data-usage) cobrem como as sessões em nuvem são isoladas e o que é retido, e [Conexão e segurança](/docs/pt/remote-control#connection-and-security) cobre como uma thread em sua máquina se conecta e o que é armazenado.

457* Você não pode adicionar uma sessão que iniciou você mesmo em sua máquina a um projeto. Para permitir que um projeto execute uma thread em sua máquina, conecte a pasta em que deve funcionar através de [Remote Control](/docs/pt/remote-control#requirements): ative Remote Control em **Settings > Claude Code** no aplicativo desktop Claude, ou execute `claude remote-control` na pasta e deixe-a em execução. Essa máquina precisa do Claude Code v2.1.280 ou posterior. Um projeto também não pode executar uma thread em sua máquina enquanto **Require trusted devices** está ativado em suas configurações de claude.ai.491* Você não pode adicionar uma sessão que iniciou você mesmo em sua máquina a um projeto. Um projeto alcança sua máquina apenas [executando uma thread lá através de Remote Control](#run-a-thread-on-your-own-computer), e essa seção lista o que é necessário.

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

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

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


513 547 

514Uma thread ou a conversa do projeto fez uma solicitação que seu plano cobre apenas com créditos de uso, como uma para um modelo ou tamanho de contexto que seu plano não inclui, e créditos de uso não estão ligados para sua conta. [Adicionar créditos de uso à sua assinatura](/docs/pt/costs#add-usage-credits-to-your-subscription) cobre quem pode ligá-los ou comprá-los em cada plano. Uma vez que créditos estão disponíveis, envie outra mensagem para tentar novamente.548Uma thread ou a conversa do projeto fez uma solicitação que seu plano cobre apenas com créditos de uso, como uma para um modelo ou tamanho de contexto que seu plano não inclui, e créditos de uso não estão ligados para sua conta. [Adicionar créditos de uso à sua assinatura](/docs/pt/costs#add-usage-credits-to-your-subscription) cobre quem pode ligá-los ou comprá-los em cada plano. Uma vez que créditos estão disponíveis, envie outra mensagem para tentar novamente.

515 549 

550<h3 id="lost-contact-with-your-folder">

551 Perda de contato com sua pasta

552</h3>

553 

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

555 

516<h3 id="context-limit">556<h3 id="context-limit">

517 Outras mensagens557 Outras mensagens

518</h3>558</h3>


527| "The project's environment was removed" | Escolha um ambiente diferente em **Project settings > Environment**; a mudança se aplica a novas threads |567| "The project's environment was removed" | Escolha um ambiente diferente em **Project settings > Environment**; a mudança se aplica a novas threads |

528| "Setup script failed" | Clique **Edit setup script** no erro, corrija o script no ambiente, depois envie outra mensagem. [Setup script failed](/docs/pt/web-quickstart#setup-script-failed) lista causas comuns |568| "Setup script failed" | Clique **Edit setup script** no erro, corrija o script no ambiente, depois envie outra mensagem. [Setup script failed](/docs/pt/web-quickstart#setup-script-failed) lista causas comuns |

529| "Claude ran out of context on this turn" | A thread preencheu sua janela de contexto. Se a mensagem disser que a thread continua em uma sessão fresca, ela continua por conta própria; caso contrário, peça a Claude na conversa do projeto para iniciar uma nova thread para o trabalho restante |569| "Claude ran out of context on this turn" | A thread preencheu sua janela de contexto. Se a mensagem disser que a thread continua em uma sessão fresca, ela continua por conta própria; caso contrário, peça a Claude na conversa do projeto para iniciar uma nova thread para o trabalho restante |

570| "Couldn't start in" seguido pelo nome da sua pasta | Você permitiu que uma thread fosse executada no seu computador, mas a sessão não conseguiu começar lá. Quando uma linha sob a mensagem fornece o motivo, corrija isso, depois peça a Claude para executar a tarefa novamente |

571| "Claude is out of date on your device" | O computador que você escolheu para executar uma thread tem uma versão Claude Code mais antiga que v2.1.280. Atualize Claude Code lá, ou atualize o aplicativo desktop se isso é o que conecta a pasta, depois peça a Claude para executar a tarefa novamente |

530| "Reached the turn limit" | A thread atingiu o limite de passos agentic que [`CLAUDE_CODE_MAX_TURNS`](/docs/pt/env-vars) define. Envie outra mensagem para continuar, ou aumente ou remova essa variável onde está definida |572| "Reached the turn limit" | A thread atingiu o limite de passos agentic que [`CLAUDE_CODE_MAX_TURNS`](/docs/pt/env-vars) define. Envie outra mensagem para continuar, ou aumente ou remova essa variável onde está definida |

531 573 

532<h2 id="related-resources">574<h2 id="related-resources">

Details

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

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

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

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

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

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

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


64| `--add-dir` | Adicionar diretórios de trabalho adicionais para Claude ler e editar arquivos. Concede acesso a arquivos; Claude Code [não descobre](/docs/pt/permissions#additional-directories-grant-file-access-not-configuration) a maioria da configuração `.claude/` desses diretórios. Valida se cada caminho existe como um diretório. Você não pode adicionar a maioria dos [caminhos de rede](/docs/pt/errors#working-directory-is-a-network-path), como `\\server\share`. Para persistir esses diretórios entre sessões, defina [`permissions.additionalDirectories`](/docs/pt/settings-reference#permissions-additionaldirectories) nas configurações | `claude --add-dir ../apps ../lib` |64| `--add-dir` | Adicionar diretórios de trabalho adicionais para Claude ler e editar arquivos. Concede acesso a arquivos; Claude Code [não descobre](/docs/pt/permissions#additional-directories-grant-file-access-not-configuration) a maioria da configuração `.claude/` desses diretórios. Valida se cada caminho existe como um diretório. Você não pode adicionar a maioria dos [caminhos de rede](/docs/pt/errors#working-directory-is-a-network-path), como `\\server\share`. Para persistir esses diretórios entre sessões, defina [`permissions.additionalDirectories`](/docs/pt/settings-reference#permissions-additionaldirectories) nas configurações | `claude --add-dir ../apps ../lib` |

65| `--advisor <model>` | Ativar a [ferramenta advisor](/docs/pt/advisor) do lado do servidor para esta sessão com um alias de modelo, `fable`, `opus` ou `sonnet`, ou um ID de modelo completo. Tem precedência sobre a configuração `advisorModel` para a sessão. `fable` requer [acesso a Fable](/docs/pt/advisor#choose-an-advisor-model) | `claude --advisor opus` |65| `--advisor <model>` | Ativar a [ferramenta advisor](/docs/pt/advisor) do lado do servidor para esta sessão com um alias de modelo, `fable`, `opus` ou `sonnet`, ou um ID de modelo completo. Tem precedência sobre a configuração `advisorModel` para a sessão. `fable` requer [acesso a Fable](/docs/pt/advisor#choose-an-advisor-model) | `claude --advisor opus` |

66| `--agent` | Especificar um agente para a sessão atual (substitui a configuração `agent`) | `claude --agent my-custom-agent` |66| `--agent` | Especificar um agente para a sessão atual (substitui a configuração `agent`) | `claude --agent my-custom-agent` |

67| `--agents` | Definir subagents personalizados dinamicamente via JSON. Aceita os [campos listados para subagents definidos via CLI](/docs/pt/sub-agents#choose-the-subagent-scope). Claude Code valida o JSON na inicialização e sai em um valor inválido; veja [`Invalid --agents configuration`](/docs/pt/errors#invalid-agents-configuration) para a mensagem e para os sinalizadores e variável de ambiente que pulam a validação. A validação requer Claude Code v2.1.242 ou posterior | `claude --agents '{"reviewer":{"description":"Reviews code","prompt":"You are a code reviewer"}}'` |67| `--agents` | Definir subagents personalizados dinamicamente via JSON. Aceita os [campos listados para subagents definidos via CLI](/docs/pt/sub-agents#choose-the-subagent-scope). Com `--print`, o valor pode ser o caminho para um arquivo JSON contendo o objeto; a forma de arquivo requer Claude Code v2.1.281 ou posterior. Claude Code valida o valor na inicialização e sai em um valor inválido; veja [`Invalid --agents configuration`](/docs/pt/errors#invalid-agents-configuration) para a mensagem e para os sinalizadores e variável de ambiente que pulam a validação. A validação requer Claude Code v2.1.242 ou posterior | `claude --agents '{"reviewer":{"description":"Reviews code","prompt":"You are a code reviewer"}}'` |

68| `--allow-dangerously-skip-permissions` | Adicionar `bypassPermissions` ao ciclo de modo `Shift+Tab` sem iniciar nele. Permite começar em um modo diferente como `plan` e mudar para `bypassPermissions` depois. Veja [modos de permissão](/docs/pt/permission-modes#skip-all-checks-with-bypasspermissions-mode) | `claude --permission-mode plan --allow-dangerously-skip-permissions` |68| `--allow-dangerously-skip-permissions` | Adicionar `bypassPermissions` ao ciclo de modo `Shift+Tab` sem iniciar nele. Permite começar em um modo diferente como `plan` e mudar para `bypassPermissions` depois. Veja [modos de permissão](/docs/pt/permission-modes#skip-all-checks-with-bypasspermissions-mode) | `claude --permission-mode plan --allow-dangerously-skip-permissions` |

69| `--allowedTools`, `--allowed-tools` | Ferramentas que executam sem solicitar permissão. Veja [sintaxe de regra de permissão](/docs/pt/settings-reference#permission-rule-syntax) para correspondência de padrões. Para restringir quais ferramentas estão disponíveis, use `--tools` em vez disso. Se você nomear uma das [ferramentas de rastreamento de tarefas](/docs/pt/tools-reference#task-tool-availability) aqui, Claude Code também ativa a sessão | `"Bash(git log *)" "Bash(git diff *)" "Read"` |69| `--allowedTools`, `--allowed-tools` | Ferramentas que executam sem solicitar permissão. Veja [sintaxe de regra de permissão](/docs/pt/settings-reference#permission-rule-syntax) para correspondência de padrões. Para restringir quais ferramentas estão disponíveis, use `--tools` em vez disso. Se você nomear uma das [ferramentas de rastreamento de tarefas](/docs/pt/tools-reference#task-tool-availability) aqui, Claude Code também ativa a sessão | `"Bash(git log *)" "Bash(git diff *)" "Read"` |

70| `--append-subagent-system-prompt` | Anexar texto personalizado ao final do prompt do sistema de cada [subagent](/docs/pt/sub-agents), incluindo subagents aninhados, exceto um [subagent bifurcado](/docs/pt/sub-agents#fork-the-current-conversation), que reutiliza o prompt da conversa. Aplica-se apenas em modo não interativo com `-p`. Requer Claude Code v2.1.205 ou posterior | `claude -p --append-subagent-system-prompt "Cite file paths in every answer" "query"` |70| `--append-subagent-system-prompt` | Anexar texto personalizado ao final do prompt do sistema de cada [subagent](/docs/pt/sub-agents), incluindo subagents aninhados, exceto um [subagent bifurcado](/docs/pt/sub-agents#fork-the-current-conversation), que reutiliza o prompt da conversa. Aplica-se apenas em modo não interativo com `-p`. Requer Claude Code v2.1.205 ou posterior | `claude -p --append-subagent-system-prompt "Cite file paths in every answer" "query"` |


75| `--ax-screen-reader` | Renderizar saída amigável ao leitor de tela: texto simples sem bordas decorativas ou animações. Força o renderizador clássico, portanto a configuração [`tui`](/docs/pt/settings-reference#tui) não tem efeito; [sessões de fundo](/docs/pt/agent-view) anexadas ainda renderizam em tela cheia. Tem precedência sobre [`CLAUDE_AX_SCREEN_READER`](/docs/pt/env-vars) e a configuração [`axScreenReader`](/docs/pt/settings-reference#axscreenreader). Requer Claude Code v2.1.181 ou posterior | `claude --ax-screen-reader` |75| `--ax-screen-reader` | Renderizar saída amigável ao leitor de tela: texto simples sem bordas decorativas ou animações. Força o renderizador clássico, portanto a configuração [`tui`](/docs/pt/settings-reference#tui) não tem efeito; [sessões de fundo](/docs/pt/agent-view) anexadas ainda renderizam em tela cheia. Tem precedência sobre [`CLAUDE_AX_SCREEN_READER`](/docs/pt/env-vars) e a configuração [`axScreenReader`](/docs/pt/settings-reference#axscreenreader). Requer Claude Code v2.1.181 ou posterior | `claude --ax-screen-reader` |

76| `--bare` | Modo mínimo: pular auto-descoberta de hooks, skills, comandos personalizados, subagents, plugins, servidores MCP, memória automática e CLAUDE.md para que chamadas com script iniciem mais rapidamente. Skills em um diretório que você passa com `--add-dir` ainda carregam. Claude tem acesso a ferramentas Bash, leitura de arquivo e edição de arquivo. Define [`CLAUDE_CODE_SIMPLE`](/docs/pt/env-vars). Veja [modo bare](/docs/pt/headless#start-faster-with-bare-mode) | `claude --bare -p "query"` |76| `--bare` | Modo mínimo: pular auto-descoberta de hooks, skills, comandos personalizados, subagents, plugins, servidores MCP, memória automática e CLAUDE.md para que chamadas com script iniciem mais rapidamente. Skills em um diretório que você passa com `--add-dir` ainda carregam. Claude tem acesso a ferramentas Bash, leitura de arquivo e edição de arquivo. Define [`CLAUDE_CODE_SIMPLE`](/docs/pt/env-vars). Veja [modo bare](/docs/pt/headless#start-faster-with-bare-mode) | `claude --bare -p "query"` |

77| `--betas` | Cabeçalhos beta para incluir em solicitações de API (apenas usuários de chave de API) | `claude --betas interleaved-thinking` |77| `--betas` | Cabeçalhos beta para incluir em solicitações de API (apenas usuários de chave de API) | `claude --betas interleaved-thinking` |

78| `--bg`, `--background` | Iniciar a sessão como um [agente de fundo](/docs/pt/agent-view) e retornar imediatamente. Imprime o ID da sessão e comandos de gerenciamento. Combine com `--exec` para executar um comando shell como um trabalho de fundo em vez de uma sessão Claude, ou com `--agent` para executar um subagent específico. Não pode ser combinado com `-p`/`--print`; veja a [referência de erro](/docs/pt/errors#command-line-errors) | `claude --bg "investigate the flaky test"` |78| `--bg`, `--background` | Iniciar a sessão como um [agente de fundo](/docs/pt/agent-view) e retornar imediatamente. Imprime o ID da sessão e comandos de gerenciamento. Combine com `--exec` para executar um comando shell como um trabalho de fundo em vez de uma sessão Claude, ou com `--agent` para executar um subagent específico. Verifica [confiança do workspace](/docs/pt/permissions#project-allow-rules-and-workspace-trust) para o diretório antes de iniciar. Não pode ser combinado com `-p`/`--print`; veja a [referência de erro](/docs/pt/errors#command-line-errors) | `claude --bg "investigate the flaky test"` |

79| `--channels` | (Visualização de pesquisa) Servidores MCP cujas notificações de [channel](/docs/pt/channels) Claude deve ouvir nesta sessão. Lista separada por espaço de entradas `plugin:<name>@<marketplace>`. Requer autenticação Anthropic através de claude.ai ou uma chave de API do Console | `claude --channels plugin:my-notifier@my-marketplace` |79| `--channels` | (Visualização de pesquisa) Servidores MCP cujas notificações de [channel](/docs/pt/channels) Claude deve ouvir nesta sessão. Lista separada por espaço de entradas `plugin:<name>@<marketplace>`. Requer autenticação Anthropic através de claude.ai ou uma chave de API do Console | `claude --channels plugin:my-notifier@my-marketplace` |

80| `--chrome` | Ativar [integração do navegador Chrome](/docs/pt/chrome) para automação web e testes | `claude --chrome` |80| `--chrome` | Ativar [integração do navegador Chrome](/docs/pt/chrome) para automação web e testes | `claude --chrome` |

81| `--cloud` | Com uma descrição de tarefa, criar uma nova [sessão web](/docs/pt/claude-code-on-the-web). Com um ID de sessão (`session_...` ou `cse_...`) ou uma URL claude.ai/code, enfileirar uma mensagem nessa sessão existente em vez disso, com `-p`. Veja [enviar uma mensagem de acompanhamento](/docs/pt/claude-code-on-the-web#send-follow-ups-from-the-cli). | `claude --cloud "Fix the login bug"` |81| `--cloud` | Com uma descrição de tarefa, criar uma nova [sessão web](/docs/pt/claude-code-on-the-web). Com um ID de sessão (`session_...` ou `cse_...`) ou uma URL claude.ai/code, enfileirar uma mensagem nessa sessão existente em vez disso, com `-p`. Veja [enviar uma mensagem de acompanhamento](/docs/pt/claude-code-on-the-web#send-follow-ups-from-the-cli). | `claude --cloud "Fix the login bug"` |


89| `--effort` | Definir o [nível de esforço](/docs/pt/model-config#adjust-effort-level) para a sessão atual. Opções: `low`, `medium`, `high`, `xhigh`, `max` ou `ultracode`. Os níveis disponíveis dependem do modelo. `ultracode` inicia a sessão em esforço `xhigh` com [ultracode](/docs/pt/workflows#let-claude-decide-with-ultracode) ativado e requer Claude Code v2.1.203 ou posterior. Substitui as configurações [`modelSettings`](/docs/pt/settings-reference#modelsettings) e [`effortLevel`](/docs/pt/settings-reference#effortlevel) para esta sessão e não persiste | `claude --effort high` |89| `--effort` | Definir o [nível de esforço](/docs/pt/model-config#adjust-effort-level) para a sessão atual. Opções: `low`, `medium`, `high`, `xhigh`, `max` ou `ultracode`. Os níveis disponíveis dependem do modelo. `ultracode` inicia a sessão em esforço `xhigh` com [ultracode](/docs/pt/workflows#let-claude-decide-with-ultracode) ativado e requer Claude Code v2.1.203 ou posterior. Substitui as configurações [`modelSettings`](/docs/pt/settings-reference#modelsettings) e [`effortLevel`](/docs/pt/settings-reference#effortlevel) para esta sessão e não persiste | `claude --effort high` |

90| `--enable-auto-mode` | Removido em v2.1.111. Auto mode agora está no ciclo `Shift+Tab` por padrão; use `--permission-mode auto` para iniciar nele | `claude --permission-mode auto` |90| `--enable-auto-mode` | Removido em v2.1.111. Auto mode agora está no ciclo `Shift+Tab` por padrão; use `--permission-mode auto` para iniciar nele | `claude --permission-mode auto` |

91| `--environment <environment-id>` | Criar uma nova sessão em nuvem que é executada no [ambiente auto-hospedado](/docs/pt/self-hosted-environments) com o ID fornecido. IDs de ambiente começam com `ccpool_`. Veja [comportamento de dispatch de `--environment`](/docs/pt/self-hosted-environments-testing#environment-dispatch-behavior) para comportamento de dispatch e as combinações de sinalizadores que ele rejeita. Requer Claude Code v2.1.224 ou posterior | `claude -p "Fix the login bug" --environment ccpool_abc123` |91| `--environment <environment-id>` | Criar uma nova sessão em nuvem que é executada no [ambiente auto-hospedado](/docs/pt/self-hosted-environments) com o ID fornecido. IDs de ambiente começam com `ccpool_`. Veja [comportamento de dispatch de `--environment`](/docs/pt/self-hosted-environments-testing#environment-dispatch-behavior) para comportamento de dispatch e as combinações de sinalizadores que ele rejeita. Requer Claude Code v2.1.224 ou posterior | `claude -p "Fix the login bug" --environment ccpool_abc123` |

92| `--exclude-dynamic-system-prompt-sections` | Mover seções por máquina do prompt do sistema (diretório de trabalho, informações de ambiente, caminhos de memória, sinalizador de repositório git) para a primeira mensagem do usuário. Melhora a reutilização de prompt-cache em diferentes usuários e máquinas executando a mesma tarefa. Aplica-se apenas com o prompt do sistema padrão; ignorado quando `--system-prompt` ou `--system-prompt-file` está definido. Use com `-p` para cargas de trabalho com script e multi-usuário | `claude -p --exclude-dynamic-system-prompt-sections "query"` |92| `--exclude-dynamic-system-prompt-sections` | Mover contexto por usuário, como a localização de memória automática, para fora do prompt do sistema e para a primeira mensagem do usuário. Melhora a reutilização de prompt-cache em diferentes usuários e máquinas executando a mesma tarefa. Aplica-se apenas com o prompt do sistema padrão; ignorado quando `--system-prompt` ou `--system-prompt-file` está definido. Use com `-p` para cargas de trabalho com script e multi-usuário | `claude -p --exclude-dynamic-system-prompt-sections "query"` |

93| `--exec` | Executar um comando shell como um trabalho de fundo com suporte PTY em vez de iniciar uma sessão Claude. Use com `--bg` para iniciar a partir do shell | `claude --bg --exec 'pytest -x'` |93| `--exec` | Executar um comando shell como um trabalho de fundo com suporte PTY em vez de iniciar uma sessão Claude. Use com `--bg` para iniciar a partir do shell | `claude --bg --exec 'pytest -x'` |

94| `--fallback-model` | Ativar fallback automático para o(s) modelo(s) especificado(s) quando o modelo primário está sobrecarregado ou não está disponível, por exemplo um modelo descontinuado. Aceita uma lista separada por vírgula tentada em ordem. Veja [Cadeias de modelo fallback](/docs/pt/model-config#fallback-model-chains). Para persistir uma cadeia entre sessões, use a configuração [`fallbackModel`](/docs/pt/settings-reference#fallbackmodel), que este sinalizador substitui | `claude --fallback-model sonnet,haiku` |94| `--fallback-model` | Ativar fallback automático para o(s) modelo(s) especificado(s) quando o modelo primário está sobrecarregado ou não está disponível, por exemplo um modelo descontinuado. Aceita uma lista separada por vírgula tentada em ordem. Veja [Cadeias de modelo fallback](/docs/pt/model-config#fallback-model-chains). Para persistir uma cadeia entre sessões, use a configuração [`fallbackModel`](/docs/pt/settings-reference#fallbackmodel), que este sinalizador substitui | `claude --fallback-model sonnet,haiku` |

95| `--fork-session` | Ao retomar, criar um novo ID de sessão em vez de reutilizar o original (use com `--resume` ou `--continue`) | `claude --resume abc123 --fork-session` |95| `--fork-session` | Ao retomar, criar um novo ID de sessão em vez de reutilizar o original (use com `--resume` ou `--continue`) | `claude --resume abc123 --fork-session` |


127| `--resume`, `-r` | Retomar uma sessão específica por ID ou nome, ou mostrar um seletor interativo para escolher uma sessão. No lugar de um ID, você pode passar o caminho absoluto para o arquivo de [transcrição](/docs/pt/sessions#where-transcripts-are-stored) `.jsonl` de uma sessão. O seletor e a busca por nome incluem sessões que adicionaram este diretório com `/add-dir`. Quando você passa um ID de sessão, Claude Code pesquisa o diretório do projeto atual e seus git worktrees, depois todos os outros projetos nesta máquina. Antes de v2.1.223, a busca de ID cobria apenas o diretório do projeto atual e seus git worktrees. [Sessões de fundo](/docs/pt/agent-view) aparecem no seletor marcadas com `bg` | `claude --resume auth-refactor` |127| `--resume`, `-r` | Retomar uma sessão específica por ID ou nome, ou mostrar um seletor interativo para escolher uma sessão. No lugar de um ID, você pode passar o caminho absoluto para o arquivo de [transcrição](/docs/pt/sessions#where-transcripts-are-stored) `.jsonl` de uma sessão. O seletor e a busca por nome incluem sessões que adicionaram este diretório com `/add-dir`. Quando você passa um ID de sessão, Claude Code pesquisa o diretório do projeto atual e seus git worktrees, depois todos os outros projetos nesta máquina. Antes de v2.1.223, a busca de ID cobria apenas o diretório do projeto atual e seus git worktrees. [Sessões de fundo](/docs/pt/agent-view) aparecem no seletor marcadas com `bg` | `claude --resume auth-refactor` |

128| `--safe-mode` | Iniciar com todas as personalizações desativadas para solucionar problemas de uma configuração quebrada: CLAUDE.md, skills, plugins, hooks, servidores MCP, comandos e agentes personalizados, estilos de saída, workflows, temas personalizados, atalhos de teclado personalizados, comandos de linha de status e sugestão de arquivo, servidores LSP e memória automática não carregam. Autenticação, seleção de modelo, ferramentas integradas e permissões funcionam normalmente, o que difere de [`--bare`](/docs/pt/headless#start-faster-with-bare-mode). A política de configurações gerenciadas ainda se aplica, incluindo hooks configurados por política, linha de status e comandos de sugestão de arquivo; plugins gerenciados, skills gerenciadas, CLAUDE.md gerenciado e servidores MCP configurados por política não. Útil para verificar se uma personalização é o que dispara [fallback automático de modelo](/docs/pt/model-config#automatic-model-fallback). Define [`CLAUDE_CODE_SAFE_MODE`](/docs/pt/env-vars) | `claude --safe-mode` |128| `--safe-mode` | Iniciar com todas as personalizações desativadas para solucionar problemas de uma configuração quebrada: CLAUDE.md, skills, plugins, hooks, servidores MCP, comandos e agentes personalizados, estilos de saída, workflows, temas personalizados, atalhos de teclado personalizados, comandos de linha de status e sugestão de arquivo, servidores LSP e memória automática não carregam. Autenticação, seleção de modelo, ferramentas integradas e permissões funcionam normalmente, o que difere de [`--bare`](/docs/pt/headless#start-faster-with-bare-mode). A política de configurações gerenciadas ainda se aplica, incluindo hooks configurados por política, linha de status e comandos de sugestão de arquivo; plugins gerenciados, skills gerenciadas, CLAUDE.md gerenciado e servidores MCP configurados por política não. Útil para verificar se uma personalização é o que dispara [fallback automático de modelo](/docs/pt/model-config#automatic-model-fallback). Define [`CLAUDE_CODE_SAFE_MODE`](/docs/pt/env-vars) | `claude --safe-mode` |

129| `--session-id` | Usar um ID de sessão específico para a conversa (deve ser um UUID válido) | `claude --session-id "550e8400-e29b-41d4-a716-446655440000"` |129| `--session-id` | Usar um ID de sessão específico para a conversa (deve ser um UUID válido) | `claude --session-id "550e8400-e29b-41d4-a716-446655440000"` |

130| `--setting-sources` | Lista separada por vírgula de fontes de configuração a carregar (`user`, `project`, `local`) | `claude --setting-sources user,project` |130| `--setting-sources` | Lista separada por vírgula de fontes de configuração a carregar (`user`, `project`, `local`). Veja [agent view](/docs/pt/agent-view#what-carries-over-when-you-background) e [agent teams](/docs/pt/agent-teams#context-and-communication) para as sessões que você inicia a partir desta que herdam a lista | `claude --setting-sources user,project` |

131| `--settings` | Caminho para um arquivo JSON de configurações ou uma string JSON para carregar configurações adicionais. Os valores que você define aqui substituem as mesmas chaves em seus arquivos `settings.json` para esta sessão. As chaves que você omite mantêm seus valores baseados em arquivo. O arquivo deve ser um arquivo regular com no máximo 2 MiB. Veja [precedência de configurações](/docs/pt/settings#settings-precedence) | `claude --settings ./settings.json` |131| `--settings` | Caminho para um arquivo JSON de configurações ou uma string JSON para carregar configurações adicionais. Os valores que você define aqui substituem as mesmas chaves em seus arquivos `settings.json` para esta sessão. As chaves que você omite mantêm seus valores baseados em arquivo. O arquivo deve ser um arquivo regular com no máximo 2 MiB. Veja [precedência de configurações](/docs/pt/settings#settings-precedence) | `claude --settings ./settings.json` |

132| `--strict-mcp-config` | Usar apenas servidores MCP de `--mcp-config`, ignorando todas as outras configurações de MCP. Veja [Controle exclusivo com managed-mcp.json](/docs/pt/managed-mcp#exclusive-control-with-managed-mcp-json) para o que o sinalizador faz sob um arquivo MCP gerenciado | `claude --strict-mcp-config --mcp-config ./mcp.json` |132| `--strict-mcp-config` | Usar apenas servidores MCP de `--mcp-config`, ignorando todas as outras configurações de MCP. Veja [Controle exclusivo com managed-mcp.json](/docs/pt/managed-mcp#exclusive-control-with-managed-mcp-json) para o que o sinalizador faz sob um arquivo MCP gerenciado | `claude --strict-mcp-config --mcp-config ./mcp.json` |

133| `--system-prompt` | Substituir todo o prompt do sistema por texto personalizado | `claude --system-prompt "You are a Python expert"` |133| `--system-prompt` | Substituir todo o prompt do sistema por texto personalizado | `claude --system-prompt "You are a Python expert"` |

Details

281 O que está disponível em sessões na nuvem281 O que está disponível em sessões na nuvem

282</h2>282</h2>

283 283 

284Em ambientes hospedados pela Anthropic, cada sessão obtém uma máquina virtual (VM) fresca executando Ubuntu 24.04 em x86\_64, independentemente de seu próprio sistema operacional e arquitetura de CPU, com seu repositório clonado e cadeias de ferramentas comuns pré-instaladas. Quando uma dependência fornece binários pré-compilados, como gems Ruby com extensões nativas ou wheels Python pré-construídos, use sua compilação x86\_64 Linux para corresponder à VM. Esta seção cobre os padrões hospedados pela Anthropic, as ferramentas GitHub integradas, como [executar testes e serviços](#run-tests-start-services-and-add-packages) e os [limites de recursos](#resource-limits) que cada VM obtém.284Em ambientes hospedados pela Anthropic, cada sessão obtém uma máquina virtual (VM) fresca executando Ubuntu 24.04 em x86\_64, independentemente de seu próprio sistema operacional e arquitetura de CPU, com seu repositório clonado e cadeias de ferramentas comuns pré-instaladas. Quando uma dependência fornece binários pré-compilados, como gems Ruby com extensões nativas ou wheels Python pré-construídos, use sua compilação x86\_64 Linux para corresponder à VM. Esta seção cobre os padrões hospedados pela Anthropic, as ferramentas GitHub integradas, como [executar testes e serviços](#run-tests-start-services-and-add-packages), os [limites de recursos](#resource-limits) que cada VM obtém, e os [limites de tempo](#time-limits) em trabalhos de longa duração.

285 285 

286<Note>286<Note>

287 As sessões que sua organização roteia para um [ambiente auto-hospedado](/docs/pt/self-hosted-environments) são executadas em seus próprios executores em vez disso, com as ferramentas que sua imagem de executor fornece.287 As sessões que sua organização roteia para um [ambiente auto-hospedado](/docs/pt/self-hosted-environments) são executadas em seus próprios executores em vez disso, com as ferramentas que sua imagem de executor fornece.


421 421 

422A VM pode parar tarefas que precisam significativamente mais memória, como grandes trabalhos de compilação ou testes com uso intensivo de memória. Para cargas de trabalho além desses limites, use [Remote Control](/docs/pt/remote-control) para executar Claude Code em seu próprio hardware, ou execute sessões na nuvem em um [ambiente auto-hospedado](/docs/pt/self-hosted-environments) em computação que sua organização opera.422A VM pode parar tarefas que precisam significativamente mais memória, como grandes trabalhos de compilação ou testes com uso intensivo de memória. Para cargas de trabalho além desses limites, use [Remote Control](/docs/pt/remote-control) para executar Claude Code em seu próprio hardware, ou execute sessões na nuvem em um [ambiente auto-hospedado](/docs/pt/self-hosted-environments) em computação que sua organização opera.

423 423 

424<h3 id="time-limits">

425 Limites de tempo

426</h3>

427 

428Em ambientes hospedados pela Anthropic, estes limites de tempo se aplicam a trabalhos de longa duração em uma sessão na nuvem, como uma compilação, uma instalação ou uma execução de teste. Cada entrada vincula à seção que define o limite.

429 

430* **Comandos que Claude executa**: um ambiente na nuvem não define seu próprio timeout de comando, portanto os padrões da ferramenta Bash se aplicam. Claude aguarda 2 minutos por um comando por padrão e pode pedir até 10 minutos. Quando um comando atinge seu [timeout](/docs/pt/tools-reference#timeout-and-output-limits), Claude Code [o move para o background](/docs/pt/tools-reference#background-commands) em vez de pará-lo, a menos que o comando comece com `sleep`.

431* **Hooks SessionStart**: Claude Code cancela um hook `command` após 600 segundos a menos que você defina [`timeout`](/docs/pt/hooks#common-fields), em segundos, na entrada do hook. Claude Code não aplica o timeout em um hook que você executa com [`async: true`](/docs/pt/hooks#run-hooks-in-the-background).

432* **Script de configuração**: um script que leva mais tempo do que aproximadamente cinco minutos não é armazenado em cache. [Requisitos de script](#script-requirements) cobre como ficar abaixo disso.

433* **Sessões inativas**: uma sessão para após um período de inatividade e sua VM é recuperada. [Environment expired](/docs/pt/claude-code-on-the-web#environment-expired) cobre o que conta como inativo e como reabrir a sessão.

434 

435Para aumentar os timeouts de comando para as sessões de um ambiente, adicione [`BASH_DEFAULT_TIMEOUT_MS` e `BASH_MAX_TIMEOUT_MS`](/docs/pt/env-vars#variables) às suas [variáveis de ambiente](#set-environment-variables). Ambas levam milissegundos. Por exemplo, `BASH_DEFAULT_TIMEOUT_MS=600000` faz 10 minutos o padrão.

436 

424<h2 id="setup-scripts">437<h2 id="setup-scripts">

425 Scripts de configuração438 Scripts de configuração

426</h2>439</h2>


445Um script de configuração tem três restrições para trabalhar:458Um script de configuração tem três restrições para trabalhar:

446 459 

447* **Saia com zero**: se o script sair com não-zero, a sessão falha ao iniciar. Anexe `|| true` a comandos não críticos para que uma falha de instalação intermitente não bloqueie a sessão.460* **Saia com zero**: se o script sair com não-zero, a sessão falha ao iniciar. Anexe `|| true` a comandos não críticos para que uma falha de instalação intermitente não bloqueie a sessão.

448* **Termine em cinco minutos**: mantenha o tempo de execução total do script em aproximadamente cinco minutos para que o [cache do ambiente](#environment-caching) possa ser construído. Execute instalações independentes em paralelo com `&` e `wait`, e mova qualquer download único que não se encaixe em um [hook SessionStart](#setup-scripts-vs-sessionstart-hooks) que o inicie em segundo plano.461* **Termine em cinco minutos**: mantenha o tempo de execução total do script em aproximadamente cinco minutos para que o [cache do ambiente](#environment-caching) possa ser construído. Quando a configuração leva mais tempo do que isso, o ambiente não é armazenado em cache. Execute instalações independentes em paralelo com `&` e `wait`, e mova qualquer download único que não se encaixe em um [hook SessionStart](#setup-scripts-vs-sessionstart-hooks) que o inicie em segundo plano. Se novas sessões travam ou expiram durante a configuração, veja [Novas sessões travam ou expiram durante a configuração](/docs/pt/web-quickstart#new-sessions-hang-or-time-out-during-setup).

449* **Acesso à rede para instalações**: as instalações de pacotes precisam alcançar registros. O nível **Trusted** padrão cobre [registros de pacotes comuns](#default-allowed-domains) incluindo npm, PyPI, RubyGems e crates.io; com acesso à rede **None**, as instalações falham.462* **Acesso à rede para instalações**: as instalações de pacotes precisam alcançar registros. O nível **Trusted** padrão cobre [registros de pacotes comuns](#default-allowed-domains) incluindo npm, PyPI, RubyGems e crates.io; com acesso à rede **None**, as instalações falham.

450 463 

451<h3 id="environment-caching">464<h3 id="environment-caching">

452 Cache do ambiente465 Cache do ambiente

453</h3>466</h3>

454 467 

455O script de configuração é executado na primeira vez que você inicia uma sessão em um ambiente. Depois que é concluído, a Anthropic tira um snapshot do sistema de arquivos e reutiliza esse snapshot como ponto de partida para sessões posteriores. As novas sessões começam com suas dependências, ferramentas e imagens Docker já no disco, e pulam a etapa do script de configuração. Isso mantém a inicialização rápida mesmo quando o script instala cadeias de ferramentas grandes ou puxa imagens de contêiner.468O script de configuração é executado na primeira vez que você inicia uma sessão em um ambiente. Quando a configuração é concluída em [aproximadamente cinco minutos](#script-requirements), a Anthropic tira um snapshot do sistema de arquivos e reutiliza esse snapshot como ponto de partida para sessões posteriores. As novas sessões começam com suas dependências, ferramentas e imagens Docker já no disco, e pulam a etapa do script de configuração. Isso mantém a inicialização rápida mesmo quando o script instala cadeias de ferramentas grandes ou puxa imagens de contêiner. Se a configuração leva mais tempo do que aproximadamente cinco minutos, o ambiente não é armazenado em cache.

456 469 

457O cache é um snapshot do sistema de arquivos, portanto mantém o que o script de configuração escreve no disco e perde qualquer coisa que estava apenas em execução. Os pacotes que você instala, as imagens Docker que você puxa e os arquivos que você escreve todos se transferem. Um banco de dados que o script iniciou, uma pilha `docker compose up` ou qualquer outro processo em segundo plano não; inicie aqueles por sessão pedindo a Claude ou com um [hook SessionStart](#setup-scripts-vs-sessionstart-hooks).470O cache é um snapshot do sistema de arquivos, portanto mantém o que o script de configuração escreve no disco e perde qualquer coisa que estava apenas em execução. Os pacotes que você instala, as imagens Docker que você puxa e os arquivos que você escreve todos se transferem. Um banco de dados que o script iniciou, uma pilha `docker compose up` ou qualquer outro processo em segundo plano não; inicie aqueles por sessão pedindo a Claude ou com um [hook SessionStart](#setup-scripts-vs-sessionstart-hooks).

458 471 

code-review.md +2 −2

Details

295 Troubleshooting295 Troubleshooting

296</h2>296</h2>

297 297 

298As execuções de revisão são do melhor esforço. Uma execução falhada nunca bloqueia seu PR, mas também não tenta novamente por conta própria. Esta seção cobre como se recuperar de uma execução falhada e onde procurar quando a execução de verificação relata problemas que você não consegue encontrar.298As execuções de revisão são do melhor esforço, e uma execução falhada nunca bloqueia seu PR. Code Review tenta novamente algumas revisões interrompidas por conta própria. Esta seção cobre como executar uma revisão novamente você mesmo e onde procurar quando a execução de verificação relata problemas que você não consegue encontrar.

299 299 

300<h3 id="retrigger-a-failed-or-timed-out-review">300<h3 id="retrigger-a-failed-or-timed-out-review">

301 Retrigger uma revisão falhada ou com tempo limite excedido301 Retrigger uma revisão falhada ou com tempo limite excedido

302</h3>302</h3>

303 303 

304Quando a infraestrutura de revisão atinge um erro interno ou excede seu limite de tempo, a execução de verificação é concluída com um título de **Code review encountered an error** ou **Code review timed out**. A conclusão ainda é neutra, portanto nada bloqueia sua mesclagem, mas nenhuma descoberta é publicada.304Quando uma revisão falha ou excede seu limite de tempo, a execução de verificação é concluída com um título como **Code review failed** ou **Code review timed out**. A conclusão ainda é neutra, portanto nada bloqueia sua mesclagem. A menos que o resumo da execução de verificação diga que uma nova revisão do commit foi enfileirada automaticamente, execute a revisão novamente você mesmo.

305 305 

306Para executar a revisão novamente, comente `@claude review` no PR. Isso inicia uma revisão nova sem inscrever o PR em pushes futuros. Se o PR não for [de um fork](#review-pull-requests-from-forks), você pode clicar em **Re-run** na verificação **Claude Code Review** na aba Checks do GitHub. Uma re-execução também inicia uma revisão nova sem inscrever o PR.306Para executar a revisão novamente, comente `@claude review` no PR. Isso inicia uma revisão nova sem inscrever o PR em pushes futuros. Se o PR não for [de um fork](#review-pull-requests-from-forks), você pode clicar em **Re-run** na verificação **Claude Code Review** na aba Checks do GitHub. Uma re-execução também inicia uma revisão nova sem inscrever o PR.

307 307 

commands.md +4 −3

Details

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

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

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

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

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

84| `/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á |84| `/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á |

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

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

87| `/doctor` | **[Skill](/docs/pt/skills#bundled-skills).** Execute uma verificação de configuração que diagnostica problemas e pode corrigi-los. Verifica a saúde da instalação, incluindo instalações duplicadas ou restantes, problemas de `PATH` e arquivos de configuração não analisáveis. Encontra skills, servidores MCP e plugins não utilizados versus seu custo de contexto, sinaliza [hooks](/docs/pt/hooks) lentos e verifica uma versão mais nova no seu [canal de lançamento](/docs/pt/setup#configure-release-channel). Deduplica arquivos `CLAUDE.md` locais contra os verificados, aparas arquivos [`CLAUDE.md`](/docs/pt/memory#my-claude-md-is-too-large) verificados cortando conteúdo que Claude poderia derivar do codebase, e migra a orientação sempre carregada que permanece em [skills](/docs/pt/skills) e arquivos `CLAUDE.md` aninhados que carregam sob demanda. Também oferece fazer [modo automático](/docs/pt/permissions#permission-modes) seu padrão e [pré-aprovar](/docs/pt/permissions) comandos somente leitura frequentemente negados. Relata descobertas primeiro e pede confirmação antes de alterar qualquer coisa. Do terminal, `claude doctor` imprime diagnósticos de instalação somente leitura sem iniciar uma sessão. Alias: `/checkup`. 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 |87| `/doctor [prompt-audit [path]]` | **[Skill](/docs/pt/skills#bundled-skills).** Execute uma verificação de configuração que diagnostica problemas e pode corrigi-los. Verifica a saúde da instalação, incluindo instalações duplicadas ou restantes, problemas de `PATH` e arquivos de configuração não analisáveis. Encontra skills, servidores MCP e plugins não utilizados versus seu custo de contexto, sinaliza [hooks](/docs/pt/hooks) lentos e verifica uma versão mais nova no seu [canal de lançamento](/docs/pt/setup#configure-release-channel). Deduplica arquivos `CLAUDE.md` locais contra os verificados, aparas arquivos [`CLAUDE.md`](/docs/pt/memory#my-claude-md-is-too-large) verificados cortando conteúdo que Claude poderia derivar do codebase, e migra a orientação sempre carregada que permanece em [skills](/docs/pt/skills) e arquivos `CLAUDE.md` aninhados que carregam sob demanda. Também oferece fazer [modo automático](/docs/pt/permissions#permission-modes) seu padrão e [pré-aprovar](/docs/pt/permissions) comandos somente leitura frequentemente negados. Relata descobertas primeiro e pede confirmação antes de alterar qualquer coisa. Do terminal, `claude doctor` imprime diagnósticos de instalação somente leitura sem iniciar uma sessão. Alias: `/checkup`. Execute `/doctor prompt-audit` para ter Claude [auditar seus arquivos `CLAUDE.md`, skills e outras configurações](/docs/pt/memory#write-effective-instructions) 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 |

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

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

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

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


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

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

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

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

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

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

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

Details

230*Fable* é o modelo mais230*Fable* é o modelo mais

231capaz para suas tarefas mais difíceis e de longa duração; não é o231capaz para suas tarefas mais difíceis e de longa duração; não é o

232padrão, então selecione-o com `/model fable`, e observe que conteúdo de cibersegurança e232padrão, então selecione-o com `/model fable`, e observe que conteúdo de cibersegurança e

233biologia volta automaticamente para Opus. Opus 5.5 e Opus 5 executam233biologia volta automaticamente para Opus. Opus 5.5, Sonnet 5.5 e

234suas próprias verificações também: conteúdo sinalizado muda para um Opus anterior, exceto234Opus 5 executam suas próprias verificações também: conteúdo sinalizado muda para um modelo anterior

235que conteúdo de biologia sinalizado no Opus 5 é recusado.235na mesma família, exceto que conteúdo de biologia sinalizado no Opus 5 ou Sonnet

2365.5 é recusado.

236 237 

237*Tente agora:* digite `/model` e escolha Sonnet se você ainda não o fez. É238*Tente agora:* digite `/model` e escolha Sonnet se você ainda não o fez. É

238o padrão certo para a maioria das tarefas.239o padrão certo para a maioria das tarefas.


244| - | - |245| - | - |

245| Fable | As tarefas mais difíceis e de longa duração. Apenas com opt-in: selecione com `/model fable`. Conteúdo de cibersegurança ou biologia dispara [fallback automático de modelo para Opus](/docs/pt/model-config#automatic-model-fallback) |246| Fable | As tarefas mais difíceis e de longa duração. Apenas com opt-in: selecione com `/model fable`. Conteúdo de cibersegurança ou biologia dispara [fallback automático de modelo para Opus](/docs/pt/model-config#automatic-model-fallback) |

246| Opus | Refatorações em larga escala, depuração complexa, decisões de arquitetura, mudanças de alto risco. No Opus 5.5 e Opus 5, conteúdo de cibersegurança ou biologia dispara [fallback automático de modelo ou uma recusa](/docs/pt/model-config#automatic-model-fallback) |247| Opus | Refatorações em larga escala, depuração complexa, decisões de arquitetura, mudanças de alto risco. No Opus 5.5 e Opus 5, conteúdo de cibersegurança ou biologia dispara [fallback automático de modelo ou uma recusa](/docs/pt/model-config#automatic-model-fallback) |

247| Sonnet | Trabalho de recursos cotidianos, correções de bugs, testes, documentação, revisão de código. Padrão recomendado. |248| Sonnet | Trabalho de recursos cotidianos, correções de bugs, testes, documentação, revisão de código. Padrão recomendado. No Sonnet 5.5, conteúdo de cibersegurança ou biologia dispara [fallback automático de modelo ou uma recusa](/docs/pt/model-config#automatic-model-fallback) |

248| Haiku | Perguntas rápidas, formatação, edições mecânicas, iteração rápida |249| Haiku | Perguntas rápidas, formatação, edições mecânicas, iteração rápida |

249 250 

250**Vitórias rápidas para tentar primeiro**251**Vitórias rápidas para tentar primeiro**

Details

1632* **Limpe entre tarefas**: execute `/clear` ao mudar para trabalho não relacionado. Conversa antiga ocupa espaço dos arquivos que você precisa em seguida e custa tokens em cada mensagem.1632* **Limpe entre tarefas**: execute `/clear` ao mudar para trabalho não relacionado. Conversa antiga ocupa espaço dos arquivos que você precisa em seguida e custa tokens em cada mensagem.

1633* **Delegue leituras grandes**: envie pesquisa para um [subagent](/docs/pt/sub-agents) para que o conteúdo do arquivo fique em sua janela de contexto, não na sua.1633* **Delegue leituras grandes**: envie pesquisa para um [subagent](/docs/pt/sub-agents) para que o conteúdo do arquivo fique em sua janela de contexto, não na sua.

1634 1634 

1635Se você precisar de uma janela maior em vez de uma conversa menor, modelos Fable, Sonnet 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, 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 é executado com a janela de contexto de 1M e não tem variante `[1m]` para selecionar. Veja [Sonnet 5 context window](/docs/pt/model-config#sonnet-5-context-window) para seus limites de auto-compactação e a exceção do gateway LLM.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 a exceção do gateway LLM.

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

1640 1640 

costs.md +4 −1

Details

359 359 

360O pensamento estendido é habilitado por padrão porque melhora significativamente o desempenho em tarefas complexas de planejamento e raciocínio. Tokens de pensamento são faturados como tokens de saída, e o orçamento padrão pode ser dezenas de milhares de tokens por solicitação dependendo do modelo.360O pensamento estendido é habilitado por padrão porque melhora significativamente o desempenho em tarefas complexas de planejamento e raciocínio. Tokens de pensamento são faturados como tokens de saída, e o orçamento padrão pode ser dezenas de milhares de tokens por solicitação dependendo do modelo.

361 361 

362Para tarefas mais simples onde raciocínio profundo não é necessário, você pode reduzir custos baixando o [nível de esforço](/docs/pt/model-config#adjust-effort-level) com `/effort` ou em `/model`, ou desabilitando pensamento em `/config`. Você não pode desativar pensamento em Opus 5.5 ou nos modelos Fable, que sempre usam pensamento estendido.362Para tarefas mais simples onde raciocínio profundo não é necessário, você pode reduzir custos baixando o [nível de esforço](/docs/pt/model-config#adjust-effort-level) com `/effort` ou em `/model`, ou desabilitando pensamento em `/config`. Você não pode desativar pensamento em Opus 5.5, Sonnet 5.5 ou nos modelos Fable, que sempre usam pensamento estendido.

363 363 

364Em modelos com um [orçamento de pensamento fixo](/docs/pt/model-config#adaptive-reasoning-and-fixed-thinking-budgets), você também pode baixar o orçamento definindo a [variável de ambiente](/docs/pt/env-vars) `MAX_THINKING_TOKENS`, por exemplo `MAX_THINKING_TOKENS=8000`. Modelos de raciocínio adaptativo ignoram orçamentos diferentes de zero, portanto use níveis de esforço lá em vez disso.364Em modelos com um [orçamento de pensamento fixo](/docs/pt/model-config#adaptive-reasoning-and-fixed-thinking-budgets), você também pode baixar o orçamento definindo a [variável de ambiente](/docs/pt/env-vars) `MAX_THINKING_TOKENS`, por exemplo `MAX_THINKING_TOKENS=8000`. Modelos de raciocínio adaptativo ignoram orçamentos diferentes de zero, portanto use níveis de esforço lá em vez disso.

365 365 


369 369 

370Executar testes, buscar documentação ou processar arquivos de log pode consumir contexto significativo. Delegue estes para [subagentes](/docs/pt/sub-agents#isolate-high-volume-operations) para que a saída verbosa permaneça no contexto do subagente enquanto apenas um resumo retorna à sua conversa principal.370Executar testes, buscar documentação ou processar arquivos de log pode consumir contexto significativo. Delegue estes para [subagentes](/docs/pt/sub-agents#isolate-high-volume-operations) para que a saída verbosa permaneça no contexto do subagente enquanto apenas um resumo retorna à sua conversa principal.

371 371 

372O próprio pedido do subagente ainda usa sua cota de uso. Para gastar menos com eles, [escolha um modelo menor para um subagente](/docs/pt/sub-agents#choose-a-model) ou [execute cada subagente em um modelo](/docs/pt/sub-agents#run-every-subagent-on-one-model).

373 

372<h3 id="manage-agent-team-costs">374<h3 id="manage-agent-team-costs">

373 Gerencie custos de equipes de agentes375 Gerencie custos de equipes de agentes

374</h3>376</h3>


416* **Tarefas agendadas**: uma [tarefa agendada](/docs/pt/scheduled-tasks) é executada em seu intervalo mesmo enquanto a sessão está inativa, enviando seu contexto completo cada vez418* **Tarefas agendadas**: uma [tarefa agendada](/docs/pt/scheduled-tasks) é executada em seu intervalo mesmo enquanto a sessão está inativa, enviando seu contexto completo cada vez

417* **Mensagens entre sessões**: Claude Code entrega uma [mensagem de outra de suas sessões](/docs/pt/cross-session-messaging) como um novo turno quando esta sessão fica inativa, enviando seu contexto completo cada vez. Para manter mensagens de entrada em vez de entregá-las, defina [`crossSessionInbound`](/docs/pt/settings-reference#crosssessioninbound) como `hold`419* **Mensagens entre sessões**: Claude Code entrega uma [mensagem de outra de suas sessões](/docs/pt/cross-session-messaging) como um novo turno quando esta sessão fica inativa, enviando seu contexto completo cada vez. Para manter mensagens de entrada em vez de entregá-las, defina [`crossSessionInbound`](/docs/pt/settings-reference#crosssessioninbound) como `hold`

418* **Verificações de objetivo**: enquanto o trabalho em segundo plano mantém um [objetivo](/docs/pt/goal) ativo aguardando, Claude Code [pede ao Claude para verificar esse trabalho](/docs/pt/goal#background-work-defers-evaluation) mesmo quando a sessão fica inativa, iniciando um novo turno que envia seu contexto completo. Claude Code inicia no máximo três verificações inativas por objetivo entre seus prompts. Antes da v2.1.246, as verificações inativas eram ilimitadas. Para desativar as verificações, defina [`CLAUDE_CODE_GOAL_CHECKIN_MINUTES`](/docs/pt/env-vars) como `0`. As verificações inativas exigem Claude Code v2.1.236 ou posterior420* **Verificações de objetivo**: enquanto o trabalho em segundo plano mantém um [objetivo](/docs/pt/goal) ativo aguardando, Claude Code [pede ao Claude para verificar esse trabalho](/docs/pt/goal#background-work-defers-evaluation) mesmo quando a sessão fica inativa, iniciando um novo turno que envia seu contexto completo. Claude Code inicia no máximo três verificações inativas por objetivo entre seus prompts. Antes da v2.1.246, as verificações inativas eram ilimitadas. Para desativar as verificações, defina [`CLAUDE_CODE_GOAL_CHECKIN_MINUTES`](/docs/pt/env-vars) como `0`. As verificações inativas exigem Claude Code v2.1.236 ou posterior

421* **Subagendes e fluxos de trabalho**: cada subagende, e cada agente que um [fluxo de trabalho dinâmico](/docs/pt/workflows#cost) gera, envia suas próprias solicitações além da conversa principal. A [divisão de atribuição](#plan-usage-breakdown) mostra a participação do subagende

419* **Colegas de equipe agentes**: cada [colega de equipe](#agent-team-token-costs) ativo continua consumindo tokens até sair422* **Colegas de equipe agentes**: cada [colega de equipe](#agent-team-token-costs) ativo continua consumindo tokens até sair

420* **Compactação**: `/compact` lê a conversa que resume, então [compactar um contexto grande](/docs/pt/prompt-caching#compacting-the-conversation) é em si uma solicitação grande. Quando você quer um novo começo em vez de continuidade, `/clear` não custa nada423* **Compactação**: `/compact` lê a conversa que resume, então [compactar um contexto grande](/docs/pt/prompt-caching#compacting-the-conversation) é em si uma solicitação grande. Quando você quer um novo começo em vez de continuidade, `/clear` não custa nada

421 424 

Details

14 14 

15Uma mensagem é um pedaço de texto que um Claude escreve para outro, nunca o histórico de conversa ou arquivos do remetente. Para mover uma conversa inteira ou seu contexto, [retome a sessão](/docs/pt/sessions#resume-a-session) em vez disso.15Uma mensagem é um pedaço de texto que um Claude escreve para outro, nunca o histórico de conversa ou arquivos do remetente. Para mover uma conversa inteira ou seu contexto, [retome a sessão](/docs/pt/sessions#resume-a-session) em vez disso.

16 16 

17Claude usa duas ferramentas para isso: `ListAgents` para descobrir quais agentes ele pode alcançar, e `SendMessage` para entregar uma mensagem a um deles pelo nome. Com a mesma ferramenta `SendMessage`, Claude também pode enviar mensagens para [subagentes](/docs/pt/sub-agents#resume-subagents) e colegas de [equipe de agentes](/docs/pt/agent-teams) dentro de uma única sessão ou equipe. Esta página cobre mensagens entre suas sessões independentes.

18 

19<h2 id="when-to-use-cross-session-messaging">17<h2 id="when-to-use-cross-session-messaging">

20 Quando usar cross-session messaging18 Quando usar cross-session messaging

21</h2>19</h2>


27* **Obter status de trabalho de longa duração**: ter uma migração ou execução de teste relatar de volta para a sessão que você está observando, ou pedir você mesmo de lá. Se essa sessão estiver nesta máquina, Claude também pode [pedir a ela um aviso quando ela próxima ficar ociosa ou sair](#get-a-notice-when-another-session-goes-idle).25* **Obter status de trabalho de longa duração**: ter uma migração ou execução de teste relatar de volta para a sessão que você está observando, ou pedir você mesmo de lá. Se essa sessão estiver nesta máquina, Claude também pode [pedir a ela um aviso quando ela próxima ficar ociosa ou sair](#get-a-notice-when-another-session-goes-idle).

28* **Mensagem entre máquinas**: alcance uma de suas sessões em outra máquina ou na nuvem.26* **Mensagem entre máquinas**: alcance uma de suas sessões em outra máquina ou na nuvem.

29 27 

30Use messaging entre sessões independentes que você inicia e direciona você mesmo. Claude Code tem um recurso dedicado para cada uma das outras maneiras de executar ou alcançar múltiplas sessões, então use o construído para o que você está fazendo em vez disso:

31 

32* Para continuar uma conversa em outro terminal, ou compartilhar seu contexto com uma nova sessão, [retome a sessão](/docs/pt/sessions#resume-a-session)

33* Para uma equipe coordenada de sessões que Claude gera e supervisiona, use [equipes de agentes](/docs/pt/agent-teams)

34* Para observar e direcionar muitas sessões de um lugar, use [visualização de agentes](/docs/pt/agent-view)

35* Para direcionar uma sessão você mesmo do seu telefone ou outro dispositivo, em vez de ter sessões se enviando mensagens, use [Controle Remoto](/docs/pt/remote-control)

36* Para enviar eventos externos, como resultados de CI ou mensagens de chat, para uma sessão, use [canais](/docs/pt/channels)

37 

38<h2 id="message-another-session">28<h2 id="message-another-session">

39 Mensagem para outra sessão29 Mensagem para outra sessão

40</h2>30</h2>


74 64 

75O Claude receptor lê a mensagem entre chamadas de ferramenta durante um turno ativo, então uma ferramenta em execução nunca é interrompida. Quando a sessão receptora está ociosa, Claude Code inicia um novo turno com a mensagem.65O Claude receptor lê a mensagem entre chamadas de ferramenta durante um turno ativo, então uma ferramenta em execução nunca é interrompida. Quando a sessão receptora está ociosa, Claude Code inicia um novo turno com a mensagem.

76 66 

77Uma mensagem de outra sessão chega como texto simples. Se mencionar um arquivo ou um [recurso MCP](/docs/pt/mcp#use-mcp-resources) com `@`, Claude vê a menção como escrita e Claude Code não anexa nada, se a mensagem inicia um novo turno ou chega durante um. Claude ainda pode abrir um caminho mencionado na máquina receptora com suas próprias ferramentas, sujeito às permissões dessa sessão. Antes de v2.1.251, uma menção `@` em uma mensagem que iniciou um novo turno anexava o arquivo ou recurso MCP no lado receptor.67Uma mensagem de outra sessão chega como texto simples. Se mencionar um arquivo ou um [recurso MCP](/docs/pt/mcp#use-mcp-resources) com `@`, Claude vê a menção como escrita e Claude Code não anexa nada, se a mensagem inicia um novo turno ou chega durante um. Claude ainda pode abrir um caminho mencionado na máquina receptora com suas próprias ferramentas, sujeito às permissões dessa sessão.

78 68 

79Claude Code recusa uma mensagem nos seguintes casos:69Claude Code recusa uma mensagem nos seguintes casos:

80 70 

81* A mensagem está [acima do limite de tamanho](#limitations). Claude Code a recusa na sessão de envio, antes de sair.71* A mensagem está [acima do limite de tamanho](#limitations). Claude Code a recusa na sessão de envio, antes de sair.

82* Uma rajada rápida para uma sessão nesta máquina atingiu [o que a caixa de entrada dessa sessão aceita](#limitations). Claude Code recusa mais mensagens para essa sessão.72* Uma rajada rápida para uma sessão nesta máquina atingiu [o que a caixa de entrada dessa sessão aceita](#limitations). Claude Code recusa mais mensagens para essa sessão.

83* O alvo de resposta nesta máquina falha em uma verificação de segurança, como um alvo com link simbólico ou um endpoint que não é o processo esperado. [Recusando enviar uma mensagem cross-session](/docs/pt/errors#refusing-to-send-a-cross-session-message) lista essas verificações.73* O alvo de resposta nesta máquina falha em uma verificação de segurança, como um alvo com link simbólico ou um endpoint que não é o processo esperado. [Recusando enviar uma mensagem cross-session](/docs/pt/errors#refusing-to-send-a-cross-session-message) lista essas verificações.

84* Claude endereça a mensagem ao nome da própria sessão, conforme descrito em [Veja quais sessões Claude pode alcançar](#see-which-sessions-claude-can-reach).

85 74 

86A sessão receptora verifica cada mensagem chegando contra seus próprios [controles de entrada](#control-inbound-messages), e a verificação termina em um dos três resultados:75A sessão receptora verifica cada mensagem chegando contra seus próprios [controles de entrada](#control-inbound-messages), e a verificação termina em um dos três resultados:

87 76 


121 Limites110 Limites

122</h4>111</h4>

123 112 

124O aviso é único: Claude Code o envia uma vez da sessão observada, e nenhuma sessão sonda a outra. Se nenhum aviso chegar dentro de 12 horas, Claude Code descarta a inscrição e diz a Claude, então não fica esperando.113Se nenhum aviso chegar dentro de 12 horas, Claude Code descarta a inscrição e diz a Claude, então não fica esperando.

125 114 

126Os [controles de entrada](#control-inbound-messages) de cada lado se aplicam a um aviso como uma mensagem:115Os [controles de entrada](#control-inbound-messages) de cada lado se aplicam a um aviso como uma mensagem:

127 116 

128* **`refuse` em qualquer lado**: nada chega. A sessão observada descarta a solicitação sem registrar ou responder a ela, então a inscrição expira sem resposta após 12 horas, e uma sessão solicitante com `refuse` nunca se inscreve.117* **`refuse` em qualquer lado**: nada chega. A sessão observada descarta a solicitação sem registrar ou responder a ela, então a inscrição expira sem resposta após 12 horas, e uma sessão solicitante com `refuse` nunca se inscreve.

129* **`hold` em qualquer lado**: o aviso chega com menos. A sessão observada deixa o status de uma linha de fora, e a sessão solicitante mostra o aviso em sua transcrição sem entregá-lo a Claude.118* **`hold` em qualquer lado**: o aviso chega com menos. A sessão observada deixa o status de uma linha de fora, e a sessão solicitante mostra o aviso em sua transcrição sem entregá-lo a Claude.

130 119 

131Apenas o Claude em sua conversa principal pode se inscrever, e apenas para suas sessões nesta máquina. Quando um subagente ou um colega de equipe de agentes define `notify_when_idle`, Claude Code não faz inscrição e diz a ele assim. Quando Claude pede um aviso de qualquer outro agente, como um colega, um subagente ou uma sessão além desta máquina, Claude Code recusa a chamada inteira, incluindo qualquer mensagem anexada a ela, e relata a recusa a Claude para que possa reenviar a mensagem sem a solicitação.120Apenas o Claude em sua conversa principal pode se inscrever, e apenas para suas sessões nesta máquina. Quando Claude pede um aviso de qualquer outro alvo, como um colega, um subagente ou uma sessão além desta máquina, Claude Code recusa a chamada inteira, incluindo qualquer mensagem anexada a ela.

132 121 

133<h3 id="see-which-sessions-claude-can-reach">122<h3 id="see-which-sessions-claude-can-reach">

134 Veja quais sessões Claude pode alcançar123 Veja quais sessões Claude pode alcançar


137Claude encontra o alvo de uma mensagem por conta própria, então você não precisa executar nada antes de pedir que envie. Para ver você mesmo quais sessões Claude pode alcançar, execute o comando `/list-agents`. A primeira linha, quando presente, é o nome da própria sessão, o que suas outras sessões usam para enviá-la mensagem. As linhas abaixo são as sessões que Claude pode alcançar:126Claude encontra o alvo de uma mensagem por conta própria, então você não precisa executar nada antes de pedir que envie. Para ver você mesmo quais sessões Claude pode alcançar, execute o comando `/list-agents`. A primeira linha, quando presente, é o nome da própria sessão, o que suas outras sessões usam para enviá-la mensagem. As linhas abaixo são as sessões que Claude pode alcançar:

138 127 

139* **Subagentes**: agentes executando dentro da sessão atual.128* **Subagentes**: agentes executando dentro da sessão atual.

140* **Colegas**: os próprios colegas de [equipe de agentes](/docs/pt/agent-teams) dessa sessão. Antes de v2.1.239, colegas não apareciam na listagem, embora Claude já pudesse enviá-los mensagem pelo nome.129* **Colegas**: os próprios colegas de [equipe de agentes](/docs/pt/agent-teams) dessa sessão.

141* **Suas outras sessões locais**: sessões Claude Code executando na mesma máquina, incluindo [sessões em background](/docs/pt/agent-view). Uma sessão aparece apenas quando vincula um [socket de caixa de entrada](#the-sessions-inbox-socket).130* **Suas outras sessões locais**: sessões Claude Code executando na mesma máquina, incluindo [sessões em background](/docs/pt/agent-view). Uma sessão aparece apenas quando vincula um [socket de caixa de entrada](#the-sessions-inbox-socket).

142* **Suas sessões na nuvem**: suas sessões [Claude Code na web](/docs/pt/claude-code-on-the-web), mostradas enquanto essa sessão está conectada a [Remote Control](/docs/pt/remote-control). Claude Code as rotula `cloud` na listagem.131* **Suas sessões na nuvem**: suas sessões [Claude Code na web](/docs/pt/claude-code-on-the-web), mostradas enquanto essa sessão está conectada a [Remote Control](/docs/pt/remote-control).

143* **Suas sessões Remote Control em outras máquinas**: mostradas enquanto essa sessão está conectada a [Remote Control](/docs/pt/remote-control), e rotuladas `Remote Control`. Claude Code mostra `offline` como o status de uma sessão cuja conexão Remote Control caiu.132* **Suas sessões Remote Control em outras máquinas**: mostradas enquanto essa sessão está conectada a [Remote Control](/docs/pt/remote-control), e rotuladas `Remote Control`. Claude Code mostra `offline` como o status de uma sessão cuja conexão Remote Control caiu.

144 133 

145Esta sessão não é uma das linhas. Se Claude endereça uma mensagem ao nome da própria sessão, Claude Code a recusa e diz a Claude que o alvo é a sessão atual. Antes de v2.1.239, a listagem não mostrava o nome dessa sessão, e Claude Code relatava uma mensagem enviada a ela como um agente que não conseguia encontrar.

146 

147Enquanto essa sessão está conectada a [Remote Control](/docs/pt/remote-control), Claude Code retém alguns detalhes de suas sessões locais da saída `/list-agents`, sem mudar o que Claude em si vê quando procura uma sessão para enviar mensagem:134Enquanto essa sessão está conectada a [Remote Control](/docs/pt/remote-control), Claude Code retém alguns detalhes de suas sessões locais da saída `/list-agents`, sem mudar o que Claude em si vê quando procura uma sessão para enviar mensagem:

148 135 

149* **Diretórios de trabalho**: deixa de fora o diretório de trabalho de cada sessão local.136* **Diretórios de trabalho**: deixa de fora o diretório de trabalho de cada sessão local.


152 139 

153Quando a saída lista qualquer coisa, termina com uma nota dizendo que detalhes foram retidos. Executar `/rename` seguido de um nome não utilizado em um teclado da própria sessão dá a essa sessão um nome que aparece na saída.140Quando a saída lista qualquer coisa, termina com uma nota dizendo que detalhes foram retidos. Executar `/rename` seguido de um nome não utilizado em um teclado da própria sessão dá a essa sessão um nome que aparece na saída.

154 141 

155Claude Code lê suas listas de sessão na nuvem e Remote Control mais recentes primeiro e para após um número limitado de páginas para cada. Se sua conta tiver mais dessas sessões do que cabem, Claude Code não lista as mais antigas, e Claude não pode enviá-las mensagem pelo nome. Quando isso acontece, Claude Code diz assim na listagem, e Claude vê a mesma nota quando envia uma mensagem.

156 

157Claude endereça uma sessão além desta máquina pelo nome, da mesma forma que uma sessão local. Veja [Mensagem para sessões em outras máquinas](#message-sessions-on-other-machines) para como essas mensagens viajam.

158 

159Uma sessão responde ao nome que você define com o comando [`/rename`](/docs/pt/commands) ou a flag [`--name`](/docs/pt/cli-reference#cli-flags). Quando você não define um, Claude Code nomeia a sessão em si. Para uma sessão interativa, esse é o nome mostrado em [listagens de sessões em execução](/docs/pt/sessions#name-your-sessions).142Uma sessão responde ao nome que você define com o comando [`/rename`](/docs/pt/commands) ou a flag [`--name`](/docs/pt/cli-reference#cli-flags). Quando você não define um, Claude Code nomeia a sessão em si. Para uma sessão interativa, esse é o nome mostrado em [listagens de sessões em execução](/docs/pt/sessions#name-your-sessions).

160 143 

161Quando você renomeia uma sessão, Claude Code também atualiza o registro compartilhado que suas outras sessões usam para procurar o nome da sessão. Se não conseguir atualizar esse registro, avisa você na saída `/rename` que outras sessões ainda podem mostrar o nome antigo. Execute a sessão com [`--debug`](/docs/pt/cli-reference#cli-flags), e Claude Code registra a causa da atualização falhada.

162 

163Quando você renomeia uma sessão, ou inicia ou retoma uma interativa, com um nome que outra sessão ao vivo nesta máquina já usa, Claude Code deixa o nome com a sessão que já o tem e [renomeia o seu para uma variante](/docs/pt/sessions#name-your-sessions). Sessões ainda podem compartilhar um nome, por exemplo quando uma delas executa uma versão anterior de Claude Code ou o nome compartilhado é um que Claude Code gerou. A menos que essa sessão esteja conectada a Remote Control, Claude Code mostra o diretório de trabalho de cada sessão local na saída `/list-agents`, então você pode distinguir sessões com mesmo nome quando executam em diretórios diferentes. Claude endereça a mensagem de uma das duas formas, dependendo de quantas sessões ao vivo respondem ao nome:144Quando você renomeia uma sessão, ou inicia ou retoma uma interativa, com um nome que outra sessão ao vivo nesta máquina já usa, Claude Code deixa o nome com a sessão que já o tem e [renomeia o seu para uma variante](/docs/pt/sessions#name-your-sessions). Sessões ainda podem compartilhar um nome, por exemplo quando uma delas executa uma versão anterior de Claude Code ou o nome compartilhado é um que Claude Code gerou. A menos que essa sessão esteja conectada a Remote Control, Claude Code mostra o diretório de trabalho de cada sessão local na saída `/list-agents`, então você pode distinguir sessões com mesmo nome quando executam em diretórios diferentes. Claude endereça a mensagem de uma das duas formas, dependendo de quantas sessões ao vivo respondem ao nome:

164 145 

165* **Uma sessão responde ao nome**: Claude Code entrega a mensagem apenas no nome.146* **Uma sessão responde ao nome**: Claude Code entrega a mensagem apenas no nome.


177| Em outra de suas máquinas | Através de servidores Anthropic, chegando sobre a conexão [Remote Control](/docs/pt/remote-control) dessa máquina |158| Em outra de suas máquinas | Através de servidores Anthropic, chegando sobre a conexão [Remote Control](/docs/pt/remote-control) dessa máquina |

178| Em [Claude Code na web](/docs/pt/claude-code-on-the-web) | Através de servidores Anthropic, direto para a sessão na nuvem |159| Em [Claude Code na web](/docs/pt/claude-code-on-the-web) | Através de servidores Anthropic, direto para a sessão na nuvem |

179 160 

180Iniciar uma conversa com uma sessão em outra de suas máquinas requer Claude Code v2.1.225 ou posterior e um alvo que [aparece na listagem](#see-which-sessions-claude-can-reach). Antes de v2.1.225, Claude só podia responder a uma mensagem que chegou de uma.161Iniciar uma conversa com uma sessão em outra de suas máquinas requer Claude Code v2.1.225 ou posterior e um alvo que [aparece na listagem](#see-which-sessions-claude-can-reach).

181 

182Você pode enviar mensagem para uma sessão mostrada como `offline` na [listagem](#see-which-sessions-claude-can-reach), uma cuja conexão Remote Control caiu. O envio passa, mas a mensagem chega apenas depois que a máquina dessa sessão se reconecta. Claude é informado disso quando envia.

183 162 

184A entrega na mesma máquina funciona onde quer que o recurso esteja habilitado. Cada sessão se registra em arquivos no disco. Quando Claude lista ou envia mensagem para suas sessões locais, Claude Code lê esses arquivos para encontrar as sessões, então duas sessões podem alcançar uma à outra apenas quando conseguem ver os mesmos arquivos.163Você pode enviar mensagem para uma sessão mostrada como `offline` na [listagem](#see-which-sessions-claude-can-reach), uma cuja conexão Remote Control caiu. O envio passa, mas a mensagem chega apenas depois que a máquina dessa sessão se reconecta.

185 164 

186Um contêiner tem seu próprio sistema de arquivos, então uma sessão dentro dele e uma sessão no host não podem alcançar uma à outra. Duas sessões dentro do mesmo contêiner ainda podem enviar mensagens uma à outra, incluindo em um [executor auto-hospedado](/docs/pt/self-hosted-environments). Uma sessão dentro de WSL 2 e uma sessão Windows nativa no mesmo computador também não podem alcançar uma à outra, porque se registram em diretórios home diferentes e escutam em tipos de socket diferentes.165Uma sessão dentro de um contêiner e uma sessão no host não podem alcançar uma à outra. Duas sessões dentro do mesmo contêiner ainda podem enviar mensagens uma à outra, incluindo em um [executor auto-hospedado](/docs/pt/self-hosted-environments). Uma sessão dentro de WSL 2 e uma sessão Windows nativa no mesmo computador também não podem alcançar uma à outra.

187 166 

188Enquanto essa sessão está conectada a Remote Control, quando você envia mensagem para uma sessão em outra de suas máquinas, Claude Code mostra a mensagem na conversa dessa sessão sob o nome Remote Control dessa sessão. O Claude naquela máquina pode responder a esse nome. Por exemplo, quando essa sessão está conectada a Remote Control como `laptop-graceful-unicorn` e você envia mensagem para seu desktop, você vê a mensagem na sessão desktop sob `laptop-graceful-unicorn`.167Se essa sessão não estiver conectada a Remote Control quando Claude envia para uma sessão além desta máquina, a mensagem ainda passa, mas sem um [endereço de resposta](#what-a-message-looks-like), então o Claude receptor não pode respondê-la.

189 

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

191 168 

192Para exigir sua aprovação antes de qualquer mensagem ir além desta máquina, defina [`isolatePeerMachines`](#require-approval-for-cross-machine-messages).169Para exigir sua aprovação antes de qualquer mensagem ir além desta máquina, defina [`isolatePeerMachines`](#require-approval-for-cross-machine-messages).

193 170 


206 Como uma mensagem parece183 Como uma mensagem parece

207</h3>184</h3>

208 185 

209Quando uma mensagem chega, Claude Code a mostra na conversa como uma prévia de uma linha fraca, e a linha de prévia fica na conversa depois. A prévia carrega o nome do remetente e a primeira linha da mensagem, cortada com `…` quando é longa, como `› Message from @api-worker: Schema migration finished (ctrl+o to expand)`. Antes de v2.1.247, Claude Code mostrava a mensagem chegando em cheio em vez de uma prévia.186Quando uma mensagem chega, Claude Code a mostra na conversa como uma prévia de uma linha fraca, e a linha de prévia fica na conversa depois. A prévia carrega o nome do remetente e a primeira linha da mensagem, cortada com `…` quando é longa, como `› Message from @api-worker: Schema migration finished (ctrl+o to expand)`.

210 187 

211Qualquer um desses mostra o texto completo:188Qualquer um desses mostra o texto completo:

212 189 


215 192 

216A prévia encurta apenas o que você vê. Se você a expande ou não, Claude lê a mensagem completa.193A prévia encurta apenas o que você vê. Se você a expande ou não, Claude lê a mensagem completa.

217 194 

218Claude recebe a mensagem com o nome do remetente e um endereço de resposta, exceto para uma [mensagem cross-machine unidirecional](#message-sessions-on-other-machines), que não carrega endereço de resposta. Além do nome e endereço de resposta, o Claude receptor obtém o texto da mensagem, nunca o histórico de conversa do remetente ou arquivos. [Entrega de mensagem](#message-delivery) cobre menções `@` no texto.195Claude recebe a mensagem com o nome do remetente e um endereço de resposta, exceto para uma [mensagem cross-machine unidirecional](#message-sessions-on-other-machines), que não carrega endereço de resposta.

219 

220Uma mensagem que um [subagente](/docs/pt/sub-agents) escreveu chega sob o nome da sessão de envio, com o subagente identificado no texto da mensagem. Uma resposta a ela alcança a conversa principal dessa sessão, não o subagente.

221 196 

222Este exemplo é uma mensagem que um Claude escreveu para outro, como seu texto completo lê quando você o expande:197Este exemplo é uma mensagem que um Claude escreveu para outro, como seu texto completo lê quando você o expande:

223 198 


254* Quando o diálogo fica sem resposta após o prazo [`dialogExpiry`](/docs/pt/settings-reference#dialogexpiry), Claude Code o fecha e descarta a mensagem. O prazo padrão é cinco minutos.229* Quando o diálogo fica sem resposta após o prazo [`dialogExpiry`](/docs/pt/settings-reference#dialogexpiry), Claude Code o fecha e descarta a mensagem. O prazo padrão é cinco minutos.

255* Enquanto nenhum terminal está anexado a uma [sessão em background](/docs/pt/agent-view), Claude Code deixa o diálogo aberto após o prazo. Depois que você anexa, se o diálogo fica sem resposta por um período de prazo completo, Claude Code o fecha e descarta a mensagem.230* Enquanto nenhum terminal está anexado a uma [sessão em background](/docs/pt/agent-view), Claude Code deixa o diálogo aberto após o prazo. Depois que você anexa, se o diálogo fica sem resposta por um período de prazo completo, Claude Code o fecha e descarta a mensagem.

256* Se a classe de modo de permissão dessa sessão muda enquanto mensagens estão retidas, Claude Code re-aplica as regras de entrada, entrega as mensagens que agora aceita, e mostra um aviso.231* Se a classe de modo de permissão dessa sessão muda enquanto mensagens estão retidas, Claude Code re-aplica as regras de entrada, entrega as mensagens que agora aceita, e mostra um aviso.

257* Se uma mudança de configurações faz `refuse` se aplicar enquanto mensagens estão retidas, Claude Code descarta cada mensagem retida e relata uma recusa a cada remetente que pode alcançar.

258 

259Quando o remetente é uma sessão na mesma máquina, Claude Code envia um aviso de volta para ela quando o receptor retém a mensagem, e um acompanhamento quando o receptor depois entrega, nega ou expira. O aviso alcança o Claude de envio, então ele sabe não continuar esperando por uma mensagem que a outra sessão não leu.

260 

261Em uma sessão de envio interativa, o aviso aparece na transcrição. Um remetente [`claude -p`](/docs/pt/headless) recebe em [saída transmitida](/docs/pt/headless#stream-responses) como uma [mensagem `system` informacional](/docs/pt/agent-sdk/typescript#sdkinformationalmessage). Avisos para remetentes `claude -p` requerem Claude Code v2.1.271 ou posterior.

262 232 

263Se o receptor recusa a mensagem, o aviso do remetente diz que o receptor não está aceitando mensagens cross-session e diz ao Claude do remetente não esperar ou reenviar.233Claude Code retém no máximo 100 mensagens, e além disso descarta a mais antiga.

264 

265Claude Code retém no máximo 100 mensagens, separadamente da fila de entrega, e além disso descarta a mais antiga.

266 234 

267<h3 id="non-interactive-sessions">235<h3 id="non-interactive-sessions">

268 Sessões não-interativas236 Sessões não-interativas


277 245 

278Defina `dialogExpiry` para `"never"` para manter mensagens padrão-retidas até a sessão terminar. Uma mensagem retida por uma configuração `hold` explícita não expira; Claude Code a entrega apenas quando um `accept` depois se aplica.246Defina `dialogExpiry` para `"never"` para manter mensagens padrão-retidas até a sessão terminar. Uma mensagem retida por uma configuração `hold` explícita não expira; Claude Code a entrega apenas quando um `accept` depois se aplica.

279 247 

280Quando a sessão termina com mensagens ainda retidas, Claude Code as relata como expiradas a cada remetente que pode alcançar. Antes de v2.1.225, nenhum prazo se aplicava em uma sessão `-p`: uma mensagem retida ficava retida a menos que uma mudança de modo de permissão durante a execução a entregasse, e uma sessão que terminava com mensagens retidas não relatava nada a seus remetentes.

281 

282Para deixar um worker `-p` receber mensagens desatendido, inicie-o com `crossSessionInbound` definido para `accept` em seu valor `--settings`. Um `accept` em suas configurações de usuário também funciona mas se aplica a cada sessão que você executa.248Para deixar um worker `-p` receber mensagens desatendido, inicie-o com `crossSessionInbound` definido para `accept` em seu valor `--settings`. Um `accept` em suas configurações de usuário também funciona mas se aplica a cada sessão que você executa.

283 249 

284<h3 id="the-sessions-inbox-socket">250<h3 id="the-sessions-inbox-socket">


294* `/status` o mostra na linha `Peer address`. O caminho é prefixado com `uds:`.260* `/status` o mostra na linha `Peer address`. O caminho é prefixado com `uds:`.

295* Claude Code o exporta para [hooks](/docs/pt/hooks) e comandos Bash como a variável de ambiente [`CLAUDE_CODE_MESSAGING_SOCKET`](/docs/pt/env-vars#variables):261* Claude Code o exporta para [hooks](/docs/pt/hooks) e comandos Bash como a variável de ambiente [`CLAUDE_CODE_MESSAGING_SOCKET`](/docs/pt/env-vars#variables):

296 * Em uma sessão que inicia com messaging ativado, Claude Code exporta a variável antes de qualquer hook executar, incluindo `SessionStart`.262 * Em uma sessão que inicia com messaging ativado, Claude Code exporta a variável antes de qualquer hook executar, incluindo `SessionStart`.

297 * Cada sessão exporta seu próprio socket, nunca um herdado de uma sessão pai.

298 263 

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

300 265 


307 272 

308Abra a conexão apenas quando a mensagem que você está postando está pronta. Claude Code fecha uma conexão que não enviou uma linha completa dentro de 30 segundos, então capture a saída de um comando lento primeiro e depois abra a conexão para enviá-la.273Abra a conexão apenas quando a mensagem que você está postando está pronta. Claude Code fecha uma conexão que não enviou uma linha completa dentro de 30 segundos, então capture a saída de um comando lento primeiro e depois abra a conexão para enviá-la.

309 274 

310As [regras own-child](#own-child-messages) abaixo dizem quando Claude Code consulta o token e como trata uma mensagem que não consegue verificar.

311 

312<span id="own-child-messages" />Claude Code executa mensagens chegando no socket através dos mesmos [controles de entrada](#control-inbound-messages) que qualquer outra mensagem peer, com uma exceção e um pré-requisito:275<span id="own-child-messages" />Claude Code executa mensagens chegando no socket através dos mesmos [controles de entrada](#control-inbound-messages) que qualquer outra mensagem peer, com uma exceção e um pré-requisito:

313 276 

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


379* **`/list-agents` funciona mas um envio não chegou**: messaging está ativado, e algo mais estreito se aplica:342* **`/list-agents` funciona mas um envio não chegou**: messaging está ativado, e algo mais estreito se aplica:

380 * **Regras de negação**: uma [regra de negação de permissão](#turn-off-cross-session-messaging) remove as ferramentas `SendMessage` e `ListAgents`.343 * **Regras de negação**: uma [regra de negação de permissão](#turn-off-cross-session-messaging) remove as ferramentas `SendMessage` e `ListAgents`.

381 * **Controles de entrada**: os [controles de entrada da sessão receptora](#control-inbound-messages) podem reter ou descartar o que você envia a ela.344 * **Controles de entrada**: os [controles de entrada da sessão receptora](#control-inbound-messages) podem reter ou descartar o que você envia a ela.

382 * **Sessão na nuvem faltando**: uma sessão na nuvem aparece apenas enquanto essa sessão está conectada a [Controle Remoto](/docs/pt/remote-control).345 * **Sessão na nuvem faltando**: uma sessão na nuvem aparece apenas enquanto essa sessão está conectada a [Remote Control](/docs/pt/remote-control).

383 * **Sessão em outra máquina faltando**: uma sessão em outra de suas máquinas aparece apenas quando executa com [Controle Remoto](/docs/pt/remote-control) e essa sessão também está conectada.346 * **Sessão em outra máquina faltando**: uma sessão em outra de suas máquinas aparece apenas quando executa com [Remote Control](/docs/pt/remote-control) e essa sessão também está conectada.

384 * **Sessão em outra máquina `offline`**: uma mensagem para uma sessão listada como `offline` passa, mas [chega apenas depois que a máquina dessa sessão se reconecta](#message-sessions-on-other-machines).347 * **Sessão em outra máquina `offline`**: uma mensagem para uma sessão listada como `offline` passa, mas [chega apenas depois que a máquina dessa sessão se reconecta](#message-sessions-on-other-machines).

385 * **Sessão na nuvem ou em outra máquina mais antiga faltando**: Claude Code [lê essas listas de sessão mais recentes primeiro e para após um número limitado de páginas](#see-which-sessions-claude-can-reach), então Claude não consegue enviar mensagem para uma sessão que caiu além delas pelo nome.348 * **Sessão na nuvem ou em outra máquina mais antiga faltando**: Claude Code lê essas listas de sessão mais recentes primeiro e para após um número limitado de páginas, então Claude não consegue enviar mensagem para uma sessão que caiu além delas pelo nome.

386 * **Iniciando uma conversa**: [Mensagem para sessões em outras máquinas](#message-sessions-on-other-machines) cobre iniciar uma conversa com uma sessão além desta máquina.

387 349 

388Em uma sessão com messaging, `/status` também mostra uma linha `Peer address` com o endereço de caixa de entrada da própria sessão, ou `unavailable` e a razão quando Claude Code [não conseguiu configurar uma caixa de entrada](#the-sessions-inbox-socket).350Em uma sessão com messaging, `/status` também mostra uma linha `Peer address` com o endereço de caixa de entrada da própria sessão, ou `unavailable` e a razão quando Claude Code [não conseguiu configurar uma caixa de entrada](#the-sessions-inbox-socket).

389 351 


395 357 

396* **Apenas texto simples**: Claude envia apenas texto simples entre sessões. Mensagens de protocolo [equipe de agentes](/docs/pt/agent-teams) estruturadas ficam dentro de uma equipe.358* **Apenas texto simples**: Claude envia apenas texto simples entre sessões. Mensagens de protocolo [equipe de agentes](/docs/pt/agent-teams) estruturadas ficam dentro de uma equipe.

397* **O tamanho da mensagem na mesma máquina é limitado**: Claude Code recusa uma mensagem para uma sessão nesta máquina uma vez que sua forma serializada passa cerca de um milhão de caracteres. A recusa [nomeia os tamanhos exatos](/docs/pt/errors#message-too-large-for-cross-session-delivery). Nada alcança a sessão receptora.359* **O tamanho da mensagem na mesma máquina é limitado**: Claude Code recusa uma mensagem para uma sessão nesta máquina uma vez que sua forma serializada passa cerca de um milhão de caracteres. A recusa [nomeia os tamanhos exatos](/docs/pt/errors#message-too-large-for-cross-session-delivery). Nada alcança a sessão receptora.

398* **Rajadas rápidas para uma sessão são recusadas no remetente**: uma vez que uma rajada rápida de mensagens para uma sessão nesta máquina atinge o que a caixa de entrada dessa sessão aceita, Claude Code recusa envios adicionais na sessão de envio. A [recusa nomeia a rajada](/docs/pt/errors#too-many-messages-to-this-session-just-now) e diz a Claude para agrupar o resto em uma mensagem ou esperar. Antes de v2.1.236, Claude Code relatava esses envios como enviados enquanto a sessão receptora os descartava.360* **Rajadas rápidas para uma sessão são recusadas no remetente**: uma vez que uma rajada rápida de mensagens para uma sessão nesta máquina atinge o que a caixa de entrada dessa sessão aceita, Claude Code recusa envios adicionais na sessão de envio. A [recusa nomeia a rajada](/docs/pt/errors#too-many-messages-to-this-session-just-now) e diz a Claude para agrupar o resto em uma mensagem ou esperar.

399* **Loops de mensagem são limitados**: na sessão receptora, Claude Code limita a taxa de mensagens repetidas por remetente, descarta repetições idênticas chegando dentro de uma janela curta, e enfileira no máximo 50 mensagens aceitas para Claude ler. Um loop de mensagem entre duas sessões portanto para por conta própria. Quando o limite de taxa, verificação de repetição ou limite de fila descarta uma mensagem de uma sessão interativa nesta máquina, Claude Code diz a essa sessão qual descartou e diz seu Claude não reenviar imediatamente.361* **Loops de mensagem são limitados**: na sessão receptora, Claude Code limita a taxa de mensagens repetidas por remetente, descarta repetições idênticas chegando dentro de uma janela curta, e enfileira no máximo 50 mensagens aceitas para Claude ler. Um loop de mensagem entre duas sessões portanto para por conta própria.

400 362 

401<h2 id="related-resources">363<h2 id="related-resources">

402 Recursos relacionados364 Recursos relacionados


405* [Subagentes](/docs/pt/sub-agents#resume-subagents) e [equipes de agentes](/docs/pt/agent-teams#messages-between-agents): messaging dentro de uma única sessão ou equipe367* [Subagentes](/docs/pt/sub-agents#resume-subagents) e [equipes de agentes](/docs/pt/agent-teams#messages-between-agents): messaging dentro de uma única sessão ou equipe

406* [Agentes em background](/docs/pt/agent-view): despache e monitore as sessões paralelas que você pode enviar mensagem368* [Agentes em background](/docs/pt/agent-view): despache e monitore as sessões paralelas que você pode enviar mensagem

407* [Controle Remoto](/docs/pt/remote-control): conecte essa sessão para alcançar suas sessões em outras máquinas369* [Controle Remoto](/docs/pt/remote-control): conecte essa sessão para alcançar suas sessões em outras máquinas

370* [Canais](/docs/pt/channels): envie eventos externos, como resultados de CI ou mensagens de chat, para uma sessão

408* [Configurações](/docs/pt/settings-reference#all-settings): `crossSessionInbound`, `isolatePeerMachines` e `dialogExpiry`371* [Configurações](/docs/pt/settings-reference#all-settings): `crossSessionInbound`, `isolatePeerMachines` e `dialogExpiry`

409* [Modos de permissão](/docs/pt/permission-modes): os modos por trás das duas classes do padrão de entrada372* [Modos de permissão](/docs/pt/permission-modes): os modos por trás das duas classes do padrão de entrada

410* [Referência de ferramentas](/docs/pt/tools-reference): as linhas `ListAgents` e `SendMessage` na tabela de ferramentas373* [Referência de ferramentas](/docs/pt/tools-reference): as linhas `ListAgents` e `SendMessage` na tabela de ferramentas

data-usage.md +3 −3

Details

110 110 

111[Cloud sessions](/docs/pt/claude-code-on-the-web) são executadas em máquinas virtuais gerenciadas pela Anthropic por padrão em vez de localmente. As sessões que sua organização roteia para um [ambiente auto-hospedado](/docs/pt/self-hosted-environments) são executadas em infraestrutura que você controla; para saber o que permanece em suas máquinas e o que ainda vai para a Anthropic, consulte [O que permanece em sua infraestrutura](/docs/pt/self-hosted-environments#what-stays-on-your-infrastructure). Em sessões de nuvem hospedadas pela Anthropic:111[Cloud sessions](/docs/pt/claude-code-on-the-web) são executadas em máquinas virtuais gerenciadas pela Anthropic por padrão em vez de localmente. As sessões que sua organização roteia para um [ambiente auto-hospedado](/docs/pt/self-hosted-environments) são executadas em infraestrutura que você controla; para saber o que permanece em suas máquinas e o que ainda vai para a Anthropic, consulte [O que permanece em sua infraestrutura](/docs/pt/self-hosted-environments#what-stays-on-your-infrastructure). Em sessões de nuvem hospedadas pela Anthropic:

112 112 

113* **Armazenamento de código e dados:** Seu repositório é clonado para uma VM isolada. Código e dados de sessão estão sujeitos às políticas de retenção e uso para seu tipo de conta (consulte a seção Retenção de dados acima)113* **Armazenamento de código e dados:** Seu repositório é clonado para a VM isolada da sessão. A Anthropic armazena a transcrição da sessão para que você possa retornar à sessão mais tarde. Código e dados de sessão estão sujeitos às [políticas de retenção e uso](#data-retention) para seu tipo de conta

114* **Credenciais:** A autenticação do GitHub é tratada através de um proxy seguro; suas credenciais do GitHub nunca entram na sandbox114* **Credenciais:** As credenciais do GitHub são armazenadas criptografadas nos servidores da Anthropic e nunca entram na VM. O tráfego do GitHub da VM passa por um proxy da Anthropic que as anexa no lado do servidor

115* **Tráfego de rede:** Todo o tráfego de saída passa por um proxy de segurança para logging de auditoria e prevenção de abuso115* **Tráfego de rede:** Todo o tráfego de saída passa por um proxy de segurança para logging de auditoria e prevenção de abuso

116* **Dados de sessão:** Prompts, alterações de código e saídas seguem as mesmas políticas de dados que o uso local de Claude Code116* **Dados de sessão:** Prompts, alterações de código e saídas seguem as mesmas políticas de dados que o uso local de Claude Code

117 117 


121 Serviços de telemetria121 Serviços de telemetria

122</h2>122</h2>

123 123 

124Claude Code envia dois tipos de telemetria operacional: métricas de uso e relatórios de erro. Você pode desativar cada um individualmente com as variáveis de ambiente abaixo, ou desabilitar todo o tráfego não essencial de uma vez definindo `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`. Definir `DISABLE_TELEMETRY` ou `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` também desabilita a avaliação de feature-flag que [Remote Control](/docs/pt/remote-control#requirements) depende; `DISABLE_ERROR_REPORTING` não.124Claude Code envia dois tipos de telemetria operacional: métricas de uso e relatórios de erro. Você pode desativar cada um individualmente com as variáveis de ambiente abaixo, ou desabilitar todo o tráfego não essencial de uma vez definindo `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`. Definir `DISABLE_TELEMETRY` ou `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` também desabilita a avaliação de feature-flag, que pode tornar [Remote Control](/docs/pt/remote-control#requirements) indisponível; `DISABLE_ERROR_REPORTING` não.

125 125 

126**Métricas**: latência, confiabilidade e padrões de uso, enviados para a Anthropic e para infraestrutura de logging de terceiros sobre TLS. As métricas nunca incluem seu código, prompts ou caminhos de arquivo. Defina `DISABLE_TELEMETRY=1` para desativar.126**Métricas**: latência, confiabilidade e padrões de uso, enviados para a Anthropic e para infraestrutura de logging de terceiros sobre TLS. As métricas nunca incluem seu código, prompts ou caminhos de arquivo. Defina `DISABLE_TELEMETRY=1` para desativar.

127 127 

Details

110| Hook nunca dispara | `matcher` usa `,` como separador em uma versão anterior a v2.1.191 | Claude Code v2.1.191 ou posterior trata `,` como um separador de lista como `\|`. Versões anteriores avaliam uma vírgula como um caractere literal, então `"Edit,Write"` não corresponde a nada. Use `\|` em vez disso, ou atualize Claude Code. |110| Hook nunca dispara | `matcher` usa `,` como separador em uma versão anterior a v2.1.191 | Claude Code v2.1.191 ou posterior trata `,` como um separador de lista como `\|`. Versões anteriores avaliam uma vírgula como um caractere literal, então `"Edit,Write"` não corresponde a nada. Use `\|` em vez disso, ou atualize Claude Code. |

111| Hook nunca dispara | O valor de `matcher` está em minúsculas, por exemplo `"bash"` | A correspondência diferencia maiúsculas de minúsculas. Os nomes das ferramentas são capitalizados: `Bash`, `Edit`, `Write`, `Read`. |111| Hook nunca dispara | O valor de `matcher` está em minúsculas, por exemplo `"bash"` | A correspondência diferencia maiúsculas de minúsculas. Os nomes das ferramentas são capitalizados: `Bash`, `Edit`, `Write`, `Read`. |

112| Hook nunca dispara | Hooks estão definidos em um arquivo autônomo em vez de em `settings.json` | Não há arquivo de hooks autônomo para configuração de projeto ou usuário. Defina hooks sob a chave `"hooks"` em `settings.json`. Apenas [plugins](/docs/pt/plugins/components#hooks) carregam um `hooks/hooks.json` separado. Consulte [configuração de hook](/docs/pt/hooks). |112| Hook nunca dispara | Hooks estão definidos em um arquivo autônomo em vez de em `settings.json` | Não há arquivo de hooks autônomo para configuração de projeto ou usuário. Defina hooks sob a chave `"hooks"` em `settings.json`. Apenas [plugins](/docs/pt/plugins/components#hooks) carregam um `hooks/hooks.json` separado. Consulte [configuração de hook](/docs/pt/hooks). |

113| Permissões, hooks ou env definidos globalmente são ignorados | A configuração foi adicionada a `~/.claude.json` | `~/.claude.json` contém estado do aplicativo e alternâncias de UI. `permissions`, `hooks` e `env` pertencem a `~/.claude/settings.json`. Estes são dois arquivos diferentes. |113| Permissões ou hooks definidos globalmente são ignorados | A configuração foi adicionada a `~/.claude.json` | `~/.claude.json` contém estado do aplicativo e alternâncias de UI. `permissions`, `hooks` e `env` pertencem a `~/.claude/settings.json`. Estes são dois arquivos diferentes. |

114| Um valor de `settings.json` parece ser ignorado | A mesma chave está definida em `settings.local.json` | `settings.local.json` substitui `settings.json`, e ambos substituem `~/.claude/settings.json`. Consulte [precedência de configurações](/docs/pt/settings#settings-precedence). |114| Um valor de `settings.json` parece ser ignorado | A mesma chave está definida em `settings.local.json` | `settings.local.json` substitui `settings.json`, e ambos substituem `~/.claude/settings.json`. Consulte [precedência de configurações](/docs/pt/settings#settings-precedence). |

115| Skill não aparece em `/skills` | O arquivo de skill está em `.claude/skills/name.md` em vez de em uma pasta | Use uma pasta com `SKILL.md` dentro: `.claude/skills/name/SKILL.md`. |115| Skill não aparece em `/skills` | O arquivo de skill está em `.claude/skills/name.md` em vez de em uma pasta | Use uma pasta com `SKILL.md` dentro: `.claude/skills/name/SKILL.md`. |

116| Skill aparece em `/skills` mas Claude nunca o invoca | Skill tem `disable-model-invocation: true` em seu frontmatter, ou sua descrição não corresponde a como você frasa a solicitação | Verifique o badge em `/skills`: um rótulo "user-only" significa que Claude não o acionará por conta própria. Consulte [invocação de skill](/docs/pt/skills). |116| Skill aparece em `/skills` mas Claude nunca o invoca | Skill tem `disable-model-invocation: true` em seu frontmatter, ou sua descrição não corresponde a como você frasa a solicitação | Verifique o badge em `/skills`: um rótulo "user-only" significa que Claude não o acionará por conta própria. Consulte [invocação de skill](/docs/pt/skills). |

desktop.md +2 −2

Details

735 735 

736Para definir variáveis de ambiente para sessões locais e servidores de desenvolvimento em qualquer plataforma, abra o menu suspenso de ambiente na caixa de prompt, passe o mouse sobre **Local** e clique no ícone de engrenagem para abrir o editor de ambiente local. Variáveis que você salva aqui são armazenadas criptografadas em sua máquina e se aplicam a cada sessão local e servidor de visualização que você inicia. Você também pode adicionar variáveis à chave `env` em seu arquivo `~/.claude/settings.json`, embora essas alcancem apenas sessões Claude e não servidores de desenvolvimento. Veja [variáveis de ambiente](/docs/pt/env-vars) para a lista completa de variáveis suportadas.736Para definir variáveis de ambiente para sessões locais e servidores de desenvolvimento em qualquer plataforma, abra o menu suspenso de ambiente na caixa de prompt, passe o mouse sobre **Local** e clique no ícone de engrenagem para abrir o editor de ambiente local. Variáveis que você salva aqui são armazenadas criptografadas em sua máquina e se aplicam a cada sessão local e servidor de visualização que você inicia. Você também pode adicionar variáveis à chave `env` em seu arquivo `~/.claude/settings.json`, embora essas alcancem apenas sessões Claude e não servidores de desenvolvimento. Veja [variáveis de ambiente](/docs/pt/env-vars) para a lista completa de variáveis suportadas.

737 737 

738[Extended thinking](/docs/pt/model-config#extended-thinking) está ativado por padrão, o que melhora o desempenho em tarefas de raciocínio complexo mas usa tokens adicionais. Na API Anthropic, defina `MAX_THINKING_TOKENS` para `0` no editor de ambiente local para desativar o thinking; isso não tem efeito em Opus 5.5 ou nos modelos Fable, que sempre usam extended thinking. Com o thinking desativado na API Anthropic, Claude Code envia esforço `high` em vez de um nível superior para modelos que você sabe [não aceitam essa combinação](/docs/pt/errors#effort-isnt-available-with-thinking-turned-off), como Opus 5.738[Extended thinking](/docs/pt/model-config#extended-thinking) está ativado por padrão, o que melhora o desempenho em tarefas de raciocínio complexo mas usa tokens adicionais. Na API Anthropic, defina `MAX_THINKING_TOKENS` para `0` no editor de ambiente local para desativar o thinking; isso não tem efeito em Opus 5.5, Sonnet 5.5 ou nos modelos Fable, que sempre usam extended thinking. Com o thinking desativado na API Anthropic, Claude Code envia esforço `high` em vez de um nível superior para modelos que você sabe [não aceitam essa combinação](/docs/pt/errors#effort-isnt-available-with-thinking-turned-off), como Opus 5.

739 739 

740Em modelos com [adaptive reasoning](/docs/pt/model-config#adjust-effort-level), valores de `MAX_THINKING_TOKENS` diferentes de `0` são ignorados porque adaptive reasoning controla a profundidade do thinking. Em Opus 4.6 e Sonnet 4.6, defina `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` para `1` para usar um orçamento de thinking fixo; modelos Fable, Sonnet 5 e Opus 4.7 e posterior sempre usam adaptive reasoning e não têm modo de orçamento fixo.740Em modelos com [adaptive reasoning](/docs/pt/model-config#adjust-effort-level), valores de `MAX_THINKING_TOKENS` diferentes de `0` são ignorados porque adaptive reasoning controla a profundidade do thinking. Em Opus 4.6 e Sonnet 4.6, defina `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` para `1` para usar um orçamento de thinking fixo; modelos Fable, Sonnet 5 e posterior, e Opus 4.7 e posterior sempre usam adaptive reasoning e não têm modo de orçamento fixo.

741 741 

742<h4 id="local-sessions-on-managed-devices">742<h4 id="local-sessions-on-managed-devices">

743 Local sessions on managed devices743 Local sessions on managed devices

Details

4 4 

5# Comece com o aplicativo de desktop5# Comece com o aplicativo de desktop

6 6 

7> Instale Claude Code no desktop e inicie sua primeira sessão de codificação7> Instale o aplicativo Claude de desktop, abra a aba Code e inicie sua primeira sessão de Claude Code em uma pasta de projeto no seu computador.

8 8 

9O aplicativo de desktop oferece Claude Code com uma interface gráfica construída para executar múltiplas sessões lado a lado: uma barra lateral para gerenciar trabalho paralelo, um layout com arrastar e soltar com terminal integrado e editor de arquivos, revisão visual de diff, visualização ao vivo do aplicativo, monitoramento de PR do GitHub com mesclagem automática e tarefas agendadas. Nenhum terminal necessário.9O aplicativo de desktop oferece Claude Code com uma interface gráfica, para que você possa pedir ao Claude para trabalhar no código em uma pasta no seu computador e revisar suas alterações sem usar um terminal. Esta página orienta você na instalação do aplicativo e no início de sua primeira sessão na aba **Code**. Claude Code requer uma [assinatura Pro, Max, Team ou Enterprise](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=desktop_quickstart_pricing).

10 10 

11<CardGroup cols={3}>11<CardGroup cols={3}>

12 <Card title="Baixar para macOS" icon="apple" href="https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code&utm_medium=docs">12 <Card title="Baixar para macOS" icon="apple" href="https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code&utm_medium=docs">


25Para Windows ARM64, baixe o [instalador ARM64](https://claude.ai/api/desktop/win32/arm64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs). No Linux, instale com apt; consulte [Claude Desktop no Linux](/docs/pt/desktop-linux).25Para Windows ARM64, baixe o [instalador ARM64](https://claude.ai/api/desktop/win32/arm64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs). No Linux, instale com apt; consulte [Claude Desktop no Linux](/docs/pt/desktop-linux).

26 26 

27<Note>27<Note>

28 Claude Code requer uma [assinatura Pro, Max, Team ou Enterprise](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=desktop_quickstart_pricing).28 Estes casos são cobertos em outras páginas:

29</Note>

30 29 

31Esta página orienta você na instalação do aplicativo e no início de sua primeira sessão. Se você já está configurado, consulte [Usar Claude Code Desktop](/docs/pt/desktop) para a referência completa.30 * **Já configurado**: consulte [Usar Claude Code Desktop](/docs/pt/desktop) para tudo o que a aba Code pode fazer

31 * **Quer `claude` no seu terminal**: [instale a CLI](/docs/pt/quickstart) separadamente

32</Note>

32 33 

33O aplicativo de desktop tem três abas:34O aplicativo de desktop tem três abas:

34 35 

35* **Chat**: Conversa geral sem acesso a arquivos, semelhante ao claude.ai.36* **Chat**: Conversa geral sem acesso a arquivos, semelhante ao claude.ai.

36* **Cowork**: Um agente autônomo em segundo plano que trabalha em tarefas em uma máquina virtual em sandbox com seu próprio ambiente, executando independentemente enquanto você faz outro trabalho. As sessões Cowork no dispositivo executam a VM no seu computador; as sessões Cowork remotas executam em uma VM gerenciada pela Anthropic.37* **Cowork**: Um agente autônomo em segundo plano que trabalha em tarefas independentemente enquanto você faz outro trabalho.

37* **Code**: Um assistente de codificação interativo com acesso direto aos seus arquivos locais. Dependendo do modo de permissão, você aprova cada alteração conforme Claude a propõe ou revisa as alterações após Claude fazê-las.38* **Code**: Um assistente de codificação interativo com acesso direto aos seus arquivos locais. Dependendo do modo de permissão, você aprova cada alteração conforme Claude a propõe ou revisa as alterações após Claude fazê-las.

38 39 

39Chat e Cowork são cobertos no [Centro de Ajuda do Claude](https://support.claude.com/); a instalação e implantação do aplicativo de desktop são cobertas nos [artigos de suporte do Claude Desktop](https://support.claude.com/en/collections/16163169-claude-desktop). Esta página se concentra na aba **Code**.40Chat e Cowork são cobertos no [Centro de Ajuda do Claude](https://support.claude.com/); a instalação e implantação do aplicativo de desktop são cobertas nos [artigos de suporte do Claude Desktop](https://support.claude.com/en/collections/16163169-claude-desktop). Esta página se concentra na aba **Code**.


52 </Step>53 </Step>

53</Steps>54</Steps>

54 55 

55O aplicativo de desktop inclui Claude Code. Você não precisa instalar Node.js ou a CLI separadamente. Para usar `claude` do terminal, instale a CLI separadamente. Consulte [Comece com a CLI](/docs/pt/quickstart).56O aplicativo de desktop inclui Claude Code, portanto você não precisa instalar Node.js ou a CLI para usar a aba Code.

56 57 

57<h2 id="start-your-first-session">58<h2 id="start-your-first-session">

58 Inicie sua primeira sessão59 Inicie sua primeira sessão

Details

61 61 

62* **Manual**: sem agendamento, só é executado quando você clica em **Run now**. Útil para salvar um prompt que você aciona sob demanda62* **Manual**: sem agendamento, só é executado quando você clica em **Run now**. Útil para salvar um prompt que você aciona sob demanda

63* **Hourly**: é executado a cada hora63* **Hourly**: é executado a cada hora

64* **Daily**: mostra um seletor de hora, padrão 9:00 AM hora local64* **Daily**: é executado todos os dias no horário local que você escolher

65* **Weekdays**: igual a Daily, mas pula sábado e domingo65* **Weekdays**: igual a Daily, mas pula sábado e domingo

66* **Weekly**: mostra um seletor de hora e um seletor de dia66* **Weekly**: mostra um seletor de hora e um seletor de dia

67 67 

env-vars.md +236 −232

Details

114 114 

115Em um arquivo de configurações você pode definir uma variável, mas não pode remover uma. Para substituir uma variável que você não pode desativar, como uma `CLAUDE_CODE_USE_VERTEX` obsoleta exportada por um perfil de shell que você não controla, defina-a como uma string vazia no bloco `env`: `"CLAUDE_CODE_USE_VERTEX": ""`. Claude Code trata o valor vazio como não definido para seleção de provedor. Subprocessos ainda herdam o valor vazio.115Em um arquivo de configurações você pode definir uma variável, mas não pode remover uma. Para substituir uma variável que você não pode desativar, como uma `CLAUDE_CODE_USE_VERTEX` obsoleta exportada por um perfil de shell que você não controla, defina-a como uma string vazia no bloco `env`: `"CLAUDE_CODE_USE_VERTEX": ""`. Claude Code trata o valor vazio como não definido para seleção de provedor. Subprocessos ainda herdam o valor vazio.

116 116 

117Entre arquivos de configurações, os valores `env` seguem a [precedência de configurações](/docs/pt/settings#settings-precedence), então uma entrada de configurações gerenciada substitui a mesma variável nas configurações de usuário ou projeto.117Entre arquivos de configurações, os valores `env` seguem a [precedência de configurações](/docs/pt/settings#settings-precedence), então uma entrada de configurações gerenciada substitui a mesma variável nas configurações de usuário ou projeto. Configurações de projeto e locais não podem definir algumas variáveis, como `CLAUDE_CONFIG_DIR` e as variáveis do exportador OpenTelemetry. [Variáveis que Claude Code ignora em `env`](/docs/pt/settings-reference#variables-claude-code-ignores-in-env) lista-as, junto com os valores desativados do OpenTelemetry que ainda se aplicam.

118 118 

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

120 120 


143 143 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

195| `BASH_DEFAULT_TIMEOUT_MS` | Timeout padrão para comandos bash de longa duração (padrão: 120000, ou 2 minutos) |195| `BASH_DEFAULT_TIMEOUT_MS` | Timeout padrão para comandos bash de longa duração (padrão: 120000, ou 2 minutos) |

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

197| `BASH_MAX_TIMEOUT_MS` | Timeout máximo que o modelo pode definir para comandos bash de longa duração (padrão: 600000, ou 10 minutos). O teto efetivo é o maior entre isso e `BASH_DEFAULT_TIMEOUT_MS` |197| `BASH_MAX_TIMEOUT_MS` | Timeout máximo que o modelo pode definir para comandos bash de longa duração (padrão: 600000, ou 10 minutos). O teto efetivo é o maior entre isso e `BASH_DEFAULT_TIMEOUT_MS` |

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

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

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

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

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

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

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

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

206| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | Defina a porcentagem (1-100) da janela de auto-compactação em que a auto-compactação é acionada. Use valores mais baixos como `50` para compactar mais cedo; a variável não pode aumentar o limite, então valores acima da porcentagem padrão são ignorados. Aplica-se apenas em sessões que [compactam antes do limite de contexto do modelo](/docs/pt/model-config#context-window-and-auto-compaction). Aplica-se a conversas principais e subagentes |206| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | Defina a porcentagem (1-100) da janela de auto-compactação em que a auto-compactação é acionada. Use valores mais baixos como `50` para compactar mais cedo; a variável não pode aumentar o limite, então valores acima da porcentagem padrão são ignorados. Aplica-se apenas em sessões que [compactam antes do limite de contexto do modelo](/docs/pt/model-config#context-window-and-auto-compaction). Aplica-se a conversas principais e subagentes |

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

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

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

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

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

212| `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` | Timeout em milissegundos para o watchdog de inatividade de streaming em nível de byte; quando definido, tem precedência sobre `CLAUDE_STREAM_IDLE_TIMEOUT_MS` para esse watchdog e deixa o watchdog em nível de evento inalterado. Claude Code limita essa variável entre 10 segundos e 30 minutos. Requer Claude Code v2.1.210 ou posterior |212| `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` | Timeout em milissegundos para o watchdog de inatividade de streaming em nível de byte; quando definido, tem precedência sobre `CLAUDE_STREAM_IDLE_TIMEOUT_MS` para esse watchdog e deixa o watchdog em nível de evento inalterado. Claude Code limita essa variável entre 10 segundos e 30 minutos. Requer Claude Code v2.1.210 ou posterior |

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

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

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

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

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

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

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

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

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

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

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

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

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

226| `CLAUDE_CODE_AUTO_MODE_SERVER` | Controla se Claude Code pede ao servidor para [revisar ações do modo auto](/docs/pt/permission-modes#server-side-classifier-review). Quando não definido, Claude Code pede ao servidor no Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, e Claude Platform on AWS, e quando você aponta `ANTHROPIC_BASE_URL` para um gateway LLM ou proxy. Defina como `0` para usar as próprias solicitações do classificador de Claude Code. Não lido em uma conexão direta com a API Anthropic. Requer Claude Code v2.1.271 ou posterior; pedir ao servidor por padrão requer v2.1.278 ou posterior |226| `CLAUDE_CODE_AUTO_MODE_SERVER` | Controla se Claude Code pede ao servidor para [revisar ações de modo auto](/docs/pt/permission-modes#server-side-classifier-review). Defina como `0` para usar as solicitações do classificador próprio de Claude Code. Em uma conexão direta com a API Anthropic, requer v2.1.281 ou posterior. A seção vinculada lista quais sessões pedem ao servidor quando a variável não está definida, e a partir de qual versão. Requer Claude Code v2.1.271 ou posterior |

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

249| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Defina como `1` para desabilitar toda funcionalidade de tarefa em segundo plano, incluindo o parâmetro `run_in_background` em ferramentas Bash e subagente, auto-backgrounding, e o atalho Ctrl+B |249| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Defina como `1` para desabilitar toda funcionalidade de tarefa em background, incluindo o parâmetro `run_in_background` em ferramentas Bash e subagente, auto-backgrounding e o atalho Ctrl+B |

250| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | Defina como `1` para impedir que Claude Code trate uma resposta de streaming [Amazon Bedrock](/docs/pt/amazon-bedrock) com cabeçalho `Content-Type` ausente ou vazio como fluxo de evento binário do Amazon Bedrock. Por padrão, Claude Code assume que um gateway descartou o cabeçalho de uma resposta caso contrário não modificada, para que o streaming continue funcionando. Defina isso apenas para um gateway que também re-emite o fluxo como eventos enviados pelo servidor; Claude Code então lê o corpo sem cabeçalho como eventos enviados pelo servidor. Requer Claude Code v2.1.239 ou posterior |250| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | Defina como `1` para parar Claude Code de tratar uma resposta de streaming [Amazon Bedrock](/docs/pt/amazon-bedrock) com cabeçalho `Content-Type` ausente ou vazio como fluxo de evento binário Amazon Bedrock. Por padrão, Claude Code assume que um gateway descartou o cabeçalho de uma resposta caso contrário não modificada, para que decodifique o corpo e o streaming continue funcionando. Defina isso apenas para um gateway que também re-emite o stream como eventos enviados pelo servidor; Claude Code então lê o corpo sem cabeçalho como eventos enviados pelo servidor. Requer Claude Code v2.1.239 ou posterior |

251| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | Defina como `1` para pular a verificação de que uma resposta de streaming [Amazon Bedrock](/docs/pt/amazon-bedrock) carrega o tipo de conteúdo `application/vnd.amazon.eventstream`. Sem essa variável, quando uma resposta carrega um tipo de conteúdo diferente, Claude Code falha a solicitação com um erro nomeando esse tipo, o que significa que um [gateway ou proxy está transformando a resposta](/docs/pt/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy). Configure o gateway para encaminhar o cabeçalho `Content-Type` e o corpo não modificados em vez de definir essa variável. Requer Claude Code v2.1.208 ou posterior |251| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | Defina como `1` para pular a verificação de que uma resposta de streaming [Amazon Bedrock](/docs/pt/amazon-bedrock) carrega o tipo de conteúdo `application/vnd.amazon.eventstream`. Sem essa variável, quando uma resposta carrega um tipo de conteúdo diferente, Claude Code falha a solicitação com um erro nomeando esse tipo, o que significa que um [gateway ou proxy está transformando a resposta](/docs/pt/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy). Configure o gateway para encaminhar o cabeçalho `Content-Type` e o corpo não modificados em vez de definir essa variável. Requer Claude Code v2.1.208 ou posterior |

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

253| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | Defina como `1` para impedir que Claude Code termine [comandos de shell em segundo plano](/docs/pt/interactive-mode#background-bash-commands) quando o sistema operacional relata pressão de memória. Por padrão, no macOS e Linux, Claude Code termina um shell em segundo plano iniciado na sessão principal em um sinal de pressão de memória uma vez que a sessão ficou ociosa por 30 minutos e nenhuma volta ou subagente está em execução. Windows não tem sinal de pressão de memória, então essa variável não tem efeito lá. Requer Claude Code v2.1.193 ou posterior |253| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | Defina como `1` para parar Claude Code de encerrar [comandos shell em background](/docs/pt/interactive-mode#background-bash-commands) sob pressão de memória. Por padrão, no macOS e Linux, Claude Code encerra shells em background quando o sistema operacional relata pressão de memória crítica e a sessão está ociosa há 30 minutos sem turno ou subagente em execução. Windows não tem sinal de pressão de memória, então essa variável não tem efeito lá. Requer Claude Code v2.1.193 ou posterior |

254| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Defina como `1` para desabilitar as [skills](/docs/pt/skills) e fluxos de trabalho inclusos com Claude Code: skills inclusos e fluxos de trabalho são removidos inteiramente, enquanto comandos integrados como `/init` permanecem digitáveis mas ficam ocultos do modelo. `/doctor` permanece digitável como os comandos integrados; ocultá-lo com `DISABLE_DOCTOR_COMMAND`. Skills de plugins, `.claude/skills/`, e `.claude/commands/` não são afetadas. Equivalente à configuração [`disableBundledSkills`](/docs/pt/settings-reference#disablebundledskills) |254| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Defina como `1` para desabilitar as [skills](/docs/pt/skills) e workflows inclusos com Claude Code: skills inclusos e workflows são removidos completamente, enquanto comandos integrados como `/init` permanecem digitáveis mas são ocultados do modelo. `/doctor` permanece digitável como os comandos integrados; ocultá-lo com `DISABLE_DOCTOR_COMMAND`. Skills de plugins, `.claude/skills/` e `.claude/commands/` não são afetadas. Equivalente à configuração [`disableBundledSkills`](/docs/pt/settings-reference#disablebundledskills) |

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

256| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | Defina como `1` para evitar carregar qualquer arquivo de memória CLAUDE.md em contexto, incluindo arquivos de memória de usuário, projeto e automática |256| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | Defina como `1` para evitar carregar qualquer arquivo de memória CLAUDE.md em contexto, incluindo arquivos de memória de usuário, projeto e automática |

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

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

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

260| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | Defina como `1` para desabilitar os [subagentes Explore e Plan](/docs/pt/sub-agents#built-in-subagents) integrados. Claude explora com suas ferramentas de busca ou o subagente de propósito geral, e [modo plan](/docs/pt/permission-modes#analyze-before-you-edit-with-plan-mode) lê arquivos diretamente em vez de iniciar agentes Explore e Plan. Subagentes personalizados nomeados `Explore` ou `Plan` não são afetados. Para remover todo tipo de subagente integrado no Agent SDK ou modo não interativo, use `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS`. Requer Claude Code v2.1.198 ou posterior |

260| `CLAUDE_CODE_DISABLE_FAST_MODE` | Defina como `1` para desabilitar [modo rápido](/docs/pt/fast-mode) |261| `CLAUDE_CODE_DISABLE_FAST_MODE` | Defina como `1` para desabilitar [modo rápido](/docs/pt/fast-mode) |

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

262| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | Defina como `1` para desabilitar [checkpointing](/docs/pt/checkpointing) de arquivo. O comando `/rewind` não será capaz de restaurar alterações de código. Substitui a configuração [`fileCheckpointingEnabled`](/docs/pt/settings-reference#filecheckpointingenabled) |263| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | Defina como `1` para desabilitar [checkpointing](/docs/pt/checkpointing) de arquivo. O comando `/rewind` não será capaz de restaurar alterações de código. Substitui a configuração [`fileCheckpointingEnabled`](/docs/pt/settings-reference#filecheckpointingenabled) |

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

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

265| `CLAUDE_CODE_DISABLE_MOUSE` | Defina como `1` para desabilitar rastreamento de mouse em [renderização fullscreen](/docs/pt/fullscreen). Rolagem de teclado com `PgUp` e `PgDn` ainda funciona. Use isso para manter o comportamento nativo de cópia ao selecionar do seu terminal |266| `CLAUDE_CODE_DISABLE_MOUSE` | Defina como `1` para desabilitar rastreamento de mouse em [renderização fullscreen](/docs/pt/fullscreen). Rolagem de teclado com `PgUp` e `PgDn` ainda funciona. Use isso para manter o comportamento de cópia ao selecionar nativo do seu terminal |

266| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | Defina como `1` para desabilitar manipulação de clique, arrasto e hover em [renderização fullscreen](/docs/pt/fullscreen) enquanto mantém rolagem de roda de mouse. Use isso quando você quer que a rolagem de roda funcione dentro de Claude Code mas não quer que cliques posicionem o cursor, expandam saída de ferramenta ou abram links. `CLAUDE_CODE_DISABLE_MOUSE` tem precedência quando ambos estão definidos. Requer Claude Code v2.1.195 ou posterior |267| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | Defina como `1` para desabilitar manipulação de clique, arrasto e hover em [renderização fullscreen](/docs/pt/fullscreen) enquanto mantém rolagem de roda do mouse. Use isso quando você quer que a rolagem de roda funcione dentro de Claude Code mas não quer que cliques posicionem o cursor, expandam saída de ferramenta ou abram links. `CLAUDE_CODE_DISABLE_MOUSE` tem precedência quando ambos estão definidos. Requer Claude Code v2.1.195 ou posterior |

267| `CLAUDE_CODE_DISABLE_MTLS_RELOAD_ON_STALE_CONNECTION` | Defina como `1` para impedir que Claude Code releia o [certificado de cliente mTLS e chave](/docs/pt/network-config#mtls-authentication) quando uma solicitação de API falha com um erro em nível de conexão, como uma redefinição de conexão ou erro de handshake TLS. Com o recarregamento desabilitado, Claude Code carrega arquivos rotacionados apenas quando aplica configurações novamente ou na próxima inicialização. Requer Claude Code v2.1.232 ou posterior |268| `CLAUDE_CODE_DISABLE_MTLS_RELOAD_ON_STALE_CONNECTION` | Defina como `1` para parar Claude Code de re-ler o [certificado de cliente mTLS e chave](/docs/pt/network-config#mtls-authentication) quando uma solicitação de API falha com um erro em nível de conexão, como uma redefinição de conexão ou erro de handshake TLS. Com o recarregamento desabilitado, Claude Code carrega arquivos rotacionados apenas quando aplica configurações novamente ou na próxima inicialização. Requer Claude Code v2.1.232 ou posterior |

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

269| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | Defina como `1` para desabilitar o fallback não-streaming quando uma solicitação de streaming falha no meio do fluxo. Erros de streaming se propagam para a camada de retry. Útil quando um proxy ou gateway causa o fallback produzir execução de ferramenta duplicada |270| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | Defina como `1` para desabilitar o fallback não-streaming quando uma solicitação de streaming falha no meio do stream. Erros de streaming se propagam para a camada de retry. Útil quando um proxy ou gateway causa o fallback produzir execução de ferramenta duplicada |

270| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | Defina como `1` para enviar a notificação de desktop da ferramenta `PushNotification` mesmo enquanto você está digitando ou focado no terminal. Por padrão, a ferramenta pula tanto a notificação de desktop quanto o [push móvel](/docs/pt/remote-control#mobile-push-notifications) quando detecta atividade de teclado recente ou foco de terminal. Essa variável desabilita apenas essa verificação local, para que o servidor ainda possa suprimir o push móvel quando detecta que você está ativo. Requer Claude Code v2.1.193 ou posterior |271| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | Defina como `1` para enviar a notificação de desktop da ferramenta `PushNotification` mesmo enquanto você está digitando ou focado no terminal. Por padrão, a ferramenta pula tanto a notificação de desktop quanto o [push móvel](/docs/pt/remote-control#mobile-push-notifications) quando detecta atividade de teclado recente ou foco de terminal. Essa variável desabilita apenas essa verificação local, para que o servidor ainda possa suprimir o push móvel quando detecta que você está ativo. Requer Claude Code v2.1.193 ou posterior |

271| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Defina como `1` para desabilitar registro automático do marketplace de plugin oficial. Claude Code lê a variável quando está prestes a registrar o marketplace, geralmente durante o primeiro lançamento interativo de uma máquina. Se a variável estiver definida nesse ponto, Claude Code pula o registro permanentemente. Desconfigurar a variável depois não desfaz o pulo. Execute `claude plugin marketplace add anthropics/claude-plugins-official` para registrar o marketplace a qualquer momento |272| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Defina como `1` para desabilitar registro automático do marketplace de plugin oficial. Claude Code lê a variável quando está prestes a registrar o marketplace, geralmente durante o primeiro lançamento interativo de uma máquina. Se a variável estiver definida nesse ponto, Claude Code pula o registro permanentemente. Desconfigurar a variável depois não desfaz o pulo. Execute `claude plugin marketplace add anthropics/claude-plugins-official` para registrar o marketplace a qualquer momento |

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

273| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | Defina como `1` para pular carregamento de skills do diretório de skills gerenciado em todo o sistema. Útil para sessões de container ou CI que não devem carregar skills provisionadas por operador |274| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | Defina como `1` para pular carregamento de skills do diretório de skills gerenciadas em todo o sistema. Útil para sessões de container ou CI que não devem carregar skills provisionadas por operador |

274| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Defina como `1` para desabilitar atualizações automáticas de título de terminal com base no contexto de conversa. Isso também pula a solicitação de modelo pequeno/rápido em segundo plano que [gera um título de sessão](/docs/pt/sessions#name-your-sessions) |275| `CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY` | Defina como `1` para desativar a verificação da [ferramenta PowerShell](/docs/pt/tools-reference#powershell-tool) que nega os built-ins `cmd` `rd`, `rmdir`, `del` e `erase` em um [caminho do sistema](/docs/pt/permission-modes#remove-item-in-powershell), como uma raiz de unidade ou seu diretório inicial. Claude Code ignora essa variável em um bloco `env` de arquivo de configurações. Requer Claude Code v2.1.283 ou posterior |

275| `CLAUDE_CODE_DISABLE_THINKING` | Defina como `1` para omitir o parâmetro `thinking` de solicitações de API inteiramente. Esta é uma opção de compatibilidade para proxies e gateways que rejeitam o parâmetro. Em modelos que pensam por padrão, omitir o parâmetro significa que o modelo ainda pode pensar. Para desabilitar explicitamente [pensamento estendido](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) na API Anthropic, use `MAX_THINKING_TOKENS=0`. Nenhuma variável desativa pensamento no Opus 5.5 ou em modelos Fable, que não podem ter pensamento desativado. Em [provedores de terceiros](/docs/pt/third-party-integrations), `MAX_THINKING_TOKENS=0` igualmente omite o parâmetro, para que as duas variáveis se comportem igual lá |276| `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 no ambiente que inicia Claude Code, já que Claude Code ignora uma cópia entregue através de um bloco `env` de configurações. Requer Claude Code v2.1.281 ou posterior |

276| `CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT` | Defina como `1` para pular [auto-compactação](/docs/pt/costs#reduce-token-usage) proativa quando Claude Code não reconhece o ID do modelo, como um alias de [gateway LLM](/docs/pt/llm-gateway). Sem essa variável, Claude Code compacta na janela de contexto que assume para o ID. `CLAUDE_CODE_MAX_CONTEXT_TOKENS` pode corrigir a janela assumida; veja [Corrigir a janela para um ID de modelo gateway ou personalizado](/docs/pt/model-config#correct-the-window-for-a-gateway-or-custom-model-id) para quando cada variável se aplica. Requer Claude Code v2.1.223 ou posterior |277| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Defina como `1` para desabilitar atualizações automáticas de título de terminal com base no contexto de conversa. Isso também pula a solicitação de modelo pequeno/rápido em background que [gera um título de sessão](/docs/pt/sessions#name-your-sessions) |

277| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Defina como `1` para desabilitar rolagem virtual em [renderização fullscreen](/docs/pt/fullscreen) e renderizar cada mensagem na transcrição. Use isso se a rolagem no modo fullscreen mostrar regiões em branco onde mensagens deveriam aparecer |278| `CLAUDE_CODE_DISABLE_THINKING` | Defina como `1` para omitir o parâmetro `thinking` de solicitações de API completamente. Esta é uma opção de compatibilidade para proxies e gateways que rejeitam o parâmetro. Em modelos que pensam por padrão, omitir o parâmetro significa que o modelo ainda pode pensar. Para desabilitar explicitamente [pensamento estendido](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) na API Anthropic, use `MAX_THINKING_TOKENS=0`. Nenhuma variável desativa pensamento em Opus 5.5, Sonnet 5.5 ou modelos Fable, que não podem ter pensamento desativado. Em [provedores de terceiros](/docs/pt/third-party-integrations), `MAX_THINKING_TOKENS=0` igualmente omite o parâmetro, para que as duas variáveis se comportem igual lá |

278| `CLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHER` | Defina como `1` para iniciar comandos [ferramenta PowerShell](/docs/pt/tools-reference#powershell-tool) no Windows diretamente em vez de através do lançador `cmd.exe`. Por padrão, o lançador permite que um comando PowerShell [em execução em segundo plano](/docs/pt/tools-reference#background-commands) [seja transferido para o próximo processo da sessão](/docs/pt/agent-view#the-supervisor-process), como quando você [coloca a sessão em segundo plano](/docs/pt/agent-view#from-inside-a-session). Se você definir a variável, um comando PowerShell em segundo plano para quando o processo da sessão sai. Comandos Bash não são afetados. Requer Claude Code v2.1.269 ou posterior |279| `CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT` | Defina como `1` para pular [auto-compactação](/docs/pt/costs#reduce-token-usage) proativa quando Claude Code não reconhece o ID do modelo, como um alias de [gateway LLM](/docs/pt/llm-gateway). Sem essa variável, Claude Code compacta na janela de contexto que assume para o ID. `CLAUDE_CODE_MAX_CONTEXT_TOKENS` pode corrigir a janela assumida; veja [Corrigir a janela para um ID de modelo de gateway ou personalizado](/docs/pt/model-config#correct-the-window-for-a-gateway-or-custom-model-id) para quando cada variável se aplica. Requer Claude Code v2.1.223 ou posterior |

279| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Defina como `1` para desabilitar [fluxos de trabalho](/docs/pt/workflows#turn-workflows-off). Equivalente à configuração [`disableWorkflows`](/docs/pt/settings-reference#disableworkflows) |280| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Defina como `1` para desabilitar rolagem virtual em [renderização fullscreen](/docs/pt/fullscreen) e renderizar cada mensagem na transcrição. Use isso se a rolagem em modo fullscreen mostrar regiões em branco onde mensagens devem aparecer |

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

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

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

283| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Defina como `1` para atualizar estado de plugin em limites de volta no [modo não interativo](/docs/pt/headless) após uma instalação em segundo plano ser concluída. Desativado por padrão porque a atualização muda o prompt do sistema no meio da sessão, o que invalida [cache de prompt](/docs/pt/prompt-caching) para essa volta |284| `CLAUDE_CODE_ENABLE_AUTO_MODE` | Aceito para compatibilidade com versões mais antigas e não tem efeito. Modo auto está disponível por padrão em cada provedor, incluindo Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry e sessões [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway) conectadas. Na v2.1.158 através v2.1.206, definir isso como `1` era necessário para tornar [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) disponível nesses provedores |

284| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Defina como `1` para rotear a pesquisa de qualidade de sessão "How is Claude doing?" para seu próprio [coletor OpenTelemetry](/docs/pt/monitoring-usage) quando tráfego não essencial vinculado a Anthropic é bloqueado. Classificações de pesquisa são emitidas apenas como eventos OTEL para seu coletor configurado. Nenhum dado de pesquisa é enviado para Anthropic neste modo. Aplica-se quando `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_TELEMETRY`, ou `DO_NOT_TRACK` está definido, e não tem efeito caso contrário. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` e a política de feedback de produto da organização têm precedência |285| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Substitua disponibilidade de [recapitulação de sessão](/docs/pt/interactive-mode#session-recap). Defina como `0` para forçar recapitulações desativadas independentemente do toggle `/config`. Defina como `1` para forçar recapitulações ativadas quando [`awaySummaryEnabled`](/docs/pt/settings-reference#awaysummaryenabled) é `false`. Tem precedência sobre a configuração e toggle `/config` |

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

286| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Defina como `1` para popular o seletor `/model` do endpoint `/v1/models` do seu gateway quando `ANTHROPIC_BASE_URL` aponta para um gateway compatível com Anthropic como LiteLLM, Kong, ou um proxy interno. Desativado por padrão porque gateways apoiados por uma chave de API compartilhada mostrariam a cada usuário cada modelo que a chave pode acessar. Modelos descobertos ainda são filtrados por uma lista de permissão [`availableModels`](/docs/pt/settings-reference#availablemodels) que a sessão recebe; entregue a lista através de [MDM ou arquivo de configurações gerenciadas](/docs/pt/managed-settings#delivery-mechanisms), já que [entrega gerenciada pelo servidor não está disponível em configurações de gateway](/docs/pt/server-managed-settings#platform-availability) |287| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Defina como `1` para rotear a pesquisa de qualidade de sessão "How is Claude doing?" para seu próprio [coletor OpenTelemetry](/docs/pt/monitoring-usage) quando tráfego não essencial vinculado a Anthropic é bloqueado. Classificações de pesquisa são emitidas apenas como eventos OTEL para seu coletor configurado. Nenhum dado de pesquisa é enviado para Anthropic neste modo. Aplica-se quando `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_TELEMETRY` ou `DO_NOT_TRACK` está definido, e não tem efeito caso contrário. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` e a política de feedback de produto da organização têm precedência |

287| `CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE` | Removido na v2.1.142, quando o padrão [modo rápido](/docs/pt/fast-mode) mudou de Opus 4.6 para Opus 4.7 |288| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | Controla se entradas de chamada de ferramenta fazem stream da API conforme Claude as gera. Com isso desativado, uma entrada de ferramenta grande como uma escrita de arquivo longa chega apenas após Claude terminar de gerá-la, o que pode parecer que está travando. Ativado por padrão na API Anthropic. No Amazon Bedrock e Google Cloud's Agent Platform, ativado por modelo onde o container implantado o suporta. Defina como `0` para desativar. Defina como `1` para forçar ativado ao rotear através de um proxy via `ANTHROPIC_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL` ou `ANTHROPIC_BEDROCK_BASE_URL`. Desativado por padrão em Microsoft Foundry e conexões [gateway](/docs/pt/llm-gateway) |

288| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Defina como `false` para desativar sugestões de prompt, as previsões acinzentadas que aparecem em sua entrada de prompt. Tem precedência sobre a configuração [`promptSuggestionEnabled`](/docs/pt/settings-reference#promptsuggestionenabled), que é o que o toggle **Prompt suggestions** em `/config` escreve. Claude Code também [pausa sugestões enquanto sua conta está próxima ou no seu limite de uso](/docs/pt/interactive-mode#when-claude-code-skips-suggestions). Defina como `true` para mantê-las ativas até atingir o limite. Requer Claude Code v2.1.238 ou posterior. Veja [Sugestões de prompt](/docs/pt/interactive-mode#prompt-suggestions) |289| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Defina como `1` para popular o seletor `/model` do endpoint `/v1/models` do seu gateway quando `ANTHROPIC_BASE_URL` aponta para um gateway compatível com Anthropic como LiteLLM, Kong ou um proxy interno. Desativado por padrão porque gateways apoiados por uma chave de API compartilhada mostrariam cada usuário cada modelo que a chave pode acessar. Modelos descobertos ainda são filtrados por uma lista de permissão [`availableModels`](/docs/pt/settings-reference#availablemodels) que a sessão recebe; entregue a lista através de [MDM ou arquivo de configurações gerenciadas](/docs/pt/managed-settings#delivery-mechanisms), já que [entrega gerenciada pelo servidor não está disponível em configurações de gateway](/docs/pt/server-managed-settings#platform-availability) |

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

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

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

293| `CLAUDE_CODE_ENABLE_TELEMETRY` | Defina como `1` para ativar coleta de dados OpenTelemetry para métricas e logging. Necessário antes de configurar exportadores OTel. Defina em seu shell, configurações de usuário ou configurações gerenciadas. Ignorado em [configurações de projeto e local](/docs/pt/settings-reference#variables-claude-code-ignores-in-env). Veja [Monitoramento](/docs/pt/monitoring-usage) |

291| `CLAUDE_CODE_ENABLE_TODO_TOOLS` | Defina como `1` para obter as ferramentas de rastreamento de tarefas em cada modelo. Sem isso, Claude Code as fornece por padrão apenas nos modelos listados em [Disponibilidade de 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 |294| `CLAUDE_CODE_ENABLE_TODO_TOOLS` | Defina como `1` para obter as ferramentas de rastreamento de tarefas em cada modelo. Sem isso, Claude Code as fornece por padrão apenas nos modelos listados em [Disponibilidade de 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 |

292| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | Tempo em milissegundos para aguardar após o loop de consulta ficar ocioso antes de sair automaticamente. Útil para fluxos de trabalho automatizados e scripts usando modo SDK |295| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | Tempo em milissegundos para aguardar após o loop de consulta ficar ocioso antes de sair automaticamente. Útil para workflows automatizados e scripts usando modo SDK |

293| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Defina como `1` para ativar [equipes de agentes](/docs/pt/agent-teams). Equipes de agentes são experimentais e desabilitadas por padrão |296| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Defina como `1` para ativar [equipes de agentes](/docs/pt/agent-teams). Equipes de agentes são experimentais e desabilitadas por padrão |

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

295| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Substitua o limite de token padrão para leituras de arquivo. Útil quando você precisa ler arquivos maiores integralmente |298| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Substitua o limite de token padrão para leituras de arquivo. Útil quando você precisa ler arquivos maiores completamente |

296| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | Defina como `1` para forçar persistência de transcrição, histórico de prompt, e registro `claude agents` mesmo quando este `claude` foi iniciado de dentro de outra sessão Claude Code. Use quando um valor `CLAUDE_CODE_CHILD_SESSION` herdado, por exemplo de uma sessão `screen` ou um lançador em segundo plano iniciado primeiro pela ferramenta Bash de Claude Code, causa uma sessão genuína de nível superior ser mal classificada como aninhada. A partir da v2.1.178, Claude Code detecta o caso tmux automaticamente e ignora o marcador herdado, para que tmux não precise mais dessa variável. Também honrado na v2.1.169 e anterior; não tem efeito na v2.1.170 e v2.1.171, onde a detecção de sessão aninhada que substitui foi removida |299| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | Defina como `1` para forçar persistência de transcrição, histórico de prompt e registro `claude agents` mesmo quando este `claude` foi iniciado de dentro de outra sessão Claude Code. Use quando um valor `CLAUDE_CODE_CHILD_SESSION` herdado, por exemplo de uma sessão `screen` ou um launcher em background iniciado primeiro pela ferramenta Bash de Claude Code, causa uma sessão genuína de nível superior a ser mal classificada como aninhada. A partir da v2.1.178, Claude Code detecta o caso tmux automaticamente e ignora o marcador herdado, para que tmux não precise mais dessa variável. Também honrado na v2.1.169 e anterior; não tem efeito na v2.1.170 e v2.1.171, onde a detecção de sessão aninhada que substitui foi removida |

297| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | Defina como `1` para forçar renderização de tachado para `~~text~~` nas respostas de Claude quando seu terminal o suporta mas não é auto-detectado, como sobre SSH sem `TERM_PROGRAM` encaminhado. Sem isso, terminais não detectados mostram os marcadores `~~` literais em vez de renderizar o texto como tachado. Requer Claude Code v2.1.186 ou posterior |300| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | Defina como `1` para forçar renderização de tachado para `~~text~~` nas respostas de Claude quando seu terminal o suporta mas não é auto-detectado, como sobre SSH sem `TERM_PROGRAM` encaminhado. Sem isso, terminais não detectados mostram os marcadores literais `~~` em vez de renderizar o texto como tachado. Requer Claude Code v2.1.186 ou posterior |

298| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Defina como `1` para forçar ativação do modo privado DEC 2026 [saída sincronizada](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) quando seu terminal o suporta mas não é auto-detectado. Útil para emuladores como `eat` do Emacs que implementam BSU/ESU mas não respondem à sonda de capacidade. Não tem efeito sob tmux. Diferentemente de `CLAUDE_CODE_NO_FLICKER`, que muda para [renderização fullscreen](/docs/pt/fullscreen), isso não muda o renderizador |301| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Defina como `1` para forçar ativação do modo privado DEC 2026 [saída sincronizada](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) quando seu terminal o suporta mas não é auto-detectado. Útil para emuladores como `eat` do Emacs que implementam BSU/ESU mas não respondem à sonda de capacidade. Não tem efeito sob tmux. Diferentemente de `CLAUDE_CODE_NO_FLICKER`, que muda para [renderização fullscreen](/docs/pt/fullscreen), isso não muda o renderizador |

299| `CLAUDE_CODE_FORK_SUBAGENT` | Controla [modo fork](/docs/pt/sub-agents#turn-fork-mode-on-or-off), que permite Claude gerar [subagentes bifurcados](/docs/pt/sub-agents#fork-the-current-conversation) e está ativo por padrão apenas em sessões interativas. Defina como `1` para ativá-lo em `claude -p` e Agent SDK também, ou `0` para desativá-lo em todo tipo de sessão. Você pode executar `/subtask` independentemente de modo fork estar ativo. O padrão interativo requer Claude Code v2.1.232 ou posterior; em versões anteriores, defina a variável como `1` para ativar modo fork |302| `CLAUDE_CODE_FORK_SUBAGENT` | Controla [modo fork](/docs/pt/sub-agents#turn-fork-mode-on-or-off), que permite Claude gerar [subagentes bifurcados](/docs/pt/sub-agents#fork-the-current-conversation) e está ativado por padrão apenas em sessões interativas. Defina como `1` para ativá-lo em `claude -p` e Agent SDK também, ou `0` para desativá-lo em todo tipo de sessão. Você pode executar `/subtask` independentemente de modo fork estar ativado. O padrão interativo requer Claude Code v2.1.232 ou posterior; em versões anteriores, defina a variável como `1` para ativar modo fork |

300| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | Defina como `1` para emitir blocos de texto e pensamento de [subagente](/docs/pt/sub-agents) na saída `claude -p --output-format stream-json`, o mesmo comportamento que a flag [`--forward-subagent-text`](/docs/pt/cli-reference#cli-flags). Use a variável quando um harness invoca `claude` e não pode passar a flag. Diferentemente da flag, que sai com um erro fora do modo não interativo com saída stream-json, a variável é ignorada lá para que invocações aninhadas continuem funcionando quando está definida em todo o processo. Requer Claude Code v2.1.211 ou posterior |303| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | Defina como `1` para emitir blocos de texto e pensamento de [subagente](/docs/pt/sub-agents) em saída `claude -p --output-format stream-json`, o mesmo comportamento que a flag [`--forward-subagent-text`](/docs/pt/cli-reference#cli-flags). Use a variável quando um harness invoca `claude` e não pode passar a flag. Diferentemente da flag, que sai com um erro fora do modo não interativo com saída stream-json, a variável é ignorada lá para que invocações aninhadas continuem funcionando quando está definida em todo o processo. Requer Claude Code v2.1.211 ou posterior |

301| `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 um provedor de terceiros como Amazon Bedrock ou Claude Platform on AWS. Defina como `0` para parar de enviá-los em cada conexão, incluindo uma conexão direta com a API Anthropic, onde Claude Code os envia por padrão. Requer Claude Code v2.1.273 ou posterior |304| `CLAUDE_CODE_GATEWAY_HINT_HEADERS` | Defina como `1` para enviar os [cabeçalhos de dica de gateway](/docs/pt/llm-gateway-protocol#gateway-hint-headers), como `x-claude-code-request-class` e `x-claude-code-compaction`, em um proxy personalizado ou provedor de terceiros como Amazon Bedrock ou Claude Platform on AWS. Defina como `0` para parar de enviá-los em cada conexão, incluindo uma conexão direta com a API Anthropic, onde Claude Code os envia por padrão. Requer Claude Code v2.1.273 ou posterior |

302| `CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS` | Timeout em milissegundos para a solicitação [descoberta de modelo de gateway](/docs/pt/llm-gateway-protocol#model-discovery) que `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` ativa (padrão: `3000`). Aumente quando seu gateway precisa de mais de três segundos para responder `/v1/models` na inicialização. Aceita apenas dígitos simples; `0`, valores negativos, e outras grafias mantêm o padrão. Requer Claude Code v2.1.269 ou posterior |305| `CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS` | Timeout em milissegundos para a solicitação de [descoberta de modelo de gateway](/docs/pt/llm-gateway-protocol#model-discovery) que `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` ativa (padrão: `3000`). Aumente quando seu gateway precisa de mais de três segundos para responder `/v1/models` na inicialização. Aceita apenas dígitos simples; `0`, valores negativos e outras grafias mantêm o padrão. Requer Claude Code v2.1.269 ou posterior |

303| `CLAUDE_CODE_GIT_BASH_PATH` | Apenas Windows: caminho para o executável Git Bash (`bash.exe`). Use quando Git Bash está instalado mas não em seu PATH. Se o caminho não existir ou o arquivo não for nomeado `bash.exe`, `sh.exe`, `bash`, ou `sh`, Claude Code ignora a variável e auto-detecta Git Bash como se estivesse não definida, registrando um aviso visível com `--debug`. Antes da v2.1.219, Claude Code saía na inicialização quando o caminho não existia, e usava qualquer arquivo existente como shell sem verificar que era bash ou sh. Veja [Configuração Windows](/docs/pt/setup#set-up-on-windows) |306| `CLAUDE_CODE_GIT_BASH_PATH` | Apenas Windows: caminho para o executável Git Bash (`bash.exe`). Use quando Git Bash está instalado mas não em seu PATH. Se o caminho não existir ou o arquivo não for nomeado `bash.exe`, `sh.exe`, `bash` ou `sh`, Claude Code ignora a variável e auto-detecta Git Bash como se não estivesse definida, registrando um aviso visível com `--debug`. Antes da v2.1.219, Claude Code saía na inicialização quando o caminho não existia e usava qualquer arquivo existente como shell sem verificar que era bash ou sh. Veja [Configuração Windows](/docs/pt/setup#set-up-on-windows) |

304| `CLAUDE_CODE_GLOB_HIDDEN` | Defina como `false` para excluir dotfiles de resultados quando Claude invoca a [ferramenta Glob](/docs/pt/tools-reference#glob-tool-behavior). Incluído por padrão. Não afeta autocompletar `@` de arquivo, `ls`, Grep, ou Read |307| `CLAUDE_CODE_GLOB_HIDDEN` | Defina como `false` para excluir dotfiles dos resultados quando Claude invoca a [ferramenta Glob](/docs/pt/tools-reference#glob-tool-behavior). Incluído por padrão. Não afeta autocompletar `@`, `ls`, Grep ou Read |

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

306| `CLAUDE_CODE_GLOB_TIMEOUT_SECONDS` | Timeout em segundos para descoberta de arquivo da ferramenta Glob. Padrão é 20 segundos na maioria das plataformas e 60 segundos no WSL |309| `CLAUDE_CODE_GLOB_TIMEOUT_SECONDS` | Timeout em segundos para descoberta de arquivo da ferramenta Glob. Padrão 20 segundos na maioria das plataformas e 60 segundos no WSL |

307| `CLAUDE_CODE_GOAL_CHECKIN_MINUTES` | Quantos minutos trabalho em segundo plano pode manter um objetivo ativo esperando antes de Claude Code [pedir a Claude para verificá-lo](/docs/pt/goal#background-work-defers-evaluation). Padrão `30`. Defina `0` para desativar check-ins. Dê minutos inteiros em dígitos simples, no máximo `10080`, que é uma semana. Claude Code trata qualquer outro valor como não definido e usa o padrão. Requer Claude Code v2.1.234 ou posterior |310| `CLAUDE_CODE_GOAL_CHECKIN_MINUTES` | Quantos minutos o trabalho em background pode manter uma meta ativa aguardando antes de Claude Code [pedir a Claude para verificá-la](/docs/pt/goal#background-work-defers-evaluation). Padrão `30`. Defina `0` para desativar check-ins. Dê minutos inteiros em dígitos simples, no máximo `10080`, que é uma semana. Claude Code trata qualquer outro valor como não definido e usa o padrão. Requer Claude Code v2.1.234 ou posterior |

308| `CLAUDE_CODE_HIDE_CWD` | Defina como `1` para ocultar o diretório de trabalho no logo de inicialização. Útil para compartilhamentos de tela ou gravações onde o caminho expõe seu nome de usuário do SO |311| `CLAUDE_CODE_HIDE_CWD` | Defina como `1` para ocultar o diretório de trabalho no logo de inicialização. Útil para compartilhamentos de tela ou gravações onde o caminho expõe seu nome de usuário do SO |

309| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | Substitua o endereço de host usado para conectar à extensão IDE. Por padrão Claude Code auto-detecta o endereço correto, incluindo roteamento WSL-para-Windows |312| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | Substitua o endereço de host usado para conectar à extensão IDE. Por padrão, Claude Code auto-detecta o endereço correto, incluindo roteamento WSL-para-Windows |

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

311| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | Defina como `1` para pular validação de entradas de arquivo de bloqueio IDE durante conexão. Use quando auto-conexão falha em encontrar seu IDE apesar dele estar em execução |314| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | Defina como `1` para pular validação de entradas de arquivo de bloqueio IDE durante conexão. Use quando auto-conexão falha em encontrar seu IDE apesar dele estar em execução |

312| `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` | Quantos [subagentes](/docs/pt/sub-agents#concurrent-subagent-limit) podem estar em execução em uma sessão antes da ferramenta Agent recusar gerar outro (padrão: 20). Aceita um número inteiro positivo em dígitos simples; qualquer outra coisa é ignorada, para que a variável possa ajustar o limite mas não desabilitá-lo. Requer Claude Code v2.1.217 ou posterior |315| `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` | Quantos [subagentes](/docs/pt/sub-agents#concurrent-subagent-limit) podem estar em execução em uma sessão antes da ferramenta Agent recusar gerar outro (padrão: 20). Aceita um número inteiro positivo em dígitos simples; qualquer outra coisa é ignorada, para que a variável possa ajustar o limite mas não desabilitá-lo. Requer Claude Code v2.1.217 ou posterior |

313| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Substitua o tamanho da janela de contexto que Claude Code assume para o modelo ativo. A partir da v2.1.193, como se aplica depende de como Claude Code resolve o ID do modelo; veja [Corrigir a janela para um ID de modelo gateway ou personalizado](/docs/pt/model-config#correct-the-window-for-a-gateway-or-custom-model-id). Use isso ao rotear para um modelo através de `ANTHROPIC_BASE_URL` cuja janela de contexto não corresponde ao tamanho integrado para seu nome |316| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Substitua o tamanho da janela de contexto que Claude Code assume para o modelo ativo. A partir da v2.1.193, como se aplica depende de como Claude Code resolve o ID do modelo; veja [Corrigir a janela para um ID de modelo de gateway ou personalizado](/docs/pt/model-config#correct-the-window-for-a-gateway-or-custom-model-id). Use isso ao rotear para um modelo através de `ANTHROPIC_BASE_URL` cuja janela de contexto não corresponde ao tamanho integrado para seu nome |

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

315| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Defina o número máximo de tokens de saída para a maioria das solicitações. Padrões e limites variam por modelo; veja [max output tokens](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). Claude Code padrão para 32000 para IDs de modelo que não reconhece, como nomes específicos de gateway, e reduz valores acima do limite de um modelo para o limite. Aumentar esse valor reduz a janela de contexto efetiva disponível antes de [auto-compactação](/docs/pt/costs#reduce-token-usage) ser acionada |318| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Defina o número máximo de tokens de saída para a maioria das solicitações. Padrões e limites variam por modelo; veja [max output tokens](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). Claude Code padrão para 32000 para IDs de modelo que não reconhece, como nomes específicos de gateway, e reduz valores acima do limite de um modelo para o limite. Aumentar esse valor reduz a janela de contexto efetiva disponível antes de [auto-compactação](/docs/pt/costs#reduce-token-usage) ser acionada |

316| `CLAUDE_CODE_MAX_RETRIES` | Substitua o número de vezes para tentar novamente solicitações de API falhadas (padrão: 10). Limitado a 15 a partir da v2.1.186; a partir da v2.1.199, `CLAUDE_CODE_RETRY_WATCHDOG` aumenta o padrão e remove o limite. Para sessões não supervisionadas que precisam aguardar através de interrupções mais longas, defina `CLAUDE_CODE_RETRY_WATCHDOG` |319| `CLAUDE_CODE_MAX_RETRIES` | Substitua o número de vezes para tentar novamente solicitações de API falhadas (padrão: 10). Limitado a 15 a partir da v2.1.186; a partir da v2.1.199, `CLAUDE_CODE_RETRY_WATCHDOG` aumenta o padrão e remove o limite. Para sessões não supervisionadas que precisam aguardar através de interrupções mais longas, defina `CLAUDE_CODE_RETRY_WATCHDOG` |

317| `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` | Removido na v2.1.224 e agora é um no-op. Anteriormente limitava o número total de [subagentes](/docs/pt/sub-agents) que Claude poderia gerar com a ferramenta Agent em uma sessão (padrão: 200); gerar além do limite falhava com `Subagent spawn limit reached`. O [limite de subagente concorrente](/docs/pt/sub-agents#concurrent-subagent-limit) e o [limite de profundidade](/docs/pt/sub-agents#let-subagents-spawn-their-own-subagents) ainda se aplicam |320| `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` | Removido na v2.1.224 e agora é um no-op. Anteriormente limitava o número total de [subagentes](/docs/pt/sub-agents) que Claude poderia gerar com a ferramenta Agent em uma sessão (padrão: 200); gerar além do limite falhava com `Subagent spawn limit reached`. O [limite de subagente concorrente](/docs/pt/sub-agents#concurrent-subagent-limit) e o [limite de profundidade](/docs/pt/sub-agents#let-subagents-spawn-their-own-subagents) ainda se aplicam |

318| `CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH` | Número de [camadas de subagente](/docs/pt/sub-agents#let-subagents-spawn-their-own-subagents) permitidas abaixo da conversa principal (padrão: 3). No padrão, subagentes podem gerar seus próprios subagentes, e um subagente na terceira camada não pode gerar mais; defina `1` para desativar aninhamento. Na v2.1.217 através v2.1.218, o padrão era 1, para que um subagente não pudesse gerar seu próprio a menos que você aumentasse o limite; v2.1.219 aumentou o padrão para 3. Aceita um número inteiro positivo em dígitos simples; qualquer outra coisa é ignorada, para que o limite possa ser ajustado mas não removido. Requer Claude Code v2.1.217 ou posterior |321| `CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH` | Número de [camadas de subagente](/docs/pt/sub-agents#let-subagents-spawn-their-own-subagents) permitidas abaixo da conversa principal (padrão: 3). No padrão, subagentes podem gerar seus próprios subagentes, e um subagente na terceira camada não pode gerar mais; defina `1` para desativar aninhamento. Na v2.1.217 através v2.1.218, o padrão era 1, para que um subagente não pudesse gerar seu próprio a menos que você aumentasse o limite; v2.1.219 aumentou o padrão para 3. Aceita um número inteiro positivo em dígitos simples; qualquer outra coisa é ignorada, para que o limite possa ser ajustado mas não removido. Requer Claude Code v2.1.217 ou posterior |

319| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | Número máximo de ferramentas somente leitura e subagentes que podem executar em paralelo (padrão: 10). Valores mais altos aumentam paralelismo mas consomem mais recursos |322| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | Número máximo de ferramentas somente leitura e subagentes que podem executar em paralelo (padrão: 10). Valores mais altos aumentam paralelismo mas consomem mais recursos |

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

321| `CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION` | Limite no número total de chamadas [WebSearch](/docs/pt/tools-reference#websearch-tool-behavior) que uma sessão pode fazer (padrão: 200). Quando Claude atinge o limite, chamadas WebSearch adicionais retornam um aviso dizendo a ele para continuar com as informações que já reuniu. Aceita um número inteiro positivo sem limite superior. Qualquer outra coisa é ignorada e o padrão se aplica, para que o limite possa ser aumentado mas não desativado. Requer Claude Code v2.1.212 ou posterior |324| `CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION` | Limite no número total de chamadas [WebSearch](/docs/pt/tools-reference#websearch-tool-behavior) que uma sessão pode fazer (padrão: 200). Quando Claude atinge o limite, chamadas WebSearch adicionais retornam um aviso dizendo a ele para continuar com as informações que já reuniu. Aceita um número inteiro positivo sem limite superior. Qualquer outra coisa é ignorada e o padrão se aplica, para que o limite possa ser aumentado mas não desativado. Requer Claude Code v2.1.212 ou posterior |

322| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | Defina como `1` para gerar servidores MCP stdio com apenas um ambiente de linha de base segura mais o `env` configurado do servidor, em vez de herdar seu ambiente de shell |325| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | Defina como `1` para gerar servidores MCP stdio com apenas um ambiente de linha de base seguro mais o `env` configurado do servidor, em vez de herdar seu ambiente de shell |

323| `CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS` | Tempo decorrido em milissegundos antes de uma chamada de ferramenta MCP ainda em execução [mover para uma tarefa em segundo plano](/docs/pt/mcp#automatic-backgrounding-of-long-tool-calls) (padrão: 120000, ou 2 minutos). Defina como `0` para desativar backgrounding automático. Requer Claude Code v2.1.212 ou posterior |326| `CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS` | Tempo decorrido em milissegundos antes de uma chamada de ferramenta MCP ainda em execução [se mover para uma tarefa em background](/docs/pt/mcp#automatic-backgrounding-of-long-tool-calls) (padrão: 120000, ou 2 minutos). Defina como `0` para desativar backgrounding automático. Requer Claude Code v2.1.212 ou posterior |

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

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

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

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

328| `CLAUDE_CODE_NATIVE_CURSOR` | Defina como `1` para mostrar o cursor próprio do terminal na marca de inserção em vez de um bloco desenhado. O cursor respeita as configurações de piscar, forma e foco do terminal |331| `CLAUDE_CODE_NATIVE_CURSOR` | Defina como `1` para mostrar o cursor próprio do terminal na marca de inserção em vez de um bloco desenhado. O cursor respeita as configurações de piscar, forma e foco do terminal |

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

330| `CLAUDE_CODE_NONBLOCKING_STDOUT` | Defina como `1` para escrever saída de terminal através de um segundo descritor de arquivo não bloqueante, para que um terminal que para de ler, como um painel tmux em modo de controle pausado ou uma conexão SSH travada, não possa congelar Claude Code no meio da sessão. Aplica-se no macOS, Linux, e WSL quando stdout é um terminal. Requer Claude Code v2.1.261 ou posterior |333| `CLAUDE_CODE_NONBLOCKING_STDOUT` | Defina como `1` para escrever saída de terminal através de um segundo descritor de arquivo não bloqueante, para que um terminal que para de ler, como um painel tmux control-mode pausado ou uma conexão SSH travada, não possa congelar Claude Code no meio da sessão. Aplica-se em macOS, Linux e WSL quando stdout é um terminal. Requer Claude Code v2.1.261 ou posterior |

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

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

333| `CLAUDE_CODE_OAUTH_SCOPES` | Escopos OAuth separados por espaço que o token de atualização foi emitido com, como `"user:profile user:inference user:sessions:claude_code"`. Necessário quando `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` está definido |336| `CLAUDE_CODE_OAUTH_SCOPES` | Escopos OAuth separados por espaço que o token de atualização foi emitido com, como `"user:profile user:inference user:sessions:claude_code"`. Obrigatório quando `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` está definido |

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

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

336| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | Comprimento máximo de atributos OpenTelemetry que carregam conteúdo (respostas de modelo, conteúdo de ferramenta, prompts do sistema, corpos de API brutos), marcador de truncamento incluído, em unidades de código UTF-16 (padrão: 61440, ou seja, 60 KB). Aumente apenas se seu backend de telemetria aceita valores de atributo maiores que 64 KB, ou reduza para cortar volume de telemetria. Requer Claude Code v2.1.214 ou posterior. Veja [Monitoramento](/docs/pt/monitoring-usage) |339| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | Comprimento máximo de atributos OpenTelemetry que carregam conteúdo (respostas de modelo, conteúdo de ferramenta, prompts do sistema, corpos de API brutos), marcador de truncamento incluído, em unidades de código UTF-16 (padrão: 61440, ou seja, 60 KB). Aumente apenas se seu backend de telemetria aceita valores de atributo maiores que 64 KB, ou reduza para cortar volume de telemetria. Requer Claude Code v2.1.214 ou posterior. Veja [Monitoramento](/docs/pt/monitoring-usage) |

337| `CLAUDE_CODE_OTEL_DIAG_STDERR` | Defina como `1` para escrever erros diagnósticos do exportador OpenTelemetry para stderr. Por padrão esses erros aparecem apenas com `--debug`, para que um exportador mal configurado como uma colisão de porta Prometheus falhe silenciosamente. Requer Claude Code v2.1.179 ou posterior. Veja [Monitoramento](/docs/pt/monitoring-usage) |340| `CLAUDE_CODE_OTEL_DIAG_STDERR` | Defina como `1` para escrever erros de diagnóstico do exportador OpenTelemetry para stderr. Por padrão, esses erros aparecem apenas com `--debug`, para que um exportador mal configurado como uma colisão de porta Prometheus falhe silenciosamente. Requer Claude Code v2.1.179 ou posterior. Veja [Monitoramento](/docs/pt/monitoring-usage) |

338| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Timeout em milissegundos para liberar spans OpenTelemetry pendentes (padrão: 5000). Veja [Monitoramento](/docs/pt/monitoring-usage) |341| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Timeout em milissegundos para liberar spans OpenTelemetry pendentes (padrão: 5000). Veja [Monitoramento](/docs/pt/monitoring-usage) |

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

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

341| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | Defina como `1` para deixar Claude Code executar o comando de atualização do seu gerenciador de pacotes em segundo plano quando uma nova versão está disponível. Aplica-se a instalações Homebrew e WinGet. Outros gerenciadores de pacotes continuam mostrando o comando de atualização sem executá-lo. Veja [Auto-atualizações](/docs/pt/setup#auto-updates) |344| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | Defina como `1` para permitir que Claude Code execute o comando de upgrade do seu gerenciador de pacotes em background quando uma nova versão está disponível. Aplica-se a instalações Homebrew e WinGet. Outros gerenciadores de pacotes continuam mostrando o comando de upgrade sem executá-lo. Veja [Auto-atualizações](/docs/pt/setup#auto-updates) |

342| `CLAUDE_CODE_PERFORCE_MODE` | Defina como `1` para ativar proteção de escrita ciente de Perforce. Quando definido, Edit, Write, e NotebookEdit falham com uma dica `p4 edit <file>` se o arquivo alvo não tiver o bit de escrita do proprietário, que Perforce limpa em arquivos sincronizados até `p4 edit` abri-los. Isso evita que Claude Code contorne rastreamento de mudança Perforce |345| `CLAUDE_CODE_PERFORCE_MODE` | Defina como `1` para ativar proteção de escrita ciente de Perforce. Quando definido, Edit, Write e NotebookEdit falham com uma dica `p4 edit <file>` se o arquivo de destino não tiver o bit de escrita do proprietário, que Perforce limpa em arquivos sincronizados até `p4 edit` abri-los. Isso evita que Claude Code contorne rastreamento de mudança Perforce |

343| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | Substitua o diretório raiz de plugins. Apesar do nome, isso define o diretório pai, não o cache em si: marketplaces e o cache de plugin vivem em subdiretórios sob esse caminho. Padrão é `~/.claude/plugins` |346| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | Substitua o diretório raiz de plugins. Apesar do nome, isso define o diretório pai, não o cache em si: marketplaces e o cache de plugin vivem em subdiretórios sob esse caminho. Padrão é `~/.claude/plugins` |

344| `CLAUDE_CODE_PLUGIN_DIRS` | Diretórios de plugin para carregar para a sessão, cada um carregado da forma que uma flag [`--plugin-dir`](/docs/pt/plugins#test-your-plugins-locally) carrega. Separe múltiplos caminhos com `:` no Unix ou `;` no Windows. Dê cada caminho como um caminho absoluto ou comece com `~`, porque Claude Code pula caminhos relativos. Requer Claude Code v2.1.280 ou posterior |347| `CLAUDE_CODE_PLUGIN_DIRS` | Diretórios de plugin para carregar para a sessão, cada um carregado da forma que uma flag [`--plugin-dir`](/docs/pt/plugins/cli-reference#flags-that-load-a-plugin-for-one-session) carrega. Separe múltiplos caminhos com `:` em Unix ou `;` no Windows. Dê cada caminho como um caminho absoluto ou comece com `~`, porque Claude Code pula caminhos relativos. Requer Claude Code v2.1.280 ou posterior. Veja [Carregar um plugin para uma sessão](/docs/pt/plugins/create#load-a-directory-or-archive-for-one-session) |

345| `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS` | Timeout em milissegundos para operações git ao instalar ou atualizar plugins (padrão: 120000). Aumente esse valor para repositórios grandes ou conexões de rede lentas. Veja [Operações Git expiram](/docs/pt/plugin-marketplaces#git-operations-time-out) |348| `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS` | Timeout em milissegundos para clonar ou atualizar um marketplace de plugin (padrão: 120000). Aumente esse valor para repositórios grandes ou conexões de rede lentas. Veja [Git clone expirou](/docs/pt/plugins/troubleshooting#git-clone-timed-out-after-120s) |

346| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | Defina como `1` para pular a tentativa de re-clone e manter usando o cache de marketplace existente quando um `git pull` falha. Útil em ambientes offline ou airgapped onde re-clonar falharia da mesma forma. Veja [Atualizações de Marketplace falham em ambientes offline](/docs/pt/plugin-marketplaces#marketplace-updates-fail-in-offline-environments) |349| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | Defina como `1` para pular a tentativa de re-clone e continuar usando o checkout de marketplace existente quando uma atualização de marketplace não consegue alcançar ou autenticar no remoto. Útil em ambientes offline ou airgapped onde re-clonar falharia da mesma forma. Veja [Atualizações de Marketplace falham em ambientes offline](/docs/pt/plugins/troubleshooting#marketplace-updates-keep-failing-offline) |

347| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | Defina como `1` para clonar atalhos `owner/repo` do GitHub sobre HTTPS em vez de SSH. Aplica-se a instalação e atualização de plugin, e a `/plugin marketplace add` e `update`. Útil em executores CI, containers, ou qualquer ambiente sem uma chave SSH configurada para `github.com` |350| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | Defina como `1` para clonar fontes de atalho GitHub `owner/repo` sobre HTTPS em vez de SSH. Aplica-se a instalação e atualização de plugin, e a `/plugin marketplace add` e `update`. Útil em runners CI, containers ou qualquer ambiente sem uma chave SSH configurada para `github.com` |

348| `CLAUDE_CODE_PLUGIN_SEED_DIR` | Caminho para um ou mais diretórios de seed de plugin somente leitura, separados por `:` no Unix ou `;` no Windows. Use isso para agrupar um diretório de plugins pré-populado em uma imagem de container. Claude Code registra marketplaces desses diretórios na inicialização e usa plugins pré-em cache sem re-clonar. Veja [Pré-popular plugins para containers](/docs/pt/plugin-marketplaces#pre-populate-plugins-for-containers) |351| `CLAUDE_CODE_PLUGIN_SEED_DIR` | Caminho para um ou mais diretórios de seed de plugin somente leitura, separados por `:` em Unix ou `;` no Windows. Use isso para agrupar um diretório de plugins pré-populado em uma imagem de container. Claude Code registra marketplaces desses diretórios na inicialização e usa plugins pré-armazenados em cache sem re-clonar. Veja [Pré-popular plugins para containers](/docs/pt/plugins/org#seed-containers-and-ci) |

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

350| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | Teto em milissegundos em espera ociosa para subagentes em segundo plano e fluxos de trabalho após a volta final em [modo não interativo](/docs/pt/headless#background-tasks-at-exit) com a flag `-p`. Espera ociosa começa novamente cada vez que Claude toma uma volta para lidar com um resultado em segundo plano. Padrão: `600000`, ou 10 minutos. Quando espera ociosa atinge o teto, Claude Code para de aguardar as tarefas em segundo plano restantes e sai. Defina como `0` para aguardar indefinidamente. Esse limite é separado do período de graça de cinco segundos que se aplica a shells em segundo plano simples. Requer Claude Code v2.1.182 ou posterior |353| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | Teto em milissegundos na espera ociosa por subagentes em background e workflows após o turno final em [modo não interativo](/docs/pt/headless#background-tasks-at-exit) com a flag `-p`. A espera ociosa começa novamente cada vez que Claude toma um turno para lidar com um resultado em background. Padrão: `600000`, ou 10 minutos. Quando a espera ociosa atinge o teto, Claude Code para de aguardar as tarefas em background restantes e sai. Defina como `0` para aguardar indefinidamente. Esse limite é separado do período de graça de cinco segundos que se aplica a shells em background simples. Requer Claude Code v2.1.182 ou posterior |

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

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

353| `CLAUDE_CODE_PROMPT_CACHE_TTL` | Defina `5m` ou `1h`, os únicos valores que Claude Code aceita, para escolher o [TTL de cache de prompt](/docs/pt/prompt-caching#cache-lifetime) para a conversa principal: suas voltas interativas, `-p`, e SDK, mais os helpers que executam inline com elas. Tem precedência sobre a configuração `promptCacheTtl` e sobre `ENABLE_PROMPT_CACHING_1H`, e `FORCE_PROMPT_CACHING_5M` a substitui. Escritas de cache de 1 hora são faturadas a uma taxa mais alta. Requer Claude Code v2.1.242 ou posterior |356| `CLAUDE_CODE_PROMPT_CACHE_TTL` | Defina `5m` ou `1h`, os únicos valores que Claude Code aceita, para escolher o [TTL de cache de prompt](/docs/pt/prompt-caching#cache-lifetime) para a conversa principal: seus turnos interativos, `-p` e SDK, mais os helpers que executam inline com eles. Tem precedência sobre a configuração `promptCacheTtl` e sobre `ENABLE_PROMPT_CACHING_1H`, e `FORCE_PROMPT_CACHING_5M` a substitui. A API cobra escritas de cache de 1 hora a uma taxa mais alta. Requer Claude Code v2.1.242 ou posterior |

354| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | Defina como `1` para propagar contexto de rastreamento W3C quando `ANTHROPIC_BASE_URL` aponta para um proxy personalizado. Propagação cobre o cabeçalho `traceparent` em solicitações de modelo e MCP HTTP e a variável de ambiente `TRACEPARENT` para subprocessos Bash, PowerShell, e hook. Por padrão, propagação está ativada apenas quando conectado diretamente à API Anthropic. Adicionado na v2.1.152. Veja [Rastreamentos (beta)](/docs/pt/monitoring-usage#traces-beta) |357| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | Defina como `1` para propagar contexto de rastreamento W3C quando `ANTHROPIC_BASE_URL` aponta para um proxy personalizado. A propagação cobre o cabeçalho `traceparent` em solicitações de modelo e MCP HTTP e a variável de ambiente `TRACEPARENT` para subprocessos Bash, PowerShell e hook. Por padrão, a propagação é ativada apenas quando conectado diretamente à API Anthropic. Adicionado na v2.1.152. Veja [Rastreamentos (beta)](/docs/pt/monitoring-usage#traces-beta) |

355| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | Defina por plataformas host que incorporam Claude Code e gerenciam roteamento de provedor de modelo em seu nome. Quando definido, Claude Code ignora variáveis de seleção de provedor, endpoint, e autenticação como `CLAUDE_CODE_USE_BEDROCK`, `ANTHROPIC_BASE_URL`, e `ANTHROPIC_API_KEY` em arquivos de configurações, para que configurações de usuário não possam substituir o roteamento do host. Claude Code também ignora chaves de seleção de modelo como `model`, `fallbackModel`, e `modelOverrides` em [configurações gerenciadas](/docs/pt/managed-settings), qualquer que seja a fonte gerenciada que as entregue, para que a configuração de modelo do host tenha precedência sobre um pin de modelo desatualizado. Claude Code também ignora variáveis de seleção de modelo como `ANTHROPIC_MODEL` e a família `ANTHROPIC_DEFAULT_*_MODEL` em um bloco `env` gerenciado; uma lista de permissão [`availableModels`](/docs/pt/model-config#restrict-model-selection) em configurações gerenciadas ainda se aplica a menos que o host forneça a sua. Claude Code também pula o opt-out de telemetria automática que de outra forma se aplica em provedores de terceiros como Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform, e Microsoft Foundry, para que telemetria siga o opt-out padrão `DISABLE_TELEMETRY`. Veja [Comportamentos padrão por provedor de API](/docs/pt/data-usage#default-behaviors-by-api-provider) |358| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | Defina por plataformas host que incorporam Claude Code e gerenciam roteamento de provedor de modelo em seu nome. Quando definido, Claude Code ignora variáveis de seleção de provedor, endpoint e autenticação como `CLAUDE_CODE_USE_BEDROCK`, `ANTHROPIC_BASE_URL` e `ANTHROPIC_API_KEY` em arquivos de configurações, para que configurações de usuário não possam substituir o roteamento do host. Claude Code também ignora chaves de seleção de modelo como `model`, `fallbackModel` e `modelOverrides` em [configurações gerenciadas](/docs/pt/managed-settings), qualquer que seja a fonte gerenciada que as entregue, para que a configuração de modelo do host tenha precedência sobre um pin de modelo desatualizado. Claude Code também ignora variáveis de seleção de modelo como `ANTHROPIC_MODEL` e a família `ANTHROPIC_DEFAULT_*_MODEL` em um bloco `env` gerenciado; uma lista de permissão [`availableModels`](/docs/pt/model-config#restrict-model-selection) em configurações gerenciadas ainda se aplica a menos que o host forneça a sua. Claude Code também pula o opt-out de telemetria automática que de outra forma se aplica em provedores de terceiros como Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform e Microsoft Foundry, para que telemetria siga o opt-out padrão `DISABLE_TELEMETRY`. Veja [Comportamentos padrão por provedor de API](/docs/pt/data-usage#default-behaviors-by-api-provider) |

356| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | Defina como `1` para permitir que o proxy execute resolução DNS em vez do chamador. Opt-in para ambientes onde o proxy deve lidar com resolução de nome de host |359| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | Defina como `1` para permitir que o proxy execute resolução de DNS em vez do chamador. Opt-in para ambientes onde o proxy deve lidar com resolução de nome de host |

357| `CLAUDE_CODE_REMOTE` | Defina automaticamente como `true` quando Claude Code está em execução como uma [sessão em nuvem](/docs/pt/claude-code-on-the-web). Leia isso de um hook ou script de configuração para detectar se você está em uma sessão em nuvem |360| `CLAUDE_CODE_REMOTE` | Defina automaticamente como `true` quando Claude Code está em execução como uma [sessão em nuvem](/docs/pt/claude-code-on-the-web). Leia isso de um hook ou script de configuração para detectar se você está em uma sessão em nuvem |

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

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

360| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Defina como `1` para retomar automaticamente se a sessão anterior terminou no meio de uma volta. Usado em modo SDK para que o modelo continue sem exigir que o SDK reenvie o prompt. Para desativar isso, desconfigurar a variável ou defini-la como `0`. Antes da v2.1.221, Claude Code ignorava `0` e outros valores falsos, para que definir `0` ainda acionasse a retomada no modo não interativo e desconfigurar a variável era a única forma de desativá-lo |363| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Defina como `1` para retomar automaticamente se a sessão anterior terminou no meio de um turno. Usado em modo SDK para que o modelo continue sem exigir que o SDK reenvie o prompt. Para desativar isso, desconfigurar a variável ou defini-la como `0`. Antes da v2.1.221, Claude Code ignorava `0` e outros valores falsos, para que definir `0` ainda acionasse a retomada em modo não interativo e desconfigurar a variável era a única forma de desativar |

361| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | Idade máxima em milissegundos da última mensagem de transcrição para uma sessão que terminou no meio de uma volta para continuar automaticamente na retomada. Quando a última mensagem é mais antiga que esse limite, Claude Code pula tanto a retomada automática `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` quanto a mensagem de continuação `CLAUDE_CODE_RESUME_PROMPT` injetada, e a sessão começa ociosa para que você continue explicitamente. Não definido ou `0` significa sem limite; um valor negativo ou não numérico aplica um limite de uma hora. Scripts de spawn para agentes de longa duração podem definir isso para que uma reinicialização contra uma transcrição antiga não re-execute um prompt obsoleto. Claude Code define um limite de uma hora a si mesmo quando reinicia uma sessão [agent view](/docs/pt/agent-view) travada que herdou sua conversa de uma sessão interativa. Requer Claude Code v2.1.211 ou posterior |364| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | Idade máxima em milissegundos da última mensagem de transcrição para uma sessão que terminou no meio de um turno para continuar automaticamente na retomada. Quando a última mensagem é mais antiga que esse limite, Claude Code pula a retomada automática `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` e sua mensagem de continuação `CLAUDE_CODE_RESUME_PROMPT`, e a sessão começa ociosa para que você continue explicitamente. Não definido ou `0` significa sem limite, exceto que um turno cuja última solicitação falhou com um erro de API retoma apenas enquanto esse erro tem menos de seis horas. Um valor positivo limita cada turno, incluindo aqueles; um valor negativo ou não numérico aplica um limite de uma hora. Scripts de spawn para agentes de longa duração podem definir isso para que uma reinicialização contra uma transcrição antiga não re-execute um prompt obsoleto. Claude Code define um limite de uma hora a si mesmo quando reinicia uma sessão [agent view](/docs/pt/agent-view) travada que herdou sua conversa de uma sessão interativa. Requer Claude Code v2.1.211 ou posterior |

362| `CLAUDE_CODE_RESUME_PROMPT` | Substitua a mensagem de continuação injetada ao retomar uma sessão que terminou no meio de uma volta. Padrão é `Continue from where you left off.`. Scripts de spawn para agentes de longa duração podem definir isso para uma mensagem de boot mais diretiva. Uma string vazia usa o padrão |365| `CLAUDE_CODE_RESUME_PROMPT` | Substitua a mensagem de continuação que Claude Code envia a Claude quando `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` continua um turno interrompido em vez de reenviar seu prompt, ou quando você retoma uma [chamada de ferramenta adiada](/docs/pt/hooks#defer-a-tool-call-for-later) com `-p`. Padrão é `Continue from where you left off.`. Uma string vazia usa o padrão |

363| `CLAUDE_CODE_RETRY_WATCHDOG` | Defina como `1` para sessões não supervisionadas como harnesses de avaliação, trabalhos CI, ou workers remotos. Tenta novamente erros de capacidade `429` e `529` indefinidamente em vez de falhar após `CLAUDE_CODE_MAX_RETRIES` tentativas. Claude Code falha imediatamente quando uma solicitação de velocidade padrão recebe um `429` que relata um limite de gastos ou créditos de uso esgotados, mesmo um de um [limite de gastos de gateway](/docs/pt/errors#spend-limit-reached) que reinicia em um cronograma. Antes da v2.1.239, o watchdog tentava novamente esses indefinidamente. Para solicitações de modo rápido, veja [Lidar com limites de taxa](/docs/pt/fast-mode#handle-rate-limits). O watchdog recua até 5 minutos entre tentativas, ou até o limite reiniciar quando a resposta carrega um tempo de reinicialização de limite de taxa, para que uma sessão que atinge um limite de uso aguarde a janela restante. Na v2.1.199 ou posterior também aumenta a contagem de retry padrão para outros erros transitórios, como erros de servidor, timeouts, e conexões descartadas, para 300, aproximadamente três horas de recuo, e remove o limite de 15 em `CLAUDE_CODE_MAX_RETRIES` se você definir essa variável explicitamente. Requer Claude Code v2.1.186 ou posterior |366| `CLAUDE_CODE_RETRY_WATCHDOG` | Defina como `1` para sessões não supervisionadas como harnesses de eval, trabalhos CI ou workers remotos. Tenta novamente erros de capacidade `429` e `529` indefinidamente em vez de falhar após tentativas `CLAUDE_CODE_MAX_RETRIES`. Claude Code falha imediatamente quando uma solicitação de velocidade padrão recebe um `429` que relata um limite de gastos ou créditos de uso esgotados, mesmo um de um [limite de gastos de gateway](/docs/pt/errors#spend-limit-reached) que reinicia em um cronograma. Antes da v2.1.239, o watchdog tentava novamente esses indefinidamente. Para solicitações de modo rápido, veja [Lidar com limites de taxa](/docs/pt/fast-mode#handle-rate-limits). O watchdog recua até 5 minutos entre tentativas, ou até o limite ser reiniciado quando a resposta carrega um tempo de reinicialização de limite de taxa, para que uma sessão que atinge um limite de uso aguarde a janela restante. Na v2.1.199 ou posterior, também aumenta a contagem de tentativa padrão para outros erros transitórios, como erros de servidor, timeouts e conexões descartadas, para 300, aproximadamente três horas de recuo, e remove o limite de 15 em `CLAUDE_CODE_MAX_RETRIES` se você definir essa variável explicitamente. Requer Claude Code v2.1.186 ou posterior |

364| `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 status line e sugestão de arquivo, servidores LSP, e memória automática não carregam, para solução de problemas de uma configuração quebrada. Política de configurações gerenciadas ainda se aplica, incluindo hooks configurados por política, status line, e comandos de sugestão de arquivo; plugins gerenciados, skills gerenciadas, CLAUDE.md gerenciado, e servidores MCP configurados por política não. Equivalente a passar [`--safe-mode`](/docs/pt/cli-reference#cli-flags). Processos filhos diretamente gerados herdam a variável |367| `CLAUDE_CODE_SAFE_MODE` | Defina como `1` para iniciar em modo seguro: CLAUDE.md, skills, plugins, hooks, servidores MCP, comandos personalizados e agentes, estilos de saída, workflows, temas personalizados, atalhos de teclado personalizados, comandos de status line e sugestão de arquivo, servidores LSP e memória automática não carregam, para solução de problemas de uma configuração quebrada. A política de configurações gerenciadas ainda se aplica, incluindo hooks, status line e comandos de sugestão de arquivo configurados por política; plugins gerenciados, skills gerenciadas, CLAUDE.md gerenciado e servidores MCP configurados por política não. Equivalente a passar [`--safe-mode`](/docs/pt/cli-reference#cli-flags). Processos filhos diretamente gerados herdam a variável |

365| `CLAUDE_CODE_SCRIPT_CAPS` | Objeto JSON limitando quantas vezes scripts específicos podem ser invocados por sessão quando `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` está definido. Chaves são substrings correspondidas contra o texto do comando; valores são limites de chamada inteiros. Por exemplo, `{"deploy.sh": 2}` permite que `deploy.sh` seja chamado no máximo duas vezes. Correspondência é baseada em substring para que truques de expansão de shell como `./scripts/deploy.sh $(evil)` ainda contem contra o limite. Fan-out em tempo de execução via `xargs` ou `find -exec` não é detectado; isso é um controle de defesa em profundidade |368| `CLAUDE_CODE_SCRIPT_CAPS` | Objeto JSON limitando quantas vezes scripts específicos podem ser invocados por sessão quando `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` está definido. As chaves são substrings correspondidas contra o texto do comando; valores são limites de chamada inteiros. Por exemplo, `{"deploy.sh": 2}` permite que `deploy.sh` seja chamado no máximo duas vezes. A correspondência é baseada em substring para que truques de expansão de shell como `./scripts/deploy.sh $(evil)` ainda contem contra o limite. Fan-out em tempo de execução via `xargs` ou `find -exec` não é detectado; este é um controle de defesa em profundidade |

366| `CLAUDE_CODE_SCROLL_SPEED` | Defina o multiplicador de rolagem de roda de mouse em [renderização fullscreen](/docs/pt/fullscreen#mouse-wheel-scrolling). Aceita qualquer valor positivo até 20, incluindo valores fracionários abaixo de 1 como `0.5` para desacelerar rolagem de trackpad e roda acelerada em terminais que já amplificam eventos de roda. Defina como `3` para corresponder `vim` se seu terminal envia um evento de roda por entalhe sem amplificação. Ignorado no terminal IDE JetBrains, onde Claude Code usa seu próprio manuseio de rolagem |369| `CLAUDE_CODE_SCROLL_SPEED` | Defina o multiplicador de rolagem de roda do mouse em [renderização fullscreen](/docs/pt/fullscreen#mouse-wheel-scrolling). Aceita qualquer valor positivo até 20, incluindo valores fracionários abaixo de 1 como `0.5` para desacelerar rolagem de trackpad e roda acelerada em terminais que já amplificam eventos de roda. Defina como `3` para corresponder `vim` se seu terminal envia um evento de roda por entalhe sem amplificação. Ignorado no terminal IDE JetBrains, onde Claude Code usa seu próprio manuseio de rolagem |

367| `CLAUDE_CODE_SEND_FEEDBACK` | Defina como `0` para desativar [feedback redigido por Claude](/docs/pt/tools-reference#sendfeedback-tool-behavior) para uma sessão. Defina como `1` para ativá-lo onde sua conta já tem acesso; a variável não pode conceder acesso a si mesma, e os outros switches que desativam feedback, como `DISABLE_FEEDBACK_COMMAND` e o valor `off` da configuração [`feedbackDrafts`](/docs/pt/settings-reference#feedbackdrafts), ainda se aplicam |370| `CLAUDE_CODE_SEND_FEEDBACK` | Defina como `0` para desativar [feedback redigido por Claude](/docs/pt/tools-reference#sendfeedback-tool-behavior) para uma sessão. Defina como `1` para ativá-lo onde sua conta já tem acesso; a variável não pode conceder acesso a si mesma, e os outros switches que desativam feedback, como `DISABLE_FEEDBACK_COMMAND` e o valor `off` da configuração [`feedbackDrafts`](/docs/pt/settings-reference#feedbackdrafts), ainda se aplicam |

368| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Substitua o orçamento de tempo em milissegundos para hooks [SessionEnd](/docs/pt/hooks#sessionend). O valor é também o timeout para cada hook que não define seu próprio `timeout`. Aplica-se a saída de sessão, `/clear`, e alternância de sessões via `/resume` interativo. Por padrão o orçamento é 1.5 segundos, automaticamente aumentado para o `timeout` por hook mais alto configurado em arquivos de configurações, até 60 segundos. Timeouts em hooks fornecidos por plugin não aumentam o orçamento |371| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Substitua o orçamento de tempo em milissegundos para hooks [SessionEnd](/docs/pt/hooks#sessionend). O valor também é o timeout para cada hook que não define seu próprio `timeout`. Aplica-se à saída de sessão, `/clear` e alternância de sessões via `/resume` interativo. Por padrão, o orçamento é 1,5 segundos, automaticamente aumentado para o `timeout` por hook mais alto configurado em arquivos de configurações, até 60 segundos. Timeouts em hooks fornecidos por plugin não aumentam o orçamento |

369| `CLAUDE_CODE_SESSION_ID` | Defina automaticamente para o ID da sessão atual em subprocessos de ferramenta Bash e PowerShell, subprocessos [comando hook](/docs/pt/hooks), e subprocessos [servidor MCP](/docs/pt/mcp) stdio. Para Bash, PowerShell, e hooks isso corresponde ao campo `session_id` na entrada JSON do hook e é atualizado em `/clear`. Um subprocesso de servidor MCP retém o ID que foi gerado com. Em `--resume <session-id>` recebe o ID retomado, correspondendo hooks e Bash. Em `--continue` ou `--resume` sem um ID explícito pode receber o ID de inicialização inicial. Use para correlacionar scripts e ferramentas externas com a sessão Claude Code que as iniciou |372| `CLAUDE_CODE_SESSION_ID` | Defina automaticamente para o ID da sessão atual em subprocessos de ferramenta Bash e PowerShell, subprocessos [comando hook](/docs/pt/hooks) e subprocessos [servidor MCP](/docs/pt/mcp) stdio. Para Bash, PowerShell e hooks, isso corresponde ao campo `session_id` na entrada JSON do hook e é atualizado em `/clear`. Um subprocesso de servidor MCP retém o ID com o qual foi gerado. Em `--resume <session-id>` recebe o ID retomado, correspondendo hooks e Bash. Em `--continue` ou `--resume` sem um ID explícito pode receber o ID de inicialização inicial. Use para correlacionar scripts e ferramentas externas com a sessão Claude Code que os iniciou |

370| `CLAUDE_CODE_SHELL` | Defina o shell que Claude Code usa para executar comandos de ferramenta Bash. Aceita um caminho para um binário `bash` ou `zsh`, por exemplo `/opt/homebrew/bin/bash`. Outros shells como `fish` não são suportados. Se o valor não é um caminho `bash` ou `zsh` funcionando, Claude Code o ignora e volta para auto-detecção. Auto-detecção usa seu `$SHELL` quando aponta para `bash` ou `zsh`, caso contrário pega o primeiro `zsh` funcionando então `bash` encontrado em seu `PATH` e locais de instalação padrão |373| `CLAUDE_CODE_SHELL` | Defina o shell que Claude Code usa para executar comandos de ferramenta Bash. Aceita um caminho para um binário `bash` ou `zsh`, por exemplo `/opt/homebrew/bin/bash`. Outros shells como `fish` não são suportados. Se o valor não for um caminho `bash` ou `zsh` funcionando, Claude Code o ignora e volta para auto-detecção. Auto-detecção usa seu `$SHELL` quando aponta para `bash` ou `zsh`, caso contrário escolhe o primeiro `zsh` funcionando depois `bash` encontrado em seu `PATH` e locais de instalação padrão |

371| `CLAUDE_CODE_SHELL_PREFIX` | Prefixo de comando que envolve comandos de shell que Claude Code gera: chamadas de ferramenta Bash, comandos [hook](/docs/pt/hooks), comandos [status line](/docs/pt/statusline), e comandos de inicialização [servidor MCP](/docs/pt/mcp) stdio. Hooks PowerShell e hooks de forma exec executam sem o prefixo. Útil para logging ou auditoria. Definir um caminho de executável simples como `/path/to/logger.sh` executa cada comando como `/path/to/logger.sh '<command>'`. O wrapper recebe a linha de comando como um argumento simples entre aspas de shell em `$1`, para que o wrapper deve re-avaliar `$1` com um shell, por exemplo `exec bash -c "$1"`. Tratar `$1` como um caminho de executável simples quebra servidores MCP stdio que passam argumentos como `npx -y <package>`. Para chamadas de ferramenta Bash, `$1` contém a invocação de shell completa que Claude Code monta, incluindo configuração de ambiente, não apenas o comando que Claude executou |374| `CLAUDE_CODE_SHELL_PREFIX` | Prefixo de comando que envolve comandos de shell que Claude Code gera: chamadas de ferramenta Bash, comandos [hook](/docs/pt/hooks), comandos [status line](/docs/pt/statusline) e comandos de inicialização [servidor MCP](/docs/pt/mcp) stdio. Hooks de forma exec e PowerShell executam sem o prefixo. Útil para logging ou auditoria. Definir um caminho de executável simples como `/path/to/logger.sh` executa cada comando como `/path/to/logger.sh '<command>'`. O wrapper recebe a linha de comando como um único argumento shell-quoted em `$1`, para que o wrapper deva re-avaliar `$1` com um shell, por exemplo `exec bash -c "$1"`. Tratar `$1` como um caminho de executável simples quebra servidores MCP stdio que passam argumentos como `npx -y <package>`. Para chamadas de ferramenta Bash, `$1` contém a invocação de shell completa que Claude Code monta, incluindo configuração de ambiente, não apenas o comando que Claude executou |

372| `CLAUDE_CODE_SIMPLE` | Defina como `1` para executar com um prompt do sistema mínimo e apenas ferramentas Bash, leitura de arquivo, e edição de arquivo. Ferramentas MCP de `--mcp-config` ainda estão disponíveis. Desabilita auto-descoberta de hooks, skills, comandos personalizados, sub agentes, plugins, servidores MCP, memória automática, e CLAUDE.md. Skills em um diretório que você passa com `--add-dir` ainda carregam. Tokens OAuth e credenciais de keychain não são lidos, para que autenticação Anthropic deve vir de `ANTHROPIC_API_KEY` ou um `apiKeyHelper` em `--settings`. Equivalente a passar [`--bare`](/docs/pt/headless#start-faster-with-bare-mode) |375| `CLAUDE_CODE_SIMPLE` | Defina como `1` para executar com um prompt do sistema mínimo e apenas ferramentas Bash, leitura de arquivo e edição de arquivo. Ferramentas MCP de `--mcp-config` ainda estão disponíveis. Desabilita auto-descoberta de hooks, skills, comandos personalizados, subagentes, plugins instalados, servidores MCP, memória automática e CLAUDE.md. Skills em um diretório que você passa com `--add-dir` ainda carregam. Tokens OAuth e credenciais de keychain não são lidos, para que autenticação Anthropic deva vir de `ANTHROPIC_API_KEY` ou um `apiKeyHelper` em `--settings`. Equivalente a passar [`--bare`](/docs/pt/headless#start-faster-with-bare-mode) |

373| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Defina como `1` para usar um prompt do sistema mais curto e descrições de ferramenta abreviadas em qualquer modelo. Defina como `0`, `false`, `no`, ou `off` para optar por não participar mesmo em modelos onde o experimento ou configuração do servidor a habilitaria. O conjunto completo de ferramentas, hooks, servidores MCP, e descoberta CLAUDE.md permanecem ativados |376| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Defina como `1` para usar um prompt do sistema mais curto e descrições de ferramenta abreviadas em qualquer modelo. Defina como `0`, `false`, `no` ou `off` para desativar mesmo em modelos onde o experimento ou configuração do servidor ativaria. O conjunto completo de ferramentas, descoberta de hooks, servidores MCP e CLAUDE.md permanecem ativados |

374| `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` | Pule autenticação do lado do cliente para [Claude Platform on AWS](/docs/pt/claude-platform-on-aws), para gateways que assinam solicitações a si mesmos |377| `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` | Pule autenticação do lado do cliente para [Claude Platform on AWS](/docs/pt/claude-platform-on-aws), para gateways que assinam solicitações a si mesmos |

375| `CLAUDE_CODE_SKIP_AWS_CRED_CACHE` | Defina como `1` para desativar o cache em processo de credenciais resolvidas da cadeia de provedor de credenciais padrão AWS, para que Claude Code resolva a cadeia em cada solicitação de API. Com o cache desativado, um perfil apoiado por SSO solicita credenciais do IAM Identity Center em cada solicitação. Veja [cache de credenciais e timeout de resolução](/docs/pt/amazon-bedrock#credential-caching-and-resolution-timeout). Requer Claude Code v2.1.207 ou posterior |378| `CLAUDE_CODE_SKIP_AWS_CRED_CACHE` | Defina como `1` para desativar o cache em processo de credenciais resolvidas da cadeia de provedor de credencial padrão AWS, para que Claude Code resolva a cadeia em cada solicitação de API. Com o cache desativado, um perfil apoiado por SSO solicita credenciais do IAM Identity Center em cada solicitação. Veja [cache de credencial e timeout de resolução](/docs/pt/amazon-bedrock#credential-caching-and-resolution-timeout). Requer Claude Code v2.1.207 ou posterior |

376| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | Pule autenticação AWS para Amazon Bedrock (por exemplo, ao usar um gateway LLM) |379| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | Pule autenticação AWS para Amazon Bedrock (por exemplo, ao usar um gateway LLM) |

377| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` | Defina como `1` para tratar uma verificação de disponibilidade [modo rápido](/docs/pt/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) falhada como disponível, para redes que bloqueiam a solicitação direta da verificação para `api.anthropic.com`. Claude Code ainda honra uma resposta "desabilitado por sua organização" |380| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` | Defina como `1` para tratar uma verificação de disponibilidade de [modo rápido](/docs/pt/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) falhada como disponível, para redes que bloqueiam a solicitação direta da verificação para `api.anthropic.com`. Claude Code ainda honra uma resposta "desabilitado pela sua organização" |

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

379| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | Pule autenticação Azure para Microsoft Foundry, para um proxy ou gateway que injeta seu próprio cabeçalho `Authorization`. Claude Code envia solicitações sem uma credencial Azure e preserva o cabeçalho `Authorization` que você fornece, por exemplo através de `ANTHROPIC_CUSTOM_HEADERS`. Ignorado quando `ANTHROPIC_FOUNDRY_API_KEY` ou `ANTHROPIC_FOUNDRY_AUTH_TOKEN` está definido. Antes da v2.1.203, essa variável deixava o cliente Microsoft Foundry incapaz de enviar solicitações a menos que uma chave de API também estivesse definida |382| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | Pule autenticação Azure para Microsoft Foundry, para um proxy ou gateway que injeta seu próprio cabeçalho `Authorization`. Claude Code envia solicitações sem uma credencial Azure e preserva o cabeçalho `Authorization` que você fornece, por exemplo através de `ANTHROPIC_CUSTOM_HEADERS`. Ignorado quando `ANTHROPIC_FOUNDRY_API_KEY` ou `ANTHROPIC_FOUNDRY_AUTH_TOKEN` está definido. Antes da v2.1.203, essa variável deixava o cliente Microsoft Foundry incapaz de enviar solicitações a menos que uma chave de API também estivesse definida |

380| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | Pule autenticação AWS para Amazon Bedrock Mantle (por exemplo, ao usar um gateway LLM) |383| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | Pule autenticação AWS para Amazon Bedrock Mantle (por exemplo, ao usar um gateway LLM) |

381| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | Defina como `1` para pular escrita de histórico de prompt e transcrições de sessão para disco. Sessões iniciadas com essa variável definida não aparecem em `--resume`, `--continue`, ou histórico de seta para cima. Útil para sessões de script efêmeras |384| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | Defina como `1` para pular escrita de histórico de prompt e transcrições de sessão em disco. Sessões iniciadas com essa variável definida não aparecem em `--resume`, `--continue` ou histórico de seta para cima. Útil para sessões de script efêmeras |

382| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Pule autenticação Google para Google Cloud's Agent Platform (por exemplo, ao usar um gateway LLM) |385| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Pule autenticação Google para Google Cloud's Agent Platform (por exemplo, ao usar um gateway LLM) |

383| `CLAUDE_CODE_STARTUP_FAILURE_RESULTS` | Defina como `1` para ter uma sessão iniciada com `--output-format stream-json` escrever uma [mensagem de resultado nomeando por que Claude Code recusou iniciar](/docs/pt/agent-sdk/typescript#startup_failure_reason) para falhas de inicialização que de outra forma terminam apenas com stderr. Requer Claude Code v2.1.274 ou posterior |386| `CLAUDE_CODE_STARTUP_FAILURE_RESULTS` | Defina como `1` para fazer uma sessão iniciada com `--output-format stream-json` escrever uma [mensagem de resultado nomeando por que Claude Code recusou iniciar](/docs/pt/agent-sdk/typescript#startup_failure_reason) para falhas de inicialização que de outra forma terminam apenas com stderr. Requer Claude Code v2.1.274 ou posterior |

384| `CLAUDE_CODE_STOP_HOOK_BLOCK_CAP` | Número máximo de vezes consecutivas que um hook [Stop](/docs/pt/hooks#stop) ou [SubagentStop](/docs/pt/hooks#subagentstop) pode bloquear a volta de terminar antes de Claude Code substituí-lo e terminar a volta mesmo assim (padrão: 8). Defina como `0` para desabilitar o limite. Aumente isso se seu hook legitimamente precisa de mais iterações para resolver |387| `CLAUDE_CODE_STOP_HOOK_BLOCK_CAP` | Número máximo de vezes consecutivas que um hook [Stop](/docs/pt/hooks#stop) ou [SubagentStop](/docs/pt/hooks#subagentstop) pode bloquear o turno de terminar antes de Claude Code substituí-lo e terminar o turno mesmo assim (padrão: 8). Defina como `0` para desabilitar o limite. Aumente isso se seu hook legitimamente precisa de mais iterações para resolver |

385| `CLAUDE_CODE_SUBAGENT_MODEL` | O modelo padrão para [subagentes](/docs/pt/sub-agents#choose-a-model), [equipe de agentes](/docs/pt/agent-teams#specify-teammates-and-models) companheiros, e agentes [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. Duas fontes têm precedência sobre ele: um modelo que Claude passa quando gera o agente, e um campo `model` na definição do agente, incluindo `inherit`. Para mudar isso, defina [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE`](/docs/pt/sub-agents#run-every-subagent-on-one-model). Veja [Escolha um modelo](/docs/pt/sub-agents#choose-a-model) para a ordem completa. Defini-lo como `inherit` é o mesmo que deixá-lo não definido. Antes da v2.1.251, essa variável substituía tanto o modelo por invocação quanto o campo `model` da definição |388| `CLAUDE_CODE_SUBAGENT_MODEL` | O modelo padrão para [subagentes](/docs/pt/sub-agents#choose-a-model), [equipe de agentes](/docs/pt/agent-teams#specify-teammates-and-models) companheiros e agentes [workflow](/docs/pt/workflows) que não são atribuídos a um modelo de outra forma. Aceita um alias como `haiku` ou um nome de modelo completo. Duas fontes têm precedência sobre ele: um modelo que Claude passa quando gera o agente, e um campo `model` na definição do agente, incluindo `inherit`. Para mudar isso, defina [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE`](/docs/pt/sub-agents#run-every-subagent-on-one-model). Veja [Escolha um modelo](/docs/pt/sub-agents#choose-a-model) para a ordem completa. Defini-lo como `inherit` é o mesmo que deixá-lo não definido. Antes da v2.1.251, essa variável substituía tanto o modelo por invocação quanto o campo `model` da definição |

386| `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` | Defina como `1` para forçar um modelo em subagentes, companheiros, e agentes de fluxo de trabalho. [Executar cada subagente em um modelo](/docs/pt/sub-agents#run-every-subagent-on-one-model) diz qual modelo é esse. Requer Claude Code v2.1.257 ou posterior |389| `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` | Defina como `1` para forçar um modelo em subagentes, companheiros e agentes de workflow. [Executar cada subagente em um modelo](/docs/pt/sub-agents#run-every-subagent-on-one-model) diz qual modelo é. Requer Claude Code v2.1.257 ou posterior |

387| `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL` | Defina `5m` ou `1h`, os únicos valores que Claude Code aceita, para escolher o [TTL de cache de prompt](/docs/pt/prompt-caching#cache-lifetime) para solicitações fora da conversa principal, como [subagentes](/docs/pt/sub-agents), 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 substitui. Escritas de cache de 1 hora são faturadas a uma taxa mais alta. Requer Claude Code v2.1.242 ou posterior |390| `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL` | Defina `5m` ou `1h`, os únicos valores que Claude Code aceita, para escolher o [TTL de cache de prompt](/docs/pt/prompt-caching#cache-lifetime) para solicitações fora da conversa principal, como [subagentes](/docs/pt/sub-agents), workflows e trabalho em background. Tem precedência sobre a configuração `subagentPromptCacheTtl` e sobre `ENABLE_PROMPT_CACHING_1H`, e `FORCE_PROMPT_CACHING_5M` a substitui. A API cobra escritas de cache de 1 hora a uma taxa mais alta. Requer Claude Code v2.1.242 ou posterior |

388| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Defina como `1` para remover credenciais de ambientes de subprocesso (ferramenta Bash, hooks, servidores MCP stdio): credenciais Anthropic e provedor de nuvem, qualquer outra variável que Claude Code reconhece como uma credencial, e credenciais incorporadas em URLs de registro de pacotes. O processo Claude pai mantém essas credenciais para chamadas de API, mas processos filhos não podem lê-las, reduzindo exposição a ataques de injeção de prompt que tentam exfiltrar segredos via expansão de shell. Na v2.1.251 ou posterior, o scrub também remove variáveis de ponteiro de armazenamento de configuração próprio de Claude Code (como `CLAUDE_CONFIG_DIR`), para que um processo filho não possa localizar um diretório de configuração realocado. Deixe o scrub não definido se um subprocesso precisa dessas variáveis. No Linux, isso também executa subprocessos Bash em um namespace PID isolado para que não possam ler ambientes de processo host via `/proc`; como efeito colateral, `ps`, `pgrep`, e `kill` não podem ver ou sinalizar processos host. `claude-code-action` define isso automaticamente quando `allowed_non_write_users` está configurado |391| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Defina como `1` para remover credenciais de ambientes de subprocesso (ferramenta Bash, hooks, servidores MCP stdio): credenciais Anthropic e provedor de nuvem, qualquer outra variável que Claude Code reconhece como credencial e credenciais incorporadas em URLs de registro de pacotes. O processo Claude pai mantém essas credenciais para chamadas de API, mas processos filhos não podem lê-las, reduzindo exposição a ataques de injeção de prompt que tentam exfiltrar segredos via expansão de shell. Na v2.1.251 ou posterior, o scrub também remove variáveis de ponteiro de armazenamento de configuração de Claude Code (como `CLAUDE_CONFIG_DIR`), para que um processo filho não possa localizar um diretório de configuração realocado. Deixe o scrub não definido se um subprocesso precisa dessas variáveis. No Linux, isso também executa subprocessos Bash em um namespace PID isolado para que não possam ler ambientes de processo host via `/proc`; como efeito colateral, `ps`, `pgrep` e `kill` não podem ver ou sinalizar processos host. `claude-code-action` define isso automaticamente quando `allowed_non_write_users` está configurado |

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

390| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Timeout em milissegundos para instalação de plugin síncrona. Quando excedido, Claude Code prossegue sem plugins e registra um erro. Sem padrão: sem essa variável, instalação síncrona aguarda até conclusão |393| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Timeout em milissegundos para instalação de plugin síncrona. Quando excedido, Claude Code prossegue sem plugins e registra um erro. Sem padrão: sem essa variável, instalação síncrona aguarda até conclusão |

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

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

393| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | Timeout em milissegundos para a primeira consulta aguardar a lista de skills inicial quando `CLAUDE_CODE_SYNC_SKILLS` está definido (padrão: 5000). Quando excedido, a primeira consulta executa com quaisquer skills que chegaram. Os downloads terminam em segundo plano de qualquer forma, e Claude aguarda o download de uma skill quando a invoca |396| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | Timeout em milissegundos para a primeira consulta aguardar a lista de skills inicial quando `CLAUDE_CODE_SYNC_SKILLS` está definido (padrão: 5000). Quando excedido, a primeira consulta executa com quaisquer skills que chegaram. Os downloads terminam em background de qualquer forma, e Claude aguarda o download de uma skill quando a invoca |

394| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | Defina como `false` para desabilitar destaque de sintaxe em saída diff. Útil quando cores interferem com sua configuração de terminal. Para também desabilitar destaque em blocos de código e visualizações de arquivo, use a configuração [`syntaxHighlightingDisabled`](/docs/pt/settings-reference#syntaxhighlightingdisabled) |397| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | Defina como `false` para desabilitar destaque de sintaxe em saída de diff. Útil quando cores interferem com sua configuração de terminal. Para também desabilitar destaque em blocos de código e visualizações de arquivo, use a configuração [`syntaxHighlightingDisabled`](/docs/pt/settings-reference#syntaxhighlightingdisabled) |

395| `CLAUDE_CODE_TASK_LIST_ID` | Compartilhe uma lista de tarefas entre sessões. Defina o mesmo ID em múltiplas instâncias Claude Code para coordenar em uma lista de tarefas compartilhada, em [sessões que têm as ferramentas Task](/docs/pt/tools-reference#task-tool-availability). Veja [Lista de tarefas](/docs/pt/interactive-mode#task-list) |398| `CLAUDE_CODE_TASK_LIST_ID` | Compartilhe uma lista de tarefas entre sessões. Defina o mesmo ID em múltiplas instâncias Claude Code para coordenar em uma lista de tarefas compartilhada, em [sessões que têm as ferramentas Task](/docs/pt/tools-reference#task-tool-availability). Veja [Lista de tarefas](/docs/pt/interactive-mode#task-list) |

396| `CLAUDE_CODE_TEAM_TEARDOWN_PARK_TIMEOUT_MS` | Substitua, em milissegundos, quanto tempo uma sessão não interativa aguarda na saída para sua [equipe de agentes](/docs/pt/agent-teams) terminar de desmontar. Aceita 1000 a 60000; um valor fora do intervalo é ignorado e o padrão de 10000 se aplica. Requer Claude Code v2.1.206 ou posterior |399| `CLAUDE_CODE_TEAM_TEARDOWN_PARK_TIMEOUT_MS` | Substitua, em milissegundos, quanto tempo uma sessão não interativa aguarda na saída para sua [equipe de agentes](/docs/pt/agent-teams) terminar de desmontar. Aceita 1000 a 60000; um valor fora do intervalo é ignorado e o padrão de 10000 se aplica. Requer Claude Code v2.1.206 ou posterior |

397| `CLAUDE_CODE_TMPDIR` | Substitua o diretório temp usado para arquivos temp internos. Claude Code anexa `/claude-{uid}/` no Unix ou `/claude/` no Windows a esse caminho. Padrão: `/tmp` no macOS, `os.tmpdir()` no Linux e Windows. No macOS e Linux, subprocessos Bash [sandboxed](/docs/pt/sandboxing) recebem um fallback `$TMPDIR` curto sob o padrão do sistema quando seu override é um caminho longo, já que algumas ferramentas falham quando caminhos temp ficam muito longos. Comandos Bash não sandboxed herdam seu `$TMPDIR` de shell inalterado. Arquivos temp próprios de Claude Code sempre usam seu override. Defina em seu shell, configurações de usuário, ou configurações gerenciadas. Ignorado em [configurações de projeto e local](/docs/pt/settings-reference#variables-claude-code-ignores-in-env) |400| `CLAUDE_CODE_TMPDIR` | Substitua o diretório temporário usado para arquivos temporários internos. Claude Code acrescenta `/claude-{uid}/` em Unix ou `/claude/` no Windows a esse caminho. Padrão: `/tmp` em macOS, `os.tmpdir()` em Linux e Windows. Em macOS e Linux, subprocessos Bash [sandboxed](/docs/pt/sandboxing) recebem um fallback `$TMPDIR` curto sob o padrão do sistema quando sua substituição é um caminho longo, já que algumas ferramentas falham quando caminhos temporários ficam muito longos. Comandos Bash não sandboxed herdam seu `$TMPDIR` de shell quando está definido. Os próprios arquivos temporários de Claude Code sempre usam sua substituição. Defina em seu shell, configurações de usuário ou configurações gerenciadas. Ignorado em [configurações de projeto e local](/docs/pt/settings-reference#variables-claude-code-ignores-in-env) |

398| `CLAUDE_CODE_TMUX_TRUECOLOR` | Defina como qualquer valor não vazio, como `1`, para permitir saída truecolor de 24 bits dentro de tmux. **Defini-lo como `0` ou `false` ainda permite truecolor**, diferentemente da maioria das variáveis on/off; desconfigurar a variável para restaurar o limite de 256 cores. Por padrão, Claude Code limita a 256 cores quando `$TMUX` está definido porque tmux não passa sequências de escape truecolor a menos que configurado. Defina isso após adicionar `set -ga terminal-overrides ',*:Tc'` ao seu `~/.tmux.conf`. Veja [Configuração de Terminal](/docs/pt/terminal-config) para outras configurações tmux |401| `CLAUDE_CODE_TMUX_TRUECOLOR` | Defina como qualquer valor não vazio, como `1`, para permitir saída truecolor de 24 bits dentro de tmux. **Defini-lo como `0` ou `false` ainda permite truecolor**, diferentemente da maioria das variáveis on/off; desconfigurar a variável para restaurar o clamp de 256 cores. Por padrão, Claude Code limita a 256 cores quando `$TMUX` está definido porque tmux não passa sequências de escape truecolor a menos que configurado. Defina isso após adicionar `set -ga terminal-overrides ',*:Tc'` ao seu `~/.tmux.conf`. Veja [Configuração de terminal](/docs/pt/terminal-config) para outras configurações tmux |

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

400| `CLAUDE_CODE_TOOL_MEMORY_LIMIT` | No Linux e WSL, defina como um tamanho como `4G` para [limitar a memória que comandos de ferramentas Bash e PowerShell podem usar](/docs/pt/tools-reference#memory-limit-on-linux-and-wsl), e comandos de ferramenta Monitor na v2.1.246 ou posterior. Escreva o tamanho em dígitos simples, sozinho para um número de bytes ou com um sufixo `K`, `M`, `G`, ou `T`. Defina `0` ou `off` para desativar o limite. Uma vez que o primeiro processo que Claude Code começa tenha ativado ou desativado o limite, um valor alterado tem efeito na próxima vez que você inicia `claude`. Requer Claude Code v2.1.233 ou posterior |403| `CLAUDE_CODE_TOOL_MEMORY_LIMIT` | Em Linux e WSL, defina como um tamanho como `4G` para [limitar a memória que comandos de ferramentas Bash e PowerShell podem usar](/docs/pt/tools-reference#memory-limit-on-linux-and-wsl), e comandos de ferramenta Monitor na v2.1.246 ou posterior. Escreva o tamanho em dígitos simples, sozinho para um número de bytes ou com um sufixo `K`, `M`, `G` ou `T`. Defina `0` ou `off` para desativar o limite. Uma vez que o primeiro processo que Claude Code inicia tenha ativado ou desativado o limite, um valor alterado tem efeito na próxima vez que você inicia `claude`. Requer Claude Code v2.1.233 ou posterior |

401| `CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS` | Prazo em milissegundos antes de Claude Code cancelar um diálogo que encaminha para um cliente remoto como um [Remote Control](/docs/pt/remote-control) ou host SDK, ou o diálogo de aprovação para uma [mensagem entre sessões retida](/docs/pt/cross-session-messaging#control-inbound-messages); prompts de permissão e perguntas `AskUserQuestion` usam seus próprios fluxos e não são governados por ele. No Claude Code v2.1.236 ou posterior, também limita o prompt de consentimento de créditos de uso [Fable](/docs/pt/model-config#fable-and-usage-credits) no meio da sessão em uma sessão que pode estar em execução não supervisionada. [Controlar mensagens de entrada](/docs/pt/cross-session-messaging#control-inbound-messages) e [sessões não interativas](/docs/pt/cross-session-messaging#non-interactive-sessions) cobrem as regras de expiração de mensagem retida completas, incluindo os casos onde o prazo não se aplica. Substitui a configuração [`dialogExpiry`](/docs/pt/settings-reference#dialogexpiry). `0` ou um valor negativo desabilita o prazo |404| `CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS` | Prazo em milissegundos antes de Claude Code cancelar um diálogo que encaminha para um cliente remoto como um [Remote Control](/docs/pt/remote-control) ou host SDK, ou o diálogo de aprovação para uma [mensagem entre sessões retida](/docs/pt/cross-session-messaging#control-inbound-messages); prompts de permissão e perguntas `AskUserQuestion` usam seus próprios fluxos e não são governados por ele. No Claude Code v2.1.236 ou posterior, também limita o prompt de consentimento de créditos de uso [Fable](/docs/pt/model-config#fable-and-usage-credits) no meio da sessão em uma sessão que pode estar em execução sem supervisão. [Controlar mensagens de entrada](/docs/pt/cross-session-messaging#control-inbound-messages) e [sessões não interativas](/docs/pt/cross-session-messaging#non-interactive-sessions) cobrem as regras de expiração de mensagem retida completas, incluindo os casos onde o prazo não se aplica. Substitui a configuração [`dialogExpiry`](/docs/pt/settings-reference#dialogexpiry). `0` ou um valor negativo desabilita o prazo |

402| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | Use [Claude Platform on AWS](/docs/pt/claude-platform-on-aws) |405| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | Use [Claude Platform on AWS](/docs/pt/claude-platform-on-aws) |

403| `CLAUDE_CODE_USE_BEDROCK` | Use [Amazon Bedrock](/docs/pt/amazon-bedrock) |406| `CLAUDE_CODE_USE_BEDROCK` | Use [Amazon Bedrock](/docs/pt/amazon-bedrock) |

404| `CLAUDE_CODE_USE_FOUNDRY` | Use [Microsoft Foundry](/docs/pt/microsoft-foundry) |407| `CLAUDE_CODE_USE_FOUNDRY` | Use [Microsoft Foundry](/docs/pt/microsoft-foundry) |

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

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

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

408| `CLAUDE_CODE_USE_VERTEX` | Use [Google Cloud's Agent Platform](/docs/pt/google-vertex-ai) |411| `CLAUDE_CODE_USE_VERTEX` | Use [Google Cloud's Agent Platform](/docs/pt/google-vertex-ai) |

409| `CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS` | Defina como o número de milissegundos que [WebFetch](/docs/pt/tools-reference#webfetch-tool-behavior) mantém a resposta de cada URL buscada em cache. O padrão é `900000`, que é 15 minutos. Aceita apenas dígitos simples; `0`, um decimal, ou qualquer outra grafia mantém o padrão. Claude Code lê o valor uma vez por lançamento, para que uma mudança em um bloco `env` de configurações se aplique quando você próximo inicia `claude`. Requer Claude Code v2.1.233 ou posterior |412| `CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS` | Defina como o número de milissegundos que [WebFetch](/docs/pt/tools-reference#webfetch-tool-behavior) mantém cada resposta de URL buscada em cache. O padrão é `900000`, que é 15 minutos. Aceita apenas dígitos simples; `0`, um decimal ou qualquer outra grafia mantém o padrão. Claude Code lê o valor uma vez por lançamento, para que uma mudança em um bloco `env` de configurações se aplique quando você próximo inicia `claude`. Requer Claude Code v2.1.233 ou posterior |

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

411| `CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS` | Quantos agentes um único [fluxo de trabalho](/docs/pt/workflows) executa de uma vez, de `1` a `256`. Por padrão, uma execução executa até 16 agentes de uma vez, menos quando Claude Code tem menos CPUs disponíveis; chamadas `agent()` enfileiradas aguardam um slot livre. A transcrição de cada agente em execução fica na memória de Claude Code, para que valores mais altos aumentem o uso de memória. Aceita apenas dígitos simples; valores fora do intervalo e outras grafias mantêm o padrão. Requer Claude Code v2.1.269 ou posterior |414| `CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS` | Quantos agentes uma execução de [workflow](/docs/pt/workflows) executa de uma vez, de `1` a `256`. Por padrão, uma execução executa até 16 agentes de uma vez, menos quando Claude Code tem menos CPUs disponíveis; chamadas `agent()` enfileiradas aguardam um slot livre. A transcrição de cada agente em execução fica na memória de Claude Code, para que valores mais altos aumentem o uso de memória. Aceita apenas dígitos simples; valores fora do intervalo e outras grafias mantêm o padrão. Requer Claude Code v2.1.269 ou posterior |

412| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | Limite superior em milissegundos em quanto tempo um agente [fluxo de trabalho](/docs/pt/workflows) aguarda a primeira resposta de um irmão de mesmo prefixo começar antes de enviar sua própria primeira solicitação. Quando um fan-out começa vários agentes que compartilham um [prefixo de cache de prompt](/docs/pt/workflows#prompt-caching-in-a-fan-out), Claude Code mantém todos exceto o primeiro agente por até esse tempo para que o resto leia o prefixo em cache em vez de cada um processá-lo sem cache. Padrão `5000`. Defina como `0` para desabilitar a espera. Quando `DISABLE_PROMPT_CACHING` está definido, agentes nunca aguardam. Requer Claude Code v2.1.229 ou posterior |415| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | Limite superior em milissegundos em quanto tempo um agente [workflow](/docs/pt/workflows) aguarda a primeira resposta de um irmão de mesmo prefixo começar antes de enviar sua própria primeira solicitação. Quando um fan-out começa vários agentes que compartilham um [prefixo de cache de prompt](/docs/pt/workflows#prompt-caching-in-a-fan-out), Claude Code mantém todos exceto o primeiro agente por até esse tempo para que o resto leia o prefixo em cache em vez de cada um processá-lo sem cache. Padrão `5000`. Defina como `0` para desabilitar a espera. Quando `DISABLE_PROMPT_CACHING` está definido, agentes nunca aguardam. Requer Claude Code v2.1.229 ou posterior |

413| `CLAUDE_CONFIG_DIR` | Substitua o diretório de configuração (padrão: `~/.claude`). Todas as configurações, histórico de sessão, e plugins são armazenados sob esse caminho. Para credenciais, veja [onde Claude Code armazena credenciais](/docs/pt/authentication#credential-management). Útil para executar múltiplas contas lado a lado: por exemplo, `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`. Defina em seu shell, configurações de usuário, ou configurações gerenciadas. Ignorado em [configurações de projeto e local](/docs/pt/settings-reference#variables-claude-code-ignores-in-env) |416| `CLAUDE_CONFIG_DIR` | Substitua o diretório de configuração (padrão: `~/.claude`). Todas as configurações, histórico de sessão e plugins são armazenados sob esse caminho. Para credenciais, veja [onde Claude Code armazena credenciais](/docs/pt/authentication#credential-management). Útil para executar múltiplas contas lado a lado: por exemplo, `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`. Defina em seu shell, configurações de usuário ou configurações gerenciadas. Ignorado em [configurações de projeto e local](/docs/pt/settings-reference#variables-claude-code-ignores-in-env) |

414| `CLAUDE_DISABLE_ADOPT` | Defina como `1` para parar trabalho em segundo plano em voo em vez de carregá-lo quando você coloca uma sessão em segundo plano pressionando `←` ou com [`/background`](/docs/pt/agent-view#from-inside-a-session). Claude Code pede que você confirme antes de colocar em segundo plano, então para as tarefas que de outra forma carregariam. Requer Claude Code v2.1.195 ou posterior |417| `CLAUDE_DISABLE_ADOPT` | Defina como `1` para parar trabalho em background em voo em vez de carregá-lo quando você coloca uma sessão em background pressionando `←` ou com [`/background`](/docs/pt/agent-view#from-inside-a-session). Claude Code pede confirmação antes de colocar em background, depois para as tarefas que de outra forma seriam carregadas. Requer Claude Code v2.1.195 ou posterior |

415| `CLAUDE_EFFORT` | Defina automaticamente em subprocessos de ferramenta Bash e comandos hook para o [nível de esforço](/docs/pt/model-config#adjust-effort-level) em efeito quando o subprocesso começa: `low`, `medium`, `high`, `xhigh`, ou `max`. Ultracode não é um nível distinto e relata como `xhigh`. Corresponde ao campo `effort.level` passado para [hooks](/docs/pt/hooks). Apenas definido quando o modelo atual suporta o parâmetro effort |418| `CLAUDE_EFFORT` | Defina automaticamente em subprocessos de ferramenta Bash e comandos hook para o [nível de effort](/docs/pt/model-config#adjust-effort-level) em efeito quando o subprocesso começa: `low`, `medium`, `high`, `xhigh` ou `max`. Corresponde ao campo `effort.level` passado para [hooks](/docs/pt/hooks). Apenas definido quando o modelo atual suporta o parâmetro effort |

416| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Defina como `1` para forçar ativação do watchdog de inatividade de streaming em nível de byte, ou defina como `0` para forçar desabilitação. `0` também desativa o [prazo de primeiro byte](/docs/pt/network-config#streaming-idle-watchdogs) nas conexões onde esse prazo executa. Quando não definido, o watchdog está ativado por padrão para conexões diretas de API Anthropic e [Claude Platform on AWS](/docs/pt/claude-platform-on-aws), e para respostas de streaming em conexões [gateway](/docs/pt/gateways) alcançadas através de `ANTHROPIC_BASE_URL` ou `ANTHROPIC_AWS_BASE_URL`; antes da v2.1.222 não executava nessas conexões de gateway, para que o watchdog em nível de evento pudesse relatar um travamento lá mesmo enquanto pings keep-alive estavam chegando. Para timeouts e como os timers interagem, veja [Watchdogs de inatividade de streaming](/docs/pt/network-config#streaming-idle-watchdogs) |419| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Defina como `1` para forçar ativação do watchdog de inatividade de streaming em nível de byte, ou defina como `0` para forçar desativação. `0` também desativa o [prazo de primeiro byte](/docs/pt/network-config#streaming-idle-watchdogs) nas conexões onde esse prazo é executado. Quando não definido, o watchdog é ativado por padrão para conexões diretas de API Anthropic e [Claude Platform on AWS](/docs/pt/claude-platform-on-aws), e para respostas de streaming em conexões [gateway](/docs/pt/gateways) alcançadas através de `ANTHROPIC_BASE_URL` ou `ANTHROPIC_AWS_BASE_URL`; antes da v2.1.222, não era executado nessas conexões de gateway, para que o watchdog em nível de evento pudesse relatar um travamento lá mesmo enquanto pings keep-alive estavam chegando. Para timeouts e como os timers interagem, veja [Watchdogs de inatividade de streaming](/docs/pt/network-config#streaming-idle-watchdogs) |

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

418| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Defina como `0` para forçar desabilitação do watchdog de inatividade de streaming em nível de evento, ou defina como `1` para forçar ativação. Quando não definido, o watchdog está ativo por padrão para todos os provedores. Antes da v2.1.196, o padrão não definido era controlado pelo servidor na API Anthropic direta e desativado em outros provedores. Configure o timeout com `CLAUDE_STREAM_IDLE_TIMEOUT_MS`; para os outros timers de travamento que executam ao lado deste, veja [Watchdogs de inatividade de streaming](/docs/pt/network-config#streaming-idle-watchdogs) |421| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Defina como `0` para forçar desativação do watchdog de inatividade de streaming em nível de evento, ou defina como `1` para forçar ativação. Quando não definido, o watchdog está ativado por padrão para todos os provedores. Antes da v2.1.196, o padrão não definido era controlado pelo servidor na API Anthropic direta e desativado em outros provedores. Configure o timeout com `CLAUDE_STREAM_IDLE_TIMEOUT_MS`; para os outros timers de travamento que executam junto com este, veja [Watchdogs de inatividade de streaming](/docs/pt/network-config#streaming-idle-watchdogs) |

419| `CLAUDE_ENV_FILE` | Caminho para um script de shell cujo conteúdo Claude Code executa antes de cada comando Bash no mesmo processo de shell, para que exports no arquivo sejam visíveis ao comando. Use para persistir ativação de virtualenv ou conda entre comandos. Também populado dinamicamente por hooks [SessionStart](/docs/pt/hooks#persist-environment-variables), [Setup](/docs/pt/hooks#setup), [CwdChanged](/docs/pt/hooks#cwdchanged), e [FileChanged](/docs/pt/hooks#filechanged) |422| `CLAUDE_ENV_FILE` | Caminho para um script de shell cujo conteúdo Claude Code executa antes de cada comando Bash no mesmo processo de shell, para que exportações no arquivo sejam visíveis ao comando. Use para persistir ativação de virtualenv ou conda entre comandos. Também populado dinamicamente por hooks [SessionStart](/docs/pt/hooks#persist-environment-variables), [Setup](/docs/pt/hooks#setup), [CwdChanged](/docs/pt/hooks#cwdchanged) e [FileChanged](/docs/pt/hooks#filechanged) |

420| `CLAUDE_JOB_DIR` | Defina por Claude Code em cada [sessão em segundo plano](/docs/pt/agent-view) para o diretório `~/.claude/jobs/<id>` dessa sessão. Comandos de shell que a sessão executa o herdam. Escreva arquivos scratch para [`$CLAUDE_JOB_DIR/tmp`](/docs/pt/agent-view#where-state-is-stored). Chamadas `Write` e `Edit` de Claude lá não solicitam permissão, e o diretório é removido quando a sessão é excluída |423| `CLAUDE_JOB_DIR` | Defina por Claude Code em cada [sessão em background](/docs/pt/agent-view) para o diretório `~/.claude/jobs/<id>` dessa sessão. Comandos de shell que a sessão executa o herdam. Escreva arquivos de rascunho para [`$CLAUDE_JOB_DIR/tmp`](/docs/pt/agent-view#where-state-is-stored). Chamadas `Write` e `Edit` de Claude lá não solicitam permissão, e o diretório é removido quando a sessão é excluída |

421| `CLAUDE_PID` | Claude Code define isso para seu próprio ID de processo nos subprocessos que gera: comandos de ferramenta Bash e PowerShell e comandos hook. No Linux, a integração de shell da ferramenta Bash o usa para recusar um padrão `pkill` que corresponderia ao próprio processo Claude Code; veja [a referência de erro](/docs/pt/errors#pkill-pattern-matches-the-claude-code-process). Leia-o de seus próprios scripts para identificar ou sinalizar o processo Claude Code pai deliberadamente. Requer Claude Code v2.1.214 ou posterior |424| `CLAUDE_PID` | Claude Code define isso para seu próprio ID de processo nos subprocessos que gera: comandos de ferramenta Bash e PowerShell e comandos hook. No Linux, a integração de shell da ferramenta Bash o usa para recusar um padrão `pkill` que corresponderia ao próprio processo Claude Code; veja [a referência de erro](/docs/pt/errors#pkill-pattern-matches-the-claude-code-process). Leia-o de seus próprios scripts para identificar ou sinalizar o processo Claude Code pai deliberadamente. Requer Claude Code v2.1.214 ou posterior |

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

423| `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` | Prazo em milissegundos para o primeiro byte de resposta de uma solicitação de streaming, nas conexões onde o [prazo de primeiro byte](/docs/pt/network-config#streaming-idle-watchdogs) executa. Para como Claude Code o limita, o tempo extra que adiciona para corpos de solicitação grandes, e como escolhe o prazo quando você deixa isso não definido, veja [Nenhuma resposta da API](/docs/pt/errors#no-response-from-api). Requer Claude Code v2.1.242 ou posterior |426| `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` | Prazo em milissegundos para o primeiro byte de resposta de uma solicitação de streaming, nas conexões onde o [prazo de primeiro byte](/docs/pt/network-config#streaming-idle-watchdogs) é executado. Para como Claude Code o limita, o tempo extra que adiciona para corpos de solicitação grandes e como escolhe o prazo quando você deixa isso não definido, veja [Sem resposta da API](/docs/pt/errors#no-response-from-api). Requer Claude Code v2.1.242 ou posterior |

424| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Timeout em milissegundos antes dos watchdogs de inatividade de streaming em nível de evento e byte fecharem uma conexão travada. Quando você define essa variável explicitamente, o mínimo é `300000` (5 minutos); valores mais baixos são silenciosamente limitados para absorver pausas de pensamento estendido e buffering de proxy, e o watchdog em nível de byte limita o valor a 30 minutos. `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` tem precedência sobre essa variável para o watchdog em nível de byte. Para os padrões não definidos por watchdog, veja [Watchdogs de inatividade de streaming](/docs/pt/network-config#streaming-idle-watchdogs) |427| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Timeout em milissegundos antes dos watchdogs de inatividade de streaming em nível de evento e byte fecharem uma conexão travada. Quando você define essa variável explicitamente, o mínimo é `300000` (5 minutos); valores mais baixos são silenciosamente limitados para absorver pausas de pensamento estendido e buffering de proxy, e o watchdog em nível de byte limita o valor a 30 minutos. `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` tem precedência sobre essa variável para o watchdog em nível de byte. Para os padrões não definidos por watchdog, veja [Watchdogs de inatividade de streaming](/docs/pt/network-config#streaming-idle-watchdogs) |

425| `CLAUDE_SUBAGENT_BG_SHELL_MAX_MS` | Removido na v2.1.260 e agora é um no-op. Anteriormente limitava quanto tempo um [comando de shell em segundo plano](/docs/pt/interactive-mode#background-bash-commands) que um [subagente](/docs/pt/sub-agents) iniciou poderia executar, em milissegundos, com um padrão de 60 minutos. Veja [as regras de tempo de vida de comando em segundo plano](/docs/pt/tools-reference#background-commands) |428| `CLAUDE_SUBAGENT_BG_SHELL_MAX_MS` | Removido na v2.1.260 e agora é um no-op. Anteriormente limitava quanto tempo um [comando shell em background](/docs/pt/interactive-mode#background-bash-commands) que um [subagente](/docs/pt/sub-agents) iniciou poderia executar, em milissegundos, com um padrão de 60 minutos. Veja [as regras de tempo de vida de comando em background](/docs/pt/tools-reference#background-commands) |

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

427| `DISABLE_AUTOUPDATER` | Defina como `1` para desabilitar atualizações automáticas em segundo plano. Manual `claude update` ainda funciona. Use `DISABLE_UPDATES` para bloquear ambos |430| `DISABLE_AUTOUPDATER` | Defina como `1` para desabilitar atualizações automáticas em background. `claude update` manual ainda funciona. Use `DISABLE_UPDATES` para bloquear ambos |

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

429| `DISABLE_COMPACT` | Defina como `1` para desabilitar toda compactação: tanto compactação automática quanto o comando manual `/compact` |432| `DISABLE_COMPACT` | Defina como `1` para desabilitar toda compactação: tanto compactação automática quanto o comando manual `/compact` |

430| `DISABLE_COST_WARNINGS` | Defina como `1` para desabilitar mensagens de aviso de custo |433| `DISABLE_COST_WARNINGS` | Defina como `1` para desabilitar mensagens de aviso de custo |

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

432| `DISABLE_ERROR_REPORTING` | Defina como qualquer valor não vazio, como `1`, para optar por não participar de relatório de erros. **Defini-lo como `0` ou `false` ainda opta por não participar**, diferentemente da maioria das variáveis on/off; desconfigurar a variável para ativar relatório de erros novamente |435| `DISABLE_ERROR_REPORTING` | Defina como qualquer valor não vazio, como `1`, para desativar relatório de erros. **Defini-lo como `0` ou `false` ainda desativa**, diferentemente da maioria das variáveis on/off; desconfigurar a variável para ativar relatório de erros novamente |

433| `DISABLE_EXTRA_USAGE_COMMAND` | Defina como `1` para ocultar o comando `/usage-credits` que permite aos usuários comprar uso adicional além de limites de taxa |436| `DISABLE_EXTRA_USAGE_COMMAND` | Defina como `1` para ocultar o comando `/usage-credits` que permite aos usuários comprar uso adicional além de limites de taxa |

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

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

436| `DISABLE_INSTALLATION_CHECKS` | Defina como `1` para desabilitar avisos de instalação. Use apenas ao gerenciar manualmente o local de instalação, já que isso pode mascarar problemas com instalações padrão |439| `DISABLE_INSTALLATION_CHECKS` | Defina como `1` para desabilitar avisos de instalação. Use apenas ao gerenciar manualmente o local de instalação, pois isso pode mascarar problemas com instalações padrão |

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

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

439| `DISABLE_LOGIN_COMMAND` | Defina como `1` para ocultar o comando `/login`. Útil quando autenticação é tratada externamente via chaves de API ou `apiKeyHelper` |442| `DISABLE_LOGIN_COMMAND` | Defina como `1` para ocultar o comando `/login`. Útil quando autenticação é tratada externamente via chaves de API ou `apiKeyHelper` |

440| `DISABLE_LOGOUT_COMMAND` | Defina como `1` para ocultar o comando `/logout` |443| `DISABLE_LOGOUT_COMMAND` | Defina como `1` para ocultar o comando `/logout` |


443| `DISABLE_PROMPT_CACHING_HAIKU` | Defina como `1` para desabilitar cache de prompt para modelos Haiku |446| `DISABLE_PROMPT_CACHING_HAIKU` | Defina como `1` para desabilitar cache de prompt para modelos Haiku |

444| `DISABLE_PROMPT_CACHING_OPUS` | Defina como `1` para desabilitar cache de prompt para modelos Opus |447| `DISABLE_PROMPT_CACHING_OPUS` | Defina como `1` para desabilitar cache de prompt para modelos Opus |

445| `DISABLE_PROMPT_CACHING_SONNET` | Defina como `1` para desabilitar cache de prompt para modelos Sonnet |448| `DISABLE_PROMPT_CACHING_SONNET` | Defina como `1` para desabilitar cache de prompt para modelos Sonnet |

446| `DISABLE_TELEMETRY` | Defina como qualquer valor não vazio, como `1`, para optar por não participar de telemetria. **Defini-lo como `0` ou `false` ainda opta por não participar**, diferentemente da maioria das variáveis on/off; desconfigurar a variável para ativar telemetria novamente. Eventos de telemetria não incluem dados de usuário como código, caminhos de arquivo, ou comandos bash. Também desabilita busca de sinalizador de recurso com o mesmo efeito que `DISABLE_GROWTHBOOK`, o que torna [Remote Control](/docs/pt/remote-control#requirements) e os outros [recursos que precisam de busca de sinalizador de recurso](#features-that-need-feature-flag-fetching) indisponíveis. Veja [Desativar telemetria para sua organização](/docs/pt/managed-settings#turn-telemetry-off-for-your-organization) |449| `DISABLE_TELEMETRY` | Defina como qualquer valor não vazio, como `1`, para desativar telemetria. **Defini-lo como `0` ou `false` ainda desativa**, diferentemente da maioria das variáveis on/off; desconfigurar a variável para ativar telemetria novamente. Eventos de telemetria não incluem dados de usuário como código, caminhos de arquivo ou comandos bash. Também desabilita busca de sinalizador de recurso com o mesmo efeito que `DISABLE_GROWTHBOOK`, o que torna [Remote Control](/docs/pt/remote-control#requirements) e os outros [recursos que precisam de busca de sinalizador de recurso](#features-that-need-feature-flag-fetching) indisponíveis. Veja [Desativar telemetria para sua organização](/docs/pt/managed-settings#turn-telemetry-off-for-your-organization) |

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

448| `DISABLE_UPGRADE_COMMAND` | Defina como `1` para ocultar o comando `/upgrade` |451| `DISABLE_UPGRADE_COMMAND` | Defina como `1` para ocultar o comando `/upgrade` |

449| `DO_NOT_TRACK` | Defina como `1` para optar por não participar de telemetria, com o mesmo efeito que `DISABLE_TELEMETRY`, incluindo tornar [Remote Control](/docs/pt/remote-control#requirements) e os outros [recursos que precisam de busca de sinalizador de recurso](#features-that-need-feature-flag-fetching) indisponíveis. Claude Code lê essa variável como um booleano padrão, para que `0` deixe telemetria ativa, e a honra como a convenção entre ferramentas reconhecida por muitos CLIs de desenvolvedor |452| `DO_NOT_TRACK` | Defina como `1` para desativar telemetria, com o mesmo efeito que `DISABLE_TELEMETRY`, incluindo tornar [Remote Control](/docs/pt/remote-control#requirements) e os outros [recursos que precisam de busca de sinalizador de recurso](#features-that-need-feature-flag-fetching) indisponíveis. Claude Code lê essa variável como um booleano padrão, para que `0` deixe telemetria ativada e a honre como a convenção entre ferramentas reconhecida por muitos CLIs de desenvolvedor |

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

451| `ENABLE_CLAUDEAI_MCP_SERVERS` | Defina como `false` para impedir que Claude Code busque [servidores MCP claude.ai](/docs/pt/mcp#use-mcp-servers-from-claude-ai). Ativado por padrão para usuários conectados. Para desabilitar por projeto ou por org, defina [`disableClaudeAiConnectors`](/docs/pt/settings-reference#disableclaudeaiconnectors) em configurações |454| `ENABLE_CLAUDEAI_MCP_SERVERS` | Defina como `false` para parar Claude Code de buscar [servidores MCP claude.ai](/docs/pt/mcp#use-mcp-servers-from-claude-ai). Ativado por padrão para usuários conectados. Para desabilitar por projeto ou por org, defina [`disableClaudeAiConnectors`](/docs/pt/settings-reference#disableclaudeaiconnectors) em configurações |

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

453| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Descontinuado. Use `ENABLE_PROMPT_CACHING_1H` |456| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Deprecated. Use `ENABLE_PROMPT_CACHING_1H` |

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

455| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | Defina como qualquer valor não vazio, como `1`, para fazer Claude Code parar de tentar novamente em erros de sobrecarga repetidos para cada modelo quando nenhum modelo fallback está configurado. **Defini-lo como `0` ou `false` ainda ativa isso**, diferentemente da maioria das variáveis on/off; desconfigurar a variável para restaurar o comportamento de retry padrão. Sem isso, Claude Code para de tentar novamente dessa forma em modelos que reconhece como modelos Opus, Fable, ou Mythos quando você autentica com uma chave de API ou um [provedor de terceiros](/docs/pt/third-party-integrations) em vez de uma assinatura Claude. No Claude Code v2.1.160 ou posterior, Claude Code muda para sua [cadeia de modelo fallback](/docs/pt/model-config#fallback-model-chains) configurada em erros de sobrecarga repetidos para qualquer modelo primário, para que essa variável não afete a mudança para um modelo fallback |458| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | Defina como qualquer valor não vazio, como `1`, para fazer Claude Code parar de tentar novamente em erros de sobrecarga repetidos para cada modelo quando nenhum modelo de fallback está configurado. **Defini-lo como `0` ou `false` ainda ativa isso**, diferentemente da maioria das variáveis on/off; desconfigurar a variável para restaurar o comportamento de retry padrão. Sem isso, Claude Code para de tentar novamente dessa forma em modelos que reconhece como Opus, Fable ou Mythos quando você autentica com uma chave de API ou um [provedor de terceiros](/docs/pt/third-party-integrations) em vez de uma assinatura Claude. No Claude Code v2.1.160 ou posterior, Claude Code muda para sua [cadeia de modelo de fallback](/docs/pt/model-config#fallback-model-chains) configurada em erros de sobrecarga repetidos para qualquer modelo primário, para que essa variável não afete a mudança para um modelo de fallback |

456| `FORCE_AUTOUPDATE_PLUGINS` | Defina como `1` para forçar auto-atualizações de plugin mesmo quando o auto-atualizador principal está desabilitado via `DISABLE_AUTOUPDATER` |459| `FORCE_AUTOUPDATE_PLUGINS` | Defina como `1` para forçar auto-atualizações de plugin mesmo quando o auto-atualizador principal é desabilitado via `DISABLE_AUTOUPDATER` |

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

458| `FORCE_PROMPT_CACHING_5M` | Defina como `1` para forçar o TTL de cache de prompt de 5 minutos mesmo quando TTL de 1 hora se aplicaria de outra forma. Substitui `CLAUDE_CODE_PROMPT_CACHE_TTL`, `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, `ENABLE_PROMPT_CACHING_1H`, e as configurações `promptCacheTtl` e `subagentPromptCacheTtl` |461| `FORCE_PROMPT_CACHING_5M` | Defina como `1` para forçar o TTL de cache de prompt de 5 minutos mesmo quando TTL de 1 hora se aplicaria de outra forma. Substitui `CLAUDE_CODE_PROMPT_CACHE_TTL`, `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, `ENABLE_PROMPT_CACHING_1H` e as configurações `promptCacheTtl` e `subagentPromptCacheTtl` |

459| `HTTP_PROXY` | Especifique servidor proxy HTTP para conexões de rede |462| `HTTP_PROXY` | Especifique servidor proxy HTTP para conexões de rede |

460| `HTTPS_PROXY` | Especifique servidor proxy HTTPS para conexões de rede |463| `HTTPS_PROXY` | Especifique servidor proxy HTTPS para conexões de rede |

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

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

463| `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 muitas tentativas falhadas sem saída válida, a execução falha. O mesmo limite se aplica quando a saída estruturada de um subagente [fluxo de trabalho](/docs/pt/workflows) falha na validação. Padrão para 5, uma primeira tentativa mais quatro tentativas |466| `MAX_STRUCTURED_OUTPUT_RETRIES` | Número de tentativas que Claude Code permite quando a resposta do modelo falha na validação contra o [`--json-schema`](/docs/pt/cli-reference#cli-flags) em modo não interativo com a flag `-p`; após esse muitas tentativas falhadas sem saída válida, a execução falha. O mesmo limite se aplica quando a saída estruturada de um [subagente](/docs/pt/sub-agents) de [workflow](/docs/pt/workflows) falha na validação. Padrão 5, uma primeira tentativa mais quatro retentativas |

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

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

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

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

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

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

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

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

472| `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) |475| `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) |

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

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

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

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

477| `MCP_TIMEOUT` | Timeout em milissegundos para inicialização de servidor MCP (padrão: 30000, ou 30 segundos) |480| `MCP_TIMEOUT` | Timeout em milissegundos para inicialização de servidor MCP (padrão: 30000, ou 30 segundos) |

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

479| `NO_PROXY` | Lista de domínios e IPs para os quais solicitações serão emitidas diretamente, contornando proxy |482| `NO_PROXY` | Lista de domínios e IPs para os quais as solicitações serão emitidas diretamente, contornando proxy |

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

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

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

483| `OTEL_LOG_RAW_API_BODIES` | Emita JSON de solicitação e resposta da API Anthropic Messages como eventos de log `api_request_body` / `api_response_body`. Defina como `1` para corpos inline truncados no limite de conteúdo, ou `file:<dir>` para escrever corpos não truncados em disco e emitir um caminho `body_ref`. `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` configura o limite de conteúdo, 60 KB por padrão. Desabilitado por padrão; corpos incluem todo o histórico de conversa. Defina em seu shell, configurações de usuário, ou configurações gerenciadas. Ignorado em [configurações de projeto e local](/docs/pt/settings-reference#variables-claude-code-ignores-in-env). Veja [Monitoramento](/docs/pt/monitoring-usage#api-request-body-event) |486| `OTEL_LOG_RAW_API_BODIES` | Emita JSON de solicitação e resposta da API Anthropic Messages como eventos de log `api_request_body` / `api_response_body`. Defina como `1` para corpos inline truncados no limite de conteúdo, ou `file:<dir>` para escrever corpos não truncados em disco e emitir um caminho `body_ref`. `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` configura o limite de conteúdo, 60 KB por padrão. Desabilitado por padrão; corpos incluem o histórico de conversa inteiro. Defina em seu shell, configurações de usuário ou configurações gerenciadas. Ignorado em [configurações de projeto e local](/docs/pt/settings-reference#variables-claude-code-ignores-in-env). Veja [Monitoramento](/docs/pt/monitoring-usage#api-request-body-event) |

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

485| `OTEL_LOG_TOOL_DETAILS` | Defina como `1` para incluir argumentos de entrada de ferramenta, nomes de servidor MCP, nomes de fluxo de trabalho redigidos pelo usuário, strings de erro bruto em falhas de ferramenta, a `category` de recusa em eventos `api_refusal`, e outros detalhes de ferramenta em rastreamentos e logs OpenTelemetry. Desabilitado por padrão para proteger PII. Veja [Monitoramento](/docs/pt/monitoring-usage) |488| `OTEL_LOG_TOOL_DETAILS` | Defina como `1` para incluir argumentos de entrada de ferramenta, nomes de servidor MCP, nomes de workflow redigidos pelo usuário, strings de erro bruto em falhas de ferramenta, a `category` de recusa em eventos `api_refusal` e outros detalhes de ferramenta em rastreamentos e logs OpenTelemetry. Desabilitado por padrão para proteger PII. Defina em seu shell, configurações de usuário ou configurações gerenciadas. Ignorado em [configurações de projeto e local](/docs/pt/settings-reference#variables-claude-code-ignores-in-env), além dos valores desativados que essa seção descreve. Veja [Monitoramento](/docs/pt/monitoring-usage) |

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

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

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

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

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

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

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

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

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

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

496| `VERTEX_REGION_CLAUDE_3_5_HAIKU` | Substitua região para Claude 3.5 Haiku ao usar Google Cloud's Agent Platform |499| `VERTEX_REGION_CLAUDE_3_5_HAIKU` | Substitua região para Claude 3.5 Haiku ao usar Google Cloud's Agent Platform |

497| `VERTEX_REGION_CLAUDE_3_5_SONNET` | Substitua região para Claude 3.5 Sonnet ao usar Google Cloud's Agent Platform |500| `VERTEX_REGION_CLAUDE_3_5_SONNET` | Substitua região para Claude 3.5 Sonnet ao usar Google Cloud's Agent Platform |


506| `VERTEX_REGION_CLAUDE_4_7_OPUS` | Substitua região para Claude Opus 4.7 ao usar Google Cloud's Agent Platform |509| `VERTEX_REGION_CLAUDE_4_7_OPUS` | Substitua região para Claude Opus 4.7 ao usar Google Cloud's Agent Platform |

507| `VERTEX_REGION_CLAUDE_4_8_OPUS` | Substitua região para Claude Opus 4.8 ao usar Google Cloud's Agent Platform |510| `VERTEX_REGION_CLAUDE_4_8_OPUS` | Substitua região para Claude Opus 4.8 ao usar Google Cloud's Agent Platform |

508| `VERTEX_REGION_CLAUDE_5_5_OPUS` | Substitua região para Claude Opus 5.5 ao usar Google Cloud's Agent Platform. Adicionado na v2.1.280 |511| `VERTEX_REGION_CLAUDE_5_5_OPUS` | Substitua região para Claude Opus 5.5 ao usar Google Cloud's Agent Platform. Adicionado na v2.1.280 |

512| `VERTEX_REGION_CLAUDE_5_5_SONNET` | Substitua região para Claude Sonnet 5.5 ao usar Google Cloud's Agent Platform. Adicionado na v2.1.284 |

509| `VERTEX_REGION_CLAUDE_5_OPUS` | Substitua região para Claude Opus 5 ao usar Google Cloud's Agent Platform. Adicionado na v2.1.219 |513| `VERTEX_REGION_CLAUDE_5_OPUS` | Substitua região para Claude Opus 5 ao usar Google Cloud's Agent Platform. Adicionado na v2.1.219 |

510| `VERTEX_REGION_CLAUDE_5_SONNET` | Substitua região para Claude Sonnet 5 ao usar Google Cloud's Agent Platform. Adicionado na v2.1.197 |514| `VERTEX_REGION_CLAUDE_5_SONNET` | Substitua região para Claude Sonnet 5 ao usar Google Cloud's Agent Platform. Adicionado na v2.1.197 |

511| `VERTEX_REGION_CLAUDE_FABLE_5` | Substitua região para Claude Fable 5 ao usar Google Cloud's Agent Platform. Adicionado na v2.1.170 |515| `VERTEX_REGION_CLAUDE_FABLE_5` | Substitua região para Claude Fable 5 ao usar Google Cloud's Agent Platform. Adicionado na v2.1.170 |

512| `VERTEX_REGION_CLAUDE_FABLE_5_1` | Substitua região para Claude Fable 5.1 ao usar Google Cloud's Agent Platform. Adicionado na v2.1.257 |516| `VERTEX_REGION_CLAUDE_FABLE_5_1` | Substitua região para Claude Fable 5.1 ao usar Google Cloud's Agent Platform. Adicionado na v2.1.257 |

513| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | Substitua região para Claude Haiku 4.5 ao usar Google Cloud's Agent Platform |517| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | Substitua região para Claude Haiku 4.5 ao usar Google Cloud's Agent Platform |

514 518 

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

520 

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

516 522 

517<h2 id="features-that-need-feature-flag-fetching">523<h2 id="features-that-need-feature-flag-fetching">

518 Recursos que precisam de busca de feature-flag524 Recursos que precisam de busca de feature-flag


526 532 

527Com a busca desativada, você não pode:533Com a busca desativada, você não pode:

528 534 

529* [Iniciar sessões em modo automático por padrão](/docs/pt/permission-modes#which-mode-a-session-starts-in) em planos Pro, Max e Team

530* Ter a extensão VS Code [ler arquivos de configuração para o modo de permissão inicial](/docs/pt/permission-modes#switch-permission-modes)

531* Executar [`/auto-mode-setup`](/docs/pt/auto-mode-config#generate-environment-entries) para rascunhar entradas `autoMode.environment`535* Executar [`/auto-mode-setup`](/docs/pt/auto-mode-config#generate-environment-entries) para rascunhar entradas `autoMode.environment`

532* Usar [Controle Remoto](/docs/pt/remote-control#requirements)536* Usar [Controle Remoto](/docs/pt/remote-control) com `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` ou `DISABLE_GROWTHBOOK` definido. Para `DISABLE_TELEMETRY` e `DO_NOT_TRACK`, consulte os [requisitos do Controle Remoto](/docs/pt/remote-control#requirements)

533* [Enviar mensagens de sessões além desta máquina](/docs/pt/cross-session-messaging#message-sessions-on-other-machines); mensagens entre sessões nesta máquina funcionam com a busca desativada537* [Enviar mensagens de sessões além desta máquina](/docs/pt/cross-session-messaging#message-sessions-on-other-machines) quando [Controle Remoto](/docs/pt/remote-control#requirements) não estiver disponível. Mensagens entre sessões nesta máquina funcionam com a busca desativada

534* Executar [`claude import` ou o comando `/import`](/docs/pt/cli-reference#cli-commands)538* Executar [`claude import` ou o comando `/import`](/docs/pt/cli-reference#cli-commands)

535* Executar [`/skill-doctor`](/docs/pt/skills#find-unused-skills) ou abrir seu relatório na aba **Stats** do `/plugin`539* Executar [`/skill-doctor`](/docs/pt/skills#find-unused-skills) ou abrir seu relatório na aba **Stats** do `/plugin`

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

537* Usar [a ferramenta advisor](/docs/pt/advisor#requirements)541* Usar [a ferramenta advisor](/docs/pt/advisor#requirements)

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

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


546 Primeira sessão após uma instalação ou atualização550 Primeira sessão após uma instalação ou atualização

547</h3>551</h3>

548 552 

549Na sua primeira sessão após instalar Claude Code, ou atualizar para uma versão que adiciona um recurso, um [recurso com gate de flag](#features-that-need-feature-flag-fetching) pode estar faltando, e a sessão pode iniciar em modo Manual em um plano que de outra forma iniciaria em modo automático. Claude Code busca as flags durante essa sessão, então ambas estão lá na sua próxima sessão.553Na sua primeira sessão após instalar Claude Code, ou atualizar para uma versão que adiciona um recurso, um [recurso com gate de flag](#features-that-need-feature-flag-fetching) pode estar faltando. Essa sessão também pode iniciar em um [modo de permissão](/docs/pt/permission-modes#which-mode-a-session-starts-in) diferente daquele em que suas sessões posteriores iniciam. Claude Code busca as flags durante essa sessão, então sua próxima sessão tem o recurso e o modo de permissão inicial usual.

550 554 

551Após uma instalação limpa, em uma sessão não interativa como `claude -p`, o Agent SDK, ou a extensão VS Code, Claude Code ainda pode pegar as flags antes de [escolher o modo de permissão inicial](/docs/pt/permission-modes#which-mode-a-session-starts-in).555Após uma instalação limpa, em uma sessão não interativa como `claude -p`, o Agent SDK, ou a extensão VS Code, Claude Code ainda pode pegar as flags antes de [escolher o modo de permissão inicial](/docs/pt/permission-modes#which-mode-a-session-starts-in).

552 556 

errors.md +559 −186

Details

8 8 

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

10 10 

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

12 12 

13<Note>13<Note>

14 Claude Code chama a API Claude para respostas do modelo, portanto, a maioria dos erros de tempo de execução mapeia para um código de erro de API subjacente. Esta página cobre o que cada erro significa dentro do Claude Code e como se recuperar. Para as definições de código de status HTTP bruto, consulte a [referência de erro da Plataforma Claude](https://platform.claude.com/docs/en/api/errors).14 O Claude Code chama a API Claude para respostas de modelo, portanto, a maioria dos erros de tempo de execução mapeia para um código de erro de API subjacente. Esta página cobre o que cada erro significa dentro do Claude Code e como se recuperar. Para as definições de código de status HTTP bruto, consulte a [referência de erro da Plataforma Claude](https://platform.claude.com/docs/en/api/errors).

15</Note>15</Note>

16 16 

17<h2 id="find-your-error">17<h2 id="find-your-error">


24| :- | :- |24| :- | :- |

25| `API Error: 500 Internal server error` | [Server errors](#api-error-500-internal-server-error) |25| `API Error: 500 Internal server error` | [Server errors](#api-error-500-internal-server-error) |

26| `API Error: Repeated 529 Overloaded errors` | [Server errors](#api-error-repeated-529-overloaded-errors) |26| `API Error: Repeated 529 Overloaded errors` | [Server errors](#api-error-repeated-529-overloaded-errors) |

27| `Opus is experiencing high load` / `Fable is experiencing high load` | [Server errors](#api-error-repeated-529-overloaded-errors) |

27| `Request timed out` | [Server errors](#request-timed-out), ou [Network](#unable-to-connect-to-api) se a mensagem mencionar sua conexão com a internet |28| `Request timed out` | [Server errors](#request-timed-out), ou [Network](#unable-to-connect-to-api) se a mensagem mencionar sua conexão com a internet |

28| `API Error: No response from API` | [Server errors](#no-response-from-api) |29| `API Error: No response from API` | [Server errors](#no-response-from-api) |

29| `Server error mid-response. The response above may be incomplete.` | [Server errors](#the-response-above-may-be-incomplete) |30| `Server error mid-response. The response above may be incomplete.` | [Server errors](#the-response-above-may-be-incomplete) |

30| `Connection lost mid-response` / `Your computer went to sleep mid-response` / `The response stopped arriving` | [Server errors](#the-response-above-may-be-incomplete) |31| `Connection lost mid-response` / `Your computer went to sleep mid-response` / `The response stopped arriving` | [Server errors](#the-response-above-may-be-incomplete) |

31| `Connection closed mid-response` / `Response stalled mid-stream` | [Server errors](#the-response-above-may-be-incomplete) |32| `Connection closed mid-response` / `Response stalled mid-stream` | [Server errors](#the-response-above-may-be-incomplete) |

33| `Part of the response never arrived` / `The response stream was malformed` | [Server errors](#the-response-above-may-be-incomplete) |

34| `API Error: Content block not found` / `API Error: Content block already closed` / `API Error: Stream event unreadable` | [Server errors](#the-response-above-may-be-incomplete) |

32| `Connection lost before a response was produced` / `Your computer went to sleep before a response was produced` / `The response stalled before a response was produced` | [Automatic retries](#automatic-retries) |35| `Connection lost before a response was produced` / `Your computer went to sleep before a response was produced` / `The response stalled before a response was produced` | [Automatic retries](#automatic-retries) |

33| `Connection closed while thinking` / `Response stalled while thinking` | [Automatic retries](#automatic-retries) |36| `Connection closed while thinking` / `Response stalled while thinking` | [Automatic retries](#automatic-retries) |

34| `Connection lost while your computer was asleep` | [Automatic retries](#automatic-retries) |37| `Connection lost while your computer was asleep` | [Automatic retries](#automatic-retries) |


49| `Could not update your spend limit` | [Usage limits](#could-not-update-your-spend-limit) |52| `Could not update your spend limit` | [Usage limits](#could-not-update-your-spend-limit) |

50| `spend limit reached` / `spend limit unavailable` | [Usage limits](#spend-limit-reached) |53| `spend limit reached` / `spend limit unavailable` | [Usage limits](#spend-limit-reached) |

51| `Not logged in · Please run /login` | [Authentication](#not-logged-in) |54| `Not logged in · Please run /login` | [Authentication](#not-logged-in) |

55| `Couldn't save your login` | [Authentication](#couldnt-save-your-login) |

56| `Authentication required · Sign in again to continue` | [Authentication](#not-logged-in) |

52| `Could not resolve authentication method` | [Authentication](#could-not-resolve-authentication-method) |57| `Could not resolve authentication method` | [Authentication](#could-not-resolve-authentication-method) |

53| `Invalid API key` | [Authentication](#invalid-api-key) |58| `Invalid API key` | [Authentication](#invalid-api-key) |

54| `Your apiKeyHelper script is failing` | [Authentication](#your-apikeyhelper-script-is-failing) |59| `Your apiKeyHelper script is failing` | [Authentication](#your-apikeyhelper-script-is-failing) |


69| `signed-in claude.ai account or organization changed on this machine` | [Authentication](#remote-control-stopped-because-the-signed-in-account-changed) |74| `signed-in claude.ai account or organization changed on this machine` | [Authentication](#remote-control-stopped-because-the-signed-in-account-changed) |

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

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

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

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

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

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


77| `Not signed in to the Cloud gateway — run /login.` | [Authentication](#administrator-policy-requires-a-cloud-gateway-sign-in) |83| `Not signed in to the Cloud gateway — run /login.` | [Authentication](#administrator-policy-requires-a-cloud-gateway-sign-in) |

78| `Administrator policy requires a Cloud gateway sign-in on this machine` | [Authentication](#administrator-policy-requires-a-cloud-gateway-sign-in) |84| `Administrator policy requires a Cloud gateway sign-in on this machine` | [Authentication](#administrator-policy-requires-a-cloud-gateway-sign-in) |

79| `Failed to authenticate: OAuth session expired and could not be refreshed` | [Authentication](#login-expired) |85| `Failed to authenticate: OAuth session expired and could not be refreshed` | [Authentication](#login-expired) |

86| `Could not refresh your login because another Claude Code process is refreshing it` | [Authentication](#could-not-refresh-your-login) |

87| `Failed to refresh OAuth token: another Claude Code process is refreshing it or exited mid-refresh` | [Authentication](#could-not-refresh-your-login) |

80| `Your account is on hold and can't use Claude Code. View details or appeal: https://claude.ai/restricted` | [Authentication](#your-account-is-on-hold) |88| `Your account is on hold and can't use Claude Code. View details or appeal: https://claude.ai/restricted` | [Authentication](#your-account-is-on-hold) |

81| `Your account is on hold and can't sign in to Claude Code. View details or appeal: https://claude.ai/restricted` | [Authentication](#your-account-is-on-hold) |89| `Your account is on hold and can't sign in to Claude Code. View details or appeal: https://claude.ai/restricted` | [Authentication](#your-account-is-on-hold) |

82| `Anthropic profile login expired · Re-authenticate your Anthropic profile` | [Authentication](#anthropic-profile-login-expired) |90| `Anthropic profile login expired · Re-authenticate your Anthropic profile` | [Authentication](#anthropic-profile-login-expired) |


120| `Couldn't reconnect to your Remote Control session` | [Network](#couldnt-reconnect-to-your-remote-control-session) |128| `Couldn't reconnect to your Remote Control session` | [Network](#couldnt-reconnect-to-your-remote-control-session) |

121| `N sessions ended while this machine was offline — the environment was cleaned up on the server and can't be resumed.` | [Network](#sessions-ended-while-this-machine-was-offline) |129| `N sessions ended while this machine was offline — the environment was cleaned up on the server and can't be resumed.` | [Network](#sessions-ended-while-this-machine-was-offline) |

122| `Couldn't share the transcript.` | [Network](#couldnt-share-the-transcript) |130| `Couldn't share the transcript.` | [Network](#couldnt-share-the-transcript) |

131| `Couldn't send feedback` | [Network](#couldnt-send-feedback) |

123| `Prompt is too long` / `Input is too long for requested model` | [Request errors](#prompt-is-too-long) |132| `Prompt is too long` / `Input is too long for requested model` | [Request errors](#prompt-is-too-long) |

124| `Prompt is too long · automatic compaction failed:` | [Request errors](#prompt-is-too-long) |133| `Prompt is too long · automatic compaction failed:` | [Request errors](#prompt-is-too-long) |

125| `Prompt is too long · this conversation is a single exchange` / `A single-exchange conversation cannot be compacted` | [Request errors](#prompt-is-too-long) |134| `Prompt is too long · this conversation is a single exchange` / `A single-exchange conversation cannot be compacted` | [Request errors](#prompt-is-too-long) |


139| `PDF too large` / `PDF is password protected` | [Request errors](#pdf-errors) |148| `PDF too large` / `PDF is password protected` | [Request errors](#pdf-errors) |

140| `Extra inputs are not permitted` | [Request errors](#extra-inputs-are-not-permitted) |149| `Extra inputs are not permitted` | [Request errors](#extra-inputs-are-not-permitted) |

141| `API Error: 400 ... tools.N.custom.input_schema: JSON schema is invalid` / `Property keys should match pattern` | [Request errors](#tool-input-schema-is-invalid) |150| `API Error: 400 ... tools.N.custom.input_schema: JSON schema is invalid` / `Property keys should match pattern` | [Request errors](#tool-input-schema-is-invalid) |

151| `tool_use.name: String should have at most 200 characters` | [Request errors](#tool-use-name-over-200-characters) |

142| `There's an issue with the selected model` | [Request errors](#theres-an-issue-with-the-selected-model) |152| `There's an issue with the selected model` | [Request errors](#theres-an-issue-with-the-selected-model) |

143| `Model ... is not a recognized model id` | [Request errors](#model-is-not-a-recognized-model-id) |153| `Model ... is not a recognized model id` | [Request errors](#model-is-not-a-recognized-model-id) |

144| `Model ... not found` | [Request errors](#model-not-found) |154| `Model ... not found` | [Request errors](#model-not-found) |

155| `API error: ... · model not changed` | [Request errors](#api-error-model-not-changed) |

145| `Claude Opus is not available with the Claude Pro plan` | [Request errors](#claude-opus-is-not-available-with-the-claude-pro-plan) |156| `Claude Opus is not available with the Claude Pro plan` | [Request errors](#claude-opus-is-not-available-with-the-claude-pro-plan) |

146| `Claude Code ... does not support this model; version ... or newer is required` | [Request errors](#claude-code-does-not-support-this-model) |157| `Claude Code ... does not support this model; version ... or newer is required` | [Request errors](#claude-code-does-not-support-this-model) |

147| `Claude Code ... is older than the minimum version required by your organization's policy` | [Request errors](#claude-code-does-not-support-this-model) |158| `Claude Code ... is older than the minimum version required by your organization's policy` | [Request errors](#claude-code-does-not-support-this-model) |

148| `Model ... is restricted by your organization's settings` | [Request errors](#model-is-restricted-by-your-organizations-settings) |159| `Model ... is restricted by your organization's settings` | [Request errors](#model-is-restricted-by-your-organizations-settings) |

160| `Model ... is not available. Your organization restricts model selection.` | [Request errors](#model-is-restricted-by-your-organizations-settings) |

149| `Model switch ... blocked by a PreModelSwitch hook` | [Request errors](#model-switch-was-blocked-by-a-premodelswitch-hook) |161| `Model switch ... blocked by a PreModelSwitch hook` | [Request errors](#model-switch-was-blocked-by-a-premodelswitch-hook) |

150| `couldn't save it as your default` / `couldn't confirm it was saved as your default` | [Request errors](#couldnt-save-it-as-your-default) |162| `couldn't save it as your default` / `couldn't confirm it was saved as your default` | [Request errors](#couldnt-save-it-as-your-default) |

151| `thinking.type.enabled is not supported for this model` | [Request errors](#thinking-type-enabled-is-not-supported-for-this-model) |163| `thinking.type.enabled is not supported for this model` | [Request errors](#thinking-type-enabled-is-not-supported-for-this-model) |


155| `API Error: 400 due to tool use concurrency issues` | [Request errors](#tool-use-or-thinking-block-mismatch) |167| `API Error: 400 due to tool use concurrency issues` | [Request errors](#tool-use-or-thinking-block-mismatch) |

156| `API Error: 400 orphaned tool_result in conversation history` | [Request errors](#tool-use-or-thinking-block-mismatch) |168| `API Error: 400 orphaned tool_result in conversation history` | [Request errors](#tool-use-or-thinking-block-mismatch) |

157| `API Error: 400 duplicate tool_use ID in conversation history` | [Request errors](#tool-use-or-thinking-block-mismatch) |169| `API Error: 400 duplicate tool_use ID in conversation history` | [Request errors](#tool-use-or-thinking-block-mismatch) |

170| `Invalid data in redacted_thinking block` | [Request errors](#invalid-data-in-redacted-thinking-block) |

158| `[Unsupported tool content removed]` | [Request errors](#unsupported-tool-content-removed) |171| `[Unsupported tool content removed]` | [Request errors](#unsupported-tool-content-removed) |

159| `role 'system' must precede an 'assistant' message` | [Request errors](#role-system-must-precede-an-assistant-message) |172| `role 'system' must precede an 'assistant' message` | [Request errors](#role-system-must-precede-an-assistant-message) |

160| `Invalid encrypted_content in search_result block` / `Invalid encrypted_index in text block` / `Failed to decrypt web search result content` | [Request errors](#invalid-encrypted-content-in-search-result-block) |173| `Invalid encrypted_content in search_result block` / `Invalid encrypted_index in text block` / `Failed to decrypt web search result content` | [Request errors](#invalid-encrypted-content-in-search-result-block) |

174| `Invalid encrypted_stdout in encrypted_code_execution_result block` | [Request errors](#invalid-encrypted-content-in-search-result-block) |

161| `server_tool_use.name: Input should be` em cada turno de uma sessão retomada | [Request errors](#unsupported-tool-content-removed) |175| `server_tool_use.name: Input should be` em cada turno de uma sessão retomada | [Request errors](#unsupported-tool-content-removed) |

162| `<model> can't help with this. Start a new session to continue` | [Request errors](#usage-policy-refusal) |176| `<model> can't help with this. Start a new session to continue` | [Request errors](#usage-policy-refusal) |

163| `Claude Code is unable to respond to this request, which appears to violate our Usage Policy` | [Request errors](#usage-policy-refusal) |177| `Claude Code is unable to respond to this request, which appears to violate our Usage Policy` | [Request errors](#usage-policy-refusal) |

164| `<model>'s safeguards flagged this message` | [Request errors](#safety-measures-flagged-a-cybersecurity-topic) |178| `<model>'s safeguards flagged this message` | [Request errors](#safety-measures-flagged-a-cybersecurity-topic) |

165| `Opus 5.5's safeguards flagged this session` | [Request errors](#safety-measures-flagged-a-cybersecurity-topic) |179| `<model>'s safeguards flagged this session` | [Request errors](#safety-measures-flagged-a-cybersecurity-topic) |

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

167| `Installation was killed before it could finish (exit code 137)` | [Installation errors](#installation-was-killed-before-it-could-finish) |181| `Installation was killed before it could finish (exit code 137)` | [Installation errors](#installation-was-killed-before-it-could-finish) |

168| `The connection dropped while downloading the update` | [Installation errors](#the-connection-dropped-while-downloading-the-update) |182| `The connection dropped while downloading the update` | [Installation errors](#the-connection-dropped-while-downloading-the-update) |


173| `Couldn't verify your organization's policy for cloud sessions` | [Command-line errors](#cloud-sessions-are-disabled-by-your-organizations-policy) |187| `Couldn't verify your organization's policy for cloud sessions` | [Command-line errors](#cloud-sessions-are-disabled-by-your-organizations-policy) |

174| `Error: --json-schema is not a valid JSON Schema` | [Command-line errors](#command-line-errors) |188| `Error: --json-schema is not a valid JSON Schema` | [Command-line errors](#command-line-errors) |

175| `Error: Invalid --agents configuration:` | [Command-line errors](#invalid-agents-configuration) |189| `Error: Invalid --agents configuration:` | [Command-line errors](#invalid-agents-configuration) |

190| `Error: --agents takes a JSON object, or a file path only with --print (-p)` | [Command-line errors](#invalid-agents-configuration) |

191| `Error: --agents file not found` | [Command-line errors](#invalid-agents-configuration) |

176| `Error: Settings file exceeds the 2MiB limit` | [Command-line errors](#settings-file-exceeds-the-2mib-limit) |192| `Error: Settings file exceeds the 2MiB limit` | [Command-line errors](#settings-file-exceeds-the-2mib-limit) |

177| `The current directory no longer exists (it was deleted or moved)` / `Can't read the current directory` | [Command-line errors](#the-current-directory-no-longer-exists) |193| `The current directory no longer exists (it was deleted or moved)` / `Can't read the current directory` | [Command-line errors](#the-current-directory-no-longer-exists) |

178| `Temp directory <dir> ... Refusing to use it` / `ENOSPC: no space left on device, mkdir '<dir>'` | [Command-line errors](#temp-directory-refused-or-cannot-be-created) |194| `Temp directory <dir> ... Refusing to use it` / `ENOSPC: no space left on device, mkdir '<dir>'` | [Command-line errors](#temp-directory-refused-or-cannot-be-created) |


207| `Single sign-on authorization needed` | [Command-line errors](#single-sign-on-authorization-needed) |223| `Single sign-on authorization needed` | [Command-line errors](#single-sign-on-authorization-needed) |

208| `Failed to resume the conversation` | [Command-line errors](#failed-to-resume-the-conversation) |224| `Failed to resume the conversation` | [Command-line errors](#failed-to-resume-the-conversation) |

209| `No conversation found with session ID: <session-id>` | [Command-line errors](#no-conversation-found-with-the-session-id) |225| `No conversation found with session ID: <session-id>` | [Command-line errors](#no-conversation-found-with-the-session-id) |

226| `Windows reported an error (EBADF) when Claude Code read this session's transcript file` | [Command-line errors](#windows-reported-an-error-ebadf) |

210| `Cannot switch renderers in this session` | [Command-line errors](#cannot-switch-renderers-in-this-session) |227| `Cannot switch renderers in this session` | [Command-line errors](#cannot-switch-renderers-in-this-session) |

211| `Cannot switch renderers while work is running in the background` | [Command-line errors](#cannot-switch-renderers-in-this-session) |228| `Cannot switch renderers while work is running in the background` | [Command-line errors](#cannot-switch-renderers-in-this-session) |

212| `Couldn't open Claude Desktop` | [Command-line errors](#couldnt-open-claude-desktop) |229| `Couldn't open Claude Desktop` | [Command-line errors](#couldnt-open-claude-desktop) |


218| `Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load` | [Command-line errors](#output-styles-are-saved-to-local-settings-which-this-session-doesnt-load) |235| `Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load` | [Command-line errors](#output-styles-are-saved-to-local-settings-which-this-session-doesnt-load) |

219| `` `plugin eval` is currently in early access `` / `` `plugin eval` is currently unavailable `` | [Plugin errors](#plugin-eval-is-currently-in-early-access) |236| `` `plugin eval` is currently in early access `` / `` `plugin eval` is currently unavailable `` | [Plugin errors](#plugin-eval-is-currently-in-early-access) |

220| `Marketplace "<name>" is registered from an untrusted source` | [Plugin errors](#marketplace-is-registered-from-an-untrusted-source) |237| `Marketplace "<name>" is registered from an untrusted source` | [Plugin errors](#marketplace-is-registered-from-an-untrusted-source) |

238| `Claude Code refuses the marketplace name "<name>"` | [Plugin errors](#claude-code-refuses-the-marketplace-name) |

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

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

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

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


231| `Failed to load marketplace configuration` | [Plugin errors](#failed-to-load-marketplace-configuration) |250| `Failed to load marketplace configuration` | [Plugin errors](#failed-to-load-marketplace-configuration) |

232| `Marketplace configuration file is corrupted` | [Plugin errors](#failed-to-load-marketplace-configuration) |251| `Marketplace configuration file is corrupted` | [Plugin errors](#failed-to-load-marketplace-configuration) |

233| `Plugin "<name>@synced" is required by your organization and can't be disabled here` | [Plugin errors](#plugin-is-required-by-your-organization) |252| `Plugin "<name>@synced" is required by your organization and can't be disabled here` | [Plugin errors](#plugin-is-required-by-your-organization) |

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

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

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

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

257| `cannot contain null bytes (\0)` | [Tool errors](#path-cannot-contain-null-bytes) |

258| `Path contains null bytes` | [Tool errors](#path-cannot-contain-null-bytes) |

236| `subagent_type is required: the general-purpose agent is not available in this session` | [Tool errors](#subagent-type-is-required) |259| `subagent_type is required: the general-purpose agent is not available in this session` | [Tool errors](#subagent-type-is-required) |

237| `Error: this write left the memory index at MEMORY.md at ..., over its ... read limit` | [Tool errors](#memory-index-is-over-its-read-limit) |260| `Error: this write left the memory index at MEMORY.md at ..., over its ... read limit` | [Tool errors](#memory-index-is-over-its-read-limit) |

238| `pkill: refusing to run` | [Tool errors](#pkill-pattern-matches-the-claude-code-process) |261| `pkill: refusing to run` | [Tool errors](#pkill-pattern-matches-the-claude-code-process) |


248| `Refusing to read <path>: its symlink resolution changed after permission was checked (<reason>)` / `Refusing to search <path>: its symlink resolution changed after permission was checked` | [Tool errors](#refusing-after-a-symlink-changed) |271| `Refusing to read <path>: its symlink resolution changed after permission was checked (<reason>)` / `Refusing to search <path>: its symlink resolution changed after permission was checked` | [Tool errors](#refusing-after-a-symlink-changed) |

249| `Refusing to write <path>: its parent-directory symlink resolution changed after permission was checked` / `Refusing to write <path>: it is a symbolic link. Write to the link's target path instead` | [Tool errors](#refusing-after-a-symlink-changed) |272| `Refusing to write <path>: its parent-directory symlink resolution changed after permission was checked` / `Refusing to write <path>: it is a symbolic link. Write to the link's target path instead` | [Tool errors](#refusing-after-a-symlink-changed) |

250| `Refusing to write through symlink: <path>` / `Refusing to write into symlinked directory: <path>` | [Tool errors](#refusing-after-a-symlink-changed) |273| `Refusing to write through symlink: <path>` / `Refusing to write into symlinked directory: <path>` | [Tool errors](#refusing-after-a-symlink-changed) |

274| `Refusing to write <path>: where it leads on disk could not be determined` / `Refusing to read <path>: where it leads on disk could not be determined` | [Tool errors](#refusing-after-a-symlink-changed) |

251| `Refusing to search <path>: a path one of its Read deny rules is written through changed while the search was being prepared` / `Refusing to search <path>: it could not be opened` | [Tool errors](#refusing-after-a-symlink-changed) |275| `Refusing to search <path>: a path one of its Read deny rules is written through changed while the search was being prepared` / `Refusing to search <path>: it could not be opened` | [Tool errors](#refusing-after-a-symlink-changed) |

252| `its permission check expired before it ran (too many concurrent file operations)` / `ripgrep was found only by name on PATH` | [Tool errors](#refusing-after-a-symlink-changed) |276| `its permission check expired before it ran (too many concurrent file operations)` / `ripgrep was found only by name on PATH` | [Tool errors](#refusing-after-a-symlink-changed) |

253| `task output swap refused (tasks dir moved or linked)` | [Tool errors](#task-output-swap-refused) |277| `task output swap refused (tasks dir moved or linked)` | [Tool errors](#task-output-swap-refused) |

254| `Command killed: its output file was replaced or could no longer be verified` | [Tool errors](#task-output-swap-refused) |278| `Command killed: its output file was replaced or could no longer be verified` | [Tool errors](#task-output-swap-refused) |

279| `Your disk quota is full on the filesystem with Claude Code's temp directory <dir> (EDQUOT)` | [Tool errors](#disk-quota-or-temp-filesystem-is-full) |

280| `The filesystem with Claude Code's temp directory <dir>, or your disk quota on it, is full (ENOSPC)` | [Tool errors](#disk-quota-or-temp-filesystem-is-full) |

281| `Command output was lost: the temp filesystem at <dir> is full` / `is out of inodes` | [Tool errors](#disk-quota-or-temp-filesystem-is-full) |

255| `the source file is not valid UTF-8 text` / `the source file is not valid UTF-16 text` | [Tool errors](#the-source-file-is-not-valid-utf-8-text) |282| `the source file is not valid UTF-8 text` / `the source file is not valid UTF-16 text` | [Tool errors](#the-source-file-is-not-valid-utf-8-text) |

256| `the source file has the replacement character U+FFFD` | [Tool errors](#the-source-file-is-not-valid-utf-8-text) |283| `the source file has the replacement character U+FFFD` | [Tool errors](#the-source-file-is-not-valid-utf-8-text) |

257| `Reading a local file from outside this session's connected folders, or through a link, needs the approval card` | [Tool errors](#reading-a-local-file-from-outside-the-connected-folders) |284| `Reading a local file from outside this session's connected folders, or through a link, needs the approval card` | [Tool errors](#reading-a-local-file-from-outside-the-connected-folders) |


279| `EACCES: permission denied, posix_spawn` | [Background session errors](#eacces-when-starting-a-background-session) |306| `EACCES: permission denied, posix_spawn` | [Background session errors](#eacces-when-starting-a-background-session) |

280| `exited before it became reachable` | [Background session errors](#background-service-exited-before-it-became-reachable) |307| `exited before it became reachable` | [Background session errors](#background-service-exited-before-it-became-reachable) |

281| `Couldn't start a background session (working directory no longer exists or is not accessible: ...)` | [Background session errors](#working-directory-no-longer-exists-when-starting-a-background-session) |308| `Couldn't start a background session (working directory no longer exists or is not accessible: ...)` | [Background session errors](#working-directory-no-longer-exists-when-starting-a-background-session) |

309| `Workspace not trusted.` ao iniciar ou reiniciar uma sessão em background | [Background session errors](#workspace-not-trusted-when-dispatching-a-background-session) |

282| `Claude Code is being updated by npm on this machine (still not runnable after 2 min, ...)` | [Background session errors](#eacces-when-starting-a-background-session) |310| `Claude Code is being updated by npm on this machine (still not runnable after 2 min, ...)` | [Background session errors](#eacces-when-starting-a-background-session) |

283| `Claude Code process exited with code N` | [Wrapper and IDE errors](#claude-code-process-exited-with-code-n) |311| `Claude Code process exited with code N` | [Wrapper and IDE errors](#claude-code-process-exited-with-code-n) |

284| `The connection to Claude Code ended before this message completed` | [Wrapper and IDE errors](#the-connection-to-claude-code-ended-before-this-message-completed) |312| `The connection to Claude Code ended before this message completed` | [Wrapper and IDE errors](#the-connection-to-claude-code-ended-before-this-message-completed) |


291| `Claude Code's fullscreen renderer didn't finish starting last time on this machine` / `Claude Code's fullscreen renderer has repeatedly failed to start on this machine` | [Configuration warnings](#fullscreen-failed-start-notice) |319| `Claude Code's fullscreen renderer didn't finish starting last time on this machine` / `Claude Code's fullscreen renderer has repeatedly failed to start on this machine` | [Configuration warnings](#fullscreen-failed-start-notice) |

292| `Claude Code exited after an unrecoverable interface error (...)` | [Configuration warnings](#exited-after-an-unrecoverable-interface-error) |320| `Claude Code exited after an unrecoverable interface error (...)` | [Configuration warnings](#exited-after-an-unrecoverable-interface-error) |

293| `Agent descriptions are over the 15.0k-token limit` | [Configuration warnings](#agent-descriptions-are-over-the-15000-token-limit) |321| `Agent descriptions are over the 15.0k-token limit` | [Configuration warnings](#agent-descriptions-are-over-the-15000-token-limit) |

322| `Not loaded: rename <path>, then restart — its name uses "<name>", a name reserved for the skills synced from your claude.ai account` | [Configuration warnings](#a-skill-command-or-workflow-wasnt-loaded-because-its-name-is-reserved) |

294| `Ignoring N permissions.allow entries from ... this workspace has not been trusted` | [Configuration warnings](#workspace-has-not-been-trusted) |323| `Ignoring N permissions.allow entries from ... this workspace has not been trusted` | [Configuration warnings](#workspace-has-not-been-trusted) |

295| `is a network path, which cannot be added as a working directory` | [Configuration warnings](#working-directory-is-a-network-path) |324| `is a network path, which cannot be added as a working directory` | [Configuration warnings](#working-directory-is-a-network-path) |

296| `Remote managed settings failed to load (<cause>)` | [Configuration warnings](#remote-managed-settings-failed-to-load) |325| `Remote managed settings failed to load (<cause>)` | [Configuration warnings](#remote-managed-settings-failed-to-load) |

297| `Managed settings were not approved; exiting without applying them.` | [Configuration warnings](#managed-settings-were-not-approved) |326| `Managed settings were not approved; exiting without applying them.` | [Configuration warnings](#managed-settings-were-not-approved) |

327| `Claude Code can't start: your organization's managed settings block the default model` / `Claude Code can't start: your organization allows only the models listed in "availableModels"` | [Configuration warnings](#managed-settings-block-the-default-model) |

298| `MCP server <name> is blocked by enterprise managed policy` | [Configuration warnings](#mcp-server-is-blocked-by-enterprise-managed-policy) |328| `MCP server <name> is blocked by enterprise managed policy` | [Configuration warnings](#mcp-server-is-blocked-by-enterprise-managed-policy) |

299| `Managed settings document could not be parsed as a JSON object; none of its settings are in effect. Fix or remove it.` | [Configuration warnings](#managed-settings-document-could-not-be-parsed) |329| `Managed settings document could not be parsed as a JSON object; none of its settings are in effect. Fix or remove it.` | [Configuration warnings](#managed-settings-document-could-not-be-parsed) |

300| `Managed settings drop-in directory could not be read` | [Configuration warnings](#managed-settings-document-could-not-be-parsed) |330| `Managed settings drop-in directory could not be read` | [Configuration warnings](#managed-settings-document-could-not-be-parsed) |


390 420 

391A frase final nomeia onde verificar a saúde do serviço e varia por provedor. As configurações do Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry nomeiam a página de status desse provedor. Um `ANTHROPIC_BASE_URL` personalizado nomeia o host do gateway.421A frase final nomeia onde verificar a saúde do serviço e varia por provedor. As configurações do Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry nomeiam a página de status desse provedor. Um `ANTHROPIC_BASE_URL` personalizado nomeia o host do gateway.

392 422 

393Isso indica uma falha inesperada dentro da API. Não é causado pelo seu prompt, configurações ou conta.423Um 5xx da própria API indica uma falha inesperada dentro da API. Não é causado pelo seu prompt, configurações ou conta.

424 

425Quando um proxy, balanceador de carga ou gateway responde com uma página de erro HTML, a mensagem mostra o código de status e o título da página, como `API Error: 502 Bad Gateway`. Para uma página sem título, a mensagem mostra o código de status e seu nome padrão. Antes da v2.1.281, o código de status era descartado quando a página tinha um título, e a marcação bruta da página era impressa quando não tinha nenhum.

394 426 

395**O que fazer:**427**O que fazer:**

396 428 


416 448 

417* Verifique [status.claude.com](https://status.claude.com) ou a página de status do provedor nomeada na mensagem para avisos de capacidade449* Verifique [status.claude.com](https://status.claude.com) ou a página de status do provedor nomeada na mensagem para avisos de capacidade

418* Tente novamente em alguns minutos450* Tente novamente em alguns minutos

419* Execute `/model` e mude para um modelo diferente para continuar trabalhando, já que a capacidade é rastreada por modelo. Claude Code o solicita fazer isso quando um modelo está sob carga particularmente alta, por exemplo `Opus is experiencing high load, please use /model to switch to Sonnet`.451* Execute `/model` e mude para um modelo diferente para continuar trabalhando, já que a capacidade é rastreada por modelo. Claude Code o solicita fazer isso quando um modelo está sob carga particularmente alta, por exemplo `Opus is experiencing high load, please use /model to switch to Sonnet`. Em modelos Fable a mensagem nomeia Fable.

452 

453 Em uma sessão que o Claude Desktop app executa, como a aba Code ou Cowork, a mensagem lê `Opus is experiencing high load. Switch to Sonnet.` e você muda modelos com o seletor de modelo do app.

420 454 

421<h3 id="request-timed-out">455<h3 id="request-timed-out">

422 Request timed out456 Request timed out


474API Error: Connection lost mid-response. The response above may be incomplete.508API Error: Connection lost mid-response. The response above may be incomplete.

475API Error: Your computer went to sleep mid-response. The response above may be incomplete.509API Error: Your computer went to sleep mid-response. The response above may be incomplete.

476API Error: The response stopped arriving. The response above may be incomplete.510API Error: The response stopped arriving. The response above may be incomplete.

511API Error: Part of the response never arrived. The response above may be incomplete.

512API Error: The response stream was malformed. The response above may be incomplete.

477```513```

478 514 

479* `Server error mid-response`: um erro de servidor sobrecarregado ou 5xx no meio do fluxo. Esta variante requer Claude Code v2.1.199 ou posterior; antes disso, esse caso descartava a saída parcial e relatava todo o turno como um erro.515* `Server error mid-response`: um erro de servidor sobrecarregado ou 5xx no meio do fluxo. Esta variante requer Claude Code v2.1.199 ou posterior; antes disso, esse caso descartava a saída parcial e relatava todo o turno como um erro.

480* `Connection lost mid-response`: a conexão foi interrompida.516* `Connection lost mid-response`: a conexão foi interrompida. Você também vê esta variante quando um proxy ou gateway encerra o corpo da resposta de forma limpa antes da resposta ser concluída.

481* `Your computer went to sleep mid-response`: Claude Code detectou que seu computador entrou em modo de suspensão enquanto a resposta estava sendo transmitida. Depois que seu computador acordar, Claude Code trata a conexão como quebrada e para de ler dela.517* `Your computer went to sleep mid-response`: Claude Code detectou que seu computador entrou em modo de suspensão enquanto a resposta estava sendo transmitida. Depois que seu computador acordar, Claude Code trata a conexão como quebrada e para de ler dela.

518* `Part of the response never arrived`: um evento de fluxo foi descartado entre a API e Claude Code, então um evento posterior referenciou conteúdo que nunca chegou. Antes da v2.1.281, este caso terminou o turno com `API Error: Content block not found`.

519* `The response stream was malformed`: um evento chegou para um bloco de conteúdo que já havia terminado, ou um evento chegou danificado. Um evento danificado é aquele cujos dados não são JSON válido, cujo conteúdo está faltando ou cujo conteúdo não corresponde ao tipo do evento. Antes da v2.1.284, o erro bruto do analisador, como um começando com `API Error: JSON Parse error`, aparecia em vez disso quando um evento com JSON inválido chegava depois que Claude havia completado seu pensamento, um bloco de texto ou uma chamada de ferramenta.

482* `The response stopped arriving`: a conexão permaneceu aberta mas parou de entregar dados, então o watchdog de inatividade de streaming a abortou. Antes da v2.1.222, Claude Code também poderia relatar essa falha em conexões de [gateway](/docs/pt/gateways) alcançadas através de `ANTHROPIC_BASE_URL` ou `ANTHROPIC_AWS_BASE_URL` enquanto os pings de keep-alive do servidor ainda estavam chegando, porque contava apenas eventos de resposta analisados lá; atualizar para a versão mais recente interrompe esses tempos limite espúrios nessas rotas. Gateways alcançados através de uma URL de base de provedor como `ANTHROPIC_BEDROCK_BASE_URL` não são envolvidos pelo watchdog de byte; veja [Streaming idle watchdogs](/docs/pt/network-config#streaming-idle-watchdogs).520* `The response stopped arriving`: a conexão permaneceu aberta mas parou de entregar dados, então o watchdog de inatividade de streaming a abortou. Antes da v2.1.222, Claude Code também poderia relatar essa falha em conexões de [gateway](/docs/pt/gateways) alcançadas através de `ANTHROPIC_BASE_URL` ou `ANTHROPIC_AWS_BASE_URL` enquanto os pings de keep-alive do servidor ainda estavam chegando, porque contava apenas eventos de resposta analisados lá; atualizar para a versão mais recente interrompe esses tempos limite espúrios nessas rotas. Gateways alcançados através de uma URL de base de provedor como `ANTHROPIC_BEDROCK_BASE_URL` não são envolvidos pelo watchdog de byte; veja [Streaming idle watchdogs](/docs/pt/network-config#streaming-idle-watchdogs).

483 521 

484Antes da v2.1.227, `Connection lost mid-response` lia `Connection closed mid-response` e `The response stopped arriving` lia `Response stalled mid-stream`.522Antes da v2.1.227, `Connection lost mid-response` lia `Connection closed mid-response` e `The response stopped arriving` lia `Response stalled mid-stream`.

485 523 

524Quando um evento de fluxo descartado, duplicado ou danificado chega antes de Claude ter iniciado qualquer texto ou chamada de ferramenta, você não vê este aviso:

525 

526* Se Claude tivesse completado apenas seu pensamento, Claude Code reemite a solicitação. Quando os fluxos reemitidos quebram da mesma forma, o turno termina com `Part of the response never arrived and no response was produced. Try again.` ou `The response stream was malformed and no response was produced. Try again.`

527* Se nada tivesse sido concluído, Claude Code reenvia a solicitação sem streaming. Se você desativou esse fallback com [`CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK`](/docs/pt/env-vars), o turno termina com `API Error: Content block not found` para um evento descartado ou `API Error: Content block already closed` para um duplicado. Para um evento danificado com o fallback desativado, o turno termina com `API Error: Stream event unreadable` ou o erro bruto do analisador.

528 

486Em quatro casos, Claude Code lida com a falha sem mostrar este aviso imediatamente:529Em quatro casos, Claude Code lida com a falha sem mostrar este aviso imediatamente:

487 530 

488* Anteriormente na resposta, Claude Code ou tenta novamente a falha ou termina o turno com um erro diferente. Veja [Automatic retries](#automatic-retries).531* Anteriormente na resposta, Claude Code ou tenta novamente a falha ou termina o turno com um erro diferente. Veja [Automatic retries](#automatic-retries).


668API Error: Usage credits required for 1M context · run /usage-credits to turn them on (they take effect after you restart Claude Code), or /model to switch to standard context711API Error: Usage credits required for 1M context · run /usage-credits to turn them on (they take effect after you restart Claude Code), or /model to switch to standard context

669```712```

670 713 

714Em uma sessão que o Claude Desktop app executa, a dica não nomeia comandos: ela aponta para a página de configurações de uso do claude.ai, ou em planos Team e Enterprise diz para ativar créditos de uso em claude.ai/admin-settings/usage ou para pedir ao seu administrador.

715 

671Esta é 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. Claude Code executa essa verificação quando você escolhe o modelo com `/model`, e apenas em uma conexão direta com a API Anthropic; se você apontar `ANTHROPIC_BASE_URL` para um [LLM gateway](/docs/pt/llm-gateway), `/model` permite a seleção `[1m]` e o gateway decide se a solicitação é bem-sucedida.716Esta é 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. Claude Code executa essa verificação quando você escolhe o modelo com `/model`, e apenas em uma conexão direta com a API Anthropic; se você apontar `ANTHROPIC_BASE_URL` para um [LLM gateway](/docs/pt/llm-gateway), `/model` permite a seleção `[1m]` e o gateway decide se a solicitação é bem-sucedida.

672 717 

673Quando 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]`.718Quando 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]`.


733 778 

734A frase final nomeia onde verificar a saúde do serviço e varia por provedor. Amazon Bedrock, Agent Platform do Google Cloud e configurações Microsoft Foundry nomeiam o status do serviço daquele provedor em vez da página de status Anthropic. Um `ANTHROPIC_BASE_URL` personalizado nomeia o host do gateway.779A frase final nomeia onde verificar a saúde do serviço e varia por provedor. Amazon Bedrock, Agent Platform do Google Cloud e configurações Microsoft Foundry nomeiam o status do serviço daquele provedor em vez da página de status Anthropic. Um `ANTHROPIC_BASE_URL` personalizado nomeia o host do gateway.

735 780 

781Quando um proxy, balanceador de carga ou gateway entre Claude Code e a API responde com sua própria página HTML 429, o texto após o `·` é o título dessa página quando tem um, como `Too Many Requests`. Antes da v2.1.281, a marcação de toda a página era impressa após o `·`.

782 

736**O que fazer:**783**O que fazer:**

737 784 

738* 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.785* 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.


839Not logged in · Please run /login886Not logged in · Please run /login

840```887```

841 888 

889Em uma sessão que o aplicativo Claude Desktop executa, como a aba Code ou Cowork, a mensagem lê `Authentication required · Sign in again to continue`, e você se conecta novamente a partir do aplicativo.

890 

842**O que fazer:**891**O que fazer:**

843 892 

844* Execute `/login` para autenticar com sua assinatura Claude ou conta Console893* Execute `/login` para se autenticar com sua assinatura Claude ou conta Console

845* Se você esperava que uma variável de ambiente o autenticasse, confirme que `ANTHROPIC_API_KEY` está definida e exportada no shell onde você iniciou `claude`894* Se você esperava que uma variável de ambiente o autenticasse, confirme que `ANTHROPIC_API_KEY` está definida e exportada no shell onde você iniciou `claude`

846* Para CI ou automação onde login interativo não é possível, configure um script [`apiKeyHelper`](/docs/pt/settings-reference#apikeyhelper) que busque uma chave na inicialização895* Para CI ou automação onde o login interativo não é possível, configure um script [`apiKeyHelper`](/docs/pt/settings-reference#apikeyhelper) que busque uma chave na inicialização

847* Consulte [Precedência de autenticação](/docs/pt/authentication#authentication-precedence) para entender qual credencial Claude Code usa quando várias estão presentes896* Veja [Precedência de autenticação](/docs/pt/authentication#authentication-precedence) para entender qual credencial Claude Code usa quando várias estão presentes

848 897 

849Se você for solicitado a fazer login repetidamente, consulte [Não conectado ou token expirado](/docs/pt/troubleshoot-install#not-logged-in-or-token-expired) para verificações de relógio do sistema e etapas de recuperação de armazenamento de credenciais do macOS.898Se você for solicitado a fazer login repetidamente, veja [Não conectado ou token expirado](/docs/pt/troubleshoot-install#not-logged-in-or-token-expired) para verificações de relógio do sistema e etapas de recuperação de armazenamento de credenciais do macOS.

850 899 

851<h3 id="could-not-resolve-authentication-method">900<h3 id="could-not-resolve-authentication-method">

852 Não foi possível resolver o método de autenticação901 Não foi possível resolver o método de autenticação

853</h3>902</h3>

854 903 

855A sessão chegou ao cliente da API sem nenhuma credencial. [Sessões em segundo plano](/docs/pt/agent-view) e sessões na nuvem mostram esta mensagem quando o worker inicia sem uma credencial. Execuções interativas, `-p` e Agent SDK relatam a mesma condição que [Não conectado](#not-logged-in) e escrevem esta string apenas no log de depuração, portanto, se você a encontrou lá, siga essa entrada.904A sessão chegou ao cliente da API sem nenhuma credencial. [Sessões em segundo plano](/docs/pt/agent-view) e sessões em nuvem mostram essa mensagem quando o worker inicia sem uma credencial. Execuções interativas, `-p` e Agent SDK relatam a mesma condição que [Não conectado](#not-logged-in) e escrevem essa string apenas no log de depuração, portanto, se você a encontrou lá, siga essa entrada.

856 905 

857```text theme={null}906```text theme={null}

858Could not resolve authentication method. Expected one of apiKey, authToken, credentials, config, or profile to be set. Or for one of the "X-Api-Key" or "Authorization" headers to be explicitly omitted907Could not resolve authentication method. Expected one of apiKey, authToken, credentials, config, or profile to be set. Or for one of the "X-Api-Key" or "Authorization" headers to be explicitly omitted

859```908```

860 909 

861Nas versões atuais, o erro significa que nenhuma credencial estava disponível para o processo worker. Antes da v2.1.174, uma sessão em segundo plano atribuída a um worker pré-inicializado ocioso poderia falhar dessa forma mesmo quando credenciais válidas foram configuradas. Antes da v2.1.176, uma sessão na nuvem que ficou ociosa antes de ser reivindicada também poderia. Atualize para recuperar.910Nas versões atuais, o erro significa que nenhuma credencial estava disponível para o processo worker. Antes da v2.1.174, uma sessão em segundo plano atribuída a um worker pré-inicializado ocioso poderia falhar dessa forma mesmo quando credenciais válidas foram configuradas. Antes da v2.1.176, uma sessão em nuvem que ficou ociosa antes de ser reivindicada também poderia. Atualize para recuperar.

862 911 

863**O que fazer:**912**O que fazer:**

864 913 

865* Atualize para v2.1.176 ou posterior se isso aparecer em uma sessão em segundo plano ou na nuvem e suas credenciais já estiverem configuradas914* Atualize para v2.1.176 ou posterior se isso aparecer em uma sessão em segundo plano ou nuvem e suas credenciais já estiverem configuradas

866* Confirme que `ANTHROPIC_API_KEY`, `CLAUDE_CODE_OAUTH_TOKEN` ou suas credenciais do provedor de nuvem estão definidas no ambiente que inicia o worker, não apenas no seu shell interativo915* Confirme que `ANTHROPIC_API_KEY`, `CLAUDE_CODE_OAUTH_TOKEN` ou suas credenciais do provedor de nuvem estão definidas no ambiente que inicia o worker, não apenas no seu shell interativo

867* Para o Agent SDK, consulte [configuração de autenticação no guia de início rápido](/docs/pt/agent-sdk/quickstart#setup)916* Para o Agent SDK, veja [configuração de autenticação no guia de início rápido](/docs/pt/agent-sdk/quickstart#setup)

868* Execute `/status` em uma sessão interativa no mesmo ambiente para confirmar qual fonte de credencial é resolvida917* Execute `/status` em uma sessão interativa no mesmo ambiente para confirmar qual fonte de credencial é resolvida

869 918 

870<h3 id="invalid-api-key">919<h3 id="invalid-api-key">


877Invalid API key · Fix external API key926Invalid API key · Fix external API key

878```927```

879 928 

880Quando a mensagem continua após `Fix external API key` com uma descrição como `Invalid X-Api-Key header value from ANTHROPIC_API_KEY: it contains a line break at character 41 (120 characters on 2 lines).`, a API nunca viu a chave. Claude Code encontrou um caractere que os cabeçalhos HTTP não conseguem carregar e parou a solicitação antes de enviá-la. Consulte [Valor de cabeçalho de solicitação inválido](#invalid-request-header-value) para saber como ler a descrição e corrigir o valor.929Quando a mensagem continua após `Fix external API key` com uma descrição como `Invalid X-Api-Key header value from ANTHROPIC_API_KEY: it contains a line break at character 41 (120 characters on 2 lines).`, a API nunca viu a chave. Claude Code encontrou um caractere que os cabeçalhos HTTP não conseguem carregar e parou a solicitação antes de enviá-la. Veja [Valor de cabeçalho de solicitação inválido](#invalid-request-header-value) para saber como ler a descrição e corrigir o valor.

881 930 

882**O que fazer:**931**O que fazer:**

883 932 


891 Seu script apiKeyHelper está falhando940 Seu script apiKeyHelper está falhando

892</h3>941</h3>

893 942 

894Claude Code executou o comando em sua configuração [`apiKeyHelper`](/docs/pt/settings-reference#apikeyhelper) e não obteve uma chave de volta. Sem uma, a solicitação chega à API com uma credencial de espaço reservado, e a API a rejeita com `401`. O painel `Authentication` no terminal mostra qual destes aconteceu:943Claude Code executou o comando em sua configuração [`apiKeyHelper`](/docs/pt/settings-reference#apikeyhelper) e não obteve uma chave de volta. Sem uma, a solicitação chega à API com uma credencial de espaço reservado, e a API a rejeita com `401`. O painel `Authentication` no terminal mostra qual desses aconteceu:

895 944 

896* O comando saiu com um erro ou expirou945* O comando saiu com um erro ou expirou

897* O comando não imprimiu nada em stdout946* O comando não imprimiu nada em stdout


903 952 

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

905 954 

906Claude Code executa novamente o script e tenta a solicitação até mais duas vezes antes de mostrar esta mensagem, portanto a falha aparece dentro de três tentativas. Antes da v2.1.208, Claude Code gastava o [orçamento de retry](#automatic-retries) completo reenviando a solicitação com a credencial de espaço reservado e depois relatava um erro de autenticação genérico `401` em vez da falha do script.955Claude Code executa novamente o script e tenta a solicitação até mais duas vezes antes de mostrar essa mensagem, portanto, a falha aparece dentro de três tentativas. Antes da v2.1.208, Claude Code gastava o [orçamento de tentativas](#automatic-retries) completo reenviando a solicitação com a credencial de espaço reservado e depois relatava um erro de autenticação genérico `401` em vez da falha do script.

907 956 

908Executar `/login` não ajuda aqui: a saída do helper [tem precedência](/docs/pt/authentication#authentication-precedence) sobre um login salvo enquanto a configuração estiver presente.957Executar `/login` não ajuda aqui: a saída do helper [tem precedência](/docs/pt/authentication#authentication-precedence) sobre um login salvo enquanto a configuração estiver presente.

909 958 

910**O que fazer:**959**O que fazer:**

911 960 

912* Execute o comando configurado em `apiKeyHelper` diretamente no seu shell para reproduzir a falha961* Execute o comando configurado em `apiKeyHelper` diretamente no seu shell para reproduzir a falha

913* Se o comando relatar uma sessão expirada, autentique-se novamente com seu provedor de credencial, por exemplo, fazendo login em seu SSO ou cofre de segredos novamente962* Se o comando relatar uma sessão expirada, reautentique-se com seu provedor de credenciais, por exemplo, conectando-se novamente ao seu SSO ou cofre de segredos

914* Corrija o comando para que ele imprima apenas a chave em stdout, como um único token de ASCII imprimível até 16.384 caracteres, e saia com código 0. Consulte [girar credenciais com apiKeyHelper](/docs/pt/llm-gateway-connect#rotate-credentials-with-apikeyhelper) para uma configuração funcional.963* Corrija o comando para que ele imprima apenas a chave em stdout, como um único token de ASCII imprimível até 16.384 caracteres, e saia com código 0. Veja [girar credenciais com apiKeyHelper](/docs/pt/llm-gateway-connect#rotate-credentials-with-apikeyhelper) para uma configuração funcional.

915* Execute `/status` para ver a falha e confirmar que `apiKeyHelper` é a fonte de credencial ativa. A linha `apiKeyHelper` mostra `Failing` com o detalhe da última falha, como o código de saída e a saída de erro do comando, e desaparece após a próxima execução bem-sucedida. Antes da v2.1.274, `/status` mostrava apenas a fonte de credencial, não a falha.964* Execute `/status` para ver a falha e confirmar que `apiKeyHelper` é a fonte de credencial ativa. A linha `apiKeyHelper` mostra `Failing` com o detalhe da última falha, como o código de saída e a saída de erro do comando, e desaparece após a próxima execução bem-sucedida. Antes da v2.1.274, `/status` mostrava apenas a fonte de credencial, não a falha.

916* Cada vez que o comando falha, seu código de saída e saída de erro também aparecem em um painel `Authentication` no terminal. Antes da v2.1.212, o painel era intitulado `Cloud authentication`.965* Cada vez que o comando falha, seu código de saída e saída de erro também aparecem em um painel `Authentication` no terminal. Antes da v2.1.212, o painel era intitulado `Cloud authentication`.

917 966 


921 970 

922Um valor que Claude Code estava prestes a enviar como cabeçalho de solicitação contém um caractere que os cabeçalhos HTTP não conseguem carregar: uma quebra de linha, um byte NUL ou um caractere acima de `U+00FF`, como uma aspas curva ou um espaço de largura zero. Claude Code para a solicitação antes de qualquer coisa ser enviada e nomeia a variável ou configuração a ser corrigida. A causa usual é uma credencial colada de um documento ou chat que carregava um caractere invisível ou uma quebra de linha perdida.971Um valor que Claude Code estava prestes a enviar como cabeçalho de solicitação contém um caractere que os cabeçalhos HTTP não conseguem carregar: uma quebra de linha, um byte NUL ou um caractere acima de `U+00FF`, como uma aspas curva ou um espaço de largura zero. Claude Code para a solicitação antes de qualquer coisa ser enviada e nomeia a variável ou configuração a ser corrigida. A causa usual é uma credencial colada de um documento ou chat que carregava um caractere invisível ou uma quebra de linha perdida.

923 972 

924Claude Code executa essa verificação quando envia solicitações para a API Claude diretamente ou através de um [gateway LLM](/docs/pt/llm-gateway). Em um provedor de nuvem de terceiros, como [Amazon Bedrock](/docs/pt/amazon-bedrock), Claude Code não a executa antes de enviar.973Claude Code executa essa verificação quando envia solicitações para a API Claude diretamente ou através de um [gateway LLM](/docs/pt/llm-gateway). Em um provedor de nuvem de terceiros como [Amazon Bedrock](/docs/pt/amazon-bedrock), Claude Code não a executa antes de enviar.

925 974 

926```text theme={null}975```text theme={null}

927Invalid auth token · Fix external auth token976Invalid auth token · Fix external auth token


932A primeira parte da mensagem depende de onde o valor ruim veio:981A primeira parte da mensagem depende de onde o valor ruim veio:

933 982 

934* `Invalid auth token`: um token de portador de [`ANTHROPIC_AUTH_TOKEN`](/docs/pt/env-vars) ou [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/pt/env-vars)983* `Invalid auth token`: um token de portador de [`ANTHROPIC_AUTH_TOKEN`](/docs/pt/env-vars) ou [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/pt/env-vars)

935* `Invalid ANTHROPIC_CUSTOM_HEADERS`: um nome ou valor de cabeçalho que você definiu em [`ANTHROPIC_CUSTOM_HEADERS`](/docs/pt/env-vars). A descrição conta qual par `Name: Value` está em falta, como `distinct header 2 of 3 parsed from ANTHROPIC_CUSTOM_HEADERS`, sem repetir o nome ou valor, já que você escolheu ambos.984* `Invalid ANTHROPIC_CUSTOM_HEADERS`: um nome ou valor de cabeçalho que você definiu em [`ANTHROPIC_CUSTOM_HEADERS`](/docs/pt/env-vars). A descrição conta qual par `Name: Value` é culpado, como `distinct header 2 of 3 parsed from ANTHROPIC_CUSTOM_HEADERS`, sem repetir o nome ou valor, já que você escolheu ambos.

936* `Invalid request header from the environment`: um valor que Claude Code copia em um cabeçalho de solicitação de outra variável de ambiente, como `CLAUDE_AGENT_SDK_CLIENT_APP`. A descrição nomeia a variável a ser corrigida.985* `Invalid request header from the environment`: um valor que Claude Code copia em um cabeçalho de solicitação de outra variável de ambiente, como `CLAUDE_AGENT_SDK_CLIENT_APP`. A descrição nomeia a variável a ser corrigida.

937 986 

938Claude Code relata um `ANTHROPIC_API_KEY` ruim capturado por essa verificação como [Chave de API inválida](#invalid-api-key), com a mesma descrição final. Ele relata uma credencial `/login` salva ruim como [Não conectado](#not-logged-in); execute `/login` para salvar uma nova. A saída de um script [`apiKeyHelper`](/docs/pt/settings-reference#apikeyhelper) nunca chega a essa verificação: Claude Code a valida quando o script é executado, e a saída que um cabeçalho HTTP não consegue carregar falha com [Seu script apiKeyHelper está falhando](#your-apikeyhelper-script-is-failing).987Claude Code relata um `ANTHROPIC_API_KEY` ruim capturado por essa verificação como [Chave de API inválida](#invalid-api-key), com a mesma descrição final. Ele relata uma credencial `/login` salva ruim como [Não conectado](#not-logged-in) em vez disso; execute `/login` para salvar uma nova. A saída de um script [`apiKeyHelper`](/docs/pt/settings-reference#apikeyhelper) nunca chega a essa verificação: Claude Code a valida quando o script é executado, e a saída que um cabeçalho HTTP não consegue carregar falha com [Seu script apiKeyHelper está falhando](#your-apikeyhelper-script-is-failing).

939 988 

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

941 990 


943Invalid auth token · Fix external auth token · Invalid Authorization header value from ANTHROPIC_AUTH_TOKEN: it contains a line break at character 41 (120 characters on 2 lines).992Invalid auth token · Fix external auth token · Invalid Authorization header value from ANTHROPIC_AUTH_TOKEN: it contains a line break at character 41 (120 characters on 2 lines).

944```993```

945 994 

946As posições contam caracteres começando em um. A descrição é construída a partir de frases fixas e contagens de caracteres, portanto nunca inclui o valor em si. Ele nomeia o caractere ofensivo apenas quando é um caractere invisível ou tipográfico bem conhecido, como uma marca de ordem de byte, um espaço de largura zero ou uma aspas curva, e relata qualquer outra coisa como `a non-ASCII character`.995As posições contam caracteres começando em um. A descrição é construída a partir de frases fixas e contagens de caracteres, portanto, nunca inclui o valor em si. Ela nomeia o caractere ofensivo apenas quando é um caractere invisível ou tipográfico bem conhecido, como uma marca de ordem de byte, um espaço de largura zero ou uma aspas curva, e relata qualquer outra coisa como `a non-ASCII character`.

947 996 

948**O que fazer:**997**O que fazer:**

949 998 


965 1014 

966A dica após o `·` depende de suas credenciais salvas: a primeira forma aparece quando um `/login` armazenado pode assumir depois que você desdefine a chave, e a segunda quando a chave é sua única credencial.1015A dica após o `·` depende de suas credenciais salvas: a primeira forma aparece quando um `/login` armazenado pode assumir depois que você desdefine a chave, e a segunda quando a chave é sua única credencial.

967 1016 

968As variáveis de ambiente têm precedência sobre `/login`, portanto uma chave exportada no seu perfil de shell ou carregada de um arquivo `.env` é usada mesmo quando você tem uma assinatura Pro ou Max funcional. Em modo não interativo (`-p`), a chave é sempre usada quando presente.1017As variáveis de ambiente têm precedência sobre `/login`, portanto, uma chave exportada no seu perfil de shell ou carregada de um arquivo `.env` é usada mesmo quando você tem uma assinatura Pro ou Max funcionando. Em modo não interativo (`-p`), a chave é sempre usada quando presente.

969 1018 

970**O que fazer:**1019**O que fazer:**

971 1020 

972* Desdefina `ANTHROPIC_API_KEY` no shell atual e remova-a do seu perfil de shell, depois reinicie `claude`1021* Desdefina `ANTHROPIC_API_KEY` no shell atual e remova-a do seu perfil de shell, depois reinicie `claude`

973* Se a mensagem disser `Update or unset`, você não tem login salvo para recorrer. Desdefina a chave e execute `/login`, ou substitua a chave por uma de uma organização Console ativa.1022* Se a mensagem disser `Update or unset`, você não tem um login salvo para recorrer. Desdefina a chave e execute `/login`, ou substitua a chave por uma de uma organização Console ativa.

974* Execute `/status` depois para confirmar que a credencial ativa é sua assinatura1023* Execute `/status` depois para confirmar que a credencial ativa é sua assinatura

975* Se nenhuma variável de ambiente estiver definida e o erro persistir, a organização desabilitada é a vinculada ao seu `/login`. Entre em contato com o suporte ou faça login com uma conta diferente.1024* Se nenhuma variável de ambiente estiver definida e o erro persistir, a organização desabilitada é a vinculada ao seu `/login`. Entre em contato com o suporte ou conecte-se com uma conta diferente.

976 1025 

977<h3 id="your-organization-has-disabled-api-key-authentication">1026<h3 id="your-organization-has-disabled-api-key-authentication">

978 Sua organização desabilitou a autenticação por chave de API1027 Sua organização desabilitou a autenticação por chave de API

979</h3>1028</h3>

980 1029 

981Esta mensagem requer Claude Code v2.1.169 ou posterior. O administrador da sua organização Console desativou a autenticação por chave de API, portanto a API rejeita a chave que Claude Code está enviando. A dica de recuperação após o `·` varia dependendo de onde a chave veio:1030Esta mensagem requer Claude Code v2.1.169 ou posterior. O administrador da organização Console desabilitou a autenticação por chave de API, portanto, a API rejeita a chave que Claude Code está enviando. A dica de recuperação após o `·` varia de acordo com onde a chave veio:

982 1031 

983```text theme={null}1032```text theme={null}

984Your organization has disabled API key authentication · Run /login to sign in with your claude.ai account1033Your organization has disabled API key authentication · Run /login to sign in with your claude.ai account

985Your organization has disabled API key authentication · Unset ANTHROPIC_API_KEY to use your claude.ai account instead1034Your organization has disabled API key authentication · Unset ANTHROPIC_API_KEY to use your claude.ai account instead

986Your organization has disabled API key authentication · Unset ANTHROPIC_API_KEY and run /login to sign in with your claude.ai account1035Your organization has disabled API key authentication · Unset ANTHROPIC_API_KEY and run /login to sign in with your claude.ai account

987Your organization has disabled API key authentication · Unset the apiKeyHelper setting and run /login to sign in with your claude.ai account1036Your organization has disabled API key authentication · Unset the apiKeyHelper setting and run /login to sign in with your claude.ai account

1037Your organization has disabled API key authentication · Sign in again with your claude.ai account

988```1038```

989 1039 

990As variáveis de ambiente e `apiKeyHelper` têm precedência sobre `/login`, portanto executar `/login` sozinho não ajuda enquanto qualquer um deles ainda estiver fornecendo uma chave. Consulte [Precedência de autenticação](/docs/pt/authentication#authentication-precedence).1040A última forma aparece em uma sessão que o aplicativo Claude Desktop executa, como a aba Code ou Cowork, onde você se conecta novamente a partir do aplicativo.

1041 

1042As variáveis de ambiente e `apiKeyHelper` têm precedência sobre `/login`, portanto, executar `/login` sozinho não ajuda enquanto qualquer um ainda estiver fornecendo uma chave. Veja [Precedência de autenticação](/docs/pt/authentication#authentication-precedence).

991 1043 

992**O que fazer:**1044**O que fazer:**

993 1045 

994* Se a mensagem nomear `ANTHROPIC_API_KEY`, desdefina-a no shell atual e remova-a do seu perfil de shell ou arquivo `.env`, depois reinicie `claude`1046* Se a mensagem nomear `ANTHROPIC_API_KEY`, desdefina-a no shell atual e remova-a do seu perfil de shell ou arquivo `.env`, depois reinicie `claude`

995* Se a mensagem nomear `apiKeyHelper`, remova a configuração [`apiKeyHelper`](/docs/pt/settings-reference#apikeyhelper) do seu `settings.json`1047* Se a mensagem nomear `apiKeyHelper`, remova a configuração [`apiKeyHelper`](/docs/pt/settings-reference#apikeyhelper) do seu `settings.json`

996* Execute `/login` para fazer login com sua conta claude.ai1048* Execute `/login` para se conectar com sua conta claude.ai

997* Execute `/status` depois para confirmar que a credencial ativa é sua assinatura em vez de uma chave de API1049* Execute `/status` depois para confirmar que a credencial ativa é sua assinatura em vez de uma chave de API

998* Se você precisar de autenticação por chave de API para automação, peça ao administrador da sua organização para reabilitá-la no Console1050* Se você precisar de autenticação por chave de API para automação, peça ao administrador da sua organização para reabilitá-la no Console

999 1051 


1001 Sua organização desabilitou o acesso à assinatura Claude1053 Sua organização desabilitou o acesso à assinatura Claude

1002</h3>1054</h3>

1003 1055 

1004Sua organização Claude não permite fazer login em Claude Code com um login de assinatura. Executar `/login` novamente com a mesma conta retorna o mesmo erro.1056Sua organização Claude não permite conectar-se ao Claude Code com um login de assinatura. Executar `/login` novamente com a mesma conta retorna o mesmo erro.

1005 1057 

1006```text theme={null}1058```text theme={null}

1007Your organization has disabled Claude subscription access for Claude Code · Use an Anthropic API key instead, or ask your admin to enable access1059Your organization has disabled Claude subscription access for Claude Code · Use an Anthropic API key instead, or ask your admin to enable access

1008```1060```

1009 1061 

1010Esta é uma configuração de organização do lado do servidor, portanto não pode ser substituída por configurações locais, variáveis de ambiente ou sinalizadores CLI.1062Esta é uma configuração de organização do lado do servidor, portanto, não pode ser substituída por configurações locais, variáveis de ambiente ou sinalizadores CLI.

1011 1063 

1012O Agent SDK e o modo não interativo `-p` apresentam isso como o código de erro `oauth_org_not_allowed`.1064O Agent SDK e o modo não interativo `-p` apresentam isso como o código de erro `oauth_org_not_allowed`.

1013 1065 

1014**O que fazer:**1066**O que fazer:**

1015 1067 

1016* Peça ao seu administrador para habilitar o acesso a Claude Code para sua organização1068* Peça ao seu administrador para habilitar o acesso ao Claude Code para sua organização

1017* Autentique-se com uma chave de API do Console em vez de sua assinatura. Consulte [Autenticação do Claude Console](/docs/pt/authentication#claude-console-authentication) para configuração.1069* Autentique-se com uma chave de API Console em vez de sua assinatura. Veja [Autenticação do Claude Console](/docs/pt/authentication#claude-console-authentication) para configuração.

1018* Se você é o administrador e não vê uma opção para habilitar o acesso, entre em contato com [suporte da Anthropic](https://support.claude.com)1070* Se você é o administrador e não vê uma opção para habilitar o acesso, entre em contato com [suporte da Anthropic](https://support.claude.com)

1019 1071 

1020<h3 id="routines-are-disabled-by-your-organizations-policy">1072<h3 id="routines-are-disabled-by-your-organizations-policy">

1021 Rotinas são desabilitadas pela política da sua organização1073 Rotinas são desabilitadas pela política da sua organização

1022</h3>1074</h3>

1023 1075 

1024Um Proprietário em sua organização Team ou Enterprise desativou rotinas no nível da organização. O erro aparece quando você tenta criar ou executar uma rotina, por exemplo, da [interface de Rotinas](/docs/pt/routines) em claude.ai/code. No Claude Code v2.1.227 ou posterior, a mesma configuração também [oculta `/schedule`](/docs/pt/routines#troubleshooting) no CLI.1076Um Proprietário em sua organização Team ou Enterprise desabilitou rotinas no nível da organização. O erro aparece quando você tenta criar ou executar uma rotina, por exemplo, a partir da interface [Rotinas](/docs/pt/routines) em claude.ai/code. No Claude Code v2.1.227 ou posterior, a mesma configuração também [oculta `/schedule`](/docs/pt/routines#troubleshooting) no CLI.

1025 1077 

1026```text theme={null}1078```text theme={null}

1027Routines are disabled by your organization's policy.1079Routines are disabled by your organization's policy.

1028```1080```

1029 1081 

1030Esta é uma configuração do lado do servidor, portanto não pode ser substituída por configurações locais, variáveis de ambiente ou sinalizadores CLI.1082Esta é uma configuração do lado do servidor, portanto, não pode ser substituída por configurações locais, variáveis de ambiente ou sinalizadores CLI.

1031 1083 

1032**O que fazer:**1084**O que fazer:**

1033 1085 

1034* Peça a um Proprietário em sua organização para habilitar o alternador **Routines** em [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)1086* Peça a um Proprietário em sua organização para habilitar o botão **Routines** em [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)

1035* Para trabalho agendado único que não requer rotinas no nível da organização, consulte [tarefas agendadas](/docs/pt/scheduled-tasks)1087* Para trabalho agendado único que não requer rotinas no nível da organização, veja [tarefas agendadas](/docs/pt/scheduled-tasks)

1036 1088 

1037<h3 id="remote-control-requires-the-anthropic-api">1089<h3 id="remote-control-requires-the-anthropic-api">

1038 Remote Control requer a API Anthropic1090 Remote Control requer a API Anthropic

1039</h3>1091</h3>

1040 1092 

1041A sessão não está falando com a API Anthropic diretamente, portanto não há backend claude.ai para [Remote Control](/docs/pt/remote-control) emparelhar.1093A sessão não está falando com a API Anthropic diretamente, portanto, não há backend claude.ai para [Remote Control](/docs/pt/remote-control) emparelhar.

1042 1094 

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

1044Remote Control is only available when using Claude via api.anthropic.com. CLAUDE_CODE_USE_BEDROCK is set, so this session is using Amazon Bedrock — unset it (or run in a shell without it) to use Remote Control.1096Remote Control is only available when using Claude via api.anthropic.com. CLAUDE_CODE_USE_BEDROCK is set, so this session is using Amazon Bedrock — unset it (or run in a shell without it) to use Remote Control.

1045```1097```

1046 1098 

1047Uma segunda sentença explica o que roteou a sessão para longe da API Anthropic; antes da v2.1.219, a mensagem era apenas a primeira sentença. Dependendo da causa, a mensagem nomeia:1099Uma segunda frase explica o que roteirizou a sessão para longe da API Anthropic; antes da v2.1.219, a mensagem era apenas a primeira frase. Dependendo da causa, a mensagem nomeia:

1048 1100 

1049* Uma variável de provedor `CLAUDE_CODE_USE_*`, como `CLAUDE_CODE_USE_BEDROCK` para [Amazon Bedrock](/docs/pt/amazon-bedrock) ou `CLAUDE_CODE_USE_VERTEX` para [Agent Platform do Google Cloud](/docs/pt/google-vertex-ai)1101* Uma variável de provedor `CLAUDE_CODE_USE_*`, como `CLAUDE_CODE_USE_BEDROCK` para [Amazon Bedrock](/docs/pt/amazon-bedrock) ou `CLAUDE_CODE_USE_VERTEX` para [Agent Platform do Google Cloud](/docs/pt/google-vertex-ai)

1050* [`ANTHROPIC_BASE_URL`](/docs/pt/env-vars) apontando para um host diferente de `api.anthropic.com`, como um [gateway LLM](/docs/pt/llm-gateway) ou proxy, mesmo quando você faz login com claude.ai; antes da v2.1.196, uma URL base personalizada não bloqueava Remote Control1102* [`ANTHROPIC_BASE_URL`](/docs/pt/env-vars) apontando para um host diferente de `api.anthropic.com`, como um [gateway LLM](/docs/pt/llm-gateway) ou proxy, mesmo quando você se conecta com claude.ai; antes da v2.1.196, uma URL base personalizada não bloqueava Remote Control

1051* `ANTHROPIC_UNIX_SOCKET` definido, portanto a sessão envia suas solicitações através de um socket local em vez de para `api.anthropic.com`1103* `ANTHROPIC_UNIX_SOCKET` definido, portanto, a sessão envia suas solicitações através de um soquete local em vez de para `api.anthropic.com`

1052* Um login de [gateway de nuvem](/docs/pt/claude-apps-gateway) corporativo feito através de `/login`, que não suporta Remote Control e não tem variável para desdefini-la1104* Um login de [gateway de nuvem](/docs/pt/claude-apps-gateway) corporativo feito através de `/login`, que não suporta Remote Control e não tem variável para desdefini-la

1053 1105 

1054**O que fazer:**1106**O que fazer:**

1055 1107 

1056* Desdefina a variável que a mensagem nomeia, como `CLAUDE_CODE_USE_BEDROCK` ou `ANTHROPIC_BASE_URL`, e reinicie a sessão, ou inicie Remote Control de uma sessão que fale com a API Anthropic diretamente1108* Desdefina a variável que a mensagem nomeia, como `CLAUDE_CODE_USE_BEDROCK` ou `ANTHROPIC_BASE_URL`, e reinicie a sessão, ou inicie Remote Control a partir de uma sessão que fala com a API Anthropic diretamente

1057* Se a variável não estiver definida no seu shell, verifique a chave `env` em seus [arquivos de configuração](/docs/pt/settings#where-settings-live), que aplica variáveis de ambiente a cada sessão1109* Se a variável não estiver definida no seu shell, verifique a chave `env` em seus [arquivos de configuração](/docs/pt/settings#where-settings-live), que aplica variáveis de ambiente a cada sessão

1058* Para esta e as outras mensagens de inicialização do Remote Control, consulte [Solucionar problemas do Remote Control](/docs/pt/remote-control#troubleshooting)1110* Para esta e as outras mensagens de inicialização do Remote Control, veja [Solucionar problemas do Remote Control](/docs/pt/remote-control#troubleshooting)

1059 1111 

1060<h3 id="remote-control-couldnt-refresh-your-login">1112<h3 id="remote-control-couldnt-refresh-your-login">

1061 Remote Control não conseguiu atualizar seu login1113 Remote Control não conseguiu atualizar seu login

1062</h3>1114</h3>

1063 1115 

1064Claude Code executa uma conexão [Remote Control](/docs/pt/remote-control) ao vivo em credenciais de curta duração que obtém e renova usando seu login claude.ai salvo. Quando claude.ai para de aceitar esse login, ou Claude Code não tem mais login salvo, Claude Code para Remote Control e precisa que você faça login novamente. Qualquer falha pode acontecer enquanto Claude Code ainda está se conectando ou depois, quando renova as credenciais.1116Claude Code executa uma conexão [Remote Control](/docs/pt/remote-control) ao vivo em credenciais de curta duração que obtém e renova usando seu login claude.ai salvo. Quando claude.ai para de aceitar esse login, ou Claude Code não tem mais nenhum login salvo, Claude Code para Remote Control e precisa que você se conecte novamente. Qualquer falha pode acontecer enquanto Claude Code ainda está se conectando ou depois, quando renova as credenciais.

1065 1117 

1066Quando Claude Code pede ao serviço de login para atualizar seu login salvo e não recebe resposta, ele mantém Remote Control em execução e tenta a atualização novamente enquanto a credencial atual da conexão ainda é válida. Uma atualização não recebe resposta quando Claude Code não consegue alcançar o serviço de login, a solicitação expira ou o serviço falha sem rejeitar seu login. Se o serviço de login ainda não estiver respondendo quando essa credencial expirar, Claude Code para Remote Control e relata `OAuth token refresh failed`.1118Quando Claude Code pede ao serviço de login para atualizar seu login salvo e não obtém resposta, ele mantém Remote Control em execução e tenta a atualização novamente enquanto a credencial atual da conexão ainda é válida. Uma atualização não obtém resposta quando Claude Code não consegue alcançar o serviço de login, a solicitação expira ou o serviço falha sem rejeitar seu login. Se o serviço de login ainda não estiver respondendo quando essa credencial expirar, Claude Code para Remote Control e relata `OAuth token refresh failed`.

1067 1119 

1068Quando Claude Code para Remote Control, ele mostra o motivo em um aviso e em uma linha de transcrição que começa com `Remote Control disconnected`. Sua sessão local continua em execução sem Remote Control. Esta seção cobre estas linhas:1120Quando Claude Code para Remote Control, ele mostra o motivo em um aviso e em uma linha de transcrição que começa com `Remote Control disconnected`. Sua sessão local continua em execução sem Remote Control. Esta seção cobre essas linhas:

1069 1121 

1070```text theme={null}1122```text theme={null}

1071Remote Control disconnected — Claude.ai login expired — run /login to restore Remote Control1123Remote Control disconnected — Claude.ai login expired — run /login to restore Remote Control


1080Claude Code nomeia a causa no meio da mensagem:1132Claude Code nomeia a causa no meio da mensagem:

1081 1133 

1082* `Claude.ai login expired` e `Claude.ai login was rejected`: claude.ai não aceita mais seu token de login salvo, porque expirou ou foi revogado1134* `Claude.ai login expired` e `Claude.ai login was rejected`: claude.ai não aceita mais seu token de login salvo, porque expirou ou foi revogado

1083* `OAuth token unavailable`: Claude Code não tinha token de login salvo quando a credencial da conexão venceu para renovação1135* `OAuth token unavailable`: Claude Code não tinha nenhum token de login salvo quando a credencial da conexão venceu para renovação

1084* `OAuth token refresh failed`: claude.ai rejeitou seu token de login salvo enquanto Claude Code estava se reconectando, e atualizar o token não produziu um novo1136* `OAuth token refresh failed`: claude.ai rejeitou seu token de login salvo enquanto Claude Code estava se reconectando, e atualizar o token não produziu um novo

1085* `JWT refresh failed: no OAuth token`: Claude Code não encontrou token de login salvo para renovar1137* `JWT refresh failed: no OAuth token`: Claude Code não encontrou nenhum token de login salvo para renovar

1086* `Signed out of Claude`: você saiu nesta máquina, por exemplo, executando `/logout` em outro terminal, portanto Claude Code não tem login salvo para renovar a conexão1138* `Signed out of Claude`: você se desconectou nesta máquina, por exemplo, executando `/logout` em outro terminal, portanto, Claude Code não tem nenhum login salvo para renovar a conexão

1087 1139 

1088**O que fazer:**1140**O que fazer:**

1089 1141 

1090* Execute `/login` para fazer login novamente1142* Execute `/login` para se conectar novamente

1091* Execute `/remote-control` para reconectar a sessão. Mensagens terminando `run /login to restore Remote Control` não precisam desta etapa: Claude Code se reconecta automaticamente depois que você faz login.1143* Execute `/remote-control` para reconectar a sessão. Mensagens terminando `run /login to restore Remote Control` não precisam desta etapa: Claude Code se reconecta automaticamente depois que você se conecta.

1092 1144 

1093Antes da v2.1.224, `OAuth token refresh failed — run /login to re-authenticate` lia `OAuth token refresh failed — re-authenticate, then re-enable Remote Control`, e `JWT refresh failed: no OAuth token — run /login` lia `no OAuth token available for recovery (code <N>)`. As mensagens `Claude.ai login expired`, `Claude.ai login was rejected` e `OAuth token unavailable` foram adicionadas na v2.1.225.1145Antes da v2.1.224, `OAuth token refresh failed — run /login to re-authenticate` lia `OAuth token refresh failed — re-authenticate, then re-enable Remote Control`, e `JWT refresh failed: no OAuth token — run /login` lia `no OAuth token available for recovery (code <N>)`. As mensagens `Claude.ai login expired`, `Claude.ai login was rejected` e `OAuth token unavailable` foram adicionadas na v2.1.225.

1094 1146 

1095Antes da v2.1.238, Claude Code relatava os casos que agora dizem `Signed out of Claude` como `JWT refresh failed: no OAuth token — run /login`, e parava Remote Control com `Claude.ai login expired — run /login to restore Remote Control` assim que uma atualização de login não recebia resposta.1147Antes da v2.1.238, Claude Code relatava os casos que agora dizem `Signed out of Claude` como `JWT refresh failed: no OAuth token — run /login`, e parava Remote Control com `Claude.ai login expired — run /login to restore Remote Control` assim que uma atualização de login não obtinha resposta.

1096 1148 

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

1098 Remote Control parou porque a conta conectada mudou1150 Remote Control parou porque a conta conectada mudou

1099</h3>1151</h3>

1100 1152 

1101Claude Code mostra esta linha durante uma sessão [Remote Control](/docs/pt/remote-control) quando você faz login em uma conta ou organização claude.ai diferente nesta máquina. Você fez a mudança fora da sessão Claude Code, por exemplo, executando `/login` em outro terminal.1153Claude Code mostra essa linha durante uma sessão [Remote Control](/docs/pt/remote-control) quando você se conecta a uma conta claude.ai ou organização diferente nesta máquina. Você fez a mudança fora da sessão Claude Code, por exemplo, executando `/login` em outro terminal.

1102 1154 

1103Uma sessão Remote Control que você iniciou enquanto estava conectado através de `/login` pertence à conta e organização claude.ai que estavam conectadas no momento.1155Uma sessão Remote Control que você iniciou enquanto estava conectado através de `/login` pertence à conta claude.ai e organização que estavam conectadas no momento.

1104 1156 

1105```text theme={null}1157```text theme={null}

1106Remote Control disconnected — signed-in claude.ai account or organization changed on this machine — run /remote-control to start a session for the current account, or /login to switch back, then /remote-control1158Remote Control disconnected — signed-in claude.ai account or organization changed on this machine — run /remote-control to start a session for the current account, or /login to switch back, then /remote-control


1111**O que fazer:**1163**O que fazer:**

1112 1164 

1113* Execute `/remote-control` para iniciar uma nova sessão Remote Control sob a conta ou organização atual1165* Execute `/remote-control` para iniciar uma nova sessão Remote Control sob a conta ou organização atual

1114* Para voltar, execute `/login` e faça login na conta ou organização anterior novamente. Depois execute `/remote-control`.1166* Para voltar, execute `/login` e conecte-se à conta ou organização anterior novamente. Depois execute `/remote-control`.

1115 1167 

1116Antes da v2.1.234, Claude Code não notava quando você mudava para uma conta ou organização diferente fora da sessão Claude Code. Claude Code mantinha a sessão Remote Control conectada até uma solicitação posterior ao servidor Remote Control falhar com `Remote Control server rejected the request (HTTP 404)`. Essa falha poderia vir horas após a mudança.1168Antes da v2.1.234, Claude Code não notava quando você mudava para uma conta ou organização diferente fora da sessão Claude Code. Claude Code mantinha a sessão Remote Control conectada até que uma solicitação posterior ao servidor Remote Control falhasse com `Remote Control server rejected the request (HTTP 404)`. Essa falha poderia vir horas após a mudança.

1117 1169 

1118<h3 id="remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts">1170<h3 id="remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts">

1119 Remote Control parou porque o aplicativo que executa a sessão saiu ou mudou de contas1171 Remote Control parou porque o aplicativo que executa a sessão se desconectou ou mudou de contas

1120</h3>1172</h3>

1121 1173 

1122Quando o aplicativo de desktop Claude ou um IDE hospeda sua sessão, Claude Code obtém seu token de login desse aplicativo em vez de `/login`. Quando claude.ai rejeita esse token, Claude Code pede ao aplicativo um novo. Se o aplicativo responder que está desconectado ou que agora está conectado a uma conta Claude diferente, Claude Code encerra a sessão [Remote Control](/docs/pt/remote-control) e envia ao aplicativo uma destas linhas:1174Quando o aplicativo Claude desktop ou um IDE hospeda sua sessão, Claude Code obtém seu token de login desse aplicativo em vez de `/login`. Quando claude.ai rejeita esse token, Claude Code pede ao aplicativo um novo. Se o aplicativo responder que está desconectado ou que agora está conectado a uma conta Claude diferente, Claude Code encerra a sessão [Remote Control](/docs/pt/remote-control) e envia ao aplicativo uma dessas linhas:

1123 1175 

1124```text theme={null}1176```text theme={null}

1125Remote Control stopped — the app running this session is now signed in to a different Claude account1177Remote Control stopped — the app running this session is now signed in to a different Claude account


1130 1182 

1131**O que fazer:**1183**O que fazer:**

1132 1184 

1133* Se o aplicativo estiver desconectado, faça login nele novamente e depois ative Remote Control novamente no aplicativo1185* Se o aplicativo está desconectado, conecte-se a ele novamente e depois ative Remote Control novamente no aplicativo

1134* Se o aplicativo mudou de contas, Claude Code não consegue continuar a sessão encerrada sob a nova conta. Inicie uma nova sessão Remote Control sob essa conta.1186* Se o aplicativo mudou de contas, Claude Code não consegue continuar a sessão encerrada sob a nova conta. Inicie uma nova sessão Remote Control sob essa conta.

1135 1187 

1136Antes da v2.1.238, Claude Code enviava ao aplicativo as mensagens `run /login` listadas em [Remote Control não conseguiu atualizar seu login](#remote-control-couldnt-refresh-your-login) em ambos os casos.1188Antes da v2.1.238, Claude Code enviava ao aplicativo as mensagens `run /login` listadas em [Remote Control não conseguiu atualizar seu login](#remote-control-couldnt-refresh-your-login) em ambos os casos.


1139 Token OAuth revogado ou expirado1191 Token OAuth revogado ou expirado

1140</h3>1192</h3>

1141 1193 

1142Seu login salvo não é mais válido. Um token revogado significa que você saiu em todos os lugares ou um administrador removeu o acesso; um token expirado significa que a atualização automática falhou no meio da sessão.1194Seu login salvo não é mais válido. Um token revogado significa que você se desconectou em todos os lugares ou um administrador removeu o acesso; um token expirado significa que a atualização automática falhou no meio da sessão.

1143 1195 

1144Ambas as mensagens relatam uma rejeição que a API retornou para uma solicitação que Claude Code enviou. Quando o login salvo já foi limpo após uma atualização falhada, você vê [Login expirado](#login-expired). Se você autenticar com um token de longa duração em [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/pt/env-vars), você vê as mesmas mensagens quando esse token expira ou é revogado.1196Ambas as mensagens relatam uma rejeição que a API retornou para uma solicitação que Claude Code enviou. Quando o login salvo já foi limpo após uma atualização falhada, você vê [Login expirado](#login-expired). Se você se autenticar com um token de longa duração em [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/pt/env-vars), você vê as mesmas mensagens quando esse token expira ou é revogado.

1145 1197 

1146```text theme={null}1198```text theme={null}

1147OAuth token revoked · Please run /login1199OAuth token revoked · Please run /login


1150 1202 

1151**O que fazer:**1203**O que fazer:**

1152 1204 

1153* Execute `/login` para fazer login novamente1205* Execute `/login` para se conectar novamente

1154* Se o erro retornar na mesma sessão após autenticar novamente, execute `/logout` primeiro para limpar completamente o token armazenado, depois `/login`1206* Se o erro retornar dentro da mesma sessão após reautenticar, execute `/logout` primeiro para limpar completamente o token armazenado, depois `/login`

1155* Se você autenticar com a variável de ambiente `CLAUDE_CODE_OAUTH_TOKEN`, Claude Code continua enviando o valor que você definiu após uma solicitação falhar com um 401, em vez de mudar para o token de um login salvo. [`/status`](/docs/pt/commands) mostra essa credencial como uma linha `Auth token` lendo `CLAUDE_CODE_OAUTH_TOKEN`. Gere um token novo com [`claude setup-token`](/docs/pt/authentication#generate-a-long-lived-token) e reinicie com ele, ou desdefina a variável e execute `/login`. Antes da v2.1.225, Claude Code poderia substituir o valor da variável no meio da sessão pelo token de acesso de curta duração de um login salvo, e a sessão falhava com erros 401 novamente depois que esse token expirava.1207* Se você se autenticar com a variável de ambiente `CLAUDE_CODE_OAUTH_TOKEN`, Claude Code continua enviando o valor que você definiu após uma solicitação falhar com um 401, em vez de mudar para o token de um login salvo. [`/status`](/docs/pt/commands) mostra essa credencial como uma linha `Auth token` lendo `CLAUDE_CODE_OAUTH_TOKEN`. Gere um token novo com [`claude setup-token`](/docs/pt/authentication#generate-a-long-lived-token) e reinicie com ele, ou desdefina a variável e execute `/login`. Antes da v2.1.225, Claude Code poderia substituir o valor da variável no meio da sessão pelo token de acesso de curta duração de um login salvo, e a sessão falhava com erros 401 novamente depois que esse token expirava.

1156* Para prompts repetidos para fazer login entre inicializações, consulte as verificações de relógio do sistema e etapas de recuperação de armazenamento de credenciais do macOS em [Solução de problemas](/docs/pt/troubleshoot-install#not-logged-in-or-token-expired)1208* Para prompts repetidos para fazer login entre inicializações, veja as verificações de relógio do sistema e etapas de recuperação de armazenamento de credenciais do macOS em [Solução de problemas](/docs/pt/troubleshoot-install#not-logged-in-or-token-expired)

1157* Para outras falhas, incluindo `403 Forbidden` e problemas de navegador OAuth, consulte [Login e autenticação](/docs/pt/troubleshoot-install#login-and-authentication)1209* Para outras falhas, incluindo `403 Forbidden` e problemas de navegador OAuth, veja [Login e autenticação](/docs/pt/troubleshoot-install#login-and-authentication)

1158 1210 

1159<h3 id="api-error-401-invalid-authentication-credentials">1211<h3 id="api-error-401-invalid-authentication-credentials">

1160 API Error: 401 Credenciais de autenticação inválidas1212 API Error: 401 Credenciais de autenticação inválidas

1161</h3>1213</h3>

1162 1214 

1163A API reconheceu o formato de sua credencial, mas rejeitou a conta ou organização por trás dela. Anthropic retorna esta mensagem quando uma credencial foi revogada recentemente, quando uma organização foi desabilitada ou removeu seu acesso, ou quando a conta em si foi desativada, portanto um token expirado não é a causa. A credencial pode ser seu login salvo ou um `ANTHROPIC_API_KEY` aprovado, e a correção difere, portanto comece executando `/status` para ver qual está ativa.1215A API reconheceu o formato de sua credencial, mas rejeitou a conta ou organização por trás dela. Anthropic retorna essa mensagem quando uma credencial foi revogada recentemente, quando uma organização foi desabilitada ou removeu seu acesso, ou quando a conta em si foi desativada, portanto, um token expirado não é a causa. A credencial pode ser seu login salvo ou um `ANTHROPIC_API_KEY` aprovado, e a correção difere, portanto, comece executando `/status` para ver qual está ativa.

1164 1216 

1165```text theme={null}1217```text theme={null}

1166Please run /login · API Error: 401 Invalid authentication credentials1218Please run /login · API Error: 401 Invalid authentication credentials


1168 1220 

1169**O que fazer:**1221**O que fazer:**

1170 1222 

1171* Se `/status` mostrar uma linha `API key` que não esteja marcada como não em uso, um [`ANTHROPIC_API_KEY`](/docs/pt/authentication#authentication-precedence) aprovado é a credencial ativa e tem precedência sobre seu login, portanto `/login` não a substitui. Gire a chave no Claude Console, ou volte para sua assinatura executando `unset ANTHROPIC_API_KEY`, ou no PowerShell `Remove-Item Env:ANTHROPIC_API_KEY`.1223* Se `/status` mostrar uma linha `API key` que não está marcada como não em uso, um [`ANTHROPIC_API_KEY`](/docs/pt/authentication#authentication-precedence) aprovado é a credencial ativa e tem precedência sobre seu login, portanto, `/login` não a substitui. Gire a chave no Claude Console, ou volte para sua assinatura executando `unset ANTHROPIC_API_KEY`, ou no PowerShell `Remove-Item Env:ANTHROPIC_API_KEY`.

1172* Se `/status` mostrar apenas seu login, execute `/login` uma vez. Se a credencial foi revogada, um novo login a substitui.1224* Se `/status` mostrar apenas seu login, execute `/login` uma vez. Se a credencial foi revogada, um novo login a substitui.

1173* Se a mesma mensagem retornar para a mesma conta de login, a conta ou organização não está mais ativa. Verifique a conta e organização que `/status` relata e peça ao administrador da sua organização para restaurar o acesso.1225* Se a mesma mensagem retornar para a mesma conta de login, a conta ou organização não está mais ativa. Verifique a conta e organização que `/status` relata e peça ao administrador da sua organização para restaurar o acesso.

1174* Se [`ANTHROPIC_BASE_URL`](/docs/pt/env-vars) apontar para um [gateway LLM](/docs/pt/llm-gateway), o texto após `401` é a mensagem do seu gateway em vez da Anthropic, e `/login` não a altera. Corrija a credencial que seu gateway espera.1226* Se [`ANTHROPIC_BASE_URL`](/docs/pt/env-vars) aponta para um [gateway LLM](/docs/pt/llm-gateway), o texto após `401` é a mensagem do seu gateway em vez de Anthropic, e `/login` não a altera. Corrija a credencial que seu gateway espera.

1175 1227 

1176<h3 id="login-expired">1228<h3 id="login-expired">

1177 Login expirado1229 Login expirado

1178</h3>1230</h3>

1179 1231 

1180Claude Code tentou renovar seu login claude.ai ou Claude Console salvo e o serviço OAuth rejeitou o token de atualização armazenado, portanto Claude Code limpou as credenciais salvas. Depois disso, cada solicitação de modelo para localmente com esta mensagem antes de chegar à API, porque apenas `/login` pode criar novas credenciais.1232Claude Code tentou renovar seu login claude.ai ou Claude Console salvo e o serviço OAuth rejeitou o token de atualização armazenado, portanto, Claude Code limpou as credenciais salvas. Depois disso, cada solicitação de modelo para localmente com essa mensagem antes de chegar à API, porque apenas `/login` pode criar novas credenciais.

1181 1233 

1182Antes da v2.1.206, Claude Code enviava a solicitação de modelo de qualquer forma com qualquer credencial que permanecesse no ambiente, e cada modelo falhava com [Há um problema com o modelo selecionado](#theres-an-issue-with-the-selected-model) ou um 401 em vez de um prompt para fazer login.1234Antes da v2.1.206, Claude Code enviava a solicitação de modelo de qualquer forma com qualquer credencial que permanecesse no ambiente, e cada modelo falhava com [Há um problema com o modelo selecionado](#theres-an-issue-with-the-selected-model) ou um 401 em vez de um prompt para se conectar.

1183 1235 

1184```text theme={null}1236```text theme={null}

1185Login expired · Please run /login1237Login expired · Please run /login


1191Failed to authenticate: OAuth session expired and could not be refreshed1243Failed to authenticate: OAuth session expired and could not be refreshed

1192```1244```

1193 1245 

1194Este não é o mesmo estado que [Token OAuth revogado ou expirado](#oauth-token-revoked-or-expired). Essas mensagens relatam uma rejeição que a API retornou. Claude Code em si produz `Login expired` para um login que já falhou em renovar, portanto não envia solicitação. Quando a renovação falha porque a conta em si está suspensa em vez do login estar obsoleto, Claude Code mostra [Sua conta está em espera](#your-account-is-on-hold).1246Este não é o mesmo estado que [Token OAuth revogado ou expirado](#oauth-token-revoked-or-expired). Essas mensagens relatam uma rejeição que a API retornou. Claude Code em si produz `Login expired` para um login que já falhou em renovar, portanto, não envia nenhuma solicitação. Quando a renovação falha porque a conta em si está suspensa em vez do login estar obsoleto, Claude Code mostra [Sua conta está em espera](#your-account-is-on-hold).

1247 

1248Sessões autenticadas com uma chave de API, [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/pt/env-vars) ou um provedor de terceiros não usam o login salvo e nunca veem essa mensagem.

1249 

1250Você pode verificar esse estado antes de uma solicitação falhar: [`/status`](/docs/pt/commands) mostra uma linha `Login` lendo `Expired — log in again`, mais a organização e email que tem salvo para o login expirado. A linha aparece apenas quando o login salvo é sua credencial ativa e não pode mais ser atualizado. Sessões autenticadas de outra forma não mostram a linha, mesmo que um login expirado permaneça salvo. Antes da v2.1.210, `/status` não dava nenhuma indicação nesse estado de que um login já havia existido, porque a credencial limpa deixou nada para relatar.

1251 

1252**O que fazer:**

1253 

1254* Execute `/login` para se conectar novamente. Tentar novamente sem se conectar mostra a mesma mensagem em cada solicitação.

1255* Em modo não interativo, execute `claude` no mesmo ambiente, complete `/login`, depois reexecute seu comando. Para automação que não consegue se conectar interativamente, autentique-se com `ANTHROPIC_API_KEY` ou [gere um token de longa duração com `claude setup-token`](/docs/pt/authentication#generate-a-long-lived-token).

1256* Se a conexão continuar falhando, veja [Login e autenticação](/docs/pt/troubleshoot-install#login-and-authentication)

1257 

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

1259 Não foi possível atualizar seu login porque outro processo Claude Code está atualizando-o

1260</h3>

1261 

1262Esta mensagem não significa que seu login foi rejeitado. Seu login claude.ai salvo havia expirado e precisava ser renovado. Outro processo Claude Code na mesma máquina mantinha o bloqueio de atualização compartilhado, ou saiu e deixou-o para trás, e a atualização não fez progresso enquanto essa sessão esperava. Claude Code para a solicitação antes de enviá-la:

1263 

1264```text theme={null}

1265Could not refresh your login because another Claude Code process is refreshing it (or exited mid-refresh) · Try again in a minute; if it keeps happening, close other Claude Code windows or sign in again with /login

1266```

1267 

1268Em [modo não interativo](/docs/pt/headless) (`-p`) e no [Agent SDK](/docs/pt/agent-sdk/overview), a mensagem lê como segue, e o código de erro estruturado é `server_error`:

1269 

1270```text theme={null}

1271Failed to refresh OAuth token: another Claude Code process is refreshing it or exited mid-refresh. This is usually transient; retry in a minute, and if it persists close other Claude Code processes or sign in again

1272```

1273 

1274Sessões autenticadas com uma chave de API, [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/pt/env-vars) ou um provedor de terceiros não usam o login salvo e nunca veem essa mensagem.

1275 

1276**O que fazer:**

1277 

1278* Tente novamente em um minuto. Se outro processo completar a atualização primeiro, essa sessão usa o login renovado.

1279* Se a mensagem continuar retornando, feche outras janelas e processos Claude Code, depois tente novamente.

1280* Se retornar sem nenhum outro processo Claude Code em execução, execute `/login`. Conectar-se novamente não espera no bloqueio de atualização.

1281 

1282<h3 id="couldnt-save-your-login">

1283 Não foi possível salvar seu login

1284</h3>

1285 

1286Você se conectou com claude.ai, mas Claude Code não conseguiu salvar o login em seu armazenamento de credenciais, portanto, o login não foi concluído. No macOS, isso pode acontecer quando o keychain de login é bloqueado, por exemplo, no sono ou ociosidade, depois que Claude Code já leu ou salvou credenciais nele durante a mesma sessão.

1195 1287 

1196Sessões autenticadas com uma chave de API, [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/pt/env-vars) ou um provedor de terceiros não usam o login salvo e nunca veem esta mensagem.1288```text theme={null}

1289Couldn't save your login. If your Mac's keychain is locked, unlock it and log in again.

1290Couldn't save your login. Try logging in again.

1291```

1197 1292 

1198Você pode verificar este estado antes de uma solicitação falhar: [`/status`](/docs/pt/commands) mostra uma linha `Login` lendo `Expired — log in again`, mais a organização e email que tem salvo para o login expirado. A linha aparece apenas quando o login salvo é sua credencial ativa e não pode mais ser atualizado. Sessões autenticadas de outra forma não mostram a linha, mesmo que um login expirado permaneça salvo. Antes da v2.1.210, `/status` não dava indicação neste estado de que um login já havia existido, porque a credencial limpa deixou nada para relatar.1293A primeira forma aparece no macOS e a segunda em todos os outros lugares. Uma falha transitória de armazenamento de credenciais, como um tempo limite ou um armazenamento ilegível, produz a mesma mensagem.

1199 1294 

1200**O que fazer:**1295**O que fazer:**

1201 1296 

1202* Execute `/login` para fazer login novamente. Tentar novamente sem fazer login mostra a mesma mensagem em cada solicitação.1297* No macOS, desbloqueie o keychain de login e execute `/login` novamente

1203* Em modo não interativo, execute `claude` no mesmo ambiente, complete `/login`, depois execute novamente seu comando. Para automação que não consegue fazer login interativamente, autentique com `ANTHROPIC_API_KEY` ou [gere um token de longa duração com `claude setup-token`](/docs/pt/authentication#generate-a-long-lived-token).1298* Em outras plataformas, execute `/login` novamente

1204* Se fazer login continuar falhando, consulte [Login e autenticação](/docs/pt/troubleshoot-install#login-and-authentication)1299* Se o login ainda não for salvo, veja [Não conectado ou token expirado](/docs/pt/troubleshoot-install#not-logged-in-or-token-expired) para o comando de desbloqueio de keychain e outras etapas de recuperação de armazenamento de credenciais

1205 1300 

1206<h3 id="claude-login-not-accepted">1301<h3 id="claude-login-not-accepted">

1207 Login Claude não aceito1302 Login Claude não aceito

1208</h3>1303</h3>

1209 1304 

1210Você tentou iniciar uma [sessão na nuvem](/docs/pt/claude-code-on-the-web), e o servidor recusou criá-la com um 401: ele não aceitou o login Claude que esta máquina enviou, geralmente porque o login expirou ou foi revogado.1305Você tentou iniciar uma [sessão em nuvem](/docs/pt/claude-code-on-the-web) e o servidor recusou criá-la com um 401: não aceitou o login Claude que esta máquina enviou, geralmente porque o login expirou ou foi revogado.

1211 1306 

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

1213 1308 

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

1215Claude login not accepted · Run /login, then try again1310Claude login not accepted · Run /login, then try again


1217 1312 

1218**O que fazer:**1313**O que fazer:**

1219 1314 

1220* Execute `/login`, complete o login e tente iniciar a sessão novamente1315* Execute `/login`, complete a conexão e inicie a sessão novamente

1221 1316 

1222<h3 id="artifacts-need-a-claude-ai-login">1317<h3 id="artifacts-need-a-claude-ai-login">

1223 Artefatos precisam de um login claude.ai1318 Artefatos precisam de um login claude.ai

1224</h3>1319</h3>

1225 1320 

1226Claude Code recusou uma publicação ou leitura de [artefato](/docs/pt/artifacts) porque a sessão não tem login claude.ai que possa usar para artefatos.1321Claude Code recusou uma publicação ou leitura de [artefato](/docs/pt/artifacts) porque a sessão não tem nenhum login claude.ai que possa usar para artefatos.

1227 1322 

1228Cada forma da mensagem começa com as mesmas palavras, seguida por um remédio que depende de como sua sessão se autentica. Sem credencial concorrente, lê:1323Cada forma da mensagem começa com as mesmas palavras, seguidas por um remédio que depende de como sua sessão se autentica. Sem credencial concorrente, lê:

1229 1324 

1230```text theme={null}1325```text theme={null}

1231Artifacts need a claude.ai login. Run /login and select "Claude account with subscription", then retry — the "Anthropic Console account" option does not provide claude.ai credentials.1326Artifacts need a claude.ai login. Run /login and select "Claude account with subscription", then retry — the "Anthropic Console account" option does not provide claude.ai credentials.


1235 1330 

1236* Execute `/login` e selecione **Claude account with subscription**. A opção **Anthropic Console account** não fornece credenciais claude.ai.1331* Execute `/login` e selecione **Claude account with subscription**. A opção **Anthropic Console account** não fornece credenciais claude.ai.

1237* Quando a mensagem nomeia uma credencial que tem precedência, como `ANTHROPIC_API_KEY`, uma configuração `apiKeyHelper` ou uma chave Console salva por um `/login` anterior, remova-a da forma que a mensagem diz, depois execute `/login`1332* Quando a mensagem nomeia uma credencial que tem precedência, como `ANTHROPIC_API_KEY`, uma configuração `apiKeyHelper` ou uma chave Console salva por um `/login` anterior, remova-a da forma que a mensagem diz, depois execute `/login`

1238* Quando a mensagem diz que esta sessão remota se autentica através da máquina que a iniciou, faça login em claude.ai nessa máquina e depois reconecte a sessão1333* Quando a mensagem diz que essa sessão remota se autentica através da máquina que a iniciou, conecte-se a claude.ai nessa máquina e depois reconecte a sessão

1239* Quando a mensagem diz que a credencial é injetada pelo ambiente host da sessão, você não consegue alterá-la nessa sessão; inicie uma sessão que está conectada a claude.ai1334* Quando a mensagem diz que a credencial é injetada pelo ambiente host da sessão, você não consegue alterá-la nessa sessão; inicie uma sessão que está conectada a claude.ai

1240* Consulte [Disponibilidade](/docs/pt/artifacts#availability) para os outros requisitos que artefatos têm, como plano, provedor de modelo e política de organização1335* Veja [Disponibilidade](/docs/pt/artifacts#availability) para os outros requisitos que artefatos têm, como plano, provedor de modelo e política de organização

1241 1336 

1242<h3 id="administrator-policy-requires-a-cloud-gateway-sign-in">1337<h3 id="administrator-policy-requires-a-cloud-gateway-sign-in">

1243 A política do administrador requer um login do Cloud gateway1338 A política do administrador requer um login do gateway de nuvem

1244</h3>1339</h3>

1245 1340 

1246As [configurações gerenciadas](/docs/pt/managed-settings) de um administrador nesta máquina definem [`forceLoginMethod`](/docs/pt/settings-reference#forceloginmethod) como `"gateway"` ou definem [`forceLoginGatewayUrl`](/docs/pt/settings-reference#forcelogingatewayurl). A menos que você selecione um provedor de nuvem através de uma variável como `CLAUDE_CODE_USE_BEDROCK`, Claude Code então aceita apenas o login do [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway). Você vê uma de duas mensagens:1341As [configurações gerenciadas](/docs/pt/managed-settings) de um administrador nesta máquina definem [`forceLoginMethod`](/docs/pt/settings-reference#forceloginmethod) como `"gateway"` ou definem [`forceLoginGatewayUrl`](/docs/pt/settings-reference#forcelogingatewayurl). A menos que você selecione um provedor de nuvem através de uma variável como `CLAUDE_CODE_USE_BEDROCK`, Claude Code então aceita apenas o login do [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway). Você vê uma de duas mensagens:


1249Not signed in to the Cloud gateway — run /login.1344Not signed in to the Cloud gateway — run /login.

1250```1345```

1251 1346 

1252Solicitações de modelo falham com esta mensagem quando a sessão não tem login de gateway, por exemplo, porque você não executou `/login` desde que a política chegou à máquina.1347As solicitações de modelo falham com essa mensagem quando a sessão não tem nenhum login de gateway, por exemplo, porque você não executou `/login` desde que a política chegou à máquina.

1253 1348 

1254Se você também tiver uma credencial `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` ou `apiKeyHelper` configurada e as configurações gerenciadas definirem `forceLoginMethod`, Claude Code sai na inicialização com uma mensagem que começa:1349Se a máquina também contiver uma credencial emitida pela Anthropic e as configurações gerenciadas definirem `forceLoginMethod` ou `forceLoginOrgUUID`, Claude Code sai na inicialização. Essa credencial pode ser uma variável `ANTHROPIC_API_KEY` ou `ANTHROPIC_AUTH_TOKEN`, uma configuração `apiKeyHelper` ou uma chave de API salva por um login Console anterior. A mensagem começa:

1255 1350 

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

1257Administrator policy requires a Cloud gateway sign-in on this machine; the1352Administrator policy requires a Cloud gateway sign-in on this machine; the


1261 1356 

1262**O que fazer:**1357**O que fazer:**

1263 1358 

1264* Execute `/login` e complete o login na tela **Cloud gateway**1359* Execute `/login` e complete a conexão na tela **Cloud gateway**

1265* Para a mensagem de inicialização, remova a configuração `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` ou `apiKeyHelper` que você configurou, depois inicie `claude` e execute `/login`1360* Para a mensagem de inicialização, remova a configuração `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` ou `apiKeyHelper` que você configurou. Para remover uma chave de API Console salva, execute `claude auth logout`, que também remove um login claude.ai salvo. Se você selecionar um provedor de nuvem com `CLAUDE_CODE_USE_*`, a sessão então inicia sem conexão. Caso contrário, inicie `claude` e execute `/login`

1266* Se você acredita que a máquina não deveria exigir o gateway, peça ao administrador que a gerencia para remover `forceLoginMethod` e `forceLoginGatewayUrl` de suas configurações gerenciadas1361* Se você acredita que a máquina não deveria exigir o gateway, peça ao administrador que a gerencia para remover `forceLoginMethod` e `forceLoginGatewayUrl` de suas configurações gerenciadas

1267 1362 

1268Na v2.1.265, uma regressão também mostrou a primeira mensagem em algumas configurações de gateway LLM e proxy que se autenticam com uma chave de API, `apiKeyHelper` ou cabeçalhos personalizados, mesmo sem requisito de administrador na máquina. Atualize para v2.1.266 ou posterior. Você não precisa alterar sua configuração.1363Na v2.1.265, uma regressão também mostrou a primeira mensagem em algumas configurações de gateway LLM e proxy que se autenticam com uma chave de API, `apiKeyHelper` ou cabeçalhos personalizados, mesmo sem nenhum requisito de administrador na máquina. Atualize para v2.1.266 ou posterior. Você não precisa alterar sua configuração.

1269 1364 

1270Antes da v2.1.261, em máquinas que definem `forceLoginMethod` como `"gateway"`, Claude Code usava um login salvo restante em vez de falhar solicitações de modelo, e relatava uma credencial de ambiente configurada com `This machine's managed settings require a first-party login` em vez da mensagem de inicialização. Antes da v2.1.265, uma máquina cujas configurações gerenciadas definem apenas `forceLoginGatewayUrl` não exigia o login de gateway, e Claude Code usava uma credencial restante lá.1365Antes da v2.1.261, em máquinas que definem `forceLoginMethod` como `"gateway"`, Claude Code usava um login salvo restante em vez de falhar solicitações de modelo, e relatava uma credencial de ambiente configurada com `This machine's managed settings require a first-party login` em vez da mensagem de inicialização. Antes da v2.1.265, uma máquina cujas configurações gerenciadas definem apenas `forceLoginGatewayUrl` não exigia o login de gateway, e Claude Code usava uma credencial restante lá.

1271 1366 


1273 Sua conta está em espera1368 Sua conta está em espera

1274</h3>1369</h3>

1275 1370 

1276A conta Claude por trás do seu login foi suspensa. Claude Code mostra a primeira mensagem quando tenta renovar seu login salvo e aprende sobre a espera, e a segunda quando um login que você completa no navegador a relata:1371A conta Claude por trás do seu login foi suspensa. Claude Code mostra a primeira mensagem quando tenta renovar seu login salvo e aprende sobre a espera, e a segunda quando uma conexão que você completa no navegador a relata:

1277 1372 

1278```text theme={null}1373```text theme={null}

1279Your account is on hold and can't use Claude Code. View details or appeal: https://claude.ai/restricted1374Your account is on hold and can't use Claude Code. View details or appeal: https://claude.ai/restricted

1280Your account is on hold and can't sign in to Claude Code. View details or appeal: https://claude.ai/restricted1375Your account is on hold and can't sign in to Claude Code. View details or appeal: https://claude.ai/restricted

1281```1376```

1282 1377 

1283Fazer login novamente com a mesma conta não limpa a mensagem, porque a espera está na conta em vez do login. Em [modo não interativo](/docs/pt/headless) (`-p`) e no [Agent SDK](/docs/pt/agent-sdk/overview), o código de erro estruturado é `account_on_hold`. Antes da v2.1.235, Claude Code relatava uma conta em espera como [Login expirado · Please run /login](#login-expired), cujas etapas de recuperação não conseguem limpar uma espera.1378Conectar-se novamente com a mesma conta não limpa a mensagem, porque a espera está na conta em vez do login. Em [modo não interativo](/docs/pt/headless) (`-p`) e no [Agent SDK](/docs/pt/agent-sdk/overview), o código de erro estruturado é `account_on_hold`. Antes da v2.1.235, Claude Code relatava uma conta em espera como [Login expirado · Please run /login](#login-expired), cujas etapas de recuperação não conseguem limpar uma espera.

1284 1379 

1285**O que fazer:**1380**O que fazer:**

1286 1381 

1287* Abra o link na mensagem para visualizar os detalhes da espera ou apelá-la1382* Abra o link na mensagem para visualizar os detalhes da espera ou apelá-la

1288* Se você tiver outra conta Claude ou uma chave de API que não seja afetada pela espera, você pode continuar trabalhando enquanto a espera é resolvida: execute `/login` com essa conta, ou defina a chave com `ANTHROPIC_API_KEY`1383* Se você tiver outra conta Claude ou uma chave de API que não seja afetada pela espera, você pode continuar trabalhando enquanto a espera é resolvida: execute `/login` com essa conta ou defina a chave com `ANTHROPIC_API_KEY`

1289 1384 

1290<h3 id="anthropic-profile-login-expired">1385<h3 id="anthropic-profile-login-expired">

1291 Login do perfil Anthropic expirado1386 Login de perfil Anthropic expirado

1292</h3>1387</h3>

1293 1388 

1294Claude Code está se autenticando através de um perfil de credencial Anthropic cuja credencial de login salva expirou, e o perfil não contém credencial de atualização que Claude Code possa usar para renová-la. Claude Code para cada solicitação localmente sem tentar novamente, porque uma tentativa novamente leria a mesma credencial expirada.1389Claude Code está se autenticando através de um perfil de credencial Anthropic cuja credencial de login salva expirou, e o perfil não contém nenhuma credencial de atualização que Claude Code possa usar para renová-la. Claude Code para cada solicitação localmente sem tentar novamente, porque uma tentativa novamente leria a mesma credencial expirada.

1295 1390 

1296```text theme={null}1391```text theme={null}

1297Anthropic profile login expired · Re-authenticate your Anthropic profile1392Anthropic profile login expired · Re-authenticate your Anthropic profile

1298Anthropic profile login expired · Run /login to use your claude.ai account instead, or re-authenticate the profile1393Anthropic profile login expired · Run /login to use your claude.ai account instead, or re-authenticate the profile

1299```1394```

1300 1395 

1301Isso aparece apenas quando a credencial ativa vem de um perfil de credencial Anthropic, um que você seleciona com a variável de ambiente `ANTHROPIC_PROFILE`, que Claude Code descobre como o perfil ativo em seu diretório de configuração Anthropic, ou que Claude Code escreveu quando você [fez login sem uma chave de API](/docs/pt/authentication#sign-in-without-an-api-key). Sessões que se autenticam com a opção claude.ai do `/login`, uma chave de API, um token de portador como `ANTHROPIC_AUTH_TOKEN` ou um provedor de terceiros nunca veem esta mensagem.1396Isso aparece apenas quando a credencial ativa vem de um perfil de credencial Anthropic, um que você seleciona com a variável de ambiente `ANTHROPIC_PROFILE`, que Claude Code descobre como o perfil ativo em seu diretório de configuração Anthropic, ou que Claude Code escreveu quando você [se conectou sem uma chave de API](/docs/pt/authentication#sign-in-without-an-api-key). Sessões que se autenticam com a opção claude.ai de `/login`, uma chave de API, um token de portador como `ANTHROPIC_AUTH_TOKEN` ou um provedor de terceiros nunca veem essa mensagem.

1302 1397 

1303Em uma máquina que [oferece o login sem chave](/docs/pt/authentication#sign-in-without-an-api-key), execute `/login`, escolha a conta Anthropic Console e faça login novamente para renovar um perfil que o login Console sem chave ou o `ant auth login` da CLI da Plataforma Claude escreveu. Claude Code substitui a credencial expirada nesse perfil. Para um perfil de federação ou um que outra ferramenta criou, `/login` não renova a credencial. Qual forma você vê depende se você selecionou o perfil ou Claude Code o descobriu:1398Em uma máquina que [oferece a conexão sem chave](/docs/pt/authentication#sign-in-without-an-api-key), execute `/login`, escolha a conta Anthropic Console e conecte-se novamente para renovar um perfil que a conexão Console sem chave ou o `ant auth login` do CLI da Plataforma Claude escreveu. Claude Code substitui a credencial expirada nesse perfil. Para um perfil de federação ou um que outra ferramenta criou, `/login` não renova a credencial. Qual forma você vê depende se você selecionou o perfil ou Claude Code o descobriu:

1304 1399 

1305* Quando você define `ANTHROPIC_PROFILE` explicitamente, a mensagem termina com `Re-authenticate your Anthropic profile`.1400* Quando você define `ANTHROPIC_PROFILE` explicitamente, a mensagem termina com `Re-authenticate your Anthropic profile`.

1306* Quando Claude Code descobriu o perfil do seu diretório de configuração, a mensagem oferece `/login`, porque Claude Code dá precedência a um `/login` funcional sobre o perfil descoberto e depois se autentica com sua conta claude.ai ou Console. Antes da v2.1.234, Claude Code mostrava o formulário `Re-authenticate your Anthropic profile` neste caso também.1401* Quando Claude Code descobriu o perfil do seu diretório de configuração, a mensagem oferece `/login`, porque Claude Code dá precedência a um `/login` funcional sobre o perfil descoberto e então se autentica com sua conta claude.ai ou Console. Antes da v2.1.234, Claude Code mostrava o formulário `Re-authenticate your Anthropic profile` neste caso também.

1307 1402 

1308**O que fazer:**1403**O que fazer:**

1309 1404 

1310* Faça login no perfil novamente, depois tente novamente: em uma máquina que [oferece o login sem chave](/docs/pt/authentication#sign-in-without-an-api-key), execute `/login` e escolha a conta Anthropic Console para um perfil que o login Console sem chave ou o `ant auth login` da CLI da Plataforma Claude escreveu; para outros perfis, use a ferramenta que os criou1405* Conecte-se ao perfil novamente e tente novamente: em uma máquina que [oferece a conexão sem chave](/docs/pt/authentication#sign-in-without-an-api-key), execute `/login` e escolha a conta Anthropic Console para um perfil que a conexão Console sem chave ou o `ant auth login` do CLI da Plataforma Claude escreveu; para outros perfis, use a ferramenta que os criou

1311* Se um administrador provisionou a credencial do perfil, peça a ele para emitir uma nova1406* Se um administrador provisionou a credencial do perfil, peça a ele para emitir uma nova

1312* Execute `/status` para confirmar a fonte de credencial ativa e o nome do perfil1407* Execute `/status` para confirmar a fonte de credencial ativa e o nome do perfil

1313* Para parar de usar o perfil, desdefina `ANTHROPIC_PROFILE` se você o definiu, depois autentique de outra forma, como `/login` ou `ANTHROPIC_API_KEY`1408* Para parar de usar o perfil, desdefina `ANTHROPIC_PROFILE` se você o definiu, depois autentique-se de outra forma, como `/login` ou `ANTHROPIC_API_KEY`

1314 1409 

1315<h3 id="oauth-scope-requirement">1410<h3 id="oauth-scope-requirement">

1316 Requisito de escopo OAuth1411 Requisito de escopo OAuth


1330 claude.ai rejeitou o token da sessão1425 claude.ai rejeitou o token da sessão

1331</h3>1426</h3>

1332 1427 

1333Uma solicitação de [conector claude.ai](/docs/pt/mcp#use-mcp-servers-from-claude-ai) falhou porque claude.ai rejeitou o token do seu login Claude Code, geralmente um login que expirou e não conseguiu ser atualizado. O token rejeitado é seu login, não a autorização própria do conector em claude.ai, portanto autorizar o conector novamente não o resolve. Em `/mcp`, o conector mostra como `connected · session token rejected` e sua visualização de detalhes lê:1428Uma solicitação de [conector claude.ai](/docs/pt/mcp#use-mcp-servers-from-claude-ai) falhou porque claude.ai rejeitou o token do seu login Claude Code, geralmente um login que expirou e não conseguiu ser atualizado. O token rejeitado é seu login, não a autorização própria do conector em claude.ai, portanto, autorizar o conector novamente não o resolve. Em `/mcp`, o conector mostra como `connected · session token rejected` e sua visualização de detalhes lê:

1334 1429 

1335```text theme={null}1430```text theme={null}

1336claude.ai rejected the session token. Run /login, then reconnect.1431claude.ai rejected the session token. Run /login, then reconnect.


1338 1433 

1339**O que fazer:**1434**O que fazer:**

1340 1435 

1341* Execute `/login` para fazer login novamente1436* Execute `/login` para se conectar novamente

1342* Reconecte o conector de `/mcp`, ou execute `/mcp reconnect <server>`. Reconectar antes de fazer login novamente deixa o conector no mesmo estado. A opção **Reconnect** do painel `/mcp` relata `your claude.ai session token was rejected`; o formulário digitado `/mcp reconnect <server>` relata uma reconexão bem-sucedida mesmo que o token ainda seja rejeitado.1437* Reconecte o conector de `/mcp` ou execute `/mcp reconnect <server>`. Reconectar antes de se conectar novamente deixa o conector no mesmo estado. A opção **Reconnect** do painel `/mcp` relata `your claude.ai session token was rejected`; o formulário digitado `/mcp reconnect <server>` relata uma reconexão bem-sucedida mesmo que o token ainda seja rejeitado.

1343 1438 

1344Antes da v2.1.222, Claude Code marcava o conector como precisando de autenticação, o que apontava você para o fluxo de autorização do conector mesmo que completá-lo não resolvesse o estado.1439Antes da v2.1.222, Claude Code marcava o conector como precisando de autenticação, o que apontava você para o fluxo de autorização do conector mesmo que completá-lo não resolvesse o estado.

1345 1440 

1346<h3 id="mcp-server-needs-you-to-sign-in-again">1441<h3 id="mcp-server-needs-you-to-sign-in-again">

1347 Servidor MCP precisa que você faça login novamente1442 Servidor MCP precisa que você se conecte novamente

1348</h3>1443</h3>

1349 1444 

1350Um [servidor MCP](/docs/pt/mcp) remoto rejeitou a credencial em uma chamada de ferramenta no meio da sessão, geralmente porque um login ou token expirou ou porque o token carece de uma permissão que a ferramenta precisa. A chamada de ferramenta falha, e `/mcp` marca o servidor como [precisando de autenticação](/docs/pt/mcp#authenticate-with-remote-mcp-servers).1445Um [servidor MCP](/docs/pt/mcp) remoto rejeitou a credencial em uma chamada de ferramenta no meio da sessão, geralmente porque uma conexão ou token expirou ou porque o token carece de uma permissão que a ferramenta precisa. A chamada de ferramenta falha e `/mcp` marca o servidor como [precisando de autenticação](/docs/pt/mcp#authenticate-with-remote-mcp-servers).

1351 1446 

1352Para um servidor que você faz login de Claude Code, incluindo um conector claude.ai, o login expirou ou foi revogado:1447Para um servidor que você se conecta a partir de Claude Code, incluindo um conector claude.ai, a conexão expirou ou foi revogada:

1353 1448 

1354```text theme={null}1449```text theme={null}

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

1356```1451```

1357 1452 

1358Execute `/mcp`, selecione o servidor e faça login novamente de seu menu.1453Execute `/mcp`, selecione o servidor e conecte-se novamente a partir de seu menu.

1359 1454 

1360Para um servidor configurado com um script [`headersHelper`](/docs/pt/mcp#use-dynamic-headers-for-custom-authentication), Claude Code já executou novamente o helper e tentou novamente a chamada uma vez antes de mostrar isso:1455Para um servidor configurado com um script [`headersHelper`](/docs/pt/mcp#use-dynamic-headers-for-custom-authentication), Claude Code já reexecutou o helper e tentou novamente a chamada uma vez antes de mostrar isso:

1361 1456 

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

1363MCP server "<name>" rejected the credential from its headersHelper (check the helper and run /mcp to reconnect, or to authenticate if the server also uses OAuth)1458MCP server "<name>" rejected the credential from its headersHelper (check the helper and run /mcp to reconnect, or to authenticate if the server also uses OAuth)


1373 1468 

1374Atualize o valor do cabeçalho onde o servidor está configurado, depois reconecte de `/mcp`.1469Atualize o valor do cabeçalho onde o servidor está configurado, depois reconecte de `/mcp`.

1375 1470 

1376Antes da v2.1.273, os casos de login expirado, `headersHelper` e cabeçalho `Authorization` todos mostravam `MCP server "<name>" requires re-authorization (token expired)`.1471Antes da v2.1.273, a conexão expirada, `headersHelper` e os casos de cabeçalho `Authorization` todos mostravam `MCP server "<name>" requires re-authorization (token expired)`.

1377 1472 

1378Um servidor também pode recusar uma chamada de ferramenta com HTTP 403 `insufficient_scope` para pedir que você autorize um escopo, às vezes um que seu token já lista. A mensagem nomeia esse escopo:1473Um servidor também pode recusar uma chamada de ferramenta com HTTP 403 `insufficient_scope` para pedir que você autorize um escopo, às vezes um que seu token já lista. A mensagem nomeia esse escopo:

1379 1474 


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

1382```1477```

1383 1478 

1384Execute `/mcp`, selecione o servidor e autentique novamente de seu menu.1479Execute `/mcp`, selecione o servidor e autentique-se novamente a partir de seu menu.

1385 1480 

1386Quando a configuração do servidor não define [`oauth.scopes`](/docs/pt/mcp#restrict-oauth-scopes) nem [`authServerMetadataUrl`](/docs/pt/mcp#override-oauth-metadata-discovery), Claude Code solicita o escopo que o servidor nomeou. Com qualquer configuração, Claude Code solicita os escopos dessa configuração. Se você fixou `oauth.scopes`, adicione o escopo ausente a essa lista antes de autenticar novamente.1481Quando a configuração do servidor não define [`oauth.scopes`](/docs/pt/mcp#restrict-oauth-scopes) nem [`authServerMetadataUrl`](/docs/pt/mcp#override-oauth-metadata-discovery), Claude Code solicita o escopo que o servidor nomeou. Com qualquer configuração, Claude Code solicita os escopos dessa configuração. Se você fixou `oauth.scopes`, adicione o escopo ausente a essa lista antes de se autenticar novamente.

1387 1482 

1388Antes da v2.1.274, este caso mostrava a mensagem `needs you to sign in again`, e antes da v2.1.273 mostrava `requires re-authorization (token expired)` como os outros casos.1483Antes da v2.1.274, este caso mostrava a mensagem `needs you to sign in again`, e antes da v2.1.273 mostrava `requires re-authorization (token expired)` como os outros casos.

1389 1484 


1391 Incompatibilidade de emissor na resposta de autorização1486 Incompatibilidade de emissor na resposta de autorização

1392</h3>1487</h3>

1393 1488 

1394Durante um [login OAuth do MCP](/docs/pt/mcp#authenticate-with-remote-mcp-servers), o servidor de autorização redirecionou de volta para Claude Code com um parâmetro `iss` que não nomeia o emissor que Claude Code esperava dos metadados OAuth do servidor. Um emissor errado nesta etapa é como um ataque de mistura de servidor de autorização se parece, portanto Claude Code falha no login em vez de trocar o código de autorização. Claude Code mostra o erro no menu do servidor `/mcp` após o login do navegador:1489Durante um [login OAuth MCP](/docs/pt/mcp#authenticate-with-remote-mcp-servers), o servidor de autorização redirecionou de volta para Claude Code com um parâmetro `iss` que não nomeia o emissor que Claude Code esperava dos metadados OAuth do servidor. Um emissor errado nesta etapa é como um ataque de mistura de servidor de autorização se parece, portanto, Claude Code falha a conexão em vez de trocar o código de autorização. Claude Code mostra o erro no menu do servidor `/mcp` após a conexão do navegador:

1395 1490 

1396```text theme={null}1491```text theme={null}

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

1398```1493```

1399 1494 

1400`expected` é o emissor dos metadados OAuth do servidor, e `received` é o valor `iss` que o redirecionamento carregava. Um login cujo redirecionamento não carrega parâmetro `iss` passa na verificação, a menos que os metadados do servidor definam `authorization_response_iss_parameter_supported`, nesse caso Claude Code falha no login.1495`expected` é o emissor dos metadados OAuth do servidor, e `received` é o valor `iss` que o redirecionamento carregava. Uma conexão cujo redirecionamento não carrega nenhum parâmetro `iss` passa na verificação, a menos que os metadados do servidor definam `authorization_response_iss_parameter_supported`, nesse caso Claude Code falha a conexão.

1401 1496 

1402**O que fazer:**1497**O que fazer:**

1403 1498 

1404* Tente o login novamente de `/mcp`1499* Tente a conexão novamente de `/mcp`

1405* Se o erro se repetir, relate-o ao operador do servidor. A correção é do lado do servidor: o servidor de autorização deve retornar o mesmo emissor no parâmetro `iss` que ele anuncia em seus metadados1500* Se o erro se repetir, relate-o ao operador do servidor. A correção é do lado do servidor: o servidor de autorização deve retornar o mesmo emissor no parâmetro `iss` que ele anuncia em seus metadados

1406* Para conectar enquanto o servidor está sendo corrigido, inicie Claude Code com [`MCP_SDK_GENERATION=v1`](/docs/pt/env-vars), cujo [runtime](/docs/pt/mcp#mcp-client-runtimes) não executa essa verificação. Isso remove uma proteção contra ataques de mistura, portanto prefira a correção do lado do servidor1501* Para conectar enquanto o servidor está sendo corrigido, inicie Claude Code com [`MCP_SDK_GENERATION=v1`](/docs/pt/env-vars), cujo [runtime](/docs/pt/mcp#mcp-client-runtimes) não executa essa verificação. Isso remove uma proteção contra ataques de mistura, portanto, prefira a correção do lado do servidor

1407 1502 

1408Antes da v2.1.232, Claude Code usava o runtime v2 apenas em um lançamento gradual ou quando você definia `MCP_SDK_GENERATION=v2`.1503Antes da v2.1.232, Claude Code usava o runtime v2 apenas em um lançamento gradual ou quando você definia `MCP_SDK_GENERATION=v2`.

1409 1504 


1419AWS credentials expired or invalid · run /login and select "Claude Platform on AWS · refresh credentials", or run `aws sso login --profile myprofile` in another terminal · API Error: 401 ...1514AWS credentials expired or invalid · run /login and select "Claude Platform on AWS · refresh credentials", or run `aws sso login --profile myprofile` in another terminal · API Error: 401 ...

1420```1515```

1421 1516 

1422Antes da v2.1.273, esta mensagem aparecia apenas quando `awsAuthRefresh` estava configurado.1517Antes da v2.1.273, essa mensagem aparecia apenas quando `awsAuthRefresh` estava configurado.

1423 1518 

1424**O que fazer:**1519**O que fazer:**

1425 1520 

1426* Se a dica disser que as credenciais são gerenciadas por este ambiente, o aplicativo que iniciou Claude Code possui a credencial e os outros passos aqui não se aplicam: tente novamente ou entre em contato com seu administrador1521* Se a dica disser que as credenciais são gerenciadas por este ambiente, o aplicativo que iniciou Claude Code possui a credencial e as outras etapas aqui não se aplicam: tente novamente ou entre em contato com seu administrador

1427* Se [`awsAuthRefresh`](/docs/pt/amazon-bedrock#advanced-credential-configuration) estiver definido, execute o comando nomeado na mensagem, como `aws sso login --profile myprofile`, em outro terminal e complete o login do navegador, depois tente novamente. Caso contrário, atualize a credencial AWS que você usa: seu login SSO, chaves de acesso, chave de API ou token de proxy1522* Se [`awsAuthRefresh`](/docs/pt/amazon-bedrock#advanced-credential-configuration) estiver definido, execute o comando nomeado na mensagem, como `aws sso login --profile myprofile`, em outro terminal e complete a conexão do navegador, depois tente novamente. Caso contrário, atualize a credencial AWS que você usa: sua conexão SSO, chaves de acesso, chave de API ou token de proxy

1428* Com `awsAuthRefresh` definido em uma sessão interativa, você pode executar `/login`, escolher **3rd-party platform**, depois selecionar **Claude Platform on AWS · refresh credentials** em **Using 3rd-party platforms** para executar o mesmo comando sem reiniciar Claude Code. Consulte [Configure AWS credentials](/docs/pt/claude-platform-on-aws#1-configure-aws-credentials)1523* Com `awsAuthRefresh` definido em uma sessão interativa, você pode executar `/login`, escolher **3rd-party platform**, depois selecionar **Claude Platform on AWS · refresh credentials** em **Using 3rd-party platforms** para executar o mesmo comando sem reiniciar Claude Code. Veja [Configurar credenciais AWS](/docs/pt/claude-platform-on-aws#1-configure-aws-credentials)

1429* Se o erro se repetir após o comando de atualização ter sucesso, confirme que a identidade é válida fora de Claude Code com `aws sts get-caller-identity` no mesmo shell e perfil1524* Se o erro se repetir após o comando de atualização ter sucesso, confirme que a identidade é válida fora de Claude Code com `aws sts get-caller-identity` no mesmo shell e perfil

1430 1525 

1431<h3 id="aws-authentication-failed">1526<h3 id="aws-authentication-failed">


1436 1531 

1437Amazon Bedrock relata um token de segurança expirado como um 403, mas um 403 também é como ele relata uma negação de autorização, como um `AccessDeniedException` de uma permissão IAM ausente. Claude Code não consegue distinguir essas duas causas.1532Amazon Bedrock relata um token de segurança expirado como um 403, mas um 403 também é como ele relata uma negação de autorização, como um `AccessDeniedException` de uma permissão IAM ausente. Claude Code não consegue distinguir essas duas causas.

1438 1533 

1439Um 401 do Amazon Bedrock também chega aqui em vez de em [Credenciais AWS expiradas ou inválidas](#aws-credentials-expired-or-invalid), porque Amazon Bedrock não relata um token expirado como um 401. Um 401 desse endpoint geralmente vem de algo mais no caminho da solicitação, como um proxy corporativo.1534Um 401 de Amazon Bedrock também chega aqui em vez de em [Credenciais AWS expiradas ou inválidas](#aws-credentials-expired-or-invalid), porque Amazon Bedrock não relata um token expirado como um 401. Um 401 desse endpoint geralmente vem de algo mais no caminho da solicitação, como um proxy corporativo.

1440 1535 

1441Uma atualização de credencial corrige um token expirado e não consegue corrigir as outras causas, portanto a mensagem oferece ambas:1536Uma atualização de credencial corrige um token expirado e não consegue corrigir as outras causas, portanto, a mensagem oferece ambas:

1442 1537 

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

1444AWS authentication failed · run /login and select "Claude Platform on AWS · refresh credentials", or run `aws sso login --profile myprofile` in another terminal · if credentials are current, check AWS permissions and model access · API Error: 403 ...1539AWS authentication failed · run /login and select "Claude Platform on AWS · refresh credentials", or run `aws sso login --profile myprofile` in another terminal · if credentials are current, check AWS permissions and model access · API Error: 403 ...


1446 1541 

1447A dica de ação no meio varia com sua configuração. A parte estável é o `AWS authentication failed` inicial.1542A dica de ação no meio varia com sua configuração. A parte estável é o `AWS authentication failed` inicial.

1448 1543 

1449Quando o 403 é a resposta do Amazon Bedrock de que você não tem acesso ao modelo com o ID de modelo especificado, a dica em vez disso diz para você habilitar o modelo para sua conta e região no console Amazon Bedrock.1544Quando o 403 é a resposta de Amazon Bedrock de que você não tem acesso ao modelo com a ID de modelo especificada, a dica em vez disso diz que você habilite o modelo para sua conta e região no console Amazon Bedrock.

1450 1545 

1451Antes da v2.1.273, esta mensagem aparecia apenas quando `awsAuthRefresh` estava configurado.1546Antes da v2.1.273, essa mensagem aparecia apenas quando `awsAuthRefresh` estava configurado.

1452 1547 

1453**O que fazer:**1548**O que fazer:**

1454 1549 

1455* Se a dica disser que as credenciais são gerenciadas por este ambiente, o aplicativo que iniciou Claude Code possui a credencial e os outros passos aqui não se aplicam: tente novamente ou entre em contato com seu administrador1550* Se a dica disser que as credenciais são gerenciadas por este ambiente, o aplicativo que iniciou Claude Code possui a credencial e as outras etapas aqui não se aplicam: tente novamente ou entre em contato com seu administrador

1456* Atualize suas credenciais AWS em caso de uma credencial expirada ser a causa: execute o comando [`awsAuthRefresh`](/docs/pt/amazon-bedrock#advanced-credential-configuration) nomeado na mensagem quando um estiver definido, ou atualize seu login SSO, chaves de acesso, chave de API ou token de proxy você mesmo1551* Atualize suas credenciais AWS em caso de uma credencial expirada ser a causa: execute o comando [`awsAuthRefresh`](/docs/pt/amazon-bedrock#advanced-credential-configuration) nomeado na mensagem quando um estiver definido, ou atualize sua conexão SSO, chaves de acesso, chave de API ou token de proxy

1457* Se suas credenciais estão atuais, confirme as permissões IAM em [Configuração IAM](/docs/pt/amazon-bedrock#iam-configuration) estão anexadas à identidade que você está usando e que o modelo selecionado está habilitado para sua conta e região1552* Se suas credenciais estão atuais, confirme as permissões IAM em [Configuração IAM](/docs/pt/amazon-bedrock#iam-configuration) estão anexadas à identidade que você está usando e que o modelo selecionado está habilitado para sua conta e região

1458* Execute `aws sts get-caller-identity` para confirmar qual identidade suas solicitações usam; um `AWS_PROFILE` obsoleto ou perfil padrão é uma causa comum de incompatibilidade de permissão1553* Execute `aws sts get-caller-identity` para confirmar qual identidade suas solicitações usam; um `AWS_PROFILE` obsoleto ou perfil padrão é uma causa comum de uma incompatibilidade de permissão

1459 1554 

1460<h3 id="google-cloud-credentials-expired-or-invalid">1555<h3 id="google-cloud-credentials-expired-or-invalid">

1461 Credenciais do Google Cloud expiradas ou inválidas1556 Credenciais do Google Cloud expiradas ou inválidas


1471 1566 

1472**O que fazer:**1567**O que fazer:**

1473 1568 

1474* Se a dica disser que as credenciais são gerenciadas por este ambiente, o aplicativo que iniciou Claude Code possui a credencial e os outros passos aqui não se aplicam: tente novamente ou entre em contato com seu administrador1569* Se a dica disser que as credenciais são gerenciadas por este ambiente, o aplicativo que iniciou Claude Code possui a credencial e as outras etapas aqui não se aplicam: tente novamente ou entre em contato com seu administrador

1475* Se você se autentica com credenciais padrão de aplicativo, execute o comando [`gcpAuthRefresh`](/docs/pt/google-vertex-ai#advanced-credential-configuration) nomeado na mensagem, ou `gcloud auth application-default login`, e complete o login, depois tente novamente1570* Se você se autenticar com credenciais padrão de aplicativo, execute o comando [`gcpAuthRefresh`](/docs/pt/google-vertex-ai#advanced-credential-configuration) nomeado na mensagem, ou `gcloud auth application-default login`, e complete a conexão, depois tente novamente

1476* Se você roteia através de um [gateway LLM](/docs/pt/llm-gateway) com `CLAUDE_CODE_SKIP_VERTEX_AUTH` definido, atualize o token de gateway em `ANTHROPIC_AUTH_TOKEN` ou `ANTHROPIC_CUSTOM_HEADERS`, depois tente novamente1571* Se você rotear através de um [gateway LLM](/docs/pt/llm-gateway) com `CLAUDE_CODE_SKIP_VERTEX_AUTH` definido, atualize o token de gateway em `ANTHROPIC_AUTH_TOKEN` ou `ANTHROPIC_CUSTOM_HEADERS`, depois tente novamente

1477* Se você se autentica com um arquivo de chave de conta de serviço, confirme que `GOOGLE_APPLICATION_CREDENTIALS` aponta para uma chave válida. Consulte [Configure GCP credentials](/docs/pt/google-vertex-ai#3-configure-gcp-credentials)1572* Se você se autenticar com um arquivo de chave de conta de serviço, confirme que `GOOGLE_APPLICATION_CREDENTIALS` aponta para uma chave válida. Veja [Configurar credenciais GCP](/docs/pt/google-vertex-ai#3-configure-gcp-credentials)

1478* Se o erro se repetir após uma atualização, confirme que a identidade funciona fora de Claude Code com `gcloud auth application-default print-access-token` no mesmo shell1573* Se o erro se repetir após uma atualização, confirme que a identidade funciona fora de Claude Code com `gcloud auth application-default print-access-token` no mesmo shell

1479 1574 

1480Antes da v2.1.273, um 401 do Agent Platform mostrava a mensagem genérica `Please run /login` ou `Failed to authenticate`, que não consegue atualizar credenciais do Google Cloud.1575Antes da v2.1.273, um 401 de Agent Platform mostrava a mensagem genérica `Please run /login` ou `Failed to authenticate`, que não consegue atualizar credenciais do Google Cloud.

1481 1576 

1482<h3 id="google-cloud-authentication-failed">1577<h3 id="google-cloud-authentication-failed">

1483 Falha na autenticação do Google Cloud1578 Falha na autenticação do Google Cloud

1484</h3>1579</h3>

1485 1580 

1486[Agent Platform do Google Cloud](/docs/pt/google-vertex-ai) retornou um 403, que usa para negações de autorização em vez de credenciais expiradas. Geralmente a identidade com a qual você se autentica está faltando uma permissão IAM, ou o modelo não está habilitado para seu projeto.1581[Agent Platform do Google Cloud](/docs/pt/google-vertex-ai) retornou um 403, que usa para negações de autorização em vez de credenciais expiradas. Geralmente, a identidade com a qual você se autentica está faltando uma permissão IAM ou o modelo não está habilitado para seu projeto.

1487 1582 

1488A dica de ação no meio varia com sua configuração. A parte estável é o `Google Cloud authentication failed` inicial:1583A dica de ação no meio varia com sua configuração. A parte estável é o `Google Cloud authentication failed` inicial:

1489 1584 


1493 1588 

1494**O que fazer:**1589**O que fazer:**

1495 1590 

1496* Se a dica disser que as credenciais são gerenciadas por este ambiente, o aplicativo que iniciou Claude Code possui a credencial e os outros passos aqui não se aplicam: tente novamente ou entre em contato com seu administrador1591* Se a dica disser que as credenciais são gerenciadas por este ambiente, o aplicativo que iniciou Claude Code possui a credencial e as outras etapas aqui não se aplicam: tente novamente ou entre em contato com seu administrador

1497* Confirme as funções em [Configuração IAM](/docs/pt/google-vertex-ai#iam-configuration) são concedidas à identidade com a qual você se autentica1592* Confirme que as funções em [Configuração IAM](/docs/pt/google-vertex-ai#iam-configuration) são concedidas à identidade com a qual você se autentica

1498* Confirme que o modelo está habilitado para seu projeto. Consulte [Request model access](/docs/pt/google-vertex-ai#2-request-model-access)1593* Confirme que o modelo está habilitado para seu projeto. Veja [Solicitar acesso ao modelo](/docs/pt/google-vertex-ai#2-request-model-access)

1499 1594 

1500Antes da v2.1.273, um 403 do Agent Platform mostrava a mensagem genérica `Please run /login` ou `Failed to authenticate`, que não consegue atualizar credenciais do Google Cloud.1595Antes da v2.1.273, um 403 de Agent Platform mostrava a mensagem genérica `Please run /login` ou `Failed to authenticate`, que não consegue atualizar credenciais do Google Cloud.

1501 1596 

1502<h3 id="microsoft-foundry-authentication-failed">1597<h3 id="microsoft-foundry-authentication-failed">

1503 Falha na autenticação do Microsoft Foundry1598 Falha na autenticação do Microsoft Foundry


1511 1606 

1512**O que fazer:**1607**O que fazer:**

1513 1608 

1514* Se a dica disser que as credenciais são gerenciadas por este ambiente, o aplicativo que iniciou Claude Code possui a credencial e os outros passos aqui não se aplicam: tente novamente ou entre em contato com seu administrador1609* Se a dica disser que as credenciais são gerenciadas por este ambiente, o aplicativo que iniciou Claude Code possui a credencial e as outras etapas aqui não se aplicam: tente novamente ou entre em contato com seu administrador

1515* Atualize a credencial que você configurou em [Configure Azure credentials](/docs/pt/microsoft-foundry#2-configure-azure-credentials): gire `ANTHROPIC_FOUNDRY_API_KEY`, cunhe um novo `ANTHROPIC_FOUNDRY_AUTH_TOKEN`, ou execute `az login` para que a cadeia de credencial padrão do Microsoft Entra possa fazer login novamente1610* Atualize a credencial que você configurou em [Configurar credenciais Azure](/docs/pt/microsoft-foundry#2-configure-azure-credentials): gire `ANTHROPIC_FOUNDRY_API_KEY`, cunhe um novo `ANTHROPIC_FOUNDRY_AUTH_TOKEN` ou execute `az login` para que a cadeia de credencial padrão do Microsoft Entra possa se conectar novamente

1516* Se a credencial está atual, confirme que a identidade tem acesso ao recurso Foundry. Consulte [Azure RBAC configuration](/docs/pt/microsoft-foundry#azure-rbac-configuration)1611* Se a credencial está atual, confirme que a identidade tem acesso ao recurso Foundry. Veja [Configuração RBAC do Azure](/docs/pt/microsoft-foundry#azure-rbac-configuration)

1517 1612 

1518Antes da v2.1.273, um 401 ou 403 do Microsoft Foundry mostrava a mensagem genérica `Please run /login` ou `Failed to authenticate`, que não consegue atualizar credenciais Azure.1613Antes da v2.1.273, um 401 ou 403 de Microsoft Foundry mostrava a mensagem genérica `Please run /login` ou `Failed to authenticate`, que não consegue atualizar credenciais Azure.

1519 1614 

1520<h3 id="could-not-load-aws-or-google-cloud-credentials">1615<h3 id="could-not-load-aws-or-google-cloud-credentials">

1521 Não foi possível carregar credenciais AWS ou Google Cloud1616 Não foi possível carregar credenciais AWS ou Google Cloud

1522</h3>1617</h3>

1523 1618 

1524Claude Code não conseguiu obter credenciais utilizáveis da cadeia de provedor de credenciais AWS ou de suas credenciais padrão de aplicativo Google na máquina em que é executado, portanto nenhuma solicitação chegou ao seu provedor de nuvem. Claude Code limpa suas credenciais em cache e tenta novamente duas vezes antes de mostrar esta mensagem. O detalhe após o `·` nomeia a causa específica, como uma sessão SSO expirada, credenciais padrão ausentes relatadas como `Could not load the default credentials`, ou um login revogado relatado como `invalid_grant`:1619Claude Code não conseguiu obter credenciais utilizáveis da cadeia de provedor de credenciais AWS ou de suas credenciais padrão de aplicativo Google na máquina em que é executado, portanto, nenhuma solicitação chegou ao seu provedor de nuvem. Claude Code limpa suas credenciais em cache e tenta novamente duas vezes antes de mostrar essa mensagem. O detalhe após o `·` nomeia a causa específica, como uma sessão SSO expirada, credenciais padrão ausentes relatadas como `Could not load the default credentials` ou uma conexão revogada relatada como `invalid_grant`:

1525 1620 

1526```text theme={null}1621```text theme={null}

1527API Error: Could not load AWS credentials · Could not load credentials from any providers. Check or refresh your AWS credentials and try again.1622API Error: Could not load AWS credentials · Could not load credentials from any providers. Check or refresh your AWS credentials and try again.


1532 1627 

1533**O que fazer:**1628**O que fazer:**

1534 1629 

1535* Execute o comando de login do seu provedor, como `aws sso login --profile myprofile` ou `gcloud auth application-default login`, depois tente novamente. [Credenciais do Bedrock, Agent Platform ou Foundry não carregando](/docs/pt/troubleshoot-install#bedrock-agent-platform-or-foundry-credentials-not-loading) mostra como confirmar as credenciais fora de Claude Code1630* Execute o comando de conexão do seu provedor, como `aws sso login --profile myprofile` ou `gcloud auth application-default login`, depois tente novamente. [Credenciais Bedrock, Agent Platform ou Foundry não carregando](/docs/pt/troubleshoot-install#bedrock-agent-platform-or-foundry-credentials-not-loading) mostra como confirmar as credenciais fora de Claude Code

1536* Se o detalhe lê `AWS default-chain credential resolve timed out`, a cadeia travou em vez de falhar, portanto siga [Resolução de credencial de cadeia padrão AWS expirou](#aws-default-chain-credential-resolve-timed-out)1631* Se o detalhe lê `AWS default-chain credential resolve timed out`, a cadeia travou em vez de falhar, portanto, siga [Resolução de credencial de cadeia padrão AWS expirou](#aws-default-chain-credential-resolve-timed-out)

1537 1632 

1538<h3 id="aws-default-chain-credential-resolve-timed-out">1633<h3 id="aws-default-chain-credential-resolve-timed-out">

1539 Resolução de credencial de cadeia padrão AWS expirou1634 Resolução de credencial de cadeia padrão AWS expirou

1540</h3>1635</h3>

1541 1636 

1542A cadeia de provedor de credencial padrão AWS não produziu credenciais dentro de 60 segundos, portanto Claude Code parou a resolução e falhou a solicitação. Este tempo limite é uma causa de [Não foi possível carregar credenciais AWS ou Google Cloud](#could-not-load-aws-or-google-cloud-credentials). A falha é resolução de credencial local: a solicitação nunca chegou a [Amazon Bedrock](/docs/pt/amazon-bedrock), [Claude Platform on AWS](/docs/pt/claude-platform-on-aws) ou ao [endpoint Mantle](/docs/pt/amazon-bedrock#use-the-mantle-endpoint). Claude Code limpa seu [cache de credencial](/docs/pt/amazon-bedrock#credential-caching-and-resolution-timeout) e tenta novamente antes desta mensagem de erro aparecer, portanto no momento em que você a vê a cadeia travou em tentativas repetidas.1637A cadeia de provedor de credencial padrão AWS não produziu credenciais dentro de 60 segundos, portanto, Claude Code parou a resolução e falhou a solicitação. Este tempo limite é uma causa de [Não foi possível carregar credenciais AWS ou Google Cloud](#could-not-load-aws-or-google-cloud-credentials). A falha é resolução de credencial local: a solicitação nunca chegou a [Amazon Bedrock](/docs/pt/amazon-bedrock), [Claude Platform on AWS](/docs/pt/claude-platform-on-aws) ou ao [endpoint Mantle](/docs/pt/amazon-bedrock#use-the-mantle-endpoint). Claude Code limpa seu [cache de credencial](/docs/pt/amazon-bedrock#credential-caching-and-resolution-timeout) e tenta novamente antes desse erro aparecer, portanto, no momento em que você o vê, a cadeia travou em tentativas repetidas.

1543 1638 

1544```text theme={null}1639```text theme={null}

1545API Error: Could not load AWS credentials · AWS default-chain credential resolve timed out. Check or refresh your AWS credentials and try again.1640API Error: Could not load AWS credentials · AWS default-chain credential resolve timed out. Check or refresh your AWS credentials and try again.

1546```1641```

1547 1642 

1548As causas comuns são um comando `credential_process` em seu perfil AWS que aguarda entrada que não consegue receber, e um contêiner ou VM cuja instância de serviço de metadados (IMDS) nunca responde à sonda da cadeia.1643As causas comuns são um comando `credential_process` em seu perfil AWS que espera por entrada que não consegue receber, e um contêiner ou VM cujo serviço de metadados de instância (IMDS) nunca responde à sonda da cadeia.

1549 1644 

1550Antes da v2.1.267, a mensagem lia `API Error: AWS default-chain credential resolve timed out`.1645Antes da v2.1.267, a mensagem lia `API Error: AWS default-chain credential resolve timed out`.

1551Antes da v2.1.207, uma cadeia travada deixava a solicitação esperando indefinidamente em vez de falhar.1646Antes da v2.1.207, uma cadeia travada deixava a solicitação esperando indefinidamente em vez de falhar.


1553**O que fazer:**1648**O que fazer:**

1554 1649 

1555* Execute `aws sts get-caller-identity` no mesmo shell com o mesmo `AWS_PROFILE`. Se também travar, corrija o perfil; um comando `credential_process` que solicita interativamente é uma causa comum.1650* Execute `aws sts get-caller-identity` no mesmo shell com o mesmo `AWS_PROFILE`. Se também travar, corrija o perfil; um comando `credential_process` que solicita interativamente é uma causa comum.

1556* Complete a etapa de login antes de iniciar Claude Code, por exemplo `aws sso login --profile myprofile`, para que a cadeia seja resolvida do cache SSO local em vez de aguardar um fluxo de navegador1651* Complete a etapa de conexão antes de iniciar Claude Code, por exemplo `aws sso login --profile myprofile`, para que a cadeia seja resolvida do cache SSO local em vez de esperar por um fluxo de navegador

1557* Se sua cadeia executa um login interativo que legitimamente precisa de mais de 60 segundos, como SSO com MFA através de um wrapper como `aws-vault`, aumente o limite em milissegundos com [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/pt/env-vars)1652* Se sua cadeia executa uma conexão interativa que legitimamente precisa de mais de 60 segundos, como SSO com MFA através de um wrapper como `aws-vault`, aumente o limite em milissegundos com [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/pt/env-vars)

1558 1653 

1559<h3 id="bedrock-setup-verification-timed-out-waiting-for-aws">1654<h3 id="bedrock-setup-verification-timed-out-waiting-for-aws">

1560 Tempo limite de verificação de configuração do Bedrock aguardando AWS1655 Verificação de configuração Bedrock expirou esperando por AWS

1561</h3>1656</h3>

1562 1657 

1563Uma chamada para AWS durante o [assistente de configuração do Bedrock](/docs/pt/amazon-bedrock#sign-in-with-bedrock), como a busca de credencial ou a verificação de identidade, não terminou dentro do limite de 60 segundos. O assistente para de aguardar e falha a etapa de verificação:1658Uma chamada para AWS durante o [assistente de configuração Bedrock](/docs/pt/amazon-bedrock#sign-in-with-bedrock), como a busca de credencial ou a verificação de identidade, não terminou dentro do limite de 60 segundos. O assistente para de esperar e falha a etapa de verificação:

1564 1659 

1565```text theme={null}1660```text theme={null}

1566Timed out after 60s waiting for AWS. Check your network and proxy settings; if a credential helper needs longer to prompt you, raise CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS.1661Timed out after 60s waiting for AWS. Check your network and proxy settings; if a credential helper needs longer to prompt you, raise CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS.


1568 1663 

1569O número reflete seu limite: 60 segundos por padrão, ou o valor que você define em [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/pt/env-vars).1664O número reflete seu limite: 60 segundos por padrão, ou o valor que você define em [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/pt/env-vars).

1570 1665 

1571As causas comuns são uma rede ou proxy que trava solicitações para AWS, incluindo a atualização de token SSO, e um helper de credencial ainda aguardando entrada que você não consegue ver. Aumente o limite apenas quando o helper legitimamente precisa de mais tempo.1666As causas comuns são uma rede ou proxy que trava solicitações para AWS, incluindo a atualização de token SSO, e um helper de credencial ainda esperando por entrada que você não consegue ver. Aumente o limite apenas quando o helper legitimamente precisa de mais tempo.

1572 1667 

1573Uma única solicitação travada para AWS também pode falhar em seu próprio tempo limite por solicitação, que mostra uma mensagem mais curta na mesma etapa:1668Uma única solicitação travada para AWS também pode falhar em seu próprio tempo limite por solicitação, que mostra uma mensagem mais curta na mesma etapa:

1574 1669 


1576A request to AWS timed out. Check your network and proxy settings, then try again.1671A request to AWS timed out. Check your network and proxy settings, then try again.

1577```1672```

1578 1673 

1579Quando os mesmos tempos limite ocorrem na etapa de fixação de modelo, o assistente marca um modelo como `unreachable` em vez de mostrar uma das duas mensagens.1674Quando os mesmos tempos limite ocorrem na etapa de fixação de modelo, o assistente marca um modelo como `unreachable` em vez de mostrar qualquer mensagem.

1580 1675 

1581**O que fazer:**1676**O que fazer:**

1582 1677 

1583* Execute `aws sts get-caller-identity` no mesmo shell. Se também travar, a travação está fora de Claude Code, em sua rede, seu proxy ou o helper de credencial em seu perfil AWS; corrija isso primeiro.1678* Execute `aws sts get-caller-identity` no mesmo shell. Se também travar, o travamento está fora de Claude Code, em sua rede, seu proxy ou o helper de credencial em seu perfil AWS; corrija isso primeiro.

1584* Complete qualquer login interativo antes de abrir o assistente, por exemplo `aws sso login --profile myprofile`1679* Complete qualquer conexão interativa antes de abrir o assistente, por exemplo `aws sso login --profile myprofile`

1585* Se um helper de credencial em seu perfil AWS legitimamente precisa de mais de 60 segundos para solicitá-lo, aumente o limite em milissegundos com [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/pt/env-vars)1680* Se um helper de credencial em seu perfil AWS legitimamente precisa de mais de 60 segundos para solicitá-lo, aumente o limite em milissegundos com [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/pt/env-vars)

1586 1681 

1587<h3 id="cloud-gateway-session-expired">1682<h3 id="cloud-gateway-session-expired">

1588 Sessão de gateway de nuvem expirada1683 Sessão de gateway de nuvem expirada

1589</h3>1684</h3>

1590 1685 

1591Você fez login através de um [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway), e a sessão de gateway salva nesta máquina expirou e não conseguiu ser renovada, ou o gateway não a aceita mais, por exemplo, após a [rotação do segredo JWT](/docs/pt/claude-apps-gateway-deploy#jwt-secret-rotation) do gateway. Se você vir esta linha quando inicia `claude` interativamente, a sessão abriu desconectada do gateway:1686Você se conectou através de um [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway) e a sessão de gateway salva nesta máquina expirou e não conseguiu ser renovada, ou o gateway não a aceita mais, por exemplo, após o [segredo JWT do gateway ser substituído](/docs/pt/claude-apps-gateway-deploy#jwt-secret-rotation). Se você vir essa linha quando inicia `claude` interativamente, a sessão abriu desconectada do gateway:

1592 1687 

1593```text theme={null}1688```text theme={null}

1594Cloud gateway session expired — run /login to reconnect.1689Cloud gateway session expired — run /login to reconnect.


1596 1691 

1597A mesma linha pode aparecer no meio da sessão quando a credencial de gateway expira e Claude Code não consegue renová-la.1692A mesma linha pode aparecer no meio da sessão quando a credencial de gateway expira e Claude Code não consegue renová-la.

1598 1693 

1599Em uma execução [não interativa](/docs/pt/headless), uma sessão em segundo plano ou outra sessão desatendida, ou um subcomando `claude` diferente de `claude auth`, Claude Code sai com esta mensagem em vez disso quando o gateway não aceita mais a sessão:1694Em uma execução [não interativa](/docs/pt/headless), uma sessão em segundo plano ou outra sessão desatendida, ou um subcomando `claude` diferente de `claude auth`, Claude Code sai com essa mensagem em vez disso quando o gateway não aceita mais a sessão:

1600 1695 

1601```text theme={null}1696```text theme={null}

1602Cloud gateway <url> no longer accepts this session. Start `claude` and sign in again with /login.1697Cloud gateway <url> no longer accepts this session. Start `claude` and sign in again with /login.


1604 1699 

1605**O que fazer:**1700**O que fazer:**

1606 1701 

1607* Execute `/login` na sessão e complete o login do navegador1702* Execute `/login` na sessão e complete a conexão do navegador

1608* Para um lançamento não interativo, inicie `claude` no mesmo ambiente, execute `/login`, depois execute novamente seu comando1703* Para um lançamento não interativo, inicie `claude` no mesmo ambiente, execute `/login`, depois reexecute seu comando

1609 1704 

1610<h3 id="sign-in-timed-out-while-waiting-for-you-to-continue">1705<h3 id="sign-in-timed-out-while-waiting-for-you-to-continue">

1611 Tempo limite de login enquanto aguardava você continuar1706 Conexão expirou enquanto esperava você continuar

1612</h3>1707</h3>

1613 1708 

1614Durante um login do [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway), o gateway nomeou a conta que fez login, e Claude Code pediu que você a confirmasse antes de salvar a credencial. Você deixou a confirmação aberta após a expiração do próprio login, e o gateway não emitiu token de atualização que pudesse renová-lo, portanto Claude Code não armazenou nada quando você continuou:1709Durante uma conexão [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway), o gateway nomeou a conta que se conectou, e Claude Code pediu que você a confirmasse antes de salvar a credencial. Você deixou a confirmação aberta após a expiração da própria conexão, e o gateway não emitiu nenhum token de atualização que pudesse renová-la, portanto, Claude Code não armazenou nada quando você continuou:

1615 1710 

1616```text theme={null}1711```text theme={null}

1617Sign-in timed out while waiting for you to continue. Try again.1712Sign-in timed out while waiting for you to continue. Try again.


1619 1714 

1620**O que fazer:**1715**O que fazer:**

1621 1716 

1622* Execute `/login` novamente e confirme a conta antes do login expirar1717* Execute `/login` novamente e confirme a conta antes da conexão expirar

1623 1718 

1624<h3 id="gateway-refused-the-request">1719<h3 id="gateway-refused-the-request">

1625 Gateway recusou a solicitação1720 Gateway recusou a solicitação

1626</h3>1721</h3>

1627 1722 

1628Você está conectado através de um [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway), e uma solicitação retornou um 403: o gateway, ou o upstream por trás dele, a recusou. Fazer login novamente não altera uma recusa, portanto a mensagem aponta para seu administrador de gateway:1723Você está conectado através de um [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway) e uma solicitação retornou um 403: o gateway, ou o upstream por trás dele, recusou. Conectar-se novamente não altera uma recusa, portanto, a mensagem aponta para seu administrador de gateway:

1629 1724 

1630```text theme={null}1725```text theme={null}

1631Gateway refused the request · signing in again won't change this — check with your gateway administrator · API Error: 403 ...1726Gateway refused the request · signing in again won't change this — check with your gateway administrator · API Error: 403 ...


1634**O que fazer:**1729**O que fazer:**

1635 1730 

1636* Peça ao seu administrador de gateway para procurar a solicitação. A cauda `API Error:` carrega a recusa que o gateway retornou1731* Peça ao seu administrador de gateway para procurar a solicitação. A cauda `API Error:` carrega a recusa que o gateway retornou

1637* Para administradores: uma [regra de controle de acesso](/docs/pt/claude-apps-gateway-config#http-tuning) no gateway retorna um 403 que o [log de auditoria](/docs/pt/claude-apps-gateway-deploy#logs) registra com seu motivo, e uma negação de autorização de um upstream passa através de [Mensagens de erro de upstream](/docs/pt/claude-apps-gateway-config#upstream-error-messages)1732* Para administradores: uma [regra de controle de acesso](/docs/pt/claude-apps-gateway-config#http-tuning) no gateway retorna um 403 que o [log de auditoria](/docs/pt/claude-apps-gateway-deploy#logs) registra com seu motivo, e uma negação de autorização de um upstream passa através por [Mensagens de erro de Upstream](/docs/pt/claude-apps-gateway-config#upstream-error-messages)

1638 1733 

1639Antes da v2.1.273, um 403 em uma sessão de gateway mostrava a mensagem genérica `Please run /login` ou `Failed to authenticate`, e fazer login novamente não limpava a recusa.1734Antes da v2.1.273, um 403 em uma sessão de gateway mostrava a mensagem genérica `Please run /login` ou `Failed to authenticate`, e conectar-se novamente não limpava a recusa.

1640 1735 

1641<h2 id="network-and-connection-errors">1736<h2 id="network-and-connection-errors">

1642 Erros de rede e conexão1737 Erros de rede e conexão


1677 1772 

1678Se `curl` funcionar mas Claude Code ainda falhar, a causa geralmente é algo entre o runtime e a rede em vez da rede em si:1773Se `curl` funcionar mas Claude Code ainda falhar, a causa geralmente é algo entre o runtime e a rede em vez da rede em si:

1679 1774 

1775* Verifique se `ANTHROPIC_BASE_URL` está definido executando `echo $ANTHROPIC_BASE_URL`, ou `echo $env:ANTHROPIC_BASE_URL` no PowerShell, e procure por ele no bloco `env` de seus [settings files](/docs/pt/settings). Quando está definido, Claude Code envia solicitações de modelo para esse endereço em vez de `api.anthropic.com`, então um valor remanescente apontando para um proxy local ou gateway que não está mais em execução produz `Connection refused` mesmo que `curl` alcance a API. Remova-o do seu perfil de shell ou configurações e inicie Claude Code a partir de um novo terminal.

1680* No Linux e WSL, verifique `/etc/resolv.conf` para um nameserver inacessível. WSL em particular pode herdar um resolver quebrado do host.1776* No Linux e WSL, verifique `/etc/resolv.conf` para um nameserver inacessível. WSL em particular pode herdar um resolver quebrado do host.

1681* No macOS, um cliente VPN que foi desconectado ou desinstalado pode deixar uma interface de túnel ou regra de roteamento para trás. Verifique `ifconfig` para interfaces `utun` obsoletas e remova a extensão de rede da VPN em Configurações do Sistema.1777* No macOS, um cliente VPN que foi desconectado ou desinstalado pode deixar uma interface de túnel ou regra de roteamento para trás. Verifique `ifconfig` para interfaces `utun` obsoletas e remova a extensão de rede da VPN em Configurações do Sistema.

1682* Docker Desktop e runtimes de contêiner similares podem interceptar tráfego de saída. Saia deles e tente novamente para descartar isso.1778* Docker Desktop e runtimes de contêiner similares podem interceptar tráfego de saída. Saia deles e tente novamente para descartar isso.


1826 1922 

1827**O que fazer:**1923**O que fazer:**

1828 1924 

1829Essas etapas alteram um de seus próprios ambientes. Um [organization-shared environment](/docs/pt/cloud-environments#organization-shared-environments) abre como somente leitura no seletor, então peça a um Owner para alterar seu acesso de rede de **Trusted** para **Custom** na página **Cloud environments** em [admin settings](https://claude.ai/admin-settings).1925Essas etapas alteram um de seus próprios ambientes. Um [organization-shared environment](/docs/pt/cloud-environments#organization-shared-environments) abre como somente leitura no seletor, então peça a um Owner para alterar seu acesso de rede na página **Cloud environments** em [admin settings](https://claude.ai/admin-settings).

1830 1926 

1831* Abra a rotina para edição, ou inicie uma sessão de nuvem. Selecione o ícone de nuvem mostrando o nome do seu ambiente, como **Default**, para abrir o seletor. Passe o mouse sobre seu ambiente e clique no ícone de configurações.1927* Abra a rotina para edição, ou inicie uma sessão de nuvem. Selecione o ícone de nuvem mostrando o nome do seu ambiente, como **Default**, para abrir o seletor. Passe o mouse sobre seu ambiente e clique no ícone de configurações.

1832* No diálogo **Update cloud environment**, altere **Network access** de **Trusted** para **Custom**, depois adicione o domínio bloqueado a **Allowed domains**. Digite um domínio por linha. Marque **Also include default list of common package managers** para manter a [allowlist padrão](/docs/pt/cloud-environments#default-allowed-domains) junto com seus domínios personalizados. Selecione **Full** em vez disso se você quiser acesso irrestrito.1928* No diálogo **Update cloud environment**, altere **Network access** de **Trusted** para **Custom**, depois adicione o domínio bloqueado a **Allowed domains**. Digite um domínio por linha. Marque **Also include default list of common package managers** para manter a [allowlist padrão](/docs/pt/cloud-environments#default-allowed-domains) junto com seus domínios personalizados. Selecione **Full** em vez disso se você quiser acesso irrestrito.


1897* Inicie uma nova sessão com `claude --remote-control` para criar uma nova sessão Remote Control1993* Inicie uma nova sessão com `claude --remote-control` para criar uma nova sessão Remote Control

1898* Para outras mensagens de inicialização do Remote Control, veja [Troubleshoot Remote Control](/docs/pt/remote-control#troubleshooting)1994* Para outras mensagens de inicialização do Remote Control, veja [Troubleshoot Remote Control](/docs/pt/remote-control#troubleshooting)

1899 1995 

1900Se o servidor relatar em vez disso que a sessão anterior se foi, você não vê essa mensagem. Claude Code inicia uma nova sessão em seu lugar ou mostra [`Previous session is unavailable — run /remote-control to start a new one`](/docs/pt/remote-control#previous-session-is-unavailable), dependendo do [registro de reconexão da conversa](/docs/pt/remote-control#resume-outcomes). De v2.1.227 através v2.1.231, Claude Code mostrou uma mensagem que começa com `Remote Control could not resume the previous session under the current login` em vez disso, e [versões anteriores se comportaram diferentemente novamente](/docs/pt/remote-control#reconnect-history).1996Se o servidor relatar em vez disso que a sessão anterior se foi, você não vê essa mensagem. Claude Code inicia uma nova sessão em seu lugar ou mostra [`Previous session is unavailable — run /remote-control to start a new one`](/docs/pt/remote-control#previous-session-is-unavailable).

1901 1997 

1902<h3 id="sessions-ended-while-this-machine-was-offline">1998<h3 id="sessions-ended-while-this-machine-was-offline">

1903 Sessions ended while this machine was offline1999 Sessions ended while this machine was offline


1931* Execute `/feedback` para enviar a transcrição com uma descrição do que aconteceu. Veja [Report an error](#report-an-error) se `/feedback` não estiver disponível em seu ambiente2027* Execute `/feedback` para enviar a transcrição com uma descrição do que aconteceu. Veja [Report an error](#report-an-error) se `/feedback` não estiver disponível em seu ambiente

1932* Se outras solicitações também estão falhando, verifique sua conexão de rede e veja [Unable to connect to API](#unable-to-connect-to-api)2028* Se outras solicitações também estão falhando, verifique sua conexão de rede e veja [Unable to connect to API](#unable-to-connect-to-api)

1933 2029 

2030<h3 id="couldnt-send-feedback">

2031 Couldn't send feedback

2032</h3>

2033 

2034Você enviou um relatório do diálogo [`/feedback`, `/bug`, ou `/share`](/docs/pt/commands#all-commands) e o upload para Anthropic falhou. O diálogo mantém seu texto para que você possa tentar novamente.

2035 

2036```text theme={null}

2037Couldn't send feedback (couldn't reach the service). If it keeps failing, you can file at https://github.com/anthropics/claude-code/issues instead.

2038```

2039 

2040O texto após o prefixo nomeia o que falhou:

2041 

2042* **`: not signed in. Run /login, then retry.`**: o diálogo carrega apenas quando Claude Code encontrou credenciais Anthropic conforme abriu, e nenhuma era utilizável no momento em que você enviou. Por exemplo, você se desconectou nesta máquina enquanto isso, ou seu login não pôde mais ser atualizado.

2043* **Um parêntese**: `(server returned <status>)` é o código de resposta do serviço; `(request timed out)` e `(couldn't reach the service)` são falhas de rede. Quando Claude Code não consegue nomear um motivo, o parêntese está ausente.

2044 

2045Na [feedback drafts queue](/docs/pt/tools-reference#sendfeedback-tool-behavior), a mesma falha termina com `The draft is still queued. Try again later.` em vez disso, e o rascunho permanece na fila para outra tentativa.

2046 

2047**O que fazer:**

2048 

2049* Para a redação não-assinada, execute `/login` e envie novamente

2050* Caso contrário, envie novamente; se outras solicitações também estão falhando, verifique sua conexão de rede e veja [Unable to connect to API](#unable-to-connect-to-api)

2051* Se continuar falhando, registre o relatório em [github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues), como a mensagem diz

2052 

2053Antes da v2.1.281, cada envio falhava com essa mensagem uma vez que um Remote Control **Stop** ou uma mensagem urgente entre sessões havia chegado enquanto o diálogo estava aberto. Nessas versões, feche o diálogo, reabra-o, e envie novamente.

2054 

1934<h2 id="request-errors">2055<h2 id="request-errors">

1935 Erros de solicitação2056 Erros de solicitação

1936</h2>2057</h2>


2185* Remova ou [desabilite](/docs/pt/mcp#disable-a-server-without-removing-it) o servidor MCP que declara o esquema inválido. O erro nomeia a ferramenta apenas por posição. Na v2.1.216 ou posterior, verifique o log de cada servidor para uma linha nomeando uma ferramenta cujo esquema de entrada seria rejeitado. Se nenhum log nomear uma, desabilite servidores um de cada vez.2306* Remova ou [desabilite](/docs/pt/mcp#disable-a-server-without-removing-it) o servidor MCP que declara o esquema inválido. O erro nomeia a ferramenta apenas por posição. Na v2.1.216 ou posterior, verifique o log de cada servidor para uma linha nomeando uma ferramenta cujo esquema de entrada seria rejeitado. Se nenhum log nomear uma, desabilite servidores um de cada vez.

2186* Se você mantém o servidor, corrija o `input_schema` da ferramenta. O esquema deve ser um JSON Schema válido, e nomes de propriedade de nível superior devem ter 1 a 64 caracteres e usar apenas letras ASCII e dígitos, `_`, `.` e `-`. Veja [Tools with invalid input schemas](/docs/pt/mcp#tools-with-invalid-input-schemas).2307* Se você mantém o servidor, corrija o `input_schema` da ferramenta. O esquema deve ser um JSON Schema válido, e nomes de propriedade de nível superior devem ter 1 a 64 caracteres e usar apenas letras ASCII e dígitos, `_`, `.` e `-`. Veja [Tools with invalid input schemas](/docs/pt/mcp#tools-with-invalid-input-schemas).

2187 2308 

2309<h3 id="tool-use-name-over-200-characters">

2310 tool\_use.name com mais de 200 caracteres

2311</h3>

2312 

2313Uma chamada de ferramenta no histórico de conversa carrega um nome mais longo que os 200 caracteres que a API aceita em uma solicitação:

2314 

2315```text theme={null}

2316API Error: 400 ... tool_use.name: String should have at most 200 characters

2317```

2318 

2319Claude Code corta tal nome para 200 caracteres quando a resposta chega e quando carrega uma conversa salva, então a chamada falha com um erro de ferramenta ordinário `No such tool available` e a conversa continua sem esse erro de API.

2320 

2321**O que fazer:**

2322 

2323* Execute `claude update`, depois retome a conversa. A versão atualizada repara o nome excessivamente longo quando carrega a transcrição, então uma conversa que estava presa funciona novamente.

2324 

2325Antes da v2.1.281, o nome excessivamente longo permanecia no histórico e a API rejeitava cada solicitação que reenviava a conversa, incluindo `/compact` e `--resume`, então esse erro se repetia e a conversa ficava presa.

2326 

2188<h3 id="theres-an-issue-with-the-selected-model">2327<h3 id="theres-an-issue-with-the-selected-model">

2189 Há um problema com o modelo selecionado2328 Há um problema com o modelo selecionado

2190</h3>2329</h3>


2216Model "claud-sonnet-5" is not a recognized model id. Did you mean 'claude-sonnet-5'?2355Model "claud-sonnet-5" is not a recognized model id. Did you mean 'claude-sonnet-5'?

2217```2356```

2218 2357 

2219A dica final nomeia o alias ou ID de modelo mais próximo. Quando nada é próximo o suficiente, lê `Run /model to see available models.` em vez disso.2358A dica final nomeia o alias ou ID de modelo mais próximo. Quando nada é próximo o suficiente, lê `Run /model to see available models.` em vez disso. Em uma sessão que o [Desktop app](/docs/pt/desktop) inicia para você, a dica sem correspondência lê `Switch to a different model.`

2220 2359 

2221Claude Code produz esse erro localmente no momento em que a mudança é solicitada, antes de qualquer solicitação de API ser feita. Aplica-se quando um modelo é definido através do método [Agent SDK](/docs/pt/agent-sdk/typescript) `setModel()`, por um aplicativo como o [Desktop app](/docs/pt/desktop) que executa o CLI do Claude Code para você, ou quando você escolhe um modelo de um dispositivo conectado através de [Remote Control](/docs/pt/remote-control). Antes da v2.1.260, a verificação não cobria escolhas de Remote Control, então Claude Code aplicava a escolha e a próxima solicitação falhava com [There's an issue with the selected model](#theres-an-issue-with-the-selected-model).2360Claude Code produz esse erro localmente no momento em que a mudança é solicitada, antes de qualquer solicitação de API ser feita. Aplica-se quando um modelo é definido através do método [Agent SDK](/docs/pt/agent-sdk/typescript) `setModel()`, por um aplicativo como o [Desktop app](/docs/pt/desktop) que executa o CLI do Claude Code para você, ou quando você escolhe um modelo de um dispositivo conectado através de [Remote Control](/docs/pt/remote-control). Antes da v2.1.260, a verificação não cobria escolhas de Remote Control, então Claude Code aplicava a escolha e a próxima solicitação falhava com [There's an issue with the selected model](#theres-an-issue-with-the-selected-model).

2222 2361 


2245* Se você digitou um ID completo, verifique-o contra o catálogo de modelos do seu provedor. Um modelo recém-lançado pode estar disponível na API Anthropic antes de seu provedor ou região oferecer.2384* Se você digitou um ID completo, verifique-o contra o catálogo de modelos do seu provedor. Um modelo recém-lançado pode estar disponível na API Anthropic antes de seu provedor ou região oferecer.

2246* Antes da v2.1.265, `/model` também rejeitava a ortografia do alias `opusplan[1m]` com esse erro. Nessas versões, atualize Claude Code ou defina o modelo em [settings](/docs/pt/model-config#setting-your-model) ou com `--model` em vez disso.2385* Antes da v2.1.265, `/model` também rejeitava a ortografia do alias `opusplan[1m]` com esse erro. Nessas versões, atualize Claude Code ou defina o modelo em [settings](/docs/pt/model-config#setting-your-model) ou com `--model` em vez disso.

2247 2386 

2387<h3 id="api-error-model-not-changed">

2388 Erro de API ao verificar o modelo escolhido

2389</h3>

2390 

2391Você escolheu um modelo com `/model <name>`, ou um aplicativo conectado à sessão solicitou a mudança. A API recusou a solicitação mínima que Claude Code envia para verificar o modelo, por uma razão que não tem entrada própria, como um limite de taxa ou um erro de servidor. A sessão mantém seu modelo atual, e a mensagem termina dizendo assim:

2392 

2393```text theme={null}

2394API error: 429 <the server's explanation> · model not changed

2395```

2396 

2397O meio da mensagem é o status HTTP e a própria explicação do servidor.

2398 

2399**O que fazer:**

2400 

2401* Aja sobre a explicação do servidor; para um limite de taxa ou um status 5xx, aguarde e escolha o modelo novamente

2402* As recusas com sua própria redação são cobertas pelas entradas circundantes, como [Model not found](#model-not-found) e [Model is restricted by your organization's settings](#model-is-restricted-by-your-organizations-settings)

2403 

2248<h3 id="claude-opus-is-not-available-with-the-claude-pro-plan">2404<h3 id="claude-opus-is-not-available-with-the-claude-pro-plan">

2249 Claude Opus não está disponível com o plano Claude Pro2405 Claude Opus não está disponível com o plano Claude Pro

2250</h3>2406</h3>


2255Claude Opus is not available with the Claude Pro plan. If you have updated your subscription plan recently, run /logout and /login for the plan to take effect.2411Claude Opus is not available with the Claude Pro plan. If you have updated your subscription plan recently, run /logout and /login for the plan to take effect.

2256```2412```

2257 2413 

2414Em uma sessão que o aplicativo Claude Desktop executa, a mensagem diz para `sign out and sign in again` em vez de nomear os comandos.

2415 

2258**O que fazer:**2416**O que fazer:**

2259 2417 

2260* Execute `/model` e selecione um modelo que seu plano inclui2418* Execute `/model` e selecione um modelo que seu plano inclui


2287 O modelo é restringido pelas configurações da sua organização2445 O modelo é restringido pelas configurações da sua organização

2288</h3>2446</h3>

2289 2447 

2290Seu administrador de organização desabilitou este modelo no console de administração claude.ai, ou ele é excluído por uma lista de permissões [`availableModels`](/docs/pt/model-config#restrict-model-selection) em configurações gerenciadas. Quando o modelo restringido foi definido com `--model`, `ANTHROPIC_MODEL` ou a configuração `model`, Claude Code substitui um modelo permitido e continua. Digitar `/model <name>` para um modelo restringido é rejeitado com `Run /model to choose a different model.` e a sessão mantém seu modelo atual. O aviso de substituição também pode aparecer no meio da sessão após um administrador desabilitar o modelo em que uma sessão está sendo executada no console de administração claude.ai.2448Seu administrador de organização desabilitou este modelo no console de administração claude.ai, ou configurações gerenciadas o excluem através de uma lista de permissões [`availableModels`](/docs/pt/model-config#restrict-model-selection) ou uma lista [`deniedModels`](/docs/pt/model-config#block-specific-models-or-versions). O aviso aparece na inicialização quando `--model`, `ANTHROPIC_MODEL` ou a configuração `model` nomeou o modelo restringido, e nomeia o modelo que a sessão usa em vez disso. Se as configurações gerenciadas não deixarem nenhum modelo permitido para a sessão usar, veja [Managed settings block the default model](#managed-settings-block-the-default-model). O aviso de substituição também pode aparecer no meio da sessão após um administrador desabilitar o modelo em que uma sessão está sendo executada no console de administração claude.ai.

2291 2449 

2292```text theme={null}2450```text theme={null}

2293Model "claude-opus-4-8" is restricted by your organization's settings. Using claude-sonnet-4-6 instead.2451Model "claude-opus-4-8" is restricted by your organization's settings. Using claude-sonnet-4-6 instead.

2294```2452```

2295 2453 

2454Digitar `/model <name>` para um modelo restringido é rejeitado e a sessão mantém seu modelo atual. Para um modelo desabilitado no console de administração, a rejeição lê `Model '<name>' is restricted by your organization's settings. Run /model to choose a different model.` Para um modelo que as configurações gerenciadas excluem, lê `Model '<name>' is not available. Your organization restricts model selection.`

2455 

2296Um aviso prefixado com um nome de agente, skill ou comando significa que a restrição se aplicou ao [modelo solicitado do suagente](/docs/pt/sub-agents#choose-a-model): o suagente é executado no modelo substituído e o modelo da sua sessão não é alterado. Antes da v2.1.223, Claude Code mostrava o aviso apenas para suagentes lançados com a ferramenta Agent.2456Um aviso prefixado com um nome de agente, skill ou comando significa que a restrição se aplicou ao [modelo solicitado do suagente](/docs/pt/sub-agents#choose-a-model): o suagente é executado no modelo substituído e o modelo da sua sessão não é alterado. Antes da v2.1.223, Claude Code mostrava o aviso apenas para suagentes lançados com a ferramenta Agent.

2297 2457 

2298Claude Code trata um alias de família de modelo, um de `opus`, `sonnet`, `haiku` ou `fable`, como uma solicitação para essa família em vez de sua versão mais nova. Na API Anthropic e em [Claude Platform on AWS](/docs/pt/claude-platform-on-aws), um alias de família restringido resolve para a versão mais nova da família que sua organização e a lista de permissões `availableModels` permitem, e o aviso de substituição nomeia essa versão. Claude Code rejeita `/model <alias>` apenas quando cada versão da família é restringida. Antes da v2.1.205, um alias de família era substituído ou rejeitado com base apenas em sua versão mais nova, mesmo quando uma versão mais antiga da mesma família era permitida.2458Claude Code trata um alias de família de modelo, um de `opus`, `sonnet`, `haiku` ou `fable`, como uma solicitação para essa família em vez de sua versão mais nova. Na API Anthropic e em [Claude Platform on AWS](/docs/pt/claude-platform-on-aws), um alias de família restringido resolve para a versão mais nova da família que sua organização permite, e o aviso de substituição nomeia essa versão. Claude Code rejeita `/model <alias>` apenas quando cada versão da família é restringida. Antes da v2.1.205, um alias de família era substituído ou rejeitado com base apenas em sua versão mais nova, mesmo quando uma versão mais antiga da mesma família era permitida.

2299 2459 

2300**O que fazer:**2460**O que fazer:**

2301 2461 


2354 2514 

2355**O que fazer:**2515**O que fazer:**

2356 2516 

2357* Execute `claude update` e reinicie Claude Code. Opus 4.7 precisa da v2.1.111 ou posterior. Opus 4.8 precisa da v2.1.154 ou posterior. Sonnet 5 precisa da v2.1.197 ou posterior. Opus 5 precisa da v2.1.219 ou posterior. Opus 5.5 precisa da v2.1.280 ou posterior2517* Execute `claude update` e reinicie Claude Code. Opus 4.7 precisa da v2.1.111 ou posterior. Opus 4.8 precisa da v2.1.154 ou posterior. Sonnet 5 precisa da v2.1.197 ou posterior. Opus 5 precisa da v2.1.219 ou posterior. Opus 5.5 precisa da v2.1.280 ou posterior. Sonnet 5.5 precisa da v2.1.284 ou posterior

2358* Se você não conseguir atualizar, execute `/model` e selecione Opus 4.6 ou Sonnet 4.6 em vez disso2518* Se você não conseguir atualizar, execute `/model` e selecione Opus 4.6 ou Sonnet 4.6 em vez disso

2359* Se você atingir isso no [Agent SDK](/docs/pt/agent-sdk/overview), atualize o pacote SDK em vez disso. Opus 4.8 precisa do SDK TypeScript v0.3.154 ou posterior e SDK Python v0.2.88 ou posterior. Sonnet 5 precisa do SDK TypeScript v0.3.197 ou posterior. Opus 5 precisa do SDK TypeScript v0.3.219 ou posterior. Opus 5.5 precisa do SDK TypeScript v0.3.280 ou posterior2519* Se você atingir isso no [Agent SDK](/docs/pt/agent-sdk/overview), atualize o pacote SDK em vez disso. Opus 4.8 precisa do SDK TypeScript v0.3.154 ou posterior e SDK Python v0.2.88 ou posterior. Sonnet 5 precisa do SDK TypeScript v0.3.197 ou posterior. Opus 5 precisa do SDK TypeScript v0.3.219 ou posterior. Opus 5.5 precisa do SDK TypeScript v0.3.280 ou posterior. Sonnet 5.5 precisa do SDK TypeScript v0.3.284 ou posterior

2360 2520 

2361<h3 id="effort-isnt-available-with-thinking-turned-off">2521<h3 id="effort-isnt-available-with-thinking-turned-off">

2362 Effort não está disponível com o pensamento desativado2522 Effort não está disponível com o pensamento desativado


2368API Error: Effort 'xhigh' isn't available with thinking turned off on this model · run /effort high to continue, or turn thinking back on (unset MAX_THINKING_TOKENS=0)2528API Error: Effort 'xhigh' isn't available with thinking turned off on this model · run /effort high to continue, or turn thinking back on (unset MAX_THINKING_TOKENS=0)

2369```2529```

2370 2530 

2531A dica após o `·` varia por sessão: em uma sessão não interativa lê `use --effort high (or the effortLevel setting)`, e em uma sessão que o aplicativo Claude Desktop executa lê `you can lower effort to High`.

2532 

2371**O que fazer:**2533**O que fazer:**

2372 2534 

2373* [Abaixe o nível de esforço](/docs/pt/model-config#set-the-effort-level) para `high` ou abaixo.2535* [Abaixe o nível de esforço](/docs/pt/model-config#set-the-effort-level) para `high` ou abaixo.


2413* Se você está usando Opus 4.7 ou Opus 4.8, execute `claude update` primeiro. Versões antes da v2.1.156 podem acionar esse erro durante o uso normal de ferramentas, e `/rewind` não o limpa.2575* Se você está usando Opus 4.7 ou Opus 4.8, execute `claude update` primeiro. Versões antes da v2.1.156 podem acionar esse erro durante o uso normal de ferramentas, e `/rewind` não o limpa.

2414* Execute `/rewind` ou pressione Esc duas vezes para voltar a um checkpoint antes da volta corrompida e continuar de lá. Veja [Checkpointing](/docs/pt/checkpointing) para como checkpoints são criados e restaurados.2576* Execute `/rewind` ou pressione Esc duas vezes para voltar a um checkpoint antes da volta corrompida e continuar de lá. Veja [Checkpointing](/docs/pt/checkpointing) para como checkpoints são criados e restaurados.

2415 2577 

2578<h3 id="invalid-data-in-redacted-thinking-block">

2579 Dados inválidos no bloco redacted\_thinking

2580</h3>

2581 

2582A API recusou a solicitação com um 400 porque não conseguiu aceitar um bloco `redacted_thinking` que uma volta anterior no histórico de conversa carrega.

2583 

2584```text theme={null}

2585API Error: 400 ... Invalid `data` in `redacted_thinking` block

2586```

2587 

2588Claude Code deixa o pensamento anterior da conversa fora da solicitação e tenta novamente uma vez, então a sessão continua sem mostrar o erro. Antes da v2.1.282, Claude Code mantinha o bloco recusado, e cada volta posterior falhava com o mesmo erro.

2589 

2590**O que fazer:**

2591 

2592* Se você está na v2.1.281 ou anterior e cada volta falha com esse erro, execute `claude update` e retome a sessão

2593* Se o erro persistir, execute `/clear` para iniciar uma conversa que não carrega o bloco

2594 

2416<h3 id="unsupported-tool-content-removed">2595<h3 id="unsupported-tool-content-removed">

2417 Conteúdo de ferramenta não suportado removido2596 Conteúdo de ferramenta não suportado removido

2418</h3>2597</h3>


2458A API recusou a solicitação com um 400 porque o histórico de conversa contém conteúdo de busca na web hospedado que ela não consegue descriptografar. A redação nomeia o campo que ela não consegue ler:2637A API recusou a solicitação com um 400 porque o histórico de conversa contém conteúdo de busca na web hospedado que ela não consegue descriptografar. A redação nomeia o campo que ela não consegue ler:

2459 2638 

2460```text theme={null}2639```text theme={null}

2461API Error: 400 messages.21.content.0: Invalid `encrypted_content` in `search_result` block2640API Error: 400 ... Invalid `encrypted_content` in `search_result` block

2462API Error: 400 messages.21.content.3.citations.0: Invalid `encrypted_index` in `text` block2641API Error: 400 ... Invalid `encrypted_index` in `text` block

2463API Error: 400 Failed to decrypt web search result content2642API Error: 400 ... Failed to decrypt web search result content

2643API Error: 400 ... Invalid `encrypted_stdout` in `encrypted_code_execution_result` block

2464```2644```

2465 2645 

2466Resultados da [ferramenta de busca na web](/docs/pt/tools-reference#websearch-tool-behavior) hospedada da API carregam campos criptografados que apenas a API pode ler. A API recusa uma solicitação que reproduz conteúdo que ela não consegue descriptografar, como conteúdo produzido para uma organização diferente.2646Resultados da ferramenta de [busca na web](/docs/pt/tools-reference#websearch-tool-behavior) hospedada da API carregam campos criptografados que apenas a API pode ler. A redação `encrypted_stdout` nomeia a saída de um programa de execução de código hospedado que leu tais resultados, que a API também criptografa. A API recusa uma solicitação que reproduz conteúdo que ela não consegue descriptografar, como conteúdo produzido para uma organização diferente.

2467 2647 

2468A própria ferramenta [WebSearch](/docs/pt/tools-reference#websearch-tool-behavior) do Claude Code registra resultados de busca como texto simples, então esses blocos geralmente chegam a uma conversa através de um proxy ou [gateway LLM](/docs/pt/llm-gateway) que executou busca na web hospedada em si.2648A própria ferramenta [WebSearch](/docs/pt/tools-reference#websearch-tool-behavior) do Claude Code registra resultados de busca como texto simples, então esses blocos geralmente chegam a uma conversa através de um proxy ou [gateway LLM](/docs/pt/llm-gateway) que executou busca na web hospedada em si.

2469 2649 

2470Os blocos recusados permanecem no histórico de conversa, então cada volta posterior e `/compact` falham da mesma forma.2650Para as três redações de busca na web, Claude Code deixa as chamadas de busca, resultados e citações fora do que envia e tenta novamente a solicitação uma vez, então a sessão continua sem mostrar o erro. A redação `encrypted_stdout` não tem tal recuperação, então essa mensagem ainda chega a você. Antes da v2.1.282, Claude Code mantinha os blocos de busca na web recusados também, e cada volta posterior e `/compact` falhavam da mesma forma.

2471 2651 

2472**O que fazer:**2652**O que fazer:**

2473 2653 

2474* Execute `/clear` ou inicie uma nova sessão; a nova conversa não carrega os blocos recusados2654* Se você está na v2.1.281 ou anterior e cada volta falha com uma das redações de busca na web, execute `claude update` e retome a sessão

2655* Se o erro persistir, ou a mensagem nomeia `encrypted_stdout`, execute `/rewind` para voltar a um checkpoint antes da volta que adicionou o conteúdo, ou execute `/clear` para iniciar uma conversa que não carrega

2475* Se você executa Claude Code atrás de um proxy ou gateway, relate o erro a quem o opera2656* Se você executa Claude Code atrás de um proxy ou gateway, relate o erro a quem o opera

2476 2657 

2477<h3 id="usage-policy-refusal">2658<h3 id="usage-policy-refusal">

2478 Recusa de Política de Uso2659 Recusa de Política de Uso

2479</h3>2660</h3>

2480 2661 

2481A API recusou responder porque conteúdo na conversa acionou uma verificação de [Política de Uso](https://www.anthropic.com/legal/aup). A mensagem inclui um ID de Solicitação que você pode citar para suporte se acreditar que a recusa está incorreta.2662A API recusou responder porque conteúdo na conversa acionou uma verificação de [Política de Uso](https://www.anthropic.com/legal/aup).

2663 

2664A mensagem inclui um ID de Solicitação e um ID de Mensagem que você pode citar para suporte se acreditar que a recusa está incorreta.

2482 2665 

2483```text theme={null}2666```text theme={null}

2484API Error: Opus 4.6 can't help with this. Start a new session to continue.2667API Error: Opus 4.6 can't help with this. Start a new session to continue.


2508API Error: Opus 4.8's safeguards flagged this message. Our intentionally broad safeguards allow us to deliver more capabilities faster, but can sometimes flag legitimate cybersecurity work. Apply to the Cyber Verification Program to reduce these interruptions. Send feedback with /feedback or learn more: https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude2691API Error: Opus 4.8's safeguards flagged this message. Our intentionally broad safeguards allow us to deliver more capabilities faster, but can sometimes flag legitimate cybersecurity work. Apply to the Cyber Verification Program to reduce these interruptions. Send feedback with /feedback or learn more: https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude

2509```2692```

2510 2693 

2511A 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, que requer v2.1.280 ou posterior, a mensagem abre com `Opus 5.5's safeguards flagged this session` em vez disso. Quando a categoria sinalizada tem um modelo de fallback disponível, Claude Code [alterna modelos](/docs/pt/model-config#automatic-model-fallback) em vez de mostrar esse erro.2694A 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 [alterna modelos](/docs/pt/model-config#automatic-model-fallback) em vez de mostrar esse erro.

2512 2695 

2513Em [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.2696Em [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.

2514 2697 


2594 Configuração inválida de --agents2777 Configuração inválida de --agents

2595</h3>2778</h3>

2596 2779 

2597O valor que você passou para `--agents` é inválido, então `claude` sai com código 1 em vez de iniciar a sessão. Quando você passa `--safe-mode`, `--resume` ou `--continue`, ou define [`CLAUDE_CODE_SAFE_MODE`](/docs/pt/env-vars#variables), Claude Code não verifica o valor e inicia a sessão. Antes da v2.1.242, Claude Code iniciava a sessão mesmo assim e deixava de fora as definições que não conseguia carregar.2780O valor que você passou para `--agents` é inválido, então `claude` sai com código 1 em vez de iniciar a sessão. Quando você passa `--safe-mode` ou define [`CLAUDE_CODE_SAFE_MODE`](/docs/pt/env-vars#variables), Claude Code ignora `--agents` completamente. Com `--resume` ou `--continue`, um valor JSON inline não é verificado e a sessão inicia; um valor lido de um arquivo é verificado a cada lançamento. Antes da v2.1.242, Claude Code iniciava a sessão mesmo assim e deixava de fora as definições que não conseguia carregar.

2598 2781 

2599```text theme={null}2782```text theme={null}

2600Error: Invalid --agents configuration:2783Error: Invalid --agents configuration:


2603 2786 

2604O que segue a primeira linha depende de como o valor falhou. Claude Code executa essas verificações em ordem e para na primeira que falha. Se seu valor tiver dois tipos de problema, você verá o segundo apenas depois de corrigir o primeiro:2787O que segue a primeira linha depende de como o valor falhou. Claude Code executa essas verificações em ordem e para na primeira que falha. Se seu valor tiver dois tipos de problema, você verá o segundo apenas depois de corrigir o primeiro:

2605 2788 

26061. Quando o valor não é analisado como JSON, Claude Code imprime uma linha `invalid JSON:` com a mensagem do próprio analisador JSON27891. Quando o valor começa com `{` mas não é analisado como JSON, ou o conteúdo de um arquivo `--agents` não é analisado, Claude Code imprime uma linha `invalid JSON:` com a mensagem do próprio analisador JSON

26072. Quando é analisado mas uma definição de agente não corresponde ao esquema para [subagentes definidos por CLI](/docs/pt/sub-agents#choose-the-subagent-scope), Claude Code imprime uma linha por problema27902. Quando é analisado mas uma definição de agente não corresponde ao esquema para [subagentes definidos por CLI](/docs/pt/sub-agents#choose-the-subagent-scope), Claude Code imprime uma linha por problema

26083. Quando um nome de agente começa com `-`, Claude Code imprime `<name>: agent names must not start with '-'`27913. Quando um nome de agente começa com `-`, Claude Code imprime `<name>: agent names must not start with '-'`

2609 2792 

2610Quando há mais de 20 linhas de problema, Claude Code imprime as primeiras 20 e substitui o resto por `…and N more`.2793Quando há mais de 20 linhas de problema, Claude Code imprime as primeiras 20 e substitui o resto por `…and N more`.

2611 2794 

2795Com `--print`, `--agents` também aceita [o caminho para um arquivo JSON](/docs/pt/sub-agents#choose-the-subagent-scope) no lugar do objeto inline. Antes da v2.1.281, `--agents` aceitava apenas JSON inline e tratava um caminho de arquivo como JSON inválido. O formulário de arquivo tem recusas próprias, impressas no lugar dessa mensagem, incluindo estas:

2796 

2797* **`Error: --agents takes a JSON object, or a file path only with --print (-p)`**: Claude Code leu o valor como um caminho de arquivo em uma sessão interativa. Passe as definições como JSON inline, ou adicione `-p` para lê-las de um arquivo.

2798* **`Error: --agents file not found: <path>`**: nenhum arquivo existe naquele caminho. Um valor que não começa com `{` e não é JSON válido é lido como um caminho, então JSON inline que seu shell danificou pode falhar dessa forma também. Verifique o caminho ou as aspas e execute o comando novamente.

2799 

2612**O que fazer:**2800**O que fazer:**

2613 2801 

2614* Corrija cada problema que a mensagem lista, depois execute o comando novamente. Veja [the fields a CLI-defined subagent takes](/docs/pt/sub-agents#choose-the-subagent-scope).2802* Corrija cada problema que a mensagem lista, depois execute o comando novamente. Veja [os campos que um subagente definido por CLI toma](/docs/pt/sub-agents#choose-the-subagent-scope).

2615 2803 

2616<h3 id="cloud-sessions-cannot-be-created-from-a-restricted-session">2804<h3 id="cloud-sessions-cannot-be-created-from-a-restricted-session">

2617 Sessões em nuvem não podem ser criadas a partir de uma sessão --restricted2805 Sessões em nuvem não podem ser criadas a partir de uma sessão --restricted


2756 Workspace não confiável ao iniciar Remote Control2944 Workspace não confiável ao iniciar Remote Control

2757</h3>2945</h3>

2758 2946 

2759Você iniciou o modo servidor [Remote Control](/docs/pt/remote-control) com `claude remote-control` ou seu alias `claude rc` em um diretório que você não confiou. O comando não mostra o diálogo de confiança do workspace em si, então sai com código 1 e nomeia a correção:2947Você iniciou o modo servidor [Remote Control](/docs/pt/remote-control) com `claude remote-control` ou seu alias `claude rc` em um diretório que você não confiou, e o comando não conseguiu perguntar se você confiaria nele. Esta mensagem aparece quando a entrada padrão ou saída padrão do comando não é um terminal, por exemplo porque uma delas é redirecionada ou canalizada. O comando sai com código 1:

2760 2948 

2761```text theme={null}2949```text theme={null}

2762Error: Workspace not trusted. Please run `claude` in /Users/you/project first to review and accept the workspace trust dialog.2950Error: Workspace not trusted. Please run `claude` in /Users/you/project first to review and accept the workspace trust dialog.

2763```2951```

2764 2952 

2953Duas variantes que também começam com `Error: Workspace not trusted.` aparecem em um terminal também muito pequeno para mostrar o que confiar no diretório ativa, ou um que não relatou seu tamanho. Amplie a janela ou mude para uma janela de terminal normal, depois execute `claude rc` novamente.

2954 

2765Em seu diretório inicial a mensagem é diferente, porque o diálogo de confiança do workspace nunca salva confiança para o diretório inicial, então aceitá-lo lá não pode satisfazer essa verificação. Antes da v2.1.214, o diretório inicial mostrava a mensagem acima, cujo conselho não pode ter sucesso lá.2955Em seu diretório inicial a mensagem é diferente, porque o diálogo de confiança do workspace nunca salva confiança para o diretório inicial, então aceitá-lo lá não pode satisfazer essa verificação. Antes da v2.1.214, o diretório inicial mostrava a mensagem acima, cujo conselho não pode ter sucesso lá.

2766 2956 

2767```text theme={null}2957```text theme={null}

2768Error: Workspace not trusted. /Users/you is your home directory, and for security home-directory trust is never saved, so running `claude` here first won't help. Run `claude rc` from a project directory instead (run `claude` there once to accept the trust dialog).2958Error: Workspace not trusted. /Users/you is your home directory, and for security home-directory trust is never saved, so running `claude` here first won't help. Run `claude rc` from a project directory instead (run `claude` there once to accept the trust dialog).

2769```2959```

2770 2960 

2961Se você responder `n` ou pressionar Enter na [pergunta `Trust <directory>?`](/docs/pt/remote-control#requirements), o comando imprime uma mensagem `Remote Control did not start` que nomeia o diretório e sai com código 1. Execute `claude rc` novamente para responder `y`.

2962 

2771**O que fazer:**2963**O que fazer:**

2772 2964 

2773* Execute `claude` no diretório, aceite o [diálogo de confiança do workspace](/docs/pt/permissions#project-allow-rules-and-workspace-trust), depois execute `claude remote-control` novamente2965* Confie no diretório a partir de um terminal primeiro: execute `claude rc` lá e responda `y`, ou execute `claude` lá e aceite o [diálogo de confiança do workspace](/docs/pt/permissions#project-allow-rules-and-workspace-trust), depois execute seu comando original novamente

2774* Em seu diretório inicial, mude para um diretório de projeto e inicie Remote Control lá2966* Em seu diretório inicial, mude para um diretório de projeto e inicie Remote Control lá

2775 2967 

2968Antes da v2.1.284, o comando nunca perguntava, mesmo em um terminal.

2969 

2776<h3 id="not-carried-over-to-the-sessions-remote-control-starts">2970<h3 id="not-carried-over-to-the-sessions-remote-control-starts">

2777 Não levado para as sessões que Remote Control inicia2971 Não levado para as sessões que Remote Control inicia

2778</h3>2972</h3>


3269* Para uma sessão interativa, abra o [seletor de sessão](/docs/pt/sessions#use-the-session-picker) com `claude --resume` e pressione `Ctrl+A` para ampliá-lo para cada projeto nesta máquina, depois selecione a sessão3463* Para uma sessão interativa, abra o [seletor de sessão](/docs/pt/sessions#use-the-session-picker) com `claude --resume` e pressione `Ctrl+A` para ampliá-lo para cada projeto nesta máquina, depois selecione a sessão

3270* Sessões criadas com `claude -p` ou o [Agent SDK](/docs/pt/agent-sdk/overview) não aparecem no seletor, então re-verifique o ID contra o `session_id` que sua execução original imprimiu3464* Sessões criadas com `claude -p` ou o [Agent SDK](/docs/pt/agent-sdk/overview) não aparecem no seletor, então re-verifique o ID contra o `session_id` que sua execução original imprimiu

3271 3465 

3466<h3 id="windows-reported-an-error-ebadf">

3467 Windows relatou um erro (EBADF) quando Claude Code leu o arquivo de transcrição desta sessão

3468</h3>

3469 

3470Você retomou uma sessão no Windows, seu arquivo de [transcrição](/docs/pt/sessions#where-transcripts-are-stored) salvo abriu normalmente, e a leitura dele então falhou com o erro do sistema EBADF. O erro do sistema não diz por que a leitura falhou, então a mensagem sugere causas prováveis e o que tentar:

3471 

3472```text theme={null}

3473Windows reported an error (EBADF) when Claude Code read this session's transcript file, although the file had opened normally. This can happen when other software intercepts file reads — security, encryption or endpoint-management tools, for example. If it keeps happening for this conversation, try excluding the folder that holds Claude Code's session transcripts from such software (the .claude folder in your user profile, unless the app or CLAUDE_CONFIG_DIR points Claude Code elsewhere), or adding Claude Code to its allowed applications, then resume again.

3474```

3475 

3476A mensagem segue a linha de falha própria do comando, como `Failed to resume session <session-id>`. Um comando `claude --resume` ou [`claude -p`](/docs/pt/headless) sai com código 1 após mostrar. Depois de `/resume` dentro de uma sessão, sua sessão atual continua em execução.

3477 

3478**O que fazer:**

3479 

3480* Exclua a pasta que contém suas transcrições de sessão de software que escaneia ou intercepta leituras de arquivo, como ferramentas de segurança, criptografia ou gerenciamento de endpoint. As transcrições vivem sob `%USERPROFILE%\.claude\projects` por padrão, ou sob o diretório que [`CLAUDE_CONFIG_DIR`](/docs/pt/env-vars) nomeia

3481* Se você não conseguir adicionar uma exclusão, adicione Claude Code às aplicações permitidas desse software em vez disso

3482* Retome a sessão novamente

3483 

3484Antes da v2.1.282, a falha veio sem explicação: `claude --resume <session-id>` terminou em `Failed to resume session <session-id>`, e uma execução `-p` imprimiu apenas o texto de erro do sistema, como `Failed to resume session: EBADF: bad file descriptor, read`.

3485 

3272<h3 id="cannot-switch-renderers-in-this-session">3486<h3 id="cannot-switch-renderers-in-this-session">

3273 Não é possível alternar renderizadores nesta sessão3487 Não é possível alternar renderizadores nesta sessão

3274</h3>3488</h3>


3452* Renomeie o marketplace para um nome que não soletra um nome reservado e adicione-o novamente3666* Renomeie o marketplace para um nome que não soletra um nome reservado e adicione-o novamente

3453* Para o aviso de entrada ignorada, execute o comando `claude plugin marketplace remove` que ele fornece, ou remova a entrada de `~/.claude/plugins/known_marketplaces.json`3667* Para o aviso de entrada ignorada, execute o comando `claude plugin marketplace remove` que ele fornece, ou remova a entrada de `~/.claude/plugins/known_marketplaces.json`

3454 3668 

3669<h3 id="claude-code-refuses-the-marketplace-name">

3670 Claude Code refuses the marketplace name

3671</h3>

3672 

3673Um marketplace registrado tem um nome que [se passa por um marketplace oficial da Anthropic](/docs/pt/plugins/marketplace-reference#reserved-names) sob as regras que essa seção lista.

3674 

3675Se um marketplace foi registrado sob tal nome antes da verificação bloqueá-lo, o marketplace e os plugins instalados a partir dele param de carregar, porque Claude Code verifica o nome toda vez que lê o catálogo do marketplace. Quando o nome imita um oficial, `claude plugin list` e a aba **Errors** do `/plugin` relatam cada plugin afetado com uma mensagem que começa:

3676 

3677```text theme={null}

3678Claude Code refuses the marketplace name "anthropic-plugins-v2"

3679```

3680 

3681Para um nome imitador, o próprio erro do marketplace lê `Claude Code refuses this marketplace's name: it looks like one of Anthropic's own` em vez disso. `claude plugin marketplace add` recusa qualquer nome que se passa por outro com `Marketplace name impersonates an official Anthropic/Claude marketplace`.

3682 

3683Antes da v2.1.282, `claude plugin list` e `/plugin` relatavam os plugins de um nome imitador como falhando ao carregar também, sem nomear o nome do marketplace como a causa.

3684 

3685**O que fazer:**

3686 

3687* Execute `claude plugin marketplace remove <name>`. Isso também desinstala os plugins instalados do marketplace e deleta seus dados salvos

3688* Para manter o marketplace em vez disso, aguarde até que seu mantenedor o renomeie, depois execute `claude plugin marketplace update <name>`

3689* Se você publica o marketplace, renomeie-o em seu `marketplace.json`; os usuários então atualizam o marketplace em vez de removê-lo

3690 

3455<h3 id="marketplace-is-already-added-from-a-different-source">3691<h3 id="marketplace-is-already-added-from-a-different-source">

3456 Marketplace is already added from a different source3692 Marketplace is already added from a different source

3457</h3>3693</h3>


3654 3890 

3655* Peça a um administrador de sua organização claude.ai para mudar o status obrigatório do plugin em claude.ai3891* Peça a um administrador de sua organização claude.ai para mudar o status obrigatório do plugin em claude.ai

3656 3892 

3893<h3 id="plugin-was-not-uninstalled">

3894 Plugin was not uninstalled

3895</h3>

3896 

3897Você executou [`claude plugin uninstall`](/docs/pt/plugins/cli-reference#plugin-uninstall), ou escolheu **Uninstall** na aba **Installed** do `/plugin`, e a desinstalação parou com uma mensagem começando `"<plugin>" was not uninstalled:`.

3898 

3899Quando Claude Code removeu a entrada do plugin de `enabledPlugins` e leu os arquivos de configurações desse escopo novamente, ou o plugin ainda estava ligado lá, ou um arquivo que poderia ligá-lo não conseguiu ser lido ou verificado. Deletar as opções salvas do plugin, segredos e dados enquanto uma entrada de configurações poderia ligá-lo novamente perderia tudo, então a desinstalação para em vez disso: o plugin permanece instalado e nada que ele salvou é deletado.

3900 

3901```text theme={null}

3902✘ Failed to uninstall plugin "formatter": "formatter" was not uninstalled: it is still switched on in /home/user/project/.claude/settings.local.json, although the settings change reported no error. It is still installed. Take it out of "enabledPlugins" in that file yourself, then uninstall it again.

3903```

3904 

3905O meio da mensagem nomeia o arquivo e a causa:

3906 

3907* `it is still switched on in <file>, although the settings change reported no error`: a escrita de configurações relatou sucesso mas a entrada ainda está lá quando o arquivo é lido novamente

3908* `it is still switched on in <file>, and the settings change failed (<error>)`: o arquivo não conseguiu ser salvo, pela razão entre parênteses

3909* `<file> is there and could not be read`: o arquivo existe mas não conseguiu ser lido como configurações, por exemplo porque não é JSON válido, então pode ainda ativar o plugin

3910* `<file> (not read: it is on a network path or is a link to one, or could not be checked)`: Claude Code não leu o arquivo de configurações do projeto ou local porque o arquivo, ou a pasta `.claude` que o contém, é um link que leva a um local de rede, ou porque não conseguiu examinar esse caminho

3911 

3912`claude plugin uninstall` sai com código 1, e com `--json` o resultado carrega `failureCode: "settings_still_on"`. `/plugin` mostra a mesma mensagem.

3913 

3914**O que fazer:**

3915 

3916* Siga a última frase da mensagem: repare ou substitua o arquivo de configurações que ela nomeia, ou remova a entrada do plugin de `enabledPlugins` naquele arquivo você mesmo, depois execute a desinstalação novamente

3917 

3657<h2 id="tool-errors">3918<h2 id="tool-errors">

3658 Erros de ferramentas3919 Erros de ferramentas

3659</h2>3920</h2>


3703* Se Claude deveria ser capaz de mudar o arquivo, remova ou estreite a regra de negação `Read` em `/permissions` ou em [settings](/docs/pt/settings-reference#permission-settings)3964* Se Claude deveria ser capaz de mudar o arquivo, remova ou estreite a regra de negação `Read` em `/permissions` ou em [settings](/docs/pt/settings-reference#permission-settings)

3704* Se o arquivo deve permanecer intocado, mantenha a regra e adicione uma regra de negação `Edit` para o mesmo caminho para bloquear a ferramenta NotebookEdit também3965* Se o arquivo deve permanecer intocado, mantenha a regra e adicione uma regra de negação `Edit` para o mesmo caminho para bloquear a ferramenta NotebookEdit também

3705 3966 

3967<h3 id="path-cannot-contain-null-bytes">

3968 Path cannot contain null bytes

3969</h3>

3970 

3971Uma chamada de ferramenta de arquivo teve seu argumento path ou pattern contendo um byte nulo, que sistemas de arquivos e ferramentas de pesquisa não podem aceitar. Read, Write, Edit, NotebookEdit, Glob, e Grep verificam isso, e a mensagem nomeia a ferramenta e o argumento:

3972 

3973```text theme={null}

3974Read file_path cannot contain null bytes (\0). Remove the null byte and try again.

3975```

3976 

3977A chamada de ferramenta falha, Claude vê o erro, e o turno continua.

3978 

3979**O que fazer:**

3980 

3981* Nada da sua parte: o erro é retornado ao Claude como o resultado da ferramenta, e a mensagem em si diz ao Claude para remover o byte nulo e tentar novamente

3982 

3983Antes da v2.1.281, um byte nulo em um caminho Read, Write, Edit, ou NotebookEdit terminava o turno inteiro com um erro nomeando `Path contains null bytes`, e a ferramenta nunca era executada.

3984 

3706<h3 id="subagent-type-is-required">3985<h3 id="subagent-type-is-required">

3707 subagent\_type é obrigatório3986 subagent\_type é obrigatório

3708</h3>3987</h3>


3883 4162 

3884* `its symlink resolution changed after permission was checked`: um symlink ao longo do caminho, ou em uma raiz de pesquisa Grep ou Glob, foi substituído entre a verificação de permissão e a operação. Em uma recusa de leitura, a frase entre parênteses nomeia qual comparação falhou.4163* `its symlink resolution changed after permission was checked`: um symlink ao longo do caminho, ou em uma raiz de pesquisa Grep ou Glob, foi substituído entre a verificação de permissão e a operação. Em uma recusa de leitura, a frase entre parênteses nomeia qual comparação falhou.

3885* `its parent-directory symlink resolution changed after permission was checked`: um diretório pelo qual o caminho de escrita passa não se resolve mais para o local aprovado4164* `its parent-directory symlink resolution changed after permission was checked`: um diretório pelo qual o caminho de escrita passa não se resolve mais para o local aprovado

4165* `where it leads on disk could not be determined (a link on the way could not be examined, or the links do not resolve)`: Claude Code não conseguiu seguir o caminho para um local final no disco, por exemplo porque symlinks nele formam um loop

3886* `it is a symbolic link. Write to the link's target path instead`: um link simbólico fica no local de escrita aprovado em si, por exemplo um `CLAUDE.md` que é um symlink para `AGENTS.md`; a mensagem direciona Claude para o alvo do link4166* `it is a symbolic link. Write to the link's target path instead`: um link simbólico fica no local de escrita aprovado em si, por exemplo um `CLAUDE.md` que é um symlink para `AGENTS.md`; a mensagem direciona Claude para o alvo do link

3887* `Refusing to write through symlink: <path>. Resolve the symlink and pass the real target path explicitly.`: a mesma condição capturada quando outro escritor abre o arquivo, como uma escrita para um `.mcp.json` symlinked4167* `Refusing to write through symlink: <path>. Resolve the symlink and pass the real target path explicitly.`: a mesma condição capturada quando outro escritor abre o arquivo, como uma escrita para um `.mcp.json` symlinked

3888* `Refusing to write into symlinked directory: <path>`: o diretório que mantém o arquivo é em si um link simbólico, por exemplo o diretório `.claude/` de um projeto vinculado a outro local4168* `Refusing to write into symlinked directory: <path>`: o diretório que mantém o arquivo é em si um link simbólico, por exemplo o diretório `.claude/` de um projeto vinculado a outro local


3901 4181 

3902Antes da v2.1.251, Claude Code verificava novamente a resolução de um caminho apenas para escritas de arquivo, então um link substituído após a verificação de permissão poderia redirecionar uma leitura ou pesquisa para um local diferente sem uma mensagem. Desses, apenas as recusas de escrita de diretório pai, através de symlink, e diretório symlinked aparecem em versões anteriores.4182Antes da v2.1.251, Claude Code verificava novamente a resolução de um caminho apenas para escritas de arquivo, então um link substituído após a verificação de permissão poderia redirecionar uma leitura ou pesquisa para um local diferente sem uma mensagem. Desses, apenas as recusas de escrita de diretório pai, através de symlink, e diretório symlinked aparecem em versões anteriores.

3903 4183 

4184Antes da v2.1.280, a recusa `where it leads on disk could not be determined` não aparecia.

4185 

3904<h3 id="task-output-swap-refused">4186<h3 id="task-output-swap-refused">

3905 Troca de saída de tarefa recusada4187 Troca de saída de tarefa recusada

3906</h3>4188</h3>


3926* Ou verifique o diretório do seu projeto sob o diretório temporário Claude Code, `/private/tmp/claude-501/-Users-you-my-project` na mensagem de exemplo. Se esse caminho é um link simbólico, ou um diretório que não deveria estar lá, remova o link ou diretório em si em vez do alvo do link, e reinicie Claude Code4208* Ou verifique o diretório do seu projeto sob o diretório temporário Claude Code, `/private/tmp/claude-501/-Users-you-my-project` na mensagem de exemplo. Se esse caminho é um link simbólico, ou um diretório que não deveria estar lá, remova o link ou diretório em si em vez do alvo do link, e reinicie Claude Code

3927* Se a recusa se repete, um processo está substituindo, vinculando, ou removendo entradas sob o diretório temporário Claude Code enquanto a sessão é executada. Defina [`CLAUDE_CODE_TMPDIR`](/docs/pt/env-vars) para um diretório que nada mais gerencia e reinicie4209* Se a recusa se repete, um processo está substituindo, vinculando, ou removendo entradas sob o diretório temporário Claude Code enquanto a sessão é executada. Defina [`CLAUDE_CODE_TMPDIR`](/docs/pt/env-vars) para um diretório que nada mais gerencia e reinicie

3928 4210 

4211<h3 id="disk-quota-or-temp-filesystem-is-full">

4212 Disco cheio ou sistema de arquivos temporário está cheio

4213</h3>

4214 

4215Claude Code salva a saída de cada comando Bash e PowerShell em um arquivo sob seu diretório temporário. Quando um comando sai com um código diferente de zero e nenhuma saída em tudo, Claude Code verifica se o sistema de arquivos que mantém esse arquivo está sem espaço ou inodes, ou se sua cota de disco nele está usada. Se assim for, um diagnóstico aparece no resultado do comando no lugar da saída vazia:

4216 

4217```text wrap theme={null}

4218Your disk quota is full on the filesystem with Claude Code's temp directory /private/tmp/claude-501/-Users-you-my-project/1f0e62dc-4b0a-4f5e-9c2d-8a7b6c5d4e3f/tasks (EDQUOT), so any output this command printed was lost, and it may have failed because it could not write. Delete files you no longer need there, or restart Claude Code with CLAUDE_CODE_TMPDIR set to a directory on another filesystem.

4219```

4220 

4221A mensagem nomeia o que ficou sem espaço:

4222 

4223* `Your disk quota is full ... (EDQUOT)`: sua própria cota nesse sistema de arquivos está usada. Uma cota pode estar cheia enquanto o sistema de arquivos ainda mostra espaço livre

4224* `The filesystem with Claude Code's temp directory ..., or your disk quota on it, is full (ENOSPC)`: o sistema de arquivos, ou sua cota nele, não tem espaço deixado

4225* `Command output was lost: the temp filesystem at ... is full` ou `... is out of inodes`: o sistema de arquivos tem quase nenhum espaço livre deixado, ou está ficando sem inodes

4226 

4227**O que fazer:**

4228 

4229* Delete arquivos que você não precisa mais no sistema de arquivos que mantém o diretório temporário Claude Code. Para `EDQUOT`, delete arquivos que contam contra sua própria cota. Para `out of inodes`, delete muitos arquivos em vez de alguns grandes, já que cada arquivo leva um inode qualquer que seja seu tamanho

4230* Ou reinicie Claude Code com [`CLAUDE_CODE_TMPDIR`](/docs/pt/env-vars) definido para um diretório em um sistema de arquivos com espaço

4231* Então tenha Claude executar o comando novamente. A saída que ele imprimiu foi perdida, não truncada

4232 

3929<h3 id="the-source-file-is-not-valid-utf-8-text">4233<h3 id="the-source-file-is-not-valid-utf-8-text">

3930 O arquivo de origem não é texto UTF-8 válido4234 O arquivo de origem não é texto UTF-8 válido

3931</h3>4235</h3>


4341 Diretório de trabalho não existe mais ao iniciar uma sessão em background4645 Diretório de trabalho não existe mais ao iniciar uma sessão em background

4342</h3>4646</h3>

4343 4647 

4344Você tentou iniciar uma [sessão em background](/docs/pt/agent-view) em um diretório que não existe mais. Isso acontece quando você despacha da agent view ou executa `/background` após o diretório em que você estava trabalhando ser deletado ou movido. Também acontece quando você conecta a ou reinicia uma sessão cujo processo saiu e cujo diretório se foi, porque o novo processo iniciaria naquele mesmo diretório. Claude Code não inicia a sessão, e a mensagem nomeia o diretório faltante:4648Você tentou iniciar uma [sessão em background](/docs/pt/agent-view) em um diretório que não existe mais. Claude Code não inicia a sessão, e a mensagem nomeia o diretório faltante:

4345 4649 

4346```text theme={null}4650```text theme={null}

4347Couldn't start a background session (working directory no longer exists or is not accessible: /tmp/demo)4651Couldn't start a background session (working directory no longer exists or is not accessible: /tmp/demo)


4353 4657 

4354* Recrie o diretório que a mensagem nomeia, ou despache de um diretório que existe, depois tente novamente4658* Recrie o diretório que a mensagem nomeia, ou despache de um diretório que existe, depois tente novamente

4355 4659 

4660<h3 id="workspace-not-trusted-when-dispatching-a-background-session">

4661 Workspace não confiável ao despachar uma sessão em background

4662</h3>

4663 

4664Você iniciou ou reiniciou uma [sessão em background](/docs/pt/agent-view) em um diretório que você não [confiou](/docs/pt/permissions#project-allow-rules-and-workspace-trust), e o diálogo de confiança de workspace não conseguiu aparecer para perguntar. Claude Code não inicia a sessão:

4665 

4666```text theme={null}

4667Workspace not trusted. Run `claude` in /path/to/project once and accept the trust prompt, then retry.

4668```

4669 

4670De um terminal no diretório da sessão própria, o mesmo comando mostra o diálogo de confiança em vez disso e inicia a sessão uma vez que você aceita. Esta mensagem aparece onde nenhum diálogo pode, como em um script, ou quando você reinicia uma sessão de um diretório diferente do seu próprio.

4671 

4672Duas variantes nomeiam uma causa diferente:

4673 

4674* **`The home directory is trusted one session at a time`**: o diretório da sessão é seu diretório home. Claude Code nunca salva confiança para o diretório home, portanto aceitar o diálogo lá em uma sessão anterior não conta.

4675* **`<path> could not be resolved on disk`**: Claude Code não conseguiu encontrar o diretório da sessão no disco.

4676 

4677**O que fazer:**

4678 

4679* Execute `claude` no diretório que a mensagem nomeia e aceite o diálogo de confiança, depois execute o comando novamente

4680* Para a mensagem de diretório home, execute o comando de um terminal no seu diretório home para que o diálogo possa aparecer, ou inicie a sessão de um diretório de projeto em vez disso

4681* Para a mensagem `could not be resolved on disk`, recrie o diretório, ou inicie uma nova sessão de um diretório que existe

4682 

4356<h2 id="wrapper-and-ide-errors">4683<h2 id="wrapper-and-ide-errors">

4357 Erros de wrapper e IDE4684 Erros de wrapper e IDE

4358</h2>4685</h2>


4585* Encurte o frontmatter `description` de seus arquivos de agente, ou peça a Claude para aparar para você.4912* Encurte o frontmatter `description` de seus arquivos de agente, ou peça a Claude para aparar para você.

4586* Remova arquivos de agente que você não usa mais.4913* Remova arquivos de agente que você não usa mais.

4587 4914 

4915<h3 id="a-skill-command-or-workflow-wasnt-loaded-because-its-name-is-reserved">

4916 Uma skill, comando ou workflow não foi carregado porque seu nome é reservado

4917</h3>

4918 

4919Uma pasta de skill, um frontmatter `name`, um arquivo ou subpasta em `.claude/commands/`, ou um [workflow salvo](/docs/pt/workflows#save-the-workflow-for-reuse) usa o nome `anthropic-skills` ou um nome que começa com `anthropic-skills:`. Claude Code [reserva esse nome para skills sincronizadas de claude.ai](/docs/pt/skills#names-reserved-for-synced-skills) e não carrega esse item.

4920 

4921Claude Code mostra este aviso como um aviso de inicialização na visualização de conversa em vez de em stderr:

4922 

4923```text theme={null}

4924Not loaded: rename .claude/skills/anthropic-skills, then restart — its name uses "anthropic-skills", a name reserved for the skills synced from your claude.ai account

4925```

4926 

4927O aviso nomeia o que mudar para o primeiro item que recusou: uma pasta ou arquivo para renomear, uma linha `name:` para editar, ou um workflow para renomear. Quando mais de um item foi recusado, o aviso termina com uma contagem como `· 2 more`, e o [log de depuração](/docs/pt/debug-your-config) nomeia cada um.

4928 

4929**O que fazer:**

4930 

4931* Renomeie o item que o aviso nomeia, ou edite a linha `name:` para a qual aponta, depois reinicie a sessão.

4932 

4933Antes da v2.1.282, Claude Code carregava skills e comandos com esses nomes.

4934 

4588<h3 id="workspace-has-not-been-trusted">4935<h3 id="workspace-has-not-been-trusted">

4589 O espaço de trabalho não foi confiável4936 O espaço de trabalho não foi confiável

4590</h3>4937</h3>


4631 Falha ao carregar configurações gerenciadas remotamente4978 Falha ao carregar configurações gerenciadas remotamente

4632</h3>4979</h3>

4633 4980 

4634Sua sessão é elegível para [configurações gerenciadas pelo servidor](/docs/pt/server-managed-settings), mas Claude Code não conseguiu buscá-las, então mostra este aviso em sessões interativas. A causa entre parênteses nomeia o que falhou, como `network error`, `request timed out` ou `authentication rejected (401)`, e o resto da linha diz qual política a sessão executa:4981Sua sessão é elegível para [configurações gerenciadas pelo servidor](/docs/pt/server-managed-settings), mas Claude Code não conseguiu buscá-las ou não conseguiu aplicar o que o servidor retornou, então mostra este aviso em sessões interativas.

4982 

4983A causa entre parênteses nomeia o que falhou, como `network error`, `request timed out` ou `authentication rejected (401)`. A causa `no setting in the server response could be applied as written` significa que o servidor respondeu mas nenhuma das configurações que retornou passou na [validação](/docs/pt/server-managed-settings#invalid-entries-in-delivered-settings). Antes da v2.1.282, esta causa lia `server returned invalid settings`.

4984 

4985O resto da linha diz qual política a sessão executa:

4635 4986 

4636* **Configurações em cache de uma busca anterior bem-sucedida**: Claude Code executa a sessão nessa política em cache, exceto as [variáveis de ambiente retidas](/docs/pt/server-managed-settings#fetch-and-caching-behavior), e a linha lê `using cached policy`.4987* **Configurações em cache de uma busca anterior bem-sucedida**: Claude Code executa a sessão nessa política em cache, exceto as [variáveis de ambiente retidas](/docs/pt/server-managed-settings#fetch-and-caching-behavior), e a linha lê `using cached policy`.

4637* **Sem cache**: Claude Code executa a sessão sem configurações gerenciadas pelo servidor, e a linha lê `no remote policy applied`.4988* **Sem cache**: Claude Code executa a sessão sem configurações gerenciadas pelo servidor, e a linha lê `no remote policy applied`.


4639**O que fazer:**4990**O que fazer:**

4640 4991 

4641* Aja sobre a causa que a mensagem nomeia: para uma causa de rede, verifique se esta máquina pode alcançar `api.anthropic.com`; para uma causa de autenticação, verifique seu login com `/status`4992* Aja sobre a causa que a mensagem nomeia: para uma causa de rede, verifique se esta máquina pode alcançar `api.anthropic.com`; para uma causa de autenticação, verifique seu login com `/status`

4993* Para `no setting in the server response could be applied as written`, peça ao seu administrador para corrigir as configurações no servidor

4642* Execute `/status` ou `claude doctor` para o diagnóstico completo4994* Execute `/status` ou `claude doctor` para o diagnóstico completo

4643 4995 

4644Antes da v2.1.248, Claude Code relatava uma busca de configurações falhada apenas no log de depuração.4996Antes da v2.1.248, Claude Code relatava uma busca de configurações falhada apenas no log de depuração.


4658* Inicie Claude Code novamente e aprove a caixa de diálogo para continuar sob as configurações de sua organização. Uma caixa de diálogo recusada não é lembrada, então aparece novamente na próxima inicialização.5010* Inicie Claude Code novamente e aprove a caixa de diálogo para continuar sob as configurações de sua organização. Uma caixa de diálogo recusada não é lembrada, então aparece novamente na próxima inicialização.

4659* Se você não tiver certeza sobre uma configuração que a caixa de diálogo lista, pergunte a quem mantém as configurações gerenciadas de sua organização antes de aprovar5011* Se você não tiver certeza sobre uma configuração que a caixa de diálogo lista, pergunte a quem mantém as configurações gerenciadas de sua organização antes de aprovar

4660 5012 

5013<h3 id="managed-settings-block-the-default-model">

5014 As configurações gerenciadas bloqueiam o modelo padrão

5015</h3>

5016 

5017As [configurações gerenciadas](/docs/pt/managed-settings) de sua organização bloqueiam o modelo para o qual a opção Padrão se resolve e cada modelo para o qual poderia fazer downgrade. Uma sessão que começaria na opção Padrão sai na inicialização em vez de executar um modelo bloqueado. Qual mensagem você vê depende da configuração que o bloqueia. Quando uma lista [`deniedModels`](/docs/pt/model-config#block-specific-models-or-versions) o bloqueia, a mensagem lê:

5018 

5019```text theme={null}

5020Claude Code can't start: your organization's managed settings block the default model (claude-opus-5-5) in "deniedModels", and none of the models they allow can be used as the default instead. Ask your administrator to update "deniedModels" or "availableModels".

5021```

5022 

5023Quando uma lista `availableModels` com [`availableModelsMatch`](/docs/pt/settings-reference#availablemodelsmatch) definido como `"exact"` a omite, a mensagem lê:

5024 

5025```text theme={null}

5026Claude Code can't start: your organization allows only the models listed in "availableModels", and none of them can be used as the default model (claude-opus-5-5 isn't listed). Ask your administrator to update "availableModels".

5027```

5028 

5029**O que fazer:**

5030 

5031* Se você administra as configurações, adicione um modelo que seus usuários possam executar a `availableModels`, ou estreite as entradas `deniedModels` que bloqueiam cada fallback. [Bloquear modelos ou versões específicas](/docs/pt/model-config#block-specific-models-or-versions) descreve como a opção Padrão faz downgrade

5032* Se você não as administra, envie a mensagem ao seu administrador. Seus próprios arquivos de configurações não podem ampliar uma lista `availableModels` ou `deniedModels` gerenciada

5033 

4661<h3 id="mcp-server-is-blocked-by-enterprise-managed-policy">5034<h3 id="mcp-server-is-blocked-by-enterprise-managed-policy">

4662 O servidor MCP é bloqueado pela política gerenciada da empresa5035 O servidor MCP é bloqueado pela política gerenciada da empresa

4663</h3>5036</h3>


4927 5300 

4928* Um [`--fallback-model`](/docs/pt/cli-reference#cli-flags) configurado assume o controle após um erro de disponibilidade, apenas para esse turno, com um aviso na transcrição5301* Um [`--fallback-model`](/docs/pt/cli-reference#cli-flags) configurado assume o controle após um erro de disponibilidade, apenas para esse turno, com um aviso na transcrição

4929* Uma verificação de inicialização do Amazon Bedrock ou da Agent Platform do Google Cloud encontra seu modelo padrão indisponível5302* Uma verificação de inicialização do Amazon Bedrock ou da Agent Platform do Google Cloud encontra seu modelo padrão indisponível

4930* [Fallback automático de modelo](/docs/pt/model-config#automatic-model-fallback) no Fable 5.1, Fable 5, Opus 5.5 e Opus 5 move a sessão para o modelo de fallback da categoria sinalizada, quando essa categoria tem um, e mostra um aviso na transcrição5303* [Fallback automático de modelo](/docs/pt/model-config#automatic-model-fallback) no Fable 5.1, Fable 5, Opus 5.5, Sonnet 5.5 e Opus 5 move a sessão para o modelo de fallback da categoria sinalizada, quando essa categoria tem um, e mostra um aviso na transcrição

4931 5304 

4932A verificação de seleção de modelo abaixo captura o segundo e terceiro casos; o primeiro aparece como um aviso de transcrição em vez de uma mudança de `/model`. [Configuração de modelo](/docs/pt/model-config) explica quando cada fallback se aplica.5305A verificação de seleção de modelo abaixo captura o segundo e terceiro casos; o primeiro aparece como um aviso de transcrição em vez de uma mudança de `/model`. [Configuração de modelo](/docs/pt/model-config) explica quando cada fallback se aplica.

4933 5306 

Details

219</table>219</table>

220 220 

221<span id="fn1" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>1</sup> No Google Cloud's Agent Platform, web search está disponível para modelos Claude 4 e posteriores.<br />221<span id="fn1" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>1</sup> No Google Cloud's Agent Platform, web search está disponível para modelos Claude 4 e posteriores.<br />

222<span id="fn2" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>2</sup> Nesses provedores, auto mode suporta apenas Claude Sonnet 5, Opus 4.7 ou posterior e os modelos Fable. Consulte [Configuração de Auto mode](/docs/pt/auto-mode-config). O modo de permissão inicial integrado nesses provedores é Manual. Consulte [qual modo uma sessão inicia](/docs/pt/permission-modes#which-mode-a-session-starts-in). Na v2.1.158 até v2.1.206, auto mode nesses provedores também exigia definir `CLAUDE_CODE_ENABLE_AUTO_MODE=1`; v2.1.207 removeu o requisito.<br />222<span id="fn2" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>2</sup> Nesses provedores, auto mode suporta apenas Claude Sonnet 5 ou posterior, Opus 4.7 ou posterior e os modelos Fable. Consulte [Configuração de Auto mode](/docs/pt/auto-mode-config). Para o modo de permissão em que uma sessão nesses provedores inicia, consulte [Qual modo uma sessão inicia](/docs/pt/permission-modes#which-mode-a-session-starts-in). Na v2.1.158 até v2.1.206, auto mode nesses provedores também exigia definir `CLAUDE_CODE_ENABLE_AUTO_MODE=1`; v2.1.207 removeu o requisito.<br />

223<span id="fn3" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>3</sup> Sujeito ao seu acordo com o provedor de nuvem.<br />223<span id="fn3" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>3</sup> Sujeito ao seu acordo com o provedor de nuvem.<br />

224<span id="fn4" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>4</sup> Dashboard e API apenas. [Contribution metrics](/docs/pt/analytics#enable-contribution-metrics) requer uma organização Claude.ai Team ou Enterprise.<br />224<span id="fn4" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>4</sup> Dashboard e API apenas. [Contribution metrics](/docs/pt/analytics#enable-contribution-metrics) requer uma organização Claude.ai Team ou Enterprise.<br />

225<span id="fn5" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>5</sup> Requer Claude Code v2.1.224 ou posterior em macOS e Linux, incluindo Linux dentro do WSL 2. No Windows nativo, requer Claude Code v2.1.234 ou posterior. Com autenticação de chave de API, mensagens são apenas na mesma máquina. No Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform e Microsoft Foundry, mensagens são apenas na mesma máquina e requerem Claude Code v2.1.248 ou posterior. Claude pode encontrar suas [sessões em nuvem](/docs/pt/claude-code-on-the-web) e suas sessões em outras máquinas apenas a partir de uma sessão que está conectada ao [Remote Control](/docs/pt/remote-control). Para conectar, você precisa de um login claude.ai e dos outros [requisitos do Remote Control](/docs/pt/remote-control#requirements). Consulte [Mensagens em sessões em outras máquinas](/docs/pt/cross-session-messaging#message-sessions-on-other-machines).225<span id="fn5" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>5</sup> Requer Claude Code v2.1.224 ou posterior em macOS e Linux, incluindo Linux dentro do WSL 2. No Windows nativo, requer Claude Code v2.1.234 ou posterior. Com autenticação de chave de API, mensagens são apenas na mesma máquina. No Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform e Microsoft Foundry, mensagens são apenas na mesma máquina e requerem Claude Code v2.1.248 ou posterior. Claude pode encontrar suas [sessões em nuvem](/docs/pt/claude-code-on-the-web) e suas sessões em outras máquinas apenas a partir de uma sessão que está conectada ao [Remote Control](/docs/pt/remote-control). Para conectar, você precisa de um login claude.ai e dos outros [requisitos do Remote Control](/docs/pt/remote-control#requirements). Consulte [Mensagens em sessões em outras máquinas](/docs/pt/cross-session-messaging#message-sessions-on-other-machines).


243 **Suporte parcial:**243 **Suporte parcial:**

244 244 

245 * [Desktop](/docs/pt/desktop): apenas via [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview)245 * [Desktop](/docs/pt/desktop): apenas via [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview)

246 * [Auto mode](/docs/pt/auto-mode-config): Sonnet 5, Opus 4.7 ou posterior e modelos Fable apenas246 * [Auto mode](/docs/pt/auto-mode-config): Sonnet 5 ou posterior, Opus 4.7 ou posterior e modelos Fable apenas

247 * [Mensagens entre sessões](/docs/pt/cross-session-messaging): entre suas sessões nesta máquina apenas <sup><a href="#fn5">5</a></sup>247 * [Mensagens entre sessões](/docs/pt/cross-session-messaging): entre suas sessões nesta máquina apenas <sup><a href="#fn5">5</a></sup>

248 * [Zero Data Retention](/docs/pt/zero-data-retention): sujeito ao seu acordo AWS248 * [Zero Data Retention](/docs/pt/zero-data-retention): sujeito ao seu acordo AWS

249 249 


269 269 

270 * [Desktop](/docs/pt/desktop): via [configurações gerenciadas](https://claude.com/docs/third-party/claude-desktop/configuration) ou [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview)270 * [Desktop](/docs/pt/desktop): via [configurações gerenciadas](https://claude.com/docs/third-party/claude-desktop/configuration) ou [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview)

271 * [Web search](/docs/pt/tools-reference#websearch-tool-behavior): modelos Claude 4 e posteriores271 * [Web search](/docs/pt/tools-reference#websearch-tool-behavior): modelos Claude 4 e posteriores

272 * [Auto mode](/docs/pt/auto-mode-config): Sonnet 5, Opus 4.7 ou posterior e modelos Fable apenas272 * [Auto mode](/docs/pt/auto-mode-config): Sonnet 5 ou posterior, Opus 4.7 ou posterior e modelos Fable apenas

273 * [Mensagens entre sessões](/docs/pt/cross-session-messaging): entre suas sessões nesta máquina apenas <sup><a href="#fn5">5</a></sup>273 * [Mensagens entre sessões](/docs/pt/cross-session-messaging): entre suas sessões nesta máquina apenas <sup><a href="#fn5">5</a></sup>

274 * [Zero Data Retention](/docs/pt/zero-data-retention): sujeito ao seu acordo Google Cloud274 * [Zero Data Retention](/docs/pt/zero-data-retention): sujeito ao seu acordo Google Cloud

275 275 


283 283 

284 * [Desktop](/docs/pt/desktop): apenas via [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview)284 * [Desktop](/docs/pt/desktop): apenas via [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview)

285 * [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) apenas285 * [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

286 * [Auto mode](/docs/pt/auto-mode-config): Sonnet 5, Opus 4.7 ou posterior e modelos Fable apenas286 * [Auto mode](/docs/pt/auto-mode-config): Sonnet 5 ou posterior, Opus 4.7 ou posterior e modelos Fable apenas

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

288 * [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

289 289 

fullscreen.md +3 −1

Details

104* **Click an option in a multi-select menu** to toggle it, and click the submit button to confirm your choices. Clicking a free-text row, such as the `Other` row in a multiple-choice question, focuses its input field so you can type an answer. Requires Claude Code v2.1.208 or later.104* **Click an option in a multi-select menu** to toggle it, and click the submit button to confirm your choices. Clicking a free-text row, such as the `Other` row in a multiple-choice question, focuses its input field so you can type an answer. Requires Claude Code v2.1.208 or later.

105* **Click a setting's value in the `/config` panel** to change it, and scroll the settings list with the mouse wheel. Requires Claude Code v2.1.271 or later.105* **Click a setting's value in the `/config` panel** to change it, and scroll the settings list with the mouse wheel. Requires Claude Code v2.1.271 or later.

106* **Scroll a select or multi-select menu with the mouse wheel** when it has more options than it shows at once, such as the `/model` list in a short terminal window. The wheel scrolls the list while the pointer is over its options. Requires Claude Code v2.1.280 or later.106* **Scroll a select or multi-select menu with the mouse wheel** when it has more options than it shows at once, such as the `/model` list in a short terminal window. The wheel scrolls the list while the pointer is over its options. Requires Claude Code v2.1.280 or later.

107* **Scroll an overflowing list with its scrollbar.** In list panels such as `/skills`, `/mcp`, and `/plugin`'s Installed list, a scrollbar appears beside a list with more rows than fit while the pointer is over it. Click the track to jump to that point, or drag the thumb. Requires Claude Code v2.1.281 or later.

107* **Click a collapsed tool result** to expand it and see the full output. Click again to collapse. The tool call and its result expand together. Only messages that have more to show are clickable.108* **Click a collapsed tool result** to expand it and see the full output. Click again to collapse. The tool call and its result expand together. Only messages that have more to show are clickable.

108 * Clicking also expands the output of a `!` shell command, whether an older truncated result or the live progress row while the command runs. Requires Claude Code v2.1.257 or later.109 * Clicking also expands the output of a `!` shell command, whether an older truncated result or the live progress row while the command runs. Requires Claude Code v2.1.257 or later.

110 * Clicking also expands a dim `Message from @<sender>` line when the sender is a [teammate](/docs/pt/agent-teams) or another agent running in your session. The line for a message from [one of your other sessions](/docs/pt/cross-session-messaging#what-a-message-looks-like) also shows the message's first line and isn't clickable, so press `Ctrl+o` to read that one.

109* **Hold `Cmd` on macOS, or `Ctrl` on Linux and Windows, and click a URL or file path** to open it. Plain `http://` and `https://` URLs open in your browser, and file paths in tool output, like the ones printed after an Edit or Write, open in your default application. A plain click without the modifier doesn't open links, matching native terminal behavior.111* **Hold `Cmd` on macOS, or `Ctrl` on Linux and Windows, and click a URL or file path** to open it. Plain `http://` and `https://` URLs open in your browser, and file paths in tool output, like the ones printed after an Edit or Write, open in your default application. A plain click without the modifier doesn't open links, matching native terminal behavior.

110 * Claude Code renders a network (UNC) path, such as `\\server\share\file.ts`, as plain text with no link, because opening a network path can send your Windows credentials to the host it names.112 * Claude Code renders a network (UNC) path, such as `\\server\share\file.ts`, as plain text with no link, because opening a network path can send your Windows credentials to the host it names.

111 * Some macOS terminals forward `Cmd`+click to the running app instead of opening the link themselves, and the terminal mouse protocol has no way to encode the `Cmd` key, so Claude Code receives a plain click. In Ghostty, and in Warp on macOS, Claude Code detects this and lets a plain click on a link open it, and holding `Cmd` still works.113 * Some macOS terminals forward `Cmd`+click to the running app instead of opening the link themselves, and the terminal mouse protocol has no way to encode the `Cmd` key, so Claude Code receives a plain click. In Ghostty, and in Warp on macOS, Claude Code detects this and lets a plain click on a link open it, and holding `Cmd` still works.


290CLAUDE_CODE_NO_FLICKER=1 CLAUDE_CODE_DISABLE_MOUSE=1 claude292CLAUDE_CODE_NO_FLICKER=1 CLAUDE_CODE_DISABLE_MOUSE=1 claude

291```293```

292 294 

293Com a captura de mouse desativada, a rolagem por teclado com `PgUp`, `PgDn`, `Ctrl+Home` e `Ctrl+End` ainda funciona, e seu terminal lida com a seleção nativamente. Você perde clique para posicionar o cursor, clique para expandir a saída da ferramenta, clique em URL e rolagem de roda dentro do Claude Code.295Com a captura de mouse desativada, a rolagem por teclado com `PgUp`, `PgDn`, `Ctrl+Home` e `Ctrl+End` ainda funciona, e seu terminal lida com a seleção nativamente. Você perde clique para posicionar o cursor, clique para expandir, clique em URL e rolagem de roda dentro do Claude Code.

294 296 

295Para manter a rolagem de roda mas desativar o clique, arrasto e manipulação de hover, defina `CLAUDE_CODE_DISABLE_MOUSE_CLICKS=1`. Requer Claude Code v2.1.195 ou posterior. `CLAUDE_CODE_DISABLE_MOUSE` tem precedência quando ambas as variáveis estão definidas.297Para manter a rolagem de roda mas desativar o clique, arrasto e manipulação de hover, defina `CLAUDE_CODE_DISABLE_MOUSE_CLICKS=1`. Requer Claude Code v2.1.195 ou posterior. `CLAUDE_CODE_DISABLE_MOUSE` tem precedência quando ambas as variáveis estão definidas.

296 298 

Details

252 Falha ao iniciar a sessão com `Unable to get organization UUID`252 Falha ao iniciar a sessão com `Unable to get organization UUID`

253</h3>253</h3>

254 254 

255As sessões web exigem uma organização Team ou Enterprise. Faça login com `/login` usando sua conta de organização. Se você se autenticar com uma chave API em vez disso, as sessões web falham mais cedo com uma mensagem pedindo que você execute `/login`.255Faça login com `/login` usando sua conta de organização. Se você se autenticar com uma chave API em vez disso, as sessões web falham mais cedo com uma mensagem pedindo que você execute `/login`.

256 256 

257<h2 id="related-resources">257<h2 id="related-resources">

258 Recursos relacionados258 Recursos relacionados

glossary.md +28 −1

Details

72 Auto mode72 Auto mode

73</h3>73</h3>

74 74 

75Um [permission mode](#permission-mode) onde um modelo classificador separado revisa ações em vez de você, para que Claude Code execute a maioria delas sem solicitar você. Claude Code ainda solicita você antes de ações que suas regras de solicitação explícita correspondem. Nos planos Pro, Max e Team, auto mode é o [built-in starting permission mode](/docs/pt/permission-modes#which-mode-a-session-starts-in) para sessões interativas de terminal e VS Code. O classificador bloqueia escalação de escopo, infraestrutura não confiável e [prompt injection](#prompt-injection). Os resultados de tool são removidos do que ele vê, para que conteúdo hostil em um arquivo ou página web não possa manipulá-lo diretamente.75Um [permission mode](#permission-mode) onde um modelo classificador separado revisa ações em vez de você, para que Claude Code execute a maioria delas sem solicitar você. Claude Code ainda solicita você antes de ações que suas regras de solicitação explícita correspondem. Com Claude Code v2.1.283 ou posterior, auto mode é o [built-in starting permission mode](/docs/pt/permission-modes#which-mode-a-session-starts-in) para sessões interativas de terminal e VS Code, e em versões anteriores apenas em planos Pro, Max e Team. O classificador bloqueia escalação de escopo, infraestrutura não confiável e [prompt injection](#prompt-injection). Os resultados de tool são removidos do que ele vê, para que conteúdo hostil em um arquivo ou página web não possa manipulá-lo diretamente.

76 76 

77Saiba mais: [Eliminate prompts with auto mode](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode)77Saiba mais: [Eliminate prompts with auto mode](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode)

78 78 


428 428 

429Saiba mais: [Platforms and integrations](/docs/pt/platforms)429Saiba mais: [Platforms and integrations](/docs/pt/platforms)

430 430 

431<h3 id="system-prompt">

432 System prompt

433</h3>

434 

435As instruções que Claude Code envia antes de sua conversa em cada requisição, cobrindo como Claude usa tools, se comporta com segurança e formata suas respostas. Você pode adicionar ao system prompt com `--append-system-prompt` ou substituí-lo com `--system-prompt`. O system prompt é a primeira camada do [prompt cache](/docs/pt/prompt-caching#how-the-cache-is-organized).

436 

437Seus arquivos [CLAUDE.md](#claude-md) e as instruções do seu [output style](#output-style) não fazem parte do system prompt. Claude Code os entrega na conversa como [system reminders](#system-reminder).

438 

439Saiba mais: [System prompt flags](/docs/pt/cli-reference#system-prompt-flags)

440 

441<h3 id="system-reminder">

442 System reminder

443</h3>

444 

445Uma mensagem que Claude Code, como o [harness](#agentic-harness), adiciona à conversa para dar contexto a Claude. Você não envia system reminders por conta própria. Claude Code os insere conforme uma sessão é executada, por exemplo quando a sessão inicia, quando um hook retorna texto, ou quando um arquivo muda no disco. Claude os lê junto com suas mensagens. Os seguintes todos chegam a Claude como system reminders:

446 

447* Seus arquivos [CLAUDE.md](#claude-md)

448* As instruções do seu [output style](#output-style)

449* Texto que um [hook](#hook) retorna como `additionalContext`

450* A lista de [skills](#skill) disponíveis

451* Uma nota de que um arquivo que Claude leu anteriormente mudou no disco

452* As linhas de atribuição de commit e pull request

453 

454Em uma requisição de API registrada, um system reminder aparece envolvido em tags `<system-reminder>` dentro de uma mensagem de usuário, ou em alguns modelos como uma mensagem separada com o papel `system`.

455 

456Saiba mais: [Context Claude Code adds outside the system prompt](/docs/pt/agent-sdk/modifying-system-prompts#context-claude-code-adds-outside-the-system-prompt)

457 

431<h2 id="t">458<h2 id="t">

432 T459 T

433</h2>460</h2>

goal.md +1 −1

Details

155 155 

156Se um turno falhar em um erro que não será limpo até você corrigi-lo, Claude Code limpa o objetivo e imprime um aviso nomeando a causa. O aviso começa com `Goal cleared after an unrecoverable error` e termina com `Run /goal again to continue`. Corrija a causa, então [defina o objetivo novamente](#set-a-goal) com `/goal <condition>`. Quatro tipos de falha limpam o objetivo:156Se um turno falhar em um erro que não será limpo até você corrigi-lo, Claude Code limpa o objetivo e imprime um aviso nomeando a causa. O aviso começa com `Goal cleared after an unrecoverable error` e termina com `Run /goal again to continue`. Corrija a causa, então [defina o objetivo novamente](#set-a-goal) com `/goal <condition>`. Quatro tipos de falha limpam o objetivo:

157 157 

158* Uma falha de autenticação, quando Claude Code gerencia suas próprias credenciais. Quando um host as gerencia para você, como o aplicativo desktop, a extensão VS Code ou uma [sessão na nuvem](/docs/pt/claude-code-on-the-web), Claude Code deixa o objetivo ativo porque o host restaura o acesso por conta própria.158* Uma falha de autenticação, quando Claude Code gerencia suas próprias credenciais. Quando um host as gerencia para você, como o aplicativo desktop ou uma [sessão na nuvem](/docs/pt/claude-code-on-the-web), Claude Code deixa o objetivo ativo porque o host restaura o acesso por conta própria.

159* Um saldo de crédito esgotado159* Um saldo de crédito esgotado

160* Um overflow de contexto que [auto-compactação](/docs/pt/model-config#set-the-auto-compact-window) não conseguiu limpar160* Um overflow de contexto que [auto-compactação](/docs/pt/model-config#set-the-auto-compact-window) não conseguiu limpar

161* Um modelo que não está disponível161* Um modelo que não está disponível

headless.md +10 −2

Details

89* **Executando um comando**: Claude Code registra o comando como eliminado na sessão.89* **Executando um comando**: Claude Code registra o comando como eliminado na sessão.

90* **Aguardando uma resposta a um prompt de permissão**: se você enviar SIGTERM para o processo, Claude Code deixa o prompt sem resposta. Se seu programa fechar a sessão através do Agent SDK, o SDK encerra a entrada de Claude Code antes de enviar qualquer sinal, e Claude Code cancela o prompt assim que a entrada termina.90* **Aguardando uma resposta a um prompt de permissão**: se você enviar SIGTERM para o processo, Claude Code deixa o prompt sem resposta. Se seu programa fechar a sessão através do Agent SDK, o SDK encerra a entrada de Claude Code antes de enviar qualquer sinal, e Claude Code cancela o prompt assim que a entrada termina.

91 91 

92Quando você [retoma a sessão](#continue-conversations), Claude Code continua a volta que SIGTERM deixou inacabada.92Quando você [retoma a sessão](#continue-conversations), Claude Code deixa a volta que estava em progresso inacabada e seu próximo prompt conduz a conversa. Para fazer com que Claude Code continue a volta inacabada ao retomar, defina [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN=1`](/docs/pt/env-vars).

93 

94<h3 id="if-the-working-directory-is-deleted">

95 Se o diretório de trabalho for excluído

96</h3>

97 

98Se o diretório de trabalho de uma sessão `claude -p` ou Agent SDK for excluído durante a sessão, a sessão continua em execução. Quando uma volta começa enquanto o diretório está faltando, Claude Code emite uma [mensagem de aviso](/docs/pt/agent-sdk/typescript#sdkinformationalmessage) na saída `stream-json`, e os comandos shell falham até que o diretório exista novamente.

93 99 

94<h2 id="examples">100<h2 id="examples">

95 Exemplos101 Exemplos


255| Campo | Tipo | Descrição |261| Campo | Tipo | Descrição |

256| - | - | - |262| - | - | - |

257| `plugins` | array | plugins que foram carregados com sucesso, cada um com `name` e `path` |263| `plugins` | array | plugins que foram carregados com sucesso, cada um com `name` e `path` |

258| `plugin_errors` | array | erros de tempo de carregamento de plugin, cada um com `plugin`, `type` e `message`. Inclui versões de dependência insatisfeitas e falhas de carregamento de `--plugin-dir` como um caminho ausente ou arquivo inválido. Os plugins afetados são rebaixados e ausentes de `plugins`. A chave é omitida quando não há erros |264| `plugin_errors` | array | erros de tempo de carregamento de plugin, cada um com `plugin`, `type` e `message`. Inclui versões de dependência insatisfeitas e falhas de carregamento de `--plugin-dir` como um caminho ausente ou arquivo inválido. Um plugin que não foi carregado está ausente de `plugins`. A chave é omitida quando não há erros |

265 

266Quando um diretório ou arquivo `--plugin-dir` em si falha ao carregar, sua entrada `plugin_errors` inclui o caminho absoluto resolvido como `path`. Use-o para dizer qual de vários valores `--plugin-dir` falhou. O campo `path` requer Claude Code v2.1.283 ou posterior.

259 267 

260Use os campos de servidor MCP da mesma forma. Quando você passa [`--mcp-config`](/docs/pt/cli-reference#cli-flags) com `-p`, Claude Code aguarda servidores ainda pendentes antes de executar a primeira volta, até o tempo limite de inicialização [`MCP_TIMEOUT`](/docs/pt/env-vars), 30 segundos por padrão. Um servidor remoto com uma [lista de ferramentas em cache](/docs/pt/agent-sdk/mcp#connection-timing) pula a espera, mostra `pending` em `system/init` e se conecta em sua primeira chamada de ferramenta. A espera requer Claude Code v2.1.221 ou posterior.268Use os campos de servidor MCP da mesma forma. Quando você passa [`--mcp-config`](/docs/pt/cli-reference#cli-flags) com `-p`, Claude Code aguarda servidores ainda pendentes antes de executar a primeira volta, até o tempo limite de inicialização [`MCP_TIMEOUT`](/docs/pt/env-vars), 30 segundos por padrão. Um servidor remoto com uma [lista de ferramentas em cache](/docs/pt/agent-sdk/mcp#connection-timing) pula a espera, mostra `pending` em `system/init` e se conecta em sua primeira chamada de ferramenta. A espera requer Claude Code v2.1.221 ou posterior.

261 269 

hooks.md +270 −280

Details

421 421 

422* **[Hooks de comando](#command-hook-fields)** (`type: "command"`): executam um comando shell. Seu script recebe a [entrada JSON](#hook-input-and-output) do evento em stdin e comunica resultados através de códigos de saída e stdout.422* **[Hooks de comando](#command-hook-fields)** (`type: "command"`): executam um comando shell. Seu script recebe a [entrada JSON](#hook-input-and-output) do evento em stdin e comunica resultados através de códigos de saída e stdout.

423* **[Hooks HTTP](#http-hook-fields)** (`type: "http"`): enviam a entrada JSON do evento como uma solicitação HTTP POST para uma URL. O endpoint comunica resultados através do corpo da resposta usando o mesmo [formato de saída JSON](#json-output) que hooks de comando.423* **[Hooks HTTP](#http-hook-fields)** (`type: "http"`): enviam a entrada JSON do evento como uma solicitação HTTP POST para uma URL. O endpoint comunica resultados através do corpo da resposta usando o mesmo [formato de saída JSON](#json-output) que hooks de comando.

424* **[Hooks de ferramenta MCP](#mcp-tool-hook-fields)** (`type: "mcp_tool"`): chamam uma ferramenta em um servidor [MCP](/docs/pt/mcp) já conectado. A saída de texto da ferramenta é tratada como stdout de hook de comando.424* **[Hooks de ferramenta MCP](#mcp-tool-hook-fields)** (`type: "mcp_tool"`): chamam uma ferramenta em um servidor [MCP](/docs/pt/mcp) configurado. A saída de texto da ferramenta é tratada como stdout de hook de comando.

425* **[Hooks de prompt](#prompt-and-agent-hook-fields)** (`type: "prompt"`): enviam um prompt para um modelo Claude para avaliação de turno único. O modelo retorna sua decisão como JSON. Consulte [Hooks baseados em prompt](#prompt-based-hooks).425* **[Hooks de prompt](#prompt-and-agent-hook-fields)** (`type: "prompt"`): enviam um prompt para um modelo Claude para avaliação de turno único. O modelo retorna sua decisão como JSON. Consulte [Hooks baseados em prompt](#prompt-based-hooks).

426* **[Hooks de agente](#prompt-and-agent-hook-fields)** (`type: "agent"`): geram um subagente que pode usar ferramentas como Read, Grep e Glob para verificar condições antes de retornar uma decisão. Hooks de agente são experimentais e podem mudar. Consulte [Hooks baseados em agente](#agent-based-hooks).426* **[Hooks de agente](#prompt-and-agent-hook-fields)** (`type: "agent"`): geram um subagente que pode usar ferramentas como Read, Grep e Glob para verificar condições antes de retornar uma decisão. Hooks de agente são experimentais e podem mudar. Consulte [Hooks baseados em agente](#agent-based-hooks).

427 427 


474| `command` | sim | Comando shell a executar. Com `args`, o executável a gerar diretamente. Consulte [Forma exec e forma shell](#exec-form-and-shell-form) |474| `command` | sim | Comando shell a executar. Com `args`, o executável a gerar diretamente. Consulte [Forma exec e forma shell](#exec-form-and-shell-form) |

475| `args` | não | Lista de argumentos. Quando presente, `command` é resolvido como um executável e gerado diretamente com `args` como o vetor de argumentos, sem shell envolvido. Consulte [Forma exec e forma shell](#exec-form-and-shell-form) |475| `args` | não | Lista de argumentos. Quando presente, `command` é resolvido como um executável e gerado diretamente com `args` como o vetor de argumentos, sem shell envolvido. Consulte [Forma exec e forma shell](#exec-form-and-shell-form) |

476| `async` | não | Se `true`, executa em background sem bloquear. Consulte [Executar hooks em background](#run-hooks-in-the-background) |476| `async` | não | Se `true`, executa em background sem bloquear. Consulte [Executar hooks em background](#run-hooks-in-the-background) |

477| `asyncRewake` | não | Se `true`, executa em background e acorda Claude na saída do código 2. O stderr do hook, ou stdout se stderr estiver vazio, é mostrado ao Claude como um lembrete do sistema para que possa reagir a uma falha de background de longa duração |477| `asyncRewake` | não | Se `true`, executa em background e acorda Claude na saída do código 2. O stderr do hook, ou stdout se stderr estiver vazio, é mostrado ao Claude como um [lembrete do sistema](/docs/pt/glossary#system-reminder) para que possa reagir a uma falha de background de longa duração |

478| `shell` | não | Shell a usar para este hook. Aceita `"bash"` ou `"powershell"`. Padrão é `"bash"`, ou `"powershell"` no Windows quando Git Bash não está instalado. Definir `"powershell"` executa o comando via PowerShell no Windows. Não requer `CLAUDE_CODE_USE_POWERSHELL_TOOL` já que hooks geram PowerShell diretamente. Ignorado quando `args` é definido |478| `shell` | não | Shell a usar para este hook. Aceita `"bash"` ou `"powershell"`. Padrão é `"bash"`, ou `"powershell"` no Windows quando Git Bash não está instalado. Definir `"powershell"` executa o comando via PowerShell no Windows. Não requer `CLAUDE_CODE_USE_POWERSHELL_TOOL` já que hooks geram PowerShell diretamente. Ignorado quando `args` é definido |

479 479 

480<a id="exec-form-and-shell-form" />480<a id="exec-form-and-shell-form" />


571 571 

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

573| :- | :- | :- |573| :- | :- | :- |

574| `server` | sim | Nome de um servidor MCP configurado. Para um [servidor fornecido por plugin](/docs/pt/mcp#plugin-provided-mcp-servers), este é o nome com escopo `plugin:<plugin-name>:<server-name>`, como `plugin:my-plugin:db`, não a chave do servidor simples. O servidor já deve estar conectado; o hook nunca dispara um fluxo OAuth ou de conexão |574| `server` | sim | Nome de um servidor MCP configurado. Para um [servidor fornecido por plugin](/docs/pt/mcp#plugin-provided-mcp-servers), este é o nome com escopo `plugin:<plugin-name>:<server-name>`, como `plugin:my-plugin:db`, não a chave do servidor simples |

575| `tool` | sim | Nome da ferramenta a chamar naquele servidor |575| `tool` | sim | Nome da ferramenta a chamar naquele servidor |

576| `input` | não | Argumentos passados para a ferramenta. Valores de string suportam substituição `${path}` da [entrada JSON](#hook-input-and-output) do hook, como `"${tool_input.file_path}"` |576| `input` | não | Argumentos passados para a ferramenta. Valores de string suportam substituição `${path}` da [entrada JSON](#hook-input-and-output) do hook, como `"${tool_input.file_path}"` |

577 577 

578Claude Code lê o conteúdo de texto da ferramenta da mesma forma que lê stdout de hook de comando, seguindo a [regra de análise sob código de saída 0](#exit-code-0). Se o servidor nomeado não estiver conectado, ou a ferramenta retornar `isError: true`, o hook produz um erro não-bloqueador e a execução continua.

579 

580Este exemplo chama a ferramenta `security_scan` no servidor MCP `my_server` após cada `Write` ou `Edit`, passando o caminho do arquivo editado:578Este exemplo chama a ferramenta `security_scan` no servidor MCP `my_server` após cada `Write` ou `Edit`, passando o caminho do arquivo editado:

581 579 

582```json theme={null}580```json theme={null}


599}597}

600```598```

601 599 

602Um hook `mcp_tool` pode executar apenas uma vez que Claude Code tenha disponibilizado os servidores MCP da sessão para hooks. `SessionStart` e `Setup` podem disparar antes desse ponto:600<h5 id="how-the-tool’s-result-is-read">

601 Como o resultado da ferramenta é lido

602</h5>

603 603 

604* **No lançamento**: `SessionStart` dispara antes dos servidores estarem disponíveis, incluindo quando você lança com `--continue` ou `--resume`. Claude Code pula os hooks `mcp_tool` do evento sem chamar suas ferramentas, e o [log de debug](#debug-hooks) registra `mcp_tool hooks are not available for the 'SessionStart' hook event (no MCP client context)`.604Claude Code lê o conteúdo de texto da ferramenta da mesma forma que lê stdout de hook de comando, seguindo a [regra de análise sob código de saída 0](#exit-code-0). Se a ferramenta retornar `isError: true`, o hook produz um erro não-bloqueador e a execução continua.

605* **Mais tarde em uma sessão em execução**: após `/clear` ou uma compactação, `SessionStart` dispara novamente com os servidores já disponíveis, e seus hooks `mcp_tool` executam.

606* **Em `Setup`**: `Setup` sempre dispara antes dos servidores estarem disponíveis, então Claude Code pula seus hooks `mcp_tool` toda vez e registra a mesma mensagem nomeando `Setup`.

607 605 

608Por exemplo, esta configuração chama a ferramenta `load_context` no servidor MCP `my_server` de um hook `SessionStart` sem matcher, então se aplica a cada fonte `SessionStart`:606<h5 id="when-the-server-is-still-connecting">

607 Quando o servidor ainda está se conectando

608</h5>

609 609 

610```json theme={null}610Em eventos onde um hook pode bloquear ou mudar o resultado, como `PreToolUse` ou `Stop`, Claude Code aguarda um servidor em conexão antes de chamar a ferramenta, por no máximo [`MCP_TIMEOUT`](/docs/pt/env-vars) e dentro do [`timeout`](#common-fields) do próprio hook. Em eventos observacionais, como `Notification` ou `SessionEnd`, ele não aguarda.

611{611 

612 "hooks": {612Um servidor mostrando o status [`cached`](/docs/pt/mcp#server-status-detail) se conecta quando o hook chama sua ferramenta. Se o servidor não estiver conectado naquele ponto, o hook produz um erro não-bloqueador e a execução continua. O hook nunca inicia um fluxo OAuth, então [autentique o servidor de `/mcp`](/docs/pt/mcp#authenticate-with-remote-mcp-servers) primeiro.

613 "SessionStart": [613 

614 {614<h5 id="events-that-fire-before-mcp-servers-are-available">

615 "hooks": [615 Eventos que disparam antes dos servidores MCP estarem disponíveis

616 {616</h5>

617 "type": "mcp_tool",

618 "server": "my_server",

619 "tool": "load_context"

620 }

621 ]

622 }

623 ]

624 }

625}

626```

627 617 

628Quando você executa `claude`, Claude Code pula este hook, nunca chama `load_context` e escreve a mensagem `no MCP client context` no log de debug. Execute `/clear` nessa mesma sessão e o hook executa e chama `load_context`. Um hook `type: "command"` em `SessionStart` executa no lançamento, então use um para qualquer coisa que a sessão precise de seu primeiro turno.618`SessionStart` no lançamento, incluindo com `--continue` ou `--resume`, e cada evento `Setup` disparam antes dos servidores MCP da sessão estarem disponíveis para hooks. Claude Code pula seus hooks `mcp_tool` sem chamar a ferramenta, e o [log de debug](#debug-hooks) registra `mcp_tool hooks are not available for the 'SessionStart' hook event (no MCP client context)`, ou a mesma mensagem nomeando `Setup`. Quando `SessionStart` dispara novamente mais tarde na sessão, após `/clear` ou uma compactação, seus hooks `mcp_tool` executam. Para qualquer coisa que a sessão precise no lançamento, use um hook `type: "command"` em `SessionStart` em vez disso.

629 619 

630<h4 id="prompt-and-agent-hook-fields">620<h4 id="prompt-and-agent-hook-fields">

631 Campos de hook de prompt e agente621 Campos de hook de prompt e agente


636| Campo | Obrigatório | Descrição |626| Campo | Obrigatório | Descrição |

637| :- | :- | :- |627| :- | :- | :- |

638| `prompt` | sim | Texto do prompt a enviar para o modelo. Use `$ARGUMENTS` como placeholder para a entrada JSON do hook. Escape com uma barra invertida para incluir texto literal: `\$1.00` renderiza como `$1.00` |628| `prompt` | sim | Texto do prompt a enviar para o modelo. Use `$ARGUMENTS` como placeholder para a entrada JSON do hook. Escape com uma barra invertida para incluir texto literal: `\$1.00` renderiza como `$1.00` |

639| `model` | não | Modelo a usar para avaliação. Padrão para um modelo rápido |629| `model` | não | Modelo a usar para avaliação. Padrão para o modelo que Claude Code usa para [funcionalidade em background](/docs/pt/costs#background-token-usage) |

640 630 

641<h3 id="reference-scripts-by-path">631<h3 id="reference-scripts-by-path">

642 Referenciar scripts por caminho632 Referenciar scripts por caminho


791| `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. Requer Claude Code v2.1.196 ou posterior |781| `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. Requer Claude Code v2.1.196 ou posterior |

792| `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 |782| `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 |

793| `cwd` | Diretório de trabalho atual quando o hook é invocado |783| `cwd` | Diretório de trabalho atual quando o hook é invocado |

794| `scratchpad_dir` | Caminho para o diretório scratchpad da sessão, 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 |784| `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 |

795| `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) |785| `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) |

796| `effort` | Objeto com um campo `level` contendo o [nível de esforço](/docs/pt/model-config#adjust-effort-level) em vigor quando o hook é executado: `"low"`, `"medium"`, `"high"`, `"xhigh"` ou `"max"`. Se você definir um nível que o modelo ativo não suporta, `level` relata o nível que Claude Code executou em vez disso; [Ajustar nível de esforço](/docs/pt/model-config#adjust-effort-level) diz como ele escolhe esse nível. Ultracode não é um nível distinto e é relatado como `"xhigh"`. O objeto corresponde ao campo `effort` da [linha de status](/docs/pt/statusline#available-data). Presente para eventos que disparam dentro de um contexto de uso de ferramenta, como `PreToolUse`, `PostToolUse`, `Stop` e `SubagentStop`, quando o modelo atual suporta o parâmetro de esforço. O nível também está disponível para comandos de hook e a ferramenta Bash como a variável de ambiente `$CLAUDE_EFFORT`. |786| `effort` | Objeto com um campo `level` contendo o [nível de esforço](/docs/pt/model-config#adjust-effort-level) em vigor quando o hook é executado: `"low"`, `"medium"`, `"high"`, `"xhigh"` ou `"max"`. Se você definir um nível que o modelo ativo não suporta, `level` relata o nível que Claude Code executou em vez disso; [Ajustar nível de esforço](/docs/pt/model-config#adjust-effort-level) diz como ele escolhe esse nível. O objeto corresponde ao campo `effort` da [linha de status](/docs/pt/statusline#available-data). Presente para eventos que disparam dentro de um contexto de uso de ferramenta, como `PreToolUse`, `PostToolUse`, `Stop` e `SubagentStop`, quando o modelo atual suporta o parâmetro de esforço. O nível também está disponível para comandos de hook e a ferramenta Bash como a variável de ambiente `$CLAUDE_EFFORT`. |

797| `hook_event_name` | Nome do evento que disparou |787| `hook_event_name` | Nome do evento que disparou |

798 788 

799Ao executar com `--agent` ou dentro de um subagente, dois campos adicionais são incluídos:789Ao executar com `--agent` ou dentro de um subagente, dois campos adicionais são incluídos:


1057 Adicionar contexto para Claude1047 Adicionar contexto para Claude

1058</h4>1048</h4>

1059 1049 

1060O 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 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.1050O 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.

1061 1051 

1062Retorne `additionalContext` dentro de `hookSpecificOutput` ao lado do nome do evento:1052Retorne `additionalContext` dentro de `hookSpecificOutput` ao lado do nome do evento:

1063 1053 


1179 Eventos de hook1169 Eventos de hook

1180</h2>1170</h2>

1181 1171 

1182Cada evento corresponde a um ponto no ciclo de vida do Claude Code onde os hooks podem ser executados. As seções abaixo estão ordenadas para corresponder ao ciclo de vida: desde a configuração da sessão através do loop agentic até o final da sessão. Cada seção descreve quando o evento é disparado, quais matchers ele suporta, a entrada JSON que recebe e como controlar o comportamento através da saída.1172Cada evento corresponde a um ponto no ciclo de vida do Claude Code onde hooks podem ser executados. As seções abaixo estão ordenadas para corresponder ao ciclo de vida: desde a configuração da sessão através do loop agentic até o final da sessão. Cada seção descreve quando o evento é disparado, quais matchers ele suporta, a entrada JSON que recebe e como controlar o comportamento através da saída.

1183 1173 

1184<h3 id="sessionstart">1174<h3 id="sessionstart">

1185 SessionStart1175 SessionStart

1186</h3>1176</h3>

1187 1177 

1188Executado quando Claude Code inicia uma nova sessão ou retoma uma sessão existente. Útil para carregar contexto de desenvolvimento como problemas existentes ou mudanças recentes no seu código, ou configurar variáveis de ambiente. Para contexto estático que não requer um script, use [CLAUDE.md](/docs/pt/memory) em vez disso.1178Executado quando Claude Code inicia uma nova sessão ou retoma uma sessão existente. Útil para carregar contexto de desenvolvimento como problemas existentes ou mudanças recentes no seu codebase, ou configurar variáveis de ambiente. Para contexto estático que não requer um script, use [CLAUDE.md](/docs/pt/memory) em vez disso.

1189 1179 

1190SessionStart é executado em cada sessão, portanto mantenha esses hooks rápidos. Apenas hooks `type: "command"` e `type: "mcp_tool"` são suportados. Veja [campos de hook de ferramenta MCP](#mcp-tool-hook-fields) para quando hooks `mcp_tool` são executados.1180SessionStart é executado em cada sessão, então mantenha esses hooks rápidos. Apenas hooks `type: "command"` e `type: "mcp_tool"` são suportados. Veja [Campos de hook de ferramenta MCP](#mcp-tool-hook-fields) para quando hooks `mcp_tool` são executados.

1191 1181 

1192O valor do matcher corresponde a como a sessão foi iniciada:1182O valor do matcher corresponde a como a sessão foi iniciada:

1193 1183 


1201 1191 

1202Antes da v2.1.214, sessões bifurcadas relatavam fonte `"resume"`.1192Antes da v2.1.214, sessões bifurcadas relatavam fonte `"resume"`.

1203 1193 

1204Quando você inicia uma sessão interativa, retoma uma conversa no lançamento 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, portanto seu contexto chega ao Claude.1194Quando você inicia uma sessão interativa, retoma uma conversa no lançamento com `--continue` ou `--resume`, ou executa `/clear`, 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, então seu contexto chega ao Claude.

1205 1195 

1206Quando você muda de conversas com `/resume` dentro de uma sessão, a mudança espera os hooks terminarem. Se você executar `/clear` ou mudar para outra conversa enquanto os hooks de fundo ainda estão em execução, nada que eles retornem se aplica à sessão.1196Quando você muda de conversas com `/resume` dentro de uma sessão, a mudança espera os hooks terminarem. Se você executar `/clear` ou mudar para outra conversa enquanto hooks de fundo ainda estão em execução, nada que eles retornem se aplica à sessão.

1207 1197 

1208A mesma espera se aplica no lançamento, 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 terminem.1198A mesma espera se aplica no lançamento, incluindo uma sessão retomada: um prompt que você envia enquanto hooks SessionStart ainda estão em execução não chega ao Claude até que terminem.

1209 1199 

1210Durante qualquer espera, pressione `Esc` para levar o prompt de volta para a entrada sem enviá-lo. Os hooks continuam em execução.1200Durante qualquer espera, pressione `Esc` para levar o prompt de volta para a entrada sem enviá-lo. Os hooks continuam em execução.

1211 1201 


1213 Entrada SessionStart1203 Entrada SessionStart

1214</h4>1204</h4>

1215 1205 

1216Além dos [campos de entrada comuns](#common-input-fields), os hooks SessionStart recebem `source` e opcionalmente `model`, `agent_type` e `session_title`:1206Além dos [campos de entrada comuns](#common-input-fields), hooks SessionStart recebem `source` e opcionalmente `model`, `agent_type`, e `session_title`:

1217 1207 

1218| Campo | Descrição |1208| Campo | Descrição |

1219| :- | :- |1209| :- | :- |

1220| `source` | Como a sessão começou: `"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 |1210| `source` | Como a sessão começou: `"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 |

1221| `model` | O identificador do modelo ativo. Pode ser omitido, por exemplo após `/clear` ou quando uma sessão é restaurada através da recuperação de conversa, portanto verifique o campo antes de lê-lo |1211| `model` | O identificador do modelo ativo. Pode ser omitido, por exemplo após `/clear` ou quando uma sessão é restaurada através de recuperação de conversa, então verifique o campo antes de lê-lo |

1222| `agent_type` | O nome do agente, presente quando você inicia Claude Code com `claude --agent <name>` |1212| `agent_type` | O nome do agente, presente quando você inicia Claude Code com `claude --agent <name>` |

1223| `session_title` | O título da sessão atual se um já estiver definido, por exemplo via `--name` ou `/rename`. Um hook que emite `sessionTitle` pode verificar `session_title` primeiro para evitar sobrescrever um título que o usuário definiu explicitamente |1213| `session_title` | O título da sessão atual se um já estiver definido, por exemplo via `--name` ou `/rename`. Um hook que emite `sessionTitle` pode verificar `session_title` primeiro para evitar sobrescrever um título que o usuário definiu explicitamente |

1224 1214 

1225Quando `source` é `"resume"` ou `"fork"` e a transcrição contém pelo menos uma resposta do Claude, os hooks SessionStart também recebem os quatro campos abaixo. Seu hook pode usá-los para relatar qual é o custo de retomar uma conversa obsoleta antes da primeira solicitação, por exemplo em uma [`systemMessage`](#json-output). Esses campos requerem Claude Code v2.1.251 ou posterior.1215Quando `source` é `"resume"` ou `"fork"` e a transcrição contém pelo menos uma resposta do Claude, hooks SessionStart também recebem os quatro campos abaixo. Seu hook pode usá-los para relatar qual é o custo de retomar uma conversa obsoleta antes da primeira solicitação, por exemplo em um [`systemMessage`](#json-output). Esses campos requerem Claude Code v2.1.251 ou posterior.

1226 1216 

1227| Campo | Descrição |1217| Campo | Descrição |

1228| :- | :- |1218| :- | :- |


1258| :- | :- |1248| :- | :- |

1259| `additionalContext` | String adicionada ao contexto do Claude no início da conversa, antes do primeiro prompt. Veja [Adicionar contexto para Claude](#add-context-for-claude) para como o texto é entregue e o que colocar nele |1249| `additionalContext` | String adicionada ao contexto do Claude no início da conversa, antes do primeiro prompt. Veja [Adicionar contexto para Claude](#add-context-for-claude) para como o texto é entregue e o que colocar nele |

1260| `initialUserMessage` | String usada como a primeira mensagem do usuário da sessão. Aplica-se em [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 segue como o próximo turno. Ao contrário de `additionalContext`, que se anexa a um turno existente, isso cria o turno |1250| `initialUserMessage` | String usada como a primeira mensagem do usuário da sessão. Aplica-se em [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 segue como o próximo turno. Ao contrário de `additionalContext`, que se anexa a um turno existente, isso cria o turno |

1261| `sessionTitle` | Define o título da sessão, com o mesmo efeito que `/rename`. Use para nomear sessões automaticamente a partir da pasta de lançamento, ramo git ou nome de worktree. Aplica-se quando `source` é `"startup"`, `"resume"` ou `"fork"`; ignorado em `"clear"` e `"compact"` |1251| `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 lançamento, branch git ou nome de worktree. Aplica-se quando `source` é `"startup"`, `"resume"`, ou `"fork"`; ignorado em `"clear"` e `"compact"` |

1262| `watchPaths` | Array de caminhos absolutos para observar eventos [FileChanged](#filechanged) durante esta sessão |1252| `watchPaths` | Array de caminhos absolutos para observar eventos [FileChanged](#filechanged) durante esta sessão |

1263| `reloadSkills` | Booleano. Quando `true`, Claude Code verifica novamente os diretórios de [skill](/docs/pt/skills) e comando após os hooks SessionStart serem concluídos, portanto skills que o hook instalou estão disponíveis na mesma sessão, começando com o primeiro prompt |1253| `reloadSkills` | Booleano. Quando `true`, Claude Code verifica novamente os diretórios de [skill](/docs/pt/skills) e comando após os hooks SessionStart serem concluídos, para que skills que o hook instalou estejam disponíveis na mesma sessão, começando com o primeiro prompt |

1264 1254 

1265```json theme={null}1255```json theme={null}

1266{1256{


1274 1264 

1275Como stdout simples já chega ao Claude para este evento, um hook que apenas carrega contexto pode imprimir para stdout diretamente sem construir JSON. Use a forma JSON quando você precisa combinar contexto com outros campos como `sessionTitle`.1265Como stdout simples já chega ao Claude para este evento, um hook que apenas carrega contexto pode imprimir para stdout diretamente sem construir JSON. Use a forma JSON quando você precisa combinar contexto com outros campos como `sessionTitle`.

1276 1266 

1277Use `reloadSkills` quando um hook SessionStart instala ou atualiza skills. A descoberta de skill normalmente é executada antes dos hooks SessionStart terminarem, portanto arquivos que o hook escreve em `~/.claude/skills/` ou `.claude/skills/` de outra forma só apareceriam na próxima sessão. Este exemplo sincroniza um repositório de skills compartilhado e solicita a nova verificação:1267Use `reloadSkills` quando um hook SessionStart instala ou atualiza skills. A descoberta de skills normalmente é executada antes dos hooks SessionStart terminarem, então arquivos que o hook escreve em `~/.claude/skills/` ou `.claude/skills/` de outra forma só apareceriam na próxima sessão. Este exemplo sincroniza um repositório de skills compartilhado e solicita a nova verificação:

1278 1268 

1279```bash theme={null}1269```bash theme={null}

1280#!/bin/bash1270#!/bin/bash


1285echo '{"hookSpecificOutput": {"hookEventName": "SessionStart", "reloadSkills": true}}'1275echo '{"hookSpecificOutput": {"hookEventName": "SessionStart", "reloadSkills": true}}'

1286```1276```

1287 1277 

1288A 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:` para stderr. Stderr de um hook SessionStart que sai com 0 é apenas informativo, portanto a solicitação `reloadSkills` ainda se aplica.1278A 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:` para stderr. Stderr de um hook SessionStart que sai com 0 é apenas informativo, então a solicitação `reloadSkills` ainda se aplica.

1289 1279 

1290<h4 id="persist-environment-variables">1280<h4 id="persist-environment-variables">

1291 Persistir variáveis de ambiente1281 Persistir variáveis de ambiente

1292</h4>1282</h4>

1293 1283 

1294Os 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.1284Hooks 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.

1295 1285 

1296Para definir variáveis de ambiente individuais, escreva instruções `export` para `CLAUDE_ENV_FILE`. Use append (`>>`) para preservar variáveis definidas por outros hooks:1286Para definir variáveis de ambiente individuais, escreva instruções `export` para `CLAUDE_ENV_FILE`. Use append (`>>`) para preservar variáveis definidas por outros hooks:

1297 1287 


1327```1317```

1328 1318 

1329<Note>1319<Note>

1330 `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 esta variável.1320 `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 esta variável.

1331</Note>1321</Note>

1332 1322 

1333<h3 id="setup">1323<h3 id="setup">


1355 Entrada Setup1345 Entrada Setup

1356</h4>1346</h4>

1357 1347 

1358Além dos [campos de entrada comuns](#common-input-fields), os hooks Setup recebem um campo `trigger` definido como `"init"` ou `"maintenance"`:1348Além dos [campos de entrada comuns](#common-input-fields), hooks Setup recebem um campo `trigger` definido como `"init"` ou `"maintenance"`:

1359 1349 

1360```json theme={null}1350```json theme={null}

1361{1351{


1371 Controle de decisão Setup1361 Controle de decisão Setup

1372</h4>1362</h4>

1373 1363 

1374Os hooks Setup não podem bloquear; a execução continua em qualquer código de saída. Em cada código de saída, Claude Code descarta os [campos de saída JSON](#json-output) de um hook Setup, como `systemMessage`, `continue` e `hookSpecificOutput.additionalContext`. Com `-p`, stdout, stderr e 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`.1364Hooks Setup não podem bloquear; a execução continua em qualquer código de saída. Em cada código de saída, Claude Code descarta [campos de saída JSON](#json-output) de um hook Setup, como `systemMessage`, `continue`, e `hookSpecificOutput.additionalContext`. Com `-p`, stdout, stderr e 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`.

1375 1365 

1376Os hooks Setup têm acesso a `CLAUDE_ENV_FILE`. Variáveis escritas nesse arquivo persistem em comandos Bash subsequentes para a sessão, assim como em [hooks SessionStart](#persist-environment-variables). Apenas hooks `type: "command"` são executados em `Setup`. Um hook `type: "mcp_tool"` em `Setup` é sempre pulado, conforme descrito em [campos de hook de ferramenta MCP](#mcp-tool-hook-fields).1366Hooks Setup têm acesso a `CLAUDE_ENV_FILE`. Variáveis escritas nesse arquivo persistem em comandos Bash subsequentes para a sessão, assim como em [hooks SessionStart](#persist-environment-variables). Apenas hooks `type: "command"` são executados em `Setup`. Um hook `type: "mcp_tool"` em `Setup` é sempre pulado, conforme descrito em [Campos de hook de ferramenta MCP](#mcp-tool-hook-fields).

1377 1367 

1378<h3 id="instructionsloaded">1368<h3 id="instructionsloaded">

1379 InstructionsLoaded1369 InstructionsLoaded


1389 Entrada InstructionsLoaded1379 Entrada InstructionsLoaded

1390</h4>1380</h4>

1391 1381 

1392Além dos [campos de entrada comuns](#common-input-fields), os hooks InstructionsLoaded recebem estes campos:1382Além dos [campos de entrada comuns](#common-input-fields), hooks InstructionsLoaded recebem esses campos:

1393 1383 

1394| Campo | Descrição |1384| Campo | Descrição |

1395| :- | :- |1385| :- | :- |

1396| `file_path` | Caminho absoluto para o arquivo de instrução que foi carregado |1386| `file_path` | Caminho absoluto para o arquivo de instruções que foi carregado |

1397| `memory_type` | Escopo do arquivo: `"User"`, `"Project"`, `"Local"` ou `"Managed"` |1387| `memory_type` | Escopo do arquivo: `"User"`, `"Project"`, `"Local"`, ou `"Managed"` |

1398| `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ção são recarregados após um evento de compactação |1388| `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 |

1399| `globs` | Padrões de glob de caminho do frontmatter `paths:` do arquivo, se houver. Presente apenas para carregamentos `path_glob_match` |1389| `globs` | Padrões de glob de caminho do frontmatter `paths:` do arquivo, se houver. Presente apenas para carregamentos `path_glob_match` |

1400| `trigger_file_path` | Caminho para o arquivo cujo acesso disparou este carregamento, para carregamentos preguiçosos |1390| `trigger_file_path` | Caminho para o arquivo cujo acesso disparou este carregamento, para carregamentos preguiçosos |

1401| `parent_file_path` | Caminho para o arquivo de instrução pai que incluiu este, para carregamentos `include` |1391| `parent_file_path` | Caminho para o arquivo de instruções pai que incluiu este, para carregamentos `include` |

1402 1392 

1403```json theme={null}1393```json theme={null}

1404{1394{


1416 Controle de decisão InstructionsLoaded1406 Controle de decisão InstructionsLoaded

1417</h4>1407</h4>

1418 1408 

1419Os hooks InstructionsLoaded não têm controle de decisão. Eles não podem bloquear ou modificar o carregamento de instruções. Claude Code descarta seus [campos de saída JSON](#json-output), como `systemMessage` e `continue`. Use este evento para auditoria de log, rastreamento de conformidade ou observabilidade.1409Hooks InstructionsLoaded não têm controle de decisão. Eles não podem bloquear ou modificar o carregamento de instruções. Claude Code descarta seus [campos de saída JSON](#json-output), como `systemMessage` e `continue`. Use este evento para auditoria de log, rastreamento de conformidade ou observabilidade.

1420 1410 

1421<h3 id="userpromptsubmit">1411<h3 id="userpromptsubmit">

1422 UserPromptSubmit1412 UserPromptSubmit

1423</h3>1413</h3>

1424 1414 

1425Executado quando o usuário envia um prompt, antes de Claude processá-lo. Isso permite que você adicione contexto adicional com base no prompt/conversa, valide prompts ou bloqueie certos tipos de prompts.1415Executado quando o usuário envia um prompt, antes de Claude processá-lo. Isso permite que você adicione contexto adicional baseado no prompt/conversa, valide prompts ou bloqueie certos tipos de prompts.

1426 1416 

1427Os hooks `UserPromptSubmit` têm um tempo limite padrão de 30 segundos para tipos `command`, `http` e `mcp_tool`, mais curto que o padrão de 600 segundos para esses 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 seu hook precisar de mais tempo, defina o campo `timeout` na entrada do hook.1417Hooks `UserPromptSubmit` têm um tempo limite padrão de 30 segundos para tipos `command`, `http` e `mcp_tool`, mais curto que o padrão de 600 segundos para esses 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 seu hook precisar de mais tempo, defina o campo `timeout` na entrada do hook.

1428 1418 

1429Além de um hook de comando que você executa com [`async: true`](#run-hooks-in-the-background), um hook `UserPromptSubmit` command, HTTP ou MCP tool que atinge seu tempo limite é 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 tempo limite que foi disparado e que a saída foi descartada.1419Além de um hook de comando que você executa com [`async: true`](#run-hooks-in-the-background), um hook `UserPromptSubmit` command, HTTP ou MCP tool que atinge seu tempo limite é 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 tempo limite que foi disparado e que a saída foi descartada.

1430 1420 


1434 Entrada UserPromptSubmit1424 Entrada UserPromptSubmit

1435</h4>1425</h4>

1436 1426 

1437Além dos [campos de entrada comuns](#common-input-fields), os hooks UserPromptSubmit recebem o campo `prompt` contendo o texto que o usuário enviou. Conteúdo colado que colapsou para um espaço reservado `[Pasted text #N]` chega expandido no lugar. Em sessões onde Claude Code [marca texto colado para 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 em conta essas linhas se seu hook analisa o prompt.1427Além dos [campos de entrada comuns](#common-input-fields), hooks UserPromptSubmit recebem o campo `prompt` contendo o texto que o usuário enviou. Conteúdo colado que colapsou para um espaço reservado `[Pasted text #N]` chega expandido no lugar. Em sessões onde Claude Code [marca texto colado para 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 em conta essas linhas se seu hook analisa o prompt.

1438 1428 

1439```json theme={null}1429```json theme={null}

1440{1430{


1451 Controle de decisão UserPromptSubmit1441 Controle de decisão UserPromptSubmit

1452</h4>1442</h4>

1453 1443 

1454Os hooks `UserPromptSubmit` podem controlar se um prompt do usuário é processado e adicionar contexto. Todos os [campos de saída JSON](#json-output) estão disponíveis.1444Hooks `UserPromptSubmit` podem controlar se um prompt do usuário é processado e adicionar contexto. Todos os [campos de saída JSON](#json-output) estão disponíveis.

1455 1445 

1456Existem duas maneiras de adicionar contexto à conversa no código de saída 0:1446Existem duas maneiras de adicionar contexto à conversa no código de saída 0:

1457 1447 


1465| Campo | Descrição |1455| Campo | Descrição |

1466| :- | :- |1456| :- | :- |

1467| `decision` | `"block"` impede que o prompt seja processado e o apaga do contexto. Omita para permitir que o prompt prossiga |1457| `decision` | `"block"` impede que o prompt seja processado e o apaga do contexto. Omita para permitir que o prompt prossiga |

1468| `reason` | Mostrado ao usuário quando `decision` é `"block"`. Não adicionado ao contexto |1458| `reason` | Mostrado ao usuário quando `decision` é `"block"`. Não é adicionado ao contexto |

1469| `additionalContext` | String adicionada ao contexto do Claude ao lado do prompt enviado. Veja [Adicionar contexto para Claude](#add-context-for-claude) |1459| `additionalContext` | String adicionada ao contexto do Claude junto com o prompt enviado. Veja [Adicionar contexto para Claude](#add-context-for-claude) |

1470| `sessionTitle` | Define o título da sessão. Use para nomear sessões automaticamente com base no conteúdo do prompt |1460| `sessionTitle` | Define o título da sessão. Use para nomear sessões automaticamente com base no conteúdo do prompt |

1471| `suppressOriginalPrompt` | Se `true` quando `decision` é `"block"`, omite o texto do prompt original da mensagem de bloqueio mostrada ao usuário |1461| `suppressOriginalPrompt` | Se `true` quando `decision` é `"block"`, omite o texto do prompt original da mensagem de bloqueio mostrada ao usuário |

1472 1462 

1473Um hook que bloqueia ao sair com 2 roteia da mesma forma que `reason`: a mensagem de bloqueio mostra o texto stderr ao usuário e não é adicionada ao contexto.1463Um hook que bloqueia saindo com 2 roteia da mesma forma que `reason`: a mensagem de bloqueio mostra o texto stderr ao usuário e não é adicionada ao contexto.

1474 1464 

1475```json theme={null}1465```json theme={null}

1476{1466{


1488 UserPromptExpansion1478 UserPromptExpansion

1489</h3>1479</h3>

1490 1480 

1491Executado quando um comando digitado pelo usuário se expande em um prompt antes de chegar ao Claude. Use isso para bloquear comandos específicos de invocação direta, injetar contexto para uma skill particular ou registrar quais comandos os usuários invocam. Por exemplo, um hook correspondente a `deploy` pode bloquear `/deploy` a menos que um arquivo de aprovação esteja presente, ou um hook correspondente a uma skill de revisão pode anexar a lista de verificação de revisão da equipe como `additionalContext`.1481Executado quando um comando digitado pelo usuário se expande em um prompt antes de chegar ao Claude. Use isso para bloquear comandos específicos de invocação direta, injetar contexto para uma skill particular ou registrar quais comandos os usuários invocam. Por exemplo, um hook correspondendo a `deploy` pode bloquear `/deploy` a menos que um arquivo de aprovação esteja presente, ou um hook correspondendo a uma skill de revisão pode anexar a lista de verificação de revisão da equipe como `additionalContext`.

1492 1482 

1493Este evento cobre o caminho que `PreToolUse` não cobre: um hook `PreToolUse` correspondente à ferramenta `Skill` é disparado apenas quando Claude chama a ferramenta, mas digitar `/skillname` diretamente ignora `PreToolUse`. `UserPromptExpansion` é disparado nesse caminho direto.1483Este evento cobre o caminho que `PreToolUse` não cobre: um hook `PreToolUse` correspondendo à ferramenta `Skill` é disparado apenas quando Claude chama a ferramenta, mas digitar `/skillname` diretamente ignora `PreToolUse`. `UserPromptExpansion` é disparado nesse caminho direto.

1494 1484 

1495Corresponde a `command_name`. Deixe o matcher vazio para disparar em cada comando do tipo prompt.1485Corresponde em `command_name`. Deixe o matcher vazio para disparar em cada comando do tipo prompt.

1496 1486 

1497<h4 id="userpromptexpansion-input">1487<h4 id="userpromptexpansion-input">

1498 Entrada UserPromptExpansion1488 Entrada UserPromptExpansion

1499</h4>1489</h4>

1500 1490 

1501Alé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 do servidor MCP.1491Além dos [campos de entrada comuns](#common-input-fields), 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 do servidor MCP.

1502 1492 

1503```json theme={null}1493```json theme={null}

1504{1494{


1519 Controle de decisão UserPromptExpansion1509 Controle de decisão UserPromptExpansion

1520</h4>1510</h4>

1521 1511 

1522Os hooks `UserPromptExpansion` podem bloquear a expansão ou adicionar contexto. Todos os [campos de saída JSON](#json-output) estão disponíveis.1512Hooks `UserPromptExpansion` podem bloquear a expansão ou adicionar contexto. Todos os [campos de saída JSON](#json-output) estão disponíveis.

1523 1513 

1524| Campo | Descrição |1514| Campo | Descrição |

1525| :- | :- |1515| :- | :- |

1526| `decision` | `"block"` impede que o comando se expanda. Omita para permitir que prossiga |1516| `decision` | `"block"` impede que o comando se expanda. Omita para permitir que prossiga |

1527| `reason` | Mostrado ao usuário quando `decision` é `"block"` |1517| `reason` | Mostrado ao usuário quando `decision` é `"block"` |

1528| `additionalContext` | String adicionada ao contexto do Claude ao lado do prompt expandido. Veja [Adicionar contexto para Claude](#add-context-for-claude) |1518| `additionalContext` | String adicionada ao contexto do Claude junto com o prompt expandido. Veja [Adicionar contexto para Claude](#add-context-for-claude) |

1529 1519 

1530Um hook que bloqueia ao sair com 2 roteia da mesma forma que `reason`: a mensagem de bloqueio mostra o texto stderr ao usuário.1520Um hook que bloqueia saindo com 2 roteia da mesma forma que `reason`: a mensagem de bloqueio mostra o texto stderr ao usuário.

1531 1521 

1532```json theme={null}1522```json theme={null}

1533{1523{


1552* transformar o texto que um aplicativo Agent SDK mostra aos seus usuários1542* transformar o texto que um aplicativo Agent SDK mostra aos seus usuários

1553* redactar chaves de API ou nomes de host internos das respostas do Claude1543* redactar chaves de API ou nomes de host internos das respostas do Claude

1554 1544 

1555Claude Code mantém cada lote até que seu hook retorne, portanto mantenha o hook rápido. Se o hook falhar ou atingir o tempo limite, Claude Code exibe o texto original. O tempo limite padrão para este evento é 10 segundos; se seu hook precisar de mais tempo, defina o campo `timeout` na entrada do hook.1545Claude Code mantém cada lote até que seu hook retorne, então mantenha o hook rápido. Se o hook falhar ou atingir o tempo limite, Claude Code exibe o texto original. O tempo limite padrão para este evento é 10 segundos; se seu hook precisar de mais tempo, defina o campo `timeout` na entrada do hook.

1556 1546 

1557MessageDisplay é apenas para exibição: o texto de substituição altera apenas o que é renderizado na tela. A transcrição e o que Claude vê mantêm o texto original, portanto Claude nunca vê a substituição, e o modo detalhado mostra o original. O hook recebe apenas texto de mensagem do assistente, portanto resultados de ferramentas e o texto que você digita são renderizados inalterados.1547MessageDisplay é apenas para exibição: o texto de substituição muda apenas o que é renderizado na tela. A transcrição e o que Claude vê mantêm o texto original, então Claude nunca vê a substituição, e o modo verbose mostra o original. O hook recebe apenas texto de mensagem do assistente, então resultados de ferramentas e o texto que você digita são renderizados inalterados.

1558 1548 

1559MessageDisplay não suporta matchers e é disparado para cada mensagem do assistente que transmite texto; mensagens sem texto, como respostas apenas de chamada de ferramenta, não o disparam.1549MessageDisplay não suporta matchers e é disparado para cada mensagem do assistente que transmite texto; mensagens sem texto, como respostas apenas de chamada de ferramenta, não o disparam.

1560 1550 

1561Em execuções não interativas, incluindo consultas do Agent SDK e `claude -p`, MessageDisplay é executado uma vez por mensagem do assistente em vez de uma vez por lote de linhas. A chamada única chega após a mensagem ser 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 `delta` para cada mensagem recebe o mesmo texto total em ambos os modos.1551Em execuções não interativas, incluindo consultas do Agent SDK e `claude -p`, MessageDisplay é executado uma vez por mensagem do assistente em vez de uma vez por lote de linhas. A chamada única chega após a mensagem ser 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 `delta` para cada mensagem recebe o mesmo texto total em ambos os modos.

1562 1552 

1563<h4 id="messagedisplay-input">1553<h4 id="messagedisplay-input">

1564 Entrada MessageDisplay1554 Entrada MessageDisplay

1565</h4>1555</h4>

1566 1556 

1567Além dos [campos de entrada comuns](#common-input-fields), os hooks MessageDisplay recebem identificadores para o turno e mensagem, a posição desta chamada dentro da mensagem e o novo texto em `delta`. Os limites de lote dependem de como o texto é transmitido, portanto use `index` e `final` para rastrear o progresso através de uma mensagem em vez de esperar que as linhas sejam agrupadas de uma forma particular.1557Além dos [campos de entrada comuns](#common-input-fields), hooks MessageDisplay recebem identificadores para o turno e mensagem, a posição desta chamada dentro da mensagem e o novo texto em `delta`. Os limites de lote dependem de como o texto é transmitido, então use `index` e `final` para rastrear o progresso através de uma mensagem em vez de esperar que as linhas sejam agrupadas de uma forma particular.

1568 1558 

1569| Campo | Descrição |1559| Campo | Descrição |

1570| :- | :- |1560| :- | :- |

1571| `turn_id` | UUID do turno atual |1561| `turn_id` | UUID do turno atual |

1572| `message_id` | UUID da mensagem do assistente sendo exibida. Estável em cada lote da mesma mensagem. Este não é o `msg_…` id da API, portanto não pode ser correlacionado com ids de mensagem de transcrição |1562| `message_id` | UUID da mensagem do assistente sendo exibida. Estável em cada lote da mesma mensagem. Este não é o `msg_…` id da API, então não pode ser correlacionado com ids de mensagem de transcrição |

1573| `index` | Índice baseado em zero deste lote dentro da mensagem |1563| `index` | Índice baseado em zero deste lote dentro da mensagem |

1574| `final` | `true` no último lote da mensagem. Cada mensagem tem exatamente um lote final |1564| `final` | `true` no último lote da mensagem. Cada mensagem tem exatamente um lote final |

1575| `delta` | As linhas recém-concluídas desde o lote anterior, incluindo 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 está vazio quando a mensagem termina em uma quebra de linha, portanto trate `final`, 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 |1565| `delta` | As linhas recém-concluídas desde o lote anterior, incluindo quebras de linha finais. Sempre linhas inteiras, exceto o lote final que pode terminar no meio da linha. Em execuções interativas, o delta do lote final está vazio quando a mensagem termina em uma quebra de linha, então trate `final`, 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 |

1576 1566 

1577```json theme={null}1567```json theme={null}

1578{1568{


1592 Saída MessageDisplay1582 Saída MessageDisplay

1593</h4>1583</h4>

1594 1584 

1595Além dos [campos de saída JSON](#json-output) disponíveis para todos os hooks, os hooks MessageDisplay podem retornar `displayContent` para substituir o delta na tela:1585Além dos [campos de saída JSON](#json-output) disponíveis para todos os hooks, hooks MessageDisplay podem retornar `displayContent` para substituir o delta na tela:

1596 1586 

1597| Campo | Descrição |1587| Campo | Descrição |

1598| :- | :- |1588| :- | :- |

1599| `displayContent` | Texto exibido no lugar do delta. Omita para exibir o original |1589| `displayContent` | Texto exibido no lugar do delta. Omita para exibir o original |

1600 1590 

1601Os hooks MessageDisplay não têm controle de decisão. Eles não podem bloquear a mensagem ou alterar o que é armazenado na transcrição ou enviado ao Claude. Claude Code atua em `displayContent` de sua saída JSON e descarta `systemMessage` e `continue`.1591Hooks MessageDisplay não têm controle de decisão. Eles não podem bloquear a mensagem ou mudar o que é armazenado na transcrição ou enviado ao Claude. Claude Code age em `displayContent` de sua saída JSON e descarta `systemMessage` e `continue`.

1602 1592 

1603Este exemplo remove formatação markdown das respostas do Claude para uma exibição de texto simples. O script lê cada lote de stdin, remove marcadores em negrito e backticks de código inline de `delta` e retorna o resultado como `displayContent`.1593Este exemplo remove formatação markdown das respostas do Claude para uma exibição de texto simples. O script lê cada lote de stdin, remove marcadores em negrito e backticks de código inline de `delta`, e retorna o resultado como `displayContent`.

1604 1594 

1605<Tabs>1595<Tabs>

1606 <Tab title="macOS/Linux">1596 <Tab title="macOS/Linux">


1682 PreToolUse1672 PreToolUse

1683</h3>1673</h3>

1684 1674 

1685Executado após Claude criar parâmetros de ferramenta e antes de processar a chamada de ferramenta. Corresponde a qualquer nome de ferramenta exceto `EndConversation`: ferramentas integradas como `Bash`, `PowerShell`, `Edit`, `Write`, `Read`, `Glob`, `Grep`, `Agent`, `Workflow`, `WebFetch`, `WebSearch`, `AskUserQuestion` e `ExitPlanMode`, e qualquer [nome de ferramenta MCP](#match-mcp-tools).1675Executado após Claude criar parâmetros de ferramenta e antes de processar a chamada de ferramenta. Corresponde a qualquer nome de ferramenta exceto `EndConversation`: ferramentas integradas como `Bash`, `PowerShell`, `Edit`, `Write`, `Read`, `Glob`, `Grep`, `Agent`, `Workflow`, `WebFetch`, `WebSearch`, `AskUserQuestion`, e `ExitPlanMode`, e qualquer [nome de ferramenta MCP](#match-mcp-tools).

1686 1676 

1687Para executar um hook quando um arquivo específico muda no disco, seja qual for o que o escreveu, use [FileChanged](#filechanged) em vez de corresponder a ferramentas de edição de arquivo por nome. Ao contrário de PreToolUse, Claude Code executa hooks FileChanged após a mudança, e eles não têm controle de decisão, portanto não podem bloquear a escrita.1677Para executar um hook quando um arquivo específico muda no disco, seja qual for o que o escreveu, use [FileChanged](#filechanged) em vez de corresponder a ferramentas de edição de arquivo por nome. Ao contrário de PreToolUse, Claude Code executa hooks FileChanged após a mudança, e eles não têm controle de decisão, então não podem bloquear a escrita.

1688 1678 

1689<Warning>1679<Warning>

1690 PreToolUse é executado apenas quando Claude chama uma ferramenta. Arquivos que você [referencia com `@` em seu prompt](/docs/pt/common-workflows#reference-files-and-directories) são adicionados sem nenhuma chamada de ferramenta: Claude Code insere seu conteúdo ao construir o prompt, portanto nenhum hook PreToolUse é disparado para eles, incluindo hooks correspondentes a `Read`. Para bloquear caminhos específicos de referências `@`, use uma [regra de negação `Read`](/docs/pt/permissions#read-and-edit) em vez disso.1680 PreToolUse é executado apenas quando Claude chama uma ferramenta. Arquivos que você [referencia com `@` em seu prompt](/docs/pt/common-workflows#reference-files-and-directories) são adicionados sem nenhuma chamada de ferramenta: Claude Code insere seu conteúdo ao construir o prompt, então nenhum hook PreToolUse é disparado para eles, incluindo hooks correspondendo a `Read`. Para bloquear caminhos específicos de referências `@`, use uma [regra de negação `Read`](/docs/pt/permissions#read-and-edit) em vez disso.

1691 1681 

1692 PreToolUse também não é disparado para [`EndConversation`](/docs/pt/tools-reference#endconversation-tool-behavior).1682 PreToolUse também não é disparado para [`EndConversation`](/docs/pt/tools-reference#endconversation-tool-behavior).

1693</Warning>1683</Warning>


1700 Entrada PreToolUse1690 Entrada PreToolUse

1701</h4>1691</h4>

1702 1692 

1703Além dos [campos de entrada comuns](#common-input-fields), os hooks PreToolUse recebem `tool_name`, `tool_input` e `tool_use_id`.1693Além dos [campos de entrada comuns](#common-input-fields), hooks PreToolUse recebem `tool_name`, `tool_input` e `tool_use_id`.

1704 1694 

1705Para uma [ferramenta MCP](#match-mcp-tools), a entrada também carrega `mcp_server`, um objeto com o `name` do servidor e uma `source` que diz de onde veio a definição do servidor. Os valores `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 diz como tratar um que você não reconhece. Baseie decisões de confiança em `source` em vez de em `name` ou no prefixo de nome de ferramenta `mcp__<server>__`. O campo `mcp_server` requer Claude Code v2.1.274 ou posterior.1695Para uma [ferramenta MCP](#match-mcp-tools), a entrada também carrega `mcp_server`, um objeto com o `name` do servidor e uma `source` que diz 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 diz como tratar um que você não reconhece. Baseie decisões de confiança em `source` em vez de em `name` ou no prefixo de nome de ferramenta `mcp__<server>__`. O campo `mcp_server` requer Claude Code v2.1.274 ou posterior.

1706 1696 

1707Para as ferramentas de arquivo `Write`, `Edit` e `Read`, `tool_input.file_path` é sempre absoluto:1697Para as ferramentas de arquivo `Write`, `Edit` e `Read`, `tool_input.file_path` é sempre absoluto:

1708 1698 

1709* Claude Code expande `~` e caminhos relativos antes dos hooks serem executados, portanto um hook que corresponde a caminhos não pode ser contornado via `~` ou uma ortografia relativa do mesmo caminho1699* Claude Code expande `~` e caminhos relativos antes dos hooks serem executados, então um hook que corresponde a caminhos não pode ser contornado via `~` ou uma ortografia relativa do mesmo caminho

1710* No Windows, o caminho chega com separadores de barra invertida, mesmo quando seu hook é executado sob Git Bash onde `$PWD` parece `/c/project`1700* No Windows, o caminho chega com separadores de barra invertida, mesmo quando seu hook é executado sob Git Bash onde `$PWD` parece `/c/project`

1711* Uma comparação escrita com barras para frente, como uma verificação `/src/`, nunca corresponde a um caminho de barra invertida, e a chamada de ferramenta prossegue como se o hook não tivesse nada a bloquear1701* Uma comparação escrita com barras para frente, como uma verificação `/src/`, nunca corresponde a um caminho de barra invertida, e a chamada de ferramenta prossegue como se o hook não tivesse nada a bloquear

1712* Normalize separadores antes de comparar: `FILE_PATH="${FILE_PATH//\\//}"` em Bash, ou `file_path.replace("\\", "/")` em Python, depois corresponda a um segmento de caminho como `/src/` em vez de ancorar com `^`, já que o caminho é absoluto1702* Normalize separadores antes de comparar: `FILE_PATH="${FILE_PATH//\\//}"` em Bash, ou `file_path.replace("\\", "/")` em Python, depois corresponda a um segmento de caminho como `/src/` em vez de ancorar com `^`, já que o caminho é absoluto


1739| :- | :- | :- | :- |1729| :- | :- | :- | :- |

1740| `command` | string | `"npm test"` | O comando de shell a executar |1730| `command` | string | `"npm test"` | O comando de shell a executar |

1741| `description` | string | `"Run test suite"` | Descrição opcional do que o comando faz |1731| `description` | string | `"Run test suite"` | Descrição opcional do que o comando faz |

1742| `timeout` | number | `120000` | Tempo limite 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 |1732| `timeout` | number | `120000` | Tempo limite opcional em milissegundos. Valores acima do [máximo](/docs/pt/tools-reference#bash-tool-behavior) são reduzidos ao máximo em vez de serem rejeitados |

1743| `run_in_background` | boolean | `false` | Se o comando deve ser executado em segundo plano |1733| `run_in_background` | boolean | `false` | Se o comando deve ser executado em segundo plano |

1744 1734 

1745Quando um comando Bash muda arquivos em um repositório Git, Claude Code pode registrar o que mudou. Ele registra as mudanças em cada modo de permissão quando a configuração [`bashEditDiffEnabled`](/docs/pt/settings-reference#basheditdiffenabled) ativa o registro; a entrada dessa configuração diz quais arquivos podem defini-la. Caso contrário, ele as registra apenas em modo automático e modo `bypassPermissions`, e apenas quando Claude Code direciona Claude a editar arquivos através de Bash. Defina `bashEditDiffEnabled` como `false` para desativar o registro. Comandos de fundo e comandos somente leitura não carregam diff.1735Quando um comando Bash muda arquivos em um repositório Git, Claude Code pode registrar o que mudou. Ele registra as mudanças em cada modo de permissão quando a configuração [`bashEditDiffEnabled`](/docs/pt/settings-reference#basheditdiffenabled) ativa o registro; a entrada dessa configuração diz quais arquivos podem defini-la. Caso contrário, ele as registra apenas em modo automático e modo `bypassPermissions`, e apenas quando Claude Code direciona Claude a editar arquivos através de Bash. Comandos de fundo e comandos somente leitura não carregam diff.

1746 1736 

1747Seu [hook PostToolUse](#posttooluse) então recebe os arquivos alterados em `tool_response.bashEditDiff`. A lista cobre o que mudou sob o repositório enquanto o comando era executado. Arquivos que Git ignora e arquivos em submódulos não são listados. Requer Claude Code v2.1.269 ou posterior.1737Seu [hook PostToolUse](#posttooluse) então recebe os arquivos alterados em `tool_response.bashEditDiff`. A lista cobre o que mudou sob o repositório enquanto o comando era executado. Arquivos que Git ignora e arquivos em submódulos não são listados. Requer Claude Code v2.1.269 ou posterior.

1748 1738 


1750 A lista é melhor esforço e em beta público. Claude Code pode perder uma mudança, incluir um arquivo que outro processo mudou ao mesmo tempo, ou parar em seus limites de tamanho. A forma do campo pode mudar. Use a lista para encontrar o que revisar, não para impor uma política.1740 A lista é melhor esforço e em beta público. Claude Code pode perder uma mudança, incluir um arquivo que outro processo mudou ao mesmo tempo, ou parar em seus limites de tamanho. A forma do campo pode mudar. Use a lista para encontrar o que revisar, não para impor uma política.

1751</Note>1741</Note>

1752 1742 

1753`changedFiles` e `files` listam o que o comando mudou; os campos restantes dizem como completo e confiável essa lista é.1743`changedFiles` e `files` listam o que o comando mudou; os campos restantes dizem como completa e confiável essa lista é.

1754 1744 

1755| Campo | Tipo | Exemplo | Descrição |1745| Campo | Tipo | Exemplo | Descrição |

1756| :- | :- | :- | :- |1746| :- | :- | :- | :- |


1758| `files` | array | `[{"filePath": "/path/to/src/app.ts", "hunks": [...]}]` | Diffs de até 5 arquivos alterados, para exibição. `created` ou `deleted` é `true` para um arquivo que o comando adicionou ou removeu |1748| `files` | array | `[{"filePath": "/path/to/src/app.ts", "hunks": [...]}]` | Diffs de até 5 arquivos alterados, para exibição. `created` ou `deleted` é `true` para um arquivo que o comando adicionou ou removeu |

1759| `moreFiles` | number | `2` | Contagem de arquivos alterados sem diff em `files` |1749| `moreFiles` | number | `2` | Contagem de arquivos alterados sem diff em `files` |

1760| `unavailable` | boolean | `true` | Definido quando o diff está incompleto ou não pôde ser obtido |1750| `unavailable` | boolean | `true` | Definido quando o diff está incompleto ou não pôde ser obtido |

1761| `skipped` | boolean | `true` | Definido para um comando Git que move a árvore de trabalho, como `git checkout` ou `git stash`, portanto Claude Code não obtém diff |1751| `skipped` | boolean | `true` | Definido para um comando Git que move a árvore de trabalho, como `git checkout` ou `git stash`, então Claude Code não tira diff |

1762| `shared` | boolean | `true` | Definido quando outra chamada de ferramenta Bash, como a de um subagente, foi executada no mesmo repositório ao mesmo tempo, portanto algumas mudanças listadas podem ser desse comando |1752| `shared` | boolean | `true` | Definido quando outra chamada de ferramenta Bash, como a de um subagente, foi executada no mesmo repositório ao mesmo tempo, então algumas mudanças listadas podem ser desse comando |

1763 1753 

1764<a id="powershell" />1754<a id="powershell" />

1765 1755 


1824 Glob1814 Glob

1825</h5>1815</h5>

1826 1816 

1827Encontra arquivos correspondentes a um padrão glob.1817Encontra arquivos correspondendo a um padrão glob.

1828 1818 

1829| Campo | Tipo | Exemplo | Descrição |1819| Campo | Tipo | Exemplo | Descrição |

1830| :- | :- | :- | :- |1820| :- | :- | :- | :- |


1842| `pattern` | string | `"TODO.*fix"` | Padrão de expressão regular para pesquisar |1832| `pattern` | string | `"TODO.*fix"` | Padrão de expressão regular para pesquisar |

1843| `path` | string | `"/path/to/dir"` | Arquivo ou diretório opcional para pesquisar |1833| `path` | string | `"/path/to/dir"` | Arquivo ou diretório opcional para pesquisar |

1844| `glob` | string | `"*.ts"` | Padrão glob opcional para filtrar arquivos |1834| `glob` | string | `"*.ts"` | Padrão glob opcional para filtrar arquivos |

1845| `output_mode` | string | `"content"` | `"content"`, `"files_with_matches"` ou `"count"`. Padrão é `"files_with_matches"` |1835| `output_mode` | string | `"content"` | `"content"`, `"files_with_matches"`, ou `"count"`. Padrão é `"files_with_matches"` |

1846| `-i` | boolean | `true` | Pesquisa insensível a maiúsculas e minúsculas |1836| `-i` | boolean | `true` | Pesquisa insensível a maiúsculas e minúsculas |

1847| `multiline` | boolean | `false` | Habilitar correspondência multilinha |1837| `multiline` | boolean | `false` | Habilitar correspondência multilinha |

1848 1838 


1886 1876 

1887| Campo | Tipo | Exemplo | Descrição |1877| Campo | Tipo | Exemplo | Descrição |

1888| :- | :- | :- | :- |1878| :- | :- | :- | :- |

1889| `status` | string | `"completed"` | `"completed"` para subagentes em primeiro plano, `"async_launched"` para subagentes em segundo plano. A partir da v2.1.198, subagentes são executados em segundo plano por padrão, portanto um `run_in_background` omitido também produz `"async_launched"` |1879| `status` | string | `"completed"` | `"completed"` para subagentes em primeiro plano, `"async_launched"` para subagentes em segundo plano. A partir da v2.1.198, subagentes são executados em segundo plano por padrão, então um `run_in_background` omitido também produz `"async_launched"` |

1890| `agentId` | string | `"a4d2c8f1e0b3a297"` | Identificador para a execução do subagente |1880| `agentId` | string | `"a4d2c8f1e0b3a297"` | Identificador para a execução do subagente |

1891| `content` | array | `[{"type": "text", "text": "Found 12 endpoints..."}]` | Os blocos de texto final do subagente, ou, para um subagente cujo relatório passa por `SubagentHandback`, uma nota breve sobre esse hand-back em seu lugar |1881| `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 esse hand-back em seu lugar |

1892| `resolvedModel` | string | `"claude-sonnet-4-5"` | Modelo em que o subagente começou, que pode diferir do modelo solicitado |1882| `resolvedModel` | string | `"claude-sonnet-4-5"` | Modelo em que o subagente começou, que pode diferir do modelo solicitado |

1893| `modelsUsed` | array | `["claude-sonnet-4-5", "claude-haiku-4-5"]` | Modelos usados em ordem, com repetições consecutivas colapsadas; definido apenas quando o modelo foi trocado durante a execução. Requer Claude Code v2.1.212 ou posterior |1883| `modelsUsed` | array | `["claude-sonnet-4-5", "claude-haiku-4-5"]` | Modelos usados em ordem, com repetições consecutivas colapsadas; definido apenas quando o modelo foi trocado durante a execução. Requer Claude Code v2.1.212 ou posterior |

1894| `totalTokens` | number | `12450` | Contagem de tokens da solicitação final da API do subagente: tokens de entrada, saída e cache combinados. Isso não é um total em toda a execução |1884| `totalTokens` | number | `12450` | Contagem de tokens da solicitação final da API do subagente: tokens de entrada, saída e cache combinados. Isso não é um total em toda a execução |

1895| `totalDurationMs` | number | `48211` | Duração de relógio de parede da execução do subagente |1885| `totalDurationMs` | number | `48211` | Duração de relógio de parede da execução do subagente |

1896| `totalToolUseCount` | number | `7` | Contagem de chamadas de ferramenta que o subagente fez |1886| `totalToolUseCount` | number | `7` | Contagem de chamadas de ferramenta que o subagente fez |

1897| `usage` | object | `{"input_tokens": 8320, ...}` | Divisão de tokens por tipo da solicitação final da API: `input_tokens`, `output_tokens`, `cache_creation_input_tokens`, `cache_read_input_tokens` |1887| `usage` | object | `{"input_tokens": 8320, ...}` | Divisão de token por tipo da solicitação final da API: `input_tokens`, `output_tokens`, `cache_creation_input_tokens`, `cache_read_input_tokens` |

1898 1888 

1899No Claude Code v2.1.271 ou posterior, um subagente que é executado com a ferramenta [`SubagentHandback`](/docs/pt/tools-reference), que Claude Code fornece em [modo automático](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode), entrega seu relatório através dessa ferramenta em vez de retorná-lo como texto. O campo `content` de seu resultado `completed` então carrega uma nota breve sobre esse hand-back em vez do relatório em si. Para ler o relatório, corresponda a um hook `PreToolUse` ou `PostToolUse` em `SubagentHandback` e leia `tool_input.message`.1889No Claude Code v2.1.271 ou posterior, um subagente que é executado com a ferramenta [`SubagentHandback`](/docs/pt/tools-reference), que Claude Code fornece em [modo automático](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode), entrega seu relatório através dessa ferramenta em vez de retorná-lo como texto. O campo `content` de seu resultado `completed` então carrega uma nota curta sobre esse hand-back em vez do relatório em si. Para ler o relatório, corresponda a um hook `PreToolUse` ou `PostToolUse` em `SubagentHandback` e leia `tool_input.message`.

1900 1890 

1901Para subagentes em segundo plano, a ferramenta retorna quando a tarefa se move para o fundo, portanto `tool_response` não carrega campos de uso: um lançamento em segundo plano retorna imediatamente, e uma tarefa em primeiro plano que Claude Code coloca em segundo plano durante a execução retorna nessa transição. Ele tem `status: "async_launched"`, `agentId`, `description`, `prompt`, `outputFile` e `resolvedModel`.1891Para subagentes em segundo plano, a ferramenta retorna quando a tarefa se move para o segundo plano, então `tool_response` não carrega campos de uso: um lançamento em segundo plano retorna imediatamente, e uma tarefa em primeiro plano que Claude Code coloca em segundo plano durante a execução retorna nessa transição. Ele tem `status: "async_launched"`, `agentId`, `description`, `prompt`, `outputFile` e `resolvedModel`.

1902 1892 

1903Em uma resposta `completed`, `resolvedModel` nomeia o modelo em que o subagente começou, que pode diferir do valor `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 se moveu para o fundo, portanto uma troca que aconteceu antes de colocar em segundo plano é refletida lá. `modelsUsed` e o comportamento `resolvedModel` no tempo de colocação em segundo plano requerem Claude Code v2.1.212 ou posterior.1893Em uma resposta `completed`, `resolvedModel` nomeia o modelo em que o subagente começou, que pode diferir do valor `model` em `tool_input`, como quando `availableModels` ou outra sobrescrita se aplica. Em uma resposta `async_launched`, `resolvedModel` nomeia o modelo em uso quando o agente se moveu para o segundo plano, então uma troca que aconteceu antes de colocar em segundo plano é refletida lá. `modelsUsed` e o comportamento de `resolvedModel` no tempo de colocação em segundo plano requerem Claude Code v2.1.212 ou posterior.

1904 1894 

1905<a id="askuserquestion" />1895<a id="askuserquestion" />

1906 1896 


1913| Campo | Tipo | Exemplo | Descrição |1903| Campo | Tipo | Exemplo | Descrição |

1914| :- | :- | :- | :- |1904| :- | :- | :- | :- |

1915| `questions` | array | `[{"question": "Which framework?", "header": "Framework", "options": [{"label": "React"}], "multiSelect": false}]` | Perguntas a apresentar, cada uma com uma string `question`, `header` curto, array `options` e flag `multiSelect` opcional |1905| `questions` | array | `[{"question": "Which framework?", "header": "Framework", "options": [{"label": "React"}], "multiSelect": false}]` | Perguntas a apresentar, cada uma com uma string `question`, `header` curto, array `options` e flag `multiSelect` opcional |

1916| `answers` | object | `{"Which framework?": "React"}` | Opcional. Mapeia texto de pergunta para rótulo de opção selecionada. Respostas de seleção múltipla unem rótulos com vírgulas. Claude não define este campo; forneça-o via `updatedInput` para responder programaticamente |1906| `answers` | object | `{"Which framework?": "React"}` | Opcional. Mapeia texto de pergunta para o rótulo de opção selecionada. Respostas de seleção múltipla unem rótulos com vírgulas. Claude não define este campo; forneça-o via `updatedInput` para responder programaticamente |

1917 1907 

1918<h5 id="exitplanmode">1908<h5 id="exitplanmode">

1919 ExitPlanMode1909 ExitPlanMode

1920</h5>1910</h5>

1921 1911 

1922Apresenta um plano e pede ao usuário para aprová-lo antes de Claude sair do [modo de plano](/docs/pt/permission-modes#analyze-before-you-edit-with-plan-mode). Claude escreve o plano em um arquivo no disco antes de chamar a ferramenta, portanto o `tool_input` literal do modelo é tipicamente vazio. Claude Code injeta o conteúdo do plano e o caminho do arquivo antes de passar a entrada para hooks.1912Apresenta um plano e pede ao usuário para aprová-lo antes de Claude sair do [modo de plano](/docs/pt/permission-modes#analyze-before-you-edit-with-plan-mode). Claude escreve o plano em um arquivo no disco antes de chamar a ferramenta, então a `tool_input` literal do modelo é tipicamente vazia. Claude Code injeta o conteúdo do plano e o caminho do arquivo antes de passar a entrada para hooks.

1923 1913 

1924| Campo | Tipo | Exemplo | Descrição |1914| Campo | Tipo | Exemplo | Descrição |

1925| :- | :- | :- | :- |1915| :- | :- | :- | :- |


1933 Controle de decisão PreToolUse1923 Controle de decisão PreToolUse

1934</h4>1924</h4>

1935 1925 

1936Os 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, PreToolUse retorna sua decisão dentro de um objeto `hookSpecificOutput`. Isso lhe dá controle mais rico: quatro resultados (permitir, negar, perguntar ou adiar) mais a capacidade de modificar a entrada da ferramenta antes da execução.1926Hooks `PreToolUse` podem controlar se uma chamada de ferramenta prossegue. Ao contrário de outros hooks que usam um campo `decision` de nível superior, PreToolUse retorna sua decisão dentro de um objeto `hookSpecificOutput`. Isso lhe dá controle mais rico: quatro resultados (permitir, negar, perguntar ou adiar) mais a capacidade de modificar a entrada da ferramenta antes da execução.

1937 1927 

1938| Campo | Descrição |1928| Campo | Descrição |

1939| :- | :- |1929| :- | :- |

1940| `permissionDecision` | `"allow"` pula o prompt de permissão, exceto para as [ações que nenhum modo auto-aprova](/docs/pt/permission-modes#actions-no-mode-auto-approves) e para `AskUserQuestion` e `ExitPlanMode`, que precisam de [`updatedInput` emparelhado com ele](#allow-with-updatedinput). `"deny"` impede a chamada de ferramenta. `"ask"` solicita ao usuário para confirmar. `"defer"` sai graciosamente para que a ferramenta possa ser retomada mais tarde. [Regras de negação e pergunta](/docs/pt/permissions#manage-permissions) ainda são avaliadas independentemente do que o hook retorna |1930| `permissionDecision` | `"allow"` pula o prompt de permissão, exceto para as [ações que nenhum modo auto-aprova](/docs/pt/permission-modes#actions-no-mode-auto-approves) e para `AskUserQuestion` e `ExitPlanMode`, que precisam de [`updatedInput` emparelhado com ele](#allow-with-updatedinput). `"deny"` impede a chamada de ferramenta. `"ask"` solicita ao usuário para confirmar. `"defer"` sai graciosamente para que a ferramenta possa ser retomada mais tarde. [Regras de negação e pergunta](/docs/pt/permissions#manage-permissions) ainda são avaliadas independentemente do que o hook retorna |

1941| `permissionDecisionReason` | Para `"allow"` e `"ask"`, mostrado ao usuário mas não ao Claude. Para `"deny"`, mostrado ao Claude. Para `"defer"`, ignorado |1931| `permissionDecisionReason` | Para `"deny"`, mostrado ao Claude. Para `"ask"`, mostrado no prompt de permissão. Para `"allow"` e `"defer"`, escrito apenas no [log de depuração](#debug-hooks) |

1942| `updatedInput` | Modifica os parâmetros de entrada da ferramenta antes da execução. Substitui o objeto de entrada inteiro, portanto inclua campos inalterados ao lado dos modificados. Claude Code avalia regras de permissão e a elegibilidade de [auto-fundo](/docs/pt/tools-reference#background-commands) de um comando Bash contra a entrada que seu hook retorna, não a entrada que Claude enviou. Combine com `"allow"` para auto-aprovar, ou `"ask"` para mostrar a entrada modificada ao usuário. Para `"defer"`, ignorado |1932| `updatedInput` | Modifica os parâmetros de entrada da ferramenta antes da execução. Substitui o objeto de entrada inteiro, então inclua campos inalterados junto com os modificados. Claude Code avalia regras de permissão e a elegibilidade de [auto-fundo](/docs/pt/tools-reference#background-commands) de um comando Bash contra a entrada que seu hook retorna, não a entrada que Claude enviou. Combine com `"allow"` para auto-aprovar, ou `"ask"` para mostrar a entrada modificada ao usuário. Para `"defer"`, ignorado |

1943| `additionalContext` | String adicionada ao contexto do Claude ao lado do resultado da ferramenta. Ignorado quando `permissionDecision` é `"defer"`. Veja [Adicionar contexto para Claude](#add-context-for-claude) |1933| `additionalContext` | String adicionada ao contexto do Claude junto com o resultado da ferramenta. Ignorado quando `permissionDecision` é `"defer"`. Veja [Adicionar contexto para Claude](#add-context-for-claude) |

1944 1934 

1945Quando vários hooks PreToolUse retornam decisões diferentes, a precedência é `deny` > `defer` > `ask` > `allow`.1935Quando vários hooks PreToolUse retornam decisões diferentes, a precedência é `deny` > `defer` > `ask` > `allow`.

1946 1936 

1947Um hook que bloqueia ao sair com 2 roteia da mesma forma que `"deny"`: Claude vê a mensagem stderr como o motivo da negação.1937Um hook que bloqueia saindo com 2 roteia da mesma forma que `"deny"`: Claude vê a mensagem stderr como o motivo da negação.

1948 1938 

1949Quando um hook retorna `"ask"`, o prompt de permissão exibido ao usuário inclui um rótulo identificando de onde o hook veio: `[settings]` para um hook de qualquer arquivo de configurações ou de frontmatter de agente, `[plugin:<name>]` para um hook de plugin, ou `[skill]` para um hook de frontmatter de skill. Isso ajuda os usuários a entender qual fonte de configuração está solicitando confirmação.1939Quando um hook retorna `"ask"`, o prompt de permissão exibido ao usuário inclui um rótulo identificando de onde o hook veio: `[settings]` para um hook de qualquer arquivo de configurações ou de frontmatter de agente, `[plugin:<name>]` para um hook de plugin, ou `[skill]` para um hook de frontmatter de skill. Isso ajuda os usuários a entender qual fonte de configuração está solicitando confirmação.

1950 1940 


1966 1956 

1967<span id="allow-with-updatedinput" />1957<span id="allow-with-updatedinput" />

1968 1958 

1969Em [modo não interativo](/docs/pt/headless) com a flag `-p`, Claude Code oferece `AskUserQuestion` e `ExitPlanMode` 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. Essas ferramentas requerem interação do usuário. Retornar `permissionDecision: "allow"` junto com `updatedInput` satisfaz esse requisito: o hook lê a entrada da ferramenta de stdin, coleta a resposta através de sua própria UI e a retorna em `updatedInput` para que a ferramenta seja executada sem solicitar. Retornar `"allow"` sozinho não é suficiente para essas ferramentas. Para `AskUserQuestion`, repita o array `questions` original e adicione um objeto [`answers`](#askuserquestion) mapeando o texto de cada pergunta para a resposta escolhida.1959Em [modo não interativo](/docs/pt/headless) com a flag `-p`, Claude Code oferece `AskUserQuestion` e `ExitPlanMode` 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. Essas ferramentas requerem interação do usuário. Retornar `permissionDecision: "allow"` junto com `updatedInput` satisfaz esse requisito: o hook lê a entrada da ferramenta de stdin, coleta a resposta através de sua própria UI, e a retorna em `updatedInput` para que a ferramenta seja executada sem solicitar. Retornar `"allow"` sozinho não é suficiente para essas ferramentas. Para `AskUserQuestion`, repita o array `questions` original e adicione um objeto [`answers`](#askuserquestion) mapeando o texto de cada pergunta para a resposta escolhida.

1970 1960 

1971A partir da v2.1.199, uma ferramenta MCP cujo servidor a marca com [`_meta["anthropic/requiresUserInteraction"]`](/docs/pt/mcp#require-approval-for-a-specific-tool) é mais rigorosa: um hook não pode pular seu prompt de aprovação com `"allow"`, com ou sem `updatedInput`, porque Claude Code não pode confirmar que o hook coletou a interação que a ferramenta precisa.1961A partir da v2.1.199, uma ferramenta MCP cujo servidor a marca com [`_meta["anthropic/requiresUserInteraction"]`](/docs/pt/mcp#require-approval-for-a-specific-tool) é mais rigorosa: um hook não pode pular seu prompt de aprovação com `"allow"`, com ou sem `updatedInput`, porque Claude Code não pode confirmar que o hook coletou a interação que a ferramenta precisa.

1972 1962 

1973<Note>1963<Note>

1974 PreToolUse anteriormente usava campos `decision` e `reason` de nível superior, mas estes estão descontinuados para este evento. Use `hookSpecificOutput.permissionDecision` e `hookSpecificOutput.permissionDecisionReason` em vez disso. Os valores descontinuados `"approve"` e `"block"` mapeiam para `"allow"` e `"deny"` respectivamente. Outros eventos como PostToolUse e Stop continuam usando `decision` e `reason` de nível superior como seu formato atual.1964 PreToolUse anteriormente usava campos `decision` e `reason` de nível superior, mas esses estão descontinuados para este evento. Use `hookSpecificOutput.permissionDecision` e `hookSpecificOutput.permissionDecisionReason` em vez disso. Os valores descontinuados `"approve"` e `"block"` mapeiam para `"allow"` e `"deny"` respectivamente. Outros eventos como PostToolUse e Stop continuam usando `decision` e `reason` de nível superior como seu formato atual.

1975</Note>1965</Note>

1976 1966 

1977<h4 id="defer-a-tool-call-for-later">1967<h4 id="defer-a-tool-call-for-later">


1980 1970 

1981`"defer"` é para integrações que executam `claude -p` como um subprocesso e leem sua saída JSON, como um aplicativo Agent SDK ou uma UI personalizada construída em cima de Claude Code. Permite que esse processo de chamada pause Claude em uma chamada de ferramenta, colete entrada através de sua própria interface e retome onde parou. Claude Code honra este valor apenas em [modo não interativo](/docs/pt/headless) com a flag `-p`. Em sessões interativas, ele registra um aviso e ignora o resultado do hook.1971`"defer"` é para integrações que executam `claude -p` como um subprocesso e leem sua saída JSON, como um aplicativo Agent SDK ou uma UI personalizada construída em cima de Claude Code. Permite que esse processo de chamada pause Claude em uma chamada de ferramenta, colete entrada através de sua própria interface e retome onde parou. Claude Code honra este valor apenas em [modo não interativo](/docs/pt/headless) com a flag `-p`. Em sessões interativas, ele registra um aviso e ignora o resultado do hook.

1982 1972 

1983A ferramenta `AskUserQuestion` é o caso típico: Claude quer fazer uma pergunta 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 comece a execução com uma. A viagem de ida e volta funciona assim:1973A ferramenta `AskUserQuestion` é o caso típico: Claude quer fazer uma pergunta 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`, então comece a execução com um. A viagem de ida e volta funciona assim:

1984 1974 

19851. Claude chama `AskUserQuestion`. O hook `PreToolUse` é disparado.19751. Claude chama `AskUserQuestion`. O hook `PreToolUse` é disparado.

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


2004}1994}

2005```1995```

2006 1996 

2007Não há tempo limite ou limite de 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 de 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 de chamada controla quando quebrar o loop eventualmente retornando `"allow"` ou `"deny"` do hook.1997Não há tempo limite ou limite de tentativas. A sessão permanece no disco até que você a retome, sujeita à varredura de retenção [`cleanupPeriodDays`](/docs/pt/settings-reference#cleanupperioddays), que deleta arquivos de sessão após 30 dias por padrão, seguindo as [regras de 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 de chamada controla quando quebrar o loop retornando eventualmente `"allow"` ou `"deny"` do hook.

2008 1998 

2009`"defer"` funciona apenas quando Claude faz uma única chamada de ferramenta no turno. Se Claude faz várias chamadas de ferramenta de uma vez, `"defer"` é ignorado com um aviso e a ferramenta prossegue através do fluxo de permissão normal. A restrição existe porque retomar pode apenas re-executar uma ferramenta: não há maneira de adiar uma chamada de um lote sem deixar as outras não resolvidas.1999`"defer"` funciona apenas quando Claude faz uma única chamada de ferramenta no turno. Se Claude faz várias chamadas de ferramenta de uma vez, `"defer"` é ignorado com um aviso e a ferramenta prossegue através do fluxo de permissão normal. A restrição existe porque retomar pode apenas re-executar uma ferramenta: não há forma de adiar uma chamada de um lote sem deixar as outras não resolvidas.

2010 2000 

2011Se 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 do hook ser disparado. Isso acontece quando um servidor MCP que forneceu a ferramenta não está conectado para a sessão retomada. O payload `deferred_tool_use` ainda é incluído para que você possa identificar qual ferramenta desapareceu.2001Se 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 do hook ser disparado. Isso acontece quando um servidor MCP que forneceu a ferramenta não está conectado para a sessão retomada. O payload `deferred_tool_use` ainda é incluído para que você possa identificar qual ferramenta desapareceu.

2012 2002 

2013<Note>2003<Note>

2014 Para retomar uma sessão adiada em modo de plano, passe [`--permission-prompt-tool`](/docs/pt/cli-reference#cli-flags) junto com `--resume` para que Claude Code possa apresentar o plano para aprovação. Sem ele, Claude Code não restaura o modo de plano. Requer Claude Code v2.1.246 ou posterior.2004 Para retomar uma sessão adiada em modo de plano, passe [`--permission-prompt-tool`](/docs/pt/cli-reference#cli-flags) junto com `--resume` para que Claude Code possa apresentar o plano para aprovação. Se você passar certas outras flags de lançamento, a execução retomada não retorna ao modo de plano; veja [Retomar em modo de plano com `-p`](/docs/pt/sessions#resume-in-plan-mode-with-p). Requer Claude Code v2.1.246 ou posterior.

2015 2005 

2016 Quando você retoma com `-p`, Claude Code não restaura nenhum outro modo de permissão armazenado. Ele inicia a execução no modo de permissão que uma nova execução `claude -p` iniciaria, portanto passe `--permission-mode` ou `--dangerously-skip-permissions` novamente se a sessão adiada usou uma. Quando você retoma com `claude --resume <session-id>` sem `-p`, Claude Code restaura o modo de permissão armazenado, com as exceções listadas em [modo de permissão ao retomar](/docs/pt/sessions#permission-mode-on-resume).2006 Quando você retoma com `-p`, Claude Code não restaura nenhum outro modo de permissão armazenado. Ele inicia a execução no modo de permissão que uma nova execução `claude -p` iniciaria, então passe `--permission-mode` ou `--dangerously-skip-permissions` novamente se a sessão adiada usou um. Quando você retoma com `claude --resume <session-id>` sem `-p`, Claude Code restaura o modo de permissão armazenado, com as exceções listadas em [modo de permissão ao retomar](/docs/pt/sessions#permission-mode-on-resume).

2017</Note>2007</Note>

2018 2008 

2019<h3 id="permissionrequest">2009<h3 id="permissionrequest">


2027 2017 

2028Claude Code não executa hooks PermissionRequest para a [solicitaçã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`.2018Claude Code não executa hooks PermissionRequest para a [solicitaçã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`.

2029 2019 

2030Corresponde ao nome da ferramenta, mesmos valores que PreToolUse.2020Corresponde no nome da ferramenta, mesmos valores que PreToolUse.

2031 2021 

2032<h4 id="permissionrequest-input">2022<h4 id="permissionrequest-input">

2033 Entrada PermissionRequest2023 Entrada PermissionRequest

2034</h4>2024</h4>

2035 2025 

2036Os hooks PermissionRequest recebem campos `tool_name` e `tool_input` como hooks PreToolUse, mas sem `tool_use_id`. Para uma ferramenta MCP, eles também recebem o objeto [`mcp_server`](#pretooluse-input). Um array `permission_suggestions` opcional contém as [atualizações de permissão](#permission-update-entries) que Claude Code sugere para esta solicitação, como adicionar uma regra de permissão ou alterar o modo de permissão.2026Hooks PermissionRequest recebem campos `tool_name` e `tool_input` como hooks PreToolUse, mas sem `tool_use_id`. Para uma ferramenta MCP, eles também recebem o objeto [`mcp_server`](#pretooluse-input). Um array `permission_suggestions` opcional contém as [atualizações de permissão](#permission-update-entries) que Claude Code sugere para esta solicitação, como adicionar uma regra de permissão ou mudar o modo de permissão.

2037 2027 

2038O array `permission_suggestions` não é uma lista exata das opções que você vê, porque cada diálogo de permissão constrói suas próprias opções. Alguns diálogos, como o para edições de arquivo, não leem o array e derivam suas opções da solicitação em si. Um diálogo que o faz pode ainda reter uma opção cuja sugestão permanece no array, por exemplo quando [`allowManagedPermissionRulesOnly`](/docs/pt/settings-reference#allowmanagedpermissionrulesonly) oculta opções de salvamento de regra. 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 através de uma atualização de permissão.2028O array `permission_suggestions` não é uma lista exata das opções que você vê, porque cada diálogo de permissão constrói suas próprias opções. Alguns diálogos, como o para edições de arquivo, não leem o array e derivam suas opções da solicitação em si. Um diálogo que o lê pode ainda reter uma opção cuja sugestão permanece no array, por exemplo quando [`allowManagedPermissionRulesOnly`](/docs/pt/settings-reference#allowmanagedpermissionrulesonly) oculta opções de salvamento de regra. Ele também pode oferecer opções que não têm entrada de sugestão, como [**Sim, e mude para modo automático**](/docs/pt/permission-modes#switch-permission-modes), que muda o modo de permissão diretamente em vez de através de uma atualização de permissão.

2039 2029 

2040Os hooks PreToolUse são executados antes de cada chamada de ferramenta, independentemente de precisar de permissão. Os hooks PermissionRequest são executados apenas quando Claude Code está prestes a pedir permissão, ou quando de outra forma auto-negaria uma chamada que não pode solicitar. Nenhum evento é disparado para [`EndConversation`](/docs/pt/tools-reference#endconversation-tool-behavior).2030Hooks PreToolUse são executados antes de cada chamada de ferramenta, independentemente de precisar de permissão. Hooks PermissionRequest são executados apenas quando Claude Code está prestes a pedir permissão, ou quando de outra forma negaria automaticamente uma chamada que não pode solicitar. Nenhum evento é disparado para [`EndConversation`](/docs/pt/tools-reference#endconversation-tool-behavior).

2041 2031 

2042```json theme={null}2032```json theme={null}

2043{2033{


2066 Controle de decisão PermissionRequest2056 Controle de decisão PermissionRequest

2067</h4>2057</h4>

2068 2058 

2069Os hooks `PermissionRequest` podem permitir ou negar solicitações de permissão. Além dos [campos de saída JSON](#json-output) disponíveis para todos os hooks, seu script de hook pode retornar um objeto `decision` com esses campos específicos do evento:2059Hooks `PermissionRequest` podem permitir ou negar solicitações de permissão. Além dos [campos de saída JSON](#json-output) disponíveis para todos os hooks, seu script de hook pode retornar um objeto `decision` com esses campos específicos do evento:

2070 2060 

2071| Campo | Descrição |2061| Campo | Descrição |

2072| :- | :- |2062| :- | :- |

2073| `behavior` | `"allow"` concede a permissão, `"deny"` a nega. [Regras de negação e pergunta](/docs/pt/permissions#manage-permissions) ainda são avaliadas, portanto um hook retornando `"allow"` não sobrescreve uma regra de negação correspondente |2063| `behavior` | `"allow"` concede a permissão, `"deny"` a nega. [Regras de negação e pergunta](/docs/pt/permissions#manage-permissions) ainda são avaliadas, então um hook retornando `"allow"` não sobrescreve uma regra de negação correspondente |

2074| `updatedInput` | Para `"allow"` apenas: modifica os parâmetros de entrada da ferramenta antes da execução. Substitui o objeto de entrada inteiro, portanto inclua campos inalterados ao lado dos modificados. A entrada modificada é re-avaliada contra regras de negação e pergunta |2064| `updatedInput` | Para `"allow"` apenas: modifica os parâmetros de entrada da ferramenta antes da execução. Substitui o objeto de entrada inteiro, então inclua campos inalterados junto com os modificados. A entrada modificada é re-avaliada contra regras de negação e pergunta |

2075| `updatedPermissions` | Para `"allow"` apenas: 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 |2065| `updatedPermissions` | Para `"allow"` apenas: array de [entradas de atualização de permissão](#permission-update-entries) a aplicar, como adicionar uma regra de permissão ou mudar o modo de permissão da sessão |

2076| `message` | Para `"deny"` apenas: diz ao Claude por que a permissão foi negada |2066| `message` | Para `"deny"` apenas: diz ao Claude por que a permissão foi negada |

2077| `interrupt` | Para `"deny"` apenas: se `true`, para Claude |2067| `interrupt` | Para `"deny"` apenas: se `true`, para Claude |

2078 2068 


2100 2090 

2101| `type` | Campos | Efeito |2091| `type` | Campos | Efeito |

2102| :- | :- | :- |2092| :- | :- | :- |

2103| `addRules` | `rules`, `behavior`, `destination` | Adiciona regras de permissão. `rules` é um array de objetos `{toolName, ruleContent?}`. Omita `ruleContent` para corresponder a toda a ferramenta. `behavior` é `"allow"`, `"deny"` ou `"ask"` |2093| `addRules` | `rules`, `behavior`, `destination` | Adiciona regras de permissão. `rules` é um array de objetos `{toolName, ruleContent?}`. Omita `ruleContent` para corresponder a toda a ferramenta. `behavior` é `"allow"`, `"deny"`, ou `"ask"` |

2104| `replaceRules` | `rules`, `behavior`, `destination` | Substitui todas as regras do `behavior` dado no `destination` pelas `rules` fornecidas |2094| `replaceRules` | `rules`, `behavior`, `destination` | Substitui todas as regras do `behavior` dado no `destination` pelas `rules` fornecidas |

2105| `removeRules` | `rules`, `behavior`, `destination` | Remove regras correspondentes do `behavior` dado |2095| `removeRules` | `rules`, `behavior`, `destination` | Remove regras correspondentes do `behavior` dado |

2106| `setMode` | `mode`, `destination` | Altera o modo de permissão. Modos válidos são `default`, `auto`, `acceptEdits`, `dontAsk`, `bypassPermissions`, `plan` e `manual` como um alias para `default`. O alias `manual` requer Claude Code v2.1.200 ou posterior |2096| `setMode` | `mode`, `destination` | Muda o modo de permissão. Modos válidos são `default`, `auto`, `acceptEdits`, `dontAsk`, `bypassPermissions`, `plan`, e `manual` como um alias para `default`. O alias `manual` requer Claude Code v2.1.200 ou posterior |

2107| `addDirectories` | `directories`, `destination` | Adiciona diretórios de trabalho. `directories` é um array de strings de caminho |2097| `addDirectories` | `directories`, `destination` | Adiciona diretórios de trabalho. `directories` é um array de strings de caminho |

2108| `removeDirectories` | `directories`, `destination` | Remove diretórios de trabalho |2098| `removeDirectories` | `directories`, `destination` | Remove diretórios de trabalho |

2109 2099 

2110<Note>2100<Note>

2111 `setMode` com `bypassPermissions` só tem efeito se você iniciou a sessão com modo bypass já disponível: `--dangerously-skip-permissions`, `--permission-mode bypassPermissions`, `--allow-dangerously-skip-permissions` ou `permissions.defaultMode: "bypassPermissions"` em [configurações de usuário, `--settings` ou gerenciadas](/docs/pt/settings-reference#permissions-defaultmode). Caso contrário, a atualização é uma não-operação. A atualização também é uma não-operação quando [`permissions.disableBypassPermissionsMode`](/docs/pt/permissions#managed-settings) desabilita o modo, ou quando a sessão começa em [modo restrito](/docs/pt/cli-reference#cli-flags).2101 `setMode` com `bypassPermissions` só tem efeito se você iniciou a sessão com modo bypass já disponível: `--dangerously-skip-permissions`, `--permission-mode bypassPermissions`, `--allow-dangerously-skip-permissions`, ou `permissions.defaultMode: "bypassPermissions"` em [configurações de usuário, `--settings`, ou gerenciadas](/docs/pt/settings-reference#permissions-defaultmode). Caso contrário, a atualização é uma não-operação. A atualização também é uma não-operação quando [`permissions.disableBypassPermissionsMode`](/docs/pt/permissions#managed-settings) desabilita o modo, ou quando a sessão começa em [modo restrito](/docs/pt/cli-reference#cli-flags).

2112 2102 

2113 `bypassPermissions` nunca é persistido como `defaultMode` independentemente de `destination`.2103 `bypassPermissions` nunca é persistido como `defaultMode` independentemente de `destination`.

2114</Note>2104</Note>

2115 2105 

2116O campo `destination` em cada entrada determina se a mudança permanece na memória ou persiste em um arquivo de configurações.2106O campo `destination` em cada entrada determina se a mudança permanece na memória ou persiste em um arquivo de configurações.

2117 2107 

2118| `destination` | Escreve para |2108| `destination` | Escreve em |

2119| :- | :- |2109| :- | :- |

2120| `session` | apenas na memória, descartado quando a sessão termina |2110| `session` | apenas na memória, descartado quando a sessão termina |

2121| `localSettings` | `.claude/settings.local.json` |2111| `localSettings` | `.claude/settings.local.json` |


2130 2120 

2131Executado imediatamente após uma ferramenta ser concluída com sucesso.2121Executado imediatamente após uma ferramenta ser concluída com sucesso.

2132 2122 

2133Corresponde ao nome da ferramenta, mesmos valores que PreToolUse.2123Corresponde no nome da ferramenta, mesmos valores que PreToolUse.

2134 2124 

2135Corresponda mais amplamente quando o nome da ferramenta não é o filtro certo:2125Corresponda mais amplamente quando o nome da ferramenta não é o filtro certo:

2136 2126 

2137* 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 o que mudou por si mesmo, por exemplo executando `git status --porcelain`, que também lista arquivos não rastreados que `git diff` perde. Para chamadas de ferramenta que falham, adicione o mesmo hook em [PostToolUseFailure](#posttoolusefailure).2127* 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 o que mudou por si mesmo, por exemplo executando `git status --porcelain`, que também lista arquivos não rastreados que `git diff` perde. Para chamadas de ferramenta que falham, adicione o mesmo hook em [PostToolUseFailure](#posttoolusefailure).

2138* Para executar um hook quando um arquivo específico muda no disco, seja qual for o que o escreveu, use [FileChanged](#filechanged). Claude Code não executa um hook `PostToolUse` correspondente a `Edit|Write` quando um comando `Bash` ou um processo fora de Claude Code reescreve o mesmo arquivo.2128* Para executar um hook quando um arquivo específico muda no disco, seja qual for o que o escreveu, use [FileChanged](#filechanged). Claude Code não executa um hook `PostToolUse` correspondendo a `Edit|Write` quando um comando `Bash` ou um processo fora de Claude Code reescreve o mesmo arquivo.

2139 2129 

2140<h4 id="posttooluse-input">2130<h4 id="posttooluse-input">

2141 Entrada PostToolUse2131 Entrada PostToolUse

2142</h4>2132</h4>

2143 2133 

2144Os hooks `PostToolUse` são disparados após uma ferramenta já ter sido executada com sucesso. A entrada inclui tanto `tool_input`, os argumentos enviados para a ferramenta, quanto `tool_response`, o resultado que ela retornou. O esquema exato para ambos depende da ferramenta. Os caminhos `tool_input` de ferramenta de arquivo chegam no mesmo formato que para [PreToolUse](#pretooluse-input): sempre absoluto, com os separadores nativos da plataforma, portanto barras invertidas no Windows. Para uma ferramenta MCP, a entrada também carrega o objeto [`mcp_server`](#pretooluse-input).2134Hooks `PostToolUse` são disparados após uma ferramenta já ter sido executada com sucesso. A entrada inclui tanto `tool_input`, os argumentos enviados para a ferramenta, quanto `tool_response`, o resultado que ela retornou. O esquema exato para ambos depende da ferramenta. Caminhos `tool_input` de ferramenta de arquivo chegam no mesmo formato que para [PreToolUse](#pretooluse-input): sempre absoluto, com os separadores nativos da plataforma, então barras invertidas no Windows. Para uma ferramenta MCP, a entrada também carrega o objeto [`mcp_server`](#pretooluse-input).

2145 2135 

2146```json theme={null}2136```json theme={null}

2147{2137{


2172 Controle de decisão PostToolUse2162 Controle de decisão PostToolUse

2173</h4>2163</h4>

2174 2164 

2175Os 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 esses campos específicos do evento:2165Hooks `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 esses campos específicos do evento:

2176 2166 

2177| Campo | Descrição |2167| Campo | Descrição |

2178| :- | :- |2168| :- | :- |

2179| `decision` | `"block"` adiciona o `reason` ao lado do resultado da ferramenta. Claude ainda vê a saída original; para substituí-la, use `updatedToolOutput` |2169| `decision` | `"block"` adiciona o `reason` ao lado do resultado da ferramenta. Claude ainda vê a saída original; para substituí-la, use `updatedToolOutput` |

2180| `reason` | Explicação mostrada ao Claude quando `decision` é `"block"` |2170| `reason` | Explicação mostrada ao Claude quando `decision` é `"block"` |

2181| `additionalContext` | String adicionada ao contexto do Claude ao lado do resultado da ferramenta. Veja [Adicionar contexto para Claude](#add-context-for-claude) |2171| `additionalContext` | String adicionada ao contexto do Claude junto com o resultado da ferramenta. Veja [Adicionar contexto para Claude](#add-context-for-claude) |

2182| `classifierContext` | Nota breve sobre o resultado desta chamada para o classificador de [modo automático](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) em vez de para Claude. Veja [Anotar um resultado para o classificador de modo automático](#annotate-a-result-for-the-auto-mode-classifier). Requer Claude Code v2.1.236 ou posterior |2172| `classifierContext` | Nota curta sobre o resultado desta chamada para o classificador de [modo automático](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) em vez de para Claude. Veja [Anotar um resultado para o classificador de modo automático](#annotate-a-result-for-the-auto-mode-classifier). Requer Claude Code v2.1.236 ou posterior |

2183| `updatedToolOutput` | Substitui a saída da ferramenta pelo valor fornecido antes de ser enviado ao Claude. O valor deve corresponder à forma de saída da ferramenta |2173| `updatedToolOutput` | Substitui a saída da ferramenta pelo valor fornecido antes de ser enviado ao Claude. O valor deve corresponder à forma de saída da ferramenta |

2184| `updatedMCPToolOutput` | Substitui a saída para [ferramentas MCP](#match-mcp-tools) apenas. Prefira `updatedToolOutput`, que funciona para todas as ferramentas |2174| `updatedMCPToolOutput` | Substitui a saída para [ferramentas MCP](#match-mcp-tools) apenas. Prefira `updatedToolOutput`, que funciona para todas as ferramentas |

2185 2175 


2201```2191```

2202 2192 

2203<Warning>2193<Warning>

2204 `updatedToolOutput` apenas altera o que Claude vê. A ferramenta já foi executada no momento em que o hook é disparado, portanto qualquer arquivo escrito, comando executado ou solicitação de rede enviada já teve efeito. Telemetria como spans de ferramenta OpenTelemetry e eventos de análise também capturam a saída original antes do hook ser executado. Para impedir ou modificar uma chamada de ferramenta antes de ser executada, use um hook [PreToolUse](#pretooluse) em vez disso.2194 `updatedToolOutput` apenas muda o que Claude vê. A ferramenta já foi executada no momento em que o hook é disparado, então qualquer arquivo escrito, comando executado ou solicitação de rede enviada já teve efeito. Telemetria como spans de ferramenta OpenTelemetry e eventos de análise também capturam a saída original antes do hook ser executado. Para impedir ou modificar uma chamada de ferramenta antes de ser executada, use um hook [PreToolUse](#pretooluse) em vez disso.

2205 2195 

2206 O valor de substituição deve corresponder à forma de saída da ferramenta. Ferramentas integradas retornam objetos estruturados em vez de strings simples. Por exemplo, `Bash` retorna um objeto com 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 ferramenta MCP é passada sem validação de esquema. Remover detalhes de erro que Claude precisa pode fazer com que ele prossiga em uma suposição falsa.2196 O valor de substituição deve corresponder à forma de saída da ferramenta. Ferramentas integradas retornam objetos estruturados em vez de strings simples. Por exemplo, `Bash` retorna um objeto com 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 ferramenta MCP é passada sem validação de esquema. Remover detalhes de erro que Claude precisa pode fazer com que ele prossiga em uma suposição falsa.

2207</Warning>2197</Warning>


2210 Anotar um resultado para o classificador de modo automático2200 Anotar um resultado para o classificador de modo automático

2211</h4>2201</h4>

2212 2202 

2213Retorne `classifierContext` para enviar uma nota breve sobre o resultado da chamada de ferramenta para o classificador de [modo automático](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) em vez de para Claude. O classificador [nunca recebe resultados de ferramentas em si](/docs/pt/permission-modes#how-the-classifier-evaluates-actions), portanto este campo é a forma suportada de contar algo sobre o que uma chamada retornou antes de revisar ações posteriores. O campo requer Claude Code v2.1.236 ou posterior.2203Retorne `classifierContext` para enviar uma nota curta sobre o resultado da chamada de ferramenta para o classificador de [modo automático](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) em vez de para Claude. O classificador [nunca recebe resultados de ferramentas em si](/docs/pt/permission-modes#how-the-classifier-evaluates-actions), então este campo é a forma suportada de dizer algo sobre o que uma chamada retornou antes de revisar ações posteriores. O campo requer Claude Code v2.1.236 ou posterior.

2214 2204 

2215O exemplo abaixo diz ao classificador de onde a saída de uma consulta veio:2205O exemplo abaixo diz ao classificador de onde veio a saída de uma consulta:

2216 2206 

2217```json theme={null}2207```json theme={null}

2218{2208{


2225 2215 

2226Quanto peso o classificador dá à nota depende de onde você configurou o hook:2216Quanto peso o classificador dá à nota depende de onde você configurou o hook:

2227 2217 

2228* **Hooks configurados em Claude Code**: para hooks de arquivos de configurações, plugins, skills e frontmatter de agente, o classificador trata a nota como contexto não verificado fornecido pela aplicação. A nota nunca estabelece intenção do usuário, e se ela afirmar que você aprovou ou solicitou algo, o classificador verifica essa afirmação contra suas próprias mensagens na conversa2218* **Hooks configurados em Claude Code**: para hooks de arquivos de configurações, plugins, skills e frontmatter de agente, o classificador trata a nota como contexto não verificado fornecido pela aplicação. A nota nunca estabelece intenção do usuário, e se ela afirma que você aprovou ou solicitou algo, o classificador verifica essa afirmação contra suas próprias mensagens na conversa

2229* **Callbacks do Agent SDK em processo**: quando um aplicativo que incorpora Claude Code registra o hook como um [callback do SDK TypeScript](/docs/pt/agent-sdk/hooks) e retorna a nota durante a sessão ao vivo, o classificador pode pesar uma declaração do usuário retransmitida na nota como intenção do usuário. Tal declaração pode satisfazer um requisito de consentimento que o classificador aceitaria de uma mensagem que você envia, mas nunca levanta um bloqueio que sua própria mensagem não pudesse levantar também. Após uma sessão retomar, Claude Code trata 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 verificada2219* **Callbacks do Agent SDK em processo**: quando um aplicativo que incorpora Claude Code registra o hook como um [callback do SDK TypeScript](/docs/pt/agent-sdk/hooks) e retorna a nota durante a sessão ao vivo, o classificador pode pesar uma declaração do usuário retransmitida na nota como intenção do usuário. Tal declaração pode satisfazer um requisito de consentimento que o classificador aceitaria de uma mensagem que você envia, mas nunca levanta um bloqueio que sua própria mensagem não pudesse levantar também. Após uma sessão retomar, Claude Code trata 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

2230 2220 

2231Claude Code aplica esses limites ao entregar a nota:2221Claude Code aplica esses limites ao entregar a nota:


2233* **Comprimento**: Claude Code limita as notas para uma chamada de ferramenta a 2.000 caracteres e trunca o resto. O limite é compartilhado entre cada hook que responde a essa chamada2223* **Comprimento**: Claude Code limita as notas para uma chamada de ferramenta a 2.000 caracteres e trunca o resto. O limite é compartilhado entre cada hook que responde a essa chamada

2234* **Apenas respostas síncronas**: Claude Code ignora o campo na resposta de um hook que [é executado em segundo plano](#run-hooks-in-the-background), porque essa resposta chega após Claude Code registrar o resultado da ferramenta2224* **Apenas respostas síncronas**: Claude Code ignora o campo na resposta de um hook que [é executado em segundo plano](#run-hooks-in-the-background), porque essa resposta chega após Claude Code registrar o resultado da ferramenta

2235* **Chamadas que o classificador não registra**: a transcrição do classificador omite pesquisas somente leitura como leituras de arquivo e pesquisas. Claude Code descarta uma nota anexada a uma dessas chamadas2225* **Chamadas que o classificador não registra**: a transcrição do classificador omite pesquisas somente leitura como leituras de arquivo e pesquisas. Claude Code descarta uma nota anexada a uma dessas chamadas

2236* **Interação com reescritas**: quando a nota descreve saída que você está substituindo com `updatedToolOutput`, retorne ambos os campos na mesma resposta do hook. Claude Code descarta a nota se essa reescrita for rejeitada ou outra reescrita de hook a substituir. Claude Code entrega uma nota que você retorna sem uma reescrita mesmo quando outro hook reescreve a saída2226* **Interação com reescritas**: quando a nota descreve saída que você está substituindo com `updatedToolOutput`, retorne ambos os campos na mesma resposta do hook. Claude Code descarta a nota se essa reescrita for rejeitada ou outro hook a reescrever. Claude Code entrega uma nota que você retorna sem uma reescrita mesmo quando outro hook reescreve a saída

2237 2227 

2238<Warning>2228<Warning>

2239 O classificador lê conteúdo que você coloca em `classifierContext` como informação do aplicativo hospedando a sessão, portanto não copie saída de ferramenta não confiável ou texto de terceiros nele. Mantenha a nota para uma breve afirmação sobre esta 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.2229 O classificador lê conteúdo que você coloca em `classifierContext` como informação do aplicativo hospedando a sessão, então não copie saída de ferramenta não confiável ou texto de terceiros para ele. Mantenha a nota para 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.

2240</Warning>2230</Warning>

2241 2231 

2242<h3 id="posttoolusefailure">2232<h3 id="posttoolusefailure">


2245 2235 

2246Executado quando uma ferramenta que começou a executar falha: a ferramenta lançou um erro, ou uma ferramenta MCP retornou um resultado de erro. Use isso para registrar falhas, enviar alertas ou fornecer feedback corretivo ao Claude.2236Executado quando uma ferramenta que começou a executar falha: a ferramenta lançou um erro, ou uma ferramenta MCP retornou um resultado de erro. Use isso para registrar falhas, enviar alertas ou fornecer feedback corretivo ao Claude.

2247 2237 

2248Corresponde ao nome da ferramenta, mesmos valores que PreToolUse.2238Corresponde no nome da ferramenta, mesmos valores que PreToolUse.

2249 2239 

2250<Note>2240<Note>

2251 Este evento não é disparado para chamadas de ferramenta rejeitadas antes da execução: um nome de ferramenta desconhecido, entrada que falha na validação de esquema ou específica da ferramenta, ou uma negação de permissão. Rejeições de validação são retornadas como resultados `tool_use_error` e acontecem antes dos hooks serem executados, portanto não disparam nem `PreToolUse` nem este evento. Negações de permissão disparam `PreToolUse` mas não este evento; veja [PermissionDenied](#permissiondenied).2241 Este evento não é disparado para chamadas de ferramenta rejeitadas antes da execução: um nome de ferramenta desconhecido, entrada que falha na validação de esquema ou específica da ferramenta, ou uma negação de permissão. Rejeições de validação são retornadas como resultados `tool_use_error` e acontecem antes dos hooks serem executados, então não disparam nem `PreToolUse` nem `PostToolUseFailure`. Negações de permissão disparam `PreToolUse` mas não este evento; veja [PermissionDenied](#permissiondenied).

2252</Note>2242</Note>

2253 2243 

2254<h4 id="posttoolusefailure-input">2244<h4 id="posttoolusefailure-input">

2255 Entrada PostToolUseFailure2245 Entrada PostToolUseFailure

2256</h4>2246</h4>

2257 2247 

2258Os 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` falhado pode entregar:2248Hooks 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` falhado pode entregar:

2259 2249 

2260```json theme={null}2250```json theme={null}

2261{2251{


2279| Campo | Descrição |2269| Campo | Descrição |

2280| :- | :- |2270| :- | :- |

2281| `error` | String descrevendo o que deu errado. O formato depende da ferramenta que falhou |2271| `error` | String descrevendo o que deu errado. O formato depende da ferramenta que falhou |

2282| `is_interrupt` | Booleano opcional. True quando a falha chegou a Claude Code como um aborto em vez de como um erro que a ferramenta relatou. Cancelar uma ferramenta em execução não dispara este hook; o resultado da ferramenta carrega a mensagem de interrupção em vez disso |2272| `is_interrupt` | Booleano opcional. True quando a falha chegou ao Claude Code como um aborto em vez de um erro que a ferramenta relatou. Cancelar uma ferramenta em execução não dispara este hook; o resultado da ferramenta carrega a mensagem de interrupção em vez disso |

2283| `duration_ms` | Opcional. Tempo de execução da ferramenta em milissegundos. Exclui tempo gasto em prompts de permissão e hooks PreToolUse |2273| `duration_ms` | Opcional. Tempo de execução da ferramenta em milissegundos. Exclui tempo gasto em prompts de permissão e hooks PreToolUse |

2284 2274 

2285A string `error` é geralmente o mesmo texto que Claude recebe como resultado da ferramenta falhada. Seu formato varia por ferramenta e falha. Chave seu hook em `tool_name`, `is_interrupt` e a primeira linha `Exit code N`; trate o resto da string como texto de exibição, não um formato estável.2275A string `error` é geralmente o mesmo texto que Claude recebe como resultado da ferramenta falhada. Seu formato varia por ferramenta e falha. Chave seu hook em `tool_name`, `is_interrupt` e a primeira linha `Exit code N`; trate o resto da string como texto de exibição, não um formato estável.

2286 2276 

2287* Para Bash e PowerShell, um comando que foi executado e saiu produz uma primeira linha `Exit code N`, depois qualquer saída que o comando produziu como um bloco com stdout e stderr intercalados2277* Para Bash e PowerShell, um comando que foi executado e saiu produz uma primeira linha `Exit code N`, depois qualquer saída que o comando produziu como um bloco com stdout e stderr intercalados

2288* Um payload também pode carregar uma mensagem de falha nua sem linha de código de saída, quando Claude Code não pôde iniciar o próprio processo de shell2278* Um payload também pode carregar uma mensagem de falha simples sem linha de código de saída, quando Claude Code não pôde iniciar o próprio processo de shell

2289* Claude Code trunca no meio strings longas em torno de um marcador `... [N characters truncated] ...` e pode inserir linhas suas, como `Command timed out after 2m 0s`2279* Claude Code trunca strings longas no meio em torno de um marcador `... [N characters truncated] ...`, e pode inserir linhas suas próprias, como `Command timed out after 2m 0s`

2290 2280 

2291<h4 id="posttoolusefailure-decision-control">2281<h4 id="posttoolusefailure-decision-control">

2292 Controle de decisão PostToolUseFailure2282 Controle de decisão PostToolUseFailure

2293</h4>2283</h4>

2294 2284 

2295Os 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 esses campos específicos do evento:2285Hooks `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 esses campos específicos do evento:

2296 2286 

2297| Campo | Descrição |2287| Campo | Descrição |

2298| :- | :- |2288| :- | :- |

2299| `additionalContext` | String adicionada ao contexto do Claude ao lado do erro. Veja [Adicionar contexto para Claude](#add-context-for-claude) |2289| `additionalContext` | String adicionada ao contexto do Claude junto com o erro. Veja [Adicionar contexto para Claude](#add-context-for-claude) |

2300 2290 

2301```json theme={null}2291```json theme={null}

2302{2292{


2311 PostToolBatch2301 PostToolBatch

2312</h3>2302</h3>

2313 2303 

2314Executado uma vez após cada chamada de ferramenta em um lote ter sido resolvida, antes de Claude Code enviar a próxima solicitação para o modelo. `PostToolUse` é disparado uma vez por ferramenta, o que significa que é disparado concorrentemente quando Claude faz chamadas de ferramenta paralelas. `PostToolBatch` é disparado exatamente uma vez com o lote completo, portanto é o lugar certo para injetar contexto que depende do conjunto de ferramentas que foram executadas em vez de em qualquer ferramenta única. Não há matcher para este evento.2304Executado uma vez após cada chamada de ferramenta em um lote ter sido resolvida, antes de Claude Code enviar a próxima solicitação para o modelo. `PostToolUse` é disparado uma vez por ferramenta, o que significa que é disparado concorrentemente quando 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 que foram executadas em vez de em qualquer ferramenta única. Não há matcher para este evento.

2315 2305 

2316<h4 id="posttoolbatch-input">2306<h4 id="posttoolbatch-input">

2317 Entrada PostToolBatch2307 Entrada PostToolBatch

2318</h4>2308</h4>

2319 2309 

2320Além dos [campos de entrada comuns](#common-input-fields), os hooks PostToolBatch recebem `tool_calls`, um array descrevendo cada chamada de ferramenta no lote:2310Além dos [campos de entrada comuns](#common-input-fields), hooks PostToolBatch recebem `tool_calls`, um array descrevendo cada chamada de ferramenta no lote:

2321 2311 

2322```json theme={null}2312```json theme={null}

2323{2313{


2331 "tool_name": "Read",2321 "tool_name": "Read",

2332 "tool_input": {"file_path": "/.../ledger/accounts.py"},2322 "tool_input": {"file_path": "/.../ledger/accounts.py"},

2333 "tool_use_id": "toolu_01...",2323 "tool_use_id": "toolu_01...",

2334 "tool_response": " 1\tfrom __future__ import annotations\n 2\t..."2324 "tool_response": "1\tfrom __future__ import annotations\n2\t..."

2335 },2325 },

2336 {2326 {

2337 "tool_name": "Read",2327 "tool_name": "Read",

2338 "tool_input": {"file_path": "/.../ledger/transactions.py"},2328 "tool_input": {"file_path": "/.../ledger/transactions.py"},

2339 "tool_use_id": "toolu_02...",2329 "tool_use_id": "toolu_02...",

2340 "tool_response": " 1\tfrom __future__ import annotations\n 2\t..."2330 "tool_response": "1\tfrom __future__ import annotations\n2\t..."

2341 }2331 }

2342 ]2332 ]

2343}2333}

2344```2334```

2345 2335 

2346`tool_response` contém o mesmo conteúdo que o modelo recebe no bloco `tool_result` correspondente. O valor é uma string serializada ou array de bloco de conteúdo, exatamente como a ferramenta o emitiu. Para `Read`, isso significa texto com prefixo de número de linha em vez de conteúdo de arquivo bruto. As respostas podem ser grandes, portanto analise apenas os campos que você precisa.2336`tool_response` contém o mesmo conteúdo que o modelo recebe no bloco `tool_result` correspondente. O valor é uma string serializada ou array de bloco de conteúdo, exatamente como a ferramenta o emitiu. Para `Read`, isso significa texto com prefixo de número de linha em vez de conteúdo de arquivo bruto. Respostas podem ser grandes, então analise apenas os campos que você precisa.

2347 2337 

2348<Note>2338<Note>

2349 A forma `tool_response` difere da de `PostToolUse`. `PostToolUse` passa o objeto `Output` estruturado da ferramenta, como `{filePath: "...", type: "create"}` para `Write`; `PostToolBatch` passa o conteúdo `tool_result` serializado que o modelo vê.2339 A forma `tool_response` difere da de `PostToolUse`. `PostToolUse` passa o objeto `Output` estruturado da ferramenta, como `{filePath: "...", type: "create"}` para `Write`; `PostToolBatch` passa o conteúdo `tool_result` serializado que o modelo vê.


2353 Controle de decisão PostToolBatch2343 Controle de decisão PostToolBatch

2354</h4>2344</h4>

2355 2345 

2356Os hooks `PostToolBatch` podem injetar contexto para Claude. Além dos [campos de saída JSON](#json-output) disponíveis para todos os hooks, seu script de hook pode retornar esses campos específicos do evento:2346Hooks `PostToolBatch` podem injetar contexto para Claude. Além dos [campos de saída JSON](#json-output) disponíveis para todos os hooks, seu script de hook pode retornar esses campos específicos do evento:

2357 2347 

2358| Campo | Descrição |2348| Campo | Descrição |

2359| :- | :- |2349| :- | :- |


2368}2358}

2369```2359```

2370 2360 

2371Retornar `decision: "block"` ou `continue: false` para o loop agentic antes da próxima chamada do modelo. A mensagem de bloqueio vem do JSON `reason` ou `stopReason`, ou de stderr ao sair com 2. Você a vê como um aviso na transcrição, e ela permanece na conversa, portanto Claude a vê quando a conversa continua.2361Retornar `decision: "block"` ou `continue: false` para o loop agentic antes da próxima chamada do modelo. A mensagem de bloqueio vem do JSON `reason` ou `stopReason`, ou de stderr ao sair com 2. Você a vê como um aviso na transcrição, e ela permanece na conversa, então Claude a vê quando a conversa continua.

2372 2362 

2373<h3 id="permissiondenied">2363<h3 id="permissiondenied">

2374 PermissionDenied2364 PermissionDenied


2376 2366 

2377Executado quando [modo automático](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) nega uma chamada de ferramenta, incluindo quando nega sem um veredicto do classificador porque [uma verificação de segurança separada do modo automático recusou a própria solicitação do classificador](/docs/pt/errors#auto-mode-cannot-determine-the-safety-of-an-action) ou sua resposta não foi analisada. Este hook é disparado apenas em modo automático: não é executado quando você nega manualmente um diálogo de permissão, quando um hook `PreToolUse` bloqueia uma chamada, ou quando uma regra `deny` corresponde. Use-o para registrar negações, ajustar configuração ou dizer ao modelo que pode tentar novamente a chamada de ferramenta.2367Executado quando [modo automático](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) nega uma chamada de ferramenta, incluindo quando nega sem um veredicto do classificador porque [uma verificação de segurança separada do modo automático recusou a própria solicitação do classificador](/docs/pt/errors#auto-mode-cannot-determine-the-safety-of-an-action) ou sua resposta não foi analisada. Este hook é disparado apenas em modo automático: não é executado quando você nega manualmente um diálogo de permissão, quando um hook `PreToolUse` bloqueia uma chamada, ou quando uma regra `deny` corresponde. Use-o para registrar negações, ajustar configuração ou dizer ao modelo que pode tentar novamente a chamada de ferramenta.

2378 2368 

2379Corresponde ao nome da ferramenta, mesmos valores que PreToolUse.2369Corresponde no nome da ferramenta, mesmos valores que PreToolUse.

2380 2370 

2381<h4 id="permissiondenied-input">2371<h4 id="permissiondenied-input">

2382 Entrada PermissionDenied2372 Entrada PermissionDenied

2383</h4>2373</h4>

2384 2374 

2385Alé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).2375Além dos [campos de entrada comuns](#common-input-fields), 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).

2386 2376 

2387```json theme={null}2377```json theme={null}

2388{2378{


2403 2393 

2404| Campo | Descrição |2394| Campo | Descrição |

2405| :- | :- |2395| :- | :- |

2406| `reason` | O motivo da negação. Para um veredicto do classificador, na maioria das sessões ele nomeia a regra correspondente entre colchetes, como `[Data Exfiltration]`; veja [Revisar negações](/docs/pt/auto-mode-config#review-denials) para as outras formas. Para uma [negação sem veredicto](#permissiondenied-decision-control), 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 não estava disponível, é o texto fixo `Classifier unavailable` |2396| `reason` | O motivo da negação. Para um veredicto do classificador, na maioria das sessões ele nomeia a regra correspondida entre colchetes, como `[Data Exfiltration]`; veja [Revisar negações](/docs/pt/auto-mode-config#review-denials) para as outras formas. Para uma [negação sem veredicto](#permissiondenied-decision-control), 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 não estava disponível, é o texto fixo `Classifier unavailable` |

2407 2397 

2408<h4 id="permissiondenied-decision-control">2398<h4 id="permissiondenied-decision-control">

2409 Controle de decisão PermissionDenied2399 Controle de decisão PermissionDenied

2410</h4>2400</h4>

2411 2401 

2412Os hooks PermissionDenied podem dizer ao modelo que pode tentar novamente a chamada de ferramenta negada. Retorne um objeto JSON com `hookSpecificOutput.retry` definido como `true`:2402Hooks PermissionDenied podem dizer ao modelo que pode tentar novamente a chamada de ferramenta negada. Retorne um objeto JSON com `hookSpecificOutput.retry` definido como `true`:

2413 2403 

2414```json theme={null}2404```json theme={null}

2415{2405{


2422 2412 

2423Quando `retry` é `true`, Claude Code adiciona uma mensagem à conversa dizendo ao modelo que pode tentar novamente a chamada de ferramenta. Claude Code não reverte a negação em si. Se seu hook não retornar JSON, ou retornar `retry: false`, a negação permanece e o modelo recebe a mensagem de rejeição original.2413Quando `retry` é `true`, Claude Code adiciona uma mensagem à conversa dizendo ao modelo que pode tentar novamente a chamada de ferramenta. Claude Code não reverte a negação em si. Se seu hook não retornar JSON, ou retornar `retry: false`, a negação permanece e o modelo recebe a mensagem de rejeição original.

2424 2414 

2425Claude Code ignora `retry: true` quando o classificador produziu [nenhum veredicto sobre a ação](/docs/pt/errors#auto-mode-cannot-determine-the-safety-of-an-action): sua resposta não foi analisada, ou uma verificação de segurança separada do modo automático recusou a própria solicitação do classificador. Para essas negações, Claude Code já diz ao modelo na mensagem de rejeição se deve tentar novamente mais tarde ou prosseguir.2415Claude Code ignora `retry: true` quando o classificador produziu [nenhum veredicto sobre a ação](/docs/pt/errors#auto-mode-cannot-determine-the-safety-of-an-action): sua resposta não foi analisada, ou uma verificação de segurança separada do modo automático recusou a solicitação do classificador. Para essas negações, Claude Code já diz ao modelo na mensagem de rejeição se deve tentar novamente mais tarde ou prosseguir.

2426 2416 

2427<h3 id="notification">2417<h3 id="notification">

2428 Notification2418 Notification

2429</h3>2419</h3>

2430 2420 

2431Executado quando Claude Code envia notificações. Corresponde ao tipo de notificação. Omita o matcher para executar hooks para todos os tipos de notificação.2421Executado quando Claude Code envia notificações. Corresponde no tipo de notificação. Omita o matcher para executar hooks para todos os tipos de notificação.

2432 2422 

2433Você recebe esses eventos de hook mesmo com notificações de desktop desativadas: a configuração `preferredNotifChannel`, incluindo `notifications_disabled`, altera apenas como você é alertado, não se seu hook é executado.2423Você recebe esses eventos de hook mesmo com notificações de desktop desligadas: a configuração `preferredNotifChannel`, incluindo `notifications_disabled`, muda apenas como você é alertado, não se seu hook é executado.

2434 2424 

2435| Matcher | Quando é disparado |2425| Matcher | Quando é disparado |

2436| :- | :- |2426| :- | :- |

2437| `permission_prompt` | Claude precisa de sua permissão para usar uma ferramenta ou a [solicitação de rede](/docs/pt/sandboxing#network-isolation) de um comando em sandbox, e o prompt esperou cerca de seis segundos |2427| `permission_prompt` | Claude precisa de sua permissão para usar uma ferramenta ou a [solicitação de rede](/docs/pt/sandboxing#network-isolation) de um comando em sandbox, e o prompt esperou cerca de seis segundos |

2438| `idle_prompt` | Claude terminou de responder cerca de 60 segundos atrás e você não digitou desde então |2428| `idle_prompt` | Claude terminou de responder cerca de 60 segundos atrás e você não digitou desde então |

2439| `auth_success` | A autenticação é concluída |2429| `auth_success` | Autenticação é concluída |

2440| `elicitation_dialog` | Um servidor MCP abre um formulário de elicitação e você não digitou por cerca de seis segundos |2430| `elicitation_dialog` | Um servidor MCP abre um formulário de elicitação e você não digitou cerca de seis segundos |

2441| `elicitation_url_dialog` | Um servidor MCP pede que você abra uma URL do navegador e você não digitou por cerca de seis segundos |2431| `elicitation_url_dialog` | Um servidor MCP pede para você abrir uma URL do navegador e você não digitou cerca de seis segundos |

2442| `elicitation_complete` | Um servidor MCP relata que uma [elicitação de modo URL](#elicitation-input) está completa |2432| `elicitation_complete` | Um servidor MCP relata que uma [elicitação de modo URL](#elicitation-input) está completa |

2443| `elicitation_response` | Uma resposta de elicitação MCP é enviada de volta para o servidor |2433| `elicitation_response` | Uma resposta de elicitação MCP é enviada de volta para o servidor |

2444| `agent_needs_input` | Uma sessão em segundo plano começa a esperar sua entrada enquanto [agent view](/docs/pt/agent-view) está aberta em um terminal, ou a sessão atual pede uma pergunta de configuração de terminal de um [colega de equipe de agente](/docs/pt/agent-teams#choose-a-display-mode) e você não digitou por cerca de seis segundos |2434| `agent_needs_input` | Uma sessão em segundo plano começa a esperar sua entrada enquanto [agent view](/docs/pt/agent-view) está aberta em um terminal, ou a sessão atual pede uma pergunta de configuração de terminal de um [colega de equipe de agente](/docs/pt/agent-teams#choose-a-display-mode) e você não digitou cerca de seis segundos |

2445| `agent_completed` | Uma sessão em segundo plano termina ou falha. Disparado apenas enquanto [agent view](/docs/pt/agent-view) está aberta em um terminal |2435| `agent_completed` | Uma sessão em segundo plano termina ou falha. Disparado apenas enquanto [agent view](/docs/pt/agent-view) está aberta em um terminal |

2446| `quota_auto_resume_fired` | Claude Code continua sua tarefa após um limite de uso de claude.ai pausá-la: na redefinição, ou mais cedo quando algo que você faz em Claude Code durante a espera, como adicionar créditos de uso, atualizar seu plano ou trocar modelos, torna o uso disponível novamente, com a [exceção de configuração de modelo](/docs/pt/interactive-mode#wait-for-a-usage-limit-to-reset) |2436| `quota_auto_resume_fired` | Claude Code continua sua tarefa após um limite de uso de claude.ai pausá-la: na redefinição, ou mais cedo quando algo que você faz em Claude Code durante a espera, como adicionar créditos de uso, atualizar seu plano ou mudar modelos, torna o uso disponível novamente, com a [exceção de configuração de modelo](/docs/pt/interactive-mode#wait-for-a-usage-limit-to-reset) |

2447| `quota_auto_resume_stale` | Um limite de uso de claude.ai foi redefinido enquanto seu computador dormia por mais de cerca de 30 minutos. Claude Code espera você pressionar `Enter` em vez de continuar. Após um sono mais curto, ele continua e dispara `quota_auto_resume_fired` em vez disso |2437| `quota_auto_resume_stale` | Um limite de uso de claude.ai foi redefinido enquanto seu computador dormia por mais de cerca de 30 minutos. Claude Code espera você pressionar `Enter` em vez de continuar. Após um sono mais curto, ele continua e dispara `quota_auto_resume_fired` em vez disso |

2448| `quota_auto_resume_disabled` | Claude Code termina sua espera por um limite de uso de claude.ai sem continuar sua tarefa: [`autoContinueAtUsageLimit`](/docs/pt/settings-reference#autocontinueatusagelimit) foi desativado ou a redefinição se moveu mais de 24 horas no futuro durante uma espera que 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** |2438| `quota_auto_resume_disabled` | Claude Code termina sua espera por um limite de uso de claude.ai sem continuar sua tarefa: [`autoContinueAtUsageLimit`](/docs/pt/settings-reference#autocontinueatusagelimit) desligado ou a redefinição se moveu mais de 24 horas durante uma espera que 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** |

2449 2439 

2450Os tipos `agent_needs_input` e `agent_completed` requerem Claude Code v2.1.198 ou posterior.2440Os tipos `agent_needs_input` e `agent_completed` requerem Claude Code v2.1.198 ou posterior.

2451 2441 


2456`agent_needs_input` para uma pergunta de configuração de terminal de colega requer Claude Code v2.1.248 ou posterior.2446`agent_needs_input` para uma pergunta de configuração de terminal de colega requer Claude Code v2.1.248 ou posterior.

2457 2447 

2458<Note>2448<Note>

2459 Os tipos `permission_prompt`, `idle_prompt`, `elicitation_dialog` e `elicitation_url_dialog` compartilham seu tempo com notificações de desktop, portanto em sessões de terminal você só os vê quando parece que você está longe do terminal:2449 Os tipos `permission_prompt`, `idle_prompt`, `elicitation_dialog` e `elicitation_url_dialog` compartilham seu tempo com notificações de desktop, então em sessões de terminal você só os vê quando você parece estar longe do terminal:

2460 2450 

2461 * Espere `permission_prompt` uma vez que você não digitou por cerca de seis segundos. O temporizador começa quando o prompt de permissão aparece, e cada pressionamento de tecla o adia. Para executar um hook imediatamente quando Claude pede permissão para usar uma ferramenta, use [PermissionRequest](#permissionrequest) em vez disso.2451 * Espere `permission_prompt` uma vez que você não digitou por cerca de seis segundos. O temporizador começa quando o prompt de permissão aparece, e cada pressionamento de tecla o adia. Para executar um hook imediatamente quando Claude pede permissão para usar uma ferramenta, use [PermissionRequest](#permissionrequest) em vez disso.

2462 * Espere `idle_prompt` cerca de 60 segundos após Claude terminar de responder, e apenas se você não digitou desde então. Claude Code não envia `idle_prompt` enquanto espera um limite de uso de claude.ai ser redefinido. Quando a espera termina por conta própria, um dos tipos `quota_auto_resume_*` é disparado em vez disso.2452 * Espere `idle_prompt` cerca de 60 segundos após Claude terminar de responder, e apenas se você não digitou desde então. Claude Code não envia `idle_prompt` enquanto espera um limite de uso de claude.ai ser redefinido. Quando a espera termina por conta própria, um dos tipos `quota_auto_resume_*` é disparado em vez disso.


2469 2459 

2470* Espere `permission_prompt` cerca de seis segundos após Claude pedir permissão. Claude Code não o adia enquanto você digita.2460* Espere `permission_prompt` cerca de seis segundos após Claude pedir permissão. Claude Code não o adia enquanto você digita.

2471* Se você ou um hook [PermissionRequest](#permissionrequest) responder mais cedo, Claude Code não executa `permission_prompt`.2461* Se você ou um hook [PermissionRequest](#permissionrequest) responder mais cedo, Claude Code não executa `permission_prompt`.

2472* Defina [`CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS`](/docs/pt/env-vars) como `1` para desativar `permission_prompt` nessas sessões.2462* Defina [`CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS`](/docs/pt/env-vars) como `1` para desligar `permission_prompt` nessas sessões.

2473 2463 

2474Antes da v2.1.233, `permission_prompt` não era disparado nessas sessões.2464Antes da v2.1.233, `permission_prompt` não era disparado nessas sessões.

2475 2465 


2506 Entrada Notification2496 Entrada Notification

2507</h4>2497</h4>

2508 2498 

2509Além dos [campos de entrada comuns](#common-input-fields), os hooks Notification recebem `message` com o texto de notificação, um `title` opcional e `notification_type` indicando qual tipo foi disparado.2499Além dos [campos de entrada comuns](#common-input-fields), hooks Notification recebem `message` com o texto de notificação, um `title` opcional e `notification_type` indicando qual tipo foi disparado.

2510 2500 

2511```json theme={null}2501```json theme={null}

2512{2502{


2520}2510}

2521```2511```

2522 2512 

2523Os hooks Notification não podem bloquear ou modificar notificações. Claude Code descarta seus campos `systemMessage` e `continue` mas ainda emite [`terminalSequence`](#emit-terminal-notifications), que é no que o exemplo de notificação de desktop se baseia. Os hooks Notification são destinados a efeitos colaterais como encaminhar a notificação para um serviço externo.2513Hooks Notification não podem bloquear ou modificar notificações. Claude Code descarta seus campos `systemMessage` e `continue` mas ainda emite [`terminalSequence`](#emit-terminal-notifications), que é no que o exemplo de notificação de desktop se baseia. Hooks Notification são destinados a efeitos colaterais como encaminhar a notificação para um serviço externo.

2524 2514 

2525<h3 id="subagentstart">2515<h3 id="subagentstart">

2526 SubagentStart2516 SubagentStart

2527</h3>2517</h3>

2528 2518 

2529Executado quando Claude gera um subagente com a ferramenta Agent, quando Claude [retoma um subagente](/docs/pt/sub-agents#resume-subagents) e cada vez que um [colega de equipe de agente](/docs/pt/agent-teams) em processo manipula uma nova mensagem. Suporta matchers para filtrar por nome de tipo de agente. Para agentes integrados, este é o nome do agente como `general-purpose`, `Explore` ou `Plan`. Para [subagentes personalizados](/docs/pt/sub-agents), este é o campo `name` do frontmatter do agente, não o nome do arquivo.2519Executado quando Claude gera um subagente com a ferramenta Agent, quando Claude [retoma um subagente](/docs/pt/sub-agents#resume-subagents), e cada vez que um [colega de equipe de agente](/docs/pt/agent-teams) em processo manipula uma nova mensagem. Suporta matchers para filtrar por nome de tipo de agente. Para agentes integrados, este é o nome do agente como `general-purpose`, `Explore`, ou `Plan`. Para [subagentes personalizados](/docs/pt/sub-agents), este é o campo `name` do frontmatter do agente, não o nome do arquivo.

2530 2520 

2531Para subagentes enviados 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 de frontmatter nú. O dois-pontos coloca um nome com escopo de plugin no caminho de expressão regular, portanto ancor o matcher com `^` e `$` para uma correspondência exata: `^my-plugin:reviewer$`.2521Para subagentes enviados 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 de frontmatter simples. O dois-pontos coloca um nome com escopo de plugin no caminho de expressão regular, então ancor o matcher com `^` e `$` para uma correspondência exata: `^my-plugin:reviewer$`.

2532 2522 

2533<h4 id="subagentstart-input">2523<h4 id="subagentstart-input">

2534 Entrada SubagentStart2524 Entrada SubagentStart

2535</h4>2525</h4>

2536 2526 

2537Além dos [campos de entrada comuns](#common-input-fields), os hooks SubagentStart recebem `agent_id` com o identificador único para o subagente e `agent_type` com o nome do agente que o matcher filtra.2527Além dos [campos de entrada comuns](#common-input-fields), hooks SubagentStart recebem `agent_id` com o identificador único para o subagente e `agent_type` com o nome do agente que o matcher filtra.

2538 2528 

2539```json theme={null}2529```json theme={null}

2540{2530{


2547}2537}

2548```2538```

2549 2539 

2550Os hooks SubagentStart não podem bloquear a criação de subagente, mas podem injetar contexto no subagente. Além dos [campos de saída JSON](#json-output) disponíveis para todos os hooks, você pode retornar:2540Hooks SubagentStart não podem bloquear a criação de subagente, mas podem injetar contexto no subagente. Além dos [campos de saída JSON](#json-output) disponíveis para todos os hooks, você pode retornar:

2551 2541 

2552| Campo | Descrição |2542| Campo | Descrição |

2553| :- | :- |2543| :- | :- |


2568 SubagentStop2558 SubagentStop

2569</h3>2559</h3>

2570 2560 

2571Executado quando um subagente Claude Code terminou de responder. Corresponde ao tipo de agente, mesmos valores que SubagentStart.2561Executado quando um subagente de Claude Code terminou de responder. Corresponde no tipo de agente, mesmos valores que SubagentStart.

2572 2562 

2573<h4 id="subagentstop-input">2563<h4 id="subagentstop-input">

2574 Entrada SubagentStop2564 Entrada SubagentStop

2575</h4>2565</h4>

2576 2566 

2577Alé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 filtragem de matcher. O `transcript_path` é a transcrição da sessão principal, enquanto `agent_transcript_path` é a própria transcrição do subagente armazenada em uma pasta `subagents/` aninhada. O campo `last_assistant_message` contém o conteúdo de texto da resposta final do subagente, portanto hooks podem acessá-lo sem analisar o arquivo de transcrição.2567Além dos [campos de entrada comuns](#common-input-fields), 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 filtragem de matcher. O `transcript_path` é a transcrição da sessão principal, enquanto `agent_transcript_path` é a própria transcrição do subagente armazenada em uma pasta `subagents/` aninhada. O campo `last_assistant_message` contém o conteúdo de texto da resposta final do subagente, então hooks podem acessá-lo sem analisar o arquivo de transcrição.

2578 2568 

2579Não há eventos de hook de subagente Claude Code que não sejam de subagente. 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 laterais `/btw`](/docs/pt/interactive-mode#side-questions-with-%2Fbtw), e SubagentStop é disparado quando um desses termina também. Para esses eventos, `agent_type` é o nome do agente que a sessão em si executa, como um definido com [`--agent`](/docs/pt/cli-reference#cli-flags) ou a configuração [`agent`](/docs/pt/settings-reference#agent), e uma string vazia quando a sessão é executada sem um.2569Nem todo evento SubagentStop vem de um subagente que Claude gerou. 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 laterais `/btw`](/docs/pt/interactive-mode#side-questions-with-%2Fbtw), e SubagentStop é disparado quando um desses termina também. Para esses eventos, `agent_type` é o nome do agente que a sessão em si executa, como um definido com [`--agent`](/docs/pt/cli-reference#cli-flags) ou a configuração [`agent`](/docs/pt/settings-reference#agent), e uma string vazia quando a sessão é executada sem um.

2580 2570 

2581Um `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, é executado para eventos com um `agent_type` vazio também.2571Um `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, é executado para eventos com um `agent_type` vazio também.

2582 2572 

2583No Claude Code v2.1.271 ou posterior, um subagente que é executado com a ferramenta [`SubagentHandback`](/docs/pt/tools-reference) entrega seu relatório através dessa ferramenta antes de parar. O campo `last_assistant_message` então contém o texto de fechamento 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` correspondente a `SubagentHandback` recebe como `tool_input.message`.2573No Claude Code v2.1.271 ou posterior, um subagente que é executado com a ferramenta [`SubagentHandback`](/docs/pt/tools-reference) entrega seu relatório através dessa ferramenta antes de parar. O campo `last_assistant_message` então contém o texto de fechamento 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` correspondendo a `SubagentHandback` recebe como `tool_input.message`.

2584 2574 

2585Os hooks SubagentStop também recebem os arrays `background_tasks` e `session_crons` descritos em [entrada Stop](#stop-input). Ambos os arrays estão no escopo da sessão pai, não do subagente.2575Hooks SubagentStop também recebem os arrays `background_tasks` e `session_crons` descritos em [Entrada Stop](#stop-input). Ambos os arrays estão no escopo da sessão pai, não do subagente.

2586 2576 

2587```json theme={null}2577```json theme={null}

2588{2578{


2601}2591}

2602```2592```

2603 2593 

2604Os hooks SubagentStop usam o mesmo formato de controle de decisão que [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 ao sair com 2 entrega sua mensagem stderr da mesma forma. Para injetar contexto na sessão pai após um subagente retornar, use um hook [`PostToolUse`](#posttooluse) na ferramenta `Agent` em vez disso.2594Hooks SubagentStop usam o mesmo formato de controle de decisão que [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 2 entrega sua mensagem stderr da mesma forma. Para injetar contexto na sessão pai após um subagente retornar, use um hook [`PostToolUse`](#posttooluse) em `Agent` em vez disso.

2605 2595 

2606<h3 id="taskcreated">2596<h3 id="taskcreated">

2607 TaskCreated2597 TaskCreated


2609 2599 

2610Executado quando uma tarefa está sendo criada via ferramenta `TaskCreate`. Use isso para impor convenções de nomenclatura, exigir descrições de tarefa ou impedir que certas tarefas sejam criadas. Em uma [sessão sem as ferramentas Task](/docs/pt/tools-reference#task-tool-availability), este evento não é disparado.2600Executado quando uma tarefa está sendo criada via ferramenta `TaskCreate`. Use isso para impor convenções de nomenclatura, exigir descrições de tarefa ou impedir que certas tarefas sejam criadas. Em uma [sessão sem as ferramentas Task](/docs/pt/tools-reference#task-tool-availability), este evento não é disparado.

2611 2601 

2612Os hooks TaskCreated não suportam matchers e são disparados em cada ocorrência.2602Hooks TaskCreated não suportam matchers e são disparados em cada ocorrência.

2613 2603 

2614<h4 id="taskcreated-input">2604<h4 id="taskcreated-input">

2615 Entrada TaskCreated2605 Entrada TaskCreated

2616</h4>2606</h4>

2617 2607 

2618Alé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`.2608Além dos [campos de entrada comuns](#common-input-fields), hooks TaskCreated recebem `task_id`, `task_subject` e opcionalmente `task_description`, `teammate_name` e `team_name`.

2619 2609 

2620```json theme={null}2610```json theme={null}

2621{2611{


2643 Controle de decisão TaskCreated2633 Controle de decisão TaskCreated

2644</h4>2634</h4>

2645 2635 

2646Um hook TaskCreated pode bloquear a criação de duas maneiras. De qualquer forma, Claude Code exclui a tarefa e retorna sua mensagem ao Claude como o erro da ferramenta. Claude Code ignora `continue: false` deste evento e Claude continua trabalhando.2636Um hook TaskCreated pode bloquear a criação de duas formas. De qualquer forma, Claude Code deleta a tarefa e retorna sua mensagem ao Claude como o erro da ferramenta. Claude Code ignora `continue: false` deste evento e Claude continua trabalhando.

2647 2637 

2648* **Código de saída 2**: Claude Code retorna o texto stderr como a mensagem.2638* **Código de saída 2**: Claude Code retorna o texto stderr como a mensagem.

2649* **JSON `{"decision": "block", "reason": "..."}`**: Claude Code retorna `reason` como a mensagem.2639* **JSON `{"decision": "block", "reason": "..."}`**: Claude Code retorna `reason` como a mensagem.


2667 TaskCompleted2657 TaskCompleted

2668</h3>2658</h3>

2669 2659 

2670Executado 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 através da ferramenta TaskUpdate, ou quando um [colega de equipe de agente](/docs/pt/agent-teams) termina seu turno com tarefas em andamento. Use isso para impor critérios de conclusão como testes aprovados ou verificações de lint antes de uma tarefa poder fechar.2660Executado 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 através da ferramenta TaskUpdate, ou quando um [colega de equipe de agente](/docs/pt/agent-teams) termina seu turno com tarefas em andamento. Use isso para impor critérios de conclusão como testes passando ou verificações de lint antes de uma tarefa poder fechar.

2671 2661 

2672Os hooks TaskCompleted não suportam matchers e são disparados em cada ocorrência.2662Hooks TaskCompleted não suportam matchers e são disparados em cada ocorrência.

2673 2663 

2674<h4 id="taskcompleted-input">2664<h4 id="taskcompleted-input">

2675 Entrada TaskCompleted2665 Entrada TaskCompleted

2676</h4>2666</h4>

2677 2667 

2678Alé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`.2668Além dos [campos de entrada comuns](#common-input-fields), hooks TaskCompleted recebem `task_id`, `task_subject` e opcionalmente `task_description`, `teammate_name` e `team_name`.

2679 2669 

2680```json theme={null}2670```json theme={null}

2681{2671{


2697| `task_id` | Identificador da tarefa sendo concluída |2687| `task_id` | Identificador da tarefa sendo concluída |

2698| `task_subject` | Título da tarefa |2688| `task_subject` | Título da tarefa |

2699| `task_description` | Descrição detalhada da tarefa. Pode estar ausente |2689| `task_description` | Descrição detalhada da tarefa. Pode estar ausente |

2700| `teammate_name` | Nome do colega concluindo a tarefa. Pode estar ausente |2690| `teammate_name` | Nome do colega completando a tarefa. Pode estar ausente |

2701| `team_name` | Descontinuado. Nome de equipe derivado de sessão; será removido em uma versão futura |2691| `team_name` | Descontinuado. Nome de equipe derivado de sessão; será removido em uma versão futura |

2702 2692 

2703<h4 id="taskcompleted-decision-control">2693<h4 id="taskcompleted-decision-control">

2704 Controle de decisão TaskCompleted2694 Controle de decisão TaskCompleted

2705</h4>2695</h4>

2706 2696 

2707Os hooks TaskCompleted suportam duas maneiras de controlar a conclusão da tarefa:2697Hooks TaskCompleted suportam duas formas de controlar a conclusão da tarefa:

2708 2698 

2709* **Código de saída 2**: a tarefa não é marcada como concluída e a mensagem stderr é retornada ao modelo como feedback.2699* **Código de saída 2**: a tarefa não é marcada como concluída e a mensagem stderr é retornada ao modelo como feedback.

2710* **JSON `{"continue": false, "stopReason": "..."}`**: quando um colega terminando seu turno disparou o evento, para o colega inteiramente, correspondendo ao comportamento do hook `Stop`. O `stopReason` é mostrado ao usuário. Quando a ferramenta `TaskUpdate` disparou o evento, Claude Code ignora `continue: false`; o código de saída 2 ainda bloqueia a conclusão.2700* **JSON `{"continue": false, "stopReason": "..."}`**: quando um colega terminando seu turno disparou o evento, para o colega inteiramente, correspondendo ao comportamento do hook `Stop`. O `stopReason` é mostrado ao usuário. Quando a ferramenta `TaskUpdate` disparou o evento, Claude Code ignora `continue: false`; código de saída 2 ainda bloqueia a conclusão.

2711 2701 

2712Este exemplo executa testes e bloqueia a conclusão da tarefa se falharem:2702Este exemplo executa testes e bloqueia a conclusão da tarefa se falharem:

2713 2703 


2732Executado quando o agente Claude Code principal terminou de responder. Não é executado se a parada ocorreu devido a uma interrupção do usuário. Erros de API disparam [StopFailure](#stopfailure) em vez disso.2722Executado quando o agente Claude Code principal terminou de responder. Não é executado se a parada ocorreu devido a uma interrupção do usuário. Erros de API disparam [StopFailure](#stopfailure) em vez disso.

2733 2723 

2734<Tip>2724<Tip>

2735 O comando [`/goal`](/docs/pt/goal) é um atalho integrado para um hook Stop baseado em prompt com escopo de sessão. Use-o quando você quer que Claude continue trabalhando em direção a uma condição sem escrever configuração de hook.2725 O comando [`/goal`](/docs/pt/goal) é um atalho integrado para um hook Stop com escopo de sessão baseado em prompt. Use-o quando você quer que Claude continue trabalhando em direção a uma condição sem escrever configuração de hook.

2736</Tip>2726</Tip>

2737 2727 

2738<h4 id="stop-input">2728<h4 id="stop-input">

2739 Entrada Stop2729 Entrada Stop

2740</h4>2730</h4>

2741 2731 

2742Alé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 Claude Code já está continuando como resultado de um hook stop. Verifique este valor ou processe a transcrição para evitar bloquear em uma condição que nunca será resolvida. Claude Code sobrescreve o hook e termina o turno após 8 bloqueios consecutivos.2732Alé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 Claude Code já está continuando como resultado de um hook stop. Verifique este valor ou processe a transcrição para evitar bloquear em uma condição que nunca será resolvida. Claude Code aplica um limite de 8 continuações consecutivas: após hooks stop terem continuado o turno oito vezes seguidas, Claude Code sobrescreve o próximo bloqueio e termina o turno. Para aumentar o limite, defina [`CLAUDE_CODE_STOP_HOOK_BLOCK_CAP`](/docs/pt/env-vars).

2743 2733 

2744O campo `last_assistant_message` contém o conteúdo de texto da resposta final do Claude, portanto hooks podem acessá-lo sem analisar o arquivo de transcrição. Para hooks que atuam no turno recém-concluído, como hooks de leitura em voz alta ou notificação, use este campo em vez de ler `transcript_path`: o arquivo de transcrição não é garantido incluir a mensagem final no tempo de Stop em todas as versões.2734O campo `last_assistant_message` contém o conteúdo de texto da resposta final do Claude, então hooks podem acessá-lo sem analisar o arquivo de transcrição. Para hooks que agem no turno recém-concluído, como hooks de leitura em voz alta ou notificação, use este campo em vez de ler `transcript_path`: o arquivo de transcrição não é garantido incluir a mensagem final no tempo de Stop em todas as versões.

2745 2735 

2746Os arrays `background_tasks` e `session_crons` permitem que hooks distingam "sessão está feita" de "sessão está pausada esperando que trabalho de fundo a acorde novamente". Ambos os arrays estão presentes quando o registro de tarefas é alcançável e estão vazios quando nada está em voo ou agendado.2736Os arrays `background_tasks` e `session_crons` permitem que hooks distingam "sessão está feita" de "sessão está pausada esperando que trabalho de fundo a acorde novamente". Ambos os arrays estão presentes quando o registro de tarefas é alcançável e estão vazios quando nada está em voo ou agendado.

2747 2737 

2748Cada entrada em `background_tasks` descreve uma tarefa em voo e usa estes campos:2738Cada entrada em `background_tasks` descreve uma tarefa em voo e usa esses campos:

2749 2739 

2750| Campo | Descrição |2740| Campo | Descrição |

2751| :- | :- |2741| :- | :- |

2752| `id` | Identificador de tarefa |2742| `id` | Identificador de tarefa |

2753| `type` | Rótulo de tipo de tarefa amigável como `shell`, `subagent`, `monitor`, `workflow`, `teammate`, `cloud session` ou `MCP task`. Cada rótulo identifica qual recurso Claude Code criou a tarefa. Volta para o discriminante bruto para tipos não reconhecidos |2743| `type` | Rótulo de tipo de tarefa amigável como `shell`, `subagent`, `monitor`, `workflow`, `teammate`, `cloud session`, ou `MCP task`. Cada rótulo identifica qual recurso de Claude Code criou a tarefa. Volta para o discriminante bruto para tipos não reconhecidos |

2754| `status` | Status atual da tarefa |2744| `status` | Status atual da tarefa |

2755| `description` | Descrição de texto livre, limitada a 1000 caracteres com um marcador `… [+N chars]` em string quando cortado |2745| `description` | Descrição de texto livre, limitada a 1000 caracteres com um marcador `… [+N chars]` em string quando cortado |

2756| `command` | Linha de comando de shell, limitada a 1000 caracteres. Presente apenas para tarefas `shell` |2746| `command` | Linha de comando de shell, limitada a 1000 caracteres. Presente apenas para tarefas `shell` |


2763 2753 

2764| Campo | Descrição |2754| Campo | Descrição |

2765| :- | :- |2755| :- | :- |

2766| `id` | Identificador de tarefa Cron |2756| `id` | Identificador de tarefa cron |

2767| `schedule` | Expressão Cron, por exemplo `0 9 * * 1-5` |2757| `schedule` | Expressão cron, por exemplo `0 9 * * 1-5` |

2768| `recurring` | `false` para despertares únicos cuja programação codifica um tempo de disparo único, `true` para tarefas que disparam novamente em cada correspondência |2758| `recurring` | `false` para despertares únicos cuja programação codifica um tempo de disparo único, `true` para tarefas que disparam novamente em cada correspondência |

2769| `prompt` | Prompt enviado quando o cron dispara, limitado a 1000 caracteres com o mesmo marcador `… [+N chars]` |2759| `prompt` | Prompt enviado quando o cron dispara, limitado a 1000 caracteres com o mesmo marcador `… [+N chars]` |

2770 2760 


2803 Controle de decisão Stop2793 Controle de decisão Stop

2804</h4>2794</h4>

2805 2795 

2806Os hooks `Stop` e `SubagentStop` podem controlar se Claude continua. Além dos [campos de saída JSON](#json-output) disponíveis para todos os hooks, seu script de hook pode retornar esses campos específicos do evento:2796Hooks `Stop` e `SubagentStop` podem controlar se Claude continua. Além dos [campos de saída JSON](#json-output) disponíveis para todos os hooks, seu script de hook pode retornar esses campos específicos do evento:

2807 2797 

2808| Campo | Descrição |2798| Campo | Descrição |

2809| :- | :- |2799| :- | :- |


2811| `reason` | Necessário quando `decision` é `"block"`. Diz ao Claude por que deve continuar |2801| `reason` | Necessário quando `decision` é `"block"`. Diz ao Claude por que deve continuar |

2812| `hookSpecificOutput.additionalContext` | Feedback sem erro para Claude. A conversa continua para que Claude possa agir sobre isso, mas ao contrário de `decision: "block"` é mostrado na transcrição como feedback de hook em vez de um erro de hook |2802| `hookSpecificOutput.additionalContext` | Feedback sem erro para Claude. A conversa continua para que Claude possa agir sobre isso, mas ao contrário de `decision: "block"` é mostrado na transcrição como feedback de hook em vez de um erro de hook |

2813 2803 

2814Um hook que bloqueia ao sair com 2 roteia da mesma forma que `reason`: Claude recebe a mensagem stderr como a explicação de por que deve continuar.2804Um hook que bloqueia saindo com 2 roteia da mesma forma que `reason`: Claude recebe a mensagem stderr como a explicação para por que deve continuar.

2815 2805 

2816```json theme={null}2806```json theme={null}

2817{2807{


2820}2810}

2821```2811```

2822 2812 

2823Use `additionalContext` quando o hook está funcionando conforme projetado e dando orientação ao Claude, como "execute a suite de testes antes de terminar". Mantém a conversa passando através das mesmas proteções de loop que `decision: "block"`, a saber a entrada `stop_hook_active` e o limite de 8 continuações consecutivas, mas a transcrição a rotula como `Stop hook feedback` e nenhuma notificação de erro de hook é mostrada:2813Use `additionalContext` quando o hook está funcionando como projetado e dando orientação ao Claude, como "execute a suite de testes antes de terminar". Mantém a conversa passando através das mesmas proteções de loop que `decision: "block"`, a saber a entrada `stop_hook_active` e o limite de 8 continuações consecutivas, mas a transcrição a rotula como `Stop hook feedback` e nenhuma notificação de erro de hook é mostrada:

2824 2814 

2825```json theme={null}2815```json theme={null}

2826{2816{


2841 Entrada StopFailure2831 Entrada StopFailure

2842</h4>2832</h4>

2843 2833 

2844Alé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 filtragem de matcher.2834Além dos [campos de entrada comuns](#common-input-fields), hooks StopFailure recebem `error`, `error_details` opcional e `last_assistant_message` opcional. O campo `error` identifica o tipo de erro e é usado para filtragem de matcher.

2845 2835 

2846| Campo | Descrição |2836| Campo | Descrição |

2847| :- | :- |2837| :- | :- |

2848| `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` |2838| `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` |

2849| `error_details` | Detalhes adicionais sobre o erro, quando disponível |2839| `error_details` | Detalhes adicionais sobre o erro, quando disponível |

2850| `last_assistant_message` | O texto de erro renderizado mostrado na conversa. Ao contrário de `Stop` e `SubagentStop`, onde este campo contém a saída conversacional do Claude, para `StopFailure` ele contém a string de erro da API em si, como `"API Error: Rate limit reached"` |2840| `last_assistant_message` | O texto de erro renderizado mostrado na conversa. Ao contrário de `Stop` e `SubagentStop`, onde este campo contém a saída conversacional do Claude, para `StopFailure` ele contém a string de erro da API em si, como `"API Error: Rate limit reached"` |

2851 2841 


2861}2851}

2862```2852```

2863 2853 

2864Os hooks StopFailure não têm controle de decisão. Eles são executados apenas para fins de notificação e registro.2854Hooks StopFailure não têm controle de decisão. Eles são executados apenas para fins de notificação e registro.

2865 2855 

2866<h3 id="teammateidle">2856<h3 id="teammateidle">

2867 TeammateIdle2857 TeammateIdle

2868</h3>2858</h3>

2869 2859 

2870Executado quando um [colega de equipe de agente](/docs/pt/agent-teams) está prestes a ficar inativo após terminar seu turno. Use isso para impor portões de qualidade antes de um colega parar de trabalhar, como exigir verificações de lint aprovadas ou verificar que arquivos de saída existem.2860Executado quando um [colega de equipe de agente](/docs/pt/agent-teams) está prestes a ficar inativo após terminar seu turno. Use isso para impor portões de qualidade antes de um colega parar de trabalhar, como exigir verificações de lint passando ou verificar que arquivos de saída existem.

2871 2861 

2872Os hooks TeammateIdle não suportam matchers e são disparados em cada ocorrência.2862Hooks TeammateIdle não suportam matchers e são disparados em cada ocorrência.

2873 2863 

2874<h4 id="teammateidle-input">2864<h4 id="teammateidle-input">

2875 Entrada TeammateIdle2865 Entrada TeammateIdle

2876</h4>2866</h4>

2877 2867 

2878Além dos [campos de entrada comuns](#common-input-fields), os hooks TeammateIdle recebem `teammate_name` e `team_name`.2868Além dos [campos de entrada comuns](#common-input-fields), hooks TeammateIdle recebem `teammate_name` e `team_name`.

2879 2869 

2880```json theme={null}2870```json theme={null}

2881{2871{


2898 Controle de decisão TeammateIdle2888 Controle de decisão TeammateIdle

2899</h4>2889</h4>

2900 2890 

2901Os hooks TeammateIdle suportam duas maneiras de controlar o comportamento do colega:2891Hooks TeammateIdle suportam duas formas de controlar o comportamento do colega:

2902 2892 

2903* **Código de saída 2**: o colega recebe a mensagem stderr como feedback e continua trabalhando em vez de ficar inativo.2893* **Código de saída 2**: o colega recebe a mensagem stderr como feedback e continua trabalhando em vez de ficar inativo.

2904* **JSON `{"continue": false, "stopReason": "..."}`**: para o colega inteiramente, correspondendo ao comportamento do hook `Stop`. O `stopReason` é mostrado ao usuário.2894* **JSON `{"continue": false, "stopReason": "..."}`**: para o colega inteiramente, correspondendo ao comportamento do hook `Stop`. O `stopReason` é mostrado ao usuário.

2905 2895 

2906Este exemplo verifica se um artefato de compilação existe antes de permitir que um colega fique inativo:2896Este exemplo verifica que um artefato de compilação existe antes de permitir que um colega fique inativo:

2907 2897 

2908```bash theme={null}2898```bash theme={null}

2909#!/bin/bash2899#!/bin/bash


2922 2912 

2923Executado quando um arquivo de configuração muda durante uma sessão. Use isso para auditar mudanças de configurações, impor políticas de segurança ou bloquear modificações não autorizadas em arquivos de configuração.2913Executado quando um arquivo de configuração muda durante uma sessão. Use isso para auditar mudanças de configurações, impor políticas de segurança ou bloquear modificações não autorizadas em arquivos de configuração.

2924 2914 

2925Claude Code executa hooks ConfigChange quando um arquivo de configurações, um arquivo de política gerenciada ou um arquivo de skill muda. Para política gerenciada, ele os executa apenas quando `managed-settings.json` ou um arquivo em `managed-settings.d/` muda. Ele aplica [configurações gerenciadas pelo servidor](/docs/pt/server-managed-settings) e mudanças em preferências gerenciadas macOS ou política de registro Windows sem executá-los. Em WSL com [`wslInheritsWindowsSettings`](/docs/pt/settings-reference#wslinheritswindowssettings), ele também aplica um arquivo de configurações gerenciadas do lado Windows alterado em sua pesquisa de política sem executá-los.2915Claude Code executa hooks ConfigChange quando um arquivo de configurações, um arquivo de política gerenciada ou um arquivo de skill muda. Para política gerenciada, ele os executa apenas quando `managed-settings.json` ou um arquivo em `managed-settings.d/` muda. Ele aplica [configurações gerenciadas pelo servidor](/docs/pt/server-managed-settings) e mudanças em preferências gerenciadas macOS ou política de registro Windows sem executá-los. Em WSL com [`wslInheritsWindowsSettings`](/docs/pt/settings-reference#wslinheritswindowssettings), ele também aplica um arquivo de configurações gerenciadas Windows alterado no lado da política sem executá-los.

2926 2916 

2927O matcher filtra na fonte de configuração:2917O matcher filtra na fonte de configuração:

2928 2918 


2958 Entrada ConfigChange2948 Entrada ConfigChange

2959</h4>2949</h4>

2960 2950 

2961Alé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.2951Além dos [campos de entrada comuns](#common-input-fields), 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.

2962 2952 

2963```json theme={null}2953```json theme={null}

2964{2954{


2975 Controle de decisão ConfigChange2965 Controle de decisão ConfigChange

2976</h4>2966</h4>

2977 2967 

2978Os hooks ConfigChange podem bloquear mudanças de configuração de serem aplicadas. Use código de saída 2 ou um JSON `decision` para impedir a mudança. Quando bloqueado, as novas configurações não são aplicadas à sessão em execução.2968Hooks ConfigChange podem bloquear mudanças de configuração de terem efeito. Use código de saída 2 ou um JSON `decision` para impedir a mudança. Quando bloqueado, as novas configurações não são aplicadas à sessão em execução.

2979 2969 

2980| Campo | Descrição |2970| Campo | Descrição |

2981| :- | :- |2971| :- | :- |


2989}2979}

2990```2980```

2991 2981 

2992As mudanças `policy_settings` não podem ser bloqueadas. Os hooks ainda são disparados para fontes `policy_settings` quando um arquivo de configurações gerenciadas na máquina muda, portanto você pode usá-los para registrar essas edições, mas qualquer decisão de bloqueio é ignorada. Isso garante que as configurações gerenciadas pela empresa sempre tenham efeito. Claude Code não executa hooks `ConfigChange` quando [configurações gerenciadas pelo servidor](/docs/pt/server-managed-settings) chegam ou são atualizadas.2982Mudanças de `policy_settings` não podem ser bloqueadas. Hooks ainda são disparados para fontes `policy_settings` quando um arquivo de configurações gerenciadas na máquina muda, então você pode usá-los para registrar essas edições, mas qualquer decisão de bloqueio é ignorada. Isso garante que configurações gerenciadas pela empresa sempre tenham efeito. Claude Code não executa hooks `ConfigChange` quando [configurações gerenciadas pelo servidor](/docs/pt/server-managed-settings) chegam ou são atualizadas.

2993 2983 

2994Claude Code atua na decisão de bloqueio da saída JSON de um hook ConfigChange e descarta `systemMessage` e `continue`. Uma mudança bloqueada não exibe nenhuma mensagem para você ou para Claude, independentemente de você bloquear com `reason` ou com stderr ao sair com 2. Claude Code apenas escreve uma linha no log de depuração.2984Claude Code age na decisão de bloqueio da saída JSON de um hook ConfigChange e descarta `systemMessage` e `continue`. Uma mudança bloqueada não exibe nenhuma mensagem para você ou para Claude, independentemente de você bloquear com `reason` ou com stderr ao sair com 2. Claude Code apenas escreve uma linha no log de depuração.

2995 2985 

2996<h3 id="cwdchanged">2986<h3 id="cwdchanged">

2997 CwdChanged2987 CwdChanged


2999 2989 

3000Executado quando um comando de shell na conversa principal muda o diretório de trabalho, por exemplo quando Claude executa um comando `cd`. Use isso 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. Emparelha com [FileChanged](#filechanged) para ferramentas como [direnv](https://direnv.net/) que gerenciam ambiente por diretório.2990Executado quando um comando de shell na conversa principal muda o diretório de trabalho, por exemplo quando Claude executa um comando `cd`. Use isso 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. Emparelha com [FileChanged](#filechanged) para ferramentas como [direnv](https://direnv.net/) que gerenciam ambiente por diretório.

3001 2991 

3002Os hooks CwdChanged têm acesso a [`CLAUDE_ENV_FILE`](#persist-environment-variables). Variáveis escritas nesse arquivo persistem em comandos Bash subsequentes até o próximo evento CwdChanged, quando Claude Code as limpa.2992Hooks CwdChanged têm acesso a [`CLAUDE_ENV_FILE`](#persist-environment-variables). Variáveis escritas nesse arquivo persistem em comandos Bash subsequentes até o próximo evento CwdChanged, quando Claude Code as limpa.

3003 2993 

3004CwdChanged não suporta matchers e é disparado em cada ocorrência.2994CwdChanged não suporta matchers e é disparado em cada ocorrência.

3005 2995 


3007 Entrada CwdChanged2997 Entrada CwdChanged

3008</h4>2998</h4>

3009 2999 

3010Além dos [campos de entrada comuns](#common-input-fields), os hooks CwdChanged recebem `old_cwd` e `new_cwd`.3000Além dos [campos de entrada comuns](#common-input-fields), hooks CwdChanged recebem `old_cwd` e `new_cwd`.

3011 3001 

3012```json theme={null}3002```json theme={null}

3013{3003{


3024 Saída CwdChanged3014 Saída CwdChanged

3025</h4>3015</h4>

3026 3016 

3027Alé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 [FileChanged](#filechanged) observa:3017Além dos [campos de saída JSON](#json-output) disponíveis para todos os hooks, hooks CwdChanged podem retornar `watchPaths` para definir dinamicamente quais caminhos de arquivo [FileChanged](#filechanged) observa:

3028 3018 

3029| Campo | Descrição |3019| Campo | Descrição |

3030| :- | :- |3020| :- | :- |

3031| `watchPaths` | Array de caminhos absolutos. Substitui a lista de observação dinâmica atual. Caminhos de sua configuração `matcher` são sempre observados. Retornar um array vazio limpa a lista dinâmica, que é típico ao entrar em um novo diretório |3021| `watchPaths` | Array de caminhos absolutos. Substitui a lista de observação dinâmica atual. Caminhos de sua configuração `matcher` são sempre observados. Retornar um array vazio limpa a lista dinâmica, que é típico ao entrar em um novo diretório |

3032 3022 

3033Os hooks CwdChanged não têm controle de decisão. Eles não podem bloquear a mudança de diretório.3023Hooks CwdChanged não têm controle de decisão. Eles não podem bloquear a mudança de diretório.

3034 3024 

3035Claude Code lê `watchPaths` e `systemMessage` de sua saída JSON e descarta `continue`. Em sessões interativas, mostra o `systemMessage` como uma breve notificação de terminal. A mensagem não chega ao fluxo de mensagens do SDK.3025Claude Code lê `watchPaths` e `systemMessage` de sua saída JSON e descarta `continue`. Em sessões interativas, mostra o `systemMessage` como uma notificação de terminal breve. A mensagem não chega ao fluxo de mensagem do SDK.

3036 3026 

3037<h3 id="directoryadded">3027<h3 id="directoryadded">

3038 DirectoryAdded3028 DirectoryAdded


3043Claude Code não dispara este evento quando:3033Claude Code não dispara este evento quando:

3044 3034 

3045* Você passa um diretório com a flag de startup `--add-dir`; [SessionStart](#sessionstart) cobre esses diretórios3035* Você passa um diretório com a flag de startup `--add-dir`; [SessionStart](#sessionstart) cobre esses diretórios

3046* Você adiciona um diretório na aba `/permissions` Workspace3036* Você adiciona um diretório na aba Workspace `/permissions`

3047* Você adiciona um diretório que já é um diretório de trabalho ou está dentro de um3037* Você adiciona um diretório que já é um diretório de trabalho ou está dentro de um

3048 3038 

3049Claude Code dispara DirectoryAdded após atualizar estado de sandbox e permissão, portanto ferramentas em sandbox já veem o novo diretório quando seu hook é executado. Comandos de hook em si são executados sem sandbox.3039Claude Code dispara DirectoryAdded após atualizar estado de sandbox e permissão, então ferramentas em sandbox já veem o novo diretório quando seu hook é executado. Comandos de hook em si são executados sem sandbox.

3050 3040 

3051Claude Code não espera pelo hook: a adição é concluída imediatamente, e o hook é executado em segundo plano com o tempo limite padrão de 600 segundos.3041Claude Code não espera pelo hook: a adição é concluída imediatamente, e o hook é executado em segundo plano com o tempo limite padrão de 600 segundos.

3052 3042 


3061 Entrada DirectoryAdded3051 Entrada DirectoryAdded

3062</h4>3052</h4>

3063 3053 

3064Além dos [campos de entrada comuns](#common-input-fields), os hooks DirectoryAdded recebem `directory` e `source`.3054Além dos [campos de entrada comuns](#common-input-fields), hooks DirectoryAdded recebem `directory` e `source`.

3065 3055 

3066| Campo | Descrição |3056| Campo | Descrição |

3067| :- | :- |3057| :- | :- |


3079}3069}

3080```3070```

3081 3071 

3082Os 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. Claude Code descarta o campo `continue` de sua saída JSON e exibe o resto diferentemente por fonte:3072Hooks 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. Claude Code entrega a saída `systemMessage` do hook de forma diferente por fonte:

3083 3073 

3084* `slash_command`: Claude Code entrega o `systemMessage` do hook ao Claude como contexto no próximo turno de conversa, em vez de mostrar a você. Uma contagem de hooks falhados aparece na transcrição. A saída de falha completa vai para o log de depuração3074* `slash_command`: Claude Code entrega o `systemMessage` do hook ao Claude como contexto no próximo turno de conversa, em vez de mostrá-lo a você. Uma contagem de hooks falhados aparece na transcrição. Saída de falha completa vai para o log de depuração

3085* `register_repo_root`: Claude Code escreve saída `systemMessage` e saída de falha apenas no log de depuração3075* `register_repo_root`: Claude Code escreve saída `systemMessage` e saída de falha apenas no log de depuração

3086 3076 

3087<h3 id="filechanged">3077<h3 id="filechanged">

3088 FileChanged3078 FileChanged

3089</h3>3079</h3>

3090 3080 

3091Executado quando um arquivo observado muda no disco. Claude Code detecta mudanças com um observador de sistema de arquivos, não inspecionando chamadas de ferramenta, portanto executa o hook não importa o que mudou o arquivo: uma chamada de ferramenta `Edit` ou `Write`, um script que Claude executa com `Bash` ou um processo fora de Claude Code inteiramente. Um uso comum é recarregar variáveis de ambiente quando arquivos de configuração do projeto mudam.3081Executado quando um arquivo observado muda no disco. Claude Code detecta mudanças com um observador de sistema de arquivos, não inspecionando chamadas de ferramenta, então executa o hook não importa o que mudou o arquivo: uma chamada de ferramenta `Edit` ou `Write`, um script que Claude executa com `Bash`, ou um processo fora de Claude Code inteiramente. Um uso comum é recarregar variáveis de ambiente quando arquivos de configuração do projeto mudam.

3092 3082 

3093O `matcher` para este evento serve dois papéis:3083O `matcher` para este evento serve dois papéis:

3094 3084 

3095* **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, portanto `".envrc|.env"` observa exatamente esses dois arquivos. Padrões regex não são úteis aqui: um valor como `^\.env` observaria um arquivo literalmente nomeado `^\.env`.3085* **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 nomeado `^\.env`.

3096* **Filtrar quais hooks são executados**: quando um arquivo observado muda, o mesmo valor filtra quais grupos de hook são executados usando as [regras de matcher](#matcher-patterns) padrão contra o nome base do arquivo alterado.3086* **Filtrar quais hooks são executados**: quando um arquivo observado muda, o mesmo valor filtra quais grupos de hook são executados usando as [regras de matcher](#matcher-patterns) padrão contra o nome base do arquivo alterado.

3097 3087 

3098Este exemplo normaliza terminações de linha em `data.csv` após qualquer mudança, incluindo um comando `Bash` ou um script externo reescrevendo o arquivo:3088Este exemplo normaliza terminações de linha em `data.csv` após qualquer mudança, incluindo um comando `Bash` ou um script externo reescrevendo o arquivo:


3115}3105}

3116```3106```

3117 3107 

3118O hook lê o caminho absoluto do arquivo alterado do campo `file_path` da [entrada JSON](#filechanged-input) em stdin. Sua guarda `grep` testa a mesma coisa que `perl` remove, um CR no final de uma linha, portanto a execução após uma normalização sai sem tocar no arquivo. Uma guarda mais solta faz um loop para sempre, porque `perl -i` reescreve o arquivo mesmo quando substitui nada e 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:3108O hook lê o caminho absoluto do arquivo alterado do campo `file_path` da [entrada JSON](#filechanged-input) em stdin. Sua guarda `grep` testa a mesma coisa que `perl` remove, um CR no final de uma linha, então a execução após uma normalização sai sem tocar no arquivo. Uma guarda mais solta faz um loop infinito, porque `perl -i` reescreve o arquivo mesmo quando substitui nada e 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:

3119 3109 

3120```bash theme={null}3110```bash theme={null}

3121#!/bin/bash3111#!/bin/bash


3127 3117 

3128Para confirmar que o hook funciona, peça ao Claude para anexar uma linha CRLF a `data.csv` com um comando `Bash`. Claude Code executa o hook e o arquivo termina com terminações LF.3118Para confirmar que o hook funciona, peça ao Claude para anexar uma linha CRLF a `data.csv` com um comando `Bash`. Claude Code executa o hook e o arquivo termina com terminações LF.

3129 3119 

3130Para observar arquivos que você não pode nomear antecipadamente, retorne [`watchPaths`](#filechanged-output) de um hook para atualizar a lista de observação dinamicamente. Claude Code inicia o observador apenas quando algo nomeia um arquivo para observar, portanto semeie a lista com um grupo FileChanged cujo matcher nomeia pelo menos um arquivo, ou com um hook [SessionStart](#sessionstart-decision-control) ou [CwdChanged](#cwdchanged) que retorna `watchPaths`. O matcher ainda filtra quais grupos de hook são executados quando um arquivo observado muda, portanto dê ao grupo que manipula caminhos dinâmicos um matcher omitido, que corresponde a cada arquivo observado e não adiciona nada à lista de observação. Um matcher `"*"` também corresponde a cada arquivo, mas Claude Code o registra na lista de observação como qualquer outro valor, como um arquivo literal nomeado `*`.3120Para observar arquivos que você não pode nomear antecipadamente, retorne [`watchPaths`](#filechanged-output) de um hook para atualizar a lista de observação dinamicamente. Claude Code inicia o observador apenas quando algo nomeia um arquivo para observar, então semeie a lista com um grupo FileChanged cujo matcher nomeia pelo menos um arquivo, ou com um hook [SessionStart](#sessionstart-decision-control) ou [CwdChanged](#cwdchanged) que retorna `watchPaths`. O matcher ainda filtra quais grupos de hook são executados quando um arquivo observado muda, então dê ao grupo que manipula caminhos dinâmicos um matcher omitido, que corresponde a cada arquivo observado e não adiciona nada à lista de observação. Um matcher `"*"` também corresponde a cada arquivo, mas Claude Code o registra na lista de observação como um arquivo literal nomeado `*`.

3131 3121 

3132Os hooks FileChanged têm acesso a [`CLAUDE_ENV_FILE`](#persist-environment-variables). Variáveis escritas nesse arquivo persistem em comandos Bash subsequentes até o próximo evento [CwdChanged](#cwdchanged), quando Claude Code as limpa.3122Hooks FileChanged têm acesso a [`CLAUDE_ENV_FILE`](#persist-environment-variables). Variáveis escritas nesse arquivo persistem em comandos Bash subsequentes até o próximo evento [CwdChanged](#cwdchanged), quando Claude Code as limpa.

3133 3123 

3134<h4 id="filechanged-input">3124<h4 id="filechanged-input">

3135 Entrada FileChanged3125 Entrada FileChanged

3136</h4>3126</h4>

3137 3127 

3138Além dos [campos de entrada comuns](#common-input-fields), os hooks FileChanged recebem `file_path` e `event`.3128Além dos [campos de entrada comuns](#common-input-fields), hooks FileChanged recebem `file_path` e `event`.

3139 3129 

3140| Campo | Descrição |3130| Campo | Descrição |

3141| :- | :- |3131| :- | :- |

3142| `file_path` | Caminho absoluto para o arquivo que mudou |3132| `file_path` | Caminho absoluto para o arquivo que mudou |

3143| `event` | O que aconteceu: `"change"` para um arquivo modificado, `"add"` para um arquivo criado ou `"unlink"` para um arquivo excluído |3133| `event` | O que aconteceu: `"change"` para um arquivo modificado, `"add"` para um arquivo criado, ou `"unlink"` para um arquivo deletado |

3144 3134 

3145```json theme={null}3135```json theme={null}

3146{3136{


3157 Saída FileChanged3147 Saída FileChanged

3158</h4>3148</h4>

3159 3149 

3160Alé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:3150Além dos [campos de saída JSON](#json-output) disponíveis para todos os hooks, hooks FileChanged podem retornar `watchPaths` para atualizar dinamicamente quais caminhos de arquivo são observados:

3161 3151 

3162| Campo | Descrição |3152| Campo | Descrição |

3163| :- | :- |3153| :- | :- |

3164| `watchPaths` | Array de caminhos absolutos. Substitui a lista de observação dinâmica atual. Caminhos de sua configuração `matcher` são sempre observados. Use isso quando seu script de hook descobre arquivos adicionais para observar com base no arquivo alterado |3154| `watchPaths` | Array de caminhos absolutos. Substitui a lista de observação dinâmica atual. Caminhos de sua configuração `matcher` são sempre observados. Use isso quando seu script de hook descobre arquivos adicionais para observar com base no arquivo alterado |

3165 3155 

3166Os hooks FileChanged não têm controle de decisão. Eles não podem bloquear a mudança de arquivo de ocorrer.3156Hooks FileChanged não têm controle de decisão. Eles não podem bloquear a mudança de arquivo de ocorrer.

3167 3157 

3168Claude Code lê `watchPaths` e `systemMessage` de sua saída JSON e descarta `continue`. Em sessões interativas, mostra o `systemMessage` como uma breve notificação de terminal. A mensagem não chega ao fluxo de mensagens do SDK.3158Claude Code lê `watchPaths` e `systemMessage` de sua saída JSON e descarta `continue`. Em sessões interativas, mostra o `systemMessage` como uma notificação de terminal breve. A mensagem não chega ao fluxo de mensagem do SDK.

3169 3159 

3170<h3 id="worktreecreate">3160<h3 id="worktreecreate">

3171 WorktreeCreate3161 WorktreeCreate

3172</h3>3162</h3>

3173 3163 

3174Executado quando uma worktree está sendo criada, seja 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 Claude Code isola em sua própria worktree. Por padrão, Claude Code cria a cópia de trabalho isolada com `git worktree`. Configurar um hook WorktreeCreate substitui esse comportamento git padrão, permitindo que você use um sistema de controle de versão diferente como SVN, Perforce ou Mercurial.3164Executado quando uma worktree está sendo criada, seja 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 Claude Code isola em sua própria worktree. Por padrão, Claude Code cria a cópia de trabalho isolada com `git worktree`. Configurar um hook WorktreeCreate substitui esse comportamento git padrão, permitindo que você use um sistema de controle de versão diferente como SVN, Perforce ou Mercurial.

3175 3165 

3176Como o hook substitui o comportamento padrão inteiramente, [`.worktreeinclude`](/docs/pt/worktrees#copy-gitignored-files-into-worktrees) não é processado. Se você precisar copiar arquivos de configuração local como `.env` para a nova worktree, faça isso dentro de seu script de hook.3166Como o hook substitui o comportamento padrão inteiramente, [`.worktreeinclude`](/docs/pt/worktrees#copy-gitignored-files-into-worktrees) não é processado. Se você precisar copiar arquivos de configuração local como `.env` para a nova worktree, faça isso dentro de seu script de hook.

3177 3167 

3178O hook deve retornar o caminho para o diretório de worktree criado. Claude Code usa este caminho como o diretório de trabalho para a sessão isolada. Veja [saída WorktreeCreate](#worktreecreate-output) para como cada tipo de hook retorna o caminho.3168O hook deve retornar o caminho para o diretório de worktree criado. Claude Code usa este caminho como o diretório de trabalho para a sessão isolada. Veja [Saída WorktreeCreate](#worktreecreate-output) para como cada tipo de hook retorna o caminho.

3179 3169 

3180Claude Code atua no sucesso do hook e no caminho retornado, e descarta `systemMessage` e `continue`.3170Claude Code age no sucesso do hook e no caminho retornado, e descarta `systemMessage` e `continue`.

3181 3171 

3182Este exemplo cria uma cópia de trabalho SVN e imprime o caminho para Claude Code usar. Substitua a URL do repositório pela sua própria:3172Este exemplo cria uma cópia de trabalho SVN e imprime o caminho para Claude Code usar. Substitua a URL do repositório pela sua própria:

3183 3173 


3204 Entrada WorktreeCreate3194 Entrada WorktreeCreate

3205</h4>3195</h4>

3206 3196 

3207Além dos [campos de entrada comuns](#common-input-fields), os hooks WorktreeCreate recebem o campo `name`. Este é um identificador slug para a nova worktree, especificado pelo usuário ou auto-gerado, por exemplo `bold-oak-a3f2`.3197Além dos [campos de entrada comuns](#common-input-fields), hooks WorktreeCreate recebem o campo `name`. Este é um identificador slug para a nova worktree, seja especificado pelo usuário ou auto-gerado, por exemplo `bold-oak-a3f2`.

3208 3198 

3209```json theme={null}3199```json theme={null}

3210{3200{


3220 Saída WorktreeCreate3210 Saída WorktreeCreate

3221</h4>3211</h4>

3222 3212 

3223Os hooks WorktreeCreate não usam o modelo de decisão permitir/bloquear padrão. Em vez disso, o sucesso ou falha do hook determina o resultado. O hook deve retornar o caminho para o diretório de worktree criado:3213Hooks WorktreeCreate não usam o modelo de decisão de permitir/bloquear padrão. Em vez disso, o sucesso ou falha do hook determina o resultado. O hook deve retornar o caminho para o diretório de worktree criado:

3224 3214 

3225* **Hooks de comando** (`type: "command"`): imprima o caminho como a última linha não vazia de stdout. Claude Code remove códigos de escape ANSI antes de ler essa linha, portanto banners de inicialização de shell impressos antes de seu `echo` são ignorados. Redirecione qualquer outra saída de hook para stderr.3215* **Hooks de comando** (`type: "command"`): imprima o caminho como a última linha não vazia de stdout. Claude Code remove códigos de escape ANSI antes de ler essa linha, então banners de startup de shell impressos antes de seu `echo` são ignorados. Redirecione qualquer outra saída de hook para stderr.

3226* **Hooks HTTP** (`type: "http"`): retorne `{ "hookSpecificOutput": { "hookEventName": "WorktreeCreate", "worktreePath": "/absolute/path" } }` no corpo da resposta.3216* **Hooks HTTP** (`type: "http"`): retorne `{ "hookSpecificOutput": { "hookEventName": "WorktreeCreate", "worktreePath": "/absolute/path" } }` no corpo da resposta.

3227 3217 

3228Se o hook falhar ou não produzir um caminho, a criação de worktree falha com um erro.3218Se o hook falhar ou não produzir um caminho, a criação de worktree falha com um erro.


3239 3229 

3240* você sai de uma sessão `--worktree` e escolhe removê-la3230* você sai de uma sessão `--worktree` e escolhe removê-la

3241* um subagente com `isolation: "worktree"` termina3231* um subagente com `isolation: "worktree"` termina

3242* você exclui uma [sessão em segundo plano](/docs/pt/agent-view#what-deleting-a-session-removes) cuja worktree o hook criou3232* você deleta uma [sessão em segundo plano](/docs/pt/agent-view#what-deleting-a-session-removes) cuja worktree o hook criou

3243 3233 

3244Para worktrees baseadas em git, Claude Code manipula a limpeza automaticamente com `git worktree remove`. Se você configurou um hook WorktreeCreate para um sistema de controle de versão não-git, emparelhe-o com um hook WorktreeRemove para manipular a limpeza. Sem um, o diretório de worktree é deixado no disco.3234Para worktrees baseadas em git, Claude Code manipula limpeza automaticamente com `git worktree remove`. Se você configurou um hook WorktreeCreate para um sistema de controle de versão não-git, emparelhe-o com um hook WorktreeRemove para manipular limpeza. Sem um, o diretório de worktree é deixado no disco.

3245 3235 

3246Claude Code descarta os [campos de saída JSON](#json-output) de um hook WorktreeRemove, como `systemMessage` e `continue`.3236Claude Code descarta [campos de saída JSON](#json-output) de um hook WorktreeRemove, como `systemMessage` e `continue`.

3247 3237 

3248Para uma exclusão de sessão em segundo plano, Claude Code verifica o caminho de worktree armazenado antes de executar o hook e recusa um caminho que é um symlink ou passa através de um abaixo da raiz do repositório. O hook é executado para uma worktree que ainda contém arquivos apenas quando você confirma a exclusão em [agent view](/docs/pt/agent-view#what-deleting-a-session-removes); para tal worktree, [`claude rm`](/docs/pt/agent-view#manage-sessions-from-the-shell) mantém a sessão e worktree em vez disso. Antes da v2.1.216, o hook era executado no caminho armazenado sem essas verificações.3238Para uma exclusão de sessão em segundo plano, Claude Code verifica o caminho de worktree armazenado antes de executar o hook e recusa um caminho que é um symlink ou passa através de um abaixo da raiz do repositório. O hook é executado para uma worktree que ainda contém arquivos apenas quando você confirma a exclusão em [agent view](/docs/pt/agent-view#what-deleting-a-session-removes); para tal worktree, [`claude rm`](/docs/pt/agent-view#manage-sessions-from-the-shell) mantém a sessão e worktree em vez disso. Antes da v2.1.216, o hook era executado no caminho armazenado sem essas verificações.

3249 3239 


3270 Entrada WorktreeRemove3260 Entrada WorktreeRemove

3271</h4>3261</h4>

3272 3262 

3273Além dos [campos de entrada comuns](#common-input-fields), os hooks WorktreeRemove recebem o campo `worktree_path`, que é o caminho absoluto para a worktree sendo removida.3263Além dos [campos de entrada comuns](#common-input-fields), hooks WorktreeRemove recebem o campo `worktree_path`, que é o caminho absoluto para a worktree sendo removida.

3274 3264 

3275```json theme={null}3265```json theme={null}

3276{3266{


3285O código de saída de um hook WorktreeRemove decide o resultado. Quando um hook sai com código não-zero e o diretório em `worktree_path` ainda existe depois, a remoção falha:3275O código de saída de um hook WorktreeRemove decide o resultado. Quando um hook sai com código não-zero e o diretório em `worktree_path` ainda existe depois, a remoção falha:

3286 3276 

3287* A worktree permanece no disco, e o comando do hook e stderr vão para o [log de depuração](#debug-hooks).3277* A worktree permanece no disco, e o comando do hook e stderr vão para o [log de depuração](#debug-hooks).

3288* Se você estava excluindo uma sessão em segundo plano, a sessão também permanece. A mensagem de recusa em [agent view](/docs/pt/agent-view#what-deleting-a-session-removes) relata como o hook terminou, como `exited 1`, cita o início de seu stderr e diz se excluir a sessão novamente remove o diretório de qualquer forma.3278* Se você estava deletando uma sessão em segundo plano, a sessão também permanece. A mensagem de recusa em [agent view](/docs/pt/agent-view#what-deleting-a-session-removes) relata como o hook terminou, como `exited 1`, cita o início de seu stderr e diz se deletar a sessão novamente remove o diretório mesmo assim.

3289 3279 

3290<h3 id="precompact">3280<h3 id="precompact">

3291 PreCompact3281 PreCompact


3302 3292 

3303Saia com código 2 para bloquear a compactação. Para um `/compact` manual, a mensagem stderr é mostrada ao usuário. Você também pode bloquear retornando JSON com `"decision": "block"`.3293Saia com código 2 para bloquear a compactação. Para um `/compact` manual, a mensagem stderr é mostrada ao usuário. Você também pode bloquear retornando JSON com `"decision": "block"`.

3304 3294 

3305Bloquear compactação automática tem efeitos diferentes dependendo de quando é disparado. Se a compactação foi disparada proativamente antes do limite de contexto, Claude Code a pula e a conversa continua sem compactação. Se a compactação foi disparada para recuperar de um erro de limite de contexto já retornado pela API, o erro subjacente aparece e a solicitação atual falha.3295Bloquear compactação automática tem efeitos diferentes dependendo de quando é disparado. Se a compactação foi disparada proativamente antes do limite de contexto, Claude Code a pula e a conversa continua não compactada. Se a compactação foi disparada para recuperar de um erro de limite de contexto já retornado pela API, o erro subjacente aparece e a solicitação atual falha.

3306 3296 

3307Claude Code descarta os campos `systemMessage` e `continue` de um hook PreCompact.3297Claude Code descarta campos `systemMessage` e `continue` de um hook PreCompact.

3308 3298 

3309<h4 id="precompact-input">3299<h4 id="precompact-input">

3310 Entrada PreCompact3300 Entrada PreCompact

3311</h4>3301</h4>

3312 3302 

3313Alé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`.3303Além dos [campos de entrada comuns](#common-input-fields), hooks PreCompact recebem `trigger` e `custom_instructions`. Para `manual`, `custom_instructions` contém o que o usuário passa para `/compact` e é `null` quando não passa nada. Para `auto`, `custom_instructions` é `null`.

3314 3304 

3315```json theme={null}3305```json theme={null}

3316{3306{


3327 PostCompact3317 PostCompact

3328</h3>3318</h3>

3329 3319 

3330Executado após Claude Code completar uma operação de compactação. Use este evento para reagir ao novo estado compactado, por exemplo para registrar o resumo gerado ou atualizar estado externo. Claude Code descarta os campos `systemMessage` e `continue` de um hook PostCompact.3320Executado após Claude Code completar uma operação de compactação. Use este evento para reagir ao novo estado compactado, por exemplo para registrar o resumo gerado ou atualizar estado externo. Claude Code descarta campos `systemMessage` e `continue` de um hook PostCompact.

3331 3321 

3332Os mesmos valores de matcher se aplicam como para `PreCompact`:3322Os mesmos valores de matcher se aplicam como para `PreCompact`:

3333 3323 


3340 Entrada PostCompact3330 Entrada PostCompact

3341</h4>3331</h4>

3342 3332 

3343Alé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 de conversa gerado pela operação de compactação.3333Além dos [campos de entrada comuns](#common-input-fields), hooks PostCompact recebem `trigger` e `compact_summary`. O campo `compact_summary` contém o resumo de conversa gerado pela operação de compactação.

3344 3334 

3345```json theme={null}3335```json theme={null}

3346{3336{


3353}3343}

3354```3344```

3355 3345 

3356Os hooks PostCompact não têm controle de decisão. Eles não podem afetar o resultado da compactação mas podem executar tarefas de acompanhamento.3346Hooks PostCompact não têm controle de decisão. Eles não podem afetar o resultado da compactação mas podem executar tarefas de acompanhamento.

3357 3347 

3358<h3 id="premodelswitch">3348<h3 id="premodelswitch">

3359 PreModelSwitch3349 PreModelSwitch


3363 3353 

3364PreModelSwitch requer Claude Code v2.1.251 ou posterior. Claude Code o executa para essas solicitações:3354PreModelSwitch requer Claude Code v2.1.251 ou posterior. Claude Code o executa para essas solicitações:

3365 3355 

3366* `/model <name>` e o seletor `/model`3356* `/model <name>` e o picker `/model`

3367* O seletor de modelo `Option+P` ou `Alt+P`3357* O picker de modelo `Option+P` ou `Alt+P`

3368* A configuração Model em `/config`3358* A configuração Model em `/config`

3369* Ativar [modo rápido](/docs/pt/fast-mode) quando isso muda o modelo da sessão3359* Ligar [modo rápido](/docs/pt/fast-mode) quando isso muda o modelo da sessão

3370* Uma solicitação `set_model`, ou uma mudança de modelo em uma solicitação `apply_flag_settings`, de um host [Agent SDK](/docs/pt/agent-sdk/typescript#query-object) ou [Remote Control](/docs/pt/remote-control)3360* Uma solicitação `set_model`, ou uma mudança de modelo em uma solicitação `apply_flag_settings`, de um host [Agent SDK](/docs/pt/agent-sdk/typescript#query-object) ou [Remote Control](/docs/pt/remote-control)

3371 3361 

3372Claude Code não executa hooks PreModelSwitch para mudanças que faz por conta própria, como um [fallback de modelo automático](/docs/pt/model-config#automatic-model-fallback) ou restaurar o modelo quando você retoma uma sessão. Essas mudanças chegam apenas a [PostModelSwitch](#postmodelswitch).3362Claude Code não executa hooks PreModelSwitch para mudanças que faz por conta própria, como um [fallback de modelo automático](/docs/pt/model-config#automatic-model-fallback) ou restaurar o modelo quando você retoma uma sessão. Essas mudanças chegam a [PostModelSwitch](#postmodelswitch) apenas.

3373 3363 

3374Claude Code compara o matcher contra o nome canônico do modelo para o qual a sessão está mudando, ignorando qualquer sufixo `[1m]`. Um alias como `opus`, um ID de modelo datado e um ID específico do provedor como um ID de modelo Amazon Bedrock todos correspondem ao um nome canônico que resolvem, portanto `claude-opus-5` cobre cada ortografia de Opus 5.3364Claude Code compara o matcher contra o nome canônico do modelo para o qual a sessão está mudando, ignorando qualquer sufixo `[1m]`. Um alias como `opus`, um ID de modelo datado e um ID específico de provedor como um ID de modelo Amazon Bedrock todos correspondem ao um nome canônico que resolvem, então `claude-opus-5` cobre cada ortografia de Opus 5.

3375 3365 

3376Quando Claude Code não pode determinar um nome canônico para o alvo, por exemplo um ID de modelo personalizado que apenas seu [gateway LLM](/docs/pt/llm-gateway) conhece, ele executa cada hook PreModelSwitch independentemente do matcher. Um hook que bloqueia deve portanto verificar `to_model` de sua entrada em vez de confiar apenas no matcher.3366Quando Claude Code não pode determinar um nome canônico para o alvo, por exemplo um ID de modelo personalizado que apenas seu [gateway LLM](/docs/pt/llm-gateway) conhece, ele executa cada hook PreModelSwitch independentemente do matcher. Um hook que bloqueia deve portanto verificar `to_model` de sua entrada em vez de confiar apenas no matcher.

3377 3367 

3378Escreva 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` da entrada do hook, portanto recusa uma mudança para Opus 4.6 ao sair com código 2 e deixa qualquer outro alvo passar:3368Escreva 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` da entrada do hook, então recusa uma mudança para Opus 4.6 saindo com código 2 e deixa qualquer outro alvo passar:

3379 3369 

3380<Tabs>3370<Tabs>

3381 <Tab title="macOS/Linux">3371 <Tab title="macOS/Linux">


3447 Entrada PreModelSwitch3437 Entrada PreModelSwitch

3448</h4>3438</h4>

3449 3439 

3450Além dos [campos de entrada comuns](#common-input-fields), os hooks PreModelSwitch recebem os campos nesta tabela. Os últimos cinco descrevem qual é o custo de reenviar a conversa para o novo modelo, portanto um hook pode mostrar essa figura antes da mudança acontecer.3440Além dos [campos de entrada comuns](#common-input-fields), hooks PreModelSwitch recebem os campos nesta tabela. Os últimos cinco descrevem qual é o custo de reenviar a conversa para o novo modelo, então um hook pode mostrar essa figura antes da mudança acontecer.

3451 3441 

3452| Campo | Tipo | Descrição |3442| Campo | Tipo | Descrição |

3453| :- | :- | :- |3443| :- | :- | :- |

3454| `from_model` | string | ID de modelo da mudança de |3444| `from_model` | string | ID do modelo do qual a mudança muda |

3455| `to_model` | string | ID de modelo da mudança para. O matcher compara contra o nome canônico deste modelo |3445| `to_model` | string | ID do modelo para o qual a mudança muda. O matcher compara contra o nome canônico deste modelo |

3456| `requested_model` | string ou `null` | O modelo que a solicitação nomeou: um alias como `opus`, um ID de modelo completo, ou `null` quando a solicitação foi para o modelo padrão |3446| `requested_model` | string ou `null` | O modelo que a solicitação nomeou: um alias como `opus`, um ID de modelo completo, ou `null` quando a solicitação foi para o modelo padrão |

3457| `source` | string | De onde a solicitação veio: `"command"` para `/model <name>`, a configuração Model em `/config` ou ativar modo rápido; `"picker"` para um seletor de modelo; `"sdk"` para uma solicitação `set_model`, ou uma mudança de modelo em uma solicitação `apply_flag_settings`, de um host Agent SDK ou Remote Control |3447| `source` | string | De onde a solicitação veio: `"command"` para `/model <name>`, a configuração Model em `/config`, ou ligar modo rápido; `"picker"` para um picker de modelo; `"sdk"` para uma solicitação `set_model`, ou uma mudança de modelo em uma solicitação `apply_flag_settings`, de um host Agent SDK ou Remote Control |

3458| `context_tokens` | number | Tokens que a próxima solicitação reenvia como seu prompt: os tokens de entrada, leitura de cache, criação de cache e saída da última resposta na conversa principal, combinados. `0` antes da primeira resposta |3448| `context_tokens` | number | Tokens que a próxima solicitação reenvia como seu prompt: os tokens de entrada, leitura de cache, criação de cache e saída da última resposta na conversa principal, combinados. `0` antes da primeira resposta |

3459| `prompt_cache_warm` | boolean | Se o cache de prompt do modelo atual provavelmente ainda está quente, significando que a mudança o perde |3449| `prompt_cache_warm` | boolean | Se o cache de prompt do modelo atual provavelmente ainda está quente, significando que a mudança o perde |

3460| `cache_ttl` | string | [Tempo de vida do cache de prompt](/docs/pt/prompt-caching#cache-lifetime) que Claude Code solicita para esta sessão: `"5m"` ou `"1h"` |3450| `cache_ttl` | string | [Tempo de vida do cache de prompt](/docs/pt/prompt-caching#cache-lifetime) que Claude Code solicita para esta sessão: `"5m"` ou `"1h"` |

3461| `estimated_cache_write_usd` | number | Custo estimado em dólares americanos de escrever `context_tokens` no cache de prompt em `to_model` na taxa `cache_ttl`, excluindo a próxima resposta. O servidor pode não precisar re-cachear todo o contexto, portanto trate como uma estimativa |3451| `estimated_cache_write_usd` | number | Custo estimado em dólares americanos de escrever `context_tokens` no cache de prompt em `to_model` na taxa `cache_ttl`, excluindo a próxima resposta. O servidor pode não precisar re-cachear o contexto inteiro, então trate como uma estimativa |

3462| `pricing` | string | Como Claude Code precificou `estimated_cache_write_usd`: `"configured"` em suas próprias taxas quando sua organização as configurou, `"catalog"` ao preço de lista, ou `"default"` quando `to_model` não tem preço conhecido e Claude Code assumiu uma taxa padrão |3452| `pricing` | string | Como Claude Code precificou `estimated_cache_write_usd`: `"configured"` em suas próprias taxas de organização quando as configurou, `"catalog"` no preço de lista, ou `"default"` quando `to_model` não tem preço conhecido e Claude Code assumiu uma taxa padrão |

3463 3453 

3464Este exemplo mostra a entrada para `/model opus` em uma sessão executando Sonnet 5:3454Este exemplo mostra a entrada para `/model opus` em uma sessão executando Sonnet 5:

3465 3455 


3485 Controle de decisão PreModelSwitch3475 Controle de decisão PreModelSwitch

3486</h4>3476</h4>

3487 3477 

3488Os hooks `PreModelSwitch` podem cancelar a mudança, pedir ao usuário para confirmá-la ou deixá-la prosseguir. Código de saída 2 ou um `decision: "block"` de nível superior cancela a mudança.3478Hooks `PreModelSwitch` podem cancelar a mudança, pedir ao usuário para confirmá-la ou deixá-la prosseguir. Código de saída 2 ou um `decision: "block"` de nível superior cancela a mudança.

3489 3479 

3490Para controle mais fino, retorne `permissionDecision` e `permissionDecisionReason` em um objeto `hookSpecificOutput`, como em [PreToolUse](#pretooluse-decision-control). `PreModelSwitch` aceita `"allow"`, `"deny"` e `"ask"`. Não aceita `"defer"`, `updatedInput` ou `additionalContext`. A tabela abaixo descreve ambos os campos:3480Para controle mais fino, retorne `permissionDecision` e `permissionDecisionReason` em um objeto `hookSpecificOutput`, como em [PreToolUse](#pretooluse-decision-control). `PreModelSwitch` aceita `"allow"`, `"deny"` e `"ask"`. Não aceita `"defer"`, `updatedInput` ou `additionalContext`. A tabela abaixo descreve ambos os campos:

3491 3481 


3510 3500 

3511Quando vários hooks PreModelSwitch retornam decisões diferentes, a precedência é `deny` > `ask` > `allow`.3501Quando vários hooks PreModelSwitch retornam decisões diferentes, a precedência é `deny` > `ask` > `allow`.

3512 3502 

3513Claude Code mostra ao usuário qualquer `systemMessage` que seu hook retorna independentemente da decisão, portanto um hook de relatório de custo pode retornar `{"systemMessage": "..."}` e sair com 0.3503Claude Code mostra ao usuário qualquer `systemMessage` que seu hook retorna independentemente da decisão, então um hook de relatório de custo pode retornar `{"systemMessage": "..."}` e sair com 0.

3514 3504 

3515Um hook PreModelSwitch que não responde antes de seu tempo limite bloqueia a mudança. Em [PreToolUse](#timeouts), por contraste, um hook de comando que atingiu o tempo limite deixa a chamada de ferramenta continuar. O tempo limite padrão para este evento é 30 segundos. `PreModelSwitch` executa apenas hooks `command`, `http` e `mcp_tool`, portanto os padrões `prompt` e `agent` não se aplicam.3505Um hook PreModelSwitch que não responde antes de seu tempo limite bloqueia a mudança. Em [PreToolUse](#timeouts), por contraste, um hook de comando que atingiu tempo limite deixa a chamada de ferramenta continuar. O tempo limite padrão para este evento é 30 segundos. `PreModelSwitch` executa apenas hooks `command`, `http` e `mcp_tool`, então os padrões `prompt` e `agent` não se aplicam.

3516 3506 

3517Um hook que sai com um código diferente de 0 ou 2 e não imprime nenhuma decisão JSON não bloqueia: Claude Code mostra seu stderr e aplica a mudança, conforme descrito em [Outros códigos de saída](#other-exit-codes).3507Um hook que sai com um código diferente de 0 ou 2 e não imprime nenhuma decisão JSON não bloqueia: Claude Code mostra seu stderr e aplica a mudança, conforme descrito em [Outros códigos de saída](#other-exit-codes).

3518 3508 


3559 Entrada PostModelSwitch3549 Entrada PostModelSwitch

3560</h4>3550</h4>

3561 3551 

3562Os hooks PostModelSwitch recebem os mesmos campos que [PreModelSwitch](#premodelswitch-input), com `hook_event_name` definido como `"PostModelSwitch"` e dois valores `source` mais: `"auto"` para um fallback automático ou outra mudança que Claude Code fez por conta própria, e `"resume"` para o modelo restaurado quando você retoma uma sessão.3552Hooks PostModelSwitch recebem os mesmos campos que [PreModelSwitch](#premodelswitch-input), com `hook_event_name` definido como `"PostModelSwitch"` e dois valores de `source` mais: `"auto"` para um fallback automático ou outra mudança que Claude Code fez por conta própria, e `"resume"` para o modelo restaurado quando você retoma uma sessão.

3563 3553 

3564`requested_model` é `null` quando `source` é `"auto"`. Quando `source` é `"resume"`, é a configuração de modelo salva que Claude Code restaurou.3554`requested_model` é `null` quando `source` é `"auto"`. Quando `source` é `"resume"`, é a configuração de modelo salva que Claude Code restaurou.

3565 3555 


3567 Controle de decisão PostModelSwitch3557 Controle de decisão PostModelSwitch

3568</h4>3558</h4>

3569 3559 

3570Claude Code pega seu stdout de [texto simples](#exit-code-0) do hook ao sair com 0, ou `additionalContext` de saída JSON, e o entrega ao Claude com a próxima solicitação após a mudança. Além dos [campos de saída JSON](#json-output) disponíveis para todos os hooks, você pode retornar:3560Claude Code toma seu [stdout de texto simples](#exit-code-0) do hook ao sair com 0, ou `additionalContext` de saída JSON, e o entrega ao Claude com a próxima solicitação após a mudança. Além dos [campos de saída JSON](#json-output) disponíveis para todos os hooks, você pode retornar:

3571 3561 

3572| Campo | Descrição |3562| Campo | Descrição |

3573| :- | :- |3563| :- | :- |

3574| `additionalContext` | String adicionada ao contexto do Claude com a próxima solicitação. Veja [Adicionar contexto para Claude](#add-context-for-claude) |3564| `additionalContext` | String adicionada ao contexto do Claude com a próxima solicitação. Veja [Adicionar contexto para Claude](#add-context-for-claude) |

3575 3565 

3576Se o hook não terminar dentro de cinco segundos após você enviar a próxima solicitação, Claude Code envia essa solicitação sem a saída e a anexa à solicitação seguinte em vez disso. Se o modelo mudar várias vezes antes da próxima solicitação, Claude Code entrega apenas a saída para a mudança de alvo do último modelo.3566Se o hook não terminar dentro de cinco segundos após você enviar a próxima solicitação, Claude Code envia essa solicitação sem a saída e a anexa à solicitação seguinte em vez disso. Se o modelo mudar várias vezes antes da próxima solicitação, Claude Code entrega apenas a saída para a mudança do modelo alvo final.

3577 3567 

3578<h3 id="sessionend">3568<h3 id="sessionend">

3579 SessionEnd3569 SessionEnd

3580</h3>3570</h3>

3581 3571 

3582Executado quando uma sessão Claude Code termina. Útil para tarefas de limpeza, registrar estatísticas de sessão ou salvar estado de sessão. Suporta matchers para filtrar por motivo de saída.3572Executado quando uma sessão de Claude Code termina. Útil para tarefas de limpeza, registrar estatísticas de sessão ou salvar estado de sessão. Suporta matchers para filtrar por motivo de saída.

3583 3573 

3584O campo `reason` na entrada do hook indica por que a sessão terminou:3574O campo `reason` na entrada do hook indica por que a sessão terminou:

3585 3575 

3586| Motivo | Descrição |3576| Motivo | Descrição |

3587| :- | :- |3577| :- | :- |

3588| `clear` | Sessão limpa com comando `/clear` |3578| `clear` | Sessão limpa com comando `/clear` |

3589| `resume` | Sessão mudada via `/resume` interativo |3579| `resume` | Sessão mudou via `/resume` interativo |

3590| `logout` | Usuário fez logout |3580| `logout` | Usuário fez logout |

3591| `prompt_input_exit` | Usuário saiu enquanto entrada de prompt estava visível |3581| `prompt_input_exit` | Usuário saiu enquanto entrada de prompt estava visível |

3592| `other` | Outros motivos de saída |3582| `other` | Outros motivos de saída |


3596 Entrada SessionEnd3586 Entrada SessionEnd

3597</h4>3587</h4>

3598 3588 

3599Além dos [campos de entrada comuns](#common-input-fields), os hooks SessionEnd recebem um campo `reason` indicando por que a sessão terminou. Veja a [tabela de motivos](#sessionend) acima para todos os valores.3589Além dos [campos de entrada comuns](#common-input-fields), hooks SessionEnd recebem um campo `reason` indicando por que a sessão terminou. Veja a [tabela de motivos](#sessionend) acima para todos os valores.

3600 3590 

3601```json theme={null}3591```json theme={null}

3602{3592{


3608}3598}

3609```3599```

3610 3600 

3611Os hooks SessionEnd não têm controle de decisão. Eles não podem bloquear o término da sessão mas podem executar tarefas de limpeza. Claude Code descarta seus [campos de saída JSON](#json-output), como `systemMessage`.3601Hooks SessionEnd não têm controle de decisão. Eles não podem bloquear o término da sessão mas podem executar tarefas de limpeza. Claude Code descarta seus [campos de saída JSON](#json-output), como `systemMessage`.

3612 3602 

3613Os hooks SessionEnd têm um tempo limite padrão de 1,5 segundos. Aplica-se quando você sai, executa `/clear` ou muda de sessões com `/resume` interativo. Você pode dar a um hook mais tempo de duas maneiras:3603Hooks SessionEnd têm um tempo limite padrão de 1,5 segundos. Aplica-se quando você sai, executa `/clear` ou muda de sessões com `/resume` interativo. Você pode dar a um hook mais tempo de duas formas:

3614 3604 

3615* **`timeout` por hook**: defina `timeout` na configuração desse hook. O orçamento geral sobe automaticamente para corresponder ao `timeout` por hook mais alto em seus arquivos de configurações, até 60 segundos. Se você aumentar o orçamento dessa forma, um hook sem seu próprio `timeout` ainda mantém o padrão. Tempos limite definidos em hooks fornecidos por plugin não aumentam o orçamento.3605* **`timeout` por hook**: defina `timeout` na configuração desse hook. O orçamento geral sobe automaticamente para corresponder ao `timeout` por hook mais alto em seus arquivos de configurações, até 60 segundos. Se você aumentar o orçamento dessa forma, um hook sem seu próprio `timeout` ainda mantém o padrão. Tempos limite definidos em hooks fornecidos por plugin não aumentam o orçamento.

3616* **`CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS`**: defina esta variável de ambiente em milissegundos para sobrescrever o orçamento explicitamente. O valor que você define também se torna o tempo limite para cada hook sem seu próprio `timeout`.3606* **`CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS`**: defina esta variável de ambiente em milissegundos para sobrescrever o orçamento explicitamente. O valor que você define também se torna o tempo limite para cada hook sem seu próprio `timeout`.


3627 Elicitation3617 Elicitation

3628</h3>3618</h3>

3629 3619 

3630Executado quando um servidor MCP solicita entrada do usuário no meio de uma tarefa. Por padrã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 inteiramente.3620Executado quando um servidor MCP solicita entrada do usuário no meio da tarefa. Por padrão, Claude Code mostra um diálogo interativo para o usuário responder. Hooks podem interceptar essa solicitação e responder programaticamente, pulando o diálogo inteiramente.

3631 3621 

3632O campo matcher corresponde ao nome do servidor MCP.3622O campo matcher corresponde ao nome do servidor MCP.

3633 3623 


3635 Entrada Elicitation3625 Entrada Elicitation

3636</h4>3626</h4>

3637 3627 

3638Além dos [campos de entrada comuns](#common-input-fields), os hooks Elicitation recebem `mcp_server_name`, `message` e campos opcionais `mode`, `url`, `elicitation_id` e `requested_schema`.3628Além dos [campos de entrada comuns](#common-input-fields), hooks Elicitation recebem `mcp_server_name`, `message` e campos opcionais `mode`, `url`, `elicitation_id` e `requested_schema`.

3639 3629 

3640Para elicitação de modo de formulário, o caso mais comum:3630Para elicitação de modo de formulário, o caso mais comum:

3641 3631 


3695| `action` | `accept`, `decline`, `cancel` | Se deve aceitar, recusar ou cancelar a solicitação |3685| `action` | `accept`, `decline`, `cancel` | Se deve aceitar, recusar ou cancelar a solicitação |

3696| `content` | object | Valores de campo de formulário a enviar. Usado apenas quando `action` é `accept` |3686| `content` | object | Valores de campo de formulário a enviar. Usado apenas quando `action` é `accept` |

3697 3687 

3698Código de saída 2 nega a elicitação. Claude Code não mostra sua mensagem stderr em lugar nenhum.3688Saia com código 2 para negar a elicitação. Claude Code não mostra sua mensagem stderr em lugar algum.

3699 3689 

3700Claude Code atua em `hookSpecificOutput` da saída JSON de um hook Elicitation e descarta `systemMessage` e `continue`.3690Claude Code age em `hookSpecificOutput` da saída JSON de um hook Elicitation e descarta `systemMessage` e `continue`.

3701 3691 

3702<h3 id="elicitationresult">3692<h3 id="elicitationresult">

3703 ElicitationResult3693 ElicitationResult

3704</h3>3694</h3>

3705 3695 

3706Executado após um usuário responder a uma elicitação MCP. Os hooks podem observar, modificar ou bloquear a resposta antes de ser enviada de volta para o servidor MCP.3696Executado após um usuário responder a uma elicitação MCP. Hooks podem observar, modificar ou bloquear a resposta antes de ser enviada de volta para o servidor MCP.

3707 3697 

3708O campo matcher corresponde ao nome do servidor MCP.3698O campo matcher corresponde ao nome do servidor MCP.

3709 3699 


3711 Entrada ElicitationResult3701 Entrada ElicitationResult

3712</h4>3702</h4>

3713 3703 

3714Além dos [campos de entrada comuns](#common-input-fields), os hooks ElicitationResult recebem `mcp_server_name`, `action` e campos opcionais `mode`, `elicitation_id` e `content`.3704Além dos [campos de entrada comuns](#common-input-fields), hooks ElicitationResult recebem `mcp_server_name`, `action` e campos opcionais `mode`, `elicitation_id` e `content`.

3715 3705 

3716```json theme={null}3706```json theme={null}

3717{3707{


3748| `action` | `accept`, `decline`, `cancel` | Sobrescreve a ação do usuário |3738| `action` | `accept`, `decline`, `cancel` | Sobrescreve a ação do usuário |

3749| `content` | object | Sobrescreve valores de campo de formulário. Significativo apenas quando `action` é `accept` |3739| `content` | object | Sobrescreve valores de campo de formulário. Significativo apenas quando `action` é `accept` |

3750 3740 

3751Código de saída 2 bloqueia a resposta, alterando a ação efetiva para `decline`. Claude Code não mostra sua mensagem stderr em lugar nenhum.3741Saia com código 2 para bloquear a resposta, mudando a ação efetiva para `decline`. Claude Code não mostra sua mensagem stderr em lugar algum.

3752 3742 

3753Claude Code atua em `hookSpecificOutput` da saída JSON de um hook ElicitationResult e descarta `systemMessage` e `continue`.3743Claude Code age em `hookSpecificOutput` da saída JSON de um hook ElicitationResult e descarta `systemMessage` e `continue`.

3754 3744 

3755<h2 id="prompt-based-hooks">3745<h2 id="prompt-based-hooks">

3756 Hooks baseados em prompt3746 Hooks baseados em prompt


3804 3794 

3805Em vez de executar um comando Bash, hooks baseados em prompt:3795Em vez de executar um comando Bash, hooks baseados em prompt:

3806 3796 

38071. Enviam a entrada do hook e seu prompt para um modelo Claude, Haiku por padrão37971. Enviam a entrada do hook e seu prompt para um modelo Claude, por padrão aquele que Claude Code usa para [funcionalidade em segundo plano](/docs/pt/costs#background-token-usage)

38082. O LLM responde com JSON estruturado contendo uma decisão37982. O LLM responde com JSON estruturado contendo uma decisão

38093. Claude Code processa a decisão automaticamente37993. Claude Code processa a decisão automaticamente

3810 3800 


3837| :- | :- | :- |3827| :- | :- | :- |

3838| `type` | sim | Deve ser `"prompt"` |3828| `type` | sim | Deve ser `"prompt"` |

3839| `prompt` | sim | O texto do prompt a enviar para o LLM. Use `$ARGUMENTS` como placeholder para a entrada JSON do hook. Se `$ARGUMENTS` não estiver presente, entrada JSON é anexada ao prompt |3829| `prompt` | sim | O texto do prompt a enviar para o LLM. Use `$ARGUMENTS` como placeholder para a entrada JSON do hook. Se `$ARGUMENTS` não estiver presente, entrada JSON é anexada ao prompt |

3840| `model` | não | Modelo a usar para avaliação. Padrão para um modelo rápido |3830| `model` | não | Modelo a usar para avaliação. Padrão para o modelo que Claude Code usa para [funcionalidade em segundo plano](/docs/pt/costs#background-token-usage) |

3841| `timeout` | não | Timeout em segundos. Padrão: 30 |3831| `timeout` | não | Timeout em segundos. Padrão: 30 |

3842| `continueOnBlock` | não | Nos eventos aos quais se aplica, `true` alimenta uma razão `ok: false` de volta para Claude e continua em vez de terminar o turno. Padrão: `false`. Veja [Esquema de resposta](#response-schema) para comportamento por evento |3832| `continueOnBlock` | não | Nos eventos aos quais se aplica, `true` alimenta uma razão `ok: false` de volta para Claude e continua em vez de terminar o turno. Padrão: `false`. Veja [Esquema de resposta](#response-schema) para comportamento por evento |

3843 3833 

hooks-guide.md +3 −3

Details

538Cada hook tem um `type` que determina como ele executa. A maioria dos hooks usa `"type": "command"`, que executa um comando shell. Quatro outros tipos estão disponíveis:538Cada hook tem um `type` que determina como ele executa. A maioria dos hooks usa `"type": "command"`, que executa um comando shell. Quatro outros tipos estão disponíveis:

539 539 

540* `"type": "http"`: POST dados de evento para uma URL. Consulte [HTTP hooks](#http-hooks).540* `"type": "http"`: POST dados de evento para uma URL. Consulte [HTTP hooks](#http-hooks).

541* `"type": "mcp_tool"`: chamar uma ferramenta em um servidor MCP já conectado. Consulte [MCP tool hooks](/docs/pt/hooks#mcp-tool-hook-fields).541* `"type": "mcp_tool"`: chamar uma ferramenta em um servidor MCP configurado. Consulte [MCP tool hooks](/docs/pt/hooks#mcp-tool-hook-fields).

542* `"type": "prompt"`: avaliação LLM de turno único. Consulte [Prompt-based hooks](#prompt-based-hooks).542* `"type": "prompt"`: avaliação LLM de turno único. Consulte [Prompt-based hooks](#prompt-based-hooks).

543* `"type": "agent"`: verificação multi-turno com acesso a ferramentas. Agent hooks são experimentais e podem mudar. Consulte [Agent-based hooks](#agent-based-hooks).543* `"type": "agent"`: verificação multi-turno com acesso a ferramentas. Agent hooks são experimentais e podem mudar. Consulte [Agent-based hooks](#agent-based-hooks).

544 544 


880 Hooks baseados em prompt880 Hooks baseados em prompt

881</h2>881</h2>

882 882 

883Para decisões que exigem julgamento em vez de regras determinísticas, use hooks `type: "prompt"`. Em vez de executar um comando shell, Claude Code envia seu prompt e os dados de entrada do hook para um modelo Claude (Haiku por padrão) para tomar a decisão. Você pode especificar um modelo diferente com o campo `model` se precisar de mais capacidade.883Para decisões que exigem julgamento em vez de regras determinísticas, use hooks `type: "prompt"`. Em vez de executar um comando shell, Claude Code envia seu prompt e os dados de entrada do hook para um modelo Claude para tomar a decisão. Você pode especificar um modelo diferente com o campo `model` se precisar de mais capacidade.

884 884 

885O único trabalho do modelo é retornar sua decisão como JSON:885O único trabalho do modelo é retornar sua decisão como JSON:

886 886 


995 995 

996Tenha em mente estas restrições ao projetar hooks:996Tenha em mente estas restrições ao projetar hooks:

997 997 

998* Hooks de comando se comunicam apenas através de stdout, stderr e códigos de saída. Eles não podem disparar comandos `/` ou chamadas de ferramenta. Texto retornado via `additionalContext` é injetado como um lembrete do sistema que Claude lê como texto simples. HTTP hooks se comunicam através do corpo da resposta em vez disso.998* Hooks de comando se comunicam apenas através de stdout, stderr e códigos de saída. Eles não podem disparar comandos `/` ou chamadas de ferramenta. Texto retornado via `additionalContext` é injetado como um [lembrete do sistema](/docs/pt/glossary#system-reminder) que Claude lê como texto simples. HTTP hooks se comunicam através do corpo da resposta em vez disso.

999* Os timeouts do hook variam por tipo. Substitua por hook com o campo `timeout` em segundos.999* Os timeouts do hook variam por tipo. Substitua por hook com o campo `timeout` em segundos.

1000 * `command`, `http`, `mcp_tool`: 10 minutos. Claude Code reduz este padrão para 30 segundos para hooks `UserPromptSubmit`, `PreModelSwitch` e `PostModelSwitch`, e para 10 segundos para hooks `MessageDisplay`.1000 * `command`, `http`, `mcp_tool`: 10 minutos. Claude Code reduz este padrão para 30 segundos para hooks `UserPromptSubmit`, `PreModelSwitch` e `PostModelSwitch`, e para 10 segundos para hooks `MessageDisplay`.

1001 * `prompt`: 30 segundos.1001 * `prompt`: 30 segundos.

Details

144 144 

145Para um passo a passo interativo do que é carregado e quando, consulte [Explore a janela de contexto](/docs/pt/context-window).145Para um passo a passo interativo do que é carregado e quando, consulte [Explore a janela de contexto](/docs/pt/context-window).

146 146 

147<h4 id="context-claude-code-adds-on-its-own">

148 Contexto que Claude Code adiciona por conta própria

149</h4>

150 

151Se Claude seguir uma regra que você não escreveu, como adicionar um trailer `Co-Authored-By` a um commit, a regra pode ter vindo de um [system reminder](/docs/pt/glossary#system-reminder). Conforme você trabalha, Claude Code adiciona seu próprio contexto à conversa junto com suas mensagens:

152 

153* Seus arquivos CLAUDE.md

154* As instruções de seu [output style](/docs/pt/output-styles)

155* Uma nota quando um arquivo que Claude leu anteriormente muda no disco

156* As linhas de atribuição de commit e pull request

157 

158Para alterar ou remover as linhas de atribuição, defina [`attribution`](/docs/pt/settings-reference#attribution). Para remover as instruções de commit e pull request integradas do Claude Code, defina [`includeGitInstructions`](/docs/pt/settings-reference#includegitinstructions) como `false`. Para os outros switches, consulte [Desative o contexto que seu agente substitui](/docs/pt/agent-sdk/modifying-system-prompts#turn-off-the-context-your-agent-replaces).

159 

147<h4 id="when-context-fills-up">160<h4 id="when-context-fills-up">

148 Quando o contexto se enche161 Quando o contexto se enche

149</h4>162</h4>


188 201 

189Escolha um modo de permissão para definir o que Claude pode fazer sem perguntar a você. Pressione `Shift+Tab` para percorrer os modos de permissão:202Escolha um modo de permissão para definir o que Claude pode fazer sem perguntar a você. Pressione `Shift+Tab` para percorrer os modos de permissão:

190 203 

191* **Auto**: um classificador revisa a maioria das ações em segundo plano e bloqueia as arriscadas em vez de perguntar a você. Nos planos Pro, Max e Team, é o [modo de permissão inicial integrado](/docs/pt/permission-modes#which-mode-a-session-starts-in) para sessões interativas de terminal e VS Code204* **Auto**: um classificador revisa a maioria das ações em segundo plano e bloqueia as arriscadas em vez de perguntar a você. Com Claude Code v2.1.283 ou posterior, é o [modo de permissão inicial integrado](/docs/pt/permission-modes#which-mode-a-session-starts-in) para sessões interativas de terminal e VS Code, e em versões anteriores apenas em planos Pro, Max e Team

192* **Manual**: Claude pergunta antes de edições de arquivo e comandos shell205* **Manual**: Claude pergunta antes de edições de arquivo e comandos shell

193* **Accept edits**: Claude edita arquivos e executa comandos comuns do sistema de arquivos como `mkdir` e `mv` sem perguntar, ainda pergunta por outros comandos206* **Accept edits**: Claude edita arquivos e executa comandos comuns do sistema de arquivos como `mkdir` e `mv` sem perguntar, ainda pergunta por outros comandos

194* **Plan**: Claude explora e propõe um plano sem editar seus arquivos de origem207* **Plan**: Claude explora e propõe um plano sem editar seus arquivos de origem


241Você pode redirecionar Claude em qualquer ponto sem começar do zero. Faça um destes:254Você pode redirecionar Claude em qualquer ponto sem começar do zero. Faça um destes:

242 255 

243* **Pressione `Esc`** para parar Claude imediatamente. A chamada de ferramenta em execução é cancelada e Claude aguarda sua próxima instrução. Se você tiver mensagens na fila, Claude Code [as envia em seguida](/docs/pt/interactive-mode#queue-messages-while-claude-works).256* **Pressione `Esc`** para parar Claude imediatamente. A chamada de ferramenta em execução é cancelada e Claude aguarda sua próxima instrução. Se você tiver mensagens na fila, Claude Code [as envia em seguida](/docs/pt/interactive-mode#queue-messages-while-claude-works).

244* **Digite uma correção e pressione `Enter`** sem parar Claude. A mensagem aparece como enfileirada acima da caixa de entrada. Se Claude estiver executando chamadas de ferramenta, ele lê a mensagem assim que essas chamadas terminarem, dentro do mesmo turno, e se ajusta antes de seu próximo passo. [Enfileire mensagens enquanto Claude trabalha](/docs/pt/interactive-mode#queue-messages-while-claude-works) aborda quando outras entradas enfileiradas são enviadas.257* **Digite uma correção e pressione `Enter`** sem parar Claude. A mensagem aparece como enfileirada na conversa. Se Claude estiver executando chamadas de ferramenta, ele lê a mensagem assim que essas chamadas terminarem, dentro do mesmo turno, e se ajusta antes de seu próximo passo. [Enfileire mensagens enquanto Claude trabalha](/docs/pt/interactive-mode#queue-messages-while-claude-works) aborda quando outras entradas enfileiradas são enviadas.

245 258 

246<h3 id="delegate-don’t-dictate">259<h3 id="delegate-don’t-dictate">

247 Delegue, não dite260 Delegue, não dite

Details

34| `Ctrl+T` | Alternar lista de tarefas do Claude | Mostrar ou ocultar [lista de tarefas do Claude](#task-list) na área de status. Esta não é a visualização de tarefas em segundo plano; use [`/tasks`](/docs/pt/commands) para ver shells e subagentes em execução |34| `Ctrl+T` | Alternar lista de tarefas do Claude | Mostrar ou ocultar [lista de tarefas do Claude](#task-list) na área de status. Esta não é a visualização de tarefas em segundo plano; use [`/tasks`](/docs/pt/commands) para ver shells e subagentes em execução |

35| `Ctrl+S` | Guardar ou restaurar prompt | Com texto na entrada, guarda-o e limpa o prompt. Pressionado novamente em um prompt vazio, restaura o texto guardado, posição do cursor, conteúdo colado e modo de entrada, para que um `!` guardado [comando shell](#shell-mode-with-prefix) volte em modo shell |35| `Ctrl+S` | Guardar ou restaurar prompt | Com texto na entrada, guarda-o e limpa o prompt. Pressionado novamente em um prompt vazio, restaura o texto guardado, posição do cursor, conteúdo colado e modo de entrada, para que um `!` guardado [comando shell](#shell-mode-with-prefix) volte em modo shell |

36| `Ctrl+Z` | Suspender Claude Code | Apenas Unix. Suspende o processo para seu shell; execute `fg` para retomar |36| `Ctrl+Z` | Suspender Claude Code | Apenas Unix. Suspende o processo para seu shell; execute `fg` para retomar |

37| `Setas Esquerda/Direita` | Ciclar através de abas de diálogo | Navegue entre abas em diálogos de permissão e menus |37| `Setas Esquerda/Direita` | Ciclar através de abas de diálogo | Navegue entre abas em diálogos de permissão e menus. Em um diálogo com abas, as teclas alternam abas enquanto a linha de abas tem foco. Consulte [Ações de abas](/docs/pt/keybindings#tabs-actions) para saber como o foco se move |

38| `Tab` | Aceitar uma sugestão de preenchimento automático ou adicionar um comentário a uma resposta de permissão | Enquanto as sugestões de preenchimento automático estão sendo mostradas na entrada do prompt, aceita a sugestão selecionada. Na maioria dos prompts de permissão, com **Sim** ou **Não** focado, abre um campo de comentário nessa opção, e pressioná-lo novamente fecha o campo. Consulte [adicionar um comentário quando você responde a um prompt de permissão](/docs/pt/permissions#add-a-comment-when-you-answer-a-permission-prompt) |38| `Tab` | Aceitar uma sugestão de preenchimento automático ou adicionar um comentário a uma resposta de permissão | Enquanto as sugestões de preenchimento automático estão sendo mostradas na entrada do prompt, aceita a sugestão selecionada. Na maioria dos prompts de permissão, com **Sim** ou **Não** focado, abre um campo de comentário nessa opção, e pressioná-lo novamente fecha o campo. Consulte [adicionar um comentário quando você responde a um prompt de permissão](/docs/pt/permissions#add-a-comment-when-you-answer-a-permission-prompt) |

39| `Setas Para Cima/Para Baixo` ou `Ctrl+P`/`Ctrl+N` | Mover cursor ou navegar no histórico de comandos | Quando a entrada abrange mais de uma linha visual, seja envolvida ou multilinha, primeiro move o cursor dentro do prompt. Uma vez que o cursor está na primeira ou última linha visual, pressioná-lo novamente navega no histórico de comandos. Enquanto você tem mensagens enfileiradas, `Para Cima` da primeira linha em vez disso [as retira](#take-back-what-you-queued) |39| `Setas Para Cima/Para Baixo` ou `Ctrl+P`/`Ctrl+N` | Mover cursor ou navegar no histórico de comandos | Quando a entrada abrange mais de uma linha visual, seja envolvida ou multilinha, primeiro move o cursor dentro do prompt. Uma vez que o cursor está na primeira ou última linha visual, pressioná-lo novamente navega no histórico de comandos. Enquanto você tem mensagens enfileiradas, `Para Cima` da primeira linha em vez disso [as retira](#take-back-what-you-queued) |

40| `Esc` | Interromper Claude ou fechar um diálogo | Pare a resposta atual ou chamada de ferramenta no meio da volta para que você possa redirecionar. Claude mantém o trabalho feito até agora. Se você tiver [mensagens enfileiradas](#queue-messages-while-claude-works), Claude Code as envia a seguir. Quando um diálogo está aberto, `Esc` fecha o diálogo. Em um prompt de permissão, `Esc` recusa a ação, o mesmo que [**Não** sem um comentário](/docs/pt/permissions#add-a-comment-when-you-answer-a-permission-prompt) |40| `Esc` | Interromper Claude ou fechar um diálogo | Pare a resposta atual ou chamada de ferramenta no meio da volta para que você possa redirecionar. Claude mantém o trabalho feito até agora. Se você tiver [mensagens enfileiradas](#queue-messages-while-claude-works), Claude Code as envia a seguir. Quando um diálogo está aberto, `Esc` fecha o diálogo. Enquanto um item de rodapé está selecionado, como uma linha no [painel de subagente](/docs/pt/sub-agents#run-subagents-in-foreground-or-background) abaixo do prompt, `Esc` [o deseleciona](/docs/pt/keybindings#footer-actions) em vez de interromper. Em um prompt de permissão, `Esc` recusa a ação, o mesmo que [**Não** sem um comentário](/docs/pt/permissions#add-a-comment-when-you-answer-a-permission-prompt) |

41| `Esc` + `Esc` | Limpar rascunho de entrada ou retroceder | Quando a entrada do prompt contém texto, duplo `Esc` limpa-o e salva o rascunho no histórico para que `Para Cima` o recupere. Quando a entrada está vazia, duplo `Esc` abre o [menu de retrocesso](/docs/pt/checkpointing) para restaurar ou resumir código e conversa de um ponto anterior |41| `Esc` + `Esc` | Limpar rascunho de entrada ou retroceder | Quando a entrada do prompt contém texto, duplo `Esc` limpa-o e salva o rascunho no histórico para que `Para Cima` o recupere. Quando a entrada está vazia, duplo `Esc` abre o [menu de retrocesso](/docs/pt/checkpointing) para restaurar ou resumir código e conversa de um ponto anterior |

42| `Ctrl+Enter` ou `Ctrl+X Ctrl+S` | Enviar mensagens enfileiradas agora | Envia suas [mensagens enfileiradas](#queue-messages-while-claude-works) e seu rascunho com elas imediatamente. [Quando Claude Code envia o que você enfileirou](#when-claude-code-sends-what-you-queued) cobre o que acontece com a volta em que Claude está trabalhando. No [modo shell](#shell-mode-with-prefix), a tecla apenas enfileira seu comando. Em terminais que não relatam chaves estendidas, `Ctrl+Enter` chega como `Enter` simples; `Ctrl+X Ctrl+S` funciona em qualquer terminal. Requer Claude Code v2.1.275 ou posterior |42| `Ctrl+Enter` ou `Ctrl+X Ctrl+S` | Enviar mensagens enfileiradas agora | Envia suas [mensagens enfileiradas](#queue-messages-while-claude-works) e seu rascunho com elas imediatamente. [Quando Claude Code envia o que você enfileirou](#when-claude-code-sends-what-you-queued) cobre o que acontece com a volta em que Claude está trabalhando. No [modo shell](#shell-mode-with-prefix), a tecla apenas enfileira seu comando. Em terminais que não relatam chaves estendidas, `Ctrl+Enter` chega como `Enter` simples; `Ctrl+X Ctrl+S` funciona em qualquer terminal. Requer Claude Code v2.1.275 ou posterior |

43| `Shift+Tab`, ou `Alt+M` no Windows quando o runtime Node ou Bun não ativa o modo de entrada VT | Ciclar modos de permissão | Cicle através de `default` (rotulado Manual no indicador de modo), `acceptEdits`, `plan` e, quando disponível, `bypassPermissions` e depois `auto`. De `auto`, o primeiro pressionamento muda para `default`. Consulte [modos de permissão](/docs/pt/permission-modes). Em um prompt de permissão de arquivo, a mesma tecla fecha um [campo de comentário](/docs/pt/permissions#add-a-comment-when-you-answer-a-permission-prompt) aberto. Sem campo aberto, seleciona a opção que permite a ação para o resto da sessão, quando o prompt oferece essa opção |43| `Shift+Tab`, ou `Alt+M` no Windows quando o runtime Node ou Bun não ativa o modo de entrada VT | Ciclar modos de permissão | Cicle através de `default` (rotulado Manual no indicador de modo), `acceptEdits`, `plan` e, quando disponível, `bypassPermissions` e depois `auto`. De `auto`, o primeiro pressionamento muda para `default`. Consulte [modos de permissão](/docs/pt/permission-modes). Em um prompt de permissão de arquivo, a mesma tecla fecha um [campo de comentário](/docs/pt/permissions#add-a-comment-when-you-answer-a-permission-prompt) aberto. Sem campo aberto, seleciona a opção que permite a ação para o resto da sessão, quando o prompt oferece essa opção |

44| `Option+P` (macOS) ou `Alt+P` (Windows/Linux) | Alternar modelo | Alterne modelos sem limpar seu prompt |44| `Option+P` (macOS) ou `Alt+P` (Windows/Linux) | Alternar modelo | Alterne modelos sem limpar seu prompt |

45| `Option+T` (macOS) ou `Alt+T` (Windows/Linux) | Alternar pensamento estendido | Ativar ou desativar o modo de pensamento estendido. Não tem efeito no Opus 5.5 ou nos modelos Fable, que sempre usam pensamento estendido. Funciona no macOS sem configurar Option como Meta |45| `Option+T` (macOS) ou `Alt+T` (Windows/Linux) | Alternar pensamento estendido | Ativar ou desativar o modo de pensamento estendido. Não tem efeito no Opus 5.5, Sonnet 5.5 ou nos modelos Fable, que sempre usam pensamento estendido. Funciona no macOS sem configurar Option como Meta |

46| `Option+O` (macOS) ou `Alt+O` (Windows/Linux) | Alternar modo rápido | Ativar ou desativar [modo rápido](/docs/pt/fast-mode) |46| `Option+O` (macOS) ou `Alt+O` (Windows/Linux) | Alternar modo rápido | Ativar ou desativar [modo rápido](/docs/pt/fast-mode) |

47 47 

48<h3 id="text-editing">48<h3 id="text-editing">


235| Comando | Ação |235| Comando | Ação |

236| :- | :- |236| :- | :- |

237| `x` | Deletar caractere |237| `x` | Deletar caractere |

238| `r{char}` | Substituir caractere sob o cursor por `{char}` |

238| `dd` | Deletar linha |239| `dd` | Deletar linha |

239| `D` | Deletar até o fim da linha |240| `D` | Deletar até o fim da linha |

240| `dw`/`de`/`db` | Deletar palavra/até o fim/para trás |241| `dw`/`de`/`db` | Deletar palavra/até o fim/para trás |

241| `df{char}`/`dt{char}` | Deletar até e incluindo, ou até, a próxima ocorrência de um caractere |242| `df{char}`/`dt{char}` | Deletar até e incluindo, ou até, a próxima ocorrência de um caractere |

243| `dj`/`dk` | Deletar a linha atual e a linha abaixo ou acima |

244| `dgg`/`dG` | Deletar da linha atual até a primeira ou última linha |

245| `d0`/`c0`/`y0` | Deletar, mudar ou yankar do cursor de volta ao início da linha. Requer Claude Code v2.1.281 ou posterior |

242| `cc` | Mudar linha |246| `cc` | Mudar linha |

243| `C` | Mudar até o fim da linha |247| `C` | Mudar até o fim da linha |

244| `cw`/`ce`/`cb` | Mudar palavra/até o fim/para trás |248| `cw`/`ce`/`cb` | Mudar palavra/até o fim/para trás |


342* Solicitar ao Claude Code que execute um comando em segundo plano346* Solicitar ao Claude Code que execute um comando em segundo plano

343* Pressionar `Ctrl+B` para mover uma invocação regular da ferramenta Bash para o segundo plano. Usuários de Tmux devem pressionar `Ctrl+B` duas vezes devido à chave de prefixo do tmux.347* Pressionar `Ctrl+B` para mover uma invocação regular da ferramenta Bash para o segundo plano. Usuários de Tmux devem pressionar `Ctrl+B` duas vezes devido à chave de prefixo do tmux.

344 348 

349Quando um comando atinge seu tempo limite antes de terminar, Claude Code o move automaticamente [para o segundo plano](/docs/pt/tools-reference#background-commands) em vez de interrompê-lo, a menos que o comando comece com `sleep`. Para alterar quanto tempo os comandos são executados antes disso acontecer, defina as [variáveis de ambiente de tempo limite do Bash](/docs/pt/tools-reference#timeout-and-output-limits).

350 

345**Recursos principais:**351**Recursos principais:**

346 352 

347* A saída é escrita em um arquivo e Claude pode recuperá-la usando a ferramenta Read353* A saída é escrita em um arquivo e Claude pode recuperá-la usando a ferramenta Read


395 Enfileirar mensagens enquanto Claude trabalha401 Enfileirar mensagens enquanto Claude trabalha

396</h2>402</h2>

397 403 

398Digite uma mensagem e pressione `Enter` enquanto Claude está trabalhando. Claude Code enfileira a mensagem em vez de interromper a rodada, e lista as entradas enfileiradas acima da caixa de entrada até enviá-las. Você pode enfileirar `!` [comandos shell](#shell-mode-with-prefix) e a maioria dos [comandos](/docs/pt/commands) da mesma forma, com exceção dos comandos, como `/status`, que Claude Code executa assim que você os envia.404Digite uma mensagem e pressione `Enter` enquanto Claude está trabalhando. Claude Code enfileira a mensagem em vez de interromper a rodada, e lista as entradas enfileiradas na conversa até enviá-las. Você pode enfileirar `!` [comandos shell](#shell-mode-with-prefix) e a maioria dos [comandos](/docs/pt/commands) da mesma forma, com exceção dos comandos, como `/status`, que Claude Code executa assim que você os envia.

399 405 

400Mensagens enviadas e enfileiradas aparecem em cinza até Claude começar a responder a elas, para que você possa saber quais mensagens Claude ainda não começou.406Mensagens enviadas e enfileiradas aparecem em cinza até Claude começar a responder a elas, para que você possa saber quais mensagens Claude ainda não começou.

401 407 

408Se você enfileirou uma mensagem com uma seleção anexada de um [IDE conectado](/docs/pt/vs-code#the-built-in-ide-mcp-server) ou do [painel de diff](#diff-panel), ela mantém a seleção que você tinha quando pressionou `Enter`, independentemente do que você selecionar depois.

409 

402<h3 id="when-claude-code-sends-what-you-queued">410<h3 id="when-claude-code-sends-what-you-queued">

403 Quando Claude Code envia o que você enfileirou411 Quando Claude Code envia o que você enfileirou

404</h3>412</h3>

jetbrains.md +5 −1

Details

249 249 

250O servidor é nomeado `ide` e está oculto de `/mcp` porque não há nada para configurar. Se sua organização usa um [hook `PreToolUse`](/docs/pt/hooks#pretooluse) para criar uma lista de permissões de ferramentas MCP, porém, você precisará saber que ele existe.250O servidor é nomeado `ide` e está oculto de `/mcp` porque não há nada para configurar. Se sua organização usa um [hook `PreToolUse`](/docs/pt/hooks#pretooluse) para criar uma lista de permissões de ferramentas MCP, porém, você precisará saber que ele existe.

251 251 

252**Contexto de seleção e arquivo aberto.** Enquanto conectado, a CLI inclui sua seleção atual do editor e o caminho do arquivo ativo como contexto em cada prompt que você envia. A transcrição mostra uma linha `⧉ Selected N lines from <file>` quando isso acontece. Para excluir um arquivo sensível como `.env`, adicione uma [regra de negação `Read`](/docs/pt/permissions#read-and-edit) para seu caminho. Uma regra de negação correspondente impede que o texto selecionado e o aviso de arquivo aberto para esse arquivo cheguem ao Claude.252**Contexto de seleção e arquivo aberto.** Enquanto conectado, a CLI inclui sua seleção atual do editor e o caminho do arquivo ativo como contexto em cada prompt que você envia. A transcrição mostra uma linha `⧉ Selected N lines from <file>` quando isso acontece.

253 

254Se você [enfileirar uma mensagem enquanto Claude trabalha](/docs/pt/interactive-mode#queue-messages-while-claude-works), ela mantém a seleção que você tinha quando pressionou `Enter`, qualquer coisa que você selecione depois.

255 

256Para excluir um arquivo sensível como `.env`, adicione uma [regra de negação `Read`](/docs/pt/permissions#read-and-edit) para seu caminho. Uma regra de negação correspondente impede que o texto selecionado e o aviso de arquivo aberto para esse arquivo cheguem ao Claude.

253 257 

254**Transporte e autenticação.** O servidor escuta em uma porta efêmera atribuída pelo SO, e a porta não é configurável. O transporte é `ws://` não criptografado; em loopback, qualquer processo que pudesse capturar o tráfego também pode ler o token do arquivo de bloqueio, portanto TLS não adicionaria proteção contra um atacante local. Cada início do IDE gera um token de autenticação aleatório novo, o escreve em um arquivo de bloqueio em `~/.claude/ide/<port>.lock`, e a CLI deve apresentá-lo como o header `X-Claude-Code-Ide-Authorization` para se conectar. Se `CLAUDE_CONFIG_DIR` estiver definido, o arquivo de bloqueio será escrito em `$CLAUDE_CONFIG_DIR/ide/` em vez disso.258**Transporte e autenticação.** O servidor escuta em uma porta efêmera atribuída pelo SO, e a porta não é configurável. O transporte é `ws://` não criptografado; em loopback, qualquer processo que pudesse capturar o tráfego também pode ler o token do arquivo de bloqueio, portanto TLS não adicionaria proteção contra um atacante local. Cada início do IDE gera um token de autenticação aleatório novo, o escreve em um arquivo de bloqueio em `~/.claude/ide/<port>.lock`, e a CLI deve apresentá-lo como o header `X-Claude-Code-Ide-Authorization` para se conectar. Se `CLAUDE_CONFIG_DIR` estiver definido, o arquivo de bloqueio será escrito em `$CLAUDE_CONFIG_DIR/ide/` em vez disso.

255 259 

keybindings.md +33 −12

Details

168 168 

169Os diálogos usam `confirm:yes` e `confirm:no` para aceitar e cancelar mesmo quando não fazem uma pergunta sim-ou-não. Se você vincular uma letra simples como `y` ou `n` neste contexto, a letra também atua em diálogos que nunca a mostram como uma chave. Um diálogo que mostra `y` e `n` como suas chaves lê essas letras em si e não precisa de vinculação.169Os diálogos usam `confirm:yes` e `confirm:no` para aceitar e cancelar mesmo quando não fazem uma pergunta sim-ou-não. Se você vincular uma letra simples como `y` ou `n` neste contexto, a letra também atua em diálogos que nunca a mostram como uma chave. Um diálogo que mostra `y` e `n` como suas chaves lê essas letras em si e não precisa de vinculação.

170 170 

171Em muitos diálogos, pressionar `Ctrl+C` ou `Ctrl+D` duas vezes fecha o diálogo em vez de sair do Claude Code. A dica após o primeiro pressionamento diz se o segundo pressionamento fecha o diálogo ou sai. Ambas as chaves são [reservadas](#reserved-shortcuts) e não podem ser rebindadas.

172 

171Este exemplo vincula `y` a `confirm:yes` e `n` a `confirm:no`:173Este exemplo vincula `y` a `confirm:yes` e `n` a `confirm:no`:

172 174 

173```json theme={null}175```json theme={null}


268| `tabs:next` | Tab, Right | Próxima aba |270| `tabs:next` | Tab, Right | Próxima aba |

269| `tabs:previous` | Shift+Tab, Left | Aba anterior |271| `tabs:previous` | Shift+Tab, Left | Aba anterior |

270 272 

273Em um diálogo com abas, `tabs:next` e `tabs:previous` alternam abas enquanto a linha de abas tem foco. Em alguns diálogos, como `/help` e `/sandbox`, as teclas de alternância de abas também funcionam de dentro do conteúdo da aba.

274 

275`Up` e `Down` movem o foco entre a linha de abas e o conteúdo da aba, e uma lista no conteúdo responde às chaves apenas enquanto tem foco.

276 

271<h3 id="attachments-actions">277<h3 id="attachments-actions">

272 Ações de anexos278 Ações de anexos

273</h3>279</h3>


295| `footer:down` | Down | Navegar para baixo no rodapé |301| `footer:down` | Down | Navegar para baixo no rodapé |

296| `footer:openSelected` | Enter | Abrir item do rodapé selecionado |302| `footer:openSelected` | Enter | Abrir item do rodapé selecionado |

297| `footer:clearSelection` | Escape | Limpar seleção do rodapé |303| `footer:clearSelection` | Escape | Limpar seleção do rodapé |

298| `footer:dismiss` | Backspace, Delete | Descartar o link de [artefato](/docs/pt/artifacts) selecionado do rodapé; o artefato publicado em si não é afetado. Em outras linhas do rodapé, essas teclas não têm efeito. Requer v2.1.217 ou posterior |304| `footer:dismiss` | (desvinculado) | Removido na v2.1.281. Um `keybindings.json` que ainda nomeia a ação permanece válido, e a vinculação não faz nada. Antes da v2.1.281, Backspace e Delete descartavam o link de artefato selecionado do rodapé |

299 305 

300Enquanto um item do rodapé está selecionado, como uma linha no painel do agente abaixo do prompt, `Enter` o abre mesmo quando você rebinda `Enter` no contexto `Chat` para `chat:queueSubmit` ou `chat:newline`.306Enquanto um item do rodapé está selecionado, como uma linha no painel do agente abaixo do prompt, `Enter` o abre mesmo quando você rebinda `Enter` no contexto `Chat` para `chat:queueSubmit` ou `chat:newline`.

301 307 


305 Ações do seletor de mensagem311 Ações do seletor de mensagem

306</h3>312</h3>

307 313 

308Ações disponíveis no contexto `MessageSelector`:314Na lista de mensagens do [menu de retrocesso](/docs/pt/checkpointing), você se move através de mensagens e escolhe uma com as [ações de Seleção](#select-actions) e suas chaves padrão. Suas vinculações `Select` para essas ações também se aplicam lá. O contexto `MessageSelector` não tem ações ou vinculações padrão próprias. Use-o para alterar uma chave apenas para esta lista, vinculando uma ação Select como `select:accept` em um bloco `MessageSelector`.

309 315 

310| Ação | Padrão | Descrição |316Este exemplo vincula `o` para escolher a mensagem destacada no menu de retrocesso, sem alterar nenhuma outra lista:

311| :- | :- | :- |317 

312| `messageSelector:up` | Up, K, Ctrl+P | Mover para cima na lista |318```json theme={null}

313| `messageSelector:down` | Down, J, Ctrl+N | Mover para baixo na lista |319{

314| `messageSelector:top` | Ctrl+Up, Shift+Up, Meta+Up, Shift+K | Pular para o topo |320 "bindings": [

315| `messageSelector:bottom` | Ctrl+Down, Shift+Down, Meta+Down, Shift+J | Pular para o final |321 {

316| `messageSelector:select` | Enter | Selecionar mensagem |322 "context": "MessageSelector",

323 "bindings": {

324 "o": "select:accept"

325 }

326 }

327 ]

328}

329```

330 

331Antes da v2.1.283, esta lista ignorava vinculações `Select` e tinha suas próprias ações: `messageSelector:up`, `messageSelector:down`, `messageSelector:top`, `messageSelector:bottom` e `messageSelector:select`. Se seu `keybindings.json` vincula um desses nomes, a vinculação continua funcionando nesta lista como a ação Select que faz a mesma coisa. `Home` e `End` pulam para qualquer extremidade da lista; antes da v2.1.283, teclas como `Shift+K` e `Shift+J` faziam isso por padrão.

317 332 

318<h3 id="diff-actions">333<h3 id="diff-actions">

319 Ações de diff334 Ações de diff


328| `diff:nextSource` | Right | Próxima fonte de diff |343| `diff:nextSource` | Right | Próxima fonte de diff |

329| `diff:previousFile` | Up, K | Arquivo anterior na lista de arquivos; rolar para cima uma linha na visualização de detalhes |344| `diff:previousFile` | Up, K | Arquivo anterior na lista de arquivos; rolar para cima uma linha na visualização de detalhes |

330| `diff:nextFile` | Down, J | Próximo arquivo na lista de arquivos; rolar para baixo uma linha na visualização de detalhes |345| `diff:nextFile` | Down, J | Próximo arquivo na lista de arquivos; rolar para baixo uma linha na visualização de detalhes |

331| `diff:viewDetails` | Enter | Visualizar detalhes do diff |

332| `diff:back` | (desvinculado) | Voltar no visualizador de diff. Escape executa a ação de voltar via `diff:dismiss`. O padrão anterior de Left na visualização de detalhes foi removido na v2.1.203 |346| `diff:back` | (desvinculado) | Voltar no visualizador de diff. Escape executa a ação de voltar via `diff:dismiss`. O padrão anterior de Left na visualização de detalhes foi removido na v2.1.203 |

333 347 

348A lista de arquivos também responde às [ações de Seleção](#select-actions), através de suas chaves padrão e suas vinculações `Select`. `select:previous` e `select:next` movem para o arquivo anterior e próximo, e `Enter` abre o diff do arquivo selecionado através de `select:accept`. Para alterar uma dessas chaves apenas para a lista de arquivos, vincule a ação Select em um bloco `DiffDialog`.

349 

350Antes da v2.1.283, a lista de arquivos ignorava vinculações `Select`, e `Enter` abria o diff do arquivo selecionado através de uma ação `diff:viewDetails` separada. Se seu `keybindings.json` vincula `diff:viewDetails`, a vinculação continua funcionando na lista de arquivos como `select:accept`.

351 

334A visualização de detalhes do diff também vincula atalhos de teclado no estilo pager às [ações de rolagem](#scroll-actions) padrão. Essas vinculações fazem parte do contexto `DiffDialog` e se aplicam apenas na visualização de detalhes; os padrões do contexto `Scroll` listados em [Ações de rolagem](#scroll-actions) permanecem inalterados.352A visualização de detalhes do diff também vincula atalhos de teclado no estilo pager às [ações de rolagem](#scroll-actions) padrão. Essas vinculações fazem parte do contexto `DiffDialog` e se aplicam apenas na visualização de detalhes; os padrões do contexto `Scroll` listados em [Ações de rolagem](#scroll-actions) permanecem inalterados.

335 353 

336| Ação | Padrão | Descrição |354| Ação | Padrão | Descrição |


373 Ações do controle deslizante de esforço391 Ações do controle deslizante de esforço

374</h3>392</h3>

375 393 

376Ações disponíveis no contexto `EffortSlider`, o controle deslizante que abre quando você executa `/effort` sem argumentos. As teclas Left, Right, Enter e Escape do controle deslizante não podem ser rebindadas.394Ações disponíveis no contexto `EffortSlider`, o controle deslizante que abre quando você executa `/effort` sem argumentos. As teclas Enter e Escape do controle deslizante não podem ser rebindadas.

377 395 

378| Ação | Padrão | Descrição |396| Ação | Padrão | Descrição |

379| :- | :- | :- |397| :- | :- | :- |

398| `effortSlider:decreaseEffort` | Left | Mover o controle deslizante para o próximo nível de esforço mais baixo. Requer v2.1.284 ou posterior |

399| `effortSlider:increaseEffort` | Right | Mover o controle deslizante para o próximo nível de esforço mais alto. Requer v2.1.284 ou posterior |

400| `effortSlider:toggleUltracode` | Tab | Ativar ou desativar [ultracode](/docs/pt/workflows#let-claude-decide-with-ultracode) para esta sessão, quando o controle deslizante [o oferece](/docs/pt/model-config#when-ultracode-is-available). Requer v2.1.284 ou posterior |

380| `effortSlider:thisSessionOnly` | s | Aplicar o [nível de esforço](/docs/pt/model-config#adjust-effort-level) focado apenas a esta sessão. Requer v2.1.257 ou posterior |401| `effortSlider:thisSessionOnly` | s | Aplicar o [nível de esforço](/docs/pt/model-config#adjust-effort-level) focado apenas a esta sessão. Requer v2.1.257 ou posterior |

381 402 

382<h3 id="select-actions">403<h3 id="select-actions">


396| `select:accept` | Enter | Aceitar seleção |417| `select:accept` | Enter | Aceitar seleção |

397| `select:cancel` | Escape | Cancelar seleção |418| `select:cancel` | Escape | Cancelar seleção |

398 419 

399Claude Code aplica suas vinculações `select:pageUp`, `select:pageDown`, `select:first` e `select:last` no menu `/skills`. Na maioria das outras listas, como o seletor `/model`, suas vinculações `select:first` e `select:last` se aplicam. PageUp e PageDown pagina através das opções nessas listas independentemente de suas vinculações.420Claude Code aplica suas vinculações `select:pageUp`, `select:pageDown`, `select:first` e `select:last` em painéis de lista como `/skills` e `/mcp`. Na maioria das outras listas, como o seletor `/model`, suas vinculações `select:first` e `select:last` se aplicam. PageUp e PageDown pagina através das opções nessas listas independentemente de suas vinculações.

400 421 

401Antes da v2.1.280, essas outras listas ignoravam Home, End e suas vinculações `select:first` e `select:last`.422Antes da v2.1.280, essas outras listas ignoravam Home, End e suas vinculações `select:first` e `select:last`.

402 423 

llm-gateway.md +1 −1

Details

49 Assinaturas e gateways49 Assinaturas e gateways

50</h2>50</h2>

51 51 

52Enquanto uma [variável de credencial de gateway](/docs/pt/llm-gateway-connect#set-the-credential-variable) ou `apiKeyHelper` está ativa, a assinatura claude.ai de um desenvolvedor não é usada: a credencial substitui o login da assinatura para essa sessão, e os limites de uso da assinatura não se aplicam. Esse tráfego é cobrado por token para quem quer que possua a credencial que o gateway encaminha, como sua conta Anthropic Console da organização, ou sua conta Amazon Bedrock, Google Cloud's Agent Platform, ou Microsoft Foundry quando o gateway roteia para lá.52Enquanto uma [variável de credencial de gateway](/docs/pt/llm-gateway-connect#set-the-credential-variable) ou `apiKeyHelper` está ativa, as solicitações carregam essa credencial no lugar do login de assinatura claude.ai de um desenvolvedor, e os limites de uso da assinatura não se aplicam a elas. Claude Code mantém um login claude.ai salvo na máquina, mas não o envia com essas solicitações. Esse tráfego é cobrado por token para quem quer que possua a credencial que o gateway encaminha, como sua conta Anthropic Console da organização, ou sua conta Amazon Bedrock, Google Cloud's Agent Platform, ou Microsoft Foundry quando o gateway roteia para lá.

53 53 

54[`ANTHROPIC_BASE_URL`](/docs/pt/llm-gateway-connect#set-the-base-url-and-credential) é a variável que aponta Claude Code para o gateway. Definir apenas essa variável, sem uma credencial de gateway, não substitui a assinatura. As solicitações ainda roteiam através do gateway, mas um login claude.ai salvo permanece como a credencial ativa, então seus limites de uso e cobrança se aplicam. Gateways que passam esse tráfego para Anthropic devem encaminhar a capacidade OAuth em `anthropic-beta`; consulte a [referência de cabeçalhos de solicitação](/docs/pt/llm-gateway-protocol#request-headers).54[`ANTHROPIC_BASE_URL`](/docs/pt/llm-gateway-connect#set-the-base-url-and-credential) é a variável que aponta Claude Code para o gateway. Definir apenas essa variável, sem uma credencial de gateway, não substitui a assinatura. As solicitações ainda roteiam através do gateway, mas um login claude.ai salvo permanece como a credencial ativa, então seus limites de uso e cobrança se aplicam. Gateways que passam esse tráfego para Anthropic devem encaminhar a capacidade OAuth em `anthropic-beta`; consulte a [referência de cabeçalhos de solicitação](/docs/pt/llm-gateway-protocol#request-headers).

55 55 

Details

140<Tabs>140<Tabs>

141 <Tab title="Bash ou Zsh">141 <Tab title="Bash ou Zsh">

142 ```bash theme={null}142 ```bash theme={null}

143 curl -X POST "$ANTHROPIC_BASE_URL/v1/messages" \143 curl -sS -w '\n%{http_code}\n' -X POST "$ANTHROPIC_BASE_URL/v1/messages" \

144 -H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \144 -H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \

145 -H "anthropic-version: 2023-06-01" \145 -H "anthropic-version: 2023-06-01" \

146 -H "content-type: application/json" \146 -H "content-type: application/json" \


594| `/fast` relata `Fast mode has been disabled by your organization` em uma sessão autenticada com `ANTHROPIC_AUTH_TOKEN`, mesmo que a organização tenha modo rápido ativado | A verificação de disponibilidade requer um login claude.ai ou uma chave de API Anthropic; com apenas um token de portador, Claude Code trata o modo rápido como desativado sem enviar a verificação | Defina `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1`; consulte [usar modo rápido atrás de proxies e gateways LLM](/docs/pt/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) |594| `/fast` relata `Fast mode has been disabled by your organization` em uma sessão autenticada com `ANTHROPIC_AUTH_TOKEN`, mesmo que a organização tenha modo rápido ativado | A verificação de disponibilidade requer um login claude.ai ou uma chave de API Anthropic; com apenas um token de portador, Claude Code trata o modo rápido como desativado sem enviar a verificação | Defina `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1`; consulte [usar modo rápido atrás de proxies e gateways LLM](/docs/pt/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) |

595| Claude Code pede para você fazer login mesmo que o [teste curl](#verify-the-connection) tenha sucesso | O CLI não tem credencial própria: uma URL base alcançável não é uma, e em uma sessão interativa um bloco `env` no `.claude/settings.json` ou `.claude/settings.local.json` de um projeto se aplica apenas após o assistente de primeira execução e [prompt de confiança](/docs/pt/permissions#what-runs-before-you-trust-a-folder) | Defina `ANTHROPIC_AUTH_TOKEN` em algum lugar que Claude Code leia antes da configuração de primeira execução: uma exportação de shell, o bloco `env` em `~/.claude/settings.json` ou configurações gerenciadas |595| Claude Code pede para você fazer login mesmo que o [teste curl](#verify-the-connection) tenha sucesso | O CLI não tem credencial própria: uma URL base alcançável não é uma, e em uma sessão interativa um bloco `env` no `.claude/settings.json` ou `.claude/settings.local.json` de um projeto se aplica apenas após o assistente de primeira execução e [prompt de confiança](/docs/pt/permissions#what-runs-before-you-trust-a-folder) | Defina `ANTHROPIC_AUTH_TOKEN` em algum lugar que Claude Code leia antes da configuração de primeira execução: uma exportação de shell, o bloco `env` em `~/.claude/settings.json` ou configurações gerenciadas |

596| `ANTHROPIC_API_KEY` está definido mas ignorado, sem prompt | A chave precisa de uma aprovação única em sessões interativas, e uma chave previamente recusada é ignorada sem perguntar novamente | Ative-a em `/config` com a opção `Use custom API key` |596| `ANTHROPIC_API_KEY` está definido mas ignorado, sem prompt | A chave precisa de uma aprovação única em sessões interativas, e uma chave previamente recusada é ignorada sem perguntar novamente | Ative-a em `/config` com a opção `Use custom API key` |

597| `This machine's managed settings require a first-party login` | Configurações gerenciadas incluem `forceLoginMethod` ou `forceLoginOrgUUID`, que não podem coexistir com `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` ou `apiKeyHelper` | Seu administrador deve remover `forceLoginMethod` e `forceLoginOrgUUID` das configurações gerenciadas para usar credenciais de gateway, ou remover a credencial de gateway para usar login de primeira parte. Os dois não podem ser combinados |597| `This machine's managed settings require a first-party login`, ou [`Administrator policy requires a Cloud gateway sign-in`](/docs/pt/errors#administrator-policy-requires-a-cloud-gateway-sign-in) quando configurações gerenciadas definem `forceLoginMethod` como `"gateway"` ou também definem `forceLoginGatewayUrl` | Configurações gerenciadas incluem `forceLoginMethod` ou `forceLoginOrgUUID`, que não podem coexistir com `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` ou `apiKeyHelper` | Seu administrador deve remover `forceLoginMethod`, `forceLoginOrgUUID` e `forceLoginGatewayUrl` das configurações gerenciadas para usar credenciais de gateway, ou remover a credencial de gateway e usar o login que as configurações gerenciadas exigem. Os dois não podem ser combinados |

598| `403` com um corpo HTML como `403 Forbidden`, quando os próprios logs do gateway não mostram nenhuma solicitação recebida | Um firewall de aplicativo web ou proxy reverso na frente do gateway bloqueou o corpo da solicitação antes de chegar ao gateway. Os prompts de Claude Code incluem tags de estilo XML e código-fonte que correspondem a regras de corpo de cross-site-scripting, para que um teste curl curto passe enquanto uma sessão real não | Isente o caminho `/v1/messages` do gateway da inspeção de corpo de solicitação. No AWS WAF esta é a regra gerenciada `CrossSiteScripting_Body`; no nginx com ModSecurity é a regra de corpo OWASP CRS equivalente |598| `403` com um corpo HTML como `403 Forbidden`, quando os próprios logs do gateway não mostram nenhuma solicitação recebida | Um firewall de aplicativo web ou proxy reverso na frente do gateway bloqueou o corpo da solicitação antes de chegar ao gateway. Os prompts de Claude Code incluem tags de estilo XML e código-fonte que correspondem a regras de corpo de cross-site-scripting, para que um teste curl curto passe enquanto uma sessão real não | Isente o caminho `/v1/messages` do gateway da inspeção de corpo de solicitação. No AWS WAF esta é a regra gerenciada `CrossSiteScripting_Body`; no nginx com ModSecurity é a regra de corpo OWASP CRS equivalente |

599| Erros de certificado ou TLS como `SSL certificate verification failed` ou `Self-signed certificate detected`, quando o [teste curl](#verify-the-connection) tem sucesso | O runtime de Claude Code não está confiando na mesma autoridade de certificação que `curl` usa. Comum atrás de proxies de inspeção TLS corporativa | Defina `NODE_EXTRA_CA_CERTS` para o caminho do pacote CA; consulte [armazenamento de certificado CA](/docs/pt/network-config#ca-certificate-store) |599| Erros de certificado ou TLS como `SSL certificate verification failed` ou `Self-signed certificate detected`, quando o [teste curl](#verify-the-connection) tem sucesso | O runtime de Claude Code não está confiando na mesma autoridade de certificação que `curl` usa. Comum atrás de proxies de inspeção TLS corporativa | Defina `NODE_EXTRA_CA_CERTS` para o caminho do pacote CA; consulte [armazenamento de certificado CA](/docs/pt/network-config#ca-certificate-store) |

600 600 

Details

73 73 

74Transmita respostas de inferência em stream. Claude Code lê o stream conforme ele chega, então se seu gateway armazena respostas completas antes de retransmiti-las, Claude Code trava.74Transmita respostas de inferência em stream. Claude Code lê o stream conforme ele chega, então se seu gateway armazena respostas completas antes de retransmiti-las, Claude Code trava.

75 75 

76Entregue a sequência completa de eventos de cada resposta sem descartar, duplicar ou reordenar eventos. Quando um evento referencia um bloco de conteúdo cujo `content_block_start` nunca chegou, ou um bloco cujo `content_block_stop` já chegou, Claude Code para de ler o stream naquele evento em vez de aplicá-lo, então um `content_block_stop` duplicado não pode executar a mesma chamada de ferramenta duas vezes. [A resposta acima pode estar incompleta](/docs/pt/errors#the-response-above-may-be-incomplete) descreve o que o usuário vê, sob as variantes `Part of the response never arrived` e `The response stream was malformed`.

77 

78Retransmita cada resposta através de seus eventos finais `message_delta` e `message_stop` antes de encerrar o corpo. Um corpo que termina após um `message_delta` carregando um `stop_reason`, sem bloco de conteúdo ainda aberto e sem evento de bloco de conteúdo após esse frame, conta como completo mesmo quando `message_stop` está faltando. Um corpo que seu gateway encerra de forma limpa qualquer momento antes, uma vez que um bloco de conteúdo começou, é tratado da mesma forma que uma conexão descartada: [Automatic retries](/docs/pt/errors#automatic-retries) diz quando Claude Code reemite a requisição, e [A resposta acima pode estar incompleta](/docs/pt/errors#the-response-above-may-be-incomplete) cobre o que ele mantém uma vez que conteúdo visível chegou. Claude Code mantém o `stop_reason` que um `message_delta` entrega, então um `message_delta` posterior apenas de uso cujo `delta` tem `stop_reason: null` ou nenhuma chave `stop_reason` não o limpa.

79 

76Quando o cliente fala o formato Amazon Bedrock, retransmita o corpo da resposta `InvokeModelWithResponseStream` e seu header `Content-Type: application/vnd.amazon.eventstream` sem modificações, e não converta o stream para server-sent events. Veja [Streaming errors behind a gateway or proxy](/docs/pt/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy).80Quando o cliente fala o formato Amazon Bedrock, retransmita o corpo da resposta `InvokeModelWithResponseStream` e seu header `Content-Type: application/vnd.amazon.eventstream` sem modificações, e não converta o stream para server-sent events. Veja [Streaming errors behind a gateway or proxy](/docs/pt/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy).

77 81 

78Encaminhe pings de keep-alive também. Em conexões através de `ANTHROPIC_BASE_URL` ou `ANTHROPIC_AWS_BASE_URL`, Claude Code conta cada byte que seu gateway retransmite, incluindo eventos SSE `ping` e linhas de comentário, e aborta um stream que fica silencioso por 300 segundos por padrão. Os pings do upstream são o único tráfego durante pausas de pensamento longo, então se seu gateway remove ou armazena eles, Claude Code aborta o stream durante essas pausas; [Automatic retries](/docs/pt/errors#automatic-retries) cobre o que um stream abortado relata com base em quanto a resposta havia progredido. Um upstream que não envia pings em absoluto, como o event-stream binário do Amazon Bedrock, deixa essas pausas sem nada para encaminhar. Ao traduzir de tal upstream, emita seus próprios eventos `ping` durante lacunas silenciosas. Gateways alcançados através de `ANTHROPIC_BEDROCK_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL`, ou `ANTHROPIC_FOUNDRY_BASE_URL` não são envolvidos por este watchdog de nível de byte, mesmo quando retransmitem o formato Anthropic Messages; lá, um [timeout ocioso de 5 minutos](/docs/pt/env-vars) aborta um stream silencioso em vez disso, e em conexões `ANTHROPIC_BEDROCK_BASE_URL` você pode adicionar o watchdog de byte com [`CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK`](/docs/pt/env-vars).82Encaminhe pings de keep-alive também. Em conexões através de `ANTHROPIC_BASE_URL` ou `ANTHROPIC_AWS_BASE_URL`, Claude Code conta cada byte que seu gateway retransmite, incluindo eventos SSE `ping` e linhas de comentário, e aborta um stream que fica silencioso por 300 segundos por padrão. Os pings do upstream são o único tráfego durante pausas de pensamento longo, então se seu gateway remove ou armazena eles, Claude Code aborta o stream durante essas pausas; [Automatic retries](/docs/pt/errors#automatic-retries) cobre o que um stream abortado relata com base em quanto a resposta havia progredido. Um upstream que não envia pings em absoluto, como o event-stream binário do Amazon Bedrock, deixa essas pausas sem nada para encaminhar. Ao traduzir de tal upstream, emita seus próprios eventos `ping` durante lacunas silenciosas. Gateways alcançados através de `ANTHROPIC_BEDROCK_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL`, ou `ANTHROPIC_FOUNDRY_BASE_URL` não são envolvidos por este watchdog de nível de byte, mesmo quando retransmitem o formato Anthropic Messages; lá, um [timeout ocioso de 5 minutos](/docs/pt/env-vars) aborta um stream silencioso em vez disso, e em conexões `ANTHROPIC_BEDROCK_BASE_URL` você pode adicionar o watchdog de byte com [`CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK`](/docs/pt/env-vars).


158 162 

159Definir `CLAUDE_CODE_GATEWAY_HINT_HEADERS` para `0` interrompe os headers em cada conexão.163Definir `CLAUDE_CODE_GATEWAY_HINT_HEADERS` para `0` interrompe os headers em cada conexão.

160 164 

161Os headers carregam apenas o que as linhas abaixo listam: vocabulários fixos, nomes de ferramentas e durações, nunca texto de prompt ou conteúdo de arquivo. Cada valor é ASCII imprimível.165Os headers carregam apenas o que as linhas abaixo listam: vocabulários fixos, nomes de ferramentas, durações e um identificador de prompt aleatório, nunca texto de prompt ou conteúdo de arquivo. Cada valor é ASCII imprimível.

162 166 

163| Header | Descrição |167| Header | Descrição |

164| :- | :- |168| :- | :- |


167| `x-claude-code-compaction` | Presente na solicitação que resume a conversa durante uma [compactação](/docs/pt/prompt-caching#compacting-the-conversation). O valor diz o que a acionou: `auto` quando a janela de contexto se aproximava da capacidade, `manual` para `/compact`, ou `reactive` quando a API rejeitou uma solicitação como muito longa. Ausente em todas as outras solicitações |171| `x-claude-code-compaction` | Presente na solicitação que resume a conversa durante uma [compactação](/docs/pt/prompt-caching#compacting-the-conversation). O valor diz o que a acionou: `auto` quando a janela de contexto se aproximava da capacidade, `manual` para `/compact`, ou `reactive` quando a API rejeitou uma solicitação como muito longa. Ausente em todas as outras solicitações |

168| `x-claude-code-context-compacted` | Presente uma vez, na primeira solicitação de conversa principal após uma compactação, com os mesmos valores que `x-claude-code-compaction`. O prefixo de conversa antes desta solicitação não é mais usado, então um cache com chave nele pode ser descartado |172| `x-claude-code-context-compacted` | Presente uma vez, na primeira solicitação de conversa principal após uma compactação, com os mesmos valores que `x-claude-code-compaction`. O prefixo de conversa antes desta solicitação não é mais usado, então um cache com chave nele pode ser descartado |

169| `x-claude-code-prev-tool-durations` | Tempo de execução medido das chamadas de ferramenta cujos resultados esta solicitação carrega, como `<name>=<ms>;<name>=<ms>`, por exemplo `Bash=742;Read=9`. Enviado na próxima solicitação da mesma conversa após um lote de chamadas de ferramenta, da sessão principal ou de um subagente |173| `x-claude-code-prev-tool-durations` | Tempo de execução medido das chamadas de ferramenta cujos resultados esta solicitação carrega, como `<name>=<ms>;<name>=<ms>`, por exemplo `Bash=742;Read=9`. Enviado na próxima solicitação da mesma conversa após um lote de chamadas de ferramenta, da sessão principal ou de um subagente |

174| `x-claude-code-prompt-id` | UUID aleatório que identifica o prompt do usuário que uma solicitação serve. Solicitações servindo um prompt compartilham o valor, incluindo as voltas de subagentes que o prompt iniciou. Solicitações não atribuídas a um prompt o omitem. Use-o para agrupar as solicitações de uma sessão por prompt. Requer Claude Code v2.1.283 ou posterior |

170 175 

171Antes de analisar `x-claude-code-prev-tool-durations`, verifique como Claude Code constrói o valor e o que deixa de fora:176Antes de analisar `x-claude-code-prev-tool-durations`, verifique como Claude Code constrói o valor e o que deixa de fora:

172 177 


265 Desabilitar capacidades de pré-lançamento270 Desabilitar capacidades de pré-lançamento

266</h3>271</h3>

267 272 

268`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` impede que Claude Code envie capacidades de pré-lançamento e seus campos de corpo em cada provedor, incluindo gerenciamento de contexto e campos de ferramenta beta. A variável não afeta raciocínio adaptativo, que é selecionado por modelo em vez de por beta. Nunca suprime a capacidade OAuth que autenticação de assinatura requer.273`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` impede que Claude Code envie capacidades de pré-lançamento e seus campos de corpo, incluindo gerenciamento de contexto e campos de ferramenta beta. A variável não afeta raciocínio adaptativo, que é selecionado por modelo em vez de por beta. Nunca suprime a capacidade OAuth que autenticação de assinatura requer.

274 

275Quando uma plataforma host que incorpora Claude Code define [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/pt/env-vars), `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` não impede que sessões de modo automático em Amazon Bedrock, Agent Platform do Google Cloud, Microsoft Foundry, ou um [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway) peçam ao servidor por [revisão de classificador](/docs/pt/permission-modes#server-side-classifier-review). Essa revisão adiciona um valor `anthropic-beta` e um campo de solicitação `safeguards`. Defina `CLAUDE_CODE_AUTO_MODE_SERVER=0` para interrompê-lo lá.

269 276 

270Em Claude Code v2.1.227 ou posterior, sua organização pode manter [busca de ferramenta MCP](/docs/pt/mcp#scale-with-mcp-tool-search) ativada sob essa variável através de [configurações gerenciadas](/docs/pt/managed-settings). O que Claude Code envia com essa substituição em vigor depende de como você se conecta:277Em Claude Code v2.1.227 ou posterior, sua organização pode manter [busca de ferramenta MCP](/docs/pt/mcp#scale-with-mcp-tool-search) ativada sob essa variável através de [configurações gerenciadas](/docs/pt/managed-settings). O que Claude Code envia com essa substituição em vigor depende de como você se conecta:

271 278 


340Um ID descoberto não recebe sua própria linha quando corresponde a uma linha já no seletor:347Um ID descoberto não recebe sua própria linha quando corresponde a uma linha já no seletor:

341 348 

342* Mesmo ID: o ID descoberto corresponde exatamente ao ID de uma linha existente, ou os dois IDs são grafias da mesma versão [Fable](/docs/pt/model-config#work-with-fable).349* Mesmo ID: o ID descoberto corresponde exatamente ao ID de uma linha existente, ou os dois IDs são grafias da mesma versão [Fable](/docs/pt/model-config#work-with-fable).

343* Mesmo modelo que um alias integrado: quando um ID explícito descoberto nomeia o modelo para o qual um alias integrado atualmente se resolve, o seletor mostra apenas a linha do alias. Por exemplo, enquanto `sonnet` se resolve para `claude-sonnet-5`, um `claude-sonnet-5` descoberto colapsa na linha `sonnet`, e um `claude-sonnet-4-6` descoberto ainda recebe sua própria linha. Antes da v2.1.197, Claude Code não dobrava esses IDs em linhas integradas, então `claude-sonnet-5` também recebia sua própria linha "Do gateway".350* Mesmo modelo que um alias integrado: quando um ID explícito descoberto nomeia o modelo para o qual um alias integrado atualmente se resolve, o seletor mostra apenas a linha do alias. Por exemplo, enquanto `sonnet` se resolve para `claude-sonnet-5-5`, um `claude-sonnet-5-5` descoberto colapsa na linha `sonnet`, e um `claude-sonnet-5` descoberto ainda recebe sua própria linha. Antes da v2.1.197, Claude Code não dobrava esses IDs em linhas integradas, então o ID para o qual um alias se resolvia também recebia sua própria linha "Do gateway".

344 351 

345Os resultados são armazenados em cache em `~/.claude/cache/gateway-models.json`, ou `%USERPROFILE%\.claude\cache\gateway-models.json` no Windows, e atualizados em cada inicialização. Se você definir [`CLAUDE_CONFIG_DIR`](/docs/pt/env-vars), o cache fica sob esse diretório em vez disso. Se a solicitação falhar ou o gateway não implementar `/v1/models`, o seletor volta para a lista em cache da inicialização anterior ou para a lista de modelos integrada. Se seu gateway serve modelos Claude sob aliases que não correspondem ao filtro de descoberta, desenvolvedores podem adicionar esses aliases manualmente com as [variáveis de configuração de modelo](/docs/pt/model-config).352Os resultados são armazenados em cache em `~/.claude/cache/gateway-models.json`, ou `%USERPROFILE%\.claude\cache\gateway-models.json` no Windows, e atualizados em cada inicialização. Se você definir [`CLAUDE_CONFIG_DIR`](/docs/pt/env-vars), o cache fica sob esse diretório em vez disso. Se a solicitação falhar ou o gateway não implementar `/v1/models`, o seletor volta para a lista em cache da inicialização anterior ou para a lista de modelos integrada. Se seu gateway serve modelos Claude sob aliases que não correspondem ao filtro de descoberta, desenvolvedores podem adicionar esses aliases manualmente com as [variáveis de configuração de modelo](/docs/pt/model-config).

346 353 

Details

45 Etapas de implantação45 Etapas de implantação

46</h2>46</h2>

47 47 

48A implantação leva cinco etapas, cada uma com um ponto de verificação:48A implantação ocorre em cinco etapas, cada uma com um checkpoint:

49 49 

501. [Confirme que o gateway roteia seus modelos](#confirm-the-gateway-routes-your-models)501. [Confirme se o gateway roteia seus modelos](#confirm-the-gateway-routes-your-models)

512. [Emita uma credencial para cada desenvolvedor](#issue-developer-credentials)512. [Emita uma credencial para cada desenvolvedor](#issue-developer-credentials)

523. [Teste Claude Code contra o gateway](#test-claude-code-against-the-gateway)523. [Teste Claude Code contra o gateway](#test-claude-code-against-the-gateway)

534. [Distribua a URL base e as credenciais](#distribute-the-configuration)534. [Distribua a URL base e as credenciais](#distribute-the-configuration)

545. [Verifique a partir de uma máquina de desenvolvedor](#verify-the-rollout)545. [Verifique a partir de uma máquina de desenvolvedor](#verify-the-rollout)

55 55 

56As etapas envolvem três credenciais diferentes, e os pontos de verificação as nomeiam por espaço reservado para que você possa dizer qual é a culpada quando algo falha:56As etapas envolvem três credenciais diferentes, e os checkpoints as nomeiam por placeholder para que você possa identificar qual está com falha quando algo não funciona:

57 57 

58| Credencial | Quem a detém | Espaço reservado nos pontos de verificação |58| Credencial | Quem a possui | Placeholder nos checkpoints |

59| :- | :- | :- |59| :- | :- | :- |

60| Credencial do provedor | O gateway, que a encaminha para o provedor upstream | Configurado no gateway; nunca aparece em comandos do cliente |60| Credencial do provedor | O gateway, que a encaminha para o provedor upstream | Configurada no gateway; nunca aparece em comandos do cliente |

61| Credencial administrativa do gateway | Você, se seu produto de gateway emitir uma para sua interface de administrador ou teste | `<gateway-key>` |61| Credencial administrativa do gateway | Você, se seu produto de gateway emitir uma para sua interface de administração ou teste | `<gateway-key>` |

62| Chave do desenvolvedor | Cada desenvolvedor, emitido pelo gateway em [Emita credenciais de desenvolvedor](#issue-developer-credentials) | `<developer-key>` |62| Chave do desenvolvedor | Cada desenvolvedor, emitida pelo gateway em [Emita credenciais de desenvolvedor](#issue-developer-credentials) | `<developer-key>` |

63 63 

64<h3 id="confirm-the-gateway-routes-your-models">64<h3 id="confirm-the-gateway-routes-your-models">

65 Confirme que o gateway roteia seus modelos65 Confirme se o gateway roteia seus modelos

66</h3>66</h3>

67 67 

68Seu gateway já deve estar configurado com sua credencial de provedor, ouvindo em sua URL base e encaminhando solicitações para a API do seu provedor. Teste que o caminho funciona de ponta a ponta com uma solicitação mínima, substituindo dois valores de sua implantação:68Seu gateway já deve estar configurado com sua credencial de provedor, escutando em sua URL base e encaminhando solicitações para a API do seu provedor. Teste se o caminho funciona de ponta a ponta com uma solicitação mínima, substituindo dois valores de sua implantação:

69 69 

70* `<gateway-key>` é qualquer credencial que permite chamar o gateway agora: uma chave administrativa, uma chave de teste ou sua própria chave de desenvolvedor se você já tiver emitido uma. Nem todo produto de gateway tem uma credencial de administrador separada; se o seu não tiver, emita uma chave de desenvolvedor para você em [Emita credenciais de desenvolvedor](#issue-developer-credentials) primeiro70* `<gateway-key>` é qualquer credencial que permite chamar o gateway agora: uma chave administrativa, uma chave de teste ou sua própria chave de desenvolvedor se você já tiver emitido uma. Nem todo produto de gateway possui uma credencial de administrador separada; se o seu não tiver, emita uma chave de desenvolvedor para você mesmo em [Emita credenciais de desenvolvedor](#issue-developer-credentials) primeiro

71* `model` é um nome de modelo Claude que seu gateway está configurado para rotear. O exemplo usa `claude-sonnet-4-6`; substitua um nome que você configurou71* `model` é um nome de modelo Claude que seu gateway está configurado para rotear. O exemplo usa `claude-sonnet-4-6`; substitua por um nome que você configurou

72 72 

73<Tabs>73<Tabs>

74 <Tab title="Bash ou Zsh">74 <Tab title="Bash ou Zsh">


91 </Tab>91 </Tab>

92</Tabs>92</Tabs>

93 93 

94**Ponto de verificação**: um `200` com um campo `content` significa que o gateway alcançou o provedor com esse nome de modelo. Um `404` significa que esse nome não é roteado no gateway; um `401` do provedor significa que a credencial do provedor do gateway está errada.94**Checkpoint**: um `200` com um campo `content` significa que o gateway alcançou o provedor com esse nome de modelo. Um `404` significa que esse nome não é roteado no gateway; um `401` do provedor significa que a credencial do provedor do gateway está incorreta.

95 95 

96Repita a solicitação uma vez por nome de modelo Claude na configuração de roteamento do seu gateway. Um nome que o gateway não roteia retorna `404` para qualquer desenvolvedor que o selecione, portanto teste cada nome antes da implantação.96Repita a solicitação uma vez por nome de modelo Claude na configuração de roteamento do seu gateway. Um nome que o gateway não roteia retorna `404` para qualquer desenvolvedor que o selecione, então teste cada nome antes da implantação.

97 97 

98<Note>98<Note>

99 Evite servir o gateway atrás de um redirecionamento. Um redirecionamento pode descartar o corpo da solicitação ou remover o cabeçalho de credencial em solicitações de inferência, e [descoberta de modelo](/docs/pt/llm-gateway-protocol#model-discovery) trata qualquer redirecionamento como uma falha para que a credencial não possa vazar para um alvo de redirecionamento.99 Evite servir o gateway atrás de um redirecionamento. Um redirecionamento pode descartar o corpo da solicitação ou remover o cabeçalho de credencial em solicitações de inferência, e [descoberta de modelo](/docs/pt/llm-gateway-protocol#model-discovery) trata qualquer redirecionamento como uma falha para que a credencial não possa vazar para um destino de redirecionamento.

100</Note>100</Note>

101 101 

102<h3 id="issue-developer-credentials">102<h3 id="issue-developer-credentials">


105 105 

106Cada desenvolvedor precisa de sua própria chave de gateway para autenticar. Crie uma credencial por desenvolvedor no gateway, seguindo a documentação de gerenciamento de credenciais do seu produto.106Cada desenvolvedor precisa de sua própria chave de gateway para autenticar. Crie uma credencial por desenvolvedor no gateway, seguindo a documentação de gerenciamento de credenciais do seu produto.

107 107 

108Confirme que uma chave recém-emitida funciona contra o gateway com a mesma solicitação que [Confirme que o gateway roteia seus modelos](#confirm-the-gateway-routes-your-models), substituindo `<gateway-key>` pela nova `<developer-key>`:108Confirme que uma chave recém-emitida funciona contra o gateway com a mesma solicitação de [Confirme se o gateway roteia seus modelos](#confirm-the-gateway-routes-your-models), substituindo `<gateway-key>` pela nova `<developer-key>`:

109 109 

110<Tabs>110<Tabs>

111 <Tab title="Bash ou Zsh">111 <Tab title="Bash ou Zsh">


128 </Tab>128 </Tab>

129</Tabs>129</Tabs>

130 130 

131**Ponto de verificação**: um `200` com um campo `content` significa que a chave do desenvolvedor alcança o gateway e o gateway a encaminha. Um `401` aqui, quando [a etapa anterior](#confirm-the-gateway-routes-your-models) foi bem-sucedida, significa que a chave do desenvolvedor está errada ou ainda não entrou em vigor no gateway.131**Checkpoint**: um `200` com um campo `content` significa que a chave do desenvolvedor alcança o gateway e o gateway a encaminha. Um `401` aqui, quando [a etapa anterior](#confirm-the-gateway-routes-your-models) foi bem-sucedida, significa que a chave do desenvolvedor está incorreta ou ainda não entrou em vigor no gateway.

132 132 

133Emitir uma chave por desenvolvedor em vez de uma chave compartilhada é o que torna a atribuição de uso por desenvolvedor e o offboarding individual funcionarem. A variável de ambiente que contém a chave depende de qual cabeçalho o gateway lê. Para um gateway que verifica credenciais no cabeçalho `Authorization: Bearer`, os desenvolvedores definem sua chave em `ANTHROPIC_AUTH_TOKEN`. Para um gateway que lê chaves do cabeçalho `x-api-key`, os desenvolvedores definem `ANTHROPIC_API_KEY` em vez disso; a [tabela de credenciais](/docs/pt/llm-gateway-connect#set-the-credential-variable) cobre o mapeamento.133Emitir uma chave por desenvolvedor em vez de uma chave compartilhada é o que torna a atribuição de uso por desenvolvedor e o offboarding individual funcionarem. A variável de ambiente que contém a chave depende de qual cabeçalho o gateway lê. Para um gateway que verifica credenciais no cabeçalho `Authorization: Bearer`, os desenvolvedores definem sua chave em `ANTHROPIC_AUTH_TOKEN`. Para um gateway que lê chaves do cabeçalho `x-api-key`, os desenvolvedores definem `ANTHROPIC_API_KEY` em vez disso; a [tabela de credenciais](/docs/pt/llm-gateway-connect#set-the-credential-variable) cobre o mapeamento.

134 134 


136 Teste Claude Code contra o gateway136 Teste Claude Code contra o gateway

137</h3>137</h3>

138 138 

139Execute Claude Code através do gateway você mesmo antes de distribuir qualquer coisa, usando a mesma configuração que a implantação entregará em toda a frota. Digite-os diretamente em um terminal, não em um arquivo `.env` ou arquivo de configurações; eles duram apenas para esta sessão de terminal, portanto fechá-la retorna sua máquina à sua configuração normal. Use `ANTHROPIC_API_KEY` em vez de `ANTHROPIC_AUTH_TOKEN` se seu gateway lê o cabeçalho `x-api-key`:139Execute Claude Code através do gateway você mesmo antes de distribuir qualquer coisa, usando a mesma configuração que a implantação entregará em toda a frota. Digite-os diretamente em um terminal, não em um arquivo `.env` ou arquivo de configurações; eles duram apenas para esta sessão de terminal, então fechá-la retorna sua máquina à sua configuração normal. Use `ANTHROPIC_API_KEY` em vez de `ANTHROPIC_AUTH_TOKEN` se seu gateway lê o cabeçalho `x-api-key`:

140 140 

141<Tabs>141<Tabs>

142 <Tab title="Bash ou Zsh">142 <Tab title="Bash ou Zsh">


160claude -p "Reply with one word: connected"160claude -p "Reply with one word: connected"

161```161```

162 162 

163**Ponto de verificação**: o prompt retorna uma resposta e a solicitação aparece no log do gateway como um `POST` para o caminho `/v1/messages` com status `200`. Claude Code anexa uma string de consulta como `?beta=true`, portanto corresponda no caminho, não na URL completa. Duas mensagens de falha apontam em direções diferentes:163**Checkpoint**: o prompt retorna uma resposta, e a solicitação aparece no log do gateway como um `POST` para o caminho `/v1/messages` com status `200`. Claude Code anexa uma string de consulta como `?beta=true`, então corresponda no caminho, não na URL completa. Duas mensagens de falha apontam em direções diferentes:

164 164 

165* `Not logged in`: verifique o log do gateway para distinguir as duas causas. Se estiver vazio, nenhuma credencial alcançou a sessão e nenhuma solicitação saiu da máquina; re-execute as exportações no shell que você está testando. Se mostrar uma solicitação rejeitada com `x-api-key` no corpo `401`, o gateway espera chaves nesse cabeçalho em vez disso; mude para `ANTHROPIC_API_KEY`165* `Not logged in`: verifique o log do gateway para distinguir as duas causas. Se estiver vazio, nenhuma credencial alcançou a sessão e nenhuma solicitação saiu da máquina; execute novamente as exportações no shell que você está testando. Se mostrar uma solicitação rejeitada com `x-api-key` no corpo `401`, o gateway espera chaves nesse cabeçalho em vez disso; mude para `ANTHROPIC_API_KEY`

166* `Failed to authenticate. API Error: 401` significa que uma credencial foi enviada e rejeitada, e o log do gateway diz onde: um `401` nomeando `api.anthropic.com` ou o endpoint do seu provedor significa que o gateway alcançou o upstream mas sua credencial de provedor foi rejeitada, portanto a chave do desenvolvedor funcionou e a credencial do provedor que o gateway detém está errada ou é um espaço reservado166* `Failed to authenticate. API Error: 401` significa que uma credencial foi enviada e rejeitada, e o log do gateway diz onde: um `401` nomeando `api.anthropic.com` ou o endpoint do seu provedor significa que o gateway alcançou o upstream mas sua credencial de provedor foi rejeitada, então a chave do desenvolvedor funcionou e a credencial do provedor que o gateway possui está incorreta ou é um placeholder

167 167 

168Uma URL base errada ou inacessível produz um sintoma diferente: Claude Code [tenta novamente a conexão com backoff](/docs/pt/errors#automatic-retries) e pode ficar sem saída por vários minutos antes de relatar um erro. Se o comando parecer travar, verifique o log do gateway em vez de esperar; nenhuma solicitação chegando significa que `ANTHROPIC_BASE_URL` não aponta para o gateway.168Uma URL base incorreta ou inacessível produz um sintoma diferente: Claude Code [tenta novamente a conexão com backoff](/docs/pt/errors#automatic-retries) e pode ficar sem saída por vários minutos antes de relatar um erro. Se o comando parecer travar, verifique o log do gateway em vez de esperar; nenhuma solicitação chegando significa que `ANTHROPIC_BASE_URL` não aponta para o gateway.

169 169 

170<h3 id="distribute-the-configuration">170<h3 id="distribute-the-configuration">

171 Distribua a configuração171 Distribua a configuração

172</h3>172</h3>

173 173 

174Cada máquina de desenvolvedor precisa do endereço do gateway e de uma credencial. Você pode distribuí-los centralmente através de [configurações gerenciadas](/docs/pt/managed-settings#delivery-mechanisms), para que os desenvolvedores não configurem nada, ou entregue aos desenvolvedores os valores para definir eles mesmos.174Cada máquina de desenvolvedor precisa do endereço do gateway e de uma credencial. Você pode distribuí-los centralmente através de [configurações gerenciadas](/docs/pt/managed-settings#delivery-mechanisms), para que os desenvolvedores não configurem nada, ou forneça aos desenvolvedores os valores para definir eles mesmos.

175 175 

176<h4 id="what-to-distribute">176<h4 id="what-to-distribute">

177 O que distribuir177 O que distribuir

178</h4>178</h4>

179 179 

180O mesmo conjunto de variáveis se aplica qualquer que seja o caminho que você escolha. A maioria das implantações só precisa de `ANTHROPIC_BASE_URL` e uma credencial; inclua as linhas condicionais quando sua configuração de gateway as exigir.180O mesmo conjunto de variáveis se aplica qualquer que seja o caminho escolhido. A maioria das implantações precisa apenas de `ANTHROPIC_BASE_URL` e uma credencial; inclua as linhas condicionais quando sua configuração de gateway exigir.

181 181 

182| Variável ou configuração | O que faz | Incluir quando |182| Variável ou configuração | O que faz | Incluir quando |

183| :- | :- | :- |183| :- | :- | :- |

184| `ANTHROPIC_BASE_URL` | Envia as solicitações de API do Claude Code para o gateway em vez de `api.anthropic.com` | Sempre |184| `ANTHROPIC_BASE_URL` | Envia as solicitações de API do Claude Code para o gateway em vez de `api.anthropic.com` | Sempre |

185| `apiKeyHelper`, ou uma credencial em `ANTHROPIC_AUTH_TOKEN` ou `ANTHROPIC_API_KEY` | Autentica cada solicitação ao gateway. O auxiliar executa um comando para buscar a chave; as variáveis mantêm uma chave estática, enviada como `Authorization: Bearer` e `x-api-key` respectivamente | Sempre; uma das três |185| `apiKeyHelper`, ou uma credencial em `ANTHROPIC_AUTH_TOKEN` ou `ANTHROPIC_API_KEY` | Autentica cada solicitação para o gateway. O helper executa um comando para buscar a chave; as variáveis contêm uma chave estática, enviada como `Authorization: Bearer` e `x-api-key` respectivamente | Sempre; uma das três |

186| `ANTHROPIC_CUSTOM_HEADERS` | Adiciona cabeçalhos HTTP extras a cada solicitação de API | Seu gateway requer um cabeçalho de locatário ou roteamento em cada solicitação |186| `ANTHROPIC_CUSTOM_HEADERS` | Adiciona cabeçalhos HTTP extras a cada solicitação de API | Seu gateway requer um cabeçalho de tenant ou roteamento em cada solicitação |

187| `CLAUDE_CODE_GATEWAY_HINT_HEADERS` | Envia os [cabeçalhos de dica de gateway](/docs/pt/llm-gateway-protocol#gateway-hint-headers), que classificam cada solicitação para decisões de roteamento e agendamento no gateway. Requer Claude Code v2.1.273 ou posterior | Seu gateway lê os cabeçalhos de dica |187| `CLAUDE_CODE_GATEWAY_HINT_HEADERS` | Envia os [cabeçalhos de dica de gateway](/docs/pt/llm-gateway-protocol#gateway-hint-headers), que classificam cada solicitação para decisões de roteamento e agendamento no gateway. Requer Claude Code v2.1.273 ou posterior | Seu gateway lê os cabeçalhos de dica |

188| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Consulta `/v1/models` do gateway na inicialização e adiciona os nomes retornados ao seletor `/model` | Seu gateway serve `/v1/models` e você quer que os seletores dos desenvolvedores sejam preenchidos a partir dele |188| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Consulta o `/v1/models` do gateway na inicialização e adiciona os nomes retornados ao seletor `/model` | Seu gateway serve `/v1/models` e você quer que os seletores dos desenvolvedores sejam preenchidos a partir dele |

189| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Para Claude Code de enviar cabeçalhos de capacidade pré-lançamento e campos de corpo. [Desabilite capacidades pré-lançamento](/docs/pt/llm-gateway-protocol#disable-pre-release-capabilities) cobre o escopo exato | Seu gateway encaminha para um Amazon Bedrock ou Google Cloud's Agent Platform upstream que rejeita campos beta. Consulte [Requisitos do gateway](#gateway-requirements) |189| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Impede que Claude Code envie cabeçalhos de capacidade pré-lançamento e campos de corpo. [Desabilite capacidades pré-lançamento](/docs/pt/llm-gateway-protocol#disable-pre-release-capabilities) cobre o escopo exato | Seu gateway encaminha para um Amazon Bedrock ou Google Cloud's Agent Platform upstream que rejeita campos beta. Veja [Requisitos do gateway](#gateway-requirements) |

190| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` ou `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK` | Restaura [fast mode](/docs/pt/fast-mode) quando sua verificação de disponibilidade, que chama `api.anthropic.com` diretamente em vez de seguir `ANTHROPIC_BASE_URL`, falha, é interceptada ou é ignorada por falta de uma credencial Anthropic | Sua organização usa fast mode, e os desenvolvedores autenticam com `ANTHROPIC_AUTH_TOKEN` sozinho, com uma chave emitida pelo gateway em `ANTHROPIC_API_KEY` ou de um `apiKeyHelper`, ou sua rede bloqueia ou intercepta solicitações diretas para `api.anthropic.com`; [use fast mode atrás de proxies e gateways LLM](/docs/pt/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) cobre qual das duas variáveis corresponde à sua configuração |190| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` ou `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK` | Restaura [modo rápido](/docs/pt/fast-mode) quando sua verificação de disponibilidade, que chama `api.anthropic.com` diretamente em vez de seguir `ANTHROPIC_BASE_URL`, falha, é interceptada ou é ignorada por falta de uma credencial Anthropic | Sua organização usa modo rápido, e os desenvolvedores autenticam com `ANTHROPIC_AUTH_TOKEN` sozinho, com uma chave emitida pelo gateway em `ANTHROPIC_API_KEY` ou de um `apiKeyHelper`, ou sua rede bloqueia ou intercepta solicitações diretas para `api.anthropic.com`; [use modo rápido atrás de proxies e gateways LLM](/docs/pt/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) cobre qual das duas variáveis corresponde à sua configuração |

191| `ANTHROPIC_MODEL` ou [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/docs/pt/model-config) | Define qual nome de modelo Claude Code solicita para a sessão principal e para tráfego de fundo | Seu gateway roteia nomes de modelos que não correspondem aos padrões do Claude Code, ou você roteia [funcionalidade de fundo](/docs/pt/costs#background-token-usage) para um modelo diferente. Rotear tanto os nomes de substituição quanto os nomes padrão do Claude Code no gateway, já que algumas sub-chamadas podem solicitar o nome padrão independentemente da substituição; [configuração de modelo](/docs/pt/model-config) cobre qual modelo cada parte de uma sessão usa |191| `ANTHROPIC_MODEL` ou [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/docs/pt/model-config) | Define qual nome de modelo Claude Code solicita para a sessão principal e para tráfego em segundo plano | Seu gateway roteia nomes de modelo que não correspondem aos padrões do Claude Code, ou você roteia [funcionalidade em segundo plano](/docs/pt/costs#background-token-usage) para um modelo diferente. Rotear tanto os nomes de substituição quanto os IDs de modelo integrados que Claude Code solicita quando nenhuma substituição é definida, já que algumas subchamadas de segundo plano solicitam um ID integrado independentemente da substituição; [configuração de modelo](/docs/pt/model-config) cobre qual modelo cada parte de uma sessão usa |

192| `ANTHROPIC_BEDROCK_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL`, `ANTHROPIC_FOUNDRY_BASE_URL` ou `ANTHROPIC_AWS_BASE_URL` com as [variáveis para esse provedor](/docs/pt/llm-gateway-connect#route-to-a-cloud-provider-through-a-gateway) | Aponte Claude Code para o gateway através de uma URL base específica do provedor. Amazon Bedrock e Google Cloud's Agent Platform também mudam para o formato de solicitação nativo desses provedores | Seu gateway está na frente de Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry ou da Plataforma Claude no AWS; consulte [Formatos de API](/docs/pt/llm-gateway-protocol#api-formats) |192| `ANTHROPIC_BEDROCK_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL`, `ANTHROPIC_FOUNDRY_BASE_URL`, ou `ANTHROPIC_AWS_BASE_URL` com as [variáveis para esse provedor](/docs/pt/llm-gateway-connect#route-to-a-cloud-provider-through-a-gateway) | Aponta Claude Code para o gateway através de uma URL base específica do provedor. Amazon Bedrock e Google Cloud's Agent Platform também mudam para o formato de solicitação nativa desses provedores | Seu gateway está na frente do Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, ou Claude Platform na AWS; veja [Formatos de API](/docs/pt/llm-gateway-protocol#api-formats) |

193 193 

194<h4 id="distribute-through-managed-settings">194<h4 id="distribute-through-managed-settings">

195 Distribua através de configurações gerenciadas195 Distribua através de configurações gerenciadas


206}206}

207```207```

208 208 

209Adicione as variáveis condicionais da tabela ao mesmo bloco `env`. Um `ANTHROPIC_BASE_URL` gerenciado é imposto e não pode ser substituído pela exportação de shell de um desenvolvedor, já que Claude Code o aplica sobre o ambiente do processo e configurações de precedência inferior.209Adicione as variáveis condicionais da tabela ao mesmo bloco `env`. Um `ANTHROPIC_BASE_URL` gerenciado é imposto e não pode ser substituído por uma exportação de shell do desenvolvedor, já que Claude Code o aplica sobre o ambiente do processo e configurações de precedência inferior.

210 210 

211Não inclua `forceLoginMethod` ou `forceLoginOrgUUID` em configurações gerenciadas junto com uma credencial de gateway. Qualquer chave bloqueia `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` e `apiKeyHelper` na inicialização, e os desenvolvedores não podem prosseguir. Eles veem `This machine's managed settings require a first-party login`, ou [`Administrator policy requires a Cloud gateway sign-in`](/docs/pt/errors#administrator-policy-requires-a-cloud-gateway-sign-in) sob um valor `"gateway"`.211Não inclua `forceLoginMethod`, `forceLoginOrgUUID`, ou `forceLoginGatewayUrl` em configurações gerenciadas junto com uma credencial de gateway. `forceLoginMethod` ou `forceLoginOrgUUID`, com qualquer valor, bloqueia `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, e `apiKeyHelper` na inicialização, e os desenvolvedores não podem prosseguir. Eles veem `This machine's managed settings require a first-party login`, ou [`Administrator policy requires a Cloud gateway sign-in`](/docs/pt/errors#administrator-policy-requires-a-cloud-gateway-sign-in) quando o arquivo define `forceLoginMethod` para `"gateway"` ou define `forceLoginGatewayUrl`.

212 212 

213A entrega de [configurações gerenciadas pelo servidor](/docs/pt/server-managed-settings#platform-availability) requer uma conexão direta com `api.anthropic.com`, portanto não alcança sessões roteadas por gateway. As implantações de gateway usam este caminho de configurações gerenciadas baseado em arquivo, que impõe as mesmas chaves.213A entrega de [configurações gerenciadas pelo servidor](/docs/pt/server-managed-settings#platform-availability) requer uma conexão direta com `api.anthropic.com`, então não alcança sessões roteadas por gateway. Implantações de gateway usam este caminho de configurações gerenciadas baseado em arquivo, que impõe as mesmas chaves.

214 214 

215Para a credencial, distribua um comando [`apiKeyHelper`](/docs/pt/llm-gateway-connect#rotate-credentials-with-apikeyhelper) no arquivo de configurações gerenciadas conforme mostrado acima; o comando autentica seu armazenamento de segredos como o desenvolvedor local, portanto cada máquina recebe sua própria chave. Alternativamente, entregue a cada desenvolvedor sua chave através do seu processo de segredos existente e peça-lhes para definir `ANTHROPIC_AUTH_TOKEN` eles mesmos.215Para a credencial, distribua um comando [`apiKeyHelper`](/docs/pt/llm-gateway-connect#rotate-credentials-with-apikeyhelper) no arquivo de configurações gerenciadas conforme mostrado acima; o comando autentica seu armazenamento de segredos como o desenvolvedor local, então cada máquina recebe sua própria chave. Alternativamente, entregue a cada desenvolvedor sua chave através do seu processo de segredos existente e peça que eles definam `ANTHROPIC_AUTH_TOKEN` eles mesmos.

216 216 

217Alguns ambientes precisam de entrega separada:217Alguns ambientes precisam de entrega separada:

218 218 

219* O aplicativo de desktop lê o roteamento do gateway apenas de sua configuração de inferência de terceiros, não de configurações gerenciadas; implante esse arquivo através de MDM junto com configurações gerenciadas para que as sessões de desktop também roteiem através do gateway. Consulte a [documentação de configuração de terceiros do desktop](https://claude.com/docs/third-party/claude-desktop/configuration) e a [documentação de gateway do desktop](https://claude.com/docs/third-party/claude-desktop/gateway)219* O aplicativo de desktop lê o roteamento de gateway de sua configuração de inferência de terceiros, não de configurações gerenciadas; implante esse arquivo através de MDM junto com configurações gerenciadas para que sessões de desktop também roteiem através do gateway. Veja a [documentação de configuração de terceiros do desktop](https://claude.com/docs/third-party/claude-desktop/configuration) e a [documentação de gateway do desktop](https://claude.com/docs/third-party/claude-desktop/gateway)

220* Os executores de CI precisam de `ANTHROPIC_BASE_URL` e a credencial definida no [ambiente do executor](/docs/pt/llm-gateway-connect#configure-each-surface)220* Executores de CI precisam de `ANTHROPIC_BASE_URL` e a credencial definida no [ambiente do executor](/docs/pt/llm-gateway-connect#configure-each-surface)

221* WSL em máquinas Windows gerenciadas lê as configurações gerenciadas do Windows apenas quando [`wslInheritsWindowsSettings`](/docs/pt/settings-reference#wslinheritswindowssettings) é `true`221* WSL em máquinas Windows gerenciadas lê as configurações gerenciadas do Windows apenas quando [`wslInheritsWindowsSettings`](/docs/pt/settings-reference#wslinheritswindowssettings) é `true`

222 222 

223<h4 id="hand-developers-the-values-to-set-themselves">223<h4 id="hand-developers-the-values-to-set-themselves">

224 Entregue aos desenvolvedores os valores para definir eles mesmos224 Forneça aos desenvolvedores os valores para definir eles mesmos

225</h4>225</h4>

226 226 

227Se você não tiver distribuição de configurações gerenciadas em vigor, envie a cada desenvolvedor o que ele precisa para seguir a [página de conexão](/docs/pt/llm-gateway-connect#configure-claude-code-yourself):227Se você não tiver distribuição de configurações gerenciadas em vigor, envie a cada desenvolvedor o que ele precisa para seguir a [página de conexão](/docs/pt/llm-gateway-connect#configure-claude-code-yourself):

228 228 

229* A URL do gateway229* A URL do gateway

230* Sua credencial pessoal230* Sua credencial pessoal

231* **Qual variável colocar a credencial em**: `ANTHROPIC_AUTH_TOKEN` para um gateway de token portador, ou `ANTHROPIC_API_KEY` para um gateway `x-api-key`. Dizer aos desenvolvedores qual economiza o trial-and-error descrito na [página de conexão](/docs/pt/llm-gateway-connect#set-the-credential-variable)231* **Qual variável colocar a credencial em**: `ANTHROPIC_AUTH_TOKEN` para um gateway de token portador, ou `ANTHROPIC_API_KEY` para um gateway `x-api-key`. Informar aos desenvolvedores qual delas os poupa do trial-and-error descrito na [página de conexão](/docs/pt/llm-gateway-connect#set-the-credential-variable)

232* Quaisquer variáveis condicionais da [tabela O que distribuir](#what-to-distribute), com seus valores232* Qualquer variável condicional da [tabela O que distribuir](#what-to-distribute), com seus valores

233 233 

234A [página de conexão](/docs/pt/llm-gateway-connect#configure-claude-code-yourself) orienta os desenvolvedores através da definição de cada uma.234A [página de conexão](/docs/pt/llm-gateway-connect#configure-claude-code-yourself) orienta os desenvolvedores através da definição de cada uma.

235 235 

236**Ponto de verificação**: em uma máquina de desenvolvedor, `claude` inicia uma sessão sem mostrar a tela de login, já que a credencial distribuída satisfaz a autenticação. Em seguida, execute `/status` e abra a aba **Status**: a linha `Anthropic base URL` mostra o endereço do gateway, e para distribuição gerenciada a linha `Setting sources` inclui configurações gerenciadas. Uma tela de login, ou uma linha `Anthropic base URL` ausente, significa que a configuração não alcançou a máquina.236**Checkpoint**: em uma máquina de desenvolvedor, `claude` inicia uma sessão sem mostrar a tela de login, já que a credencial distribuída satisfaz a autenticação. Em seguida, execute `/status` e abra a aba **Status**: a linha `Anthropic base URL` mostra o endereço do gateway, e para distribuição gerenciada a linha `Setting sources` inclui configurações gerenciadas. Uma tela de login, ou uma linha `Anthropic base URL` ausente, significa que a configuração não alcançou a máquina.

237 237 

238<h3 id="verify-the-rollout">238<h3 id="verify-the-rollout">

239 Verifique a implantação239 Verifique a implantação


268 268 

269Em seguida, inicie `claude` e envie uma mensagem. Cada sintoma nesta etapa tem uma causa:269Em seguida, inicie `claude` e envie uma mensagem. Cada sintoma nesta etapa tem uma causa:

270 270 

271* Um prompt de login significa uma lacuna de credencial. Execute `/status` e abra a aba **Status**: quando a linha `Setting sources` não inclui configurações gerenciadas, a distribuição não alcançou a máquina; quando inclui, a credencial do desenvolvedor não foi entregue, portanto defina `ANTHROPIC_AUTH_TOKEN` ou o `apiKeyHelper`271* Um prompt de login significa uma lacuna de credencial. Execute `/status` e abra a aba **Status**: quando a linha `Setting sources` não inclui configurações gerenciadas, a distribuição não alcançou a máquina; quando inclui, a credencial do desenvolvedor não foi entregue, então defina `ANTHROPIC_AUTH_TOKEN` ou o `apiKeyHelper`

272* Erros `Failed to authenticate` significam que o gateway está rejeitando solicitações; seu log diz qual credencial falhou. Uma rejeição que o gateway registra em si nomeia a chave do desenvolvedor, enquanto um `401` de `api.anthropic.com` ou do endpoint do seu provedor significa que a credencial do provedor que o gateway detém foi rejeitada272* Erros `Failed to authenticate` significam que o gateway está rejeitando solicitações; seu log diz qual credencial falhou. Uma rejeição que o gateway registra em si nomeia a chave do desenvolvedor, enquanto um `401` de `api.anthropic.com` ou do endpoint do seu provedor significa que a credencial do provedor que o gateway possui foi rejeitada

273* Um prompt de aprovação única para a chave é esperado no primeiro uso quando o gateway espera chaves no cabeçalho `x-api-key`, definido como `ANTHROPIC_API_KEY`. Com `ANTHROPIC_AUTH_TOKEN`, nenhum prompt aparece e a variável assume silenciosamente; um login claude.ai previamente salvo está inativo para essa sessão273* Um prompt de aprovação única para a chave é esperado no primeiro uso quando o gateway espera chaves no cabeçalho `x-api-key`, definido como `ANTHROPIC_API_KEY`. Com `ANTHROPIC_AUTH_TOKEN`, nenhum prompt aparece e a variável assume silenciosamente; um login claude.ai previamente salvo está inativo para essa sessão

274 274 

275Se sua organização usa [fast mode](/docs/pt/fast-mode), execute `/fast` aqui também: a verificação de disponibilidade chama `api.anthropic.com` diretamente em vez de seguir a URL base do gateway, portanto uma sessão roteada por gateway pode relatar fast mode como indisponível ou desabilitado mesmo que a inferência funcione. [Use fast mode atrás de proxies e gateways LLM](/docs/pt/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) mapeia cada mensagem para a variável que a restaura, distribuída com [o resto da configuração](#distribute-the-configuration).275Se sua organização usa [modo rápido](/docs/pt/fast-mode), execute `/fast` aqui também: a verificação de disponibilidade chama `api.anthropic.com` diretamente em vez de seguir a URL base do gateway, então uma sessão roteada por gateway pode relatar modo rápido como indisponível ou desabilitado mesmo que a inferência funcione. [Use modo rápido atrás de proxies e gateways LLM](/docs/pt/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) mapeia cada mensagem para a variável que a restaura, distribuída com [o resto da configuração](#distribute-the-configuration).

276 276 

277Finalmente, verifique os logs do gateway para a mensagem que você enviou: a credencial identifica o desenvolvedor, e o [cabeçalho `x-claude-code-session-id`](/docs/pt/llm-gateway-protocol#request-headers) agrupa solicitações por sessão. Se os recursos falharem com os [sintomas de solução de problemas](/docs/pt/llm-gateway-connect#troubleshoot-gateway-errors), o gateway está removendo cabeçalhos ou reescrevendo erros; consulte os [requisitos do gateway](#gateway-requirements) acima.277Finalmente, verifique os logs do gateway para a mensagem que você enviou: a credencial identifica o desenvolvedor, e o [cabeçalho `x-claude-code-session-id`](/docs/pt/llm-gateway-protocol#request-headers) agrupa solicitações por sessão. Se recursos falharem com os [sintomas de solução de problemas](/docs/pt/llm-gateway-connect#troubleshoot-gateway-errors), o gateway está removendo cabeçalhos ou reescrevendo erros; veja os [requisitos do gateway](#gateway-requirements) acima.

278 278 

279<h2 id="maintain-the-gateway">279<h2 id="maintain-the-gateway">

280 Mantenha o gateway280 Mantenha o gateway

managed-mcp.md +1 −1

Details

526 Monitorar o uso de MCP526 Monitorar o uso de MCP

527</h2>527</h2>

528 528 

529Quando [exportação OpenTelemetry](/docs/pt/monitoring-usage) está configurada, Claude Code pode registrar quais servidores MCP e ferramentas os usuários invocam. Defina `OTEL_LOG_TOOL_DETAILS=1` para incluir nomes de servidor MCP e ferramentas em eventos de ferramentas, depois agregue-os em seu coletor para ver quais servidores seus usuários realmente conectam. Consulte [Monitoramento](/docs/pt/monitoring-usage) para configurar o exportador e para o esquema de evento completo.529Quando você configura [exportação OpenTelemetry](/docs/pt/monitoring-usage), Claude Code pode registrar quais servidores MCP e ferramentas os usuários invocam. Defina `OTEL_LOG_TOOL_DETAILS=1` para incluir nomes de servidor MCP e ferramentas em eventos de ferramentas e nos [contadores de custo e token](/docs/pt/monitoring-usage#cost-counter), depois agregue-os em seu coletor para ver quais servidores seus usuários realmente conectam. Consulte [Monitoramento](/docs/pt/monitoring-usage) para configurar o exportador e para o esquema de evento completo.

530 530 

531<h2 id="configuration-summary">531<h2 id="configuration-summary">

532 Resumo de configuração532 Resumo de configuração

managed-settings.md +101 −66

Details

75| [Configurações gerenciadas pelo servidor](/docs/pt/server-managed-settings) | No console de administração claude.ai, ou em um [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway) auto-hospedado | Buscado na inicialização e pesquisado a cada hora; consulte [alterações que precisam de aprovação](#where-and-when-a-policy-applies) | Você quer um lugar para alterar a política de uma organização claude.ai sem tocar em cada máquina |75| [Configurações gerenciadas pelo servidor](/docs/pt/server-managed-settings) | No console de administração claude.ai, ou em um [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway) auto-hospedado | Buscado na inicialização e pesquisado a cada hora; consulte [alterações que precisam de aprovação](#where-and-when-a-policy-applies) | Você quer um lugar para alterar a política de uma organização claude.ai sem tocar em cada máquina |

76| Política MDM ou nível do SO | Como um perfil de configuração macOS ou um valor de registro `HKLM` do Windows, através de Jamf, Intune, Group Policy ou uma ferramenta similar; consulte [onde cada mecanismo armazena a política](#where-each-mechanism-stores-the-policy) | Lido na inicialização e verificado quanto a alterações a cada 30 minutos | Você já gerencia dispositivos com MDM ou Group Policy |76| Política MDM ou nível do SO | Como um perfil de configuração macOS ou um valor de registro `HKLM` do Windows, através de Jamf, Intune, Group Policy ou uma ferramenta similar; consulte [onde cada mecanismo armazena a política](#where-each-mechanism-stores-the-policy) | Lido na inicialização e verificado quanto a alterações a cada 30 minutos | Você já gerencia dispositivos com MDM ou Group Policy |

77| Baseado em arquivo | Como `managed-settings.json` em um diretório do sistema em cada máquina; consulte [onde cada mecanismo armazena a política](#where-each-mechanism-stores-the-policy) | Lido na inicialização e recarregado quando um arquivo muda | Máquinas sem MDM, hosts Linux ou imagens que você constrói você mesmo |77| Baseado em arquivo | Como `managed-settings.json` em um diretório do sistema em cada máquina; consulte [onde cada mecanismo armazena a política](#where-each-mechanism-stores-the-policy) | Lido na inicialização e recarregado quando um arquivo muda | Máquinas sem MDM, hosts Linux ou imagens que você constrói você mesmo |

78| Registro HKCU, Windows e WSL | Como um valor de registro `HKCU` do Windows; consulte [onde cada mecanismo armazena a política](#where-each-mechanism-stores-the-policy) | Lido na inicialização e verificado quanto a alterações a cada 30 minutos; Claude Code o usa apenas quando nenhuma outra fonte gerenciada entrega uma chave de política e nenhuma [configuração pai fornecida pelo host](#let-an-embedding-host-add-policy) fornece uma chave restritiva | Você não pode escrever a chave `HKLM` de nível de máquina |78| Registro HKCU, Windows e WSL | Como um valor de registro `HKCU` do Windows; consulte [onde cada mecanismo armazena a política](#where-each-mechanism-stores-the-policy) | Lido na inicialização e verificado quanto a alterações a cada 30 minutos; Claude Code o usa 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 | Você não pode escrever a chave `HKLM` de nível de máquina |

79 79 

80Modelos iniciais para Jamf, Iru, Intune e Group Policy estão no [repositório de exemplos MDM](https://github.com/anthropics/claude-code/tree/main/examples/mdm).80Modelos iniciais para Jamf, Iru, Intune e Group Policy estão no [repositório de exemplos MDM](https://github.com/anthropics/claude-code/tree/main/examples/mdm).

81 81 


143 143 

144Quando sua organização entrega mais de uma fonte gerenciada para a mesma máquina, a chave [`managedSourcesBehavior`](/docs/pt/settings-reference#managedsourcesbehavior) decide o que Claude Code faz com as outras:144Quando sua organização entrega mais de uma fonte gerenciada para a mesma máquina, a chave [`managedSourcesBehavior`](/docs/pt/settings-reference#managedsourcesbehavior) decide o que Claude Code faz com as outras:

145 145 

146* **`"first-wins"`, o padrão**: Claude Code usa a fonte de classificação mais alta que entrega pelo menos uma chave de política e ignora o resto em vez de mesclá-las, exceto pelas chaves em [Chaves lidas de cada fonte de administrador](#keys-read-from-every-admin-source). Claude Code não mostra aviso para as fontes que pula; `/status` [nomeia a fonte que usou e as que pulou](#read-the-source-in-/status).146* **`"first-wins"`, o padrão**: Claude Code usa a fonte com classificação mais alta que entrega pelo menos uma chave de política e ignora o resto em vez de mesclá-las, exceto pelas chaves em [Chaves lidas de cada fonte de administrador](#keys-read-from-every-admin-source). Claude Code não mostra aviso para as fontes que pula; `/status` [nomeia a fonte que usou e as que pulou](#read-the-source-in-/status).

147* **`"merge"`**: Claude Code aplica cada fonte de administrador que entrega uma chave de política e as combina por tipo de chave: na maioria das chaves o valor da fonte de classificação mais alta se aplica, listas se unem e locks assumem o valor mais restritivo. [Compor cada fonte gerenciada](#compose-every-managed-source) diz onde definir a chave e como cada tipo de chave se combina. Requer Claude Code v2.1.242 ou posterior.147* **`"merge"`**: Claude Code aplica cada fonte de administrador que entrega uma chave de política e as combina por tipo de chave: na maioria das chaves o valor da fonte com classificação mais alta se aplica, listas se unem, e bloqueios assumem o valor mais restritivo. [Componha cada fonte gerenciada](#compose-every-managed-source) diz onde definir a chave e como cada tipo de chave se combina. Requer Claude Code v2.1.242 ou posterior.

148 148 

149Ambas as configurações classificam as fontes da mesma forma. Dois termos recorrem nesta seção:149Ambas as configurações classificam as fontes da mesma forma. Estes termos recorrem nesta seção:

150 150 

151* **Chave de política**: qualquer chave de configurações que não seja as duas chaves de controle, [`wslInheritsWindowsSettings`](/docs/pt/settings-reference#wslinheritswindowssettings) e [`managedSourcesBehavior`](/docs/pt/settings-reference#managedsourcesbehavior). Um arquivo de configurações gerenciadas ou política MDM que contém apenas aquelas não conta, e Claude Code passa para a próxima fonte.151* **Chave de política**: qualquer chave de configurações diferente das duas chaves de controle, [`wslInheritsWindowsSettings`](/docs/pt/settings-reference#wslinheritswindowssettings) e [`managedSourcesBehavior`](/docs/pt/settings-reference#managedsourcesbehavior). Um arquivo de configurações gerenciadas ou política MDM que contém apenas aquelas não conta, e Claude Code passa para a próxima fonte.

152* **Fonte de administrador**: uma das três primeiras fontes abaixo. O registro HKCU gravável pelo usuário não é uma.152* **Fonte de administrador**: uma das três primeiras fontes abaixo. O registro HKCU é gravável pelo usuário e não é uma.

153 153 

154Claude Code verifica as fontes nesta ordem, prioridade mais alta primeiro:154Claude Code verifica as fontes nesta ordem, prioridade mais alta primeiro:

155 155 

1561. Configurações remotas, entregues do 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 essa 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 se conecta a um gateway com `/login`. Em outros provedores, ou quando `ANTHROPIC_BASE_URL` aponta para algo diferente da API da Anthropic, começa na próxima fonte1561. 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 fonte

1572. Políticas MDM ou nível do SO: a plist macOS ou a chave de registro HKLM1572. Políticas MDM ou de nível do SO: a plist do macOS ou a chave de registro HKLM

1583. Arquivos de configurações gerenciadas, `managed-settings.d/*.json` e `managed-settings.json` mesclados juntos1583. Arquivos de configurações gerenciadas, `managed-settings.d/*.json` e `managed-settings.json` mesclados juntos

1594. O registro HKCU, no Windows, e no WSL uma vez que a chave de 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 nenhuma fonte acima dele entrega uma chave de política e nenhuma [configuração pai fornecida pelo host](#let-an-embedding-host-add-policy) fornece uma chave restritiva1594. 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 e nenhuma [configuração pai fornecida pelo host](#let-an-embedding-host-add-policy) fornece uma chave restritiva

160 

161<span id="present-admin-documents" />

162 

163Claude Code nunca aplica o registro HKCU gravável pelo usuário sob um documento de administrador que está presente. Um documento está presente quando define qualquer chave de política para um valor diferente de `null`, mesmo um valor que Claude Code não consegue ler. Um valor HKLM, arquivo de configurações gerenciadas, ou diretório `managed-settings.d` que existe mas não consegue ser lido também está presente. No WSL, `/etc/claude-code` também é gravável pelo usuário, e a entrada [`wslInheritsWindowsSettings`](/docs/pt/settings-reference#wslinheritswindowssettings) diz quando os documentos do Windows estão acima dele.

160 164 

161Este diagrama mostra a classificação, com exemplos das chaves entre fontes que Claude Code lê das três primeiras fontes sob qualquer configuração:165Este diagrama mostra a classificação, com exemplos das chaves entre fontes que Claude Code lê das três primeiras fontes sob qualquer configuração:

162 166 

163<img src="https://mintcdn.com/claude-code/zuWID2B-Rxm8DEC8/images/managed-source-precedence.svg?fit=max&auto=format&n=zuWID2B-Rxm8DEC8&q=85&s=53f6be49f06eff48e01422c8ae1bc2e6" className="dark:hidden" alt="Diagrama mostrando as quatro fontes de configurações gerenciadas classificadas de configurações remotas no topo através de MDM, arquivos de configurações gerenciadas e o registro HKCU na parte inferior. Por padrão, a primeira fonte com uma chave de política fornece a política e o resto é pulado; com managedSourcesBehavior definido como merge, cada fonte de administrador com uma chave de política contribui, combinada por tipo de chave, e o registro HKCU fica de fora. Um painel lateral mostra que chaves entre fontes como os locks de sandbox, forceRemoteSettingsRefresh e o env por variável são lidos de cada fonte de administrador, que exclui o registro HKCU." width="680" height="330" data-path="images/managed-source-precedence.svg" />167<img src="https://mintcdn.com/claude-code/zuWID2B-Rxm8DEC8/images/managed-source-precedence.svg?fit=max&auto=format&n=zuWID2B-Rxm8DEC8&q=85&s=53f6be49f06eff48e01422c8ae1bc2e6" className="dark:hidden" alt="Diagrama mostrando as quatro fontes de configurações gerenciadas classificadas de configurações remotas no topo através de MDM, arquivos de configurações gerenciadas, e o registro HKCU na parte inferior. Por padrão, a primeira fonte com uma chave de política fornece a política e o resto é pulado; com managedSourcesBehavior definido como merge, cada fonte de administrador com uma chave de política contribui, combinada por tipo de chave, e o registro HKCU fica de fora. Um painel lateral mostra que chaves entre fontes como os bloqueios de sandbox, forceRemoteSettingsRefresh, e o merge env por variável são lidos de cada fonte de administrador, que exclui o registro HKCU." width="680" height="330" data-path="images/managed-source-precedence.svg" />

164 168 

165<img src="https://mintcdn.com/claude-code/zuWID2B-Rxm8DEC8/images/managed-source-precedence-dark.svg?fit=max&auto=format&n=zuWID2B-Rxm8DEC8&q=85&s=ae407a9a08a3d680e80cf1a2af845d71" className="hidden dark:block" alt="Diagrama mostrando as quatro fontes de configurações gerenciadas classificadas de configurações remotas no topo através de MDM, arquivos de configurações gerenciadas e o registro HKCU na parte inferior. Por padrão, a primeira fonte com uma chave de política fornece a política e o resto é pulado; com managedSourcesBehavior definido como merge, cada fonte de administrador com uma chave de política contribui, combinada por tipo de chave, e o registro HKCU fica de fora. Um painel lateral mostra que chaves entre fontes como os locks de sandbox, forceRemoteSettingsRefresh e o env por variável são lidos de cada fonte de administrador, que exclui o registro HKCU." width="680" height="330" data-path="images/managed-source-precedence-dark.svg" />169<img src="https://mintcdn.com/claude-code/zuWID2B-Rxm8DEC8/images/managed-source-precedence-dark.svg?fit=max&auto=format&n=zuWID2B-Rxm8DEC8&q=85&s=ae407a9a08a3d680e80cf1a2af845d71" className="hidden dark:block" alt="Diagrama mostrando as quatro fontes de configurações gerenciadas classificadas de configurações remotas no topo através de MDM, arquivos de configurações gerenciadas, e o registro HKCU na parte inferior. Por padrão, a primeira fonte com uma chave de política fornece a política e o resto é pulado; com managedSourcesBehavior definido como merge, cada fonte de administrador com uma chave de política contribui, combinada por tipo de chave, e o registro HKCU fica de fora. Um painel lateral mostra que chaves entre fontes como os bloqueios de sandbox, forceRemoteSettingsRefresh, e o merge env por variável são lidos de cada fonte de administrador, que exclui o registro HKCU." width="680" height="330" data-path="images/managed-source-precedence-dark.svg" />

166 170 

167<h3 id="keys-read-from-every-admin-source">171<h3 id="keys-read-from-every-admin-source">

168 Chaves lidas de cada fonte de administrador172 Chaves lidas de cada fonte de administrador

169</h3>173</h3>

170 174 

171Sob a configuração padrão `"first-wins"`, Claude Code lê a maioria das chaves apenas da [fonte que selecionou](#how-claude-code-combines-managed-sources) e ignora um valor em uma fonte de classificação mais baixa mesmo quando a fonte selecionada deixa essa chave indefinida.175Sob a configuração padrão `"first-wins"`, Claude Code lê a maioria das chaves apenas da [fonte que selecionou](#how-claude-code-combines-managed-sources), e ignora um valor em uma fonte com classificação mais baixa mesmo quando a fonte selecionada deixa essa chave indefinida.

172 176 

173Algumas chaves funcionam diferentemente. Claude Code as lê de cada fonte de administrador, portanto uma política MDM de classificação mais baixa ou arquivo de configurações gerenciadas ainda pode defini-las quando a fonte selecionada não o faz. Claude Code deixa o registro HKCU gravável pelo usuário de fora dessa verificação; quando HKCU é a única fonte e nenhum host fornece configurações pai, HKCU se aplica como qualquer fonte selecionada.177Algumas chaves funcionam diferentemente. Claude Code as lê de cada fonte de administrador, então uma política MDM com classificação mais baixa ou arquivo de configurações gerenciadas ainda pode defini-las quando a fonte selecionada não o faz. Claude Code deixa o registro HKCU gravável pelo usuário de fora dessa verificação; quando HKCU é a única fonte e nenhum host fornece configurações pai, HKCU se aplica como qualquer fonte selecionada.

174 178 

175As chaves entre fontes incluem:179As chaves entre fontes incluem:

176 180 

177* `sandbox.network.allowManagedDomainsOnly` e `sandbox.filesystem.allowManagedReadPathsOnly`: um `true` em qualquer fonte de administrador ativa o lock. Enquanto um lock está ativo, Claude Code une a lista de permissões que ele bloqueia, `sandbox.network.allowedDomains` junto com regras de permissão `WebFetch(domain:...)`, ou `sandbox.filesystem.allowRead`, em cada fonte de administrador. Sem o lock, Claude Code trata a lista de permissões como qualquer outra chave, portanto sob `"first-wins"` a lista de permissões de uma fonte de administrador não selecionada é ignorada181* `sandbox.network.allowManagedDomainsOnly` e `sandbox.filesystem.allowManagedReadPathsOnly`: um `true` em qualquer fonte de administrador ativa o bloqueio. Enquanto um bloqueio está ativo, Claude Code une a lista de permissões que bloqueia, `sandbox.network.allowedDomains` junto com regras de permissão `WebFetch(domain:...)`, ou `sandbox.filesystem.allowRead`, em cada fonte de administrador. Sem o bloqueio, Claude Code trata a lista de permissões como qualquer outra chave, então sob `"first-wins"` a lista de permissões de uma fonte de administrador não selecionada é ignorada

178* `allowAllClaudeAiMcps`182* `allowAllClaudeAiMcps`

179* `allowManagedMcpServersOnly`: um `true` em qualquer fonte de administrador ativa o lock da lista de permissões MCP. Enquanto o lock está ativo, a lista `allowedMcpServers` gerenciada vem da fonte de administrador de classificação mais alta que define uma. Uma lista gerenciada pelo servidor substitui a lista de uma fonte inferior em vez de se combinar com ela.183* `allowManagedMcpServersOnly`: um `true` em qualquer fonte de administrador ativa o bloqueio de lista de permissões MCP. Enquanto o bloqueio está ativo, a lista `allowedMcpServers` gerenciada vem da fonte de administrador com classificação mais alta que define uma. Uma lista gerenciada pelo servidor substitui a lista de uma fonte mais baixa em vez de se combinar com ela.

180 184 

181 Se nenhuma fonte de administrador define uma lista, cada servidor que passa a lista de negação é carregado, a menos que [configurações pai](#let-an-embedding-host-add-policy) forneçam uma lista.185 Se nenhuma fonte de administrador define uma lista, cada servidor que passa a lista de negação é carregado, a menos que [configurações pai](#let-an-embedding-host-add-policy) forneçam uma lista.

182 186 

183 Sem o lock, Claude Code lê `allowedMcpServers` da fonte gerenciada que aplica, portanto sob `"first-wins"` a lista de uma fonte de administrador não selecionada é ignorada. Requer Claude Code v2.1.273 ou posterior187 Sem o bloqueio, Claude Code lê `allowedMcpServers` da fonte gerenciada que aplica, então sob `"first-wins"` a lista de uma fonte de administrador não selecionada é ignorada. Requer Claude Code v2.1.273 ou posterior

184* `deniedMcpServers` e [`disableClaudeAiConnectors`](/docs/pt/settings-reference#disableclaudeaiconnectors): uma entrada ou um `true` em qualquer fonte de administrador se aplica. Requer Claude Code v2.1.273 ou posterior188* `deniedMcpServers` e [`disableClaudeAiConnectors`](/docs/pt/settings-reference#disableclaudeaiconnectors): uma entrada ou um `true` em qualquer fonte de administrador se aplica. Requer Claude Code v2.1.273 ou posterior

185* Os caminhos binários de sandbox `sandbox.bwrapPath` e `sandbox.socatPath`189* Os caminhos binários de sandbox `sandbox.bwrapPath` e `sandbox.socatPath`

186* O binário `ripgrep` de sandbox, [`sandbox.ripgrep`](/docs/pt/settings-reference#sandbox-ripgrep)190* O binário `ripgrep` de sandbox, [`sandbox.ripgrep`](/docs/pt/settings-reference#sandbox-ripgrep)

187* `sandbox.filesystem.disabled` e `sandbox.network.strictAllowlist`191* `sandbox.filesystem.disabled` e `sandbox.network.strictAllowlist`

188* [`useAutoModeDuringPlan`](/docs/pt/settings-reference#useautomodeduringplan), [`syncClaudeAiSkills`](/docs/pt/settings-reference#syncclaudeaiskills) e [`syncClaudeAiPlugins`](/docs/pt/settings-reference#syncclaudeaiplugins), onde um `false` de qualquer fonte de administrador desativa o comportamento. Um `false` nas configurações de usuário ou local do desenvolvedor também o desativa; cada chave só pode negar192* [`useAutoModeDuringPlan`](/docs/pt/settings-reference#useautomodeduringplan), [`syncClaudeAiSkills`](/docs/pt/settings-reference#syncclaudeaiskills), e [`syncClaudeAiPlugins`](/docs/pt/settings-reference#syncclaudeaiplugins), onde um `false` de qualquer fonte de administrador desativa o comportamento. Um `false` nas configurações de usuário ou local do desenvolvedor também o desativa; cada chave pode apenas negar

189* [`enableArtifact`](/docs/pt/settings-reference#enableartifact), onde um `false` de qualquer fonte de administrador desativa a [ferramenta Artifact](/docs/pt/artifacts). Um `false` nas configurações de usuário, projeto ou local do desenvolvedor também o desativa, e nenhuma fonte o ativa novamente; consulte [quais valores de nível inferior ainda contam](/docs/pt/settings#exceptions-to-managed-settings-precedence). Requer Claude Code v2.1.242 ou posterior193* [`enableArtifact`](/docs/pt/settings-reference#enableartifact), onde um `false` de qualquer fonte de administrador desativa a [ferramenta Artifact](/docs/pt/artifacts). Um `false` nas configurações de usuário, projeto ou local do desenvolvedor também o desativa, e nenhuma fonte o ativa novamente; veja [quais valores de nível mais baixo ainda contam](/docs/pt/settings#exceptions-to-managed-settings-precedence). Requer Claude Code v2.1.242 ou posterior

190* [`maxEffortLevel`](/docs/pt/settings-reference#maxeffortlevel), onde o limite mais baixo em qualquer fonte de administrador se aplica. Se um desenvolvedor define um limite mais baixo em suas próprias configurações ou com `--settings`, Claude Code aplica aquele; nenhuma fonte pode aumentar o limite. Requer Claude Code v2.1.267 ou posterior194* [`maxEffortLevel`](/docs/pt/settings-reference#maxeffortlevel), onde o limite mais baixo em qualquer fonte de administrador se aplica. Se um desenvolvedor define um limite mais baixo em suas próprias configurações ou com `--settings`, Claude Code aplica aquele; nenhuma fonte pode aumentar o limite. Requer Claude Code v2.1.267 ou posterior

191* Um opt-out de trailer de commit em `attribution`, ou no `includeCoAuthoredBy` descontinuado, de qualquer nível195* Um opt-out de trailer de commit em `attribution`, ou no `includeCoAuthoredBy` descontinuado, de qualquer nível

192* [`forceRemoteSettingsRefresh`](/docs/pt/server-managed-settings)196* [`forceRemoteSettingsRefresh`](/docs/pt/server-managed-settings)

193* `env`, mesclado por variável em fontes de administrador: cada variável vem da fonte de prioridade mais alta que a define, portanto fontes inferiores preenchem variáveis que as superiores deixam indefinidas. Algumas variáveis seguem suas próprias regras; [Exceções por chave em fontes gerenciadas](/docs/pt/server-managed-settings#per-key-exceptions-across-managed-sources) nomeia cada uma. Requer Claude Code v2.1.223 ou posterior. Antes de v2.1.223, Claude Code aplicava apenas o bloco `env` inteiro da fonte selecionada197* `env`, mesclado por variável em fontes de administrador: cada variável vem da fonte de prioridade mais alta que a define, então fontes mais baixas preenchem variáveis que as mais altas deixam indefinidas. Algumas variáveis seguem suas próprias regras; [Exceções por chave em fontes gerenciadas](/docs/pt/server-managed-settings#per-key-exceptions-across-managed-sources) nomeia cada uma. Requer Claude Code v2.1.223 ou posterior. Antes de v2.1.223, Claude Code aplicava apenas o bloco `env` inteiro da fonte selecionada

194 198 

195As [chaves de login do gateway](#choose-a-delivery-mechanism) seguem uma regra separada. Claude Code nunca as lê de configurações gerenciadas pelo servidor, portanto enquanto as configurações gerenciadas pelo servidor são a fonte selecionada, a fonte de administrador de classificação mais alta na máquina que carrega uma chave de política ainda as fornece. Um valor em uma fonte de administrador classificada abaixo daquela, ou no registro HKCU, é ignorado.199As [chaves de login do gateway](#choose-a-delivery-mechanism) seguem uma regra separada. Claude Code nunca as lê de configurações gerenciadas pelo servidor, então enquanto configurações gerenciadas pelo servidor são a fonte selecionada, a fonte de administrador com classificação mais alta na máquina que carrega uma chave de política ainda as fornece. Um valor em uma fonte de administrador classificada abaixo daquela, ou no registro HKCU, é ignorado.

196 200 

197Quando uma fonte de administrador define `allowManagedMcpServersOnly` ou uma lista `allowedMcpServers` e esse valor não é o que está em vigor, `/status` e `claude doctor` nomeiam essa fonte e chave.201Quando uma fonte de administrador define `allowManagedMcpServersOnly` ou uma lista `allowedMcpServers` e esse valor não é o que está em vigor, `/status` e `claude doctor` nomeiam essa fonte e chave.

198 202 

199<h3 id="compose-every-managed-source">203<h3 id="compose-every-managed-source">

200 Compor cada fonte gerenciada204 Componha cada fonte gerenciada

201</h3>205</h3>

202 206 

203Para ter Claude Code aplicar cada fonte de administrador que sua organização entrega, defina [`managedSourcesBehavior`](/docs/pt/settings-reference#managedsourcesbehavior) como `"merge"` na fonte de classificação mais alta que você implanta. Claude Code lê a chave apenas da fonte de classificação mais alta que carrega a chave ou uma chave de política, portanto uma fonte inferior não pode se optar para mesclar com a fonte acima dela, e uma máquina que nunca recebe configurações gerenciadas pelo servidor precisa da chave em seu perfil MDM também. O registro HKCU gravável pelo usuário nunca se mescla com outra fonte. Requer Claude Code v2.1.242 ou posterior.207Para ter Claude Code aplicar cada fonte de administrador que sua organização entrega, defina [`managedSourcesBehavior`](/docs/pt/settings-reference#managedsourcesbehavior) como `"merge"` na fonte com classificação mais alta que você implanta. Claude Code lê a chave apenas da fonte com classificação mais alta que carrega a chave ou uma chave de política, então uma fonte mais baixa não pode se optar para mesclar com a fonte acima dela, e uma máquina que nunca recebe configurações gerenciadas pelo servidor precisa da chave em seu perfil MDM também. O registro HKCU gravável pelo usuário nunca se mescla com outra fonte. Requer Claude Code v2.1.242 ou posterior.

204 208 

205Sob `"merge"`, Claude Code adiciona entradas de lista de uma fonte inferior, como regras `permissions.allow` e hooks, à política, portanto ative-o apenas quando cada fonte classificada abaixo da sua mais alta estiver sob controle de um administrador.209Sob `"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.

206 210 

207Esta 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: listas de permissões de restrição, valores tomados inteiros e chaves lidas apenas da fonte de classificação mais alta.211Esta 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: listas de permissões de restrição, valores tomados inteiros, e chaves lidas apenas da fonte com classificação mais alta.

208 212 

209| Tipo de chave | Como Claude Code a combina | Exemplos |213| Tipo de chave | Como Claude Code a combina | Exemplos |

210| :- | :- | :- |214| :- | :- | :- |

211| Listas | Combina as entradas de cada fonte | `permissions.allow`, `hooks`, `sandbox.network.allowedDomains`, `deniedMcpServers` |215| Listas | Combina as entradas de cada fonte | `permissions.allow`, `hooks`, `sandbox.network.allowedDomains`, `deniedMcpServers`, `deniedModels` |

212| Locks | Aplica o valor mais restritivo que qualquer fonte define; um valor mais solto se aplica apenas da fonte de classificação mais alta | `allowManagedHooksOnly`, `permissions.disableBypassPermissionsMode`, `crossSessionInbound` |216| Bloqueios | Aplica o valor mais restritivo que qualquer fonte define; um valor mais solto se aplica apenas da fonte com classificação mais alta | `allowManagedHooksOnly`, `permissions.disableBypassPermissionsMode`, `crossSessionInbound`, `availableModelsMatch` |

213| Listas de permissões de restrição | Toma a lista inteira da fonte de classificação mais alta que a define, sem adicionar entradas de fontes inferiores | `availableModels`, `allowedMcpServers`, `strictKnownMarketplaces`, `allowedChannelPlugins` e a cadeia `fallbackModel` |217| Listas de permissões de restrição | Toma a lista inteira da fonte com classificação mais alta que a define, sem adicionar entradas de fontes mais baixas | `availableModels`, `allowedMcpServers`, `strictKnownMarketplaces`, `allowedChannelPlugins`, e a cadeia `fallbackModel` |

214| Valores tomados inteiros | Toma o valor inteiro da fonte de classificação mais alta que o define, sem combinar entradas ou campos de fontes inferiores | `sandbox.credentials.awsPairs`, `sandbox.ripgrep` |218| Valores tomados inteiros | Toma o valor inteiro da fonte com classificação mais alta que o define, sem combinar entradas ou campos de fontes mais baixas | `sandbox.credentials.awsPairs`, `sandbox.ripgrep` |

215| Servidores MCP fornecidos | Combina os nomes de servidor de cada fonte; quando duas fontes definem o mesmo nome, aplica a entrada inteira da fonte de classificação mais alta | `managedMcpServers` |219| Servidores MCP fornecidos | Combina os nomes de servidor de cada fonte; quando duas fontes definem o mesmo nome, aplica a entrada inteira da fonte com classificação mais alta | `managedMcpServers` |

216| Chaves lidas apenas da fonte de classificação mais alta | Ignora a chave em cada fonte inferior, mesmo quando a fonte de classificação mais alta a deixa indefinida | Auxiliares de credencial como `apiKeyHelper`, pins de login como `forceLoginOrgUUID`, `modelPicker`, `permissions.defaultMode` |220| Chaves lidas apenas da fonte com classificação mais alta | Ignora a chave em cada fonte mais baixa, mesmo quando a fonte com classificação mais alta a deixa indefinida | Auxiliares de credencial como `apiKeyHelper`, pins de login como `forceLoginOrgUUID`, `modelPicker`, `permissions.defaultMode` |

217| `env` | Mescla por variável em fontes de administrador sob qualquer configuração, como [Chaves lidas de cada fonte de administrador](#keys-read-from-every-admin-source) descreve | |221| `env` | Mescla por variável em fontes de administrador sob qualquer configuração, como [Chaves lidas de cada fonte de administrador](#keys-read-from-every-admin-source) descreve | |

218| Toda outra chave | Toma o valor da fonte de classificação mais alta que o define | `model`, `cleanupPeriodDays` |222| Qualquer outra chave | Toma o valor da fonte com classificação mais alta que o define | `model`, `cleanupPeriodDays` |

219 223 

220Para confirmar quais fontes se combinaram em uma máquina, [leia a linha `Setting sources` em `/status`](#read-the-source-in-/status); essa seção diz o que cada rótulo significa.224Para confirmar quais fontes se combinaram em uma máquina, [leia a linha `Setting sources` em `/status`](#read-the-source-in-/status); essa seção diz o que cada rótulo significa.

221 225 

222<h3 id="compute-the-policy-with-a-helper-program">226<h3 id="compute-the-policy-with-a-helper-program">

223 Calcular a política com um programa auxiliar227 Calcule a política com um programa auxiliar

224</h3>228</h3>

225 229 

226Um [`policyHelper`](/docs/pt/settings-reference#policyhelper) é um executável que sua política MDM ou arquivo de configurações gerenciadas nomeia, e Claude Code o executa para calcular configurações gerenciadas na inicialização. Quando a fonte selecionada configura um e o auxiliar emite um objeto `managedSettings`, essa saída muda o que Claude Code lê:230Um [`policyHelper`](/docs/pt/settings-reference#policyhelper) é um executável que sua política MDM ou arquivo de configurações gerenciadas nomeia, e Claude Code o executa para calcular configurações gerenciadas na inicialização. Quando a fonte selecionada configura um e o auxiliar emite um objeto `managedSettings`, essa saída muda o que Claude Code lê:

227 231 

228* **O objeto `managedSettings` emitido é a única configuração gerenciada para a sessão**, incluindo para as [chaves que de outra forma lê de cada fonte de administrador](#keys-read-from-every-admin-source), exceto por [`forceRemoteSettingsRefresh`, que tem sua própria regra de inicialização](/docs/pt/settings-reference#forceremotesettingsrefresh)232* **O objeto `managedSettings` emitido é a única configuração gerenciada para a sessão**, incluindo para as [chaves que de outra forma lê de cada fonte de administrador](#keys-read-from-every-admin-source), exceto por [`forceRemoteSettingsRefresh`, que tem sua própria regra de inicialização](/docs/pt/settings-reference#forceremotesettingsrefresh)

229 233 

230Para quais falhas de auxiliar, e o que Claude Code faz quando uma falha, consulte [Falhas de auxiliar](/docs/pt/settings-reference#helper-failures).234Para quais execuções de auxiliar falham, e o que Claude Code faz quando uma falha, veja [Falhas de auxiliar](/docs/pt/settings-reference#helper-failures).

231 235 

232<span id="parent-settings-from-embedding-hosts" />236<span id="parent-settings-from-embedding-hosts" />

233 237 


236<span id="merge-policy-from-an-embedding-host" />240<span id="merge-policy-from-an-embedding-host" />

237 241 

238<h3 id="let-an-embedding-host-add-policy">242<h3 id="let-an-embedding-host-add-policy">

239 Deixar um host de incorporação adicionar política243 Deixe um host de incorporação adicionar política

240</h3>244</h3>

241 245 

242Quando outro aplicativo inicia Claude Code, como Claude Desktop, uma extensão IDE ou um aplicativo Agent SDK, esse host pode passar suas próprias configurações gerenciadas através da opção SDK `managedSettings`. Claude Code chama essas configurações pai.246Quando outro aplicativo inicia Claude Code, como Claude Desktop, uma extensão IDE, ou um aplicativo Agent SDK, esse host pode passar suas próprias configurações gerenciadas através da opção SDK `managedSettings`. Claude Code chama essas configurações pai.

243 247 

244Por padrão, Claude Code ignora configurações pai sempre que uma fonte de administrador está presente: configurações gerenciadas pelo servidor, uma política MDM ou nível do SO, ou um arquivo de configurações gerenciadas.248Por padrão, Claude Code ignora configurações pai sempre que uma fonte de administrador está presente: configurações gerenciadas pelo servidor, uma política MDM ou de nível do SO, ou um arquivo de configurações gerenciadas.

245 249 

246Para ter Claude Code mesclar configurações pai junto com uma fonte de administrador, defina [`parentSettingsBehavior`](/docs/pt/settings-reference#parentsettingsbehavior) como `"merge"` na fonte gerenciada de prioridade mais alta; Claude Code lê a chave apenas dessa fonte.250Para ter Claude Code mesclar configurações pai junto com uma fonte de administrador, defina [`parentSettingsBehavior`](/docs/pt/settings-reference#parentsettingsbehavior) como `"merge"` na fonte gerenciada de prioridade mais alta; Claude Code lê a chave apenas dessa fonte.

247 251 

248Claude Code então mantém apenas os valores do host que restringem o que Claude pode fazer, com uma lacuna a saber: a menos que você também defina os locks `allowManaged*Only`, as regras de permissão de permissão do host e as listas de permissões de sandbox ainda se aplicam. Consulte [Restringir configurações pai](/docs/pt/claude-apps-gateway#restrict-parent-settings) para os locks.252Claude Code então mantém apenas os valores do host que restringem o que Claude pode fazer, com uma lacuna a saber: a menos que você também defina os bloqueios `allowManaged*Only`, as regras de permissão de permissão do host e listas de permissões de sandbox ainda se aplicam. Veja [Restrinja configurações pai](/docs/pt/claude-apps-gateway#restrict-parent-settings) para os bloqueios.

249 253 

250Um [`policyHelper`](/docs/pt/settings-reference#policyhelper) pode desativar a mesclagem pai independentemente dessa chave; sua entrada diz quando.254Um [`policyHelper`](/docs/pt/settings-reference#policyhelper) pode desativar a mesclagem pai independentemente dessa chave; sua entrada diz quando.

251 255 

252Claude Code também aplica essas verificações a valores fornecidos pelo pai por conta própria:256Claude Code também aplica essas verificações a valores fornecidos pelo pai por conta própria:

253 257 

254* Quando qualquer fonte de administrador define `allowManagedPermissionRulesOnly`, Claude Code descarta [regras de permissão de permissão fornecidas pelo pai](/docs/pt/claude-apps-gateway#restrict-parent-settings) e `additionalDirectories` conforme as lê, mesmo quando uma fonte de prioridade mais alta deixa a chave indefinida. O efeito da chave em suas próprias regras de permissão vem das configurações gerenciadas que Claude Code aplica, ou das configurações pai que você escolheu mesclar258* Quando qualquer fonte de administrador define `allowManagedPermissionRulesOnly`, Claude Code descarta [regras de permissão de permissão fornecidas pelo pai](/docs/pt/claude-apps-gateway#restrict-parent-settings) e `additionalDirectories` conforme as lê, mesmo quando uma fonte de prioridade mais alta deixa a chave indefinida. O efeito da chave em suas próprias regras de permissão vem das configurações gerenciadas que Claude Code aplica, ou de configurações pai que você escolheu mesclar

255* Claude Code aplica o valor `forceLoginOrgUUID` ou `allowedMcpServers` nas configurações gerenciadas que aplica e bloqueia um fornecido pelo pai. Fora do lock da lista de permissões MCP, um valor em uma fonte de administrador inferior que Claude Code não aplica nem se aplica nem bloqueia o do pai.259* Claude Code impõe o valor `forceLoginOrgUUID` ou `allowedMcpServers` nas configurações gerenciadas que aplica e bloqueia um fornecido pelo pai. Fora do bloqueio de lista de permissões MCP, um valor em uma fonte de administrador mais baixa que Claude Code não aplica nem se aplica nem bloqueia o do pai.

256 260 

257 No Claude Code v2.1.273 ou posterior, enquanto `allowManagedMcpServersOnly` está ativo, a lista `allowedMcpServers` da fonte de administrador de classificação mais alta que define uma se aplica e bloqueia a do pai, como uma [chave entre fontes](#keys-read-from-every-admin-source). A lista do pai se aplica apenas quando nenhuma fonte de administrador define uma. A entrada [`managedSourcesBehavior`](/docs/pt/settings-reference#managedsourcesbehavior) diz qual fonte fornece cada chave sob `"merge"`. Antes de v2.1.223, um valor em qualquer fonte de administrador bloqueava o do pai261 No Claude Code v2.1.273 ou posterior, enquanto `allowManagedMcpServersOnly` está ativo, a lista `allowedMcpServers` da fonte de administrador com classificação mais alta que define uma se aplica e bloqueia a do pai, como uma [chave entre fontes](#keys-read-from-every-admin-source). A lista do pai se aplica apenas quando nenhuma fonte de administrador define uma. A entrada [`managedSourcesBehavior`](/docs/pt/settings-reference#managedsourcesbehavior) diz qual fonte fornece cada chave sob `"merge"`. Antes de v2.1.223, um valor em qualquer fonte de administrador bloqueava a do pai

258* Para `availableModels`, Claude Code aplica o valor nas configurações gerenciadas que aplica e bloqueia uma lista fornecida pelo pai262* Para `availableModels`, Claude Code impõe o valor nas configurações gerenciadas que aplica e bloqueia uma lista fornecida pelo pai

259* Para `strictKnownMarketplaces`, Claude Code igualmente aplica a lista nas configurações gerenciadas que aplica e bloqueia uma fornecida pelo pai. A lista do pai se aplica apenas quando nenhuma fonte gerenciada aplicada define uma. Requer Claude Code v2.1.282 ou posterior263* Para `strictKnownMarketplaces`, Claude Code igualmente impõe a lista nas configurações gerenciadas que aplica e bloqueia uma fornecida pelo pai. A lista do pai se aplica apenas quando nenhuma fonte gerenciada aplicada define uma. Requer Claude Code v2.1.282 ou posterior

260* Um `blockedMarketplaces` fornecido pelo pai se aplica além de qualquer lista de bloqueio que uma fonte gerenciada define. Requer Claude Code v2.1.282 ou posterior264* Um `blockedMarketplaces` fornecido pelo pai se aplica além de qualquer lista de negação que uma fonte gerenciada define. Requer Claude Code v2.1.282 ou posterior

261 265 

262<h4 id="keep-cowork-folder-access-when-only-managed-rules-apply">266<h4 id="keep-cowork-folder-access-when-only-managed-rules-apply">

263 Manter o acesso à pasta Cowork quando apenas regras gerenciadas se aplicam267 Mantenha o acesso à pasta Cowork quando apenas regras gerenciadas se aplicam

264</h4>268</h4>

265 269 

266[Cowork](https://claude.com/docs/cowork/overview) no aplicativo Claude Desktop executa suas sessões em Claude Code e concede a cada sessão acesso a 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, portanto as gravações nessas pastas perdem sua pré-aprovação. Em uma sessão Cowork que pede antes de edições, Cowork não pode 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.270[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.

267 271 

268Para 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 inicial de cada usuário; substitua o caminho pelas pastas que seus usuários conectam:272Para 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 inicial de cada usuário; substitua o caminho pelas pastas que seus usuários conectam:

269 273 


278}282}

279```283```

280 284 

281Depois de implantar a política, Claude pode salvar arquivos sob essa pasta em uma nova sessão Cowork. [Regras Read e Edit](/docs/pt/permissions#read-and-edit) cobrem a sintaxe de caminho, incluindo a forma `//` para caminhos absolutos.285Depois de implantar a política, Claude pode salvar arquivos sob essa pasta em uma nova sessão Cowork. [Regras de leitura e edição](/docs/pt/permissions#read-and-edit) cobrem a sintaxe de caminho, incluindo a forma `//` para caminhos absolutos.

282 286 

283<h3 id="what-a-developer-can-change">287<h3 id="what-a-developer-can-change">

284 O que um desenvolvedor pode alterar288 O que um desenvolvedor pode mudar

285</h3>289</h3>

286 290 

287Os próprios arquivos de configurações de um desenvolvedor, valores `--settings` e arquivos de projeto nunca substituem um valor gerenciado; as [exceções](/docs/pt/settings#exceptions-to-managed-settings-precedence) apenas deixam um valor inferior mais restritivo contar. Estes casos ficam fora dessa regra:291Os próprios arquivos de configurações de um desenvolvedor, valores `--settings`, e arquivos de projeto nunca substituem um valor gerenciado; as [exceções](/docs/pt/settings#exceptions-to-managed-settings-precedence) apenas deixam um valor de nível mais baixo mais restritivo contar. Estes casos ficam fora dessa regra:

288 292 

289* **O modelo para uma sessão**: um `model` gerenciado é um padrão, não um lock. `--model` e `ANTHROPIC_MODEL` ainda escolhem o modelo para essa sessão, portanto implante [`availableModels`](/docs/pt/settings-reference#availablemodels) para restringir a escolha.293* **O modelo para uma sessão**: um `model` gerenciado é um padrão, não um bloqueio. `--model` e `ANTHROPIC_MODEL` ainda escolhem o modelo para essa sessão, então implante [`availableModels`](/docs/pt/settings-reference#availablemodels) para restringir a escolha.

290* **Direitos de administrador local**: um desenvolvedor que é um administrador na máquina pode editar a própria fonte gerenciada, é por isso que a ferramenta MDM pode reimplantar o perfil ou arquivo em um cronograma e por que a chave de registro HKLM e o domínio de preferências gerenciadas macOS existem.294* **Direitos de administrador local**: um desenvolvedor que é um administrador na máquina pode editar a própria fonte gerenciada, é por isso que a ferramenta MDM pode reimplantar o perfil ou arquivo em um cronograma e por que o registro HKLM e o domínio de preferências gerenciadas do macOS existem.

291* **O cache gerenciado pelo servidor**: as configurações gerenciadas pelo servidor vêm dos servidores da Anthropic, e uma edição no cache local [dura apenas até a próxima busca bem-sucedida](/docs/pt/server-managed-settings#security-considerations).295* **O cache gerenciado pelo servidor**: configurações gerenciadas pelo servidor vêm dos servidores da Anthropic, e uma edição no cache local [dura apenas até a próxima busca bem-sucedida](/docs/pt/server-managed-settings#security-considerations).

292* **Outras ferramentas**: as configurações gerenciadas vinculam apenas Claude Code. Um desenvolvedor que chama a API de outra ferramenta não está sob elas.296* **Outras ferramentas**: configurações gerenciadas vinculam apenas Claude Code. Um desenvolvedor que chama a API de outra ferramenta não está sob elas.

293 297 

294<span id="verify-enforcement" />298<span id="verify-enforcement" />

295 299 


332 Encontrar entradas que Claude Code descartou336 Encontrar entradas que Claude Code descartou

333</h3>337</h3>

334 338 

335Quando um arquivo de configurações gerenciadas, perfil MDM, valor de registro ou payload gerenciado pelo servidor falha na validação de esquema, Claude Code primeiro pula as entradas individuais que pode reparar, como uma regra de permissão inválida, com um aviso para cada uma, depois descarta qualquer chave de nível superior cujo valor ainda falha e continua aplicando cada chave válida restante.339Se seu arquivo de configurações gerenciadas, perfil MDM, valor de registro ou payload gerenciado pelo servidor falhar na validação de esquema, Claude Code primeiro pula as entradas individuais que pode reparar, como uma regra de permissão inválida, e avisa sobre cada uma. Claude Code então descarta qualquer valor que ainda falha, a menos que o valor pertença a uma das chaves que [falham fechadas](#keys-that-fail-closed) em vez disso.

336 340 

337Claude Code é mais rigoroso com o `managedSettings` que um [`policyHelper`](/docs/pt/settings-reference#policyhelper) emite: faz os mesmos reparos de entrada, mas qualquer violação de esquema que sobreviva falha a execução inteira do auxiliar, e na inicialização Claude Code recusa iniciar, o mesmo que para um auxiliar que sai com código diferente de zero.341Claude Code é mais rigoroso com o `managedSettings` que um [`policyHelper`](/docs/pt/settings-reference#policyhelper) emite: faz os mesmos reparos de entrada, mas qualquer violação de esquema que sobreviva falha a execução inteira do auxiliar, e na inicialização Claude Code recusa iniciar, o mesmo que para um auxiliar que sai com código diferente de zero.

338 342 


360 Chaves que falham fechadas364 Chaves que falham fechadas

361</h4>365</h4>

362 366 

363Algumas chaves de aplicação não são descartadas quando inválidas. Claude Code aplica um fallback mais restritivo até que o valor seja corrigido; a tabela mostra o que aplica para cada chave:367Quando uma fonte gerenciada define uma chave de nível superior que tem um único valor restritivo, como `allowManagedPermissionRulesOnly`, `disableAutoMode` ou `skipDangerousModePermissionPrompt`, para algo que Claude Code não consegue ler, a chave lê como esse valor até você corrigi-la. O relatório diz que a chave `was present but invalid` e nomeia o valor que Claude Code trata como. Para uma chave dentro de `sandbox`, consulte [Valores inválidos dentro de `sandbox`](#invalid-values-inside-sandbox).

368 

369Estes casos não falham fechados:

370 

371* Um `null` remove a chave.

372* Um `disableAllHooks` inválido, mesmo um booleano entre aspas, é descartado com um aviso, porque aplicar `true` também descarregaria os hooks que suas próprias configurações gerenciadas implantam.

373* Para cada outra chave booleana que a regra cobre, a string `"true"` ou `"false"` lê como esse booleano, com um aviso em `/status` pedindo que você remova as aspas.

374 

375Claude Code repara os blocos `permissions`, `autoMode`, `worktree` e `attribution` por campo em vez de descartá-los inteiros:

376 

377* Um lock dentro de um, como `permissions.disableBypassPermissionsMode`, lê como seu valor restritivo.

378* Um `permissions.defaultMode` inválido lê como `default`.

379* Enquanto uma lista `deny` ou `ask` em `permissions` não puder ser lida, Claude Code retém `allow` e `additionalDirectories`, portanto as concessões nunca se aplicam sem as restrições escritas ao lado delas. O relatório nomeia cada concessão retida e a lista que não pôde ser lida.

380* Em `autoMode`, uma lista `soft_deny` ou `hard_deny` que não puder ser lida, ou que perdeu uma entrada inválida, retém `allow` e `environment` da mesma forma.

381 

382A regra de falha fechada para chaves com um único valor restritivo e os reparos por campo requerem Claude Code v2.1.282 ou posterior.

383 

384Estas chaves têm seu próprio fallback:

364 385 

365| Campo | Comportamento quando presente mas inválido |386| Campo | Comportamento quando presente mas inválido |

366| :- | :- |387| :- | :- |


369| `httpHookAllowedEnvVars` | Claude Code aplica uma [lista de permissões](/docs/pt/settings-reference#httphookallowedenvvars) gerenciada vazia até que você corrija o valor, portanto uma variável de cabeçalho é interpolada apenas se outro arquivo de configurações a nomear. Se apenas uma entrada individual for inválida, Claude Code remove essa entrada e aplica o resto. |390| `httpHookAllowedEnvVars` | Claude Code aplica uma [lista de permissões](/docs/pt/settings-reference#httphookallowedenvvars) gerenciada vazia até que você corrija o valor, portanto uma variável de cabeçalho é interpolada apenas se outro arquivo de configurações a nomear. Se apenas uma entrada individual for inválida, Claude Code remove essa entrada e aplica o resto. |

370| `allowedChannelPlugins` | Claude Code aplica uma lista de permissões vazia até que você corrija o valor, portanto nenhum plugin de canal passado para `--channels` é admitido. Se apenas uma entrada individual for inválida, ele remove essa entrada e aplica o resto. |391| `allowedChannelPlugins` | Claude Code aplica uma lista de permissões vazia até que você corrija o valor, portanto nenhum plugin de canal passado para `--channels` é admitido. Se apenas uma entrada individual for inválida, ele remove essa entrada e aplica o resto. |

371| `strictKnownMarketplaces` | Aplicado como uma lista de permissões vazia até que o valor seja corrigido, portanto nenhuma [fonte de marketplace](/docs/pt/plugins/org#restrict-what-users-can-install) é admitida. Uma entrada individual que é inválida ou não pode ser aplicada, como um regex `hostPattern` que não compila, é removida e o subconjunto válido é aplicado. |392| `strictKnownMarketplaces` | Aplicado como uma lista de permissões vazia até que o valor seja corrigido, portanto nenhuma [fonte de marketplace](/docs/pt/plugins/org#restrict-what-users-can-install) é admitida. Uma entrada individual que é inválida ou não pode ser aplicada, como um regex `hostPattern` que não compila, é removida e o subconjunto válido é aplicado. |

372| `allowManagedHooksOnly` | Tratado como `true` até ser corrigido: as [restrições de hook](/docs/pt/settings-reference#allowmanagedhooksonly) se aplicam e, a menos que `disableCommandPluginSources` seja explicitamente `false`, plugins de origem de comando são desabilitados. |

373| `allowManagedMcpServersOnly` | Tratado como `true`. |

374| `disableCommandPluginSources` | Tratado como `true`, portanto plugins de origem de comando permanecem desabilitados até que o valor seja corrigido. |

375| `disableSideloadFlags` | Tratado como `true` até que o valor seja corrigido, com os efeitos listados para [`disableSideloadFlags`](/docs/pt/settings-reference#disablesideloadflags). |

376| `availableModels` | Aplicado como uma lista de permissões vazia até ser corrigido, portanto apenas o modelo Padrão está disponível; uma entrada não-string é removida e o subconjunto válido é aplicado. |393| `availableModels` | Aplicado como uma lista de permissões vazia até ser corrigido, portanto apenas o modelo Padrão está disponível; uma entrada não-string é removida e o subconjunto válido é aplicado. |

377| `enforceAvailableModels` | Tratado como `true`. |394| [`availableModelsMatch`](/docs/pt/settings-reference#availablemodelsmatch) | Tratado como `exact` até que o valor seja corrigido. |

378| `syncClaudeAiPlugins` | Tratado como `false`, portanto a sincronização de [plugins claude.ai](/docs/pt/settings-reference#syncclaudeaiplugins) está desativada até que o valor seja corrigido. |

379| `forceLoginOrgUUID` | Nenhuma organização é permitida fazer login até que o valor seja corrigido. |395| `forceLoginOrgUUID` | Nenhuma organização é permitida fazer login até que o valor seja corrigido. |

380| `gatewayInternalNetworks` | Quando o valor inválido vem da fonte gerenciada mais alta na máquina, `/login` recusa cada novo [gateway de nuvem](/docs/pt/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) login na máquina até que o valor seja corrigido. |396| `gatewayInternalNetworks` | Quando o valor inválido vem da fonte gerenciada mais alta na máquina, `/login` recusa cada novo [gateway de nuvem](/docs/pt/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) login na máquina até que o valor seja corrigido. |

381| `crossSessionInbound` | Tratado como `refuse`, o valor mais restritivo, portanto [mensagens entre sessões](/docs/pt/cross-session-messaging#control-inbound-messages) de entrada são recusadas até que o valor seja corrigido. O desenvolvedor vê [um aviso](/docs/pt/errors#crosssessioninbound-must-be-one-of-accept-hold-refuse). |397| `crossSessionInbound` | Tratado como `refuse`, o valor mais restritivo, portanto [mensagens entre sessões](/docs/pt/cross-session-messaging#control-inbound-messages) de entrada são recusadas até que o valor seja corrigido. O desenvolvedor vê [um aviso](/docs/pt/errors#crosssessioninbound-must-be-one-of-accept-hold-refuse). |

382| `deniedMcpServers` | Uma entrada individual inválida é removida e o subconjunto válido é aplicado. Um valor totalmente inválido é descartado com um aviso, já que negar cada servidor bloquearia servidores que a política nunca nomeou. |398| `deniedMcpServers` | Uma entrada individual inválida é removida e o subconjunto válido é aplicado. Um valor totalmente inválido é descartado com um aviso, já que negar cada servidor bloquearia servidores que a política nunca nomeou. |

399| [`deniedModels`](/docs/pt/settings-reference#deniedmodels) | Uma entrada não-string é removida e o resto da lista é aplicado. Um valor totalmente inválido é descartado com um aviso e bloqueia nenhum modelo até ser corrigido. |

383| `blockedMarketplaces` | Uma entrada individual inválida é removida e o subconjunto válido é aplicado. Uma entrada que analisa mas nunca pode corresponder, como um regex `hostPattern` que não compila, é mantida com um aviso. Ela bloqueia nada até ser corrigida, mas [restrições de marketplace](/docs/pt/plugins/org#restrict-what-users-can-install) permanecem ativas. Um valor totalmente inválido é descartado com um aviso, já que bloquear cada marketplace bloquearia fontes que a política nunca nomeou. |400| `blockedMarketplaces` | Uma entrada individual inválida é removida e o subconjunto válido é aplicado. Uma entrada que analisa mas nunca pode corresponder, como um regex `hostPattern` que não compila, é mantida com um aviso. Ela bloqueia nada até ser corrigida, mas [restrições de marketplace](/docs/pt/plugins/org#restrict-what-users-can-install) permanecem ativas. Um valor totalmente inválido é descartado com um aviso, já que bloquear cada marketplace bloquearia fontes que a política nunca nomeou. |

384| `sandbox.credentials` | Uma entrada inválida recuperável é degradada para `mode: "deny"` com um aviso; uma irrecuperável é removida; entradas válidas permanecem aplicadas. Consulte [entradas de credencial inválidas](/docs/pt/settings-reference#invalid-credential-entries-in-managed-settings) |401| `sandbox` | Quando um valor dentro do bloco é inválido, Claude Code não descarta o bloco inteiro. Para o que acontece com cada tipo de campo inválido, consulte [Valores inválidos dentro de `sandbox`](#invalid-values-inside-sandbox). |

402| `sandbox.credentials` | Uma entrada inválida recuperável é degradada para `mode: "deny"` com um aviso; uma irrecuperável é removida; entradas válidas permanecem aplicadas. Consulte [entradas de credencial inválidas](/docs/pt/settings-reference#invalid-credential-entries-in-managed-settings). |

403| `strictPluginOnlyCustomization` | Tratado como `true`, bloqueando todas as quatro superfícies, quando o valor não é nem um booleano nem um array. Uma entrada de array que esta versão não reconhece como uma superfície bloqueia nada; uma nota de status conta tais entradas para que você possa verificá-las quanto a erros de digitação. |

404| `enabledPlugins` | Uma entrada inválida é descartada com um aviso e as outras entradas permanecem aplicadas. Um valor que não é um mapa de IDs de plugin, ou cujas entradas são todas inválidas, é descartado inteiro com um aviso. |

385 405 

386`allowedHttpHookUrls` e `httpHookAllowedEnvVars` mesclam entre arquivos de configurações, portanto entradas em suas configurações de usuário, projeto ou local ainda se aplicam enquanto a lista gerenciada está vazia.406`allowedHttpHookUrls` e `httpHookAllowedEnvVars` mesclam entre arquivos de configurações, portanto entradas em suas configurações de usuário, projeto ou local ainda se aplicam enquanto a lista gerenciada está vazia.

387 407 

388Os fallbacks para essas duas chaves e para `allowedChannelPlugins` requerem Claude Code v2.1.267 ou posterior; versões anteriores descartam a chave inteira quando seu valor ou qualquer entrada é inválida. Os fallbacks para `strictKnownMarketplaces`, `blockedMarketplaces` e `disableSideloadFlags` requerem Claude Code v2.1.277 ou posterior; versões anteriores descartam a chave inteira quando seu valor ou qualquer entrada é inválida.408Os fallbacks para essas duas chaves e para `allowedChannelPlugins` requerem Claude Code v2.1.267 ou posterior; versões anteriores descartam a chave inteira quando seu valor ou qualquer entrada é inválida. Os fallbacks para `strictKnownMarketplaces` e `blockedMarketplaces` requerem Claude Code v2.1.277 ou posterior; versões anteriores descartam a chave inteira quando seu valor ou qualquer entrada é inválida. Os fallbacks para `strictPluginOnlyCustomization` e `enabledPlugins` requerem Claude Code v2.1.282 ou posterior.

389 409 

390`requiredMinimumVersion` e `requiredMaximumVersion` falham abertos por design: um valor inválido é descartado em vez de ser aplicado.410`requiredMinimumVersion` e `requiredMaximumVersion` falham abertos por design: um valor inválido é descartado em vez de ser aplicado.

391 411 

392Esta tolerância se aplica apenas a configurações gerenciadas. Arquivos de configurações de usuário, projeto e local permanecem rigorosos: um arquivo cuja JSON ou forma de nível superior falha na validação é rejeitado como um todo e relatado, e uma entrada individual que falha, como uma regra de permissão malformada, é pulada com um aviso enquanto o resto do arquivo se aplica.412Esta tolerância se aplica apenas a configurações gerenciadas. Arquivos de configurações de usuário, projeto e local permanecem rigorosos: um arquivo cuja JSON ou forma de nível superior falha na validação é rejeitado como um todo e relatado, e uma entrada individual que falha, como uma regra de permissão malformada, é pulada com um aviso enquanto o resto do arquivo se aplica.

393 413 

414<h4 id="invalid-values-inside-sandbox">

415 Valores inválidos dentro de `sandbox`

416</h4>

417 

418Quando um valor em seu bloco `sandbox` gerenciado é inválido, Claude Code não descarta o bloco inteiro, porque valida cada campo por conta própria. Este tratamento por campo requer Claude Code v2.1.283 ou posterior. Em versões anteriores a v2.1.283, Claude Code descarta cada campo `sandbox` exceto [`credentials`](/docs/pt/settings-reference#invalid-credential-entries-in-managed-settings) quando um valor fora de `credentials` é inválido.

419 

420O aviso que você recebe para um campo inválido nomeia o campo e diz o que acontece com ele. O que acontece depende do que o campo controla:

421 

422* Se você definir uma chave booleana para uma `"true"` ou `"false"` entre aspas, o valor conta como esse booleano. Em vez de um aviso, `/status` mostra um aviso pedindo que você remova as aspas.

423* Se `failIfUnavailable` for inválido, Claude Code descarta o valor em vez de tratá-lo como `true`, portanto um valor ilegível nunca interrompe sessões de inicialização em toda sua frota.

424* Claude Code trata cada outro booleano inválido como o valor que mantém o sandbox mais rigoroso até você corrigi-lo. Uma chave que ativa o sandbox ou uma de suas restrições, como `enabled` ou `network.allowManagedDomainsOnly`, conta como `true`. Uma chave que o afrouxe, como `allowUnsandboxedCommands`, conta como `false`.

425* Em uma lista fora de `credentials`, como `excludedCommands` ou `network.allowedDomains`, Claude Code descarta uma entrada inválida e mantém o resto da lista. Uma lista que não é um array, ou que não tem entrada válida, não se aplica.

426* Enquanto `network.deniedDomains` ou qualquer entrada nela for inválida, Claude Code também retém `network.allowedDomains`, portanto a lista de permissões gerenciada não concede nada até você corrigir a lista de negação.

427* Enquanto `filesystem.denyRead`, `filesystem.denyWrite` ou qualquer entrada em qualquer uma delas for inválida, Claude Code também retém `filesystem.allowRead` e `filesystem.allowWrite` até você corrigir a lista de negação.

428 

394<span id="managed-only-settings" />429<span id="managed-only-settings" />

395 430 

396<h2 id="keys-only-a-managed-source-can-set">431<h2 id="keys-only-a-managed-source-can-set">


401 436 

402A maioria delas são bloqueios: o valor que um bloqueio governa, como regras de permissão ou `sandbox.network.allowedDomains`, é uma chave ordinária que qualquer nível pode definir, e o bloqueio diz ao Claude Code para honrar apenas o valor gerenciado.437A maioria delas são bloqueios: o valor que um bloqueio governa, como regras de permissão ou `sandbox.network.allowedDomains`, é uma chave ordinária que qualquer nível pode definir, e o bloqueio diz ao Claude Code para honrar apenas o valor gerenciado.

403 438 

404A tabela cobre os controles de permissão, plugin e entrega. Para qualquer chave não listada aqui, a coluna Escopo da [referência de configurações](/docs/pt/settings-reference#all-settings) diz se é apenas gerenciada; as chaves apenas gerenciadas restantes lá incluem a URL de login do gateway, versão, navegador, simulador móvel, host SSH, sessão local do Desktop, caminho binário da sandbox, preço do modelo e controles CLAUDE.md.439A tabela cobre os controles de permissão, plugin e entrega. Para qualquer chave não listada aqui, a coluna Escopo da [referência de configurações](/docs/pt/settings-reference#all-settings) diz se é apenas gerenciada; as chaves apenas gerenciadas restantes lá incluem a URL de login do gateway, versão, navegador, simulador móvel, host SSH, sessão local do Desktop, caminho binário da sandbox, preço do modelo, restrição de modelo e controles CLAUDE.md.

405 440 

406| Configuração | Descrição |441| Configuração | Descrição |

407| :- | :- |442| :- | :- |


425| [`sandbox.network.allowManagedDomainsOnly`](/docs/pt/settings-reference#sandbox-network-allowmanageddomainsonly) | Honre apenas regras de permissão `allowedDomains` e `WebFetch(domain:...)` gerenciadas; bloqueie outros domínios sem solicitar |460| [`sandbox.network.allowManagedDomainsOnly`](/docs/pt/settings-reference#sandbox-network-allowmanageddomainsonly) | Honre apenas regras de permissão `allowedDomains` e `WebFetch(domain:...)` gerenciadas; bloqueie outros domínios sem solicitar |

426| [`strictKnownMarketplaces`](/docs/pt/settings-reference#strictknownmarketplaces) | Controla de quais fontes de marketplace de plugins os usuários podem adicionar e instalar plugins. Veja [restrições de marketplace gerenciadas](/docs/pt/plugins/org#restrict-what-users-can-install) |461| [`strictKnownMarketplaces`](/docs/pt/settings-reference#strictknownmarketplaces) | Controla de quais fontes de marketplace de plugins os usuários podem adicionar e instalar plugins. Veja [restrições de marketplace gerenciadas](/docs/pt/plugins/org#restrict-what-users-can-install) |

427| [`strictPluginOnlyCustomization`](/docs/pt/settings-reference#strictpluginonlycustomization) | Bloqueie skills, agentes, hooks e servidores MCP de fontes de usuário e projeto; `true` bloqueia todos os quatro, uma matriz nomeia qual |462| [`strictPluginOnlyCustomization`](/docs/pt/settings-reference#strictpluginonlycustomization) | Bloqueie skills, agentes, hooks e servidores MCP de fontes de usuário e projeto; `true` bloqueia todos os quatro, uma matriz nomeia qual |

428| [`wslInheritsWindowsSettings`](/docs/pt/settings-reference#wslinheritswindowssettings) | Quando definido no registro HKLM ou em um arquivo sob `C:\Program Files\ClaudeCode`, faça o WSL ler a cadeia de política do Windows e ler `/etc/claude-code` apenas quando nenhum arquivo de configurações gerenciadas ou drop-in sob esse diretório entregar uma [chave de política](#how-claude-code-combines-managed-sources); a entrada fornece a ordem |463| [`wslInheritsWindowsSettings`](/docs/pt/settings-reference#wslinheritswindowssettings) | Quando definido no registro HKLM ou em um arquivo sob `C:\Program Files\ClaudeCode`, faça o WSL ler a cadeia de política do Windows e ler `/etc/claude-code` apenas quando [nenhum documento de administrador do Windows está presente](#present-admin-documents); a entrada fornece a ordem |

429 464 

430<Note>465<Note>

431 Nos planos Team e Enterprise, um Proprietário ativa ou desativa [Controle Remoto](/docs/pt/remote-control) e [sessões web](/docs/pt/claude-code-on-the-web) em toda a organização nas [configurações de administrador do Claude Code](https://claude.ai/admin-settings/claude-code). O Controle Remoto pode ser desativado adicionalmente por dispositivo com a configuração [`disableRemoteControl`](/docs/pt/settings-reference#disableremotecontrol). As sessões web não têm chave de configurações gerenciadas por dispositivo.466 Nos planos Team e Enterprise, um Proprietário ativa ou desativa [Controle Remoto](/docs/pt/remote-control) e [sessões na nuvem](/docs/pt/claude-code-on-the-web) em toda a organização nas [configurações de administrador do Claude Code](https://claude.ai/admin-settings/claude-code). O Controle Remoto pode ser desativado adicionalmente por dispositivo com a configuração [`disableRemoteControl`](/docs/pt/settings-reference#disableremotecontrol). As sessões na nuvem não têm chave de configurações gerenciadas por dispositivo.

432 467 

433 Para verificar se essas configurações de organização chegaram a uma determinada máquina, execute `claude doctor` lá e leia a linha `Organization policy`, que diz onde Claude Code carregou a política ou por que não carregou. Requer Claude Code v2.1.261 ou posterior. Em uma sessão em execução, `/status` mostra a mesma linha quando a política não foi carregada.468 Para verificar se essas configurações de organização chegaram a uma determinada máquina, execute `claude doctor` lá e leia a linha `Organization policy`, que diz onde Claude Code carregou a política ou por que não carregou. Requer Claude Code v2.1.261 ou posterior. Em uma sessão em execução, `/status` mostra a mesma linha quando a política não foi carregada.

434</Note>469</Note>


449 484 

450Claude Code aplica um valor de `1` sem mostrar ao usuário o [diálogo de aprovação](/docs/pt/server-managed-settings#environment-variables-and-the-approval-dialog).485Claude Code aplica um valor de `1` sem mostrar ao usuário o [diálogo de aprovação](/docs/pt/server-managed-settings#environment-variables-and-the-approval-dialog).

451 486 

452Se você desativar a telemetria, Claude Code para de enviar os dados de uso que alimentam o [painel de análise](/docs/pt/analytics) de sua organização para os desenvolvedores que a política alcança. A variável também desativa a busca de sinalizadores de recurso, o que torna Remote Control, modo automático padrão e os outros [recursos que precisam de busca de sinalizadores de recurso](/docs/pt/env-vars#features-that-need-feature-flag-fetching) indisponíveis para esses desenvolvedores.487Se você desativar a telemetria, Claude Code para de enviar os dados de uso que alimentam o [painel de análise](/docs/pt/analytics) de sua organização para os desenvolvedores que a política alcança. A variável também desativa a [busca de sinalizadores de recurso](/docs/pt/env-vars#features-that-need-feature-flag-fetching) para esses desenvolvedores. Para Remote Control, consulte os [requisitos do Remote Control](/docs/pt/remote-control#requirements).

453 488 

454[Onde e quando uma política se aplica](#where-and-when-a-policy-applies) diz qual mecanismo de entrega alcança cada superfície, e [Disponibilidade de plataforma](/docs/pt/server-managed-settings#platform-availability) diz quais sessões pulam a busca de configurações gerenciadas pelo servidor.489[Onde e quando uma política se aplica](#where-and-when-a-policy-applies) diz qual mecanismo de entrega alcança cada superfície, e [Disponibilidade de plataforma](/docs/pt/server-managed-settings#platform-availability) diz quais sessões pulam a busca de configurações gerenciadas pelo servidor.

455 490 

mcp.md +28 −11

Details

92 92 

93Uma entrada JSON que tem uma `url` mas nenhum `type` é um erro de configuração, porque Claude Code lê uma entrada sem `type` como um servidor stdio. Claude Code pula esse servidor e relata `MCP server "<name>" has a "url" but no "type"; add "type": "http" (or "sse" / "ws") to this entry`. Antes da v2.1.202, Claude Code relatava essa configuração incorreta como `command: expected string, received undefined`.93Uma entrada JSON que tem uma `url` mas nenhum `type` é um erro de configuração, porque Claude Code lê uma entrada sem `type` como um servidor stdio. Claude Code pula esse servidor e relata `MCP server "<name>" has a "url" but no "type"; add "type": "http" (or "sse" / "ws") to this entry`. Antes da v2.1.202, Claude Code relatava essa configuração incorreta como `command: expected string, received undefined`.

94 94 

95Apenas um aplicativo host SDK, como um aplicativo [Agent SDK](/docs/pt/agent-sdk/mcp) ou o [aplicativo de desktop](/docs/pt/desktop), pode registrar um servidor `"type": "sdk"` em processo. Claude Code pula uma entrada `"type": "sdk"` em `.mcp.json`, `~/.claude.json`, ou configurações e relata `Skipped — MCP server "<name>" declares type "sdk", which only an SDK host application can register`.

96 

95Em execuções `--output-format stream-json`, Claude Code também relata uma entrada `--mcp-config` pulada no campo [`mcp_server_errors` do evento `system/init`](/docs/pt/headless#stream-responses), para que scripts possam detectar que o servidor nunca foi carregado. Isso requer Claude Code v2.1.219 ou posterior.97Em execuções `--output-format stream-json`, Claude Code também relata uma entrada `--mcp-config` pulada no campo [`mcp_server_errors` do evento `system/init`](/docs/pt/headless#stream-responses), para que scripts possam detectar que o servidor nunca foi carregado. Isso requer Claude Code v2.1.219 ou posterior.

96 98 

97<h3 id="option-2-add-a-remote-sse-server">99<h3 id="option-2-add-a-remote-sse-server">


297 299 

298O cache de descoberta está desativado por padrão a menos que um lançamento gradual o tenha ativado para sua conta. Defina [`MCP_DISCOVERY_CACHE=1`](/docs/pt/env-vars) para ativá-lo, ou `0` para mantê-lo desativado mesmo quando o lançamento o tiver ativado. Antes da v2.1.238, o cache estava ativado por padrão.300O cache de descoberta está desativado por padrão a menos que um lançamento gradual o tenha ativado para sua conta. Defina [`MCP_DISCOVERY_CACHE=1`](/docs/pt/env-vars) para ativá-lo, ou `0` para mantê-lo desativado mesmo quando o lançamento o tiver ativado. Antes da v2.1.238, o cache estava ativado por padrão.

299 301 

300Duas ações no menu de um servidor em `/mcp` também afetam a entrada de cache desse servidor:302Quando você seleciona **Disable** ou **Clear authentication** no menu de um servidor em `/mcp`, Claude Code também descarta a entrada de cache desse servidor. **Reconnect** também a descarta em um servidor conectado ou com falha; em um servidor `cached`, **Reconnect** conecta o servidor agora e mantém a entrada. Na próxima vez que Claude Code se conectar ao servidor após descartar a entrada, ele busca a lista de ferramentas do servidor em vez de do cache.

301 

302* **Reconnect**: em um servidor `cached`, Claude Code o conecta agora em vez de em sua primeira chamada de ferramenta e mantém a entrada. Em um servidor conectado ou com falha, Claude Code o reconecta e também descarta a entrada.

303* **Clear authentication**: Claude Code revoga a autenticação do servidor e também descarta a entrada.

304 

305Após descartar a entrada, Claude Code busca a lista de ferramentas do servidor do servidor em vez de do cache.

306 303 

307Quando o status de um servidor é `✘ Failed to connect`, `claude mcp list` acrescenta o detalhe da falha a essa linha de status, e `claude mcp get <name>` o mostra em uma linha `Issue:`: o status HTTP ou código de erro, mais qualquer texto de erro que o servidor retornou. A visualização de detalhe do servidor em `/mcp` inclui o mesmo texto relatado pelo servidor em sua linha `Issue:`. Claude Code redige texto semelhante a credenciais deste detalhe e nunca inclui a URL do servidor expandida, que pode carregar segredos. Claude Code não acrescenta detalhe a um status `✘ Connection error`, porque o texto de exceção que imprimiria lá pode incorporar essa URL. Antes da v2.1.219, ambos os comandos mostravam apenas o status de falha simples, sem o código de status ou o texto de erro do servidor.304Quando o status de um servidor é `✘ Failed to connect`, `claude mcp list` acrescenta o detalhe da falha a essa linha de status, e `claude mcp get <name>` o mostra em uma linha `Issue:`: o status HTTP ou código de erro, mais qualquer texto de erro que o servidor retornou. A visualização de detalhe do servidor em `/mcp` inclui o mesmo texto relatado pelo servidor em sua linha `Issue:`. Claude Code redige texto semelhante a credenciais deste detalhe e nunca inclui a URL do servidor expandida, que pode carregar segredos. Claude Code não acrescenta detalhe a um status `✘ Connection error`, porque o texto de exceção que imprimiria lá pode incorporar essa URL. Antes da v2.1.219, ambos os comandos mostravam apenas o status de falha simples, sem o código de status ou o texto de erro do servidor.

308 305 


6694. [Servidores fornecidos por plugins](/docs/pt/plugins/components#mcp-servers)6664. [Servidores fornecidos por plugins](/docs/pt/plugins/components#mcp-servers)

6705. [Conectores claude.ai](#use-mcp-servers-from-claude-ai)6675. [Conectores claude.ai](#use-mcp-servers-from-claude-ai)

671 668 

672Os três escopos correspondem duplicatas por nome. Plugins e conectores correspondem por endpoint, então um que aponta para a mesma URL ou comando que um servidor acima é tratado como uma duplicata.669Claude Code corresponde duplicatas nos três escopos por nome. Ele corresponde plugins e conectores por endpoint, então um que aponta para a mesma URL ou comando que um servidor acima é tratado como uma duplicata.

670 

671Duas grafias de URL contam como o mesmo endpoint quando diferem apenas na letra maiúscula do esquema ou host, a porta padrão do esquema, como `:443` em `https`, ou uma barra final. Um caminho diferente, string de consulta, userinfo ou porta não padrão torna dois servidores diferentes.

673 672 

674Um servidor que sua organização fornece através da configuração gerenciada [`managedMcpServers`](/docs/pt/managed-mcp#provide-servers-through-managed-settings) classifica-se acima de todos esses, então quando um deles o duplica, Claude Code conecta a definição da organização. Requer Claude Code v2.1.259 ou posterior.673Um servidor que sua organização fornece através da configuração gerenciada [`managedMcpServers`](/docs/pt/managed-mcp#provide-servers-through-managed-settings) classifica-se acima de todos esses, então quando um deles o duplica, Claude Code conecta a definição da organização. Requer Claude Code v2.1.259 ou posterior.

675 674 


915 <Step title="Registre um aplicativo OAuth com o servidor">914 <Step title="Registre um aplicativo OAuth com o servidor">

916 Crie um aplicativo através do portal do desenvolvedor do servidor e anote seu ID do cliente e segredo do cliente.915 Crie um aplicativo através do portal do desenvolvedor do servidor e anote seu ID do cliente e segredo do cliente.

917 916 

918 Muitos servidores também exigem um URI de redirecionamento. Se assim for, escolha uma porta e registre um URI de redirecionamento no formato `http://localhost:PORT/callback`. Use essa mesma porta com `--callback-port` na próxima etapa.917 Se o formulário de registro pedir um URI de redirecionamento, escolha uma porta disponível e insira `http://localhost:PORT/callback` com essa porta. Você usará a mesma porta na próxima etapa.

919 918 

920 Na v2.1.229, Claude Code enviava `http://127.0.0.1:PORT/callback` em vez disso, e servidores que correspondiam exatamente ao URI de redirecionamento registrado rejeitavam o login com uma incompatibilidade de URI de redirecionamento. Claude Code v2.1.231 restaurou a forma `localhost`. Para recuperar na v2.1.229, atualize Claude Code, ou adicione temporariamente a forma `http://127.0.0.1:PORT/callback` aos URIs de redirecionamento registrados do servidor.919 Na v2.1.229, Claude Code enviava `http://127.0.0.1:PORT/callback` em vez disso, e servidores que correspondiam exatamente ao URI de redirecionamento registrado rejeitavam o login com uma incompatibilidade de URI de redirecionamento. Claude Code v2.1.231 restaurou a forma `localhost`. Para recuperar na v2.1.229, atualize Claude Code, ou adicione temporariamente a forma `http://127.0.0.1:PORT/callback` aos URIs de redirecionamento registrados do servidor.

921 </Step>920 </Step>

922 921 

923 <Step title="Adicione o servidor com suas credenciais">922 <Step title="Adicione o servidor com suas credenciais">

924 Escolha um dos seguintes métodos. A porta usada para `--callback-port` pode ser qualquer porta disponível. Ela apenas precisa corresponder ao URI de redirecionamento que você registrou na etapa anterior.923 As abas cobrem ambos os comandos: `claude mcp add` leva seu ID do cliente e porta de callback como flags, e `claude mcp add-json` os leva em um objeto `oauth`. Se você registrou um URI de redirecionamento, defina a porta de callback para a porta nesse URI.

925 924 

926 <Tabs>925 <Tabs>

927 <Tab title="claude mcp add">926 <Tab title="claude mcp add">


945 </Tab>944 </Tab>

946 945 

947 <Tab title="claude mcp add-json (apenas porta de callback)">946 <Tab title="claude mcp add-json (apenas porta de callback)">

948 Use `--callback-port` sem um ID de cliente para fixar a porta enquanto usa registro dinâmico de cliente:947 Para fixar apenas a porta de callback e deixar Claude Code registrar o cliente automaticamente, defina `callbackPort` sozinho:

949 948 

950 ```bash theme={null}949 ```bash theme={null}

951 claude mcp add-json my-server \950 claude mcp add-json my-server \


1235 </Step>1234 </Step>

1236</Steps>1235</Steps>

1237 1236 

1237O Anthropic também fornece alguns conectores por si só, sem você ou um administrador adicioná-los. Em contas onde [Claude Docs](/docs/pt/artifacts#write-a-document-with-claude-docs) está disponível, `/mcp` lista `claude.ai Claude Docs` sem configuração, e Claude o usa quando você pede um documento destinado a outras pessoas. Para desativá-lo, adicione uma entrada `serverName` de `"claude.ai Claude Docs"` a `deniedMcpServers` ou use o toggle `/mcp`, ambos descritos em [Desabilitar conectores claude.ai](#disable-claude-ai-connectors).

1238 

1238O Claude Code marca um conector como `managed` em `/mcp` e no gerenciador [`/plugin`](/docs/pt/plugins/install) quando sua organização gerencia sua autenticação no claude.ai. O status de gerenciado não altera como o Claude Code se conecta ao conector ou aplica os [controles de ferramentas](#organization-controls-on-connector-tools) da sua organização.1239O Claude Code marca um conector como `managed` em `/mcp` e no gerenciador [`/plugin`](/docs/pt/plugins/install) quando sua organização gerencia sua autenticação no claude.ai. O status de gerenciado não altera como o Claude Code se conecta ao conector ou aplica os [controles de ferramentas](#organization-controls-on-connector-tools) da sua organização.

1239 1240 

1240Os conectores aos quais você nunca fez login estão recolhidos atrás de uma linha `Show unused connectors` no final da seção claude.ai, para que uma lista provisionada pela organização não preencha o painel. Selecione a linha para expandi-los. Um conector ao qual você fez login antes permanece visível mesmo quando atualmente precisa de reautenticação.1241Os conectores aos quais você nunca fez login estão recolhidos atrás de uma linha `Show unused connectors` no final da seção claude.ai, para que uma lista provisionada pela organização não preencha o painel. Selecione a linha para expandi-los. Um conector ao qual você fez login antes permanece visível mesmo quando atualmente precisa de reautenticação.


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

1417</Warning>1418</Warning>

1418 1419 

1420<h3 id="images-in-tool-results">

1421 Imagens em resultados de ferramentas

1422</h3>

1423 

1424Quando uma ferramenta do MCP retorna uma imagem PNG, JPEG, GIF ou WebP, Claude vê a imagem inline na conversa. A cópia inline pode ser redimensionada ou comprimida para se adequar aos limites de tamanho de imagem do modelo. Claude Code também salva os bytes originais em um arquivo no diretório `tool-results` da sessão em [`~/.claude/projects/`](/docs/pt/claude-directory#cleaned-up-automatically) e fornece o caminho a Claude. Claude pode então cortar, converter ou reutilizar o arquivo em resolução completa com ferramentas como Bash.

1425 

1426Se você desabilitar a persistência de sessão com [`--no-session-persistence`](/docs/pt/cli-reference#cli-flags) ou [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/docs/pt/env-vars), Claude Code não escreve nenhum arquivo de imagem e Claude recebe apenas a cópia inline.

1427 

1428Salvar resultados de imagem do MCP em um arquivo requer Claude Code v2.1.283 ou posterior.

1429 

1419<h2 id="tool-input-schemas-with-a-root-level-combinator">1430<h2 id="tool-input-schemas-with-a-root-level-combinator">

1420 Esquemas de entrada de ferramentas com um combinador no nível raiz1431 Esquemas de entrada de ferramentas com um combinador no nível raiz

1421</h2>1432</h2>


1487Os servidores podem solicitar entrada de duas maneiras:1498Os servidores podem solicitar entrada de duas maneiras:

1488 1499 

1489* **Modo de formulário**: Claude Code mostra um diálogo com campos de formulário definidos pelo servidor (por exemplo, um prompt de nome de usuário e senha). Preencha os campos e envie.1500* **Modo de formulário**: Claude Code mostra um diálogo com campos de formulário definidos pelo servidor (por exemplo, um prompt de nome de usuário e senha). Preencha os campos e envie.

1490* **Modo de URL**: Claude Code abre uma URL do navegador para autenticação ou aprovação. Conclua o fluxo no navegador e confirme na CLI.1501* **Modo de URL**: Claude Code pergunta se você deseja abrir um link no seu navegador e o abre quando você aceita. Os servidores usam este modo para um fluxo que é concluído fora do terminal, como entrada.

1491 1502 

1492No modo de URL, Claude Code passa a URL como um argumento de linha de comando para o manipulador de URL do seu sistema e limita o tamanho desse argumento. Quando a URL, uma vez escapada para a linha de comando, ultrapassa esse limite, você só pode recusar a solicitação. Cada caractere que precisa ser escapado, como `%` ou `&`, conta quatro vezes em relação ao limite: seu próprio caractere mais três caracteres de escape. Uma URL sem nenhum deles atinge o limite em aproximadamente 8.000 caracteres. Uma URL construída principalmente com percent-escapes, onde cada terceiro caractere é um `%`, atinge em aproximadamente 4.000.1503No modo de URL, Claude Code passa a URL como um argumento de linha de comando para o manipulador de URL do seu sistema e limita o tamanho desse argumento. Quando a URL, uma vez escapada para a linha de comando, ultrapassa esse limite, você só pode recusar a solicitação. Cada caractere que precisa ser escapado, como `%` ou `&`, conta quatro vezes em relação ao limite: seu próprio caractere mais três caracteres de escape. Uma URL sem nenhum deles atinge o limite em aproximadamente 8.000 caracteres. Uma URL construída principalmente com percent-escapes, onde cada terceiro caractere é um `%`, atinge em aproximadamente 4.000.

1493 1504 


1495 1506 

1496Se você está construindo um servidor MCP que usa elicitação, consulte a [especificação de elicitação MCP](https://modelcontextprotocol.io/docs/learn/client-concepts#elicitation) para detalhes do protocolo e exemplos de esquema.1507Se você está construindo um servidor MCP que usa elicitação, consulte a [especificação de elicitação MCP](https://modelcontextprotocol.io/docs/learn/client-concepts#elicitation) para detalhes do protocolo e exemplos de esquema.

1497 1508 

1509Em conexões que usam [revisão de protocolo 2026-07-28](#mcp-client-runtimes), Claude Code declara `elicitation: {form: {}, url: {}}` em suas capacidades de cliente, portanto um servidor lá pode solicitar qualquer modo através da solicitação de elicitação padrão do protocolo.

1510 

1498<h2 id="use-mcp-resources">1511<h2 id="use-mcp-resources">

1499 Usar recursos MCP1512 Usar recursos MCP

1500</h2>1513</h2>


1540 * Os recursos podem conter qualquer tipo de conteúdo que o servidor MCP fornece (texto, JSON, dados estruturados, etc.)1553 * Os recursos podem conter qualquer tipo de conteúdo que o servidor MCP fornece (texto, JSON, dados estruturados, etc.)

1541</Tip>1554</Tip>

1542 1555 

1556Os recursos da UI do MCP Apps são entradas com um URI `ui://` ou o tipo de mídia `text/html;profile=mcp-app`: páginas para um aplicativo host renderizar em vez de conteúdo para Claude ler. Eles não aparecem nas sugestões `@` ou nos resultados da ferramenta de lista de recursos, e um servidor que oferece apenas recursos de UI mostra uma lista de recursos vazia. Ler um recurso de UI pelo seu URI ainda funciona.

1557 

1543<h2 id="scale-with-mcp-tool-search">1558<h2 id="scale-with-mcp-tool-search">

1544 Escalar com busca de ferramentas MCP1559 Escalar com busca de ferramentas MCP

1545</h2>1560</h2>


1643 1658 

1644MCP servers can expose prompts that become available as commands in Claude Code.1659MCP servers can expose prompts that become available as commands in Claude Code.

1645 1660 

1661Prompts from a server named `anthropic-skills` don't appear, because Claude Code [reserves that name](/docs/pt/skills#names-reserved-for-synced-skills) for skills synced from claude.ai. The server's tools still work. Rename the server in your MCP configuration to list its prompts.

1662 

1646<h3 id="execute-mcp-prompts">1663<h3 id="execute-mcp-prompts">

1647 Execute MCP prompts1664 Execute MCP prompts

1648</h3>1665</h3>

memory.md +9 −0

Details

103 103 

104**Consistência**: se duas regras se contradizem, Claude pode escolher uma arbitrariamente. Revise seus arquivos CLAUDE.md, arquivos CLAUDE.md aninhados em subdiretórios e [`.claude/rules/`](#organize-rules-with-claude/rules/) periodicamente para remover instruções desatualizadas ou conflitantes. Em monorepos, use [`claudeMdExcludes`](#exclude-specific-claude-md-files) para pular arquivos CLAUDE.md de outras equipes que não são relevantes para seu trabalho.104**Consistência**: se duas regras se contradizem, Claude pode escolher uma arbitrariamente. Revise seus arquivos CLAUDE.md, arquivos CLAUDE.md aninhados em subdiretórios e [`.claude/rules/`](#organize-rules-with-claude/rules/) periodicamente para remover instruções desatualizadas ou conflitantes. Em monorepos, use [`claudeMdExcludes`](#exclude-specific-claude-md-files) para pular arquivos CLAUDE.md de outras equipes que não são relevantes para seu trabalho.

105 105 

106Para fazer com que Claude verifique esses arquivos em busca de instruções desatualizadas ou conflitantes, execute `/doctor prompt-audit` em uma sessão. Claude lê seus arquivos CLAUDE.md, CLAUDE.local.md e AGENTS.md, além das regras, skills, comandos, subagentes e estilos de saída sob `.claude/` e `~/.claude/`. Ele procura por problemas como instruções escritas para modelos mais antigos, referências a arquivos ou comandos que não existem e arquivos que se contradizem. Você recebe um relatório de descobertas e um conjunto de edições propostas, e nada em seus arquivos muda até que você peça ao Claude para aplicá-las.

107 

108Para auditar um arquivo ou diretório em vez disso, passe seu caminho, por exemplo `/doctor prompt-audit .claude/skills/deploy`. A auditoria é executada através da skill `/claude-api` agrupada, portanto não está disponível enquanto essa skill está desativada em [`skillOverrides`](/docs/pt/skills#override-skill-visibility-from-settings) ou com [`disableBundledSkills`](/docs/pt/settings-reference#disablebundledskills). `/doctor prompt-audit` requer Claude Code v2.1.283 ou posterior.

109 

106<h3 id="import-additional-files">110<h3 id="import-additional-files">

107 Importe arquivos adicionais111 Importe arquivos adicionais

108</h3>112</h3>


273ln -s ~/company-standards/security.md .claude/rules/security.md277ln -s ~/company-standards/security.md .claude/rules/security.md

274```278```

275 279 

280Se você apontar um symlink `.claude/rules/` ou `CLAUDE.md` para um caminho de rede como o compartilhamento UNC `\\server\share` ou um caminho sob `/net` ou `/Network`, as instruções vinculadas não carregam. Claude Code não segue o link, porque procurar tal caminho pode entrar em contato com o host que ele nomeia. Os caminhos `\\wsl$` não contam como caminhos de rede.

281 

276<h4 id="user-level-rules">282<h4 id="user-level-rules">

277 Regras em nível de usuário283 Regras em nível de usuário

278</h4>284</h4>


620* Verifique se o CLAUDE.md relevante está em um local que é carregado para sua sessão (veja [Escolha onde colocar arquivos CLAUDE.md](#choose-where-to-put-claude-md-files)).626* Verifique se o CLAUDE.md relevante está em um local que é carregado para sua sessão (veja [Escolha onde colocar arquivos CLAUDE.md](#choose-where-to-put-claude-md-files)).

621* Torne as instruções mais específicas. "Use indentação de 2 espaços" funciona melhor do que "formate o código adequadamente."627* Torne as instruções mais específicas. "Use indentação de 2 espaços" funciona melhor do que "formate o código adequadamente."

622* Procure por instruções conflitantes entre arquivos CLAUDE.md. Se dois arquivos dão orientação diferente para o mesmo comportamento, Claude pode escolher um arbitrariamente.628* Procure por instruções conflitantes entre arquivos CLAUDE.md. Se dois arquivos dão orientação diferente para o mesmo comportamento, Claude pode escolher um arbitrariamente.

629* Verifique se sua instrução compete com orientação que Claude Code adiciona por conta própria. Se seu CLAUDE.md define regras de commit ou pull request, desative as integradas com [`includeGitInstructions`](/docs/pt/settings-reference#includegitinstructions) e defina o texto de atribuição com [`attribution`](/docs/pt/settings-reference#attribution).

623 630 

624Se a instrução é algo que deve ser executado em um ponto específico, como antes de cada commit ou após cada edição de arquivo, escreva-a como um [hook](/docs/pt/hooks-guide) em vez disso. Hooks são executados como comandos shell em eventos de ciclo de vida fixos e se aplicam independentemente do que Claude decidir fazer.631Se a instrução é algo que deve ser executado em um ponto específico, como antes de cada commit ou após cada edição de arquivo, escreva-a como um [hook](/docs/pt/hooks-guide) em vez disso. Hooks são executados como comandos shell em eventos de ciclo de vida fixos e se aplicam independentemente do que Claude decidir fazer.

625 632 


657 664 

658Arquivos com mais de 200 linhas consomem mais contexto e podem reduzir a aderência. Claude Code pula um arquivo com mais de 4 MiB. Use [regras com escopo de caminho](#path-specific-rules) para carregar instruções apenas quando Claude trabalha com arquivos correspondentes, ou reduza conteúdo que não é necessário em cada sessão. Dividir em [importações `@path`](#import-additional-files) ajuda na organização, mas não reduz contexto, já que arquivos importados são carregados no lançamento.665Arquivos com mais de 200 linhas consomem mais contexto e podem reduzir a aderência. Claude Code pula um arquivo com mais de 4 MiB. Use [regras com escopo de caminho](#path-specific-rules) para carregar instruções apenas quando Claude trabalha com arquivos correspondentes, ou reduza conteúdo que não é necessário em cada sessão. Dividir em [importações `@path`](#import-additional-files) ajuda na organização, mas não reduz contexto, já que arquivos importados são carregados no lançamento.

659 666 

667Se um de seus arquivos de instrução estiver acima do comprimento recomendado, você verá um aviso na inicialização e quando executar `/status`. Você também verá um aviso quando arquivos que estão cada um dentro desse comprimento somam mais do que um limite combinado no início da sessão. Cada CLAUDE.md, arquivo de regras e importação `@path` conta como um arquivo separado.

668 

660O checkup [`/doctor`](/docs/pt/commands#all-commands) propõe cortes para um CLAUDE.md verificado: ele corta conteúdo que Claude pode derivar da base de código, como layouts de diretório, listas de dependências e visões gerais de arquitetura, e mantém armadilhas, justificativa e convenções que diferem dos padrões de ferramentas. A verificação de corte requer Claude Code v2.1.206 ou posterior.669O checkup [`/doctor`](/docs/pt/commands#all-commands) propõe cortes para um CLAUDE.md verificado: ele corta conteúdo que Claude pode derivar da base de código, como layouts de diretório, listas de dependências e visões gerais de arquitetura, e mantém armadilhas, justificativa e convenções que diferem dos padrões de ferramentas. A verificação de corte requer Claude Code v2.1.206 ou posterior.

661 670 

662<h3 id="instructions-seem-lost-after-/compact">671<h3 id="instructions-seem-lost-after-/compact">

mobile.md +1 −1

Details

43| Recurso | O que você conecta | Quando usar |43| Recurso | O que você conecta | Quando usar |

44| :- | :- | :- |44| :- | :- | :- |

45| [Cloud sessions](/docs/pt/claude-code-on-the-web) | Uma sessão na infraestrutura de nuvem, gerenciada pela Anthropic por padrão | Seu repositório está no GitHub e a tarefa deve continuar em execução depois que você guardar seu telefone. Consulte o [guia de início rápido da nuvem](/docs/pt/web-quickstart) para configurar. |45| [Cloud sessions](/docs/pt/claude-code-on-the-web) | Uma sessão na infraestrutura de nuvem, gerenciada pela Anthropic por padrão | Seu repositório está no GitHub e a tarefa deve continuar em execução depois que você guardar seu telefone. Consulte o [guia de início rápido da nuvem](/docs/pt/web-quickstart) para configurar. |

46| [Projects](/docs/pt/claude-projects) | Uma conversa onde Claude coordena sessões na nuvem paralelas como threads | Você tem um fluxo de trabalho relacionado em vez de uma tarefa e quer ver quais threads terminaram ou precisam de você. |46| [Projects](/docs/pt/claude-projects) | Uma conversa onde Claude coordena threads paralelos de trabalho e relata de volta | Você tem um fluxo de trabalho relacionado em vez de uma tarefa e quer ver quais threads terminaram ou precisam de você. |

47| [Remote Control](/docs/pt/remote-control) | Uma sessão do Claude Code em execução no seu computador | O trabalho precisa do seu sistema de arquivos local, ferramentas ou servidores MCP. |47| [Remote Control](/docs/pt/remote-control) | Uma sessão do Claude Code em execução no seu computador | O trabalho precisa do seu sistema de arquivos local, ferramentas ou servidores MCP. |

48| [Dispatch](/docs/pt/desktop#sessions-from-dispatch) | O aplicativo Desktop no seu computador | Você quer enviar uma tarefa e deixar o Dispatch decidir como executá-la. Requer um plano Pro ou Max. |48| [Dispatch](/docs/pt/desktop#sessions-from-dispatch) | O aplicativo Desktop no seu computador | Você quer enviar uma tarefa e deixar o Dispatch decidir como executá-la. Requer um plano Pro ou Max. |

49 49 

model-config.md +158 −87

Details

19 * Microsoft Foundry: um nome de implantação19 * Microsoft Foundry: um nome de implantação

20 * Agent Platform do Google Cloud: um nome de versão20 * Agent Platform do Google Cloud: um nome de versão

21 21 

22Para orientação sobre qual modelo e nível de esforço se adequam a diferentes tipos de trabalho, consulte [Escolhendo um modelo Claude e nível de esforço no 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 [Gateways LLM](/docs/pt/llm-gateway).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).

26</Note>26</Note>

27 27 

28<h3 id="model-aliases">28<h3 id="model-aliases">


36| **`default`** | Valor especial que limpa qualquer substituição de modelo e reverte para o [padrão de tempo de execução para sua conta](#default-model-setting). Não é em si um alias de modelo |36| **`default`** | Valor especial que limpa qualquer substituição de modelo e reverte para o [padrão de tempo de execução para sua conta](#default-model-setting). Não é em si um alias de modelo |

37| **`best`** | Usa o modelo para o qual o alias [`fable` é resolvido](#fable-alias-resolution) onde Fable está disponível para você, caso contrário, o mesmo modelo que `opus` |37| **`best`** | Usa o modelo para o qual o alias [`fable` é resolvido](#fable-alias-resolution) onde Fable está disponível para você, caso contrário, o mesmo modelo que `opus` |

38| **`fable`** | Usa o [modelo Fable para seu provedor](#fable-alias-resolution) para suas tarefas mais difíceis e de execução mais longa |38| **`fable`** | Usa o [modelo Fable para seu provedor](#fable-alias-resolution) para suas tarefas mais difíceis e de execução mais longa |

39| **`sonnet`** | Usa o modelo Sonnet mais recente para tarefas de codificação diária |39| **`sonnet`** | Usa o modelo Sonnet mais recente para tarefas diárias de codificação |

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 com sua janela nativa de 1M; atrás de um [gateway LLM](/docs/pt/llm-gateway), seleciona a janela de 1M para Sonnet 5 |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; atrás de um [gateway LLM](/docs/pt/llm-gateway), seleciona a janela de 1M para esse modelo |

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 |

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 Plan Mode, depois muda para `sonnet` para execução |

45 45 


47 47 

48| Provedor | `opus` | `sonnet` |48| Provedor | `opus` | `sonnet` |

49| :- | :- | :- |49| :- | :- | :- |

50| API Anthropic | Opus 5.5 | Sonnet 5 |50| API Anthropic | Opus 5.5 | Sonnet 5.5 |

51| [Claude Platform on AWS](/docs/pt/claude-platform-on-aws) | Opus 5.5 | Sonnet 4.6 |51| [Claude Platform on AWS](/docs/pt/claude-platform-on-aws) | Opus 5.5 | Sonnet 4.6 |

52| Amazon Bedrock, Agent Platform do Google Cloud | Opus 5.5 | Sonnet 4.5 |52| Amazon Bedrock, Agent Platform do Google Cloud | Opus 5.5 | Sonnet 4.5 |

53| Microsoft Foundry | Opus 4.6 | Sonnet 4.5 |53| Microsoft Foundry | Opus 4.6 | Sonnet 4.5 |

54 54 

55<span id="fable-alias-resolution" />55<span id="fable-alias-resolution" />

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. Antes da v2.1.257, `fable` era resolvido para Fable 5 em todos os provedores.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 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`.

60 60 

61Onde um alias é 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 um alias é 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 

63Antes da v2.1.280, `opus` era resolvido para Opus 5 na API Anthropic, Claude Platform on AWS, Amazon Bedrock e Agent Platform do Google Cloud a partir da v2.1.219. Antes da v2.1.219, `opus` era resolvido para Opus 4.8 na API Anthropic a partir da v2.1.154, e no Claude Platform on AWS, Amazon Bedrock e Agent Platform do Google Cloud a partir da v2.1.207. Antes da v2.1.207, `opus` era resolvido para Opus 4.7 no Claude Platform on AWS e para Opus 4.6 no Amazon Bedrock e Agent Platform do Google Cloud.63Versões anteriores resolvem esses aliases para modelos mais antigos. Para a versão em que cada alias foi alterado, consulte [Histórico de versões](#version-history).

64 64 

65Os aliases apontam para a versão recomendada para seu provedor e são atualizados ao longo do tempo. Para fixar uma versão específica, use o nome completo do modelo, por exemplo `claude-opus-5-5`, ou defina a variável de ambiente correspondente como `ANTHROPIC_DEFAULT_OPUS_MODEL`.65Os aliases apontam para a versão recomendada para seu provedor e são atualizados ao longo do tempo. Para fixar uma versão específica, use o nome completo do modelo, por exemplo `claude-opus-5-5`, ou defina a variável de ambiente correspondente como `ANTHROPIC_DEFAULT_OPUS_MODEL`.

66 66 

67<Note>67<Note>

68 Opus 5.5 requer Claude Code v2.1.280 ou posterior. Opus 5 requer v2.1.219 ou posterior. Sonnet 5 requer v2.1.197 ou posterior. Execute `claude update` para atualizar.68 Sonnet 5.5 requer Claude Code v2.1.284 ou posterior, e Opus 5.5 requer v2.1.280 ou posterior. Execute `claude update` para atualizar.

69</Note>69</Note>

70 70 

71<h3 id="work-with-fable">71<h3 id="work-with-fable">


77Nenhum modelo Fable é o padrão do tipo de conta em nenhum plano ou provedor. Selecione um explicitamente:77Nenhum modelo Fable é o padrão do tipo de conta em nenhum plano ou provedor. Selecione um explicitamente:

78 78 

79* **Fable 5.1**: execute `/model fable`, ou inicie com `claude --model fable`. Em sessões do [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway), onde o alias é resolvido para Fable 5, execute `/model claude-fable-5-1` em vez disso.79* **Fable 5.1**: execute `/model fable`, ou inicie com `claude --model fable`. Em sessões do [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway), onde o alias é resolvido para Fable 5, execute `/model claude-fable-5-1` em vez disso.

80* **Fable 5**: selecione-o por ID de modelo. Na API Anthropic, execute `/model claude-fable-5` ou inicie com `claude --model claude-fable-5`. Em outros provedores, use o ID do modelo Fable 5 do seu provedor ou [fixe-o](#pin-models-for-third-party-deployments) com `ANTHROPIC_DEFAULT_FABLE_MODEL`.80* **Fable 5**: selecione-o pelo ID do modelo. Na API Anthropic, execute `/model claude-fable-5` ou inicie com `claude --model claude-fable-5`. Em outros provedores, use o ID do modelo Fable 5 do seu provedor ou [fixe-o](#pin-models-for-third-party-deployments) com `ANTHROPIC_DEFAULT_FABLE_MODEL`.

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

85 85 

86Para aproveitar ao máximo o Fable:86Para aproveitar ao máximo o Fable:

87 87 

88* **Descreva o resultado, não as etapas**: entregue-lhe o resultado que você deseja e deixe-o planejar o caminho. Para mantê-lo trabalhando em direção a esse resultado, [defina uma meta](/docs/pt/goal).88* **Descreva o resultado, não as etapas**: entregue-lhe o resultado que você deseja e deixe-o planejar o caminho. Para mantê-lo trabalhando em direção a esse resultado, [defina uma meta](/docs/pt/goal).

89* **Entregue-lhe problemas ambíguos**: investigações de causa raiz, depuração de interrupção e decisões de arquitetura são onde a investigação e verificação extras compensam.89* **Entregue-lhe problemas ambíguos**: investigações de causa raiz, depuração de interrupções e decisões de arquitetura são onde a investigação e verificação extras compensam.

90* **Pule os lembretes de verificação**: ele verifica seu próprio trabalho com menos solicitação, então lembretes para testar ou verificar geralmente são desnecessários.90* **Pule os lembretes de verificação**: ele verifica seu próprio trabalho com menos solicitações, então lembretes para testar ou verificar geralmente são desnecessários.

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 não suporta este modelo](/docs/pt/errors#claude-code-does-not-support-this-model). Execute `claude update` para atualizar. Para disponibilidade sob retenção zero de dados, consulte [Disponibilidade de modelo sob ZDR](/docs/pt/zero-data-retention#model-availability-under-zdr).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).

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 de organização](#organization-model-restrictions) o excluam. Quando sua organização não consegue 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.

98 98 

99<h4 id="fable-and-usage-credits">99<h4 id="fable-and-usage-credits">

100 Fable e créditos de uso100 Fable e créditos de uso

101</h4>101</h4>

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 [Adicionar créditos de uso à sua assinatura](/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 de organização não veem o prompt. Você pode continuar no 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 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:

106 106 

107* No seletor `/model`, você mantém seu modelo atual.107* No seletor `/model`, você mantém seu modelo atual.

108* No meio da sessão, Claude Code continua a vez no seu modelo padrão.108* No meio da sessão, Claude Code continua a vez em seu modelo padrão.

109 109 

110Depois que você escolhe continuar no 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 não é alterada, e Claude Code pede consentimento novamente na 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 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.

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 


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

119 119 

120No [modo não interativo](/docs/pt/headless) com a flag `-p` e através do Agent SDK, Claude Code nunca mostra o prompt de consentimento. Quando uma solicitação Fable lá cobraria créditos de uso, Claude Code a cobra sem perguntar.120Em [modo não interativo](/docs/pt/headless) com a flag `-p` e através do Agent SDK, Claude Code nunca mostra o prompt de consentimento. Quando uma solicitação Fable lá seria cobrada em créditos de uso, Claude Code a cobra sem perguntar.

121 121 

122<h3 id="setting-your-model">122<h3 id="setting-your-model">

123 Definindo seu modelo123 Configurar seu modelo

124</h3>124</h3>

125 125 

126Você pode configurar seu modelo de várias maneiras, listadas em ordem de prioridade:126Você pode configurar seu modelo de várias maneiras, listadas em ordem de prioridade:


133 133 

134`/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:134`/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:

135 135 

136* `Enter`: muda o modelo e salva como seu padrão136* `Enter`: mude de modelo e salve como seu padrão

137* `s`: muda o modelo apenas para esta sessão e deixa seu padrão inalterado. Para usar uma chave diferente, rebinde [`modelPicker:thisSessionOnly`](/docs/pt/keybindings#model-picker-actions)137* `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)

138 138 

139Digitar `/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.139Digitar `/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.

140 140 

141Se você mudar 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 no Opus também. Para manter um subagentos personalizado em um modelo menor, defina `model` em sua definição.141Em um plano Enterprise, quando você está conectado com sua conta claude.ai e salva um padrão com `/model`, Claude Code também registra a escolha nessa conta. Isso requer Claude Code v2.1.280 ou posterior.

142 142 

143Se você definir um modelo com `/model` no [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 de 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.143* Quando seu administrador não definiu um [modelo padrão da organização](#organization-default-model), a opção [Padrão](#default-model-setting) pode ser resolvida para o modelo registrado, e quando isso acontece, a linha Padrão do seletor mostra o nome desse modelo.

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

145* Se você escolher Padrão ou `opusplan` em `/model`, a escolha registrada não muda.

146 

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

148 

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

144 150 

145Na v2.1.144 até v2.1.152, `/model` se aplicava apenas à sessão atual e `d` no seletor salvava um padrão.151Na v2.1.144 até v2.1.152, `/model` se aplicava apenas à sessão atual e `d` no seletor salvava um padrão.

146 152 

147A 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`.153A 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`.

148 154 

149Os 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 Anthropic, e uma linha poderia mostrar o preço de um modelo diferente do que selecionava.155Os 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.

150 156 

151As 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, independentemente da configuração `model` atual. Se o modelo restaurado foi descontinuado ou é excluído por [`availableModels`](#restrict-model-selection), a sessão cai para a ordem de precedência normal. Isso evita que a escolha `/model` de outra sessão mude o modelo ao retomar. 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 de transcrição não é restaurado e a sessão resolve seu modelo através da ordem de precedência normal.157As 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, independentemente da configuração `model` atual. Se o modelo restaurado foi descontinuado ou é excluído por [`availableModels`](#restrict-model-selection), a sessão cai para a ordem de precedência normal. Isso evita que a escolha `/model` de outra sessão mude o modelo ao retomar. 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 de transcrição não é restaurado em absoluto e a sessão resolve seu modelo através da ordem de precedência normal.

152 158 

153Um 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, também uma variável da família [`ANTHROPIC_DEFAULT_OPUS_MODEL`](#environment-variables). [`ANTHROPIC_DEFAULT_MODEL`](#set-a-default-model-for-new-sessions) também pode, sob as condições listadas em sua seção.159Um 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.

154 160 

155Quando 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; [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.161Quando 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.

156 162 

157Se 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.163Se 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.

158 164 

159Quando Claude Code não consegue dizer quais hooks PreModelSwitch seus [plugins gerenciados](/docs/pt/settings-reference#enabledplugins) da organização entregam, por exemplo porque um plugin gerenciado falhou ao carregar, ele recusa a mudança em vez de aplicá-la sem verificação, e verifica novamente em cada nova tentativa. Consulte [A mudança de modelo foi bloqueada por um hook PreModelSwitch](/docs/pt/errors#model-switch-was-blocked-by-a-premodelswitch-hook) para a mensagem e recuperação.165Quando Claude Code não consegue dizer quais hooks PreModelSwitch seus [plugins gerenciados](/docs/pt/settings-reference#enabledplugins) da organização entregam, por exemplo porque um plugin gerenciado falhou ao carregar, ele recusa a mudança em vez de aplicá-la sem verificação, e verifica novamente em cada nova tentativa. Consulte [Model switch was blocked by a PreModelSwitch hook](/docs/pt/errors#model-switch-was-blocked-by-a-premodelswitch-hook) para a mensagem e recuperação.

160 166 

161Quando você muda modelos através do método `setModel()` do [Agent SDK](/docs/pt/agent-sdk/overview) ou de um dispositivo conectado através de [Remote Control](/docs/pt/remote-control), ou um aplicativo como o [Desktop app](/docs/pt/desktop) que executa o CLI do Claude Code muda para você, Claude Code verifica se a string é uma que ele reconhece antes de salvá-la. Esta verificação requer Claude Code v2.1.200 ou posterior. Verificar uma escolha Remote Control requer Claude Code v2.1.260 ou posterior em sua máquina. Na API Anthropic, Claude Code reconhece:167Quando você muda de modelos através do método `setModel()` do [Agent SDK](/docs/pt/agent-sdk/overview) ou de um dispositivo conectado através de [Remote Control](/docs/pt/remote-control), ou um aplicativo como o [Desktop app](/docs/pt/desktop) que executa o CLI do Claude Code muda para você, Claude Code verifica se a string é uma que ele reconhece antes de salvá-la. Esta verificação requer Claude Code v2.1.200 ou posterior. Verificar uma escolha Remote Control requer Claude Code v2.1.260 ou posterior em sua máquina. Na API Anthropic, Claude Code reconhece:

162 168 

163* um alias de modelo169* um alias de modelo

164* uma entrada do seletor `/model`170* uma entrada do seletor `/model`


167 173 

168Claude Code rejeita uma string não reconhecida com `Model "<name>" is not a recognized model id.` e a sessão mantém seu modelo atual, em vez de salvar a string e falhar na próxima solicitação. Consulte [a referência de erro](/docs/pt/errors#model-is-not-a-recognized-model-id) para etapas de recuperação.174Claude Code rejeita uma string não reconhecida com `Model "<name>" is not a recognized model id.` e a sessão mantém seu modelo atual, em vez de salvar a string e falhar na próxima solicitação. Consulte [a referência de erro](/docs/pt/errors#model-is-not-a-recognized-model-id) para etapas de recuperação.

169 175 

170A verificação é executada apenas na API Anthropic. No Amazon Bedrock, Agent Platform do Google Cloud, Microsoft Foundry, [Claude Platform on AWS](/docs/pt/claude-platform-on-aws), e atrás de um [gateway LLM](/docs/pt/llm-gateway) ou um `ANTHROPIC_BASE_URL` personalizado, seu provedor ou gateway define os nomes de modelo, então Claude Code passa qualquer string sem verificá-la. A verificação também não cobre a flag `--model`, a variável de ambiente `ANTHROPIC_MODEL`, ou a configuração `model`; um valor digitado incorretamente lá produz [Há um problema com o modelo selecionado](/docs/pt/errors#theres-an-issue-with-the-selected-model) na primeira solicitação. Claude Code ainda pode escrever a [linha de diagnóstico de modelo não reconhecido](/docs/pt/errors#unrecognized-model-id-on-a-request) no tempo de solicitação, em todos os provedores.176A verificação é executada apenas na API Anthropic. Em Amazon Bedrock, Agent Platform do Google Cloud, Microsoft Foundry, [Claude Platform on AWS](/docs/pt/claude-platform-on-aws), e atrás de um [gateway LLM](/docs/pt/llm-gateway) ou um `ANTHROPIC_BASE_URL` personalizado, seu provedor ou gateway define os nomes dos modelos, então Claude Code passa qualquer string sem verificá-la. A verificação também não cobre a flag `--model`, a variável de ambiente `ANTHROPIC_MODEL`, ou a configuração `model`; um valor digitado incorretamente lá produz [There's an issue with the selected model](/docs/pt/errors#theres-an-issue-with-the-selected-model) na primeira solicitação em vez disso. Claude Code ainda pode escrever a [linha de diagnóstico de modelo não reconhecido](/docs/pt/errors#unrecognized-model-id-on-a-request) no tempo de solicitação, em cada provedor.

171 177 

172Quando 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 no [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 no [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).178Quando 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.

173 179 

174Por exemplo, inicie uma sessão no Opus:180Por exemplo, inicie uma sessão em Opus:

175 181 

176```bash theme={null}182```bash theme={null}

177claude --model opus183claude --model opus

178```184```

179 185 

180Depois mude modelos dentro da sessão:186Depois mude de modelos dentro da sessão:

181 187 

182```text theme={null}188```text theme={null}

183/model sonnet189/model sonnet


198 Defina um modelo padrão para novas sessões204 Defina um modelo padrão para novas sessões

199</h4>205</h4>

200 206 

201Defina `ANTHROPIC_DEFAULT_MODEL=<alias|name>` para escolher o modelo em que suas sessões iniciam por padrão. Requer Claude Code v2.1.236 ou posterior.207Defina `ANTHROPIC_DEFAULT_MODEL=<alias|name>` para escolher o modelo em que suas sessões começam por padrão. Requer Claude Code v2.1.236 ou posterior.

202 208 

203Claude Code inicia uma nova sessão no modelo da variável apenas quando nenhum destes seleciona um modelo:209Claude Code inicia uma nova sessão no modelo da variável apenas quando nenhum destes seleciona um modelo:

204 210 

205* A flag `--model`211* A flag `--model`

206* `ANTHROPIC_MODEL`212* `ANTHROPIC_MODEL`

207* Um valor `model` em qualquer arquivo de configurações, incluindo a escolha que você salva com `/model`213* Um valor `model` em qualquer arquivo de configurações, incluindo a escolha que você salva com `/model`

208* Um [modelo padrão de organização](#organization-default-model)214* Um [modelo padrão da organização](#organization-default-model)

209 215 

210Uma escolha que você salva com `/model` tem precedência sobre a variável em lançamentos posteriores também. Com `ANTHROPIC_MODEL` definido em vez disso, Claude Code retorna ao modelo da variável no próximo lançamento, seja qual for o que você salvou com `/model`.216Uma escolha que você salva com `/model` tem precedência sobre a variável em lançamentos posteriores também. Com `ANTHROPIC_MODEL` definido em vez disso, Claude Code retorna ao modelo da variável no próximo lançamento, seja qual for o que você salvou com `/model`.

211 217 

212Claude Code também resolve a opção Padrão para o modelo da variável, a menos que um modelo padrão de organização se aplique. Quando a opção Padrão é resolvida para o modelo da variável, a linha Padrão no seletor `/model` mostra o rótulo Definido por ANTHROPIC\_DEFAULT\_MODEL.218Claude Code também resolve a opção Padrão para o modelo da variável, a menos que um modelo padrão da organização se aplique. Quando a opção Padrão é resolvida para o modelo da variável, a linha Padrão no seletor `/model` mostra o rótulo Definido por ANTHROPIC\_DEFAULT\_MODEL.

213 219 

214Claude Code ignora a variável nestes casos, e a opção Padrão é resolvida como se você não a tivesse definido:220Claude Code ignora a variável nestes casos, e a opção Padrão é resolvida como se você não a tivesse definido:

215 221 

216* Você a definiu como `default`, `inherit`, `opusplan`, ou `haiku`222* Você a definiu como `default`, `inherit`, `opusplan`, ou `haiku`

217* [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model) está ativado223* [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model) está ativado

218* [`availableModels`](#restrict-model-selection) ou [restrições de modelo de organização](#organization-model-restrictions) excluem o modelo224* As [restrições de modelo](#restrict-model-selection) da sua organização excluem o modelo

219* O modelo não está disponível para sua conta225* O modelo não está disponível para sua conta

220 226 

221Quando uma nova sessão iniciaria no modelo da variável, uma sessão que você retoma com `claude --resume`, `--continue`, ou o seletor `/resume` também inicia nele. Claude Code não restaura o modelo salvo na transcrição dessa sessão. Caso contrário, Claude Code não usa a variável quando você [retoma uma sessão](#setting-your-model).227Quando uma nova sessão começaria no modelo da variável, uma sessão que você retoma com `claude --resume`, `--continue`, ou o seletor `/resume` também começa nele. Claude Code não restaura o modelo salvo na transcrição dessa sessão. Caso contrário, Claude Code não usa a variável quando você [retoma uma sessão](#setting-your-model).

222 228 

223<h4 id="a-new-session-starts-on-a-different-model-than-you-picked">229<h4 id="a-new-session-starts-on-a-different-model-than-you-picked">

224 Uma nova sessão inicia em um modelo diferente do que você escolheu230 Uma nova sessão começa em um modelo diferente do que você escolheu

225</h4>231</h4>

226 232 

227Quando você escolhe um modelo com `/model` e sua próxima sessão inicia em algo diferente, estas são as causas usuais:233Quando você escolhe um modelo com `/model` e sua próxima sessão começa em algo diferente, estas são as causas usuais:

228 234 

229* **Você o escolheu para uma sessão.** Pressionar `s` no seletor, iniciar com `--model`, e executar `/model` no modo não interativo se aplicam apenas à sessão atual e deixam seu padrão salvo intacto.235* **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.

230* **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 de 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.236* **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.

231* **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 pela 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 [Uma mudança que você fez no Claude Code é perdida em novas sessões](/docs/pt/settings#a-change-you-made-in-claude-code-is-lost-in-new-sessions).237* **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).

232* **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.238* **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.

233 239 

234<h2 id="restrict-model-selection">240<h2 id="restrict-model-selection">

235 Restringir seleção de modelo241 Restringir seleção de modelo

236</h2>242</h2>

237 243 

238Administradores corporativos podem usar `availableModels` em [configurações gerenciadas ou de política](/docs/pt/managed-settings) para restringir quais modelos os usuários podem selecionar. As entradas correspondem a uma família de modelos como `sonnet`, um prefixo de versão como `claude-sonnet-4-5`, ou um ID de modelo completo como `claude-sonnet-4-5-20250929`. Um prefixo de versão também corresponde a IDs de modelo posteriores que o estendem com outro segmento, portanto `claude-fable-5` permite tanto Fable 5 quanto Fable 5.1, enquanto `claude-fable-5-1` permite apenas Fable 5.1.244Administradores corporativos podem usar `availableModels` em [configurações gerenciadas ou de política](/docs/pt/managed-settings) para restringir quais modelos os usuários podem selecionar. As entradas correspondem a uma família de modelos como `sonnet`, um prefixo de versão como `claude-sonnet-4-5`, ou um ID de modelo completo como `claude-sonnet-4-5-20250929`. Um prefixo de versão também corresponde a IDs de modelo posteriores que o estendem com outro segmento, portanto `claude-fable-5` permite tanto Fable 5 quanto Fable 5.1, enquanto `claude-fable-5-1` permite apenas Fable 5.1. Para bloquear um modelo que a lista permite, ou para fazer cada entrada de ID de modelo permitir apenas a versão que nomeia, veja [Bloquear modelos ou versões específicas](#block-specific-models-or-versions).

239 245 

240Em 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; [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.246Em 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; [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.

241 247 


305 Comportamento do modelo padrão311 Comportamento do modelo padrão

306</h3>312</h3>

307 313 

308Por si só, `availableModels` deixa a opção Padrão no [padrão de tempo de execução](#default-model-setting) do sistema para a conta até que você também defina [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model). Se esse padrão for um modelo que você pretende restringir, defina `enforceAvailableModels` também.314Com a correspondência de prefixo padrão, `availableModels` por si só deixa a opção Padrão no [padrão de tempo de execução](#default-model-setting) do sistema para a conta até que você também defina [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model). Se esse padrão for um modelo que você pretende restringir, defina `enforceAvailableModels` também, ou [bloqueie esse modelo](#block-specific-models-or-versions).

309 315 

310Uma matriz `availableModels` vazia nunca ativa a aplicação do modelo Padrão: com `availableModels: []`, as seleções de modelo nomeadas são bloqueadas, mas o modelo Padrão para o tipo de conta permanece utilizável independentemente de `enforceAvailableModels`.316Com `availableModels: []`, as seleções de modelo nomeadas são bloqueadas e `enforceAvailableModels` não tem efeito.

311 317 

312<h3 id="enforce-the-allowlist-for-the-default-model">318<h3 id="enforce-the-allowlist-for-the-default-model">

313 Aplicar a lista de permissões para o modelo Padrão319 Aplicar a lista de permissões para o modelo Padrão


322}328}

323```329```

324 330 

325A opção Padrão resolve para o padrão do tipo de conta, ou para o [modelo padrão da organização](#organization-default-model) quando um administrador definiu um. Quando esse modelo não está na lista de permissões, a opção Padrão em vez disso resolve para a primeira entrada `availableModels` que nomeia um modelo permitido e disponível, e a linha Padrão do seletor `/model` mostra esse modelo. Isso se aplica em todos os lugares onde o padrão é alcançado: inicialização da sessão, seleção de Padrão em `/model`, a palavra-chave `"default"` em [cadeias de modelo de fallback](#fallback-model-chains), e o fallback usado quando uma seleção excluída é descartada.331Para um membro sem modelo [registrado em sua conta](#setting-your-model), a opção Padrão resolve para o padrão do tipo de conta, ou para o [modelo padrão da organização](#organization-default-model) quando um administrador definiu um. Quando esse modelo não está na lista de permissões, a opção Padrão em vez disso resolve para a primeira entrada `availableModels` que nomeia um modelo permitido e disponível, e a linha Padrão do seletor `/model` mostra esse modelo. Isso se aplica em todos os lugares onde o padrão é alcançado: inicialização da sessão, seleção de Padrão em `/model`, a palavra-chave `"default"` em [cadeias de modelo de fallback](#fallback-model-chains), e o fallback usado quando uma seleção excluída é descartada. Um modelo registrado na conta de um membro também é verificado contra `availableModels`; [Definir seu modelo](#setting-your-model) descreve como a opção Padrão o trata.

326 332 

327`enforceAvailableModels` remapeia a opção Padrão apenas quando `availableModels` é não vazio. Com `availableModels: []`, o modelo Padrão para o tipo de conta permanece utilizável, portanto a configuração não pode bloquear usuários de cada modelo. Quando `availableModels` é não vazio, mas nenhuma entrada resolve para um modelo permitido e disponível, a aplicação é ignorada e Padrão resolve para o padrão do tipo de conta, com um aviso visível apenas em `--debug`. Mantenha pelo menos uma entrada garantida como disponível na lista para evitar isso.333`enforceAvailableModels` remapeia a opção Padrão apenas quando `availableModels` é não vazio. Quando `availableModels` é não vazio, mas nenhuma entrada resolve para um modelo permitido e disponível, a aplicação é ignorada com um aviso visível apenas em `--debug`. Mantenha pelo menos uma entrada garantida como disponível na lista para evitar isso.

328 334 

329Implante ambas as chaves juntas na fonte gerenciada de classificação mais alta que você entrega. Por padrão, Claude Code lê apenas essa fonte, portanto um par colocado em um arquivo de configurações gerenciadas é ignorado quando o console de administração entrega qualquer configuração; sob a mesclagem de aceitação em [como Claude Code combina fontes gerenciadas](/docs/pt/managed-settings#how-claude-code-combines-managed-sources), Claude Code ainda ignora um mapa `modelOverrides` de uma fonte classificada abaixo daquela que define `availableModels`.335Implante ambas as chaves juntas na fonte gerenciada de classificação mais alta que você entrega. Por padrão, Claude Code lê apenas essa fonte, portanto um par colocado em um arquivo de configurações gerenciadas é ignorado quando o console de administração entrega qualquer configuração; sob a mesclagem de aceitação em [como Claude Code combina fontes gerenciadas](/docs/pt/managed-settings#how-claude-code-combines-managed-sources), Claude Code ainda ignora um mapa `modelOverrides` de uma fonte classificada abaixo daquela que define `availableModels`.

330 336 


332 Controlar o modelo em que os usuários são executados338 Controlar o modelo em que os usuários são executados

333</h3>339</h3>

334 340 

335A configuração `model` é uma seleção inicial, não aplicação. Define qual modelo está ativo quando uma sessão inicia, mas os usuários ainda podem abrir `/model` e escolher Padrão, que resolve para o [padrão de tempo de execução](#default-model-setting) do sistema independentemente do que `model` está definido, a menos que [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model) o redirecione.341A configuração `model` é uma seleção inicial, não aplicação. Define qual modelo está ativo quando uma sessão inicia, mas os usuários ainda podem abrir `/model` e escolher Padrão, que resolve para o [padrão de tempo de execução](#default-model-setting) do sistema independentemente do que `model` está definido, a menos que [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model) ou as [chaves que bloqueiam versões específicas](#block-specific-models-or-versions) se apliquem a ele.

336 342 

337Para controlar totalmente a experiência do modelo, combine estas configurações:343Para controlar totalmente a experiência do modelo, combine estas configurações:

338 344 

339* **`availableModels`**: restringe quais modelos nomeados os usuários podem alternar345* **`availableModels`**: restringe quais modelos nomeados os usuários podem alternar

340* **`enforceAvailableModels`**: estende a lista de permissões `availableModels` à opção Padrão, portanto Padrão não pode resolver para um modelo fora da lista346* **`enforceAvailableModels`**: estende a lista de permissões `availableModels` à opção Padrão, portanto Padrão não pode resolver para um modelo fora da lista

347* **`deniedModels`** e **`availableModelsMatch`**: [bloqueiam versões específicas](#block-specific-models-or-versions) que uma entrada `availableModels` permitiria de outra forma

341* **`model`**: define a seleção de modelo inicial quando uma sessão inicia348* **`model`**: define a seleção de modelo inicial quando uma sessão inicia

342* **`ANTHROPIC_DEFAULT_SONNET_MODEL`** / **`ANTHROPIC_DEFAULT_OPUS_MODEL`** / **`ANTHROPIC_DEFAULT_HAIKU_MODEL`** / **`ANTHROPIC_DEFAULT_FABLE_MODEL`**: controlam para o que os aliases `sonnet`, `opus`, `haiku` e `fable` resolvem, e qual versão o [padrão do tipo de conta](#default-model-setting) usa349* **`ANTHROPIC_DEFAULT_SONNET_MODEL`** / **`ANTHROPIC_DEFAULT_OPUS_MODEL`** / **`ANTHROPIC_DEFAULT_HAIKU_MODEL`** / **`ANTHROPIC_DEFAULT_FABLE_MODEL`**: controlam para o que os aliases `sonnet`, `opus`, `haiku` e `fable` resolvem, e qual versão o [padrão do tipo de conta](#default-model-setting) usa

343 350 


370 377 

371Quando o [endpoint Amazon Bedrock Mantle](/docs/pt/amazon-bedrock#use-the-mantle-endpoint) está habilitado, entradas em `availableModels` que começam com `anthropic.` são adicionadas ao seletor `/model` como opções personalizadas e roteadas para o endpoint Mantle. Esta é uma exceção à correspondência de alias descrita em [Fixar modelos para implantações de terceiros](#pin-models-for-third-party-deployments). A configuração ainda restringe o seletor a entradas listadas, e um ID Mantle incorpora um nome de família, portanto conta como uma entrada específica e desabilita o curinga da família: junto com qualquer ID Mantle, liste os prefixos de versão ou IDs completos que você quer manter selecionáveis. Veja [Comportamento de mesclagem](#merge-behavior).378Quando o [endpoint Amazon Bedrock Mantle](/docs/pt/amazon-bedrock#use-the-mantle-endpoint) está habilitado, entradas em `availableModels` que começam com `anthropic.` são adicionadas ao seletor `/model` como opções personalizadas e roteadas para o endpoint Mantle. Esta é uma exceção à correspondência de alias descrita em [Fixar modelos para implantações de terceiros](#pin-models-for-third-party-deployments). A configuração ainda restringe o seletor a entradas listadas, e um ID Mantle incorpora um nome de família, portanto conta como uma entrada específica e desabilita o curinga da família: junto com qualquer ID Mantle, liste os prefixos de versão ou IDs completos que você quer manter selecionáveis. Veja [Comportamento de mesclagem](#merge-behavior).

372 379 

380<h3 id="block-specific-models-or-versions">

381 Bloquear modelos ou versões específicas

382</h3>

383 

384Uma entrada `availableModels` como `claude-opus-5` também permite lançamentos posteriores que a estendem, como Opus 5.5, assim que Claude Code os suporta. Duas configurações gerenciadas permitem que você retenha um lançamento, e ambas requerem Claude Code v2.1.283 ou posterior:

385 

386* [`deniedModels`](/docs/pt/settings-reference#deniedmodels): liste os modelos a bloquear. Um modelo listado é bloqueado mesmo quando `availableModels` o permite, e a chave também funciona sem nenhuma lista de permissões. Um lançamento que nenhuma entrada bloqueia permanece permitido

387* [`availableModelsMatch`](/docs/pt/settings-reference#availablemodelsmatch): defina como `"exact"` para que cada ID de modelo em `availableModels` permita apenas a versão que nomeia. Uma versão mais recente de um ID de modelo listado então permanece bloqueada até que você a adicione à lista

388 

389Versões anteriores ignoram ambas as chaves, portanto também defina [`requiredMinimumVersion`](/docs/pt/settings-reference#requiredminimumversion) para manter essas versões de iniciar.

390 

391Este exemplo permite modelos Opus e Sonnet e bloqueia Opus 5.5 em cada grafia, incluindo IDs datados e específicos do provedor:

392 

393```json theme={null}

394{

395 "availableModels": ["opus", "sonnet"],

396 "deniedModels": ["claude-opus-5-5"]

397}

398```

399 

400Um modelo bloqueado, seja `deniedModels` o nomeia ou uma lista `"exact"` o omite, é tratado como uma seleção bloqueada em todos os lugares [onde a lista de permissões se aplica](#restrict-model-selection). É ocultado do seletor `/model`, e `/model <name>` o rejeita. Se você nomear um ID de modelo bloqueado com `--model`, `ANTHROPIC_MODEL` ou a configuração `model`, Claude Code o descarta na inicialização e resolve a opção Padrão em vez disso. Se um [hook](/docs/pt/hooks) ou solicitação de fundo nomeia um modelo que `deniedModels` bloqueia, como um campo `model` de hook de agente, essa solicitação é executada no modelo da sessão em vez disso.

401 

402A opção Padrão segue ambas as chaves também, independentemente de você definir [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model). Se você a definir com um `availableModels` não vazio, um padrão bloqueado conta como um modelo fora da lista de permissões. Caso contrário, uma opção Padrão que resolveria para um modelo bloqueado desce nesta ordem:

403 

4041. A versão mais recente permitida da mesma família

4052. O modelo mais recente permitido de cada família de custo mais baixo em sequência: Sonnet, depois Haiku

4063. A primeira entrada `availableModels` que nomeia um modelo permitido

407 

408Se nenhum desses for permitido, uma sessão iniciando na opção Padrão [recusa iniciar](/docs/pt/errors#managed-settings-block-the-default-model) com um erro que nomeia a chave a corrigir. Uma lista `"exact"` afeta a opção Padrão apenas quando a lista `availableModels` gerenciada nomeia pelo menos um modelo ou família.

409 

410Claude Code lê ambas as chaves apenas de configurações gerenciadas. Se você definir uma em configurações de usuário, projeto ou local ou com `--settings`, Claude Code a ignora com um aviso.

411 

373<h3 id="organization-model-restrictions">412<h3 id="organization-model-restrictions">

374 Restrições de modelo da organização413 Restrições de modelo da organização

375</h3>414</h3>


417 456 

418O padrão da organização passa por essas verificações de restrição antes de ser adotado:457O padrão da organização passa por essas verificações de restrição antes de ser adotado:

419 458 

420* [`availableModels`](#restrict-model-selection) por si só não se aplica ao padrão da organização, portanto um padrão da organização fora da lista de permissões ainda se aplica. Quando [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model) também está definido, um padrão da organização fora da lista de permissões é remapeado para a primeira entrada da lista de permissões, como qualquer outro Padrão459* Com a correspondência de prefixo padrão, [`availableModels`](#restrict-model-selection) por si só não se aplica ao padrão da organização, portanto um padrão da organização fora da lista de permissões ainda se aplica. Quando [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model) também está definido, um padrão da organização fora da lista de permissões é remapeado para a primeira entrada da lista de permissões também

421* um padrão da organização que [restrições de modelo da organização](#organization-model-restrictions) negam para sua conta é substituído pelo modelo mais recente permitido em sua família, ou uma família de menor custo quando cada versão dela é restrita460* um padrão da organização que [restrições de modelo da organização](#organization-model-restrictions) negam para sua conta é substituído pelo modelo mais recente permitido em sua família, ou uma família de menor custo quando cada versão dela é restrita

461* para um padrão da organização que `deniedModels` ou uma lista `"exact"` bloqueia, consulte [Bloquear modelos ou versões específicas](#block-specific-models-or-versions)

422* um padrão da organização que não está disponível para sua conta é ignorado, e a opção Padrão é resolvida como seria [sem um padrão da organização](#default-model-setting)462* um padrão da organização que não está disponível para sua conta é ignorado, e a opção Padrão é resolvida como seria [sem um padrão da organização](#default-model-setting)

423 463 

424A partir da v2.1.199, quando o padrão da organização é uma família de modelo diferente do padrão usual do tipo de conta, o seletor `/model` mantém uma linha separada para essa família usual, para que você ainda possa alternar para ela em uma sessão. Na v2.1.196 até v2.1.198 essa linha está faltando no seletor.464A partir da v2.1.199, quando o padrão da organização é uma família de modelo diferente do padrão usual do tipo de conta, o seletor `/model` mantém uma linha separada para essa família usual, para que você ainda possa alternar para ela em uma sessão. Na v2.1.196 até v2.1.198 essa linha está faltando no seletor.


451 491 

452Antes da v2.1.280, `default` era resolvido para Sonnet 5 em Pro e Team Standard, e para Opus 5 em Max, Team Premium, Enterprise, Anthropic API, Claude Platform on AWS, Amazon Bedrock e Google Cloud's Agent Platform a partir de v2.1.219. Antes da v2.1.219, `default` era resolvido para Opus 4.8 na Anthropic API, Max, Team Premium e Enterprise com pagamento conforme o uso a partir de v2.1.154, e na Claude Platform on AWS, Amazon Bedrock e Google Cloud's Agent Platform a partir de v2.1.207. Antes da v2.1.207, `default` era resolvido para Opus 4.7 na Claude Platform on AWS e para Sonnet 4.5 no Amazon Bedrock e Google Cloud's Agent Platform.492Antes da v2.1.280, `default` era resolvido para Sonnet 5 em Pro e Team Standard, e para Opus 5 em Max, Team Premium, Enterprise, Anthropic API, Claude Platform on AWS, Amazon Bedrock e Google Cloud's Agent Platform a partir de v2.1.219. Antes da v2.1.219, `default` era resolvido para Opus 4.8 na Anthropic API, Max, Team Premium e Enterprise com pagamento conforme o uso a partir de v2.1.154, e na Claude Platform on AWS, Amazon Bedrock e Google Cloud's Agent Platform a partir de v2.1.207. Antes da v2.1.207, `default` era resolvido para Opus 4.7 na Claude Platform on AWS e para Sonnet 4.5 no Amazon Bedrock e Google Cloud's Agent Platform.

453 493 

454Quando 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.494Quando 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).

455 495 

456Quando 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 ambos 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.496Quando 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.

457 497 

458Os 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).498Os 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).

459 499 


513 Fallback automático de modelo553 Fallback automático de modelo

514</h3>554</h3>

515 555 

516Esta seção cobre fallback baseado em conteúdo de modelos Fable, Opus 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).556Esta 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).

517 557 

518Os modelos Fable, Opus 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:558Os 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:

519 559 

520* **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.560* **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.

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

521* **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.562* **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.

522 563 

523No Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry, Claude Code resolve esses destinos através de sua implantação, e se você definir `ANTHROPIC_DEFAULT_OPUS_MODEL`, categorias que têm um fallback são executadas novamente no modelo fixado; consulte [Ativar fallback no Bedrock, Agent Platform e Foundry](#enable-fallback-on-bedrock-agent-platform-and-foundry).564No 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).

524 565 

525Após um fallback, a sessão continua no modelo de fallback. Para retornar ao seu modelo original, execute [`/model`](#setting-your-model).566Após um fallback, a sessão continua no modelo de fallback. Para retornar ao seu modelo original, execute [`/model`](#setting-your-model).

526 567 


544 585 

545Alguns casos se comportam diferentemente:586Alguns casos se comportam diferentemente:

546 587 

547* Quando a categoria sinalizada não tem modelo de fallback, como um sinalizador de biologia em Opus 5, Claude Code não mostra o prompt e a solicitação termina com a recusa.588* 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.

548* Se ambos os modelos sinalizarem a mesma solicitação, você pode editar o prompt e tentar novamente ou iniciar uma nova sessão.589* Se ambos os modelos sinalizarem a mesma solicitação, você pode editar o prompt e tentar novamente ou iniciar uma nova sessão.

549* 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.590* 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.

550* 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.591* 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.


556 597 

557No [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:598No [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:

558 599 

559* 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 e Opus 5 são reconhecidos por seu ID de modelo do provedor ou um mapeamento [`modelOverrides`](#override-model-ids-per-version).600* 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).

560* O modelo de fallback deve ser resolvido em sua implantação. 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 em uma entrada Opus 4.8 na lista de modelos do provedor, e solicitações sinalizadas por biologia de um modelo Fable ou Opus 5.5 em uma entrada Opus 5.601* 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.

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

603 

604Se 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:

561 605 

562Se nenhum dos modelos puder ser identificado, Claude Code não alterna automaticamente. A solicitação sinalizada termina com uma mensagem de recusa, e você pode alternar modelos com [`/model`](#setting-your-model) e tentar novamente. Definir `ANTHROPIC_DEFAULT_FABLE_MODEL` para seu ID de modelo Fable ativa o reconhecimento de Fable. Definir `ANTHROPIC_DEFAULT_OPUS_MODEL` para um ID de modelo Opus fornece às categorias sinalizadas um destino de fallback, a menos que o pino nomeie um modelo fora da família Opus ou o modelo que recusou; então Claude Code não alterna e a recusa permanece.606* **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.

607* **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é.

608* **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é.

563 609 

564<h4 id="security-research-and-biology-workloads">610<h4 id="security-research-and-biology-workloads">

565 Pesquisa de segurança e cargas de trabalho de biologia611 Pesquisa de segurança e cargas de trabalho de biologia

566</h4>612</h4>

567 613 

568Cargas 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, você recebe essas recusas da primeira solicitação sinalizada.614Cargas 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.

569 615 

570Este é 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.616Este é 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.

571 617 


580| Modelo | Níveis |626| Modelo | Níveis |

581| :- | :- |627| :- | :- |

582| Fable 5.1 e Fable 5 | `low`, `medium`, `high`, `xhigh`, `max` |628| Fable 5.1 e Fable 5 | `low`, `medium`, `high`, `xhigh`, `max` |

583| Opus 5.5, Opus 5, Sonnet 5, Opus 4.8 e Opus 4.7 | `low`, `medium`, `high`, `xhigh`, `max` |629| Opus 5.5, Sonnet 5.5, Opus 5, Sonnet 5, Opus 4.8 e Opus 4.7 | `low`, `medium`, `high`, `xhigh`, `max` |

584| Opus 4.6 e Sonnet 4.6 | `low`, `medium`, `high`, `max` |630| Opus 4.6 e Sonnet 4.6 | `low`, `medium`, `high`, `max` |

585 631 

586Se você definir um nível que o modelo ativo não suporta, Claude Code volta para o nível mais alto suportado no ou abaixo do que você definiu. Por exemplo, `xhigh` é executado como `high` em Opus 4.6. Sua organização ou suas próprias configurações também podem limitar os níveis que um modelo oferece; consulte [Limites de esforço da organização](#organization-effort-limits).632Se você definir um nível que o modelo ativo não suporta, Claude Code volta para o nível mais alto suportado no ou abaixo do que você definiu. Por exemplo, `xhigh` é executado como `high` em Opus 4.6. Sua organização ou suas próprias configurações também podem limitar os níveis que um modelo oferece; consulte [Limites de esforço da organização](#organization-effort-limits).

587 633 

588Com a configuração [`ultracode`](/docs/pt/settings-reference#ultracode) desativada, Claude Code resolve o nível de esforço da sessão nesta ordem, tomando o primeiro que se aplica:634Claude Code resolve o nível de esforço da sessão nesta ordem, tomando o primeiro que se aplica:

589 635 

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

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

5923. O esforço padrão do modelo: `high` em cada modelo que suporta esforço, exceto que Opus 5.5 padrão para `medium`, Opus 4.7 padrão para `xhigh` e, quando sua organização define um nível de esforço padrão para seu [modelo padrão da organização](#organization-default-model), esse nível é o padrão quando você executa esse modelo6383. O esforço padrão do modelo: `high` em cada modelo que suporta esforço, exceto que Opus 5.5 e Sonnet 5.5 padrão para `medium`, Opus 4.7 padrão para `xhigh` e, quando sua organização define um nível de esforço padrão para seu [modelo padrão da organização](#organization-default-model), esse nível é o padrão quando você executa esse modelo

593 639 

594Opus 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.640Opus 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.

595 641 


610 656 

611Quando você define um nível com `/effort` em uma execução [`-p`](/docs/pt/headless), Claude Code o aplica apenas a essa sessão e não o salva como seu padrão.657Quando você define um nível com `/effort` em uma execução [`-p`](/docs/pt/headless), Claude Code o aplica apenas a essa sessão e não o salva como seu padrão.

612 658 

613O menu `/effort` também oferece `ultracode`. Ultracode é uma configuração de Claude Code em vez de um nível de esforço do modelo: envia `xhigh` para o modelo e adicionalmente tem Claude orquestrar [fluxos de trabalho dinâmicos](/docs/pt/workflows) para tarefas substantivas. Para onde pode ser definido persistentemente, consulte a configuração [`ultracode`](/docs/pt/settings-reference#ultracode).659O 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).

660 

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

614 662 

615Você pode ativar ultracode através de qualquer um dos seguintes:663Você pode ativar ultracode através de qualquer um dos seguintes:

616 664 

617* **`/effort`**: execute `/effort ultracode`, ou selecione-o no menu665* **`/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

618* **Sinalizador `--effort`**: lance com `claude --effort ultracode`, que inicia a sessão em esforço `xhigh` com ultracode ativado666* **Sinalizador `--effort`**: lance com `claude --effort ultracode`, que inicia a sessão em esforço `xhigh` com ultracode ativado

619* **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"`667* **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`

620* **Seletor `/model`**: mova o controle deslizante de esforço para `ultracode` com as teclas de seta enquanto escolhe um modelo. Claude Code o ativa para a sessão atual, mesmo quando você salva esse modelo como seu padrão668 

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

621 670 

622Passar `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.671Passar `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.

623 672 

624A configuração `effortLevel` persistida e a variável de ambiente `CLAUDE_CODE_EFFORT_LEVEL` não aceitam `ultracode`. Quando `CLAUDE_CODE_EFFORT_LEVEL` é definido para um nível diferente de `xhigh`, solicitações são executadas nesse nível e a orquestração de fluxo de trabalho do ultracode permanece inativa. Selecionar ultracode então mostra um aviso de que a variável de ambiente substitui o esforço pela sessão.673A 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.

625 674 

626<span id="when-ultracode-is-available" />675<span id="when-ultracode-is-available" />

627 676 


629 678 

630* [Fluxos de trabalho estão desativados](/docs/pt/workflows#turn-workflows-off)679* [Fluxos de trabalho estão desativados](/docs/pt/workflows#turn-workflows-off)

631* O modelo não suporta esforço `xhigh`680* O modelo não suporta esforço `xhigh`

632* Um [limite de esforço](#organization-effort-limits) abaixo de `xhigh` se aplica ao modelo

633 681 

634Nesses casos `--effort ultracode` inicia a sessão com ultracode desativado, no nível de esforço mais alto que o modelo e qualquer limite permitem, até `xhigh`.682Nesses casos `--effort ultracode` inicia a sessão com ultracode desativado, no nível de esforço mais alto que o modelo e qualquer limite permitem, até `xhigh`.

635 683 


641 689 

642| Nível | Quando usá-lo |690| Nível | Quando usá-lo |

643| :- | :- |691| :- | :- |

644| `low` | Reserve para tarefas curtas, escopo definido, sensíveis à latência que não são sensíveis à inteligência |692| `low` | Trocas rápidas onde você revisa cada resultado, como brainstorming, um primeiro esboço ou uma pequena alteração como uma renomeação |

645| `medium` | Reduz o uso de tokens para trabalho sensível a custos que pode fazer concessões em inteligência. O padrão em Opus 5.5 |693| `medium` | O padrão em Opus 5.5 e Sonnet 5.5, onde se encaixa no trabalho de engenharia do dia a dia com um escopo claro, como implementar um novo recurso. Em outros modelos, reduz o uso de tokens para trabalho sensível a custos que pode fazer concessões em inteligência |

646| `high` | Equilibra o uso de tokens e inteligência. O padrão em cada modelo exceto Opus 5.5 e Opus 4.7 |694| `high` | Trabalho onde a verificação é importante ou casos extremos são prováveis, como corrigir um bug em uma base de código existente. O padrão em cada modelo exceto Opus 5.5, Sonnet 5.5 e Opus 4.7 |

647| `xhigh` | Raciocínio mais profundo com gasto de tokens mais alto. O padrão em Opus 4.7 |695| `xhigh` | Raciocínio mais profundo com gasto de tokens mais alto. O padrão em Opus 4.7 |

648| `max` | Pode melhorar o desempenho em tarefas exigentes, mas pode mostrar retornos decrescentes e é propenso a excesso de pensamento. Teste antes de adotar amplamente |696| `max` | Problemas difíceis que você quer que Claude trabalhe sem você, como encontrar vulnerabilidades de segurança. `max` pode mostrar retornos decrescentes e é propenso a excesso de pensamento, portanto teste antes de adotar amplamente |

649| `ultracode` | Uma configuração de Claude Code que planeja um [fluxo de trabalho dinâmico](/docs/pt/workflows) para cada tarefa substantiva com raciocínio `xhigh` por mensagem |697| `ultracode` | Uma configuração de Claude Code em vez de um nível: planeja um [fluxo de trabalho dinâmico](/docs/pt/workflows) para cada tarefa substantiva em qualquer nível de esforço |

698 

699Em testes em Opus 5.5 e Fable 5.1, Claude em um nível mais alto testou mais casos extremos e verificou mais de seu trabalho antes de responder. Também fez mais escolhas por conta própria. Em um nível mais baixo, Claude retornou um ponto de partida mais cedo, o que se encaixa no trabalho onde você revisa cada resultado e orienta o próximo passo. Para ver as mesmas tarefas executadas em cada nível, leia [Using Claude Code: Spending your effort](https://claude.dev/blog/spending-your-effort/) no blog.

650 700 

651A escala de esforço é calibrada por modelo, portanto o mesmo nome de nível não representa o mesmo valor subjacente entre modelos.701A escala de esforço é calibrada por modelo, portanto o mesmo nome de nível não representa o mesmo valor subjacente entre modelos.

652 702 

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

704 

653<h4 id="use-ultrathink-for-one-off-deep-reasoning">705<h4 id="use-ultrathink-for-one-off-deep-reasoning">

654 Usar ultrathink para raciocínio profundo único706 Usar ultrathink para raciocínio profundo único

655</h4>707</h4>


682 734 

683O raciocínio adaptativo torna o pensamento opcional em cada etapa, portanto Claude pode responder mais rápido a prompts rotineiros e reservar pensamento mais profundo para etapas que se beneficiam dele. Se você quiser que Claude pense mais ou menos frequentemente do que o nível atual produz, você pode dizer isso diretamente em seu prompt ou em `CLAUDE.md`; o modelo responde a essa orientação dentro de sua configuração de esforço.735O raciocínio adaptativo torna o pensamento opcional em cada etapa, portanto Claude pode responder mais rápido a prompts rotineiros e reservar pensamento mais profundo para etapas que se beneficiam dele. Se você quiser que Claude pense mais ou menos frequentemente do que o nível atual produz, você pode dizer isso diretamente em seu prompt ou em `CLAUDE.md`; o modelo responde a essa orientação dentro de sua configuração de esforço.

684 736 

685Os modelos Fable, Sonnet 5 e Opus 4.7 e posterior sempre usam raciocínio adaptativo. O modo de orçamento de pensamento fixo e `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` não se aplicam a eles.737Os modelos Fable, Sonnet 5 e posterior, e Opus 4.7 e posterior sempre usam raciocínio adaptativo. O modo de orçamento de pensamento fixo e `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` não se aplicam a eles.

686 738 

687Em Opus 4.6 e Sonnet 4.6, você pode definir `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` para reverter para o orçamento de pensamento fixo anterior controlado por `MAX_THINKING_TOKENS`. Consulte [variáveis de ambiente](/docs/pt/env-vars).739Em Opus 4.6 e Sonnet 4.6, você pode definir `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` para reverter para o orçamento de pensamento fixo anterior controlado por `MAX_THINKING_TOKENS`. Consulte [variáveis de ambiente](/docs/pt/env-vars).

688 740 


696| :- | :- |748| :- | :- |

697| Alternar para a sessão atual | Pressione `Option+T` em macOS ou `Alt+T` em Windows e Linux |749| Alternar para a sessão atual | Pressione `Option+T` em macOS ou `Alt+T` em Windows e Linux |

698| Definir o padrão global | Execute `/config` e alterne o modo de pensamento. Salvo como `alwaysThinkingEnabled` em `~/.claude/settings.json` |750| Definir o padrão global | Execute `/config` e alterne o modo de pensamento. Salvo como `alwaysThinkingEnabled` em `~/.claude/settings.json` |

699| Desativar através de uma variável de ambiente | Defina [`MAX_THINKING_TOKENS=0`](/docs/pt/env-vars), que desativa o pensamento na Anthropic API exceto em Opus 5.5 e modelos Fable. Em [provedores de terceiros](/docs/pt/third-party-integrations), Claude Code omite o parâmetro `thinking`, e modelos de raciocínio adaptativo ainda podem pensar. Outros valores se aplicam apenas com um [orçamento de pensamento fixo](#adaptive-reasoning-and-fixed-thinking-budgets) |751| Desativar através de uma variável de ambiente | Defina [`MAX_THINKING_TOKENS=0`](/docs/pt/env-vars), que desativa o pensamento na Anthropic API exceto em Opus 5.5, Sonnet 5.5 e modelos Fable. Em [provedores de terceiros](/docs/pt/third-party-integrations), Claude Code omite o parâmetro `thinking`, e modelos de raciocínio adaptativo ainda podem pensar. Outros valores se aplicam apenas com um [orçamento de pensamento fixo](#adaptive-reasoning-and-fixed-thinking-budgets) |

700 752 

701Você não pode desativar o pensamento em Opus 5.5 ou nos modelos Fable. O alternador de sessão, `alwaysThinkingEnabled` e `MAX_THINKING_TOKENS=0` não têm efeito lá, e o modelo decide por etapa quanto pensar com base no nível de esforço.753Você não pode desativar o pensamento em Opus 5.5, Sonnet 5.5 ou nos modelos Fable. O alternador de sessão, `alwaysThinkingEnabled` e `MAX_THINKING_TOKENS=0` não têm efeito lá, e o modelo decide por etapa quanto pensar com base no nível de esforço.

702 754 

703Claude Code recolhe a saída de pensamento por padrão. Pressione `Ctrl+O` para alternar o modo detalhado e ver o raciocínio como texto itálico cinzento. Sessões interativas na Anthropic API recebem blocos de pensamento redigidos por padrão, portanto defina `showThinkingSummaries: true` em [configurações](/docs/pt/settings) se quiser os resumos completos disponíveis quando expandir. Você é cobrado por todos os tokens de pensamento gerados, mesmo quando recolhidos ou redigidos.755Claude Code recolhe a saída de pensamento por padrão. Pressione `Ctrl+O` para alternar o modo detalhado e ver o raciocínio como texto itálico cinzento. Sessões interativas na Anthropic API recebem blocos de pensamento redigidos por padrão, portanto defina `showThinkingSummaries: true` em [configurações](/docs/pt/settings) se quiser os resumos completos disponíveis quando expandir. Você é cobrado por todos os tokens de pensamento gerados, mesmo quando recolhidos ou redigidos.

704 756 


706 Contexto estendido758 Contexto estendido

707</h3>759</h3>

708 760 

709Fable 5.1, Fable 5, Sonnet 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.761Fable 5.1, Fable 5, Sonnet 5 e posterior, 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.

710 762 

711Na Anthropic API, Fable 5.1, Fable 5, Sonnet 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).763Na Anthropic API, Fable 5.1, Fable 5, Sonnet 5 e posterior, 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).

712 764 

713Opus 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.765Opus 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.

714 766 


742/model claude-opus-4-8[1m]794/model claude-opus-4-8[1m]

743```795```

744 796 

745<h4 id="sonnet-5-context-window">797<h4 id="sonnet-5-5-and-sonnet-5-context-window">

746 Janela de contexto Sonnet 5798 Janela de contexto Sonnet 5.5 e Sonnet 5

747</h4>799</h4>

748 800 

749Na Anthropic API, Sonnet 5 sempre é executado 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.801Na 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.

750 802 

751Duas configurações orçam a janela em 200K:803Duas configurações orçam a janela em 200K:

752 804 

753* **Gateway LLM**: quando `ANTHROPIC_BASE_URL` aponta para um [gateway](/docs/pt/llm-gateway), Claude Code não pode verificar suporte a 1M. Para usar a janela completa, selecione Sonnet 5 (1M context) no seletor de modelo, que mapeia para `sonnet[1m]`.805* **Gateway LLM**: quando `ANTHROPIC_BASE_URL` aponta para um [gateway](/docs/pt/llm-gateway), Claude Code não pode verificar suporte a 1M. Para usar a janela completa, selecione Sonnet 5.5 (1M context) no seletor de modelo, que mapeia para `sonnet[1m]`, ou execute `/model claude-sonnet-5[1m]` para Sonnet 5.

754* **`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.806* **`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.

755 807 

756<h2 id="context-window-and-auto-compaction">808<h2 id="context-window-and-auto-compaction">


786* [Sessões em nuvem](/docs/pt/claude-code-on-the-web) compactam conforme a conversa se aproxima do limite do modelo838* [Sessões em nuvem](/docs/pt/claude-code-on-the-web) compactam conforme a conversa se aproxima do limite do modelo

787* 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 Foundry839* 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 Foundry

788* 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 200K840* 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

789* Modelos executando com uma janela nativa de 1M, como Sonnet 5, os modelos Fable e Opus 4.7 e posteriores na API Anthropic, compactam antes da janela se encher, em aproximadamente 967K tokens por padrão. No Amazon Bedrock, na Plataforma de Agentes do Google Cloud e no Microsoft Foundry, [Fixar modelos para implantações de terceiros](#pin-models-for-third-party-deployments) diz quais modelos executam com essa janela; para as configurações que orçam Sonnet 5 em 200K em vez disso, consulte [Janela de contexto Sonnet 5](#sonnet-5-context-window)841* Modelos executando com uma janela nativa de 1M, como Sonnet 5, os modelos Fable e Opus 4.7 e posteriores na API Anthropic, compactam antes da janela se encher, em aproximadamente 967K tokens por padrão. No Amazon Bedrock, na Plataforma de Agentes do Google Cloud e no Microsoft Foundry, [Fixar modelos para implantações de terceiros](#pin-models-for-third-party-deployments) diz quais modelos executam com essa janela; para as configurações que orçam Sonnet 5.5 e Sonnet 5 em 200K em vez disso, consulte [Janela de contexto Sonnet 5.5 e Sonnet 5](#sonnet-5-5-and-sonnet-5-context-window)

790* 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)842* 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)

791 843 

792<h3 id="correct-the-window-for-a-gateway-or-custom-model-id">844<h3 id="correct-the-window-for-a-gateway-or-custom-model-id">


861| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | O modelo a usar para `haiku`, ou [funcionalidade de fundo](/docs/pt/costs#background-token-usage) |913| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | O modelo a usar para `haiku`, ou [funcionalidade de fundo](/docs/pt/costs#background-token-usage) |

862| `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) |914| `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) |

863 915 

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

917 

864Nota: `ANTHROPIC_SMALL_FAST_MODEL` está descontinuado em favor de918Nota: `ANTHROPIC_SMALL_FAST_MODEL` está descontinuado em favor de

865`ANTHROPIC_DEFAULT_HAIKU_MODEL`.919`ANTHROPIC_DEFAULT_HAIKU_MODEL`.

866 920 


996| Variável de ambiente | Descrição |1050| Variável de ambiente | Descrição |

997| - | - |1051| - | - |

998| `DISABLE_PROMPT_CACHING` | Defina como `1` para desabilitar prompt caching para todos os modelos. Tem precedência sobre as configurações por modelo |1052| `DISABLE_PROMPT_CACHING` | Defina como `1` para desabilitar prompt caching para todos os modelos. Tem precedência sobre as configurações por modelo |

999| `DISABLE_PROMPT_CACHING_HAIKU` | Defina como `1` para desabilitar prompt caching apenas para modelos Haiku |1053| `DISABLE_PROMPT_CACHING_HAIKU` | Defina como `1` para desabilitar prompt caching para o [modelo Haiku padrão](/docs/pt/prompt-caching#disable-prompt-caching) |

1000| `DISABLE_PROMPT_CACHING_SONNET` | Defina como `1` para desabilitar prompt caching apenas para modelos Sonnet |1054| `DISABLE_PROMPT_CACHING_SONNET` | Defina como `1` para desabilitar prompt caching apenas para modelos Sonnet |

1001| `DISABLE_PROMPT_CACHING_OPUS` | Defina como `1` para desabilitar prompt caching apenas para modelos Opus |1055| `DISABLE_PROMPT_CACHING_OPUS` | Defina como `1` para desabilitar prompt caching apenas para modelos Opus |

1002| `DISABLE_PROMPT_CACHING_FABLE` | Defina como `1` para desabilitar prompt caching apenas para modelos Fable |1056| `DISABLE_PROMPT_CACHING_FABLE` | Defina como `1` para desabilitar prompt caching apenas para modelos Fable |

1003 1057 

1004Para 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).1058Para 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).

1059 

1060<h2 id="version-history">

1061 Histórico de versões

1062</h2>

1063 

1064Esta tabela lista a versão do Claude Code em que cada alias de modelo mudou o modelo para o qual ele é resolvido, sendo o mais recente primeiro.

1065 

1066| Versão | Alteração |

1067| :- | :- |

1068| v2.1.284 | `sonnet` é resolvido para Sonnet 5.5 na API Anthropic |

1069| v2.1.280 | `opus` é resolvido para Opus 5.5 na API Anthropic, Claude Platform na AWS, Amazon Bedrock e Agent Platform do Google Cloud |

1070| v2.1.257 | `fable` é resolvido para Fable 5.1, exceto em sessões de gateway de aplicativos Claude |

1071| v2.1.219 | `opus` é resolvido para Opus 5 na API Anthropic, Claude Platform na AWS, Amazon Bedrock e Agent Platform |

1072| v2.1.207 | `opus` é resolvido para Opus 4.8 no Claude Platform na AWS, Amazon Bedrock e Agent Platform |

1073| v2.1.197 | `sonnet` é resolvido para Sonnet 5 na API Anthropic |

1074| v2.1.154 | `opus` é resolvido para Opus 4.8 na API Anthropic |

1075| Anterior | `opus` é resolvido para Opus 4.7 no Claude Platform na AWS e para Opus 4.6 no Amazon Bedrock e Agent Platform. `fable` é resolvido para Fable 5 em todos os provedores |

Details

39 39 

40Para verificar uma configuração que exporta métricas, verifique seu backend para a métrica `claude_code.session.count`, que Claude Code emite quando uma sessão é iniciada. Para verificar uma configuração apenas de logs, envie um prompt e verifique o evento `claude_code.user_prompt`.40Para verificar uma configuração que exporta métricas, verifique seu backend para a métrica `claude_code.session.count`, que Claude Code emite quando uma sessão é iniciada. Para verificar uma configuração apenas de logs, envie um prompt e verifique o evento `claude_code.user_prompt`.

41 41 

42Se nada chegar, execute `claude --debug` e verifique o log de depuração. Claude Code relata falhas dos exportadores que você configura como erros `[3P telemetry]`, onde 3P significa third-party. As linhas prefixadas com `[Anthropic telemetry]` descrevem a [telemetria operacional separada da Anthropic](/docs/pt/data-usage#telemetry-services) e não indicam um problema com sua configuração.42Se nada chegar, inicie Claude Code com `claude --debug-file <path>` e verifique o log que ele escreve nesse caminho. Claude Code relata falhas dos exportadores que você configura como erros `[3P telemetry]`, onde 3P significa third-party. As linhas prefixadas com `[Anthropic telemetry]` descrevem a [telemetria operacional separada da Anthropic](/docs/pt/data-usage#telemetry-services) e não indicam um problema com sua configuração.

43 43 

44Para opções de configuração completas, consulte a [especificação OpenTelemetry](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options).44Para opções de configuração completas, consulte a [especificação OpenTelemetry](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options).

45 45 


72 Como as configurações gerenciadas bloqueiam o destino OTLP72 Como as configurações gerenciadas bloqueiam o destino OTLP

73</h3>73</h3>

74 74 

75Quando você define uma variável `OTEL_EXPORTER_OTLP_*` nas configurações gerenciadas, Claude Code remove variáveis conflitantes definidas pelo desenvolvedor na inicialização e registra um aviso que você pode ver com `claude --debug`. O que ele remove depende de qual variável você define:75Quando você define uma variável `OTEL_EXPORTER_OTLP_*` nas configurações gerenciadas, Claude Code remove variáveis conflitantes definidas pelo desenvolvedor na inicialização e registra um aviso no log de depuração. O que ele remove depende de qual variável você define:

76 76 

77* **Endpoints**: quando você define `OTEL_EXPORTER_OTLP_ENDPOINT`, Claude Code remove todos os endpoints por sinal definidos pelo desenvolvedor. Os desenvolvedores não podem apontar um sinal para um coletor diferente, portanto você não precisa também definir as variáveis de endpoint por sinal nas configurações gerenciadas.77* **Endpoints**: quando você define `OTEL_EXPORTER_OTLP_ENDPOINT`, Claude Code remove todos os endpoints por sinal definidos pelo desenvolvedor. Os desenvolvedores não podem apontar um sinal para um coletor diferente, portanto você não precisa também definir as variáveis de endpoint por sinal nas configurações gerenciadas.

78* **Protocolos**: quando você define `OTEL_EXPORTER_OTLP_PROTOCOL`, Claude Code remove todos os protocolos por sinal definidos pelo desenvolvedor.78* **Protocolos**: quando você define `OTEL_EXPORTER_OTLP_PROTOCOL`, Claude Code remove todos os protocolos por sinal definidos pelo desenvolvedor.


127| `OTEL_LOGS_EXPORT_INTERVAL` | Intervalo de exportação de logs em milissegundos (padrão: 5000) | `1000`, `10000` |127| `OTEL_LOGS_EXPORT_INTERVAL` | Intervalo de exportação de logs em milissegundos (padrão: 5000) | `1000`, `10000` |

128| `OTEL_LOG_USER_PROMPTS` | Ativar registro de conteúdo de prompt do usuário (padrão: desativado) | `1` para ativar |128| `OTEL_LOG_USER_PROMPTS` | Ativar registro de conteúdo de prompt do usuário (padrão: desativado) | `1` para ativar |

129| `OTEL_LOG_ASSISTANT_RESPONSES` | Ativar registro de texto de resposta do assistente em eventos `assistant_response` (padrão: desativado). Quando não definido, volta para o valor de `OTEL_LOG_USER_PROMPTS`. Requer Claude Code v2.1.193 ou posterior | `1` para ativar, `0` para manter reduzido |129| `OTEL_LOG_ASSISTANT_RESPONSES` | Ativar registro de texto de resposta do assistente em eventos `assistant_response` (padrão: desativado). Quando não definido, volta para o valor de `OTEL_LOG_USER_PROMPTS`. Requer Claude Code v2.1.193 ou posterior | `1` para ativar, `0` para manter reduzido |

130| `OTEL_LOG_TOOL_DETAILS` | Ativar registro de parâmetros de ferramenta e argumentos de entrada em eventos de ferramenta e atributos de span de rastreamento: comandos Bash, nomes de servidor MCP e ferramenta, nomes de skill, nomes de workflow criados pelo usuário e entrada de ferramenta. Também ativa nomes de comando customizado, plugin e MCP em eventos `user_prompt` (padrão: desativado). Para servidores integrados do Claude Desktop, em sessões que Claude Desktop possui, `mcp_server_name`/`mcp_tool_name` são emitidos em `tool_decision`/`tool_result` mesmo com o sinalizador desativado. A exceção requer Claude Code v2.1.214 ou posterior | `1` para ativar |130| `OTEL_LOG_TOOL_DETAILS` | Ativar registro de parâmetros de ferramenta e argumentos de entrada em eventos de ferramenta e atributos de span de rastreamento: comandos Bash, nomes de servidor MCP e ferramenta, nomes de skill, nomes de workflow criados pelo usuário e entrada de ferramenta. Também ativa nomes de comando customizado, plugin e MCP em eventos `user_prompt` e nomes reais de agente, skill, plugin e servidor MCP e ferramenta nos [contadores de custo e token](#cost-counter) (padrão: desativado). Para servidores integrados do Claude Desktop, em sessões que Claude Desktop possui, `mcp_server_name`/`mcp_tool_name` são emitidos em `tool_decision`/`tool_result` mesmo com o sinalizador desativado. A exceção requer Claude Code v2.1.214 ou posterior | `1` para ativar |

131| `OTEL_LOG_TOOL_CONTENT` | Ativar registro de conteúdo de ferramenta no [evento de span `tool.output`](#tool-output-span-event) (padrão: desativado). Os atributos de span carregam conteúdo de ferramenta sob [seus próprios gates](#new-context-gates). Requer [rastreamento](#traces-beta). O conteúdo é truncado no limite de conteúdo (60 KB por padrão) | `1` para ativar |131| `OTEL_LOG_TOOL_CONTENT` | Ativar registro de conteúdo de ferramenta no [evento de span `tool.output`](#tool-output-span-event) (padrão: desativado). Os atributos de span carregam conteúdo de ferramenta sob [seus próprios gates](#new-context-gates). Requer [rastreamento](#traces-beta). O conteúdo é truncado no limite de conteúdo (60 KB por padrão) | `1` para ativar |

132| `OTEL_LOG_MANAGED_SETTINGS` | Adicionar as configurações gerenciadas reduzidas e um resumo SHA-256 das configurações antes da redução aos eventos [managed settings resolved](#managed-settings-resolved-event) (padrão: desativado). Um valor em configurações de projeto ou local não o ativa. Requer Claude Code v2.1.274 ou posterior | `1` para ativar |132| `OTEL_LOG_MANAGED_SETTINGS` | Adicionar as configurações gerenciadas reduzidas e um resumo SHA-256 das configurações antes da redução aos eventos [managed settings resolved](#managed-settings-resolved-event) (padrão: desativado). Um valor em configurações de projeto ou local não o ativa. Requer Claude Code v2.1.274 ou posterior | `1` para ativar |

133| `OTEL_LOG_RAW_API_BODIES` | Emitir o corpo JSON completo da solicitação e resposta da API Anthropic Messages como eventos de log `api_request_body` / `api_response_body` (padrão: desativado). Os corpos incluem todo o histórico de conversa. Ativar isso implica consentimento para tudo que `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_TOOL_DETAILS` e `OTEL_LOG_TOOL_CONTENT` revelariam | `1` para corpos inline truncados no limite de conteúdo (60 KB por padrão), ou `file:<dir>` para corpos não truncados em disco com um ponteiro `body_ref` no evento |133| `OTEL_LOG_RAW_API_BODIES` | Emitir o corpo JSON completo da solicitação e resposta da API Anthropic Messages como eventos de log `api_request_body` / `api_response_body` (padrão: desativado). Os corpos incluem todo o histórico de conversa. Ativar isso implica consentimento para tudo que `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_TOOL_DETAILS` e `OTEL_LOG_TOOL_CONTENT` revelariam | `1` para corpos inline truncados no limite de conteúdo (60 KB por padrão), ou `file:<dir>` para corpos não truncados em disco com um ponteiro `body_ref` no evento |


257| `output_tokens` | Contagem de tokens de saída | |257| `output_tokens` | Contagem de tokens de saída | |

258| `cache_read_tokens` | Tokens lidos do cache de prompt | |258| `cache_read_tokens` | Tokens lidos do cache de prompt | |

259| `cache_creation_tokens` | Tokens escritos no cache de prompt | |259| `cache_creation_tokens` | Tokens escritos no cache de prompt | |

260| `request_id` | ID de solicitação da API Anthropic do cabeçalho de resposta `request-id` | |260| `request_id` | ID de solicitação da API. Mesmo valor que o atributo de correlação de evento [`request_id`](#event-correlation-attributes) | |

261| `gen_ai.response.id` | Mesmo valor que `request_id`. Convenção semântica GenAI OpenTelemetry | |261| `gen_ai.response.id` | Mesmo valor que `request_id`. Convenção semântica GenAI OpenTelemetry | |

262| `client_request_id` | `x-client-request-id` gerado pelo cliente da tentativa final | |262| `client_request_id` | `x-client-request-id` gerado pelo cliente da tentativa final | |

263| `attempt` | Total de tentativas feitas para esta solicitação | |263| `attempt` | Total de tentativas feitas para esta solicitação | |


296 296 

297Se você definir `OTEL_LOG_TOOL_CONTENT=1`, chamadas Read e Bash podem registrar um evento de span `tool.output` no span `claude_code.tool`. Chamadas Edit e Write registram um apenas quando você também define `OTEL_LOG_TOOL_DETAILS=1`. Essa variável não é limitada a essas duas ferramentas, então verifique sua [linha na tabela de configuração](#common-configuration-variables) para os argumentos que ela adiciona em outro lugar.297Se você definir `OTEL_LOG_TOOL_CONTENT=1`, chamadas Read e Bash podem registrar um evento de span `tool.output` no span `claude_code.tool`. Chamadas Edit e Write registram um apenas quando você também define `OTEL_LOG_TOOL_DETAILS=1`. Essa variável não é limitada a essas duas ferramentas, então verifique sua [linha na tabela de configuração](#common-configuration-variables) para os argumentos que ela adiciona em outro lugar.

298 298 

299Ferramentas MCP, WebFetch e WebSearch também registram este evento, no Claude Code v2.1.283 ou posterior.

300 

299Claude Code escreve este evento do retorno bem-sucedido de uma chamada de ferramenta, então uma chamada que gera um erro não registra nada, qualquer que seja a ferramenta. Entre as chamadas que retornam, ela não registra nenhum evento `tool.output` para:301Claude Code escreve este evento do retorno bem-sucedido de uma chamada de ferramenta, então uma chamada que gera um erro não registra nada, qualquer que seja a ferramenta. Entre as chamadas que retornam, ela não registra nenhum evento `tool.output` para:

300 302 

301* Uma chamada para qualquer ferramenta que não seja Read, Edit, Write e Bash, incluindo ferramentas MCP e WebFetch303* Uma chamada para qualquer ferramenta que não seja Read, Edit, Write, Bash, WebFetch, WebSearch e ferramentas MCP

302* Um Read que retorna qualquer coisa que não seja texto de arquivo, como uma imagem, um PDF ou uma releitura de um arquivo cujo conteúdo não mudou304* Um Read que retorna qualquer coisa que não seja texto de arquivo, como uma imagem, um PDF ou uma releitura de um arquivo cujo conteúdo não mudou

303* Uma chamada Edit ou Write, a menos que você também defina `OTEL_LOG_TOOL_DETAILS=1`305* Uma chamada Edit ou Write, a menos que você também defina `OTEL_LOG_TOOL_DETAILS=1`

306* Uma chamada WebFetch ou WebSearch que Claude Code moveu para o background porque você interrompeu o turno para [enviar suas mensagens enfileiradas imediatamente](/docs/pt/interactive-mode#when-claude-code-sends-what-you-queued) enquanto a chamada era executada. Claude recebe esse resultado mais tarde, após o span da ferramenta ter terminado

304 307 

305O evento carrega esses atributos, cada um truncado no limite de conteúdo (60 KB por padrão). `Controlado Por` nomeia a variável que um atributo precisa além de `OTEL_LOG_TOOL_CONTENT=1`, e para Edit e Write essa variável controla o evento em si em vez do atributo.308O evento carrega esses atributos, cada um truncado no limite de conteúdo (60 KB por padrão). `Controlado Por` nomeia a variável que um atributo precisa além de `OTEL_LOG_TOOL_CONTENT=1`, e para Edit e Write essa variável controla o evento em si em vez do atributo.

306 309 

307| Atributo | Descrição | Controlado Por |310| Atributo | Descrição | Controlado Por |

308| - | - | - |311| - | - | - |

309| `content` | Texto que a ferramenta Read retornou, ou o texto que uma chamada Write foi solicitada a escrever | `OTEL_LOG_TOOL_DETAILS` para a ferramenta Write |312| `content` | Texto que a ferramenta Read retornou, ou o texto que uma chamada Write foi solicitada a escrever | `OTEL_LOG_TOOL_DETAILS` para a ferramenta Write |

310| `output` | Saída combinada de um comando Bash, com stderr intercalado em stdout | |313| `output` | Para a ferramenta Bash, a saída combinada do comando, com stderr intercalado em stdout. Para uma ferramenta MCP, WebFetch ou WebSearch, o resultado que a ferramenta retornou: blocos de texto unidos por quebras de linha, com uma imagem ou documento substituído por um placeholder como `[image]` | |

311| `diff` | Patch estruturado que a ferramenta Edit aplicou | `OTEL_LOG_TOOL_DETAILS` |314| `diff` | Patch estruturado que a ferramenta Edit aplicou | `OTEL_LOG_TOOL_DETAILS` |

312| `file_path` | Caminho de arquivo alvo para as ferramentas Read, Edit e Write, repetindo o atributo de span do mesmo nome | `OTEL_LOG_TOOL_DETAILS` |315| `file_path` | Caminho de arquivo alvo para as ferramentas Read, Edit e Write, repetindo o atributo de span do mesmo nome | `OTEL_LOG_TOOL_DETAILS` |

313| `bash_command` | String de comando para a ferramenta Bash | `OTEL_LOG_TOOL_DETAILS` |316| `bash_command` | String de comando para a ferramenta Bash | `OTEL_LOG_TOOL_DETAILS` |


561 564 

562Defina `OTEL_METRICS_INCLUDE_REPOSITORY=true` para marcar métricas e eventos com a identidade do repositório da sessão, para que um coletor compartilhado possa atribuir uso por repositório. Requer Claude Code v2.1.269 ou posterior.565Defina `OTEL_METRICS_INCLUDE_REPOSITORY=true` para marcar métricas e eventos com a identidade do repositório da sessão, para que um coletor compartilhado possa atribuir uso por repositório. Requer Claude Code v2.1.269 ou posterior.

563 566 

564Claude Code deriva esses atributos uma vez por sessão do remote `origin` do repositório. Os remotes HTTPS e SSH de um repositório produzem valores idênticos:567Claude Code deriva esses atributos uma vez por sessão do remote `origin` do repositório. Quando os remotes HTTPS e SSH de um repositório nomeiam o mesmo host e o mesmo caminho, como fazem no GitHub, GitLab e Bitbucket Cloud, ambos produzem valores idênticos:

565 568 

566| Atributo | Valor |569| Atributo | Valor |

567| - | - |570| - | - |


572 575 

573Os valores são convertidos para minúsculas, e credenciais, strings de consulta e fragmentos da URL remota nunca aparecem neles. Os atributos são omitidos quando a sessão não tem um remote `origin`, quando o remote não é em forma de URL, ou quando o único repositório envolvente é seu diretório home.576Os valores são convertidos para minúsculas, e credenciais, strings de consulta e fragmentos da URL remota nunca aparecem neles. Os atributos são omitidos quando a sessão não tem um remote `origin`, quando o remote não é em forma de URL, ou quando o único repositório envolvente é seu diretório home.

574 577 

578Para obter esses atributos de uma [sessão na nuvem](/docs/pt/claude-code-on-the-web), defina as variáveis de telemetria, incluindo `OTEL_METRICS_INCLUDE_REPOSITORY`, em seu [ambiente na nuvem](/docs/pt/cloud-environments#set-environment-variables). Também permita o domínio do seu coletor no [acesso à rede](/docs/pt/cloud-environments#network-access) do ambiente.

579 

575Uma chave `vcs.*` que você declara em [`OTEL_RESOURCE_ATTRIBUTES`](#multi-team-organization-support) substitui o valor derivado para essa chave. Se você declarar `vcs.repository.url.full`, Claude Code nunca lê o remote e relata apenas as chaves que você declara.580Uma chave `vcs.*` que você declara em [`OTEL_RESOURCE_ATTRIBUTES`](#multi-team-organization-support) substitui o valor derivado para essa chave. Se você declarar `vcs.repository.url.full`, Claude Code nunca lê o remote e relata apenas as chaves que você declara.

576 581 

582Se clones HTTPS e SSH de um repositório relatarem valores diferentes, como em uma instalação auto-hospedada cujo URL de clone HTTPS carrega um prefixo de caminho que o URL SSH não tem, declare `vcs.repository.url.full` em `OTEL_RESOURCE_ATTRIBUTES` junto com todas as outras chaves `vcs.*` que você quer relatadas. Cada clone então relata a identidade que você declara.

583 

577Os atributos fluem apenas para seus próprios exportadores; a telemetria da Anthropic descarta todas as chaves `vcs.*`.584Os atributos fluem apenas para seus próprios exportadores; a telemetria da Anthropic descarta todas as chaves `vcs.*`.

578 585 

579<h3 id="metrics">586<h3 id="metrics">


650 657 

651Incrementado após cada requisição de API.658Incrementado após cada requisição de API.

652 659 

660Os atributos `agent.name`, `skill.name`, `plugin.name`, `mcp_server.name`, e `mcp_tool.name` cada um redige alguns nomes para um placeholder `"custom"` ou `"third-party"` por padrão. Se você definir `OTEL_LOG_TOOL_DETAILS=1`, eles carregam os nomes reais em vez disso. Antes da v2.1.273, os contadores de custo e token e os eventos `api_request`, `api_error`, e `api_refusal` carregavam os valores redatados mesmo com `OTEL_LOG_TOOL_DETAILS=1` definido.

661 

653**Atributos**:662**Atributos**:

654 663 

655* Todos os [atributos padrão](#standard-attributes)664* Todos os [atributos padrão](#standard-attributes)


657* `query_source`: Categoria do subsistema que emitiu a requisição. Um de `"main"`, `"subagent"`, ou `"auxiliary"`666* `query_source`: Categoria do subsistema que emitiu a requisição. Um de `"main"`, `"subagent"`, ou `"auxiliary"`

658* `speed`: `"fast"` quando a requisição usou modo rápido. Ausente caso contrário667* `speed`: `"fast"` quando a requisição usou modo rápido. Ausente caso contrário

659* `effort`: [Nível de esforço](/docs/pt/model-config#adjust-effort-level) aplicado à requisição: `"low"`, `"medium"`, `"high"`, `"xhigh"`, ou `"max"`. Ausente quando Claude Code não envia nível de esforço, por exemplo em um modelo que não suporta esforço.668* `effort`: [Nível de esforço](/docs/pt/model-config#adjust-effort-level) aplicado à requisição: `"low"`, `"medium"`, `"high"`, `"xhigh"`, ou `"max"`. Ausente quando Claude Code não envia nível de esforço, por exemplo em um modelo que não suporta esforço.

660* `agent.name`: Tipo de subagente que emitiu a requisição. Nomes de agentes integrados e agentes de plugins do marketplace oficial aparecem literalmente. Outros nomes de agentes definidos pelo usuário são substituídos por `"custom"` a menos que `OTEL_LOG_TOOL_DETAILS=1` esteja definido. Ausente quando a requisição não foi emitida por um tipo de subagente nomeado.669* `agent.name`: Tipo de subagente que emitiu a requisição. Nomes de agentes integrados e agentes de plugins do marketplace oficial aparecem literalmente. Outros nomes de agentes definidos pelo usuário são substituídos por `"custom"`. Ausente quando a requisição não foi emitida por um tipo de subagente nomeado.

661* `skill.name`: Skill ativa para a requisição, definida pela ferramenta Skill, um comando `/`, ou herdada por um subagente gerado. Nomes de skills integrados, agrupados, definidos pelo usuário e de plugins do marketplace oficial aparecem literalmente. Nomes de skills de plugins de terceiros são substituídos por `"third-party"` a menos que `OTEL_LOG_TOOL_DETAILS=1` esteja definido. Ausente quando nenhuma skill está ativa.670* `skill.name`: Skill ativa para a requisição, definida pela ferramenta Skill, um comando `/`, ou herdada por um subagente gerado. Nomes de skills integrados, agrupados, definidos pelo usuário e de plugins do marketplace oficial aparecem literalmente. Nomes de skills de plugins de terceiros são substituídos por `"third-party"`. Ausente quando nenhuma skill está ativa.

662* `plugin.name`: Plugin proprietário quando a skill ativa ou subagente é fornecido por um plugin. Nomes de plugins do marketplace oficial aparecem literalmente. Nomes de plugins de terceiros são substituídos por `"third-party"` a menos que `OTEL_LOG_TOOL_DETAILS=1` esteja definido. Ausente quando nem a skill nem o subagente tem um plugin proprietário.671* `plugin.name`: Plugin proprietário quando a skill ativa ou subagente é fornecido por um plugin. Nomes de plugins do marketplace oficial aparecem literalmente. Nomes de plugins de terceiros são substituídos por `"third-party"`. Ausente quando nem a skill nem o subagente tem um plugin proprietário.

663* `marketplace.name`: Marketplace do qual o plugin proprietário foi instalado. Emitido apenas para plugins do marketplace oficial. Ausente caso contrário.672* `marketplace.name`: Marketplace do qual o plugin proprietário foi instalado. Emitido apenas para plugins do marketplace oficial, mesmo com `OTEL_LOG_TOOL_DETAILS=1` definido. Ausente caso contrário.

664* `mcp_server.name`: Servidor MCP cujo resultado de ferramenta esta requisição consumiu. Nomes de servidores integrados, proxied por claude.ai e do registro oficial aparecem literalmente. Nomes de servidores configurados pelo usuário são substituídos por `"custom"` a menos que `OTEL_LOG_TOOL_DETAILS=1` esteja definido. Ausente quando a requisição não consumiu resultado de ferramenta MCP. Antes da v2.1.222, Claude Code definia este atributo em cada requisição após uma chamada de ferramenta MCP, não apenas em requisições que consumiram um resultado de ferramenta, então dashboards que o agregam mostram uma queda após você atualizar.673* `mcp_server.name`: Servidor MCP cujo resultado de ferramenta esta requisição consumiu. Nomes de servidores integrados, proxied por claude.ai e do registro oficial aparecem literalmente. Nomes de servidores configurados pelo usuário são substituídos por `"custom"`. Ausente quando a requisição não consumiu resultado de ferramenta MCP. Antes da v2.1.222, Claude Code definia este atributo em cada requisição após uma chamada de ferramenta MCP, não apenas em requisições que consumiram um resultado de ferramenta, então dashboards que o agregam mostram uma queda após você atualizar.

665* `mcp_tool.name`: Ferramenta MCP cujo resultado esta requisição consumiu, com o mesmo comportamento de redação e versão que `mcp_server.name`. Ausente quando a requisição não consumiu resultado de ferramenta MCP.674* `mcp_tool.name`: Ferramenta MCP cujo resultado esta requisição consumiu, com o mesmo comportamento de redação e versão que `mcp_server.name`. Ausente quando a requisição não consumiu resultado de ferramenta MCP.

666 675 

667<h4 id="token-counter">676<h4 id="token-counter">


722| `prompt.id` | Identificador UUID v4 vinculando todos os eventos produzidos ao processar um único prompt do usuário |731| `prompt.id` | Identificador UUID v4 vinculando todos os eventos produzidos ao processar um único prompt do usuário |

723| `event.sequence` | Contador baseado em 0 para ordenar eventos, contado por processo Claude Code em vez de por sessão |732| `event.sequence` | Contador baseado em 0 para ordenar eventos, contado por processo Claude Code em vez de por sessão |

724| `message.uuid` | UUID da mensagem conforme persistida na transcrição da sessão, os arquivos `~/.claude/projects/*/*.jsonl`. Presente em `assistant_response`, em `api_response_body`, e em `user_prompt` exceto para dispatches de comando, que podem produzir zero ou muitas mensagens. Em `assistant_response` e `api_response_body`, esta é a entrada final da transcrição da resposta, da qual o `parentUuid` do próximo turno se encadeia. Requer Claude Code v2.1.214 ou posterior, ou v2.1.274 ou posterior em `api_response_body` |733| `message.uuid` | UUID da mensagem conforme persistida na transcrição da sessão, os arquivos `~/.claude/projects/*/*.jsonl`. Presente em `assistant_response`, em `api_response_body`, e em `user_prompt` exceto para dispatches de comando, que podem produzir zero ou muitas mensagens. Em `assistant_response` e `api_response_body`, esta é a entrada final da transcrição da resposta, da qual o `parentUuid` do próximo turno se encadeia. Requer Claude Code v2.1.214 ou posterior, ou v2.1.274 ou posterior em `api_response_body` |

734| `request_id` | ID de requisição atribuído pelo servidor da API, lido do header de resposta `request-id`, como `req_011...`. Em uma resposta sem header `request-id`, como em [Amazon Bedrock](/docs/pt/amazon-bedrock), o valor vem do header `x-amzn-requestid` em vez disso. Presente em `api_request`, `api_error`, `api_refusal`, `assistant_response`, e `api_response_body` quando a resposta carrega um dos dois headers. Corresponde ao mesmo atributo no span de rastreamento `llm_request`. A fonte `x-amzn-requestid` requer Claude Code v2.1.282 ou posterior |

725| `client_request_id` | UUID gerado pelo cliente enviado como o header de requisição `x-client-request-id`. Presente em `api_request` e `api_error` em conexões de API de primeira parte; ausente em backends de provedores de terceiros e quando a requisição foi retentada através do fallback não-streaming. Emparelha uma requisição com sua resposta e permanece disponível para falhas como timeouts que nunca produziram um `request_id` do servidor. Corresponde ao mesmo atributo no span de rastreamento `llm_request`. Requer Claude Code v2.1.214 ou posterior |735| `client_request_id` | UUID gerado pelo cliente enviado como o header de requisição `x-client-request-id`. Presente em `api_request` e `api_error` em conexões de API de primeira parte; ausente em backends de provedores de terceiros e quando a requisição foi retentada através do fallback não-streaming. Emparelha uma requisição com sua resposta e permanece disponível para falhas como timeouts que nunca produziram um `request_id` do servidor. Corresponde ao mesmo atributo no span de rastreamento `llm_request`. Requer Claude Code v2.1.214 ou posterior |

726 736 

727Para rastrear toda atividade acionada por um único prompt, filtre seus eventos por um valor específico de `prompt.id`. Isto retorna o evento user\_prompt, quaisquer eventos api\_request, e quaisquer eventos tool\_result que ocorreram ao processar esse prompt.737Para rastrear toda atividade acionada por um único prompt, filtre seus eventos por um valor específico de `prompt.id`. Isto retorna o evento user\_prompt, quaisquer eventos api\_request, e quaisquer eventos tool\_result que ocorreram ao processar esse prompt.


771* `response_length`: Comprimento do texto de resposta em caracteres781* `response_length`: Comprimento do texto de resposta em caracteres

772* `response`: Texto de resposta, truncado no limite de conteúdo (60 KB por padrão). Redatado para `<REDACTED>` por padrão. Defina `OTEL_LOG_ASSISTANT_RESPONSES=1` para incluí-lo. Quando `OTEL_LOG_ASSISTANT_RESPONSES` não está definido, `OTEL_LOG_USER_PROMPTS` o controla em vez disso, então defina `OTEL_LOG_ASSISTANT_RESPONSES=0` para manter respostas redatadas enquanto o log de prompt está ativado782* `response`: Texto de resposta, truncado no limite de conteúdo (60 KB por padrão). Redatado para `<REDACTED>` por padrão. Defina `OTEL_LOG_ASSISTANT_RESPONSES=1` para incluí-lo. Quando `OTEL_LOG_ASSISTANT_RESPONSES` não está definido, `OTEL_LOG_USER_PROMPTS` o controla em vez disso, então defina `OTEL_LOG_ASSISTANT_RESPONSES=0` para manter respostas redatadas enquanto o log de prompt está ativado

773* `model`: Identificador do modelo (por exemplo, "claude-sonnet-5")783* `model`: Identificador do modelo (por exemplo, "claude-sonnet-5")

774* `request_id`: ID de requisição de API da Anthropic do header `request-id` da resposta. Presente apenas quando a API retorna um784* `request_id`: ID de requisição de API, descrito em [Atributos de correlação de eventos](#event-correlation-attributes)

775* `message.uuid`: UUID da entrada final da transcrição da resposta. Uma resposta de API é persistida como uma entrada de transcrição por bloco de conteúdo; esta é a última, da qual o `parentUuid` do próximo turno se encadeia. Requer Claude Code v2.1.214 ou posterior785* `message.uuid`: UUID da entrada final da transcrição da resposta. Uma resposta de API é persistida como uma entrada de transcrição por bloco de conteúdo; esta é a última, da qual o `parentUuid` do próximo turno se encadeia. Requer Claude Code v2.1.214 ou posterior

776* `query_source`: Subsistema que emitiu a requisição, como `"repl_main_thread"`, `"compact"`, ou um nome de subagente786* `query_source`: Subsistema que emitiu a requisição, como `"repl_main_thread"`, `"compact"`, ou um nome de subagente

777 787 


831* `output_tokens`: Número de tokens de saída841* `output_tokens`: Número de tokens de saída

832* `cache_read_tokens`: Número de tokens lidos do cache842* `cache_read_tokens`: Número de tokens lidos do cache

833* `cache_creation_tokens`: Número de tokens usados para criação de cache843* `cache_creation_tokens`: Número de tokens usados para criação de cache

834* `request_id`: ID de requisição de API da Anthropic do header `request-id` da resposta, como `"req_011..."`. Presente apenas quando a API retorna um.844* `request_id`: ID de requisição de API, como `"req_011..."`, descrito em [Atributos de correlação de eventos](#event-correlation-attributes).

835* `client_request_id`: UUID gerado pelo cliente enviado como o header de requisição `x-client-request-id`; veja a tabela [atributos de correlação de eventos](#event-correlation-attributes) para quando está presente. Requer Claude Code v2.1.214 ou posterior845* `client_request_id`: UUID gerado pelo cliente enviado como o header de requisição `x-client-request-id`; veja a tabela [atributos de correlação de eventos](#event-correlation-attributes) para quando está presente. Requer Claude Code v2.1.214 ou posterior

836* `speed`: `"fast"` ou `"normal"`, indicando se o modo rápido estava ativo846* `speed`: `"fast"` ou `"normal"`, indicando se o modo rápido estava ativo

837* `query_source`: Subsistema que emitiu a requisição, como `"repl_main_thread"`, `"compact"`, ou um nome de subagente847* `query_source`: Subsistema que emitiu a requisição, como `"repl_main_thread"`, `"compact"`, ou um nome de subagente


857* `status_code`: Código de status HTTP como um número. Ausente para erros não-HTTP como falhas de conexão.867* `status_code`: Código de status HTTP como um número. Ausente para erros não-HTTP como falhas de conexão.

858* `duration_ms`: Duração da requisição em milissegundos868* `duration_ms`: Duração da requisição em milissegundos

859* `attempt`: Número total de tentativas feitas, incluindo a requisição inicial (`1` significa que nenhuma retentativa ocorreu)869* `attempt`: Número total de tentativas feitas, incluindo a requisição inicial (`1` significa que nenhuma retentativa ocorreu)

860* `request_id`: ID de requisição de API da Anthropic do header `request-id` da resposta, como `"req_011..."`. Presente apenas quando a API retorna um.870* `request_id`: ID de requisição de API, como `"req_011..."`, descrito em [Atributos de correlação de eventos](#event-correlation-attributes).

861* `client_request_id`: UUID gerado pelo cliente enviado como o header de requisição `x-client-request-id`. Disponível mesmo quando uma falha como timeout ou erro de conexão nunca produziu um `request_id` do servidor; veja a tabela [atributos de correlação de eventos](#event-correlation-attributes) para quando está presente. Requer Claude Code v2.1.214 ou posterior871* `client_request_id`: UUID gerado pelo cliente enviado como o header de requisição `x-client-request-id`. Disponível mesmo quando uma falha como timeout ou erro de conexão nunca produziu um `request_id` do servidor; veja a tabela [atributos de correlação de eventos](#event-correlation-attributes) para quando está presente. Requer Claude Code v2.1.214 ou posterior

862* `speed`: `"fast"` ou `"normal"`, indicando se o modo rápido estava ativo872* `speed`: `"fast"` ou `"normal"`, indicando se o modo rápido estava ativo

863* `query_source`: Subsistema que emitiu a requisição, como `"repl_main_thread"`, `"compact"`, ou um nome de subagente873* `query_source`: Subsistema que emitiu a requisição, como `"repl_main_thread"`, `"compact"`, ou um nome de subagente


879* `event.timestamp`: Timestamp ISO 8601889* `event.timestamp`: Timestamp ISO 8601

880* `event.sequence`: contador por processo para ordenar eventos, descrito em [Atributos de correlação de eventos](#event-correlation-attributes)890* `event.sequence`: contador por processo para ordenar eventos, descrito em [Atributos de correlação de eventos](#event-correlation-attributes)

881* `model`: Identificador do modelo da requisição891* `model`: Identificador do modelo da requisição

882* `request_id`: ID de requisição de API da Anthropic do header `request-id` da resposta, como `"req_011..."`. Presente apenas quando a API retorna um.892* `request_id`: ID de requisição de API, como `"req_011..."`, descrito em [Atributos de correlação de eventos](#event-correlation-attributes).

883* `query_source`: Subsistema que emitiu a requisição, como `"repl_main_thread"`, `"compact"`, ou um nome de subagente. Veja [`api_request`](#api-request-event) para definições.893* `query_source`: Subsistema que emitiu a requisição, como `"repl_main_thread"`, `"compact"`, ou um nome de subagente. Veja [`api_request`](#api-request-event) para definições.

884* `speed`: Ou `"fast"` quando [Modo rápido](/docs/pt/fast-mode) está ativo, ou `"normal"`894* `speed`: Ou `"fast"` quando [Modo rápido](/docs/pt/fast-mode) está ativo, ou `"normal"`

885* `attempt`: Número de tentativa de retentativa. A primeira tentativa é `1`.895* `attempt`: Número de tentativa de retentativa. A primeira tentativa é `1`.


934* `body_truncated`: `"true"` quando truncamento inline ocorreu. Ausente em modo arquivo e quando nenhum truncamento ocorreu.944* `body_truncated`: `"true"` quando truncamento inline ocorreu. Ausente em modo arquivo e quando nenhum truncamento ocorreu.

935* `model`: Identificador do modelo945* `model`: Identificador do modelo

936* `query_source`: Subsistema que emitiu a requisição946* `query_source`: Subsistema que emitiu a requisição

937* `request_id`: ID de requisição de API da Anthropic do header `request-id` da resposta, como `"req_011..."`. Presente apenas quando a API retorna um.947* `request_id`: ID de requisição de API, como `"req_011..."`, descrito em [Atributos de correlação de eventos](#event-correlation-attributes).

938* `request_body_id`: O `request_body_id` do evento [`api_request_body`](#api-request-body-event) que esta resposta responde. Requer Claude Code v2.1.274 ou posterior948* `request_body_id`: O `request_body_id` do evento [`api_request_body`](#api-request-body-event) que esta resposta responde. Requer Claude Code v2.1.274 ou posterior

939* `message.id`: ID de mensagem que a API atribuiu à resposta, o campo `id` do corpo da resposta. Requer Claude Code v2.1.274 ou posterior949* `message.id`: ID de mensagem que a API atribuiu à resposta, o campo `id` do corpo da resposta. Requer Claude Code v2.1.274 ou posterior

940* `message.uuid`: UUID da entrada final da transcrição da resposta. Junto com `request_body_id`, vincula uma mensagem de transcrição aos corpos de requisição e resposta atrás dela. Requer Claude Code v2.1.274 ou posterior950* `message.uuid`: UUID da entrada final da transcrição da resposta. Junto com `request_body_id`, vincula uma mensagem de transcrição aos corpos de requisição e resposta atrás dela. Requer Claude Code v2.1.274 ou posterior


1563}1573}

1564```1574```

1565 1575 

1566Para confirmar que os eventos chegam, envie um prompt em uma sessão executada sob essa configuração e verifique seu SIEM para o evento `claude_code.user_prompt`. Se nada chegar, execute `claude --debug` e verifique o log de depuração para erros de exportação `[3P telemetry]`.1576Para confirmar que os eventos chegam, envie um prompt em uma sessão executada sob essa configuração e verifique seu SIEM para o evento `claude_code.user_prompt`. Se nada chegar, inicie Claude Code com `claude --debug-file <path>` e verifique esse log para erros de exportação `[3P telemetry]`.

1567 1577 

1568<h2 id="backend-considerations">1578<h2 id="backend-considerations">

1569 Considerações de backend1579 Considerações de backend


1633 * Eventos `tool_result` e `tool_decision` incluem um atributo `tool_parameters` com comandos Bash, nomes de servidor MCP e ferramenta, e nomes de skill. Campos como `full_command` são emitidos sem truncamento1643 * Eventos `tool_result` e `tool_decision` incluem um atributo `tool_parameters` com comandos Bash, nomes de servidor MCP e ferramenta, e nomes de skill. Campos como `full_command` são emitidos sem truncamento

1634 * Eventos `tool_result` adicionalmente incluem um atributo `tool_input` com caminhos de arquivo, URLs, padrões de busca e outros argumentos. Valores individuais com mais de 512 caracteres são truncados e o total é limitado a \~4 K caracteres1644 * Eventos `tool_result` adicionalmente incluem um atributo `tool_input` com caminhos de arquivo, URLs, padrões de busca e outros argumentos. Valores individuais com mais de 512 caracteres são truncados e o total é limitado a \~4 K caracteres

1635 * Eventos `user_prompt` incluem o `command_name` verbatim para comandos customizados, plugin e MCP1645 * Eventos `user_prompt` incluem o `command_name` verbatim para comandos customizados, plugin e MCP

1646 * Os [contadores de custo e token](#cost-counter) e os eventos `api_request`, `api_error` e `api_refusal` carregam nomes reais de agente, skill, plugin e servidor MCP e nomes de ferramenta em seus atributos de atribuição

1636 * Spans de rastreamento incluem o mesmo atributo `tool_input` e atributos derivados de entrada como `file_path`, com o mesmo truncamento que `tool_input`1647 * Spans de rastreamento incluem o mesmo atributo `tool_input` e atributos derivados de entrada como `file_path`, com o mesmo truncamento que `tool_input`

1637* O conteúdo de ferramenta não é registrado em spans de rastreamento por padrão. Para incluí-lo, defina `OTEL_LOG_TOOL_CONTENT=1`. O span `claude_code.tool` então carrega um [evento de span `tool.output`](#tool-output-span-event) com conteúdos de arquivo brutos e saída de comando Bash, truncado no limite de conteúdo (60 KB por padrão) por atributo. O conteúdo de ferramenta também alcança spans através de [`new_context`, cujo controle difere por span](#new-context-gates). Configure seu backend de telemetria para filtrar ou reduzir esses atributos conforme necessário1648* O conteúdo de ferramenta não é registrado em spans de rastreamento por padrão. Para incluí-lo, defina `OTEL_LOG_TOOL_CONTENT=1`. O span `claude_code.tool` então carrega um [evento de span `tool.output`](#tool-output-span-event) com conteúdos de arquivo brutos, saída de comando Bash e o que ferramentas MCP, WebFetch e WebSearch retornam, truncado no limite de conteúdo (60 KB por padrão) por atributo. Resultados de ferramentas MCP, WebFetch e WebSearch requerem Claude Code v2.1.283 ou posterior. O conteúdo de ferramenta também alcança spans através de [`new_context`, cujo controle difere por span](#new-context-gates). Configure seu backend de telemetria para filtrar ou reduzir esses atributos conforme necessário

1638* Corpos de solicitação e resposta da API Anthropic Messages brutos não são registrados por padrão. Para incluí-los, defina `OTEL_LOG_RAW_API_BODIES` em suas configurações de shell, usuário ou gerenciadas. É ignorado em [configurações de projeto e local](/docs/pt/settings-reference#variables-claude-code-ignores-in-env). Os corpos contêm o histórico de conversa completo, incluindo o prompt do sistema, cada turno anterior de usuário e assistente, e resultados de ferramenta, portanto ativar isso implica consentimento para tudo que os outros sinalizadores de conteúdo `OTEL_LOG_*` revelariam. O Claude Code sempre reduz o conteúdo de pensamento estendido do Claude desses corpos, independentemente de outras configurações. O valor que você define determina como o Claude Code entrega os corpos:1649* Corpos de solicitação e resposta da API Anthropic Messages brutos não são registrados por padrão. Para incluí-los, defina `OTEL_LOG_RAW_API_BODIES` em suas configurações de shell, usuário ou gerenciadas. É ignorado em [configurações de projeto e local](/docs/pt/settings-reference#variables-claude-code-ignores-in-env). Os corpos contêm o histórico de conversa completo, incluindo o prompt do sistema, cada turno anterior de usuário e assistente, e resultados de ferramenta, portanto ativar isso implica consentimento para tudo que os outros sinalizadores de conteúdo `OTEL_LOG_*` revelariam. O Claude Code sempre reduz o conteúdo de pensamento estendido do Claude desses corpos, independentemente de outras configurações. O valor que você define determina como o Claude Code entrega os corpos:

1639 * Com `=1`, Claude Code emite eventos de log `api_request_body` e `api_response_body` para cada chamada de API. O atributo `body` dos eventos carrega a carga útil serializada em JSON, truncada no limite de conteúdo (60 KB por padrão)1650 * Com `=1`, Claude Code emite eventos de log `api_request_body` e `api_response_body` para cada chamada de API. O atributo `body` dos eventos carrega a carga útil serializada em JSON, truncada no limite de conteúdo (60 KB por padrão)

1640 * Com `=file:<dir>`, Claude Code escreve corpos não truncados em arquivos `.request.json` e `.response.json` sob esse diretório, e os eventos carregam um caminho `body_ref` em vez do corpo inline. Envie o diretório com um coletor de log ou sidecar em vez de através do fluxo de telemetria.1651 * Com `=file:<dir>`, Claude Code escreve corpos não truncados em arquivos `.request.json` e `.response.json` sob esse diretório, e os eventos carregam um caminho `body_ref` em vez do corpo inline. Envie o diretório com um coletor de log ou sidecar em vez de através do fluxo de telemetria.

overview.md +3 −1

Details

18 <Tab title="Terminal">18 <Tab title="Terminal">

19 O CLI completo para trabalhar com Claude Code diretamente em seu terminal. Edite arquivos, execute comandos e gerencie todo o seu projeto a partir da linha de comando.19 O CLI completo para trabalhar com Claude Code diretamente em seu terminal. Edite arquivos, execute comandos e gerencie todo o seu projeto a partir da linha de comando.

20 20 

21 Para instalar Claude Code, use um dos seguintes métodos:21 Para instalar Claude Code, abra um terminal e execute o comando para seu sistema. Se você nunca usou um terminal antes, o [guia de terminal](/docs/pt/terminal-guide) mostra como abrir um e colar o comando.

22 22 

23 <Tabs>23 <Tabs>

24 <Tab title="Instalação Nativa (Recomendado)">24 <Tab title="Instalação Nativa (Recomendado)">


40 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd40 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

41 ```41 ```

42 42 

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

44 

43 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. Seu prompt mostra `PS C:\` quando você está no PowerShell e `C:\` sem o `PS` quando você está no CMD.45 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. Seu prompt mostra `PS C:\` quando você está no PowerShell e `C:\` sem o `PS` quando você está no CMD.

44 46 

45 Se o comando de instalação falhar com `syntax error near unexpected token '<'`, um `403`, ou outro erro de curl, consulte [Solucionar problemas de instalação](/docs/pt/troubleshoot-install#find-your-error) para corresponder o erro a uma correção e para métodos alternativos de instalação.47 Se o comando de instalação falhar com `syntax error near unexpected token '<'`, um `403`, ou outro erro de curl, consulte [Solucionar problemas de instalação](/docs/pt/troubleshoot-install#find-your-error) para corresponder o erro a uma correção e para métodos alternativos de instalação.

permission-modes.md +162 −124

Details

6 6 

7> Controle se Claude pede permissão antes de agir. Alterne modos de permissão com Shift+Tab na CLI, o indicador de modo no VS Code ou o seletor de modo no Desktop.7> Controle se Claude pede permissão antes de agir. Alterne modos de permissão com Shift+Tab na CLI, o indicador de modo no VS Code ou o seletor de modo no Desktop.

8 8 

9Um modo de permissão define quais ações Claude pode executar em uma sessão sem pedir sua permissão primeiro. No modo Manual, Claude Code para e pede sua permissão antes da maioria das ações que editam arquivos, executam comandos shell ou acessam a rede. No [modo automático](#eliminate-prompts-with-auto-mode), um segundo modelo, o classificador, revisa as ações em vez de você; [como o classificador avalia ações](#how-the-classifier-evaluates-actions) lista quais ações ele revisa e quais o ignoram.9Um modo de permissão define quais ações Claude pode executar em uma sessão sem pedir sua permissão primeiro. No modo Manual, Claude Code para e pede sua permissão antes da maioria das ações que editam arquivos, executam comandos shell ou acessam a rede. No [modo automático](#eliminate-prompts-with-auto-mode), um segundo modelo, o classificador, revisa as ações em vez de você; [como o classificador avalia ações](#how-the-classifier-evaluates-actions) lista quais ações ele revisa e quais o ignora.

10 10 

11Nos planos Pro, Max e Team, o modo de permissão inicial integrado é o modo automático. [Qual modo uma sessão inicia](#which-mode-a-session-starts-in) cobre as superfícies e configurações que alteram o modo de permissão inicial. Você também pode alterar o modo de permissão de uma sessão em execução a qualquer momento.11Com Claude Code v2.1.283 ou posterior, o modo automático é o modo de permissão inicial integrado para sessões de terminal interativo e VS Code. Em versões anteriores, é o modo de permissão inicial integrado apenas nos planos Pro, Max e Team. [Qual modo uma sessão inicia](#which-mode-a-session-starts-in) cobre as superfícies e configurações que alteram o modo de permissão inicial. Você também pode alterar o modo de permissão de uma sessão em execução a qualquer momento.

12 12 

13<h2 id="available-modes">13<h2 id="available-modes">

14 Modos disponíveis14 Modos disponíveis


57| Revisar cada ação você mesmo | Modo Manual: `claude --permission-mode default` | Nenhum | Trabalho sensível, código desconhecido |57| Revisar cada ação você mesmo | Modo Manual: `claude --permission-mode default` | Nenhum | Trabalho sensível, código desconhecido |

58| Iterar localmente com menos prompts, sem um classificador | Modo Manual mais o sandbox Bash em [modo auto-allow](/docs/pt/sandboxing#sandbox-modes): `claude --permission-mode default`, depois execute `/sandbox` e selecione auto-allow | O sandbox Bash integrado, em macOS, Linux e WSL2 | Regras de negação ainda se aplicam, e regras de solicitação que nomeiam um comando, como `Bash(git push *)`, ainda solicitam. Para ativar o sandbox a partir de um arquivo de configurações em vez disso, defina [`sandbox.enabled`](/docs/pt/settings-reference#sandbox-enabled) como `true` |58| Iterar localmente com menos prompts, sem um classificador | Modo Manual mais o sandbox Bash em [modo auto-allow](/docs/pt/sandboxing#sandbox-modes): `claude --permission-mode default`, depois execute `/sandbox` e selecione auto-allow | O sandbox Bash integrado, em macOS, Linux e WSL2 | Regras de negação ainda se aplicam, e regras de solicitação que nomeiam um comando, como `Bash(git push *)`, ainda solicitam. Para ativar o sandbox a partir de um arquivo de configurações em vez disso, defina [`sandbox.enabled`](/docs/pt/settings-reference#sandbox-enabled) como `true` |

59| Explorar antes de alterar qualquer coisa | `claude --permission-mode plan` | Nenhum | Claude Code bloqueia edições até que você [aprove um plano](#review-and-approve-a-plan) |59| Explorar antes de alterar qualquer coisa | `claude --permission-mode plan` | Nenhum | Claude Code bloqueia edições até que você [aprove um plano](#review-and-approve-a-plan) |

60| Trabalhar sem supervisão em modo automático | `claude --permission-mode auto`, o [modo de permissão inicial integrado](#which-mode-a-session-starts-in) em Pro, Max e Team | Nenhum; um sandbox ou contêiner adiciona defesa em profundidade | Requer um [modelo suportado](#eliminate-prompts-with-auto-mode), e sua organização pode [desativar o modo automático](#eliminate-prompts-with-auto-mode) |60| Trabalhar sem supervisão em modo automático | `claude --permission-mode auto`, o [modo de permissão inicial integrado](#which-mode-a-session-starts-in) com v2.1.283 ou posterior | Nenhum; um sandbox ou contêiner adiciona defesa em profundidade | Requer um [modelo suportado](#eliminate-prompts-with-auto-mode), e sua organização pode [desativar o modo automático](#eliminate-prompts-with-auto-mode) |

61| Executar em CI com uma lista de permissões exata | `claude -p "run the test suite" --permission-mode dontAsk --allowedTools "Bash(npm test)" "Read"` | Nenhum além do que seu executor de CI fornece | [Cloud sessions](/docs/pt/claude-code-on-the-web) ignora `dontAsk` de arquivos de configurações |61| Executar em CI com uma lista de permissões exata | `claude -p "run the test suite" --permission-mode dontAsk --allowedTools "Bash(npm test)" "Read"` | Nenhum além do que seu executor de CI fornece | [Cloud sessions](/docs/pt/claude-code-on-the-web) ignora `dontAsk` de arquivos de configurações |

62| Executar totalmente sem supervisão dentro de um contêiner | `claude -p "<prompt>" --dangerously-skip-permissions` | Obrigatório: um contêiner, VM ou o [runtime do sandbox](/docs/pt/sandbox-environments#sandbox-runtime); em Linux e macOS, execute como um [usuário não-root](#skip-all-checks-with-bypasspermissions-mode) | Cloud sessions ignora este modo de arquivos de configurações. Nesta execução `-p`, as [poucas chamadas que ainda solicitariam](#skip-all-checks-with-bypasspermissions-mode) são negadas em vez disso |62| Executar totalmente sem supervisão dentro de um contêiner | `claude -p "<prompt>" --dangerously-skip-permissions` | Obrigatório: um contêiner, VM ou o [runtime do sandbox](/docs/pt/sandbox-environments#sandbox-runtime); em Linux e macOS, execute como um [usuário não-root](#skip-all-checks-with-bypasspermissions-mode) | Cloud sessions ignora este modo de arquivos de configurações. Nesta execução `-p`, as [poucas chamadas que ainda solicitariam](#skip-all-checks-with-bypasspermissions-mode) são negadas em vez disso |

63 63 


81 81 

82O padrão integrado `auto` requer Claude Code v2.1.228 ou posterior em macOS, Linux e WSL, e v2.1.233 ou posterior no Windows nativo. Em versões anteriores, o padrão integrado é Manual.82O padrão integrado `auto` requer Claude Code v2.1.228 ou posterior em macOS, Linux e WSL, e v2.1.233 ou posterior no Windows nativo. Em versões anteriores, o padrão integrado é Manual.

83 83 

84O padrão integrado depende de como você executa Claude Code, do seu plano e se Claude Code conseguiu buscar seus sinalizadores de recurso. A primeira linha que corresponde à sua sessão se aplica. A tabela cobre sessões que você inicia em um terminal ou através da extensão VS Code; para o aplicativo de desktop e claude.ai, veja as abas Desktop e Web em [Alternar modos de permissão](#switch-permission-modes).84O padrão integrado depende de como você executa Claude Code. A primeira linha que corresponde à sua sessão se aplica. A tabela cobre sessões que você inicia em um terminal ou através da extensão VS Code; para o aplicativo de desktop e claude.ai, veja as abas Desktop e Web em [Alternar modos de permissão](#switch-permission-modes).

85 85 

86| Como você executa Claude Code | Modo de permissão inicial integrado |86| Como você executa Claude Code | Modo de permissão inicial integrado |

87| :- | :- |87| :- | :- |

88| Qualquer arquivo de configurações define `disableAutoMode` como `"disable"` | `default` |88| Qualquer arquivo de configurações define `disableAutoMode` como `"disable"` | `default` |

89| [Busca de sinalizador de recurso](/docs/pt/env-vars#features-that-need-feature-flag-fetching) está desativada | `default` |

90| Sua [primeira sessão depois que você instala Claude Code ou faz upgrade](/docs/pt/env-vars#first-session-after-an-install-or-upgrade) para uma versão que adiciona este padrão, a menos que, após uma instalação limpa, Claude Code busque os sinalizadores a tempo | `default` |

91| `claude -p` ou o [Agent SDK](/docs/pt/agent-sdk/permissions) | `default` |89| `claude -p` ou o [Agent SDK](/docs/pt/agent-sdk/permissions) | `default` |

92| Amazon Bedrock, Agent Platform do Google Cloud, Microsoft Foundry, [Claude Platform on AWS](/docs/pt/claude-platform-on-aws) ou uma sessão [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway) conectada | `default` |90| Em um terminal ou através da [extensão VS Code](/docs/pt/vs-code) | `auto` com Claude Code v2.1.283 ou posterior; em versões anteriores, `auto` em planos Pro, Max ou Team em sessões que [buscam sinalizadores de recurso](/docs/pt/env-vars#features-that-need-feature-flag-fetching), e `default` caso contrário |

93| Um plano Pro, Max ou Team, em um terminal ou através da [extensão VS Code](/docs/pt/vs-code) | `auto` |

94| Um plano Enterprise ou uma chave de API do Claude Console | `default` |

95 91 

96Quando a busca de sinalizador de recurso está desativada, ou em uma [primeira sessão após uma instalação ou upgrade](/docs/pt/env-vars#first-session-after-an-install-or-upgrade) onde os sinalizadores ainda não chegaram, a extensão VS Code ignora todos os arquivos de configurações ao escolher o modo de permissão inicial.92Em sua [primeira sessão após uma instalação ou upgrade](/docs/pt/env-vars#first-session-after-an-install-or-upgrade), Claude Code pode escolher o modo de permissão inicial antes de seus sinalizadores de recurso chegarem. Essa sessão pode iniciar em um modo de permissão diferente do que a tabela fornece, e sua próxima sessão corresponde à tabela.

97 93 

98Quando o sinalizador, um arquivo de configurações ou o padrão integrado seleciona `auto` mas o modo automático não está disponível para a sessão, Claude Code inicia a sessão no modo Manual em vez disso. O modo automático não está disponível quando a sessão não atende aos [requisitos de disponibilidade](#eliminate-prompts-with-auto-mode), como um arquivo de configurações desativando-o ou um modelo que não o suporta, ou quando Anthropic o desativou temporariamente no lado do servidor.94Quando a flag, um arquivo de configurações ou o padrão integrado seleciona `auto` mas o modo automático não está disponível para a sessão, Claude Code inicia a sessão no modo Manual em vez disso. O modo automático não está disponível quando a sessão não atende aos [requisitos de disponibilidade](#eliminate-prompts-with-auto-mode), como um arquivo de configurações desativando-o ou um modelo que não o suporta, ou quando Anthropic o desativou temporariamente no lado do servidor.

99 95 

100A primeira vez que o padrão integrado inicia uma de suas sessões em modo automático, Claude Code mostra um aviso que vincula a esta página:96A primeira vez que o padrão integrado inicia uma de suas sessões em modo automático, Claude Code mostra um aviso que vincula a esta página:

101 97 


177 173 

178 1. `claudeCode.initialPermissionMode`174 1. `claudeCode.initialPermissionMode`

179 2. O modo que você escolheu por último no indicador de modo, se foi Manual, Editar automaticamente ou Auto. Escolher Plan ou Bypass permissions se aplica apenas a essa conversa175 2. O modo que você escolheu por último no indicador de modo, se foi Manual, Editar automaticamente ou Auto. Escolher Plan ou Bypass permissions se aplica apenas a essa conversa

180 3. `permissions.defaultMode` de [configurações gerenciadas](/docs/pt/managed-settings) ou `~/.claude/settings.json`, em planos Pro, Max e Team com [busca de sinalizador de recurso](#which-mode-a-session-starts-in) disponível176 3. `permissions.defaultMode` de [configurações gerenciadas](/docs/pt/managed-settings) ou `~/.claude/settings.json`

181 4. O [padrão integrado](#which-mode-a-session-starts-in) para seu plano, provedor e configurações de organização177 4. O [padrão integrado](#which-mode-a-session-starts-in) para seu plano, provedor e configurações de organização

182 178 

183 A extensão nunca lê `.claude/settings.json` ou `.claude/settings.local.json` de um projeto para o modo de permissão inicial, e em conversas que não atendem às condições do item 3, ela não lê nenhum arquivo de configurações. Quando `claudeCode.claudeProcessWrapper` está definido, os itens 3 e 4 também não se aplicam: essas conversas iniciam em Manual a menos que o item 1 ou item 2 defina um modo de permissão.179 A extensão nunca lê `.claude/settings.json` ou `.claude/settings.local.json` de um projeto para o modo de permissão inicial. Quando `claudeCode.claudeProcessWrapper` está definido, os itens 3 e 4 não se aplicam: essas conversas iniciam em Manual a menos que o item 1 ou item 2 defina um modo de permissão.

180 

181 Antes de v2.1.283, o item 3 se aplicava apenas em planos Pro, Max e Team em sessões que [buscam sinalizadores de recurso](/docs/pt/env-vars#features-that-need-feature-flag-fetching).

184 182 

185 Auto aparece no indicador de modo quando [modo automático está disponível](#eliminate-prompts-with-auto-mode).183 Auto aparece no indicador de modo quando [modo automático está disponível](#eliminate-prompts-with-auto-mode).

186 184 


214 Use o dropdown de modo ao lado da caixa de prompt em [claude.ai/code](https://claude.ai/code) ou no aplicativo móvel. Prompts de permissão aparecem no claude.ai para aprovação. Quais modos aparecem depende de onde a sessão é executada:212 Use o dropdown de modo ao lado da caixa de prompt em [claude.ai/code](https://claude.ai/code) ou no aplicativo móvel. Prompts de permissão aparecem no claude.ai para aprovação. Quais modos aparecem depende de onde a sessão é executada:

215 213 

216 * **[Sessões em nuvem](/docs/pt/claude-code-on-the-web)**: Accept edits, Plan e Auto. Accept edits corresponde ao modo `default`: sessões em nuvem pré-aprovam edições de arquivo independentemente do modo, então o dropdown mostra Accept edits em vez de Manual. Sessões em nuvem ainda honram `defaultMode: "acceptEdits"` de configurações. O modo Auto aparece apenas quando sua organização o permite e o modelo selecionado o suporta. Bypass permissions não está disponível.214 * **[Sessões em nuvem](/docs/pt/claude-code-on-the-web)**: Accept edits, Plan e Auto. Accept edits corresponde ao modo `default`: sessões em nuvem pré-aprovam edições de arquivo independentemente do modo, então o dropdown mostra Accept edits em vez de Manual. Sessões em nuvem ainda honram `defaultMode: "acceptEdits"` de configurações. O modo Auto aparece apenas quando sua organização o permite e o modelo selecionado o suporta. Bypass permissions não está disponível.

217 * **[Sessões de Remote Control](/docs/pt/remote-control)** em sua máquina local: Manual, Accept edits e Plan. Você não pode selecionar Auto ou Bypass permissions do aplicativo.215 * **[Sessões de Remote Control](/docs/pt/remote-control)** em sua máquina local: Manual, Accept edits e Plan para uma sessão que você iniciou, e você não pode selecionar Auto ou Bypass permissions do aplicativo. Para um thread de projeto executado em seu computador, veja [Execute um thread em seu próprio computador](/docs/pt/claude-projects#run-a-thread-on-your-own-computer).

218 * Exceto por Bypass permissions, o dropdown mostra o modo de permissão em que a sessão local está, incluindo um definido do terminal. Ele atualiza quando o modo de permissão muda no aplicativo ou no terminal. A sessão nunca relata Bypass permissions ao claude.ai, então alternar para ele do terminal não muda o que o dropdown mostra.216 * Exceto por Bypass permissions, o dropdown mostra o modo de permissão em que a sessão local está, incluindo um definido do terminal. Ele atualiza quando o modo de permissão muda no aplicativo ou no terminal. A sessão nunca relata Bypass permissions ao claude.ai, então alternar para ele do terminal não muda o que o dropdown mostra.

219 * Sessões hospedadas pelo [aplicativo de desktop](/docs/pt/desktop) ou pela [extensão VS Code](/docs/pt/vs-code) relatam mudanças de modo de permissão ao claude.ai conforme acontecem, da mesma forma que sessões hospedadas em um terminal.217 * Sessões hospedadas pelo [aplicativo de desktop](/docs/pt/desktop) ou pela [extensão VS Code](/docs/pt/vs-code) relatam mudanças de modo de permissão ao claude.ai conforme acontecem, da mesma forma que sessões hospedadas em um terminal.

220 * Antes de v2.1.202, sessões conectadas com `/remote-control` ou `claude --remote-control` não relatavam seu modo de permissão, então claude.ai e o aplicativo móvel poderiam mostrar um modo em que a sessão não estava. A incompatibilidade afetava apenas o rótulo. Claude Code gerou prompts de permissão a partir do modo de permissão real da sessão, e eles ainda apareciam no aplicativo para aprovação.218 * Antes de v2.1.202, sessões conectadas com `/remote-control` ou `claude --remote-control` não relatavam seu modo de permissão, então claude.ai e o aplicativo móvel poderiam mostrar um modo em que a sessão não estava. A incompatibilidade afetava apenas o rótulo. Claude Code gerou prompts de permissão a partir do modo de permissão real da sessão, e eles ainda apareciam no aplicativo para aprovação.


233 231 

234O modo `acceptEdits` permite que Claude crie e edite arquivos em seu diretório de trabalho sem solicitar. A barra de status mostra `⏵⏵ accept edits on` enquanto este modo está ativo.232O modo `acceptEdits` permite que Claude crie e edite arquivos em seu diretório de trabalho sem solicitar. A barra de status mostra `⏵⏵ accept edits on` enquanto este modo está ativo.

235 233 

236Além de edições de arquivo, o modo `acceptEdits` auto-aprova comandos Bash comuns do sistema de arquivos: `mkdir`, `touch`, `rm`, `rmdir`, `mv`, `cp` e `sed`. Esses comandos também são auto-aprovados quando prefixados com variáveis de ambiente seguras como `LANG=C` ou `NO_COLOR=1`, ou wrappers de processo como `timeout`, `nice` ou `nohup`. Como edições de arquivo, a auto-aprovação se aplica apenas a caminhos dentro de seu diretório de trabalho ou `additionalDirectories`. Caminhos fora desse escopo, gravações em [caminhos protegidos](#protected-paths), remoções `rm` e `rmdir` direcionadas a um [caminho crítico](#critical-paths) e todos os outros comandos Bash, exceto o [conjunto integrado somente leitura](/docs/pt/permissions#read-only-commands), ainda solicitam.234Além de edições de arquivo, o modo `acceptEdits` auto-aprova comandos Bash comuns do sistema de arquivos: `mkdir`, `touch`, `rm`, `rmdir`, `mv`, `cp` e `sed`. Esses comandos também são auto-aprovados quando prefixados com variáveis de ambiente seguras como `LANG=C` ou `NO_COLOR=1`, ou wrappers de processo como `timeout`, `nice` ou `nohup`. Como edições de arquivo, a auto-aprovação se aplica apenas a caminhos dentro de seu diretório de trabalho ou `additionalDirectories`.

235 

236Cada caminho também passa pela [verificação de symlink](/docs/pt/permissions#symlinks), portanto uma gravação que se resolve fora desse escopo também não é auto-aprovada. Caminhos fora desse escopo, gravações em [caminhos protegidos](#protected-paths), remoções `rm` e `rmdir` direcionadas a um [caminho crítico](#critical-paths) e todos os outros comandos Bash, exceto o [conjunto integrado somente leitura](/docs/pt/permissions#read-only-commands), ainda solicitam.

237 237 

238Quando a [ferramenta PowerShell](/docs/pt/tools-reference#powershell-tool) está habilitada, o modo `acceptEdits` também auto-aprova `Set-Content`, `Add-Content`, `Clear-Content` e `Remove-Item` em caminhos no escopo, junto com seus aliases comuns. As mesmas regras de escopo e caminho protegido se aplicam, e `Remove-Item` recebe [sua própria verificação](#remove-item-in-powershell). Um argumento posicional que contém um caractere de aspas, como o apóstrofo em `Set-Content .\notes.txt "It's done"`, ainda solicita mesmo em caminhos no escopo, porque Claude Code não consegue validar estaticamente um argumento cujas leituras entre aspas e sem aspas diferem. Passe o conteúdo através de um parâmetro nomeado como `-Value` para evitar o prompt.238Quando a [ferramenta PowerShell](/docs/pt/tools-reference#powershell-tool) está habilitada, o modo `acceptEdits` também auto-aprova `Set-Content`, `Add-Content`, `Clear-Content` e `Remove-Item` em caminhos no escopo, junto com seus aliases comuns. As mesmas regras de escopo e caminho protegido se aplicam, e `Remove-Item` recebe [sua própria verificação](#remove-item-in-powershell). Um argumento posicional que contém um caractere de aspas, como o apóstrofo em `Set-Content .\notes.txt "It's done"`, ainda solicita mesmo em caminhos no escopo, porque Claude Code não consegue validar estaticamente um argumento cujas leituras entre aspas e sem aspas diferem. Passe o conteúdo através de um parâmetro nomeado como `-Value` para evitar o prompt.

239 239 


249 Analise antes de editar com modo plan249 Analise antes de editar com modo plan

250</h2>250</h2>

251 251 

252O modo plan diz a Claude para pesquisar e propor mudanças sem realizá-las. Claude lê arquivos, executa comandos shell para explorar e escreve um plano, mas não edita sua fonte. Exceto em sessões com [permissões de bypass disponíveis](#skip-all-checks-with-bypasspermissions-mode), edições permanecem bloqueadas até que você aprove o plano.252O modo plan diz a Claude para pesquisar e propor mudanças sem realizá-las. Claude lê arquivos, executa comandos shell para explorar e escreve um plano, mas não edita sua fonte. Exceto em sessões interativas de terminal com [permissões de bypass disponíveis](#skip-all-checks-with-bypasspermissions-mode), edições permanecem bloqueadas até que você aprove o plano.

253 

254O que acontece com um comando shell durante o planejamento depende da sessão, e o primeiro destes casos que se aplica é:

253 255 

254Quando [modo automático](/docs/pt/auto-mode-config) está disponível e a configuração `useAutoModeDuringPlan` está ativada, que é o padrão, o classificador revisa comandos shell durante o planejamento em vez de solicitar você. Comandos aprovados são executados, e os rejeitados são bloqueados. Caso contrário, comandos fora do [conjunto integrado somente leitura](/docs/pt/permissions#read-only-commands) solicitam aprovação, incluindo quando o [modo auto-allow](/docs/pt/sandboxing#sandbox-modes) do sandbox está habilitado. Em sessões com permissões de bypass disponíveis, nem o classificador nem um prompt se aplica a comandos de planejamento; [Ignorar todas as verificações com modo bypassPermissions](#skip-all-checks-with-bypasspermissions-mode) cobre as poucas coisas que ainda solicitam lá. Em v2.1.212 até v2.1.217, sessões sem permissões de bypass solicitavam para cada comando fora do conjunto somente leitura, independentemente de o modo automático estar disponível.256* **Sessões interativas de terminal com permissões de bypass disponíveis**: nem o classificador nem um prompt se aplica a comandos de planejamento. [Ignorar todas as verificações com modo bypassPermissions](#skip-all-checks-with-bypasspermissions-mode) cobre as poucas coisas que ainda solicitam lá.

257* **[Modo automático](/docs/pt/auto-mode-config) disponível e a configuração `useAutoModeDuringPlan` ativada**, que é o padrão: o classificador revisa comandos shell diferentes de [remoções de caminho crítico](#critical-paths) em vez de solicitar você. Comandos aprovados são executados, e os rejeitados são bloqueados.

258* **Modo automático não disponível, ou `useAutoModeDuringPlan` desativado**: comandos fora do [conjunto integrado somente leitura](/docs/pt/permissions#read-only-commands) solicitam aprovação, incluindo quando o [modo auto-allow](/docs/pt/sandboxing#sandbox-modes) do sandbox está habilitado.

255 259 

256Entre no modo plan pressionando `Shift+Tab` ou prefixando um único prompt com `/plan`. Você também pode iniciar no modo plan a partir da CLI:260Entre no modo plan pressionando `Shift+Tab` ou prefixando um único prompt com `/plan`. Você também pode iniciar no modo plan a partir da CLI:

257 261 


287 Elimine prompts de permissão com modo automático291 Elimine prompts de permissão com modo automático

288</h2>292</h2>

289 293 

290O modo automático permite que Claude execute sem prompts de permissão rotineiros. Um modelo classificador separado revisa as ações antes de serem executadas, bloqueando qualquer coisa que ultrapasse sua solicitação, tenha como alvo infraestrutura não reconhecida ou pareça impulsionada por conteúdo hostil que Claude leu. As [regras de solicitação](/docs/pt/permissions#manage-permissions) explícitas ainda forçam um prompt.294O modo automático permite que Claude execute sem prompts de permissão rotineiros. Um modelo classificador separado revisa as ações antes de serem executadas, bloqueando qualquer coisa que escale além de sua solicitação, direcione infraestrutura não reconhecida ou pareça impulsionada por conteúdo hostil que Claude leu. [Regras de solicitação](/docs/pt/permissions#manage-permissions) explícitas ainda forçam um prompt.

291 295 

292Nos planos Pro, Max e Team, o modo automático é o [modo de permissão inicial integrado](#which-mode-a-session-starts-in).296Com Claude Code v2.1.283 ou posterior, o modo automático é o [modo de permissão inicial integrado](#which-mode-a-session-starts-in) para sessões de terminal interativo e VS Code em todos os planos e provedores. Em versões anteriores, é o modo de permissão inicial integrado apenas nos planos Pro, Max e Team.

293 297 

294O classificador também revisa cada mensagem que Claude envia para outro agente com [`SendMessage`](/docs/pt/tools-reference), seja texto simples ou uma mensagem estruturada de [equipe de agentes](/docs/pt/agent-teams), antes que Claude Code a entregue, tanto no modo automático quanto no [modo de plano enquanto o classificador revisa comandos](#analyze-before-you-edit-with-plan-mode); a revisão de envio requer Claude Code v2.1.222 ou posterior.298O classificador também revisa cada mensagem que Claude envia para outro agente com [`SendMessage`](/docs/pt/tools-reference), seja texto simples ou uma mensagem estruturada de [equipe de agentes](/docs/pt/agent-teams), antes que Claude Code a entregue, tanto em modo automático quanto em [modo de plano enquanto o classificador revisa comandos](#analyze-before-you-edit-with-plan-mode); a revisão de envio requer Claude Code v2.1.222 ou posterior.

295 299 

296O classificador também revisa e aprova ou bloqueia remoções `rm` e `rmdir` direcionadas a um [caminho crítico](#critical-paths), como `rm -rf /` e `rm -rf ~`, inclusive quando a remoção está dentro de substituição de comando ou processo.300Por padrão, o classificador não revisa remoções de `rm` e `rmdir` direcionadas a um caminho crítico, como `rm -rf /` ou `rm -rf ~`. [Caminhos críticos](#critical-paths) aborda o que acontece com eles em cada modo de permissão.

297 301 

298O modo automático também incentiva Claude a continuar trabalhando sem parar para fazer perguntas de esclarecimento, embora Claude ainda pergunte quando sua solicitação ou uma skill depende explicitamente disso. Para um comportamento mais autônomo em um modo que ainda o solicita, defina o [estilo de saída Proativo](/docs/pt/output-styles).302O modo automático também incentiva Claude a continuar trabalhando sem parar para fazer perguntas de esclarecimento, embora Claude ainda pergunte quando sua solicitação ou uma skill dependa explicitamente disso. Para um comportamento mais autônomo em um modo que ainda o solicita, defina o [Estilo de saída proativo](/docs/pt/output-styles) em vez disso.

299 303 

300<Warning>304<Warning>

301 O modo automático reduz prompts de permissão, mas não garante segurança. Use-o para tarefas em que você confia na direção geral, não como substituto para revisão em operações sensíveis.305 O modo automático reduz prompts de permissão, mas não garante segurança. Use-o para tarefas em que você confia na direção geral, não como substituto para revisão em operações sensíveis.


304O modo automático está disponível apenas quando sua conta atende a todos esses requisitos:308O modo automático está disponível apenas quando sua conta atende a todos esses requisitos:

305 309 

306* **Plano**: Todos os planos.310* **Plano**: Todos os planos.

307* **Organização**: no Team e Enterprise, o modo automático está disponível por padrão. Os administradores podem desativá-lo para a organização definindo `permissions.disableAutoMode` como `"disable"` em [configurações gerenciadas](/docs/pt/managed-settings).311* **Organização**: em Team e Enterprise, o modo automático está disponível por padrão. Os administradores podem desativá-lo para a organização definindo `permissions.disableAutoMode` como `"disable"` em [configurações gerenciadas](/docs/pt/managed-settings).

308* **Modelo**: na API Anthropic e [Claude Platform on AWS](/docs/pt/claude-platform-on-aws), Claude Opus 4.6 ou posterior, Sonnet 4.6 ou posterior, ou um [modelo Fable](/docs/pt/model-config#work-with-fable). No Amazon Bedrock, na Agent Platform do Google Cloud, no Microsoft Foundry e em sessões [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway) conectadas, apenas Claude Sonnet 5, Opus 4.7 ou posterior e os modelos Fable. Modelos mais antigos, incluindo Sonnet 4.5, Opus 4.5, Haiku e modelos claude-3, não são suportados em nenhum provedor.312* **Modelo**: na API Anthropic e [Claude Platform on AWS](/docs/pt/claude-platform-on-aws), Claude Opus 4.6 ou posterior, Sonnet 4.6 ou posterior, ou um [modelo Fable](/docs/pt/model-config#work-with-fable). No Amazon Bedrock, na Agent Platform do Google Cloud, no Microsoft Foundry e em sessões [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway) conectadas, apenas Claude Sonnet 5 ou posterior, Opus 4.7 ou posterior e os modelos Fable. Modelos mais antigos, incluindo Sonnet 4.5, Opus 4.5, Haiku e modelos claude-3, não são suportados em nenhum provedor.

309* **Provedor**: disponível por padrão na API Anthropic, Claude Platform on AWS, Amazon Bedrock, Agent Platform do Google Cloud, Microsoft Foundry e sessões gateway de aplicativos Claude conectadas.313* **Provedor**: disponível por padrão na API Anthropic, Claude Platform on AWS, Amazon Bedrock, Agent Platform do Google Cloud, Microsoft Foundry e sessões gateway de aplicativos Claude conectadas.

310 314 

311Se Claude Code relatar o modo automático como indisponível, primeiro verifique esses requisitos e se algum arquivo de configurações define [`disableAutoMode`](/docs/pt/settings-reference#disableautomode). A Anthropic também pode ter desativado o modo automático no servidor, ou o servidor pode ter rejeitado o modo automático para sua conta. Uma sessão que recebeu qualquer uma das respostas mantém o modo automático desativado até o final da sessão, portanto, inicie uma nova sessão depois.315Se Claude Code relatar o modo automático como indisponível, primeiro verifique esses requisitos e se algum arquivo de configurações define [`disableAutoMode`](/docs/pt/settings-reference#disableautomode). A Anthropic também pode ter desativado o modo automático no servidor, ou o servidor pode ter rejeitado o modo automático para sua conta. Uma sessão que recebeu uma dessas respostas mantém o modo automático desativado até que a sessão termine, portanto, inicie uma nova sessão depois.

312 316 

313Uma mensagem separada que nomeia um modelo e diz que o modo automático "não pode determinar a segurança" de uma ação significa que uma solicitação do classificador falhou. Essa falha geralmente é transitória, mas no Amazon Bedrock pode se repetir até que sua conta possa invocar o modelo nomeado. Consulte a [referência de erros](/docs/pt/errors#auto-mode-cannot-determine-the-safety-of-an-action) para as causas e o que fazer.317Uma mensagem separada que nomeia um modelo e diz que o modo automático "não pode determinar a segurança" de uma ação significa que uma solicitação do classificador falhou. Essa falha geralmente é transitória, mas no Amazon Bedrock pode se repetir até que sua conta possa invocar o modelo nomeado. Consulte a [referência de erros](/docs/pt/errors#auto-mode-cannot-determine-the-safety-of-an-action) para as causas e o que fazer.

314 318 

315Se você definir `defaultMode: "auto"` em [configurações](/docs/pt/settings-reference#all-settings) e uma sessão de terminal iniciar no modo Manual sem erro, a configuração provavelmente está em `.claude/settings.json` ou `.claude/settings.local.json`. `auto` não entra em vigor nesses arquivos. Mova-o para `~/.claude/settings.json`. Para uma conversa que a extensão VS Code iniciou, verifique a lista própria da extensão em [Alternar modos de permissão](#switch-permission-modes).319Se você definir `defaultMode: "auto"` em [configurações](/docs/pt/settings-reference#all-settings) e uma sessão de terminal iniciar em modo Manual sem erro, a configuração provavelmente está em `.claude/settings.json` ou `.claude/settings.local.json`. `auto` não entra em vigor nesses arquivos. Mova-o para `~/.claude/settings.json`. Para uma conversa que a extensão VS Code iniciou, verifique a lista própria da extensão em [Alternar modos de permissão](#switch-permission-modes) em vez disso.

316 320 

317<h3 id="enable-auto-mode-on-bedrock-agent-platform-or-foundry">321<h3 id="enable-auto-mode-on-bedrock-agent-platform-or-foundry">

318 Modo automático no Bedrock, Agent Platform ou Foundry322 Modo automático em Bedrock, Agent Platform ou Foundry

319</h3>323</h3>

320 324 

321No [Amazon Bedrock](/docs/pt/amazon-bedrock), [Agent Platform do Google Cloud](/docs/pt/google-vertex-ai), [Microsoft Foundry](/docs/pt/microsoft-foundry) e sessões [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway) conectadas, o modo automático aparece no ciclo `Shift+Tab` por padrão. Aparecer no ciclo não altera o modo de permissão em que uma sessão inicia: nesses provedores, sessões de terminal iniciam em seu [`defaultMode`](/docs/pt/settings-reference#permissions-defaultmode), que é Manual a menos que você o altere, e conversas na [extensão VS Code](/docs/pt/vs-code) iniciam em Manual a menos que `claudeCode.initialPermissionMode` ou um modo que você escolheu na extensão defina um. Apenas Claude Sonnet 5, Opus 4.7 ou posterior e os modelos Fable são suportados nesses provedores.325Em [Amazon Bedrock](/docs/pt/amazon-bedrock), [Agent Platform do Google Cloud](/docs/pt/google-vertex-ai), [Microsoft Foundry](/docs/pt/microsoft-foundry) e sessões [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway) conectadas, o modo automático está disponível por padrão. Com Claude Code v2.1.283 ou posterior, também é o [modo de permissão inicial integrado](#which-mode-a-session-starts-in) para sessões de terminal interativo e [VS Code](/docs/pt/vs-code). Para escolher o modo de permissão inicial você mesmo, defina `permissions.defaultMode` conforme [Iniciar em um modo de permissão diferente](#start-in-a-different-mode) descreve, ou escolha um modo de permissão do indicador de modo da extensão VS Code.

322 326 

323Para tornar o modo automático o modo de permissão inicial padrão, defina `"permissions": {"defaultMode": "auto"}` em configurações de usuário ou gerenciadas. Em sessões que a extensão VS Code inicia, selecione **Auto** no indicador de modo. [Alternar modos de permissão](#switch-permission-modes) cobre o que supera essa escolha.327Apenas Claude Sonnet 5 ou posterior, Opus 4.7 ou posterior e os modelos Fable são suportados nesses provedores. Em qualquer outro modelo, a sessão inicia em Manual em vez disso.

324 328 

325O checkup [`/doctor`](/docs/pt/commands#all-commands) propõe esse padrão de configurações de usuário nesses provedores da mesma forma que faz na API Anthropic.329Para impedir que desenvolvedores usem o modo automático, defina `disableAutoMode` como `"disable"` em [configurações gerenciadas](/docs/pt/managed-settings). Isso remove `auto` do ciclo `Shift+Tab`, e uma sessão iniciada com `--permission-mode auto` inicia em Manual em vez disso. Uma sessão já em execução em modo automático o deixa quando a configuração chega a essa sessão de uma [fonte implantada por administrador](/docs/pt/managed-settings#which-managed-source-claude-code-uses) e mostra `auto mode disabled by settings`. Antes de v2.1.251, uma sessão em execução mantinha o modo automático até que terminasse.

326 330 

327Para impedir que desenvolvedores usem o modo automático, defina `disableAutoMode` como `"disable"` em [configurações gerenciadas](/docs/pt/managed-settings). Isso remove `auto` do ciclo `Shift+Tab`, e uma sessão iniciada com `--permission-mode auto` inicia em Manual. Uma sessão já em execução no modo automático o deixa quando a configuração chega a essa sessão de uma [fonte implantada por administrador](/docs/pt/managed-settings#which-managed-source-claude-code-uses) e mostra `auto mode disabled by settings`. Antes da v2.1.251, uma sessão em execução mantinha o modo automático até o final.331Em v2.1.158 até v2.1.206, o modo automático estava desativado nesses provedores até você definir `CLAUDE_CODE_ENABLE_AUTO_MODE=1`, e Claude Code ignorava `defaultMode: "auto"` nesses provedores a menos que a variável também fosse definida. A variável ainda é aceita para compatibilidade e não tem efeito a partir de v2.1.207 em diante.

328 

329Na v2.1.158 até v2.1.206, o modo automático estava desativado nesses provedores até você definir `CLAUDE_CODE_ENABLE_AUTO_MODE=1`, e Claude Code ignorava `defaultMode: "auto"` nesses provedores a menos que a variável também fosse definida. A variável ainda é aceita para compatibilidade e não tem efeito a partir da v2.1.207.

330 332 

331<h3 id="server-side-classifier-review">333<h3 id="server-side-classifier-review">

332 Revisão do classificador no servidor334 Revisão do classificador no servidor


334 336 

335Em modo automático, Claude Code pode pedir ao servidor para verificar as ações que [a ordem de decisão](#how-the-classifier-evaluates-actions) envia para revisão, como parte das solicitações de modelo da sessão, em vez de enviar suas próprias solicitações do classificador. Essas sessões pedem:337Em modo automático, Claude Code pode pedir ao servidor para verificar as ações que [a ordem de decisão](#how-the-classifier-evaluates-actions) envia para revisão, como parte das solicitações de modelo da sessão, em vez de enviar suas próprias solicitações do classificador. Essas sessões pedem:

336 338 

337* **Uma conexão direta com a API Anthropic**: em uma sessão de terminal interativa, em todos os planos claude.ai e em contas que usam a API Claude, conforme Anthropic o implementa. Requer Claude Code v2.1.271 ou posterior nos planos Pro, Max e Team, e v2.1.278 ou posterior nos planos Enterprise e contas da API Claude. A partir da v2.1.282, uma sessão que [não busca sinalizadores de recurso](/docs/pt/env-vars#features-that-need-feature-flag-fetching), por exemplo porque você desativou a telemetria, pede ao servidor por padrão em qualquer tipo de sessão.339* **Uma conexão direta com a API Anthropic**: em uma sessão de terminal interativo, em todos os planos claude.ai e em contas que usam a API Claude, conforme a Anthropic implementa. Requer Claude Code v2.1.271 ou posterior em planos Pro, Max e Team, e v2.1.278 ou posterior em planos Enterprise e contas da API Claude. A partir de v2.1.282, uma sessão que [não busca sinalizadores de recursos](/docs/pt/env-vars#features-that-need-feature-flag-fetching), por exemplo porque você desativou a telemetria, pede ao servidor por padrão em qualquer tipo de sessão.

338* **Um provedor de nuvem, ou um gateway LLM ou proxy**: no [Claude Platform on AWS](/docs/pt/claude-platform-on-aws), Amazon Bedrock, Agent Platform do Google Cloud e Microsoft Foundry, e sempre que você aponta `ANTHROPIC_BASE_URL` para um [gateway LLM ou proxy](/docs/pt/llm-gateway), qualquer que seja seu plano. Pedir por padrão requer Claude Code v2.1.278 ou posterior.340* **Um provedor de nuvem, ou um gateway LLM ou proxy**: em [Claude Platform on AWS](/docs/pt/claude-platform-on-aws), Amazon Bedrock, Agent Platform do Google Cloud e Microsoft Foundry, e sempre que você aponta `ANTHROPIC_BASE_URL` para um [gateway LLM ou proxy](/docs/pt/llm-gateway), qualquer que seja seu plano. Pedir por padrão requer Claude Code v2.1.278 ou posterior.

339* **Uma sessão [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway) conectada**: requer Claude Code v2.1.280 ou posterior341* **Uma sessão [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway) conectada**: requer Claude Code v2.1.280 ou posterior

340 342 

341Onde o servidor revisa as ações, seus vereditos decidem-nas. Dois outros resultados são possíveis:343Onde o servidor revisa as ações, seus vereditos as decidem. Dois outros resultados são possíveis:

342 344 

343* **O servidor não revisa a sessão**: uma resposta é concluída sem resultados de revisão, ou o servidor responde que não revisa essa sessão. As causas mais comuns são um gateway LLM ou proxy que descarta a solicitação de revisão ou os resultados, e uma plataforma, região ou credencial que ainda não tem verificações no servidor. Claude Code volta para suas próprias solicitações do classificador. Uma vez que esse fallback se mantém pelo resto da sessão, mostra um [aviso sobre cobranças de solicitação do classificador](/docs/pt/auto-mode-classifier-billing) em contas onde essas solicitações são cobradas.345* **O servidor não revisa a sessão**: uma resposta é concluída sem resultados de revisão, ou o servidor responde que não revisa essa sessão. As causas mais comuns são um gateway LLM ou proxy que descarta a solicitação de revisão ou os resultados, e uma plataforma, região ou credencial que ainda não tem verificações no servidor. Claude Code volta para suas próprias solicitações do classificador. Uma vez que esse fallback se mantém pelo resto da sessão, ele mostra um [aviso sobre cobranças de solicitação do classificador](/docs/pt/auto-mode-classifier-billing) em contas onde essas solicitações são cobradas.

344* **O servidor não dá veredito para uma ação**: Claude Code nega a ação em vez de executá-la sem revisão. Em qualquer conexão, isso acontece quando a resposta termina antes dos resultados de revisão chegarem ou os resultados chegam em uma forma que Claude Code não consegue ler. Um gateway LLM ou proxy que corta respostas ou reescreve os resultados pode causar qualquer um. Em uma conexão direta com a API Anthropic, também acontece quando a verificação do servidor falha para a ação, por exemplo ao expirar. [O servidor não retornou veredito de segurança](/docs/pt/errors#the-server-returned-no-safety-verdict) cobre a mensagem de negação, o que acontece quando negações se repetem e o que fazer.346* **O servidor não fornece um veredito para uma ação**: Claude Code nega a ação em vez de executá-la sem revisão. Em qualquer conexão, isso acontece quando a resposta termina antes dos resultados de revisão chegarem ou os resultados chegam em uma forma que Claude Code não consegue ler. Um gateway LLM ou proxy que corta respostas ou reescreve os resultados pode causar qualquer um. Em uma conexão direta com a API Anthropic, também acontece quando a verificação do servidor falha para a ação, por exemplo, por timeout. [O servidor não retornou um veredito de segurança](/docs/pt/errors#the-server-returned-no-safety-verdict) aborda a mensagem de negação, o que acontece quando negações se repetem e o que fazer.

345 347 

346Para pular a solicitação ao servidor e sempre usar as próprias solicitações do classificador de Claude Code, defina [`CLAUDE_CODE_AUTO_MODE_SERVER=0`](/docs/pt/env-vars). Em uma conexão direta com a API Anthropic, a variável requer Claude Code v2.1.281 ou posterior. Defini-la como `1` lá ativa a revisão do servidor em uma sessão que não a tem ainda, como uma sessão `-p` ou Agent SDK, a menos que você também tenha definido `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`. Se você definir `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` e deixar `CLAUDE_CODE_AUTO_MODE_SERVER` indefinido, Claude Code também para de pedir ao servidor.348Para pular pedir ao servidor e sempre usar as próprias solicitações do classificador de Claude Code, defina [`CLAUDE_CODE_AUTO_MODE_SERVER=0`](/docs/pt/env-vars). Em uma conexão direta com a API Anthropic, a variável requer Claude Code v2.1.281 ou posterior. Defini-la como `1` lá ativa a revisão do servidor em uma sessão que não a tem ainda, como uma sessão `-p` ou Agent SDK, a menos que você também tenha definido `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`. Se você definir `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` e deixar `CLAUDE_CODE_AUTO_MODE_SERVER` indefinido, Claude Code também para de pedir ao servidor, exceto conforme [Desabilitar capacidades de pré-lançamento](/docs/pt/llm-gateway-protocol#disable-pre-release-capabilities) descreve.

347 349 

348<h3 id="what-the-classifier-blocks-by-default">350<h3 id="what-the-classifier-blocks-by-default">

349 O que o classificador bloqueia por padrão351 O que o classificador bloqueia por padrão

350</h3>352</h3>

351 353 

352O classificador confia em seu diretório de trabalho e nos remotos que foram configurados para ele quando a sessão iniciou. Um remoto adicionado ou redirecionado durante a sessão com `git remote add` ou `git remote set-url` não é confiável, e tudo o mais é tratado como externo até você [configurar infraestrutura confiável](/docs/pt/auto-mode-config). Antes da v2.1.200, remotos adicionados no meio da sessão também eram confiáveis.354O classificador confia em seu diretório de trabalho e nos remotos que foram configurados para ele quando a sessão iniciou. Um remoto adicionado ou reorientado durante a sessão com `git remote add` ou `git remote set-url` não é confiável, e tudo mais é tratado como externo até você [configurar infraestrutura confiável](/docs/pt/auto-mode-config). Antes de v2.1.200, remotos adicionados no meio da sessão também eram confiáveis.

353 355 

354**Bloqueado por padrão**:356**Bloqueado por padrão**:

355 357 


361* Modificação de infraestrutura compartilhada363* Modificação de infraestrutura compartilhada

362* Destruição irreversível de arquivos que existiam antes da sessão364* Destruição irreversível de arquivos que existiam antes da sessão

363* Force push365* Force push

364* Fazer commit ou fazer push de uma alteração que enviaria segredos ou dados sensíveis para fora do repositório quando executado, ou ampliar o que uma implantação expõe. Isso cobre um fluxo de trabalho CI ou configuração de implantação que passa um segredo para um destino que ainda não o recebe, um script ou etapa de configuração que lê um armazenamento de segredos e envia os dados para fora, e uma alteração de configuração que amplia o que uma implantação publica, como um registro, visibilidade, artefato ou configuração de sourcemap. A verificação se aplica em qualquer branch, se aplica mesmo quando o repositório é público e dispara quando a alteração é feita commit ou push, independentemente de esse commit ou push disparar o pipeline; limpá-la requer nomear o efeito de execução, não apenas o commit ou push. Antes da v2.1.211, essa verificação era limitada ao branch padrão: um push lá era bloqueado quando carregava conteúdo sensível, alterações encobertas ou mal descritas em relação ao que você pediu, conteúdo portado de fora do repositório ou roteado em torno de uma revisão que você pediu366* Fazer commit ou fazer push de uma alteração que enviaria segredos ou dados sensíveis fora do repositório quando executado, ou ampliaria o que uma implantação expõe. Isso abrange um fluxo de trabalho CI ou configuração de implantação que passa um segredo para um destino que ainda não o recebe, um script ou etapa de configuração que lê um armazenamento de segredos e envia os dados para fora, e uma mudança de configuração que amplia o que uma implantação publica, como um registro, visibilidade, artefato ou configuração de sourcemap. A verificação se aplica em qualquer branch, se aplica mesmo quando o repositório é público e dispara quando a alteração é feita commit ou push, independentemente de esse commit ou push disparar o pipeline; limpá-la requer nomear o efeito de execução, não apenas o commit ou push. Antes de v2.1.211, essa verificação era limitada ao branch padrão em vez disso: um push lá era bloqueado quando carregava conteúdo sensível, alterações encobertas ou mal descritas em relação ao que você pediu, conteúdo portado de fora do repositório ou roteado em torno de uma revisão que você pediu

365* `git reset --hard`, `git checkout -- .`, `git restore .`, `git clean -fd`, `git stash drop` ou `git stash clear`, que o classificador presume descartaria alterações não confirmadas367* `git reset --hard`, `git checkout -- .`, `git restore .`, `git clean -fd`, `git stash drop` ou `git stash clear`, que o classificador presume descartaria alterações não confirmadas

366* `git commit --amend` quando o commit no HEAD não foi criado nesta sessão368* `git commit --amend` quando o commit no HEAD não foi criado nesta sessão

367* A partir da v2.1.198, `git commit --amend` quando o commit no HEAD já foi feito push. Uma reword apenas de mensagem não é bloqueada: `--amend -m` sem nada recém-preparado, em um commit que Claude criou durante esta sessão369* A partir de v2.1.198, `git commit --amend` quando o commit no HEAD já foi feito push. Uma reword apenas de mensagem não é bloqueada: `--amend -m` sem nada recém-preparado, em um commit que Claude criou durante esta sessão

368* `terraform destroy`, `pulumi destroy`, `cdk destroy` ou `terragrunt destroy`, e aplicar um plano que destrói recursos370* `terraform destroy`, `pulumi destroy`, `cdk destroy` ou `terragrunt destroy`, e aplicar um plano que destrói recursos

369 371 

370Claude Code v2.1.195 e posterior bloqueiam mais categorias por padrão. Várias dependem de entradas de [ambiente](/docs/pt/auto-mode-config#define-trusted-infrastructure), como destinos remotos sensíveis e escopos IaC protegidos, que você pode restringir a nomes concretos.372Claude Code v2.1.195 e posterior bloqueiam mais categorias por padrão. Várias dependem de entradas de [ambiente](/docs/pt/auto-mode-config#define-trusted-infrastructure), como destinos remotos sensíveis e escopos IaC protegidos, que você pode estreitar para nomes concretos.

371 373 

372* Escrever em um gerenciador de segredos, ou alterar registros DNS ou certificados TLS374* Escrita em um gerenciador de segredos, ou alteração de registros DNS ou certificados TLS

373* Mesclar uma solicitação de pull que nenhum humano aprovou, aprovar a própria solicitação de pull de Claude ou desabilitar verificações CI375* Mesclagem de uma solicitação de pull que nenhum humano aprovou, aprovação do próprio pull request de Claude ou desabilitação de verificações CI

374* Postar um comentário que é em si um comando para automação, como `atlantis apply` ou `/deploy` ou `/merge` de um bot376* Postagem de um comentário que é em si um comando para automação, como `atlantis apply` ou `/deploy` ou `/merge` de um bot

375* Alternar, ramificar ou excluir um sinalizador de recurso de produção377* Alternância, ramificação ou exclusão de um sinalizador de recurso de produção

376* Aplicar alterações de infraestrutura a um escopo IaC protegido, ou drenar e remover nós de cluster378* Aplicação de alterações de infraestrutura a um escopo IaC protegido, ou drenagem e remoção de nós de cluster

377* Gravações em um cluster de computação compartilhado que vão além do recurso que você nomeou, como um seletor de rótulo ou `--all` que captura trabalhos de outros usuários379* Escritas em um cluster de computação compartilhado que vão além do recurso que você nomeou, como um seletor de rótulo ou `--all` que pega trabalhos de outros usuários

378* Criar recursos Kubernetes que executam em cada nó ou interceptam tráfego de cluster, como DaemonSets e webhooks de admissão380* Criação de recursos Kubernetes que executam em cada nó ou interceptam tráfego de cluster, como DaemonSets e webhooks de admissão

379* Shells interativos ou port-forwards para um destino remoto sensível381* Shells interativos ou port-forwards em um destino remoto sensível

380* Abrir um túnel ou shell reverso que torna um serviço local acessível da internet pública382* Abertura de um túnel ou shell reverso que torna um serviço local acessível da internet pública

381* Imprimir uma credencial ou token ao vivo na transcrição ou em um arquivo383* Impressão de uma credencial ou token ao vivo na transcrição ou em um arquivo

382* Acessar um local listado como local de dados sensíveis em seu [ambiente](/docs/pt/auto-mode-config#define-trusted-infrastructure), ou copiar dados de um. A partir da v2.1.198, isso também bloqueia enviar dados de um para um público que a entrada exclui384* Acesso a um local listado como um local de dados sensíveis em seu [ambiente](/docs/pt/auto-mode-config#define-trusted-infrastructure), ou cópia de dados de um. A partir de v2.1.198, isso também bloqueia o envio de dados de um para um público que a entrada exclui

383* Rotear uma instalação de pacote em torno de seu registro de pacotes interno para um registro público. A partir da v2.1.198, isso também se aplica quando você disse a Claude que um registro interno ou espelho existe na conversa, não apenas quando um está listado em seu ambiente385* Roteamento de uma instalação de pacote em torno de seu registro de pacotes interno para um registro público. A partir de v2.1.198, isso também se aplica quando você disse a Claude que um registro interno ou espelho existe na conversa, não apenas quando um está listado em seu ambiente

384* Executar um comando com um sinalizador que desativa uma proteção de segurança, como `--insecure`386* Execução de um comando com um sinalizador que desativa uma proteção de segurança, como `--insecure`

385* Iniciar um loop de agente autônomo que executa sem aprovação humana ou sandbox, como um iniciado com `--dangerously-skip-permissions` ou `--no-sandbox`. A partir da v2.1.198, isso também cobre executar um agente de terceiros ou harness de avaliação com isolamento e aprovação por ação desabilitados, como um runner iniciado com `--yes-always`387* Lançamento de um loop de agente autônomo que executa sem aprovação humana ou sandbox, como um iniciado com `--dangerously-skip-permissions` ou `--no-sandbox`. A partir de v2.1.198, isso também abrange a execução de um agente de terceiros ou harness de avaliação com isolamento e aprovação por ação desabilitados, como um runner iniciado com `--yes-always`

386* Ações do [Claude no Chrome](/docs/pt/chrome) que poderiam enviar conteúdo da página, cookies ou credenciais fora da origem388* Ações do navegador [Claude in Chrome](/docs/pt/chrome) que poderiam enviar conteúdo da página, cookies ou credenciais fora de origem

387 389 

388Claude Code v2.1.198 e posterior também bloqueiam estes por padrão:390Claude Code v2.1.198 e posterior também bloqueiam estes por padrão:

389 391 

390* Excluir arquivos em `/tmp`, `$TMPDIR` ou outro diretório compartilhado de rascunho ou cache por wildcard, glob ou filtro de idade em vez de por um caminho nomeado específico392* Exclusão de arquivos em `/tmp`, `$TMPDIR` ou outro diretório compartilhado de rascunho ou cache por wildcard, glob ou filtro de idade em vez de por um caminho nomeado específico

391* Incluir detalhes sensíveis em conteúdo enviado, carregado, publicado ou escrito para outras pessoas ou sistemas compartilhados, quando sua própria mensagem não autorizou esses detalhes para esse destinatário. Corpos de PR e issue, mensagens de commit e comentários contam como esse tipo de conteúdo de saída quando o repositório está fora do limite de confiança ou é público, incluindo repositórios públicos de sua própria organização; caminhos de arquivo internos, nomes de código, dados de resposta de API ao vivo, como emails ou identificadores de conta, e identificadores de infraestrutura contam como detalhes sensíveis. O escopo de PR, issue e mensagem de commit requer Claude Code v2.1.200 ou posterior. Dados pessoais ao vivo de uma resposta de API em um corpo de PR ou issue, como um endereço de email, um identificador de conta ou organização, ou uma métrica de uso, requer que você nomeie esses detalhes e o destinatário independentemente da visibilidade ou limite de confiança do repositório. Essa verificação requer Claude Code v2.1.203 ou posterior393* Inclusão de detalhes sensíveis em conteúdo enviado, carregado, publicado ou escrito para outras pessoas ou sistemas compartilhados, quando sua própria mensagem não autorizou esses detalhes para esse destinatário. Corpos de PR e issue, mensagens de commit e comentários contam como esse tipo de conteúdo de saída quando o repositório está fora do limite de confiança ou é público, incluindo seus próprios repositórios públicos da organização; caminhos de arquivo internos, nomes de código, dados de resposta de API ao vivo, como emails ou identificadores de conta, e identificadores de infraestrutura contam como detalhes sensíveis. O escopo de PR, issue e mensagem de commit requer Claude Code v2.1.200 ou posterior. Dados pessoais ao vivo de uma resposta de API em um corpo de PR ou issue, como um endereço de email, um identificador de conta ou organização, ou uma métrica de uso, requer que você nomeie esses detalhes e o destinatário independentemente da visibilidade ou limite de confiança do repositório. Essa verificação requer Claude Code v2.1.203 ou posterior

392* Enviar pressionamentos de tecla para o próprio painel tmux de Claude Code para conduzir sua própria interface, que o classificador trata como Claude alterando suas próprias permissões ou supervisão394* Envio de pressionamentos de tecla para o próprio painel tmux de Claude Code para conduzir sua própria interface, que o classificador trata como Claude alterando suas próprias permissões ou supervisão

393 395 

394Claude Code v2.1.200 e posterior também bloqueiam estes por padrão:396Claude Code v2.1.200 e posterior também bloqueiam estes por padrão:

395 397 

396* Comentar, excluir ou forçar a aprovação de um teste ou asserção que protege comportamento de segurança, como autenticação, controle de acesso, validação de entrada ou sandboxing398* Comentário, exclusão ou falha forçada de um teste ou asserção que protege comportamento de segurança, como autenticação, controle de acesso, validação de entrada ou sandboxing

397* Excluir ou desmontar um recurso com estado que Claude não criou na sessão, quando nenhuma regra de exclusão mais específica se aplica e você não nomeou esse recurso399* Exclusão ou desmontagem de um recurso com estado que Claude não criou na sessão, quando nenhuma regra de exclusão mais específica se aplica e você não nomeou esse recurso

398* Redirecionar uma URL de base de API, endpoint de proxy, receptor de webhook ou espelho de registro para um host de terceiros que não se encaixa na tarefa, inclusive em arquivos de exemplo como `.env.example`400* Reorientação de uma URL base de API, endpoint de proxy, receptor de webhook ou espelho de registro em um host de terceiros que não se encaixa na tarefa, incluindo em arquivos de exemplo como `.env.example`

399* Alterar para onde os pushes vão com `git remote set-url` ou `git remote add`, a menos que você tenha nomeado o novo remoto401* Alteração de para onde os pushes vão com `git remote set-url` ou `git remote add`, a menos que você tenha nomeado o novo remoto

400* Fazer push de segredos ou dados pessoais ou confiados para um repositório conhecido como público, ou fazer push de material confidencial lá que não faz parte do próprio trabalho desse repositório. O próprio assunto de um repositório de dotfiles é a única exceção para dados pessoais ou confiados, e conteúdo de um repositório privado chegando a qualquer superfície pública é bloqueado da mesma forma; ambos os refinamentos requerem Claude Code v2.1.203 ou posterior. Antes da v2.1.203, dados pessoais eram agrupados com material confidencial e bloqueados apenas quando não faziam parte do próprio trabalho desse repositório. Quando a visibilidade de um repositório não é estabelecida, o classificador não bloqueia apenas nisso; ele julga o conteúdo contra as outras regras402* Envio de segredos ou dados pessoais ou confiados para um repositório conhecido como público, ou envio de material confidencial lá que não faz parte do próprio trabalho desse repositório. O próprio assunto de um repositório de dotfiles é a única exceção para dados pessoais ou confiados, e conteúdo de um repositório privado chegando a qualquer superfície pública é bloqueado da mesma forma; ambos os refinamentos requerem Claude Code v2.1.203 ou posterior. Antes de v2.1.203, dados pessoais eram agrupados com material confidencial e bloqueados apenas quando não faziam parte do próprio trabalho desse repositório. Quando a visibilidade de um repositório não é estabelecida, o classificador não bloqueia apenas nisso; ele julga o conteúdo contra as outras regras em vez disso

401* Abrir uma solicitação de pull contra um repositório ou organização diferente, fazer fork com `gh repo fork` ou fazer push para um repositório de terceiros, a menos que você tenha nomeado esse alvo externo403* Abertura de uma solicitação de pull contra um repositório ou organização diferente, bifurcação com `gh repo fork` ou push para um repositório de terceiros, a menos que você tenha nomeado esse alvo externo

402 404 

403Claude Code v2.1.203 e posterior também bloqueiam estes por padrão:405Claude Code v2.1.203 e posterior também bloqueiam estes por padrão:

404 406 

405* Conteúdo de um armazenamento local sensível, ou de um arquivo cujo nome, caminho ou tipo o marca como sensível, entrando em um commit, um push, texto de PR ou issue, um gist ou paste, ou uma publicação de pacote, a menos que você tenha nomeado tanto a origem quanto o destino. Transcrições de sessão e logs de conversa, pastas de ponto de credencial e configuração como chaves SSH, credenciais em nuvem, perfis de navegador e histórico de shell, e exportações de dados de usuário contam, e o repositório ser privado não o limpa407* Conteúdo de um armazenamento local sensível, ou de um arquivo cujo nome, caminho ou tipo o marca como sensível, entrando em um commit, um push, texto de PR ou issue, um gist ou paste, ou uma publicação de pacote, a menos que você tenha nomeado tanto a origem quanto o destino. Transcrições de sessão e logs de conversa, pastas de ponto de credencial e configuração como chaves SSH, credenciais de nuvem, perfis de navegador e histórico de shell, e exportações de dados do usuário contam, e o repositório ser privado não o limpa

406 408 

407Claude Code v2.1.205 e posterior também bloqueiam estes por padrão:409Claude Code v2.1.205 e posterior também bloqueiam estes por padrão:

408 410 

409* Escrever em transcrições de sessão de Claude Code, os arquivos de histórico `.jsonl` em `~/.claude/projects/` ou seu diretório de configuração configurado, seja diretamente ou através de um comando de shell. A regra também cobre as linhas de metadados que Claude Code acrescenta a cada entrada de transcrição para suas próprias verificações. Ler uma transcrição não é bloqueado411* Escrita em transcrições de sessão Claude Code, os arquivos de histórico `.jsonl` sob `~/.claude/projects/` ou seu diretório de configuração configurado, seja diretamente ou através de um comando de shell. A regra também abrange as linhas de metadados que Claude Code acrescenta a cada entrada de transcrição para suas próprias verificações. Ler uma transcrição não é bloqueado

410* Uma exclusão forçada recursiva como `rm -rf "$VAR"` ou `Remove-Item -Recurse -Force $dir` cujo alvo é uma variável de shell, ou um glob enraizado em uma, que não é atribuído em nenhum lugar na conversa que o classificador vê. O valor veio apenas da saída de comando anterior, que o classificador nunca recebe, portanto o classificador não pode verificar o alvo de exclusão contra as outras regras de exclusão. O bloqueio se limpa quando você nomeia o caminho exato sendo excluído, ou quando Claude re-executa a exclusão com o caminho literal resolvido escrito no comando. Exclusões cujo alvo o classificador pode resolver não são afetadas. Alvos `Remove-Item` que são um `*` simples ou terminam em `/*` ou `\*` nunca chegam ao classificador: Claude Code [nega-os imediatamente](#remove-item-in-powershell)412* Uma exclusão forçada recursiva como `rm -rf "$VAR"` ou `Remove-Item -Recurse -Force $dir` cujo alvo é uma variável de shell que não é atribuída em nenhum lugar na conversa que o classificador vê, ou um glob enraizado em tal variável. O valor veio apenas da saída de comando anterior, que o classificador nunca recebe, portanto o classificador não pode verificar o alvo de exclusão contra as outras regras de exclusão. O bloqueio se limpa quando você nomeia o caminho exato sendo excluído, ou quando Claude re-executa a exclusão com o caminho literal resolvido escrito no comando. Exclusões cujo alvo o classificador pode resolver não são afetadas.

413 

414 Um glob diretamente sob a variável, como em `rm -rf "$VAR"/*`, é um [caminho crítico](#critical-paths) em vez disso. Alvos `Remove-Item` que são um `*` simples ou terminam em `/*` ou `\*` nunca chegam ao classificador: Claude Code [os nega imediatamente](#remove-item-in-powershell).

411 415 

412Claude Code v2.1.257 e posterior também bloqueiam estes por padrão:416Claude Code v2.1.257 e posterior também bloqueiam estes por padrão:

413 417 

414* Solicitar credenciais do endpoint de metadados da instância em nuvem, como `169.254.169.254`, ou autenticar explicitamente uma chamada de nuvem, cluster ou registro com a identidade de conta de serviço ou nó da máquina418* Solicitação de credenciais do endpoint de metadados da instância de nuvem, como `169.254.169.254`, ou autenticação explícita de uma chamada de nuvem, cluster ou registro com a identidade de conta de serviço ou nó da máquina

415* Alcançar um host público por uma rota diferente de uma solicitação direta, como um túnel, um shell reverso, ou uma configuração de resolvedor ou proxy reescrita para apontar para fora419* Alcance de um host público por uma rota diferente de uma solicitação direta, como um túnel, um shell reverso ou uma configuração de resolvedor ou proxy reescrita para apontar para fora

416* Ler credenciais que pertencem ao host em vez de à sua tarefa, como certificados de nó ou auth de registro de contêiner do nó420* Leitura de credenciais que pertencem ao host em vez de à sua tarefa, como certificados de nó ou auth de registro de contêiner do nó

417* Conectar a ou escanear contêineres, pods ou VMs irmãos que Claude não iniciou, ou o nó sob o contêiner421* Conexão ou varredura de contêineres, pods ou VMs irmãos que Claude não iniciou, ou o nó sob o contêiner

418 422 

419Se Claude Code executar em algum lugar que se destine a permitir um desses, descreva essa configuração em uma entrada [Host containment](/docs/pt/auto-mode-config#define-trusted-infrastructure) em `autoMode.environment`.423Se Claude Code executar em algum lugar que se destine a permitir um desses, descreva essa configuração em uma entrada [Host containment](/docs/pt/auto-mode-config#define-trusted-infrastructure) em `autoMode.environment`.

420 424 

421Claude Code v2.1.261 e posterior também bloqueiam estes por padrão:425Claude Code v2.1.261 e posterior também bloqueiam estes por padrão:

422 426 

423* Postar ou escrever um link para um serviço público de paste, diagrama ou compartilhamento de dados em uma mensagem, texto de PR ou issue, um documento, ou em qualquer outro lugar onde o link será aberto ou buscado, quando a própria URL carrega o conteúdo sendo compartilhado, a menos que você tenha nomeado esse serviço427* Postagem ou escrita de um link para um serviço público de paste, diagrama ou compartilhamento de dados em uma mensagem, texto de PR ou issue, um documento ou em qualquer outro lugar onde o link será aberto ou buscado, quando a própria URL carrega o conteúdo sendo compartilhado, a menos que você tenha nomeado esse serviço

424 428 

425**Permitido por padrão**:429**Permitido por padrão**:

426 430 


428* Instalação de dependências declaradas em seus arquivos de lock ou manifestos432* Instalação de dependências declaradas em seus arquivos de lock ou manifestos

429* Leitura de `.env` e envio de credenciais para sua API correspondente433* Leitura de `.env` e envio de credenciais para sua API correspondente

430* Solicitações HTTP somente leitura434* Solicitações HTTP somente leitura

431* Fazer push para qualquer branch do repositório em que você está trabalhando, incluindo o branch padrão. Um branch não padrão cujo nome o marca como alvo de implantação ou publicação, como `production` ou `gh-pages`, não é coberto: o classificador julga um push lá em seus próprios termos. O conteúdo do push ainda é verificado contra as outras regras, regras [`permissions.deny`](/docs/pt/permissions#manage-permissions) ainda podem bloquear comandos push [conforme escrito](/docs/pt/permissions#bash-rule-limits) em todos os modos, e a proteção de branch própria do remoto ainda se aplica. Antes da v2.1.211, apenas pushes para o branch em que você iniciou, branches que Claude criou e pushes rotineiros para o branch padrão eram permitidos por padrão, e antes da v2.1.203 qualquer push direto para o branch padrão era bloqueado435* Push para qualquer branch do repositório em que você está trabalhando, incluindo o branch padrão. Um branch não padrão cujo nome o marca como um alvo de implantação ou publicação, como `production` ou `gh-pages`, não é coberto: o classificador julga um push lá em seus próprios termos. O conteúdo do push ainda é verificado contra as outras regras, [regras `permissions.deny`](/docs/pt/permissions#manage-permissions) ainda podem bloquear comandos push [conforme escrito](/docs/pt/permissions#bash-rule-limits) em todos os modos, e a proteção de branch própria do remoto ainda se aplica. Antes de v2.1.211, apenas pushes para o branch em que você iniciou, branches que Claude criou e pushes rotineiros para o branch padrão eram permitidos por padrão, e antes de v2.1.203 qualquer push direto para o branch padrão era bloqueado

432 436 

433Claude Code v2.1.195 e posterior também permitem estes por padrão:437Claude Code v2.1.195 e posterior também permitem estes por padrão:

434 438 

435* Excluir os trabalhos exatos que Claude criou anteriormente na mesma sessão439* Exclusão dos trabalhos exatos que Claude criou anteriormente na mesma sessão

436* Ler, revisar ou escrever código relacionado à segurança, configs e modelos de ameaça como parte de sua tarefa440* Leitura, revisão ou escrita de código, configs e modelos de ameaça relacionados à segurança como parte de sua tarefa

437* Mensagens entre agentes trabalhando juntos na mesma sessão multi-agente441* Mensagens entre agentes trabalhando juntos na mesma sessão multi-agente

438* Enviar dados para os domínios confiáveis, buckets e serviços que você lista em [`environment`](/docs/pt/auto-mode-config#define-trusted-infrastructure). Isso cobre apenas fluxo de dados, não operações destrutivas ou de credencial na mesma infraestrutura442* Envio de dados para os domínios confiáveis, buckets e serviços que você lista em [`environment`](/docs/pt/auto-mode-config#define-trusted-infrastructure). Isso abrange apenas fluxo de dados, não operações destrutivas ou de credencial na mesma infraestrutura

439* [Claude no Chrome](/docs/pt/chrome) navegação para um domínio interno confiável, localhost ou uma URL que você nomeou443* [Claude in Chrome](/docs/pt/chrome) navegação para um domínio interno confiável, localhost ou uma URL que você nomeou

440 444 

441Comandos em sandbox não obtêm acesso à rede por padrão. Claude nomeia os hosts que um comando precisa no próprio comando, o classificador os revisa com o comando, e uma lista aprovada abre esses hosts apenas para esse comando. [Domínios permitidos por comando](/docs/pt/sandboxing#per-command-allowed-domains-in-auto-mode) cobre o que uma lista pode e não pode abrir e o que acontece quando um comando alcança um host não listado.445Comandos em sandbox não obtêm acesso à rede por padrão. Claude nomeia os hosts que um comando precisa no próprio comando, o classificador os revisa com o comando, e uma lista aprovada abre esses hosts apenas para esse comando. [Domínios permitidos por comando](/docs/pt/sandboxing#per-command-allowed-domains-in-auto-mode) aborda o que uma lista pode e não pode abrir e o que acontece quando um comando alcança um host não listado.

442 446 

443Execute `claude auto-mode defaults` para imprimir as listas de regras completas como JSON. Se ações rotineiras forem bloqueadas, um administrador pode adicionar repositórios, buckets e serviços confiáveis via configuração `autoMode.environment`: consulte [Configurar modo automático](/docs/pt/auto-mode-config).447Execute `claude auto-mode defaults` para imprimir as listas de regras completas como JSON. Se ações rotineiras forem bloqueadas, um administrador pode adicionar repositórios, buckets e serviços confiáveis via configuração `autoMode.environment`: consulte [Configurar modo automático](/docs/pt/auto-mode-config).

444 448 

445Fazer push para qualquer branch do repositório em que você está trabalhando e criar uma solicitação de pull que corresponda à sua solicitação executam sem um prompt, a menos que o push ou solicitação de pull se enquadre na [lista bloqueada](#what-the-classifier-blocks-by-default), como segredos ou dados sensíveis saindo do repositório, ou uma solicitação de pull que tenha como alvo um repositório ou organização diferente. Para exigir um checkpoint humano antes desses comandos enquanto permanece no modo automático, adicione regras `permissions.ask`, que correspondem ao comando [conforme escrito](/docs/pt/permissions#bash-rule-limits): consulte [Limites comuns](/docs/pt/auto-mode-config#common-boundaries).449Push para qualquer branch do repositório em que você está trabalhando e criação de uma solicitação de pull que corresponde à sua solicitação executam sem um prompt, a menos que o push ou solicitação de pull caia sob a [lista bloqueada](#what-the-classifier-blocks-by-default), como segredos ou dados sensíveis saindo do repositório, ou uma solicitação de pull que direciona um repositório ou organização diferente. Para exigir um checkpoint humano antes desses comandos enquanto permanece em modo automático, adicione regras `permissions.ask`, que correspondem ao comando [conforme escrito](/docs/pt/permissions#bash-rule-limits): consulte [Limites comuns](/docs/pt/auto-mode-config#common-boundaries).

446 450 

447<h3 id="first-read-outside-the-working-directories">451<h3 id="first-read-outside-the-working-directories">

448 A primeira leitura fora dos diretórios de trabalho452 A primeira leitura fora dos diretórios de trabalho

449</h3>453</h3>

450 454 

451Enquanto [`permissions.blockReadsOutsideWorkingDirectories`](/docs/pt/settings-reference#permissions-blockreadsoutsideworkingdirectories) está desativado, leituras de arquivo executam sem um prompt no modo automático, incluindo leituras fora dos [diretórios de trabalho](/docs/pt/permissions#working-directories). A primeira vez que Claude usa a ferramenta Read, Grep ou Glob em um caminho fora deles, Claude Code pergunta se você deseja continuar permitindo essas leituras.455Enquanto [`permissions.blockReadsOutsideWorkingDirectories`](/docs/pt/settings-reference#permissions-blockreadsoutsideworkingdirectories) está desativado, leituras de arquivo executam sem um prompt em modo automático, incluindo leituras fora dos [diretórios de trabalho](/docs/pt/permissions#working-directories). A primeira vez que Claude usa a ferramenta Read, Grep ou Glob em um caminho fora deles, Claude Code pergunta se você deseja continuar permitindo essas leituras.

452 456 

453O prompt não aparece em execuções `-p` não interativas ou sessões em segundo plano; leituras lá executam como antes.457O prompt não aparece em execuções `-p` não interativas ou sessões em segundo plano; leituras lá executam como antes.

454 458 

455Qualquer que seja sua resposta, Claude continua trabalhando:459Qualquer que seja sua resposta, Claude continua trabalhando:

456 460 

457* **Continuar permitindo**: a leitura é executada, leituras posteriores fora dos diretórios de trabalho executam como antes, e Claude Code registra sua resposta para que o prompt não apareça novamente461* **Continuar permitindo**: a leitura é executada, leituras posteriores fora dos diretórios de trabalho executam como antes, e Claude Code registra sua resposta para que o prompt não apareça novamente

458* **Bloquear a partir de agora**: a leitura é recusada, e Claude Code define [`permissions.blockReadsOutsideWorkingDirectories`](/docs/pt/settings-reference#permissions-blockreadsoutsideworkingdirectories) como `true` em suas configurações de usuário, o que faz as ferramentas de arquivo recusarem essas leituras em todas as sessões posteriores e em todos os modos de permissão. Para deixar Claude ler esse caminho depois, adicione seu diretório com `/add-dir` ou remova a configuração.462* **Bloquear a partir de agora**: a leitura é recusada, e Claude Code define [`permissions.blockReadsOutsideWorkingDirectories`](/docs/pt/settings-reference#permissions-blockreadsoutsideworkingdirectories) como `true` em suas configurações de usuário, o que faz as ferramentas de arquivo recusarem essas leituras em todas as sessões posteriores e em todos os modos de permissão. Para deixar Claude ler tal caminho depois, adicione seu diretório com `/add-dir` ou remova a configuração.

459* **Perguntar novamente na próxima vez**: a leitura é recusada, e a próxima leitura fora dos diretórios de trabalho solicita novamente463* **Perguntar novamente na próxima vez**: a leitura é recusada, e a próxima leitura fora dos diretórios de trabalho solicita novamente

464* **Sim, mas pergunte novamente na próxima vez**: a leitura é executada, nada é salvo, e a próxima leitura fora dos diretórios de trabalho solicita novamente

460 465 

461<h3 id="boundaries-you-state-in-conversation">466<h3 id="boundaries-you-state-in-conversation">

462 Limites que você declara na conversa467 Limites que você declara na conversa

463</h3>468</h3>

464 469 

465O classificador trata limites que você declara na conversa como um sinal de bloqueio. Se você disser a Claude "não faça push" ou "aguarde até eu revisar antes de implantar", o classificador bloqueia ações correspondentes mesmo quando as regras padrão as permitiriam. Um limite permanece em vigor até você levantá-lo em uma mensagem posterior. O próprio julgamento de Claude de que uma condição foi atendida não o levanta.470O classificador trata limites que você declara na conversa como um sinal de bloqueio. Se você disser a Claude "não faça push" ou "espere até eu revisar antes de implantar", o classificador bloqueia ações correspondentes mesmo quando as regras padrão as permitiriam. Um limite permanece em vigor até você levantá-lo em uma mensagem posterior. O próprio julgamento de Claude de que uma condição foi atendida não o levanta.

466 471 

467Limites não são armazenados como regras. O classificador os relê da transcrição em cada verificação, portanto um limite pode ser perdido se [compactação de contexto](/docs/pt/costs#reduce-token-usage) remover a mensagem que o declarou. Para uma garantia firme, adicione uma [regra de negação](/docs/pt/permissions#permission-rule-syntax).472Limites não são armazenados como regras. O classificador os relê da transcrição em cada verificação, portanto um limite pode ser perdido se [compactação de contexto](/docs/pt/costs#reduce-token-usage) remover a mensagem que o declarou. Para uma garantia difícil, adicione uma [regra de negação](/docs/pt/permissions#permission-rule-syntax) em vez disso.

468 473 

469<h3 id="approvals-you-state-in-conversation">474<h3 id="approvals-you-state-in-conversation">

470 Aprovações que você declara na conversa475 Aprovações que você declara na conversa


474 479 

475* **Nomeie a ação e seus detalhes**: sua mensagem tem que nomear a ação e a coisa específica que a torna perigosa, como o branch de um force push. Nomear apenas o verbo não limpa nada, portanto "você pode fazer force-push" deixa o bloqueio em vigor.480* **Nomeie a ação e seus detalhes**: sua mensagem tem que nomear a ação e a coisa específica que a torna perigosa, como o branch de um force push. Nomear apenas o verbo não limpa nada, portanto "você pode fazer force-push" deixa o bloqueio em vigor.

476* **Espere que cubra uma ação**: uma aprovação cobre a ação destrutiva que você nomeou, portanto uma ação posterior é bloqueada novamente a menos que você tenha concedido a aprovação como permanente. Para parar de aprovar um padrão rotineiro uma ação por vez, adicione-o a [`autoMode.allow`](/docs/pt/auto-mode-config#override-the-block-and-allow-rules).481* **Espere que cubra uma ação**: uma aprovação cobre a ação destrutiva que você nomeou, portanto uma ação posterior é bloqueada novamente a menos que você tenha concedido a aprovação como permanente. Para parar de aprovar um padrão rotineiro uma ação por vez, adicione-o a [`autoMode.allow`](/docs/pt/auto-mode-config#override-the-block-and-allow-rules).

477* **Alguns bloqueios permanecem em vigor**: [a ordem de precedência do classificador](/docs/pt/auto-mode-config#override-the-block-and-allow-rules) estabelece quais bloqueios sua aprovação pode alcançar. Para executar uma etapa que não limpará, [saia do modo automático](#switch-permission-modes) e responda ao prompt de permissão.482* **Alguns bloqueios permanecem em vigor**: [a ordem de precedência do classificador](/docs/pt/auto-mode-config#override-the-block-and-allow-rules) estabelece quais bloqueios sua aprovação pode alcançar. Para executar uma etapa que não limpará, [deixe o modo automático](#switch-permission-modes) e responda ao prompt de permissão.

478 483 

479<h3 id="when-auto-mode-falls-back">484<h3 id="when-auto-mode-falls-back">

480 Quando o modo automático volta485 Quando o modo automático volta

481</h3>486</h3>

482 487 

483Quando o modo automático não pode aprovar as ações de sua sessão, o que acontece depende do caso:488Quando o modo automático não consegue aprovar as ações de sua sessão, o que acontece depende do caso:

484 489 

485* **Uma ação bloqueada**: Claude Code mostra uma notificação e lista a ação em `/permissions` na aba **Recently denied**, onde você pode pressionar `r` para tentar novamente com uma aprovação manual. Quando o classificador produz [nenhum veredito sobre a ação](/docs/pt/errors#auto-mode-cannot-determine-the-safety-of-an-action), porque uma verificação de segurança separada do modo automático recusou a própria solicitação do classificador ou sua resposta não foi analisada, Claude Code nega a ação sem a notificação ou a entrada **Recently denied**.490* **Uma ação bloqueada**: Claude Code mostra uma notificação e lista a ação em `/permissions` sob a aba **Recently denied**, onde você pode pressionar `r` para tentar novamente com uma aprovação manual. Quando o classificador produz [nenhum veredito na ação](/docs/pt/errors#auto-mode-cannot-determine-the-safety-of-an-action), porque uma verificação de segurança separada do modo automático recusou a própria solicitação do classificador ou sua resposta não foi analisada, Claude Code nega a ação sem a notificação ou a entrada **Recently denied**.

486* **Bloqueios repetidos**: se o classificador bloqueia uma ação 3 vezes seguidas ou 20 vezes no total, o modo automático pausa e Claude Code retoma a solicitação. Aprovar a ação solicitada retoma o modo automático. Esses limites não são configuráveis. Qualquer ação permitida redefine o contador consecutivo, enquanto o contador total persiste para a sessão e redefine apenas quando seu próprio limite dispara um fallback. Claude Code não conta uma negação para nenhum limite quando [uma verificação de segurança separada do modo automático recusa a solicitação do classificador](/docs/pt/errors#auto-mode-cannot-determine-the-safety-of-an-action); a entrada vinculada cobre como Claude Code lida com essas negações.491* **Bloqueios repetidos**: se o classificador bloqueia uma ação 3 vezes seguidas ou 20 vezes no total, o modo automático pausa e Claude Code retoma a solicitação. Aprovar a ação solicitada retoma o modo automático. Esses limites não são configuráveis. Qualquer ação permitida redefine o contador consecutivo, enquanto o contador total persiste para a sessão e redefine apenas quando seu próprio limite dispara um fallback. Claude Code não conta uma negação para nenhum limite quando [uma verificação de segurança separada do modo automático recusa a solicitação do classificador](/docs/pt/errors#auto-mode-cannot-determine-the-safety-of-an-action); a entrada vinculada aborda como Claude Code lida com essas negações.

487* **Sessões que não podem solicitar**: uma execução `-p` [não interativa](/docs/pt/headless) sem um [`--permission-prompt-tool`](/docs/pt/cli-reference#cli-flags) não tem prompt para voltar. Quando bloqueios repetidos atingem um limite, a ação não é executada e Claude continua trabalhando. O mesmo se aplica quando [uma verificação de segurança separada do modo automático recusa a solicitação do classificador](/docs/pt/errors#auto-mode-cannot-determine-the-safety-of-an-action). Claude Code não para a execução em nenhum dos casos.492* **Sessões que não conseguem solicitar**: uma execução `-p` [não interativa](/docs/pt/headless) sem um [`--permission-prompt-tool`](/docs/pt/cli-reference#cli-flags) não tem um prompt para voltar. Quando bloqueios repetidos atingem um limite, a ação não é executada e Claude continua trabalhando. O mesmo se aplica quando [uma verificação de segurança separada do modo automático recusa a solicitação do classificador](/docs/pt/errors#auto-mode-cannot-determine-the-safety-of-an-action). Claude Code não para a execução em nenhum dos casos.

488* **Nenhum veredito do servidor**: sob [revisão do classificador no servidor](#server-side-classifier-review), Claude Code nega uma ação para a qual o servidor não dá veredito, e para a volta após dez respostas seguidas sem veredito. Consulte [O servidor não retornou veredito de segurança](/docs/pt/errors#the-server-returned-no-safety-verdict).493* **Nenhum veredito do servidor**: sob [revisão do classificador no servidor](#server-side-classifier-review), Claude Code nega uma ação para a qual o servidor não fornece um veredito, e para a volta após dez respostas seguidas sem veredito. Consulte [O servidor não retornou um veredito de segurança](/docs/pt/errors#the-server-returned-no-safety-verdict).

489* **Uma mudança de modo durante uma verificação**: se você alternar modos de permissão enquanto uma verificação do classificador está pendente, Claude Code descarta um veredito que o novo modo não teria solicitado em vez de aplicá-lo: você é solicitado para aprovação, ou a ação é auto-negada no [modo `dontAsk`](#allow-only-pre-approved-tools-with-dontask-mode).494* **Uma mudança de modo durante uma verificação**: se você alternar modos de permissão enquanto uma verificação do classificador está pendente, Claude Code descarta um veredito que o novo modo não teria solicitado em vez de aplicá-lo: você é solicitado para aprovação em vez disso, ou a ação é auto-negada em [modo `dontAsk`](#allow-only-pre-approved-tools-with-dontask-mode).

490 495 

491Bloqueios repetidos geralmente significam que o classificador está perdendo contexto sobre sua infraestrutura. Use `/feedback` para relatar falsos positivos, ou peça a um administrador para [configurar infraestrutura confiável](/docs/pt/auto-mode-config).496Bloqueios repetidos geralmente significam que o classificador está perdendo contexto sobre sua infraestrutura. Use `/feedback` para relatar falsos positivos, ou tenha um administrador [configurar infraestrutura confiável](/docs/pt/auto-mode-config).

492 497 

493<span id="how-the-classifier-evaluates-actions" />498<span id="how-the-classifier-evaluates-actions" />

494 499 


497 Cada ação passa por uma ordem de decisão fixa. O primeiro passo correspondente vence:502 Cada ação passa por uma ordem de decisão fixa. O primeiro passo correspondente vence:

498 503 

499 1. Ações que correspondem a suas [regras de permitir, solicitar ou negar](/docs/pt/permissions#manage-permissions) resolvem imediatamente, com essas exceções:504 1. Ações que correspondem a suas [regras de permitir, solicitar ou negar](/docs/pt/permissions#manage-permissions) resolvem imediatamente, com essas exceções:

500 * Gravações em [caminhos protegidos](#protected-paths) são roteadas para o classificador mesmo quando uma regra de permissão corresponde, e assim são remoções `rm` e `rmdir` direcionadas a um [caminho crítico](#critical-paths) em Claude Code v2.1.218 e posterior505 * Escritas em [caminhos protegidos](#protected-paths) são roteadas para o classificador mesmo quando uma regra de permissão corresponde

501 * Ferramentas MCP marcadas [`requiresUserInteraction`](/docs/pt/mcp#require-approval-for-a-specific-tool) o solicitam diretamente mesmo quando uma regra de permissão corresponde, e assim fazem ferramentas de conector [que sua organização definiu como `ask`](/docs/pt/mcp#organization-controls-on-connector-tools) em sessões onde essa configuração chega a Claude Code506 * Nenhuma regra de permissão aprova remoções de `rm` e `rmdir` direcionadas a um [caminho crítico](#critical-paths)

507 * Ferramentas MCP marcadas [`requiresUserInteraction`](/docs/pt/mcp#require-approval-for-a-specific-tool) o solicitam diretamente mesmo quando uma regra de permissão corresponde, e também ferramentas de conector [sua organização definiu como `ask`](/docs/pt/mcp#organization-controls-on-connector-tools) em sessões onde essa configuração chega a Claude Code

502 * Um comando de shell que carrega [domínios permitidos por comando](/docs/pt/sandboxing#per-command-allowed-domains-in-auto-mode) também é roteado para o classificador mesmo quando uma regra de permissão corresponde, porque uma regra aprova o comando, não seus hosts508 * Um comando de shell que carrega [domínios permitidos por comando](/docs/pt/sandboxing#per-command-allowed-domains-in-auto-mode) também é roteado para o classificador mesmo quando uma regra de permissão corresponde, porque uma regra aprova o comando, não seus hosts

503 * Regras de solicitação que correspondem no conteúdo de um comando, como `Bash(git push *)`, voltam para um prompt de permissão509 * Regras de solicitação que correspondem no conteúdo de um comando, como `Bash(git push *)`, voltam para um prompt de permissão

504 2. Ações somente leitura e edições de arquivo em seu diretório de trabalho são auto-aprovadas, exceto gravações em [caminhos protegidos](#protected-paths) e [a primeira leitura fora dos diretórios de trabalho](#first-read-outside-the-working-directories), que o solicita510 * Uma escrita que a [verificação de symlink](/docs/pt/permissions#symlinks) resolve para um caminho protegido o solicita quando o caminho que Claude solicitou não é em si protegido

505 * Em uma sessão com [revisão do classificador no servidor](#server-side-classifier-review), ações somente leitura e comandos de shell [em sandbox](/docs/pt/sandboxing#sandbox-modes) aguardam essa revisão e são bloqueados se ela os sinalizar511 2. Ações somente leitura e edições de arquivo em seu diretório de trabalho são auto-aprovadas, exceto escritas em [caminhos protegidos](#protected-paths) e [a primeira leitura fora dos diretórios de trabalho](#first-read-outside-the-working-directories), que o solicita

506 3. Tudo o mais vai para o classificador. As ferramentas de conector e ferramentas MCP `requiresUserInteraction` que o solicitam diretamente na etapa 1 nunca chegam ao classificador, portanto nem uma aprovação exigida pela organização nem uma etapa de consentimento é auto-aprovada512 * Em uma sessão com [revisão do classificador no servidor](#server-side-classifier-review), leitura-apenas e comandos de shell [em sandbox](/docs/pt/sandboxing#sandbox-modes) aguardam essa revisão e são bloqueados se ela os sinalizar

513 * Uma escrita dentro de seu diretório de trabalho que a [verificação de symlink](/docs/pt/permissions#symlinks) resolve para um local fora dele o solicita

514 3. Tudo mais vai para o classificador, além de [remoções de caminho crítico](#critical-paths) sob seu tratamento padrão. As ferramentas de conector e ferramentas MCP `requiresUserInteraction` que o solicitam diretamente na etapa 1 nunca chegam ao classificador também, portanto nem uma aprovação exigida pela organização nem uma etapa de consentimento é auto-aprovada

507 4. Se o classificador bloqueia, Claude recebe o motivo e tenta uma alternativa. Na maioria das sessões o motivo nomeia a regra que o classificador correspondeu, como `[Data Exfiltration]`, em vez de dar uma explicação escrita; consulte [Revisar negações](/docs/pt/auto-mode-config#review-denials)515 4. Se o classificador bloqueia, Claude recebe o motivo e tenta uma alternativa. Na maioria das sessões o motivo nomeia a regra que o classificador correspondeu, como `[Data Exfiltration]`, em vez de dar uma explicação escrita; consulte [Revisar negações](/docs/pt/auto-mode-config#review-denials)

508 516 

509 Ao entrar no modo automático, regras de permissão amplas que concedem execução de código arbitrária são descartadas:517 Ao entrar em modo automático, regras de permissão amplas que concedem execução de código arbitrário são descartadas:

510 518 

511 * Blanket `Bash(*)` ou `PowerShell(*)`519 * `Bash(*)` ou `PowerShell(*)` em branco

512 * Intérpretes com wildcard como `Bash(python*)`520 * Intérpretes com wildcard como `Bash(python*)`

513 * Comandos de execução do gerenciador de pacotes521 * Comandos de execução do gerenciador de pacotes

514 * Regras de permissão `Agent`522 * Regras `Agent`

515 * Regras de permissão [`Monitor`](/docs/pt/tools-reference#monitor-tool), porque Claude Code executa comandos Monitor através do shell523 * [`Monitor`](/docs/pt/tools-reference#monitor-tool) regras de permissão, porque Claude Code executa comandos Monitor através do shell

516 524 

517 Regras estreitas como `Bash(npm test)` permanecem em vigor. Claude Code restaura as regras descartadas quando você sai do modo automático. Antes da v2.1.236, Claude Code deixava regras de permissão `Monitor` em vigor no modo automático, portanto uma regra que correspondesse à ferramenta inteira aprovava comandos Monitor sem revisão do classificador.525 Regras estreitas como `Bash(npm test)` permanecem em vigor. Claude Code restaura as regras descartadas quando você deixa o modo automático. Antes de v2.1.236, Claude Code deixou regras de permissão `Monitor` em vigor em modo automático, portanto uma regra que correspondesse à ferramenta inteira aprovava comandos Monitor sem revisão do classificador.

518 526 

519 Claude Code também executa `git status` em si antes de um comando que descartaria trabalho não confirmado, como `git reset --hard` ou `rm -rf`, e mostra ao classificador se há trabalho preparado, modificado ou não rastreado presente. Claude Code relata arquivos não rastreados nessa verificação mesmo quando a configuração git do repositório define `status.showUntrackedFiles=no`.527 Claude Code também executa `git status` em si antes de um comando que descartaria trabalho não confirmado, como `git reset --hard` ou `rm -rf`, e mostra ao classificador se há trabalho preparado, modificado ou não rastreado presente. Claude Code relata arquivos não rastreados nessa verificação mesmo quando a configuração git do repositório define `status.showUntrackedFiles=no`.

520 528 

521 Nas solicitações do classificador enviadas pelo próprio Claude Code, o classificador vê mensagens de usuário, chamadas de ferramenta diferentes de buscas somente leitura como leituras de arquivo e buscas, e seu conteúdo CLAUDE.md. Resultados de ferramenta são removidos dessas solicitações, portanto conteúdo hostil em um arquivo ou página da web não pode manipular o classificador diretamente.529 Nas solicitações do classificador enviadas pelo próprio Claude Code, o classificador vê mensagens do usuário, chamadas de ferramenta diferentes de lookups somente leitura como leituras de arquivo e buscas, e seu conteúdo CLAUDE.md. Resultados de ferramenta são removidos dessas solicitações, portanto conteúdo hostil em um arquivo ou página da web não pode manipular o classificador diretamente.

522 530 

523 Você pode anotar o resultado de uma chamada com um campo [`classifierContext`](/docs/pt/hooks#annotate-a-result-for-the-auto-mode-classifier) do hook PostToolUse, que o classificador lê como contexto fornecido pela aplicação. O campo requer Claude Code v2.1.236 ou posterior.531 Você pode anotar o resultado de uma chamada com um campo [`classifierContext` do hook PostToolUse](/docs/pt/hooks#annotate-a-result-for-the-auto-mode-classifier), que o classificador lê como contexto fornecido pela aplicação. O campo requer Claude Code v2.1.236 ou posterior.

524 532 

525 Uma sonda separada no servidor escaneia resultados de ferramenta recebidos e sinaliza conteúdo suspeito antes de Claude lê-lo. Para mais sobre como essas camadas funcionam juntas, consulte o [anúncio do modo automático](https://claude.com/blog/auto-mode) e o [aprofundamento de engenharia](https://www.anthropic.com/engineering/claude-code-auto-mode).533 Uma sonda separada no servidor verifica conteúdo de resultado de ferramenta recebido e sinaliza conteúdo suspeito antes que Claude o leia. Para mais sobre como essas camadas funcionam juntas, consulte o [anúncio de modo automático](https://claude.com/blog/auto-mode) e o [aprofundamento de engenharia](https://www.anthropic.com/engineering/claude-code-auto-mode).

526 </Accordion>534 </Accordion>

527 535 

528 <Accordion title="Como o modo automático lida com subagentos">536 <Accordion title="Como o modo automático lida com subagentes">

529 O classificador verifica o trabalho de [subagentos](/docs/pt/sub-agents) em três pontos:537 O classificador verifica o trabalho de [subagente](/docs/pt/sub-agents) em três pontos:

530 538 

531 1. Antes de um subagentos iniciar, a descrição da tarefa delegada é avaliada, portanto uma tarefa com aparência perigosa é bloqueada no tempo de spawn.539 1. Antes de um subagente iniciar, a descrição da tarefa delegada é avaliada, portanto uma tarefa que parece perigosa é bloqueada no tempo de spawn.

532 2. Enquanto o subagentos executa, cada uma de suas ações passa pelo classificador com as mesmas regras que a sessão pai, e qualquer `permissionMode` no frontmatter do subagentos é ignorado.540 2. Enquanto o subagente executa, cada uma de suas ações passa pelo classificador com as mesmas regras que a sessão pai, e qualquer `permissionMode` no frontmatter do subagente é ignorado.

533 3. Quando o subagentos termina, o classificador revisa seu trabalho e seu relatório final antes que o pai leia o relatório. Quando o classificador sinaliza o trabalho ou relatório do subagentos, ou uma verificação de segurança de API separada recusa a revisão, o relatório ainda é entregue, precedido por um aviso de segurança. Quando o classificador não está disponível para a revisão, o relatório chega com uma nota para verificar o trabalho do subagentos antes de agir com base nele.541 3. Quando o subagente termina, o classificador revisa seu trabalho e seu relatório final antes que o pai leia o relatório. Quando o classificador sinaliza o trabalho ou relatório do subagente, ou uma verificação de segurança de API separada recusa a revisão, o relatório ainda é entregue, precedido por um aviso de segurança. Quando o classificador não está disponível para a revisão, o relatório chega com uma nota para verificar o trabalho do subagente antes de agir com base nele.

534 </Accordion>542 </Accordion>

535 543 

536 <Accordion title="Custo e latência">544 <Accordion title="Custo e latência">

537 O classificador executa em Claude Sonnet 5 por padrão em vez de em sua seleção `/model`. Um modelo classificador que Anthropic configura no servidor tem precedência sobre esse padrão. Quando o modelo de sua sessão é Claude Sonnet 4.6, ou quando [`availableModels`](/docs/pt/model-config#restrict-model-selection) exclui Sonnet 5, o classificador executa no modelo de sua sessão, ou em um modelo Opus quando a sessão executa em um [modelo Fable](/docs/pt/model-config#work-with-fable); em provedores diferentes da API Anthropic, esse fallback Opus é o modelo Opus padrão do provedor.545 O classificador executa em Claude Sonnet 5 por padrão em vez de sua seleção `/model`. Um modelo de classificador que a Anthropic configura no servidor tem precedência sobre esse padrão. Quando o modelo de sua sessão é Claude Sonnet 4.6, ou quando [`availableModels`](/docs/pt/model-config#restrict-model-selection) exclui Sonnet 5, o classificador executa no modelo da sessão em vez disso, ou em um modelo Opus quando a sessão executa em um [modelo Fable](/docs/pt/model-config#work-with-fable); em provedores diferentes da API Anthropic, esse fallback Opus é o modelo Opus padrão do provedor.

538 546 

539 A primeira solicitação de modo automático da sessão valida o padrão Sonnet 5: se a solicitação for bem-sucedida, Sonnet 5 permanece o modelo classificador da sessão, e se falhar porque o modelo não está disponível, a sessão usa o fallback. Depois que essa validação se resolve, o modelo do classificador não muda para a sessão.547 A primeira solicitação de modo automático da sessão valida o padrão Sonnet 5: se a solicitação for bem-sucedida, Sonnet 5 permanece o modelo de classificador da sessão, e se falhar porque o modelo não está disponível, a sessão usa o fallback em vez disso. Depois que essa validação se resolve, o modelo do classificador não muda para a sessão.

540 548 

541 Em planos Enterprise e em contas que usam a API Claude, [Claude Platform on AWS](/docs/pt/claude-platform-on-aws), Amazon Bedrock, Agent Platform do Google Cloud ou Microsoft Foundry, chamadas do classificador contam para seu uso de token. Cada verificação envia uma porção da transcrição mais a ação pendente, adicionando uma volta antes da execução. Leituras e edições de diretório de trabalho fora de caminhos protegidos pulam o classificador, portanto a sobrecarga vem principalmente de comandos de shell e operações de rede. Onde o servidor revisa as ações como parte das solicitações de modelo da sessão, não há chamadas de classificador separadas para contar; consulte [Revisão do classificador no servidor](#server-side-classifier-review).549 Em planos Enterprise e em contas que usam a API Claude, [Claude Platform on AWS](/docs/pt/claude-platform-on-aws), Amazon Bedrock, Agent Platform do Google Cloud ou Microsoft Foundry, chamadas do classificador contam para seu uso de token. Cada verificação envia uma porção da transcrição mais a ação pendente, adicionando uma volta antes da execução. Leituras e edições de diretório de trabalho fora de caminhos protegidos pulam o classificador, portanto a sobrecarga vem principalmente de comandos de shell e operações de rede. Onde o servidor revisa as ações como parte das solicitações de modelo da sessão, não há chamadas de classificador separadas para contar; consulte [Revisão do classificador no servidor](#server-side-classifier-review).

542 550 

543 O acesso à rede em sandbox não adiciona solicitações de classificador por conexão. O classificador julga [os hosts que um comando nomeia](/docs/pt/sandboxing#per-command-allowed-domains-in-auto-mode) junto com o comando em uma revisão, e Claude Code verifica cada conexão contra a lista aprovada sem chamar o classificador novamente.551 Acesso à rede em sandbox não adiciona solicitações de classificador por conexão. O classificador julga [os hosts que um comando nomeia](/docs/pt/sandboxing#per-command-allowed-domains-in-auto-mode) junto com o comando em uma revisão, e Claude Code verifica cada conexão contra a lista aprovada sem chamar o classificador novamente.

544 </Accordion>552 </Accordion>

545</AccordionGroup>553</AccordionGroup>

546 554 


568 576 

569O modo `bypassPermissions` desativa prompts de permissão e verificações de segurança para que chamadas de ferramentas sejam executadas imediatamente, incluindo gravações em [caminhos protegidos](#protected-paths).577O modo `bypassPermissions` desativa prompts de permissão e verificações de segurança para que chamadas de ferramentas sejam executadas imediatamente, incluindo gravações em [caminhos protegidos](#protected-paths).

570 578 

571As [ações que nenhum modo auto-aprova](#actions-no-mode-auto-approves) ainda solicitam neste modo.579As [ações que nenhum modo auto-aprova](#actions-no-mode-auto-approves) ainda solicitam neste modo. As [Remove-Item no PowerShell](#remove-item-in-powershell) negações também se aplicam neste modo.

572 580 

573Duas [salvaguardas de mensagens entre sessões](/docs/pt/cross-session-messaging) ainda se aplicam neste modo, e em sessões de modo plan interativas onde permissões de bypass estão disponíveis:581Duas [salvaguardas de mensagens entre sessões](/docs/pt/cross-session-messaging) ainda se aplicam neste modo, e em sessões de modo plan interativas onde permissões de bypass estão disponíveis:

574 582 


625 633 

626Em uma sessão iniciada com [`--restricted`](/docs/pt/cli-reference#cli-flags), que requer Claude Code v2.1.248 ou posterior, o classificador não consegue aprovar gravações em caminhos protegidos.634Em uma sessão iniciada com [`--restricted`](/docs/pt/cli-reference#cli-flags), que requer Claude Code v2.1.248 ou posterior, o classificador não consegue aprovar gravações em caminhos protegidos.

627 635 

628Regras [`permissions.allow`](/docs/pt/permissions#manage-permissions) em arquivos de configurações não pré-aprovam gravações em caminhos protegidos. A verificação de segurança é executada antes de Claude Code avaliar regras de permissão de arquivos de configurações, então uma entrada como `Edit(.claude/**)` em `~/.claude/settings.json` ou `.claude/settings.json` não altera o resultado por modo na tabela acima. Em modos que solicitam, o prompt para uma gravação em `.claude/` oferece **Sim, e permitir que Claude edite suas próprias configurações para esta sessão**, o que aprova gravações posteriores em `.claude/` nessa sessão sem solicitar novamente.636Nos modos que roteiam gravações em caminhos protegidos para o classificador, uma gravação que a [verificação de symlink](/docs/pt/permissions#symlinks) resolve para um caminho protegido solicita você em vez disso quando o caminho que Claude solicitou não é em si protegido.

637 

638Regras [`permissions.allow`](/docs/pt/permissions#manage-permissions) em arquivos de configurações não pré-aprovam gravações em caminhos protegidos. A verificação de segurança é executada antes de Claude Code avaliar regras de permissão de arquivos de configurações, então uma entrada como `Edit(.claude/**)` em `~/.claude/settings.json` ou `.claude/settings.json` não altera o resultado por modo na tabela acima. Em modos que solicitam, o prompt para uma gravação na pasta `.claude/` do projeto ou em `~/.claude/` pode oferecer uma destas opções com escopo de sessão:

639 

640* Para a pasta `.claude/` do projeto: **Sim, e permitir que Claude edite arquivos na pasta .claude deste projeto para esta sessão**

641* Para `~/.claude/`: **Sim, e permitir que Claude edite arquivos em sua pasta \~/.claude para esta sessão**

629 642 

630Diretórios protegidos:643Diretórios protegidos:

631 644 


663| Modo | O que Claude Code faz com uma remoção de caminho crítico |676| Modo | O que Claude Code faz com uma remoção de caminho crítico |

664| :- | :- |677| :- | :- |

665| `default`, `acceptEdits` | Pede que você o aprove |678| `default`, `acceptEdits` | Pede que você o aprove |

666| `plan` | Pede que você o aprove. Com [modo automático disponível durante o planejamento](#analyze-before-you-edit-with-plan-mode) e nenhuma permissão de bypass disponível, envia-o para o classificador em vez disso |679| `plan` | Pede que você o aprove. Quando [o classificador revisa comandos durante o planejamento](#analyze-before-you-edit-with-plan-mode) e nenhuma permissão de bypass está disponível, trata como em modo `auto` |

667| `auto` | Envia-o para o [classificador](#eliminate-prompts-with-auto-mode) |680| `auto` | Pede que você o aprove no terminal, com um limite de tempo. Em outro lugar, nega-o |

668| `dontAsk` | Nega-o |681| `dontAsk` | Nega-o |

669| `bypassPermissions` | Pede que você o aprove |682| `bypassPermissions` | Pede que você o aprove, com um limite de tempo no terminal |

683 

684Se uma [regra de solicitação](/docs/pt/permissions#manage-permissions) explícita corresponder ao comando, Claude Code o solicita em vez disso, mesmo em modo `auto` e sem um limite de tempo. Em modos que solicitam, um hook [`PermissionRequest`](/docs/pt/hooks#permissionrequest) pode responder ao prompt.

685 

686O tratamento de `auto` e `bypassPermissions` requer Claude Code v2.1.281 ou posterior. Para desativá-lo, defina [`CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT=1`](/docs/pt/env-vars#variables) no ambiente que inicia Claude Code. Em modo `auto`, as remoções de caminho crítico vão para o classificador em vez disso, e em modo `bypassPermissions` o prompt não tem limite de tempo.

670 687 

671Se uma [regra de solicitação](/docs/pt/permissions#manage-permissions) explícita corresponder ao comando, Claude Code o solicita mesmo em modo `auto`. Em modos que solicitam, um hook [`PermissionRequest`](/docs/pt/hooks#permissionrequest) pode responder ao prompt da forma que responde a qualquer outro.688Em modos `auto` e `bypassPermissions`, o prompt do terminal mostra uma contagem regressiva de dois minutos:

689 

690* Se a contagem regressiva terminar antes de você responder, Claude Code nega o comando e diz a Claude o que fazer em vez disso, para que uma sessão desatendida continue funcionando.

691* Pressione qualquer tecla enquanto o prompt está aberto para parar a contagem regressiva e manter o prompt aguardando sua resposta.

692* Após três desses prompts expirarem sem resposta em uma sessão, Claude Code para de mostrá-los e nega remoções de caminho crítico adicionais imediatamente. Enviar uma nova mensagem reinicia a contagem.

693 

694Em modo `auto`, onde quer que Claude Code não possa mostrar um prompt de terminal, nega o comando imediatamente, por exemplo em [execuções não interativas](/docs/pt/headless) com `-p`, em sessões do [Agent SDK](/docs/pt/agent-sdk/permissions) e no painel de chat da extensão VS Code e no aplicativo Desktop. A negação diz a Claude para relatar o que queria deletar e deixar a remoção para você.

672 695 

673Claude Code trata um alvo `rm` ou `rmdir` como um caminho crítico quando é qualquer um dos seguintes:696Claude Code trata um alvo `rm` ou `rmdir` como um caminho crítico quando é qualquer um dos seguintes:

674 697 


686* Para uma variável como `$DIR`, proteja cada expansão para que o shell pare com um erro quando a variável não estiver definida ou vazia, como em `rm -rf "${DIR:?}"/*`, ou use um caminho literal709* Para uma variável como `$DIR`, proteja cada expansão para que o shell pare com um erro quando a variável não estiver definida ou vazia, como em `rm -rf "${DIR:?}"/*`, ou use um caminho literal

687* Para uma variável que normalmente está definida, como `$HOME`, use um caminho literal710* Para uma variável que normalmente está definida, como `$HOME`, use um caminho literal

688 711 

689Uma remoção cujas expansões estão todas protegidas dessa forma não é uma remoção de caminho crítico, então em modo `bypassPermissions` ela é executada sem um prompt.712Uma remoção cujas expansões estão todas protegidas dessa forma passa nessa verificação, então em modo `bypassPermissions` ela é executada sem um prompt, a menos que outra verificação nesta seção a sinalize.

713 

714Claude Code também trata esses alvos como caminhos críticos:

715 

716* **Uma variável de shell seguida por um nome de diretório de nível superior**, como `rm -rf "$TMPDIR/mnt"`: quando a variável se expande vazia, o comando remove `/mnt`. Isso cobre nomes de nível superior comuns como `mnt`, `tmp`, `usr` e `Users`.

717* **Uma variável que o mesmo comando atribui de uma substituição de impressão de diretório**, como `D=$(pwd); rm -rf "$D"` ou uma atribuição de `$(git rev-parse --show-toplevel)`: o valor pode nomear seu diretório de trabalho ou raiz do repositório. Uma proteção `"${D:?}"` não limpa essa verificação, porque a variável não está vazia; use um caminho literal em vez disso.

718* **Um alvo somente com barra invertida**, como `rm -rf "\\"`: Git Bash no Windows lê uma barra invertida solitária como a raiz da unidade atual, então a verificação se aplica em todas as plataformas.

719* **Apenas a saída de uma substituição de comando**, como `rm -rf "$(pwd)"`, quando o `rm` é recursivo: Claude Code não pode verificar o alvo antes do comando ser executado, então o prompt diz a Claude para executar a substituição por conta própria primeiro e depois remover os caminhos literais que ela imprime. Para desativar essa verificação, defina [`CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT=1`](/docs/pt/env-vars#variables) no ambiente que inicia Claude Code.

720 

721Quando uma substituição de comando à direita pode se expandir vazia, como em `rm -rf ~/$(cmd)`, Claude Code verifica o caminho que permaneceria, seu diretório home neste exemplo.

690 722 

691Esconder a remoção dentro de uma subshell com `(...)`, um grupo de chaves com `{ ...; }`, substituição de comando com `$(...)` ou backticks, ou substituição de processo com `<(...)`, não pula a verificação. Claude Code encontra uma remoção de caminho crítico independentemente de estar dentro da forma aninhada, como em `(rm -rf ~)` ou `echo "$(rm -rf ~)"`, ou em outro lugar no mesmo comando.723Esconder a remoção dentro de uma subshell com `(...)`, um grupo de chaves com `{ ...; }`, substituição de comando com `$(...)` ou backticks, ou substituição de processo com `<(...)`, não pula a verificação. Claude Code encontra uma remoção de caminho crítico independentemente de estar dentro da forma aninhada, como em `(rm -rf ~)` ou `echo "$(rm -rf ~)"`, ou em outro lugar no mesmo comando.

692 724 


694 Remove-Item em PowerShell726 Remove-Item em PowerShell

695</h3>727</h3>

696 728 

697Quando você habilita a [ferramenta PowerShell](/docs/pt/tools-reference#powershell-tool), Claude Code dá a `Remove-Item` sua própria verificação, separada da lista de caminhos críticos `rm`. O resultado depende do alvo, e o primeiro caso correspondente se aplica:729Quando você habilita a [ferramenta PowerShell](/docs/pt/tools-reference#powershell-tool), Claude Code dá a `Remove-Item` e aos built-ins `cmd` `rd`, `rmdir`, `del` e `erase` suas próprias verificações, separadas da lista de caminhos críticos `rm`. Para `Remove-Item`, o resultado depende do alvo, e o primeiro caso correspondente se aplica:

698 730 

699* **Caminhos do sistema**: a raiz do sistema de arquivos e seus diretórios de nível superior, raízes de unidade e seus diretórios de nível superior, e seu diretório home. Claude Code nega o comando em todos os modos, sem o solicitar.731* **Caminhos do sistema**: a raiz do sistema de arquivos e seus diretórios de nível superior, raízes de unidade e seus diretórios de nível superior, e seu diretório home. Claude Code nega o comando em todos os modos, sem o solicitar.

700* **Wildcards**: um `*` nu, ou qualquer alvo terminando em `/*` ou `\*`, incluindo um glob sob uma variável de shell como `$dir/*`. Claude Code nega o comando em todos os modos, sem o solicitar, antes do [classificador](#eliminate-prompts-with-auto-mode) vê-lo.732* **Wildcards**: um `*` nu, ou qualquer alvo terminando em `/*` ou `\*`, incluindo um glob sob uma variável de shell como `$dir/*`. Claude Code nega o comando em todos os modos, sem o solicitar, antes do [classificador](#eliminate-prompts-with-auto-mode) vê-lo.

701* **Seu diretório de trabalho ou um de seus pais, com `-Recurse`**: Claude Code trata o comando como qualquer outro que precisa de aprovação em seu modo de permissão, então o solicita em modos que solicitam, envia-o para o classificador em modo `auto` e o nega em modo `dontAsk`. O modo `bypassPermissions` pula essa verificação.733* **Seu diretório de trabalho ou um de seus pais, com `-Recurse`**: Claude Code trata o comando como qualquer outro que precisa de aprovação em seu modo de permissão, então o solicita em modos que solicitam, envia-o para o classificador em modo `auto` e o nega em modo `dontAsk`. O modo `bypassPermissions` pula essa verificação.

702 734 

735O caso de caminhos do sistema também se aplica a `rd`, `rmdir`, `del` e `erase` quando Claude os executa através de `cmd`, como em `cmd /c rd /s /q C:\Users`. Por padrão, Claude Code nega tal comando em todos os modos, sem o solicitar. Esta verificação `cmd` requer Claude Code v2.1.283 ou posterior.

736 

737Ao julgar um alvo `cmd`, Claude Code trata uma variável PowerShell que segue texto literal como vazia. Isso torna `cmd /c rd /s /q "C:\$name"` uma remoção de `C:\`, então também é negada. Um wildcard à direita conta como a pasta que esvazia, então `cmd /c del /q C:\*` é negado e `cmd /c del /q dist\*` em seu projeto não é.

738 

739Para desativar a verificação `cmd`, defina [`CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY=1`](/docs/pt/env-vars#variables) no ambiente que inicia Claude Code. Claude Code ignora esta variável no bloco `env` de um arquivo de configurações. `Remove-Item` em um caminho do sistema permanece negado de qualquer forma.

740 

703<h2 id="see-also">741<h2 id="see-also">

704 Veja também742 Veja também

705</h2>743</h2>

permissions.md +49 −20

Details

457* Claude Code lê um padrão `!` relativo ao diretório atual mesmo quando `/`, `~/` ou `//` segue o `!`, portanto o padrão não consegue alcançar uma regra ancorada com um desses prefixos. `Read(!~/notes/public/**)` remove nada de `Read(~/notes/**)`.457* Claude Code lê um padrão `!` relativo ao diretório atual mesmo quando `/`, `~/` ou `//` segue o `!`, portanto o padrão não consegue alcançar uma regra ancorada com um desses prefixos. `Read(!~/notes/public/**)` remove nada de `Read(~/notes/**)`.

458* Uma remoção não consegue reabrir um arquivo dentro de um diretório que uma regra bloqueia como um todo. Com `Read(secrets/**)` e `Read(!secrets/public/**)`, Claude Code ainda bloqueia `secrets/public` junto com o resto de `secrets`.458* Uma remoção não consegue reabrir um arquivo dentro de um diretório que uma regra bloqueia como um todo. Com `Read(secrets/**)` e `Read(!secrets/public/**)`, Claude Code ainda bloqueia `secrets/public` junto com o resto de `secrets`.

459 459 

460Quando Claude acessa um symlink, as regras de permissão verificam dois caminhos: o próprio symlink e o arquivo para o qual ele se resolve. As regras allow e deny tratam esse par de forma diferente: as regras allow voltam a solicitar, enquanto as regras deny bloqueiam imediatamente.460<h4 id="symlinks">

461 Symlinks

462</h4>

463 

464Quando um caminho de arquivo que Claude solicita passa por um symlink, a verificação de permissão cobre dois caminhos: o que Claude solicitou e o arquivo para o qual ele se resolve. Isso se aplica a links simbólicos em macOS, Linux e Windows, e a junções de diretório no Windows.

465 

466<h5 id="how-rules-match-a-symlinked-path">

467 Como regras correspondem a um caminho com symlink

468</h5>

461 469 

462* **Regras allow**: se aplicam apenas quando tanto o caminho do symlink quanto seu alvo correspondem. Um symlink dentro de um diretório permitido que aponta para fora dele ainda solicita.470As regras allow e deny tratam o caminho solicitado e o arquivo para o qual ele se resolve de forma diferente:

463* **Regras deny**: se aplicam quando o caminho do symlink ou seu alvo correspondem. Um symlink que aponta para um arquivo negado é ele próprio negado. Por exemplo, com `Read(./project/**)` permitido e `Read(~/.ssh/**)` negado, um symlink em `./project/key` apontando para `~/.ssh/id_rsa` é bloqueado: o alvo falha na regra allow e corresponde à regra deny.471 

472* **Regras allow**: se aplicam apenas quando tanto o caminho solicitado quanto o arquivo para o qual ele se resolve correspondem. Uma leitura através de um symlink dentro de um diretório permitido que aponta para fora dele não corresponde à regra.

473* **Regras deny**: se aplicam quando o caminho solicitado ou o arquivo para o qual ele se resolve correspondem. Um symlink que aponta para um arquivo negado é ele próprio negado. Por exemplo, com `Read(./project/**)` permitido e `Read(~/.ssh/**)` negado, um symlink em `./project/key` apontando para `~/.ssh/id_rsa` é bloqueado: o alvo falha na regra allow e corresponde à regra deny.

464 474 

465Em macOS e Linux, uma regra deny ou ask escrita através de um diretório com symlink com um padrão `//`, `~/` ou `/` também se aplica na localização real do diretório. Por exemplo, em macOS, onde `/etc` se resolve para `/private/etc`, `Read(//etc/**)` também bloqueia `/private/etc/hosts`. Antes de v2.1.268, uma regra deny ou ask escrita através de um diretório com symlink não se aplicava a um caminho dado por sua localização real.475Em macOS e Linux, uma regra deny ou ask escrita através de um diretório com symlink com um padrão `//`, `~/` ou `/` também se aplica na localização real do diretório. Por exemplo, em macOS, onde `/etc` se resolve para `/private/etc`, `Read(//etc/**)` também bloqueia `/private/etc/hosts`. Antes de v2.1.268, uma regra deny ou ask escrita através de um diretório com symlink não se aplicava a um caminho dado por sua localização real.

466 476 

467Quando uma ferramenta abre um arquivo aprovado, Claude Code [confirma que o caminho ainda se resolve para a localização que a verificação de permissão aprovou](/docs/pt/errors#refusing-after-a-symlink-changed).477<h5 id="writes-through-a-symlink">

478 Escritas através de um symlink

479</h5>

480 

481Se o caminho que Claude pede para editar ou escrever é ele próprio um symlink, as ferramentas Edit e Write [recusam a escrita e direcionam Claude para o alvo do link](/docs/pt/errors#refusing-after-a-symlink-changed).

482 

483Uma escrita ainda pode passar através de um symlink quando um diretório no caminho para o arquivo é um symlink, ou quando um comando Bash ou PowerShell faz a escrita. Para essas escritas, o que acontece depende de onde o arquivo para o qual a escrita se resolve fica em relação aos seus [diretórios de trabalho](#working-directories) e aos [caminhos protegidos](/docs/pt/permission-modes#protected-paths):

484 

485* **Se resolve fora dos diretórios de trabalho**: quando o caminho solicitado está dentro de seus diretórios de trabalho e o arquivo para o qual ele se resolve não está, a escrita não é auto-aprovada em [modo `acceptEdits`](/docs/pt/permission-modes#auto-approve-file-edits-with-acceptedits-mode). Em [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode), a menos que uma regra allow aprove a escrita, você é solicitado para ela em vez do classificador decidir. O prompt nomeia o caminho para o qual a escrita se resolve.

486* **Se resolve para um caminho protegido que o caminho solicitado não nomeia**: a [tabela de caminhos protegidos](/docs/pt/permission-modes#protected-paths) dá o resultado para cada modo de permissão, exceto que onde a tabela roteia a escrita para o classificador, essa escrita solicita você em vez disso.

487 

488<h5 id="paths-that-can’t-be-resolved-or-that-change">

489 Caminhos que não conseguem ser resolvidos ou que mudam

490</h5>

491 

492Quando Claude Code não consegue determinar para onde um caminho leva no disco, por exemplo porque symlinks nele formam um loop, as ferramentas Read, Edit e Write [recusam a operação](/docs/pt/errors#refusing-after-a-symlink-changed).

493 

494Quando uma ferramenta então abre o arquivo aprovado, ela [confirma que o caminho ainda se resolve para a localização que a verificação de permissão aprovou](/docs/pt/errors#refusing-after-a-symlink-changed).

468 495 

469Grep e Glob pesquisam o diretório para o qual o argumento `path` se resolve. Claude Code aplica regras deny `Read` a esse diretório.496Grep e Glob pesquisam o diretório para o qual o argumento `path` se resolve. Claude Code aplica regras deny `Read` a esse diretório.

470 497 


697 724 

698As regras `permissions.allow` e as entradas `permissions.additionalDirectories` no `.claude/settings.json` de um projeto concedem capacidade, portanto Claude Code as aplica apenas após você aceitar o [diálogo de confiança do workspace](/docs/pt/security#additional-safeguards) para essa pasta. O diálogo lista as regras e diretórios que a pasta concederia para que você possa revisá-los primeiro. As regras `deny` e `ask` não são afetadas, pois apenas restringem.725As regras `permissions.allow` e as entradas `permissions.additionalDirectories` no `.claude/settings.json` de um projeto concedem capacidade, portanto Claude Code as aplica apenas após você aceitar o [diálogo de confiança do workspace](/docs/pt/security#additional-safeguards) para essa pasta. O diálogo lista as regras e diretórios que a pasta concederia para que você possa revisá-los primeiro. As regras `deny` e `ask` não são afetadas, pois apenas restringem.

699 726 

700Claude Code armazena e salva a confiança que você aceita de acordo com onde você a inicia:727Claude Code armazena e guarda a confiança que você aceita de acordo com onde você o inicia:

701 728 

702* Em um repositório, Claude Code baseia a confiança na raiz do repositório git, portanto a confiança cobre todo o repositório, exceto qualquer repositório git aninhado dentro dele, como um submódulo. Em uma [worktree](/docs/pt/worktrees), ele usa a raiz do checkout principal, como faz para [regras salvas](#permission-system).729* Em um repositório, Claude Code baseia a confiança na raiz do repositório git, portanto a confiança cobre todo o repositório, exceto qualquer repositório git aninhado dentro dele, como um submódulo. Em um [worktree](/docs/pt/worktrees), ele usa a raiz do checkout principal, como faz para [regras salvas](#permission-system).

703* Fora de um repositório, Claude Code baseia a confiança no diretório a partir do qual você a iniciou, e a confiança cobre qualquer subdiretório desse diretório, exceto um repositório git aninhado dentro dele, como um clone. Cada subdiretório coberto então conta como uma pasta cujo pai você confiou.730* Fora de um repositório, Claude Code baseia a confiança no diretório de onde você o iniciou, e a confiança cobre qualquer subdiretório desse diretório, exceto um repositório git aninhado dentro dele, como um clone. Cada subdiretório coberto então conta como uma pasta cujo pai você confiou.

704* Quando você inicia no seu diretório inicial, Claude Code mantém a confiança apenas para a sessão atual e não a escreve em disco; consulte a nota sobre [salvaguardas adicionais](/docs/pt/security#additional-safeguards).731* Quando você inicia no seu diretório inicial, Claude Code mantém a confiança apenas para a sessão atual e não a escreve no disco; consulte a nota [safeguards adicionais](/docs/pt/security#additional-safeguards).

705 732 

706Claude Code mostra o diálogo de confiança apenas em sessões interativas. Uma execução `claude -p` ou uma sessão SDK nunca o mostra, e confiar em uma pasta pai não conta para essas regras, portanto [O que é executado antes de você confiar em uma pasta](#what-runs-before-you-trust-a-folder) diz qual conteúdo do repositório Claude Code ainda usa em cada uma dessas duas situações.733Claude Code mostra o diálogo de confiança apenas em sessões interativas. Uma execução `claude -p` ou uma sessão SDK nunca o mostra, e confiar em uma pasta pai não conta para essas regras, portanto [O que é executado antes de você confiar em uma pasta](#what-runs-before-you-trust-a-folder) diz qual conteúdo do repositório Claude Code ainda usa em cada uma dessas duas situações.

707 734 

735Antes de iniciar ou reiniciar uma [sessão em background](/docs/pt/agent-view), Claude Code também verifica a confiança do workspace para o diretório em que a sessão é executada. Se você executar `claude --bg` a partir de um terminal em um diretório que você não confiou, o diálogo de confiança aparece primeiro e a sessão inicia assim que você a aceita. Onde nenhum diálogo pode aparecer, como em um script, o comando sai com um erro [`Workspace not trusted`](/docs/pt/errors#workspace-not-trusted-when-dispatching-a-background-session).

736 

708<h3 id="when-your-local-settings-file-needs-trust">737<h3 id="when-your-local-settings-file-needs-trust">

709 Quando seu arquivo de configurações local precisa de confiança738 Quando seu arquivo de configurações local precisa de confiança

710</h3>739</h3>

711 740 

712`.claude/settings.local.json` é normalmente seu próprio arquivo, portanto Claude Code aplica suas regras de permissão e diretórios adicionais sem a etapa de confiança. Quando o arquivo é rastreado no git, ou `.claude` é um symlink, Claude Code o trata como fornecido pelo repositório e mantém suas regras até você confiar na pasta.741`.claude/settings.local.json` é normalmente seu próprio arquivo, portanto Claude Code aplica suas regras de permissão e diretórios adicionais sem a etapa de confiança. Quando o arquivo é rastreado no git, ou `.claude` é um symlink, Claude Code o trata como fornecido pelo repositório e retém suas regras até que você confie na pasta.

713 742 

714Claude Code executa git para distinguir os dois, e executa git apenas uma vez que você confiou na pasta: você aceitou o diálogo de confiança para ela ou para um diretório pai cuja confiança se estende a ela, ou você está em uma sessão `-p` ou SDK, que conta como aceita. Até então, onde você iniciou Claude Code decide o que acontece com as regras do arquivo:743Claude Code executa git para distinguir os dois, e executa git apenas após você ter confiado na pasta: você aceitou o diálogo de confiança para ela ou para um diretório pai cuja confiança se estende a ela, ou você está em uma sessão `-p` ou SDK, que conta como aceita. Até então, onde você iniciou Claude Code decide o que acontece com as regras do arquivo:

715 744 

716* **No seu diretório de configuração pessoal:** Claude Code aplica o `.claude/settings.local.json` dessa pasta imediatamente sem executar git. Seu diretório de configuração pessoal é seu diretório inicial, ou um diretório cujo subdiretório `.claude` você definiu como [`CLAUDE_CONFIG_DIR`](/docs/pt/env-vars#variables). Se esse diretório `CLAUDE_CONFIG_DIR` fica dentro de um repositório git e Claude Code [mantém suas configurações locais na raiz do repositório](/docs/pt/settings#where-claude-code-looks-for-each-file), ele mantém as regras como em qualquer outro lugar.745* **No seu diretório de configuração inicial:** Claude Code aplica o `.claude/settings.local.json` dessa pasta imediatamente sem executar git. Seu diretório de configuração inicial é seu diretório inicial, ou um diretório cujo subdiretório `.claude` você definiu como [`CLAUDE_CONFIG_DIR`](/docs/pt/env-vars#variables). Se esse diretório `CLAUDE_CONFIG_DIR` fica dentro de um repositório git e Claude Code [mantém suas configurações locais na raiz do repositório](/docs/pt/settings#where-claude-code-looks-for-each-file), ele retém as regras como em qualquer outro lugar.

717* **Em qualquer outro lugar:** Claude Code mantém as regras do arquivo como configurações do projeto. Uma vez que a verificação foi executada, Claude Code aplica as regras de um arquivo não rastreado, ou de um arquivo em um diretório fora de qualquer repositório git, mesmo que você não tenha confiado nessa pasta exata.746* **Em qualquer outro lugar:** Claude Code retém as regras do arquivo como configurações de projeto. Após a verificação ser executada, Claude Code aplica as regras de um arquivo não rastreado, ou de um arquivo em um diretório fora de qualquer repositório git, mesmo que você não tenha confiado nessa pasta exata.

718 747 

719<Note>748<Note>

720 A exceção do diretório de configuração pula apenas a etapa de confiança. `~/.claude/settings.local.json` ainda é [escopo local](/docs/pt/settings#compare-the-scope-of-each-settings-file), portanto Claude Code a lê apenas em sessões que você inicia no seu diretório inicial, não em todos os projetos. Para aplicar regras de permissão em todos os seus projetos, adicione-as às suas configurações de usuário: `~/.claude/settings.json`, ou `$CLAUDE_CONFIG_DIR/settings.json` quando `CLAUDE_CONFIG_DIR` está definido.749 A exceção do diretório de configuração ignora apenas a etapa de confiança. `~/.claude/settings.local.json` ainda é [escopo local](/docs/pt/settings#compare-the-scope-of-each-settings-file), portanto Claude Code o lê apenas em sessões que você inicia no seu próprio diretório inicial, não em todos os projetos. Para aplicar regras de permissão em todos os seus projetos, adicione-as às suas configurações de usuário: `~/.claude/settings.json`, ou `$CLAUDE_CONFIG_DIR/settings.json` quando `CLAUDE_CONFIG_DIR` está definido.

721</Note>750</Note>

722 751 

723Nas versões 2.1.196 a 2.1.199, Claude Code mantinha as regras do arquivo no seu diretório de configuração pessoal e fora de repositórios git também, e imprimia o aviso [`this workspace has not been trusted`](/docs/pt/errors#workspace-has-not-been-trusted) lá. Antes da v2.1.207, Claude Code aplicava as regras de um arquivo não rastreado antes de você aceitar o diálogo.752Nas versões 2.1.196 a 2.1.199, Claude Code retinha as regras do arquivo no seu diretório de configuração inicial e fora de repositórios git também, e imprimia o aviso [`this workspace has not been trusted`](/docs/pt/errors#workspace-has-not-been-trusted) lá. Antes da v2.1.207, Claude Code aplicava as regras de um arquivo não rastreado antes de você aceitar o diálogo.

724 753 

725<h3 id="what-runs-before-you-trust-a-folder">754<h3 id="what-runs-before-you-trust-a-folder">

726 O que é executado antes de você confiar em uma pasta755 O que é executado antes de você confiar em uma pasta


730 759 

731| O que o repositório fornece | Você confiou apenas em uma pasta pai | `claude -p` ou o SDK, pasta nunca confiada |760| O que o repositório fornece | Você confiou apenas em uma pasta pai | `claude -p` ou o SDK, pasta nunca confiada |

732| :- | :- | :- |761| :- | :- | :- |

733| [Hooks](/docs/pt/hooks) em arquivos de configurações, o bloco [`env`](/docs/pt/settings-reference#env) e comandos auxiliares como [`apiKeyHelper`](/docs/pt/settings-reference#apikeyhelper), e os [hooks](/docs/pt/hooks#hooks-in-skills-and-agents) de uma skill do projeto e [`allowed-tools`](/docs/pt/skills#pre-approve-tools-for-a-skill) | Usado | Usado. A confiança do workspace nunca bloqueia `allowed-tools` de uma skill em nenhuma sessão |762| [Hooks](/docs/pt/hooks) em arquivos de configurações, o bloco [`env`](/docs/pt/settings-reference#env) e comandos auxiliares como [`apiKeyHelper`](/docs/pt/settings-reference#apikeyhelper), e os [hooks](/docs/pt/hooks#hooks-in-skills-and-agents) de uma skill de projeto e [`allowed-tools`](/docs/pt/skills#pre-approve-tools-for-a-skill) | Usado | Usado. A confiança do workspace nunca bloqueia `allowed-tools` de uma skill em nenhuma sessão |

734| Regras `permissions.allow` e `additionalDirectories` em `.claude/settings.json` | Não usado até você aceitar o diálogo de confiança, que aparece novamente listando-os | Não usado. Claude Code imprime um aviso [`this workspace has not been trusted`](/docs/pt/errors#workspace-has-not-been-trusted) para stderr |763| Regras `permissions.allow` e `additionalDirectories` em `.claude/settings.json` | Não usado até você aceitar o diálogo de confiança, que aparece novamente listando-os | Não usado. Claude Code imprime um aviso [`this workspace has not been trusted`](/docs/pt/errors#workspace-has-not-been-trusted) para stderr |

735| Hooks de frontmatter em um [subagent](/docs/pt/sub-agents#hooks-in-subagent-frontmatter) do projeto, um plugin [`@skills-dir`](/docs/pt/plugins/loading#plugins-shared-through-a-repository) do projeto, e entradas [`extraKnownMarketplaces`](/docs/pt/settings-reference#extraknownmarketplaces) do repositório ou de um diretório `--add-dir` | Não usado, e nenhum diálogo é oferecido | Não usado |764| Hooks de frontmatter em um [subagent](/docs/pt/sub-agents#hooks-in-subagent-frontmatter) de projeto, um plugin [`@skills-dir`](/docs/pt/plugins/loading#plugins-shared-through-a-repository) de projeto, e entradas [`extraKnownMarketplaces`](/docs/pt/settings-reference#extraknownmarketplaces) do repositório ou um diretório `--add-dir` | Não usado, e nenhum diálogo é oferecido | Não usado |

736| [`mcpServers`](/docs/pt/sub-agents#scope-mcp-servers-to-a-subagent) inline no frontmatter de um subagent do repositório ou de um diretório `--add-dir`. Antes da v2.1.238, Claude Code carregava esses servidores em ambas as situações | Não usado, e nenhum diálogo é oferecido | Não usado |765| [`mcpServers`](/docs/pt/sub-agents#scope-mcp-servers-to-a-subagent) inline no frontmatter de um subagent do repositório ou um diretório `--add-dir`. Antes da v2.1.238, Claude Code carregava esses servidores em ambas as situações | Não usado, e nenhum diálogo é oferecido | Não usado |

737| Servidores em `.mcp.json`, incluindo aqueles que o repositório [aprova em suas próprias configurações](/docs/pt/mcp#project-server-approvals-and-workspace-trust) | Claude Code pergunta antes de conectá-los. As aprovações do próprio repositório não contam | Conectado sem perguntar, aprovado ou não. O SDK os carrega apenas quando `settingSources` inclui configurações do projeto. `claude mcp list` na mesma pasta ainda relata tal servidor como pendente |766| Servidores em `.mcp.json`, incluindo aqueles que o repositório [aprova em suas próprias configurações](/docs/pt/mcp#project-server-approvals-and-workspace-trust) | Claude Code pergunta antes de conectá-los. As aprovações do próprio repositório não contam | Conectado sem perguntar, aprovado ou não. O SDK os carrega apenas quando `settingSources` inclui configurações de projeto. `claude mcp list` na mesma pasta ainda relata tal servidor como pendente |

738| Um [`headersHelper`](/docs/pt/mcp#trust-a-folder-before-its-headershelper-runs) em um servidor em `.mcp.json`. Antes da v2.1.238, Claude Code executava o auxiliar em ambas as situações | Não executado até você aceitar o diálogo de confiança, que aparece novamente nomeando onde o auxiliar é declarado. Claude Code conecta o servidor apenas com seus `headers` estáticos até então | Não executado. Claude Code conecta o servidor com seus `headers` estáticos e imprime uma linha [`headersHelper not run`](/docs/pt/errors#headershelper-not-run) por servidor para stderr |767| Um [`headersHelper`](/docs/pt/mcp#trust-a-folder-before-its-headershelper-runs) em um servidor em `.mcp.json`. Antes da v2.1.238, Claude Code executava o auxiliar em ambas as situações | Não executado até você aceitar o diálogo de confiança, que aparece novamente nomeando onde o auxiliar é declarado. Claude Code conecta o servidor apenas com seus `headers` estáticos até então | Não executado. Claude Code conecta o servidor com seus `headers` estáticos e imprime uma linha [`headersHelper not run`](/docs/pt/errors#headershelper-not-run) por servidor para stderr |

739 768 

740Para as linhas que precisam dessa pasta exata confiada, confie nela manualmente: defina `projects["<path>"].hasTrustDialogAccepted` como `true` em `~/.claude.json`, onde `<path>` é a raiz do repositório, ou a pasta em si fora de um repositório. Claude Code imprime a chave exata na linha de log de depuração para um hook de subagent ignorado ou servidor MCP inline, no aviso stderr para regras de permissão ignoradas, e na linha `headersHelper not run` para um auxiliar ignorado.769Para as linhas que precisam dessa pasta exata confiada, confie nela manualmente: defina `projects["<path>"].hasTrustDialogAccepted` como `true` em `~/.claude.json`, onde `<path>` é a raiz do repositório, ou a pasta em si fora de um repositório. Claude Code imprime a chave exata na linha de log de depuração para um hook de subagent ignorado ou servidor MCP inline, no aviso stderr para regras de permissão ignoradas, e na linha `headersHelper not run` para um auxiliar ignorado.

741 770 

742Antes de executar `claude -p` em um repositório que você não escreveu, decida o que ele pode executar em sua máquina:771Antes de executar `claude -p` em um repositório que você não escreveu, decida o que ele pode executar em sua máquina:

743 772 

744* Passe `--setting-sources user`, ou defina o `settingSources` do SDK sem configurações do projeto, para que Claude Code não leia nem os arquivos de configurações do projeto nem seu `.mcp.json`773* Passe `--setting-sources user`, ou defina o `settingSources` do SDK sem configurações de projeto, para que Claude Code não leia nem os arquivos de configurações do projeto nem seu `.mcp.json`

745* Inicie com [`--bare`](/docs/pt/headless#start-faster-with-bare-mode) para que Claude Code não leia hooks, skills, comandos personalizados, subagents, plugins ou servidores `.mcp.json` do projeto. O bloco `env` do projeto e auxiliares como `awsAuthRefresh` em seus arquivos de configurações ainda se aplicam, e Claude Code lê `apiKeyHelper` apenas de `--settings`774* Inicie com [`--bare`](/docs/pt/headless#start-faster-with-bare-mode) para que Claude Code não leia hooks, skills, comandos personalizados, subagents, plugins ou servidores `.mcp.json` do projeto. O bloco `env` do projeto e auxiliares como `awsAuthRefresh` em seus arquivos de configurações ainda se aplicam, e Claude Code lê `apiKeyHelper` apenas de `--settings`

746* Passe `--settings '{"disableAllHooks": true}'` para [desativar hooks](/docs/pt/hooks#disable-or-remove-hooks) para essa execução. Defini-lo apenas em suas configurações de usuário não é suficiente, porque as configurações do projeto do repositório têm precedência sobre as suas e podem defini-lo de volta para `false`775* Passe `--settings '{"disableAllHooks": true}'` para [desativar hooks](/docs/pt/hooks#disable-or-remove-hooks) para essa execução. Defini-lo apenas em suas configurações de usuário não é suficiente, porque as configurações de projeto do repositório têm precedência sobre as suas e podem defini-lo de volta para `false`

747* Adicione uma entrada [`disabledMcpjsonServers`](/docs/pt/settings-reference#disabledmcpjsonservers) para rejeitar um servidor `.mcp.json` por nome em todos os tipos de sessão776* Adicione uma entrada [`disabledMcpjsonServers`](/docs/pt/settings-reference#disabledmcpjsonservers) para rejeitar um servidor `.mcp.json` por nome em todos os tipos de sessão

748 777 

749<h2 id="example-configurations">778<h2 id="example-configurations">

platforms.md +1 −1

Details

53| | Gatilho | Claude é executado em | Configuração | Melhor para |53| | Gatilho | Claude é executado em | Configuração | Melhor para |

54| :- | :- | :- | :- | :- |54| :- | :- | :- | :- | :- |

55| [Dispatch](/docs/pt/desktop#sessions-from-dispatch) | Envie uma tarefa a partir do aplicativo móvel Claude | Sua máquina (Desktop) | [Emparelhe o aplicativo móvel com Desktop](https://support.claude.com/en/articles/13947068) | Delegar trabalho enquanto você está ausente, configuração mínima |55| [Dispatch](/docs/pt/desktop#sessions-from-dispatch) | Envie uma tarefa a partir do aplicativo móvel Claude | Sua máquina (Desktop) | [Emparelhe o aplicativo móvel com Desktop](https://support.claude.com/en/articles/13947068) | Delegar trabalho enquanto você está ausente, configuração mínima |

56| [Remote Control](/docs/pt/remote-control) | Dirija uma sessão em execução a partir de [claude.ai/code](https://claude.ai/code) ou do aplicativo móvel Claude | Sua máquina (CLI ou VS Code) | Execute `claude remote-control` | Orientar trabalho em andamento de outro dispositivo |56| [Remote Control](/docs/pt/remote-control) | Dirija uma sessão em execução a partir de [claude.ai/code](https://claude.ai/code) ou do aplicativo móvel Claude | Sua máquina (CLI, Desktop ou VS Code) | Execute [`claude remote-control` ou `/remote-control`](/docs/pt/remote-control#start-a-remote-control-session) | Orientar trabalho em andamento de outro dispositivo |

57| [Channels](/docs/pt/channels) | Envie eventos de um aplicativo de chat como Telegram ou Discord, ou seu próprio servidor | Sua máquina (CLI) | [Instale um plugin de canal](/docs/pt/channels#quickstart) ou [crie o seu próprio](/docs/pt/channels-reference) | Reagir a eventos externos como falhas de CI ou mensagens de chat |57| [Channels](/docs/pt/channels) | Envie eventos de um aplicativo de chat como Telegram ou Discord, ou seu próprio servidor | Sua máquina (CLI) | [Instale um plugin de canal](/docs/pt/channels#quickstart) ou [crie o seu próprio](/docs/pt/channels-reference) | Reagir a eventos externos como falhas de CI ou mensagens de chat |

58| [Slack](/docs/pt/slack) | Mencione `@Claude` em um canal de equipe | Nuvem Anthropic | [Instale o aplicativo Slack](/docs/pt/slack#setting-up-claude-code-in-slack) com [Claude Code na web](/docs/pt/claude-code-on-the-web) ativado | PRs e revisões do chat da equipe |58| [Slack](/docs/pt/slack) | Mencione `@Claude` em um canal de equipe | Nuvem Anthropic | [Instale o aplicativo Slack](/docs/pt/slack#setting-up-claude-code-in-slack) com [Claude Code na web](/docs/pt/claude-code-on-the-web) ativado | PRs e revisões do chat da equipe |

59| [Self-hosted environments](/docs/pt/self-hosted-environments) | Inicie uma [sessão na nuvem](/docs/pt/claude-code-on-the-web) e escolha o ambiente da sua organização | Infraestrutura da sua organização | [Implante runners](/docs/pt/self-hosted-environments-quickstart), em planos Team e Enterprise | Sessões na nuvem que devem ser executadas dentro da sua rede |59| [Self-hosted environments](/docs/pt/self-hosted-environments) | Inicie uma [sessão na nuvem](/docs/pt/claude-code-on-the-web) e escolha o ambiente da sua organização | Infraestrutura da sua organização | [Implante runners](/docs/pt/self-hosted-environments-quickstart), em planos Team e Enterprise | Sessões na nuvem que devem ser executadas dentro da sua rede |

plugin-evals.md +17 −2

Details

16* Detectar regressões quando você altera o plugin ou um novo modelo é lançado16* Detectar regressões quando você altera o plugin ou um novo modelo é lançado

17* Ver qual é a contribuição do plugin em comparação com nenhum plugin17* Ver qual é a contribuição do plugin em comparação com nenhum plugin

18 18 

19Esta página é para autores de plugins e skills que têm um plugin funcionando e desejam testar seu comportamento, e para equipes que fazem gate de mudanças de plugin em CI. Seu formato de caso é separado do arquivo `evals/evals.json` que o [skill-creator plugin](/docs/pt/skills#run-evals-with-skill-creator) usa. Para criar um plugin, consulte [Criar um plugin](/docs/pt/plugins/create); para verificar os arquivos de um plugin quanto a erros de sintaxe e esquema em vez de seu comportamento, use [`claude plugin validate`](/docs/pt/plugins/cli-reference#plugin-validate).19Esta página é para autores de plugins e skills que têm um plugin funcionando e desejam testar seu comportamento, e para equipes que fazem gate de mudanças de plugin em CI. Para iterar em uma skill dentro de uma conversa Claude Code, o [skill-creator plugin](/docs/pt/skills#run-evals-with-skill-creator) executa uma comparação similar com seu próprio formato `evals/evals.json`, e nenhuma ferramenta lê os arquivos de caso da outra. Para criar um plugin, consulte [Criar um plugin](/docs/pt/plugins/create); para verificar os arquivos de um plugin quanto a erros de sintaxe e esquema em vez de seu comportamento, use [`claude plugin validate`](/docs/pt/plugins/cli-reference#plugin-validate).

20 20 

21<Note>21<Note>

22 Cada execução de eval e cada avaliador de juiz é uma chamada de modelo real em sua conta, contada contra o uso do seu plano ou sua fatura de API, então verifique os [requisitos](#requirements) primeiro. Em seguida, [crie seu primeiro conjunto de eval](#create-your-first-eval-suite), ou vá para [Executar evals em CI](#run-evals-in-ci) se você já tiver um.22 Cada execução de eval e cada avaliador de juiz é uma chamada de modelo real em sua conta, contada contra o uso do seu plano ou sua fatura de API, então verifique os [requisitos](#requirements) primeiro. Em seguida, [crie seu primeiro conjunto de eval](#create-your-first-eval-suite), ou vá para [Executar evals em CI](#run-evals-in-ci) se você já tiver um.


29Para executar evals de plugin você precisa:29Para executar evals de plugin você precisa:

30 30 

31* Claude Code v2.1.269 ou posterior. Execute `claude --version` para verificar e `claude update` para atualizar.31* Claude Code v2.1.269 ou posterior. Execute `claude --version` para verificar e `claude update` para atualizar.

32* Git 2.31 ou posterior, se o git estiver instalado. Execute `git --version` para verificar. Com um git mais antigo, `claude plugin eval` [para antes de executar qualquer caso](#git-is-too-old-for-claude-plugin-eval). Sem git, ele funciona normalmente.

32* Um diretório de plugin com um manifesto `plugin.json` ou `.claude-plugin/plugin.json`, ou um [plugin de diretório de skills](/docs/pt/plugins/loading#plugins-shared-through-a-repository).33* Um diretório de plugin com um manifesto `plugin.json` ou `.claude-plugin/plugin.json`, ou um [plugin de diretório de skills](/docs/pt/plugins/loading#plugins-shared-through-a-repository).

33* A mesma autenticação e provedor de modelo que suas sessões normais de Claude Code usam. Execuções de eval, avaliadores pontuados por juiz e `claude plugin eval init` chamam o modelo com suas credenciais, então contam contra seus limites de uso do plano ou sua fatura de API. Quando o comando relata um custo, a figura é uma [estimativa de preço de lista](/docs/pt/costs) dessas chamadas.34* A mesma autenticação e provedor de modelo que suas sessões normais de Claude Code usam. Execuções de eval, avaliadores pontuados por juiz e `claude plugin eval init` chamam o modelo com suas credenciais, então contam contra seus limites de uso do plano ou sua fatura de API. Quando o comando relata um custo, a figura é uma [estimativa de preço de lista](/docs/pt/costs) dessas chamadas.

34 35 


442| 130 | Interrompido. Resultados parciais são escritos |443| 130 | Interrompido. Resultados parciais são escritos |

443| 143 | Terminado, como por um timeout de CI |444| 143 | Terminado, como por um timeout de CI |

444 445 

445Problemas ao escrever ou publicar o relatório HTML nunca mudam o código de saída.446O delta com-menos-sem é relatado mas nunca muda o código de saída, e nem problemas ao escrever ou publicar o relatório HTML.

446 447 

447Para ver por que um caso marcou baixo, execute-o localmente sem `--json` para que o progresso por execução e as linhas do avaliador sejam impressas.448Para ver por que um caso marcou baixo, execute-o localmente sem `--json` para que o progresso por execução e as linhas do avaliador sejam impressas.

448 449 


688 689 

689Esta é a primeira execução contra um diretório que Claude Code ainda não confia, e não pode perguntar porque stdin ou stdout não é um terminal, você passou `--json`, ou a variável de ambiente `CI` está definida como um valor verdadeiro como `true`. Execute `claude plugin eval <dir>` uma vez em um terminal e responda o prompt, ou passe `--trust-plugin` se você confia no código e conjunto do plugin. Veja [O que uma execução pode acessar](#security).690Esta é a primeira execução contra um diretório que Claude Code ainda não confia, e não pode perguntar porque stdin ou stdout não é um terminal, você passou `--json`, ou a variável de ambiente `CI` está definida como um valor verdadeiro como `true`. Execute `claude plugin eval <dir>` uma vez em um terminal e responda o prompt, ou passe `--trust-plugin` se você confia no código e conjunto do plugin. Veja [O que uma execução pode acessar](#security).

690 691 

692<h3 id="git-is-too-old-for-claude-plugin-eval">

693 "is too old for claude plugin eval"

694</h3>

695 

696O `git` em seu `PATH` é mais antigo que 2.31, então `claude plugin eval` parou antes de executar qualquer caso e saiu com 1 com uma mensagem nomeando sua versão:

697 

698```text theme={null}

699git 2.30 is too old for claude plugin eval: it ignores the environment configuration (GIT_CONFIG_COUNT, added in git 2.31) that switches off the repository's git hooks and helper programs for the run. Install git 2.31 or newer.

700```

701 

702Para cada execução, Claude Code desliga git hooks, credential helpers e outros programas que a configuração git de um repositório pode iniciar. Faz isso através de configuração de ambiente que git lê apenas a partir da versão 2.31. Um git mais antigo ignora essa configuração, então o conjunto para em vez de pontuar execuções onde esses programas poderiam executar. Instale git 2.31 ou posterior e execute o conjunto novamente.

703 

704Antes da v2.1.283, `claude plugin eval` não verificava a versão do git, e em um git mais antigo o conjunto executava com esses programas deixados ligados.

705 

691<h3 id="no-eval-cases-found">706<h3 id="no-eval-cases-found">

692 "No eval cases found"707 "No eval cases found"

693</h3>708</h3>

Details

132 Próximas etapas132 Próximas etapas

133</h2>133</h2>

134 134 

135* [Publicar e distribuir um plugin](/docs/pt/plugins/publish): as rotas em cada marketplace, incluindo o marketplace oficial, que a dica requer135* [Publicar e distribuir um plugin](/docs/pt/plugins/publish): as rotas para distribuir um plugin, incluindo o marketplace oficial, que a dica requer

136* [Referência de comandos de plugin](/docs/pt/plugins/cli-reference#plugin-install): o comando shell que instala o mesmo plugin fora de uma sessão136* [Referência de comandos de plugin](/docs/pt/plugins/cli-reference#plugin-install): o comando shell que instala o mesmo plugin fora de uma sessão

Details

165 165 

166Claude Code imprime `Successfully uninstalled plugin: formatter (scope: project)`. Quando o plugin não está instalado nesse escopo, o comando imprime uma linha que começa com `Failed to uninstall plugin "formatter@my-marketplace":` e sai com `1`.166Claude Code imprime `Successfully uninstalled plugin: formatter (scope: project)`. Quando o plugin não está instalado nesse escopo, o comando imprime uma linha que começa com `Failed to uninstall plugin "formatter@my-marketplace":` e sai com `1`.

167 167 

168Se a linha de falha continuar com `"formatter" was not uninstalled:`, Claude Code não conseguiu confirmar que as configurações do escopo não ativam mais o plugin, então o plugin permanece instalado com tudo que salvou. Com `--json`, o resultado carrega `failureCode: "settings_still_on"`. Esta verificação de configurações requer Claude Code v2.1.282 ou posterior.

169 

170<h4 id="what-an-uninstall-deletes-and-keeps">

171 O que uma desinstalação deleta e mantém

172</h4>

173 

174Quando você desinstala um plugin do último escopo em que está instalado, Claude Code também deleta as [opções e segredos](/docs/pt/plugins/manifest-reference#user-configuration) armazenados do plugin e seu diretório de dados, `~/.claude/plugins/data/<id>/`. Há três exceções:

175 

176* Com `--keep-data`, o diretório de dados permanece

177* Quando outro plugin instalado usa a mesma pasta, como um cujo ID difere deste apenas em maiúsculas/minúsculas, o diretório de dados permanece

178* Quando Claude Code não consegue ler a lista de plugins instalados novamente após removê-lo desse escopo, as opções, segredos e diretório de dados todos permanecem, porque o plugin pode ainda estar instalado em outro escopo. A desinstalação ainda é bem-sucedida. A mensagem lista o que permaneceu e como deletá-lo, e com `--json` o resultado carrega `savedKept: "install_records_unreadable"`

179 

180Com `--json`, `keptData` relata se o diretório permaneceu, e `/plugin` mostra `· data preserved` quando fez. Para um diretório que permanece sem `--keep-data`, este relatório requer Claude Code v2.1.281 ou posterior. O campo `savedKept` requer Claude Code v2.1.282 ou posterior.

181 

168<h3 id="plugin-enable">182<h3 id="plugin-enable">

169 plugin enable183 plugin enable

170</h3>184</h3>


248 262 

249| Flag | Descrição |263| Flag | Descrição |

250| :- | :- |264| :- | :- |

251| `-s, --scope <scope>` | Escopo para atualizar: `user`, `project`, `local` ou `managed`. Padrão é o escopo em que o plugin está instalado |265| `-s, --scope <scope>` | Escopo para atualizar: `user`, `project`, `local` ou `managed`. Auto-detectado quando omitido |

252| `-y, --yes` | Aceite um comando de instalação alterado de um plugin [command-source](/docs/pt/plugins/host-marketplace), sem o prompt. Necessário quando stdin ou stdout não é um TTY, a menos que você passe `--accept-command`. Requer Claude Code v2.1.229 ou posterior |266| `-y, --yes` | Aceite um comando de instalação alterado de um plugin [command-source](/docs/pt/plugins/host-marketplace), sem o prompt. Necessário quando stdin ou stdout não é um TTY, a menos que você passe `--accept-command`. Requer Claude Code v2.1.229 ou posterior |

253| `--accept-command <sha256>` | Aceite o comando declarado pelo marketplace cujo `sha256` uma execução anterior [`--json`](#plugin-json-result) relatou em `shownCommand`, no lugar de `-y`. Não pode ser combinado com `-y`. Requer Claude Code v2.1.271 ou posterior |267| `--accept-command <sha256>` | Aceite o comando declarado pelo marketplace cujo `sha256` uma execução anterior [`--json`](#plugin-json-result) relatou em `shownCommand`, no lugar de `-y`. Não pode ser combinado com `-y`. Requer Claude Code v2.1.271 ou posterior |

254| `--json` | Imprima o resultado como um objeto JSON na última linha de stdout, no [mesmo formato que `plugin install --json`](#plugin-json-result). Requer Claude Code v2.1.268 ou posterior |268| `--json` | Imprima o resultado como um objeto JSON na última linha de stdout, no [mesmo formato que `plugin install --json`](#plugin-json-result). Requer Claude Code v2.1.268 ou posterior |

255 269 

270Se você omitir `--scope`, o comando atualiza o plugin no escopo mais específico em que está instalado para seu projeto atual, verificando local, projeto, usuário, depois gerenciado.

271 

272Antes de v2.1.281, o comando usava `user` quando você omitia `--scope`, então atualizar um plugin instalado apenas em escopo de projeto ou local falhava com `Plugin "<name>" is not installed at scope user`. Nessas versões, passe `--scope`.

273 

256`managed` é o único escopo que você pode atualizar mas não instalar. Para plugins instalados por admin, veja [Gerenciar plugins para sua organização](/docs/pt/plugins/org).274`managed` é o único escopo que você pode atualizar mas não instalar. Para plugins instalados por admin, veja [Gerenciar plugins para sua organização](/docs/pt/plugins/org).

257 275 

258Atualize um plugin:276Atualize um plugin:

Details

413 413 

414 * **Construindo seu primeiro plugin**: comece com [Criar um plugin](/docs/pt/plugins/create)414 * **Construindo seu primeiro plugin**: comece com [Criar um plugin](/docs/pt/plugins/create)

415 * **Instalando o plugin de outra pessoa**: consulte [Instalar plugins](/docs/pt/plugins/install)415 * **Instalando o plugin de outra pessoa**: consulte [Instalar plugins](/docs/pt/plugins/install)

416 * **Os usuários do seu plugin estão em claude.ai ou em Cowork**: um conjunto diferente de componentes carrega lá. Consulte [Plugins em claude.ai e em Cowork](https://claude.com/docs/plugins/overview)416 * **Os usuários do seu plugin estão em claude.ai ou em Cowork**: um conjunto diferente de componentes carrega lá. Consulte [Estrutura de plugin e testes](https://claude.com/docs/plugins/build) e a [tabela de suporte de componentes](https://claude.com/docs/plugins/platform-support#compare-component-support-by-app)

417</Note>417</Note>

418 418 

419<h2 id="explore-the-plugin-directory">419<h2 id="explore-the-plugin-directory">


436 436 

437<PluginExplorer>437<PluginExplorer>

438 <Piece id="manifest">438 <Piece id="manifest">

439 O [manifesto](/docs/pt/plugins/manifest-reference) é o arquivo `plugin.json` no diretório `.claude-plugin/` de um plugin. Ele contém os metadados do plugin e os valores `userConfig` que Claude Code solicita ao usuário. Apenas `name` é obrigatório. Neste, `description` é o texto que os usuários veem para o plugin em `/plugin`, e `version` mantém os usuários nessa versão até você alterá-la:439 O [manifesto](/docs/pt/plugins/manifest-reference) é o arquivo `plugin.json` no diretório `.claude-plugin/` de um plugin. Ele contém os metadados do plugin e os valores `userConfig` que Claude Code solicita ao usuário. Claude Code carrega um plugin sem um, mas o [diretório da Anthropic](/docs/pt/plugins/publish#submit-to-anthropics-directory) o exige. Dentro do arquivo, apenas `name` é obrigatório. Neste, `description` é o texto que os usuários veem para o plugin em `/plugin`, e `version` mantém os usuários nessa versão até você alterá-la:

440 440 

441 ```json theme={null}441 ```json theme={null}

442 {442 {


838 Alcançar usuários em claude.ai e Cowork838 Alcançar usuários em claude.ai e Cowork

839</h4>839</h4>

840 840 

841Um servidor stdio local, como o servidor `db` em [Servidores MCP](#mcp-servers), é executado em Claude Code e em uma sessão Cowork que é executada em sua máquina no aplicativo Claude Desktop, mas não em claude.ai. Para alcançar usuários lá também, referencie um servidor remoto por sua URL `https://`, que claude.ai e Cowork oferecem ao usuário como um conector.841Um servidor stdio local, como o servidor `db` em [Servidores MCP](#mcp-servers), é executado em Claude Code e em uma sessão Cowork que é executada em sua máquina no aplicativo Claude Desktop, mas não em claude.ai. Para alcançar usuários lá também, referencie um servidor remoto por sua URL `https://`, que claude.ai e Cowork oferecem ao usuário como um conector, como [Agrupar um conector MCP com sua skill](https://claude.com/docs/plugins/build#bundle-an-mcp-connector-with-its-skill) mostra.

842 842 

843<h4 id="server-names-tool-names-and-reloads">843<h4 id="server-names-tool-names-and-reloads">

844 Nomes de servidor, nomes de ferramentas e recarregamentos844 Nomes de servidor, nomes de ferramentas e recarregamentos


918 918 

919Diretórios `bin/` de plugin vêm após as entradas `PATH` do próprio usuário, então um plugin não pode sombrear `git`, `ls` ou outro comando do sistema.919Diretórios `bin/` de plugin vêm após as entradas `PATH` do próprio usuário, então um plugin não pode sombrear `git`, `ls` ou outro comando do sistema.

920 920 

921claude.ai e Cowork não instalam um plugin que tem um diretório `bin/` de nível superior, incluindo um que você [distribui através das configurações da organização claude.ai](/docs/pt/plugins/host-marketplace#distribute-through-organization-settings).921claude.ai e Cowork não instalam um plugin que tem um diretório `bin/` de nível superior, incluindo um que você [distribui através das configurações da organização claude.ai](https://claude.com/docs/plugins/org-sync#keep-executables-out-of-the-top-level-bin-directory).

922 922 

923<h3 id="default-settings">923<h3 id="default-settings">

924 Configurações padrão924 Configurações padrão

Details

15 15 

16 * **Instalando o plugin de alguém**: veja [Instalar plugins](/docs/pt/plugins/install)16 * **Instalando o plugin de alguém**: veja [Instalar plugins](/docs/pt/plugins/install)

17 * **Não tem certeza se precisa de um plugin**: veja [Decidir se você precisa de um plugin](/docs/pt/plugins/overview#decide-whether-you-need-a-plugin) na visão geral17 * **Não tem certeza se precisa de um plugin**: veja [Decidir se você precisa de um plugin](/docs/pt/plugins/overview#decide-whether-you-need-a-plugin) na visão geral

18 * **Os usuários do seu plugin estão em claude.ai ou em Cowork**: a mesma pasta instala lá com um subconjunto diferente de componentes. Veja [Plugins em claude.ai e em Cowork](https://claude.com/docs/plugins/overview)18 * **Os usuários do seu plugin estão em claude.ai ou em Cowork**: a mesma pasta instala lá com um subconjunto diferente de componentes. Veja [Estrutura de plugin e testes](https://claude.com/docs/plugins/build) e a [tabela de suporte de componentes](https://claude.com/docs/plugins/platform-support#compare-component-support-by-app)

19</Note>19</Note>

20 20 

21Comece pela seção que corresponde ao que você já tem:21Comece pela seção que corresponde ao que você já tem:


132 132 

133O plugin carrega apenas em sessões que você inicia com `--plugin-dir`. Para continuar trabalhando nele sem a flag, ou para testar uma compilação `.zip`, veja [Desenvolver sem um marketplace](#develop-without-a-marketplace).133O plugin carrega apenas em sessões que você inicia com `--plugin-dir`. Para continuar trabalhando nele sem a flag, ou para testar uma compilação `.zip`, veja [Desenvolver sem um marketplace](#develop-without-a-marketplace).

134 134 

135Para ter Claude estruturar e verificar um plugin maior com você, [instale](/docs/pt/plugins/install#install-a-plugin) o plugin `plugin-dev` da Anthropic do marketplace `claude-plugins-official`, que adiciona skills e agents para escrever componentes como skills, hooks e servidores MCP e para validar o plugin finalizado. Depois que estiver instalado, execute `/plugin-dev:create-plugin` seguido de uma descrição do plugin que você deseja, e Claude o guia através do design, criação e validação.

136 

135<h3 id="share-the-plugin">137<h3 id="share-the-plugin">

136 Compartilhar seu plugin138 Compartilhar seu plugin

137</h3>139</h3>


140 142 

141* **Envie-o para algumas pessoas diretamente**: dê a elas o diretório do plugin ou um `.zip` dele, e nada precisa ser publicado. Veja [Compartilhar um plugin sem um marketplace](/docs/pt/plugins/publish#share-a-plugin-without-a-marketplace).143* **Envie-o para algumas pessoas diretamente**: dê a elas o diretório do plugin ou um `.zip` dele, e nada precisa ser publicado. Veja [Compartilhar um plugin sem um marketplace](/docs/pt/plugins/publish#share-a-plugin-without-a-marketplace).

142* **Liste-o em seu próprio marketplace**: colegas de equipe adicionam seu marketplace uma vez e instalam o plugin por nome, e recebem suas atualizações. Veja [Publicar através de seu próprio marketplace](/docs/pt/plugins/publish#publish-through-your-own-marketplace).144* **Liste-o em seu próprio marketplace**: colegas de equipe adicionam seu marketplace uma vez e instalam o plugin por nome, e recebem suas atualizações. Veja [Publicar através de seu próprio marketplace](/docs/pt/plugins/publish#publish-through-your-own-marketplace).

143* **Envie-o para o marketplace da comunidade da Anthropic**: uma vez listado, qualquer pessoa que adicione esse marketplace pode instalá-lo. Veja [Enviar para o marketplace da comunidade](/docs/pt/plugins/publish#submit-to-the-community-marketplace).145* **Envie-o para o diretório da Anthropic**: após passar pela revisão, as pessoas podem adicioná-lo em claude.ai e em Cowork, e ele chega ao Claude Code através de sua conta. Veja [Enviar para o diretório da Anthropic](/docs/pt/plugins/publish#submit-to-anthropics-directory).

144 146 

145<h3 id="plugin-layout">147<h3 id="plugin-layout">

146 Layout do plugin148 Layout do plugin


201 203 

202Se a pasta não tiver um diretório `.claude-plugin/` e nenhum componente de plugin em seu nível superior, Claude Code a trata como uma pasta de plugins. Cada subpasta imediata que tenha um manifest `.claude-plugin/plugin.json` então carrega como um plugin separado. Tudo mais na pasta é ignorado sem um erro, incluindo uma subpasta que não tenha um manifest. Se um plugin na pasta não carregar, verifique se sua subpasta tem um `.claude-plugin/plugin.json`.204Se a pasta não tiver um diretório `.claude-plugin/` e nenhum componente de plugin em seu nível superior, Claude Code a trata como uma pasta de plugins. Cada subpasta imediata que tenha um manifest `.claude-plugin/plugin.json` então carrega como um plugin separado. Tudo mais na pasta é ignorado sem um erro, incluindo uma subpasta que não tenha um manifest. Se um plugin na pasta não carregar, verifique se sua subpasta tem um `.claude-plugin/plugin.json`.

203 205 

206Você também pode passar uma pasta que mantém um `.claude-plugin/marketplace.json` ao lado de suas pastas de plugins. Contanto que esse diretório `.claude-plugin/` não contenha um `plugin.json`, as pastas de plugins ainda carregam. Nada é instalado ou habilitado a partir do arquivo de marketplace, porque Claude Code não o lê. Carregar plugins de tal pasta requer Claude Code v2.1.281 ou posterior.

207 

204Em uma sessão interativa, você também pode adicionar e remover plugins na pasta após a inicialização:208Em uma sessão interativa, você também pode adicionar e remover plugins na pasta após a inicialização:

205 209 

206* Uma subpasta que você adiciona carrega como um novo plugin assim que seu manifest existe.210* Uma subpasta que você adiciona carrega como um novo plugin assim que seu manifest existe.


417 421 

418* [Componentes de plugin](/docs/pt/plugins/components): adicione agents, hooks, servidores MCP, servidores LSP e configuração de usuário ao seu plugin422* [Componentes de plugin](/docs/pt/plugins/components): adicione agents, hooks, servidores MCP, servidores LSP e configuração de usuário ao seu plugin

419* [Testar plugins com evals](/docs/pt/plugin-evals): escreva casos de eval e execute-os com `claude plugin eval` para verificar com que confiabilidade o plugin orienta o comportamento de Claude423* [Testar plugins com evals](/docs/pt/plugin-evals): escreva casos de eval e execute-os com `claude plugin eval` para verificar com que confiabilidade o plugin orienta o comportamento de Claude

420* [Publicar um plugin](/docs/pt/plugins/publish): versione-o, coloque-o em um marketplace e envie-o para o marketplace da comunidade424* [Publicar um plugin](/docs/pt/plugins/publish): versione-o, coloque-o em um marketplace e envie-o para análise

421* [Plugins em claude.ai e em Cowork](https://claude.com/docs/plugins/overview): a mesma pasta de plugin instala em claude.ai e em Cowork. Alguns componentes são apenas Claude Code425* [Estrutura de plugin e testes](https://claude.com/docs/plugins/build): a mesma pasta de plugin instala em claude.ai e em Cowork. Alguns componentes são apenas Claude Code, e a [tabela de suporte de componentes](https://claude.com/docs/plugins/platform-support#compare-component-support-by-app) lista quais são carregados em cada superfície

422* [Referência do manifest do plugin](/docs/pt/plugins/manifest-reference): cada campo `plugin.json`, regra de caminho e diretório426* [Referência do manifest do plugin](/docs/pt/plugins/manifest-reference): cada campo `plugin.json`, regra de caminho e diretório

423* [Skills](/docs/pt/skills): escreva as skills que seu plugin fornece427* [Skills](/docs/pt/skills): escreva as skills que seu plugin fornece

424* [Plugins da Anthropic no repositório claude-code](https://github.com/anthropics/claude-code/tree/main/plugins): exemplos completos trabalhados do layout nesta página, como `feature-dev` e `code-review`428* [Plugins da Anthropic no repositório claude-code](https://github.com/anthropics/claude-code/tree/main/plugins): exemplos completos trabalhados do layout nesta página, como `feature-dev` e `code-review`

Details

89Organization sync é mais rigoroso sobre o repositório do que `/plugin marketplace add` é:89Organization sync é mais rigoroso sobre o repositório do que `/plugin marketplace add` é:

90 90 

91* **Repositório de marketplace**: em github.com e gitlab.com, deve ser privado ou interno91* **Repositório de marketplace**: em github.com e gitlab.com, deve ser privado ou interno

92* **Plugin sources**: cada plugin source deve ser do tipo `github`, `url` ou `git-subdir`, ou um [relative path](/docs/pt/plugins/marketplace-reference#relative-path-plugin-source) que comece com `./`92* **Plugin sources**: organization sync aceita apenas alguns [tipos de fonte](/docs/pt/plugins/marketplace-reference#plugin-sources)

93* **Diretório `bin/` de nível superior**: claude.ai rejeita um plugin que tem um e sincroniza o resto do marketplace. A mensagem de erro começa com `Plugin contains a top-level bin/ directory`. Mantenha executáveis em outro diretório, como `scripts/`, e referencie-os como `${CLAUDE_PLUGIN_ROOT}/scripts/<name>` a partir de seus hooks ou configurações de servidor MCP93* **Diretório `bin/` de nível superior**: claude.ai rejeita um plugin que tem um e sincroniza o resto do marketplace. A mensagem de erro começa com `Plugin contains a top-level bin/ directory`. Mantenha executáveis em outro diretório, como `scripts/`, e referencie-os como `${CLAUDE_PLUGIN_ROOT}/scripts/<name>` a partir de seus hooks ou configurações de servidor MCP

94 94 

95Veja [Manage plugins for your organization](https://support.claude.com/en/articles/13837433) para o fluxo de trabalho do administrador.95[Sync your organization's plugins from a repository](https://claude.com/docs/plugins/org-sync) em claude.com lista as fontes aceitas, a configuração do GitLab e o erro `bin/`, e [Manage plugins for your organization](https://claude.com/docs/plugins/admin) cobre o fluxo de trabalho do administrador.

96 96 

97<h2 id="grant-access-to-a-private-marketplace">97<h2 id="grant-access-to-a-private-marketplace">

98 Grant access to a private marketplace98 Grant access to a private marketplace


113 113 

114Para um host GitHub Enterprise Server, os usuários precisam de acesso git a esse host a partir de sua máquina. Veja [Plugin marketplaces on GHES](/docs/pt/github-enterprise-server#plugin-marketplaces-on-ghes) para o que cada superfície Claude Code precisa para alcançar um marketplace hospedado em GHES.114Para um host GitHub Enterprise Server, os usuários precisam de acesso git a esse host a partir de sua máquina. Veja [Plugin marketplaces on GHES](/docs/pt/github-enterprise-server#plugin-marketplaces-on-ghes) para o que cada superfície Claude Code precisa para alcançar um marketplace hospedado em GHES.

115 115 

116Se você distribuir através de **Organization settings > Plugins & skills** em claude.ai em vez disso, as credenciais git dos seus usuários não estão envolvidas. Veja [Distribute through organization settings](#distribute-through-organization-settings) para quais plugin sources podem ser privados lá.116Se você distribuir através de **Organization settings > Plugins & skills** em claude.ai em vez disso, as credenciais git dos seus usuários não estão envolvidas. Veja [Distribute through organization settings](#distribute-through-organization-settings).

117 117 

118<h3 id="serve-users-who-have-no-git-host-account">118<h3 id="serve-users-who-have-no-git-host-account">

119 Serve users who have no git-host account119 Serve users who have no git-host account

Details

143O escopo de instalação de um plugin decide quem obtém o plugin e qual arquivo de configurações o registra como habilitado:143O escopo de instalação de um plugin decide quem obtém o plugin e qual arquivo de configurações o registra como habilitado:

144 144 

145* **User scope**: o plugin é habilitado para você em cada projeto nesta máquina. A entrada vai em `enabledPlugins` em `~/.claude/settings.json`.145* **User scope**: o plugin é habilitado para você em cada projeto nesta máquina. A entrada vai em `enabledPlugins` em `~/.claude/settings.json`.

146* **Project scope**: o plugin é habilitado para todos que trabalham neste repositório. A entrada vai em `.claude/settings.json`, que você faz commit.146* **Project scope**: o plugin é habilitado para todos que trabalham neste repositório. A entrada vai em `.claude/settings.json`, que você faz commit. Fazer commit dessa entrada ativa o plugin para seus colaboradores, mas não o baixa para suas máquinas, então cada colaborador também executa `claude plugin install <name>@<marketplace> --scope project` uma vez; veja [Habilitado nas configurações do projeto mas não instalado](/docs/pt/plugins/loading#enabled-in-project-settings-but-not-installed).

147* **Local scope**: o plugin é habilitado para você apenas neste repositório. A entrada vai em `.claude/settings.local.json`.147* **Local scope**: o plugin é habilitado para você apenas neste repositório. A entrada vai em `.claude/settings.local.json`.

148 148 

149Alguns plugins são definidos por seu autor para começar desligados, através do campo [`defaultEnabled`](/docs/pt/plugins/manifest-reference#defaultenabled). Tal plugin é instalado mas permanece desligado até que você o ative com `claude plugin enable <name>` no seu shell, ou na aba **Installed** de `/plugin` em uma sessão.149Alguns plugins são definidos por seu autor para começar desligados, através do campo [`defaultEnabled`](/docs/pt/plugins/manifest-reference#defaultenabled). Tal plugin é instalado mas permanece desligado até que você o ative com `claude plugin enable <name>` no seu shell, ou na aba **Installed** de `/plugin` em uma sessão.

Details

100 100 

101Em sessões de terminal, as skills, agentes, hooks, servidores MCP e servidores LSP de um plugin sincronizado todos carregam, com a mesma confiança que um plugin de marketplace que você instalou.101Em sessões de terminal, as skills, agentes, hooks, servidores MCP e servidores LSP de um plugin sincronizado todos carregam, com a mesma confiança que um plugin de marketplace que você instalou.

102 102 

103Para os componentes que Cowork carrega, veja [Plugins em claude.ai e em Cowork](https://claude.com/docs/plugins/overview) em claude.com.103Para os componentes que Cowork carrega, veja a [tabela de suporte de componentes](https://claude.com/docs/plugins/platform-support#compare-component-support-by-app) em claude.com.

104 104 

105Plugins sincronizados carregam em sessões Cowork e em sessões de terminal onde você se conecta com sua conta claude.ai:105Plugins sincronizados carregam em sessões Cowork e em sessões de terminal onde você se conecta com sua conta claude.ai:

106 106 


184| Caminho | O que ele contém |184| Caminho | O que ele contém |

185| :- | :- |185| :- | :- |

186| `cache/<marketplace>/<plugin>/<version>/` | Um diretório por versão instalada de um plugin de marketplace. `<plugin>` é o nome da entrada de marketplace e `<version>` é a [versão resolvida](#versions-and-updates). `${CLAUDE_PLUGIN_ROOT}` aponta para este diretório |186| `cache/<marketplace>/<plugin>/<version>/` | Um diretório por versão instalada de um plugin de marketplace. `<plugin>` é o nome da entrada de marketplace e `<version>` é a [versão resolvida](#versions-and-updates). `${CLAUDE_PLUGIN_ROOT}` aponta para este diretório |

187| `data/<plugin-id>/` | O diretório persistente do plugin, exposto como `${CLAUDE_PLUGIN_DATA}`. Para como `<plugin-id>` é formado, veja [Variáveis de caminho e dados persistentes](/docs/pt/plugins/components#path-variables-and-persistent-data). Claude Code o cria quando um componente de plugin o usa pela primeira vez e o mantém através de atualizações. Claude Code o deleta quando você desinstala o plugin de seu último escopo, a menos que você passe `--keep-data` |187| `data/<plugin-id>/` | O diretório persistente do plugin, exposto como `${CLAUDE_PLUGIN_DATA}`. Para como `<plugin-id>` é formado, veja [Variáveis de caminho e dados persistentes](/docs/pt/plugins/components#path-variables-and-persistent-data). Claude Code o cria quando um componente de plugin o usa pela primeira vez e o mantém através de atualizações. Por padrão, Claude Code o deleta quando você desinstala o plugin de seu último escopo. Para `--keep-data` e os outros casos em que ele permanece, veja [plugin uninstall](/docs/pt/plugins/cli-reference#plugin-uninstall) |

188| `marketplaces/<name>/` | O clone ou download de um marketplace adicionado do GitHub, outro host Git ou uma URL. Um marketplace adicionado de uma fonte local `file` ou `directory` não tem cópia aqui, e seu `installLocation` em `known_marketplaces.json` é o caminho que você forneceu |188| `marketplaces/<name>/` | O clone ou download de um marketplace adicionado do GitHub, outro host Git ou uma URL. Um marketplace adicionado de uma fonte local `file` ou `directory` não tem cópia aqui, e seu `installLocation` em `known_marketplaces.json` é o caminho que você forneceu |

189| `synced/` | Os plugins que Claude Code [sincronizou de sua conta claude.ai](#synced-plugins) |189| `synced/` | Os plugins que Claude Code [sincronizou de sua conta claude.ai](#synced-plugins) |

190| `.trash/` | Plugins que a sincronização claude.ai removeu, como depois que você desliga um em claude.ai ou para de sincronizar |190| `.trash/` | Plugins que a sincronização claude.ai removeu, como depois que você desliga um em claude.ai ou para de sincronizar |

Details

116* **`Validation passed with warnings`**: o manifesto carrega, mas o validador encontrou algo para corrigir, como um campo de nível superior desconhecido que Claude Code remove, um `name` que não está em kebab-case, ou um `version`, `description` ou `author` ausente. Passe `--strict` para transformar avisos em falhas em CI116* **`Validation passed with warnings`**: o manifesto carrega, mas o validador encontrou algo para corrigir, como um campo de nível superior desconhecido que Claude Code remove, um `name` que não está em kebab-case, ou um `version`, `description` ou `author` ausente. Passe `--strict` para transformar avisos em falhas em CI

117* **`Validation failed`**: o manifesto tem uma incompatibilidade de tipo, um caminho que está faltando ou escapa da raiz do plugin, ou uma chave desconhecida dentro de uma opção `userConfig`, entrada `channels`, configuração `lspServers` ou entrada `monitors`. Claude Code relata o mesmo problema quando carrega o plugin117* **`Validation failed`**: o manifesto tem uma incompatibilidade de tipo, um caminho que está faltando ou escapa da raiz do plugin, ou uma chave desconhecida dentro de uma opção `userConfig`, entrada `channels`, configuração `lspServers` ou entrada `monitors`. Claude Code relata o mesmo problema quando carrega o plugin

118 118 

119O comando também verifica cada entrada de servidor MCP que o plugin declara em `.mcp.json`, em um arquivo `.json` que [`mcpServers`](#mcpservers) nomeia, ou inline em `plugin.json`. Essas verificações de MCP requerem Claude Code v2.1.281 ou posterior e incluem:

120 

121* **Erros**: uma entrada que Claude Code descartaria quando carrega o plugin, uma referência `${user_config.KEY}` a uma opção que o manifesto não declara, e uma `url` remota que não é uma URL absoluta válida

122* **Avisos**: uma URL `http://` ou `ws://` para um host não-loopback, e um valor de cabeçalho que parece uma credencial literal

123 

119<h2 id="fields">124<h2 id="fields">

120 Campos125 Campos

121</h2>126</h2>


387 Contenção e existência392 Contenção e existência

388</h3>393</h3>

389 394 

390Cada caminho de componente deve resolver dentro da raiz do plugin e deve existir. `claude plugin validate` não verifica os caminhos `outputStyles`, `lspServers`, `monitors` ou `themes`, então um caminho ruim nesses campos falha apenas quando o plugin carrega:395Cada caminho de componente deve resolver dentro da raiz do plugin e deve existir. `claude plugin validate` verifica os caminhos sob cada chave de componente:

391 396 

392* **Contenção**: um caminho que resolve fora da raiz do plugin não carrega, e a aba **Errors** do `/plugin` mostra `<component> path escapes plugin directory: <path>`. Um caminho contendo `..` é o caso usual, e `claude plugin validate` o relata como `Path contains ".." which could be a path traversal attempt`397* **Contenção**: um caminho que resolve fora da raiz do plugin não carrega, e a aba **Errors** do `/plugin` mostra `<component> path escapes plugin directory: <path>`. Um caminho contendo `..` é o caso usual, e `claude plugin validate` relata o erro `Path contains ".." which could be a path traversal attempt`

393* **Existência**: um caminho que não existe não carrega, e a aba **Errors** do `/plugin` mostra `<component> path not found: <path>`. `claude plugin validate` o relata como `Path not found`398* **Existência**: um caminho que não existe não carrega, e a aba **Errors** do `/plugin` mostra `<component> path not found: <path>`. `claude plugin validate` relata o erro `Path not found`

399 

400Para caminhos de `outputStyles`, `lspServers`, `monitors` e `themes`, a verificação `claude plugin validate` requer Claude Code v2.1.283 ou posterior.

394 401 

395<h3 id="how-each-key-combines-with-its-default-location">402<h3 id="how-each-key-combines-with-its-default-location">

396 Como cada chave se combina com seu local padrão403 Como cada chave se combina com seu local padrão


561 568 

562`${CLAUDE_PLUGIN_ROOT}` muda quando o plugin atualiza, então não escreva estado lá. Para onde a raiz se move e quando o diretório antigo é limpo, veja a [página de carregamento](/docs/pt/plugins/loading).569`${CLAUDE_PLUGIN_ROOT}` muda quando o plugin atualiza, então não escreva estado lá. Para onde a raiz se move e quando o diretório antigo é limpo, veja a [página de carregamento](/docs/pt/plugins/loading).

563 570 

564Quando você desinstala o plugin do último lugar onde está instalado, o diretório `${CLAUDE_PLUGIN_DATA}` é deletado a menos que você passe [`--keep-data`](/docs/pt/plugins/cli-reference).571Por padrão, Claude Code deleta o diretório `${CLAUDE_PLUGIN_DATA}` quando você desinstala o plugin do último lugar onde está instalado. Para `--keep-data` e os outros casos onde ele permanece, veja [plugin uninstall](/docs/pt/plugins/cli-reference#plugin-uninstall).

565 572 

566<h3 id="where-each-variable-resolves">573<h3 id="where-each-variable-resolves">

567 Onde cada variável resolve574 Onde cada variável resolve


589* **Comandos de hook**: use [forma exec](/docs/pt/hooks#exec-form-and-shell-form) com `args` para que cada caminho seja um argumento sem citação596* **Comandos de hook**: use [forma exec](/docs/pt/hooks#exec-form-and-shell-form) com `args` para que cada caminho seja um argumento sem citação

590* **Hooks em forma shell e comandos de monitor**: envolva a variável em aspas duplas para que um caminho com espaços permaneça uma palavra597* **Hooks em forma shell e comandos de monitor**: envolva a variável em aspas duplas para que um caminho com espaços permaneça uma palavra

591 598 

599Se você deixar uma dessas variáveis fora de aspas em um comando em forma shell em um arquivo de hooks, `claude plugin validate` avisa sobre isso a menos que o hook defina [`shell`](/docs/pt/hooks#command-hook-fields) como `"powershell"`.

600 

592Este hook em forma shell executa um script agrupado com o plugin:601Este hook em forma shell executa um script agrupado com o plugin:

593 602 

594```json theme={null}603```json theme={null}


629| Workflows | `workflows/` | Arquivos de workflow `.js` |638| Workflows | `workflows/` | Arquivos de workflow `.js` |

630| Temas | `themes/` | Arquivos de tema JSON |639| Temas | `themes/` | Arquivos de tema JSON |

631| Monitors | `monitors/monitors.json` | O array de monitors |640| Monitors | `monitors/monitors.json` | O array de monitors |

632| Executáveis | `bin/` | Arquivos aqui estão no `PATH` da ferramenta Bash enquanto o plugin está habilitado, então Claude os executa como comandos simples. claude.ai e Cowork não instalam um plugin que tem este diretório, incluindo um que você [distribui através das configurações de organização claude.ai](/docs/pt/plugins/host-marketplace#distribute-through-organization-settings) |641| Executáveis | `bin/` | Arquivos aqui estão no `PATH` da ferramenta Bash enquanto o plugin está habilitado, então Claude os executa como comandos simples. claude.ai e Cowork não instalam um plugin que tem este diretório, incluindo um que você [distribui através das configurações de organização claude.ai](https://claude.com/docs/plugins/org-sync#keep-executables-out-of-the-top-level-bin-directory) |

633| Configurações | `settings.json` | Padrões `agent` e `subagentStatusLine` aplicados enquanto o plugin está habilitado |642| Configurações | `settings.json` | Padrões `agent` e `subagentStatusLine` aplicados enquanto o plugin está habilitado |

634 643 

635Um plugin que usa cada local padrão, mais uma pasta `scripts/` que seus hooks chamam, é disposto assim:644Um plugin que usa cada local padrão, mais uma pasta `scripts/` que seus hooks chamam, é disposto assim:

Details

47* **Nomes de marketplace oficial**: `claude-code-marketplace`, `claude-code-plugins`, `claude-plugins-official`, `anthropic-marketplace`, `anthropic-plugins`, `agent-skills`, `anthropic-agent-skills`, `life-sciences`, `knowledge-work-plugins`, `claude-for-legal`, `claude-for-financial-services`, `financial-services-plugins`, `first-party-plugins` e `claude-tag-plugins`. Reservado a menos que o marketplace venha de uma [origem de marketplace](#marketplace-sources) `github` ou `git` sob `github.com/anthropics/`.47* **Nomes de marketplace oficial**: `claude-code-marketplace`, `claude-code-plugins`, `claude-plugins-official`, `anthropic-marketplace`, `anthropic-plugins`, `agent-skills`, `anthropic-agent-skills`, `life-sciences`, `knowledge-work-plugins`, `claude-for-legal`, `claude-for-financial-services`, `financial-services-plugins`, `first-party-plugins` e `claude-tag-plugins`. Reservado a menos que o marketplace venha de uma [origem de marketplace](#marketplace-sources) `github` ou `git` sob `github.com/anthropics/`.

48* **Nomes de marketplace comunitário**: `claude-community`, `claude-plugins-community` e `healthcare`. Reservado sob a mesma regra que os nomes oficiais.48* **Nomes de marketplace comunitário**: `claude-community`, `claude-plugins-community` e `healthcare`. Reservado sob a mesma regra que os nomes oficiais.

49* **Nomes de diretório de plugins**: `anthropic-plugin-directory` e `claude-plugin-directory`. Reservado sob a mesma regra que os nomes oficiais.49* **Nomes de diretório de plugins**: `anthropic-plugin-directory` e `claude-plugin-directory`. Reservado sob a mesma regra que os nomes oficiais.

50* **Nomes que se passam por um marketplace oficial**: nomes como `official-claude-plugins` ou `claude-plugins-v2`, e qualquer nome contendo um caractere não-ASCII. O erro é `Marketplace name impersonates an official Anthropic/Claude marketplace`. Um caractere de controle ou formatação bidirecional em um nome também relata `Marketplace name cannot contain control or bidirectional-formatting characters`.50* **Nomes que se passam por um marketplace oficial**: nomes como `official-claude-plugins` ou `claude-plugins-v2`, e qualquer nome contendo um caractere não-ASCII. O erro é `Marketplace name impersonates an official Anthropic/Claude marketplace`. Um caractere de controle ou formatação bidirecional em um nome também relata `Marketplace name cannot contain control or bidirectional-formatting characters`. Um marketplace já registrado sob tal nome para de carregar, junto com seus plugins.

51* <span id="reserved-name-spellings" />**Outra grafia de um nome reservado**: um nome que difere de um nome reservado apenas por um ponto final, ou por um símbolo diferente de um hífen no lugar de um hífen, então `claude.code.plugins` conta como `claude-code-plugins`. `claude plugin validate` aceita tal nome; adicionar o marketplace falha com [`is another spelling of "<reserved>", a reserved marketplace name`](/docs/pt/errors#marketplace-name-is-another-spelling-of-a-reserved-name), e um marketplace já registrado sob um para de carregar. Esta verificação requer Claude Code v2.1.280 ou posterior.51* <span id="reserved-name-spellings" />**Outra grafia de um nome reservado**: um nome que difere de um nome reservado apenas por um ponto final, ou por um símbolo diferente de um hífen no lugar de um hífen, então `claude.code.plugins` conta como `claude-code-plugins`. `claude plugin validate` aceita tal nome; adicionar o marketplace falha com [`is another spelling of "<reserved>", a reserved marketplace name`](/docs/pt/errors#marketplace-name-is-another-spelling-of-a-reserved-name), e um marketplace já registrado sob um para de carregar. Esta verificação requer Claude Code v2.1.280 ou posterior.

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 55 

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.

57 

56<h2 id="top-level-fields">58<h2 id="top-level-fields">

57 Top-level fields59 Top-level fields

58</h2>60</h2>

Details

96* **São colegas de equipe que você pode perguntar**: o próprio Claude Code de cada usuário mostra a eles se ainda usam o plugin, em quatro lugares: o painel [`/plugin`](#not-used-recently-in-/plugin), [`/skill-doctor`](#find-skills-that-never-run), [`/doctor`](#unused-plugins-in-/doctor) e [`/usage`](#usage-share-in-/usage). Todos os quatro são comandos que o usuário executa no prompt Claude Code em uma sessão em sua própria máquina.96* **São colegas de equipe que você pode perguntar**: o próprio Claude Code de cada usuário mostra a eles se ainda usam o plugin, em quatro lugares: o painel [`/plugin`](#not-used-recently-in-/plugin), [`/skill-doctor`](#find-skills-that-never-run), [`/doctor`](#unused-plugins-in-/doctor) e [`/usage`](#usage-share-in-/usage). Todos os quatro são comandos que o usuário executa no prompt Claude Code em uma sessão em sua própria máquina.

97* **Nenhum dos dois**: você não tem sinal de uso de Claude Code para esse plugin.97* **Nenhum dos dois**: você não tem sinal de uso de Claude Code para esse plugin.

98 98 

99Para uso de um plugin listado no diretório da Anthropic, veja [Track published plugin usage](https://claude.com/docs/connectors/building/after-publishing#track-published-plugin-usage) em claude.com.

100 

99<h3 id="not-used-recently-in-/plugin">101<h3 id="not-used-recently-in-/plugin">

100 Não usado recentemente em `/plugin`102 Não usado recentemente em `/plugin`

101</h3>103</h3>

plugins/org.md +2 −1

Details

14 Estes casos são cobertos em outras páginas:14 Estes casos são cobertos em outras páginas:

15 15 

16 * **Instalando plugins para você mesmo**: comece em [Install plugins](/docs/pt/plugins/install)16 * **Instalando plugins para você mesmo**: comece em [Install plugins](/docs/pt/plugins/install)

17 * **Controlando quais plugins os membros podem usar no claude.ai e Cowork**: veja [Manage plugins for your organization](https://support.claude.com/en/articles/13837433) no centro de ajuda17 * **Controlando quais plugins os membros podem usar no claude.ai e Cowork**: veja [Manage plugins for your organization](https://claude.com/docs/plugins/admin) no claude.com

18 * **Implantando um plugin no claude.ai, Cowork e Claude Code juntos**: veja [Choose a rollout route](https://claude.com/docs/plugins/org-rollout#choose-a-rollout-route) no claude.com

18 * **A página de plugins nas configurações de administração do claude.ai**: [**Organization settings > Plugins & skills**](https://claude.ai/admin-settings/skills?tab=inventory) ativa plugins para as contas do claude.ai dos membros, e esses chegam ao Claude Code como [synced plugins](/docs/pt/plugins/loading#synced-plugins). Não define nenhuma das chaves nesta página19 * **A página de plugins nas configurações de administração do claude.ai**: [**Organization settings > Plugins & skills**](https://claude.ai/admin-settings/skills?tab=inventory) ativa plugins para as contas do claude.ai dos membros, e esses chegam ao Claude Code como [synced plugins](/docs/pt/plugins/loading#synced-plugins). Não define nenhuma das chaves nesta página

19</Note>20</Note>

20 21 

Details

9Um plugin Claude Code é um diretório de skills, agentes, hooks, servidores MCP ou outros componentes que Claude Code instala e carrega como uma unidade. A maioria dos plugins vem de um marketplace, que é um catálogo que lista plugins e onde buscar cada um. Você também pode carregar um plugin de uma pasta que alguém lhe dá, ou [criar o seu próprio](/docs/pt/plugins/create).9Um plugin Claude Code é um diretório de skills, agentes, hooks, servidores MCP ou outros componentes que Claude Code instala e carrega como uma unidade. A maioria dos plugins vem de um marketplace, que é um catálogo que lista plugins e onde buscar cada um. Você também pode carregar um plugin de uma pasta que alguém lhe dá, ou [criar o seu próprio](/docs/pt/plugins/create).

10 10 

11<Note>11<Note>

12 Se você usa claude.ai chat ou Cowork e não Claude Code, veja [Plugins no claude.ai e no Cowork](https://claude.com/docs/plugins/overview).12 Comece em claude.com em vez disso se qualquer um destes o descreve:

13 

14 * **Você usa claude.ai chat ou Cowork e não Claude Code**: veja [Plugins no claude.ai e no Cowork](https://claude.com/docs/plugins/overview)

15 * **Você criou um servidor MCP e quer que esteja no diretório da Anthropic**: veja [Publicar no diretório](https://claude.com/docs/directory/publish)

13</Note>16</Note>

14 17 

15Para experimentar um plugin agora, execute `/plugin` em uma sessão de terminal Claude Code e instale um na aba **Discover**, que lista os plugins do marketplace oficial da Anthropic e qualquer marketplace que você tenha adicionado. De lá:18Para experimentar um plugin agora, execute `/plugin` em uma sessão de terminal Claude Code e instale um na aba **Discover**, que lista os plugins do marketplace oficial da Anthropic e qualquer marketplace que você tenha adicionado. De lá:


122Uma sessão em nuvem, incluindo uma no navegador em claude.ai/code, não carrega os plugins em suas configurações locais. Para etapas de instalação no terminal, VS Code e aplicativo desktop, e para o que uma sessão em nuvem carrega, veja [Install a plugin](/docs/pt/plugins/install#install-a-plugin).125Uma sessão em nuvem, incluindo uma no navegador em claude.ai/code, não carrega os plugins em suas configurações locais. Para etapas de instalação no terminal, VS Code e aplicativo desktop, e para o que uma sessão em nuvem carrega, veja [Install a plugin](/docs/pt/plugins/install#install-a-plugin).

123 126 

124<Note>127<Note>

125 O mesmo formato de plugin também instala no claude.ai e no Cowork, onde um conjunto diferente de componentes é carregado. Para essas superfícies, veja [Plugins on claude.ai and in Cowork](https://claude.com/docs/plugins/overview) em claude.com.128 O mesmo formato de plugin também instala no claude.ai e no Cowork, onde um conjunto diferente de componentes é carregado. Para essas superfícies, veja [Plugins on claude.ai and in Cowork](https://claude.com/docs/plugins/overview) em claude.com e sua [tabela de suporte de componentes](https://claude.com/docs/plugins/platform-support#compare-component-support-by-app).

126</Note>129</Note>

127 130 

128<h2 id="next-steps">131<h2 id="next-steps">


135 138 

136Uma vez que você tenha instalado ou construído um plugin, essas páginas cobrem o que vem a seguir:139Uma vez que você tenha instalado ou construído um plugin, essas páginas cobrem o que vem a seguir:

137 140 

138* **Compartilhe o que você construiu**: [Publish and distribute a plugin](/docs/pt/plugins/publish)141* **Compartilhe o que você construiu**: [Publish and distribute a plugin](/docs/pt/plugins/publish), através do seu próprio marketplace ou [Anthropic's directory](/docs/pt/plugins/publish#submit-to-anthropics-directory)

139* **Verifique se funciona e é usado**: [Test plugins with evals](/docs/pt/plugin-evals) e [Measure plugin cost and usage](/docs/pt/plugins/measure)142* **Verifique se funciona e é usado**: [Test plugins with evals](/docs/pt/plugin-evals) e [Measure plugin cost and usage](/docs/pt/plugins/measure)

140* **Execute um marketplace para sua equipe**: [Create a marketplace](/docs/pt/plugins/create-marketplace), depois [Host and maintain a marketplace](/docs/pt/plugins/host-marketplace)143* **Execute um marketplace para sua equipe**: [Create a marketplace](/docs/pt/plugins/create-marketplace), depois [Host and maintain a marketplace](/docs/pt/plugins/host-marketplace)

141* **Defina a política de plugin para uma organização**: [Manage plugins for your organization](/docs/pt/plugins/org)144* **Defina a política de plugin para uma organização**: [Manage plugins for your organization](/docs/pt/plugins/org)

plugins/publish.md +29 −26

Details

4 4 

5# Publicar e distribuir um plugin5# Publicar e distribuir um plugin

6 6 

7> Publique um plugin Claude Code através do seu próprio marketplace ou do marketplace da comunidade da Anthropic, com uma lista de verificação de pré-lançamento e como os usuários recebem atualizações.7> Publique um plugin Claude Code através do seu próprio marketplace ou do diretório da Anthropic, com uma lista de verificação de pré-lançamento e como os usuários recebem atualizações.

8 8 

9Publicar um plugin Claude Code significa listá-lo em um marketplace, um catálogo JSON que lista plugins e onde buscar cada um, para que outras pessoas possam instalá-lo pelo nome e receber suas atualizações. Você pode executar seu próprio marketplace ou enviar seu plugin para o marketplace da comunidade da Anthropic. Para compartilhar um plugin sem publicá-lo, envie o diretório do plugin ou um `.zip` dele para que as pessoas carreguem por conta própria.9Publicar um plugin Claude Code significa listá-lo em um marketplace, um catálogo JSON que lista plugins e onde buscar cada um, para que outras pessoas possam instalá-lo pelo nome e receber suas atualizações. Você pode executar seu próprio marketplace ou enviar seu plugin para o diretório da Anthropic. Para compartilhar um plugin sem publicá-lo, envie o diretório do plugin ou um `.zip` dele para que as pessoas carreguem por conta própria.

10 10 

11Esta página é para o autor de um plugin funcional que está pronto para compartilhá-lo.11Esta página é para o autor de um plugin funcional que está pronto para compartilhá-lo.

12 12 


29| :- | :- | :- | :- |29| :- | :- | :- | :- |

30| [Sem marketplace](#share-a-plugin-without-a-marketplace) | As pessoas para as quais você envia a pasta do plugin ou um `.zip` dele | A pasta do plugin | Nenhuma. Eles carregam a cópia que você enviou |30| [Sem marketplace](#share-a-plugin-without-a-marketplace) | As pessoas para as quais você envia a pasta do plugin ou um `.zip` dele | A pasta do plugin | Nenhuma. Eles carregam a cópia que você enviou |

31| [Seu próprio marketplace](#publish-through-your-own-marketplace) | Qualquer pessoa que possa acessar o repositório, que pode ser um privado que sua equipe pode clonar | Um repositório git ou outro host com um `.claude-plugin/marketplace.json` que lista seu plugin | Desativado |31| [Seu próprio marketplace](#publish-through-your-own-marketplace) | Qualquer pessoa que possa acessar o repositório, que pode ser um privado que sua equipe pode clonar | Um repositório git ou outro host com um `.claude-plugin/marketplace.json` que lista seu plugin | Desativado |

32| [Marketplace da comunidade da Anthropic](#submit-to-the-community-marketplace) | Qualquer pessoa que adicione `anthropics/claude-plugins-community` | Um envio através do formulário de envio do diretório de plugins | Desativado |32| [Diretório da Anthropic](#submit-to-anthropics-directory) | Pessoas que o adicionam em claude.ai ou em Cowork. Ele também é carregado em suas sessões do Claude Code através de [sincronização de conta](/docs/pt/plugins/loading#synced-plugins) | Um repositório GitHub contendo o plugin e um plano claude.ai pago para enviar | Sim, após a versão que você envia ser publicada |

33 33 

34Auto-atualização é uma configuração por marketplace no lado do usuário que busca novas versões em segundo plano.34Auto-atualização é uma configuração por marketplace no lado do usuário que busca novas versões em segundo plano.

35 35 


141 141 

142[Instale plugins](/docs/pt/plugins/install) cobre os comandos do lado do usuário, e [quando a auto-atualização é executada](/docs/pt/plugins/loading#when-auto-update-runs) cobre o tempo.142[Instale plugins](/docs/pt/plugins/install) cobre os comandos do lado do usuário, e [quando a auto-atualização é executada](/docs/pt/plugins/loading#when-auto-update-runs) cobre o tempo.

143 143 

144<h2 id="submit-to-the-community-marketplace">144<h2 id="submit-to-anthropics-directory">

145 Envie para o marketplace da comunidade145 Envie para o diretório da Anthropic

146</h2>146</h2>

147 147 

148O marketplace da comunidade da Anthropic, `claude-community`, é o marketplace público que lista plugins enviados através do formulário de envio do diretório de plugins.148O diretório da Anthropic é o catálogo que as pessoas navegam no claude.ai e no Cowork para adicionar plugins e conectores. Uma listagem lá alcança pessoas no claude.ai, no Cowork e no Claude Code. Você envia pelo portal do desenvolvedor em [claude.ai/directory/manage](https://claude.ai/directory/manage); [Prepare for review](https://claude.com/docs/directory/publish#prepare-for-review) no claude.com descreve o que acontece com cada versão antes de ser publicada.

149 149 

150Os usuários adicionam o marketplace da comunidade em uma sessão Claude Code com `/plugin marketplace add anthropics/claude-plugins-community` e instalam a partir dele como `@claude-community`.150O envio requer um plano pago do claude.ai. No Pro e Max você envia da sua própria conta. No Team e Enterprise, um Owner pode enviar, e no Enterprise um Owner também pode conceder a permissão **Directory** para outros membros através de uma função personalizada em **Organization settings > Roles**. Veja [Confirm you can submit to the directory](https://claude.com/docs/directory/publish#confirm-you-can-submit-to-the-directory).

151 151 

152Para saber como o marketplace da comunidade difere do marketplace oficial, veja [Marketplaces da Anthropic](/docs/pt/plugins/anthropic-marketplaces).152As etapas de envio, as verificações que cada versão deve passar e o que acontece após você publicar estão documentadas no claude.com, porque são as mesmas independentemente de qual superfície seus usuários estão:

153 153 

154Para enviar seu plugin para o marketplace da comunidade, use um dos formulários no aplicativo:154* [Publish to the directory](https://claude.com/docs/directory/publish#before-you-submit-to-the-directory): o que você pode enviar e quem pode enviá-lo

155* [Submit a plugin](https://claude.com/docs/plugins/submit#submit-a-plugin): as etapas do portal e [updating a published plugin](https://claude.com/docs/plugins/submit#update-a-published-plugin)

156* [Plugin pre-submission checklist](https://claude.com/docs/plugins/pre-submission-checklist#run-the-checks-before-you-submit): as verificações a executar e corrigir antes de enviar

157* [Move an earlier submission to the developer portal](https://claude.com/docs/directory/publish#move-an-earlier-submission-to-the-developer-portal): o que fazer se você enviou um plugin através de um dos formulários de envio anteriores, antes do portal existir

155 158 

156* **claude.ai**: [claude.ai/admin-settings/directory/submissions/plugins/new](https://claude.ai/admin-settings/directory/submissions/plugins/new)159Antes de abrir o portal, valide localmente e verifique quais dos seus componentes carregam fora do Claude Code:

157* **Console**: [platform.claude.com/plugins/submit](https://platform.claude.com/plugins/submit)

158 160 

159O formulário claude.ai requer uma organização Team ou Enterprise e a permissão Directory, que os Owners possuem por padrão. Autores individuais que não fazem parte de uma organização Team ou Enterprise podem usar o formulário Console.161* **Execute `claude plugin validate ./your-plugin --strict` em seu shell**: substitua `./your-plugin` pelo caminho para seu diretório de plugin. O comando detecta erros de manifesto localmente; [plugin validate](/docs/pt/plugins/cli-reference#plugin-validate) lista quais arquivos cada execução lê. O portal aplica regras de diretório adicionais que o CLI não verifica, portanto uma execução local limpa não garante uma validação de portal limpa.

162* **Verifique o que carrega onde**: alguns componentes de plugin são apenas do Claude Code e não carregam no claude.ai ou no Cowork. A [component support table](https://claude.com/docs/plugins/platform-support#compare-component-support-by-app) lista cada componente por aplicativo, para que você saiba o que os usuários fora do Claude Code receberão.

160 163 

161Em seu shell, execute `claude plugin validate ./your-plugin` localmente antes de enviar, substituindo `./your-plugin` pelo caminho para seu diretório de plugin. Quando a validação passa, Claude Code imprime `✔ Validation passed`, ou `✔ Validation passed with warnings` se houver avisos. Avisos não falham na validação; adicione `--strict` para tratá-los como erros.164O marketplace oficial da Anthropic, `claude-plugins-official`, não aceita envios através do portal de diretório. Se você trabalha com um contato de parceiro da Anthropic, pergunte-lhes sobre uma listagem no marketplace oficial.

162 165 

163Os plugins listados aparecem no catálogo [`anthropics/claude-plugins-community`](https://github.com/anthropics/claude-plugins-community), em quase todos os casos fixados a um SHA de commit específico.166<h3 id="how-a-listed-plugin-reaches-claude-code-users">

164 167 Como um plugin listado alcança usuários do Claude Code

165Pode haver um atraso entre o envio e seu plugin aparecer em `marketplace.json`. Para verificar se seu plugin já é instalável, procure por seu nome no [catálogo da comunidade](https://github.com/anthropics/claude-plugins-community/blob/main/.claude-plugin/marketplace.json).168</h3>

166 169 

167O marketplace oficial, `claude-plugins-official`, não aceita envios através desses formulários. Se você trabalha com um contato de parceiro da Anthropic, pergunte-lhes sobre uma listagem no marketplace oficial.170Uma pessoa que instala seu plugin do diretório no claude.ai o tem em sua conta, e o Claude Code o carrega como `<name>@synced`. [Plugins synced from claude.ai](/docs/pt/plugins/loading#synced-plugins) cobre o que eles veem e como desativam.

168 171 

169<h2 id="ship-updates-renames-and-removals">172<h2 id="ship-updates-renames-and-removals">

170 Envie atualizações, renomeações e remoções173 Enviar atualizações, renomeações e remoções

171</h2>174</h2>

172 175 

173<h3 id="release-a-new-version">176<h3 id="release-a-new-version">

174 Libere uma nova versão177 Lançar uma nova versão

175</h3>178</h3>

176 179 

177Se você publicar através de seu próprio marketplace e seu `plugin.json` definir `version`, incremente-o e faça push. Os usuários que executam `claude plugin update` ou têm auto-atualização ativada recebem a nova versão, conforme descrito em [Envie atualizações aos usuários](#ship-updates-to-users).180Se você publicar através do seu próprio marketplace e seu `plugin.json` define `version`, incremente-a e faça push. Os usuários que executam `claude plugin update` ou têm auto-update ativado recebem a nova versão, conforme descrito em [Enviar atualizações para usuários](#ship-updates-to-users). Para uma listagem de diretório, consulte [Atualizar um plugin publicado](https://claude.com/docs/plugins/submit#update-a-published-plugin).

178 181 

179<h3 id="tag-a-release">182<h3 id="tag-a-release">

180 Marque um lançamento183 Marcar um lançamento

181</h3>184</h3>

182 185 

183Marque o lançamento em git quando outros plugins declaram um intervalo de versão no seu, porque esses intervalos se resolvem contra tags. Caso contrário, você não precisa de uma tag.186Marque o lançamento no git quando outros plugins declaram um intervalo de versão no seu, porque esses intervalos são resolvidos contra tags. Caso contrário, você não precisa de uma tag.

184 187 

185Para marcar, execute `claude plugin tag` em seu shell a partir do diretório do plugin. Ele cria uma tag `{name}--v{version}`. Adicione `--push` para enviar a tag para `origin`. A [referência `plugin tag`](/docs/pt/plugins/cli-reference#plugin-tag) lista seus sinalizadores.188Para marcar, execute `claude plugin tag` no seu shell a partir do diretório do plugin. Isso cria uma tag `{name}--v{version}`. Adicione `--push` para enviar a tag para `origin`. A [referência `plugin tag`](/docs/pt/plugins/cli-reference#plugin-tag) lista seus sinalizadores.

186 189 

187<h3 id="rename-or-remove-a-plugin">190<h3 id="rename-or-remove-a-plugin">

188 Renomeie ou remova um plugin191 Renomear ou remover um plugin

189</h3>192</h3>

190 193 

191Nunca altere o `name` de um plugin publicado. Após uma renomeação, os usuários que já o instalaram perdem o plugin, porque sua instalação é registrada sob o nome antigo. Uma entrada `renames` em seu arquivo de marketplace os migra. Altere `displayName` quando quiser um rótulo diferente.194Nunca altere o `name` de um plugin publicado. Após uma renomeação, os usuários que já o instalaram perdem o plugin, porque sua instalação é registrada sob o nome antigo. Uma entrada `renames` no seu arquivo de marketplace os migra em vez disso. Altere `displayName` quando quiser um rótulo diferente.

192 195 

193Se uma renomeação for inevitável, use o mapa `renames` do arquivo de marketplace para que as instalações existentes migrem em vez de falhar com [`Plugin "<name>" not found in marketplace`](/docs/pt/plugins/troubleshooting#plugin-not-found-in-marketplace). Para remover um plugin do marketplace ou para os detalhes completos de `renames`, veja [Renomeie ou remova um plugin](/docs/pt/plugins/host-marketplace#rename-or-remove-a-plugin) na página de hospedagem. A [referência de marketplace](/docs/pt/plugins/marketplace-reference#top-level-fields) tem o campo.196Se uma renomeação for inevitável, use o mapa `renames` do arquivo de marketplace para que as instalações existentes sejam migradas em vez de falharem com [`Plugin "<name>" not found in marketplace`](/docs/pt/plugins/troubleshooting#plugin-not-found-in-marketplace). Para remover um plugin do marketplace, ou para os detalhes completos de `renames`, consulte [Renomear ou remover um plugin](/docs/pt/plugins/host-marketplace#rename-or-remove-a-plugin) na página de hospedagem. A [referência de marketplace](/docs/pt/plugins/marketplace-reference#top-level-fields) tem o campo.

194 197 

195<h2 id="declare-dependencies">198<h2 id="declare-dependencies">

196 Declare dependências199 Declare dependências

Details

118 118 

119Em seu shell, execute [`claude plugin uninstall <plugin>`](/docs/pt/plugins/cli-reference#plugin-uninstall) com o `--scope` em que você o instalou. Depois verifique o que a desinstalação removeu e o que deixou:119Em seu shell, execute [`claude plugin uninstall <plugin>`](/docs/pt/plugins/cli-reference#plugin-uninstall) com o `--scope` em que você o instalou. Depois verifique o que a desinstalação removeu e o que deixou:

120 120 

121* **Dados persistentes**: quando essa era a última escopo em que o plugin foi instalado, desinstalar também exclui o diretório de dados persistentes do plugin, a menos que você passe `--keep-data`.121* **Dados persistentes**: por padrão, quando essa era a última escopo em que o plugin foi instalado, desinstalar também exclui o diretório de dados persistentes do plugin. Para `--keep-data` e os outros casos em que ele permanece, veja [plugin uninstall](/docs/pt/plugins/cli-reference#plugin-uninstall).

122* **Arquivos em cache**: os arquivos do plugin permanecem no disco em `~/.claude/plugins/cache/` por 14 dias antes de uma [varredura em segundo plano removê-los](/docs/pt/plugins/loading#cleanup-of-previous-versions). Depois de desinstalar seu último plugin, diretórios órfãos permanecem até você instalar outro. Para excluir os arquivos agora, remova o diretório do plugin em `~/.claude/plugins/cache/<marketplace>/<plugin>/` você mesmo.122* **Arquivos em cache**: os arquivos do plugin permanecem no disco em `~/.claude/plugins/cache/` por 14 dias antes de uma [varredura em segundo plano removê-los](/docs/pt/plugins/loading#cleanup-of-previous-versions). Depois de desinstalar seu último plugin, diretórios órfãos permanecem até você instalar outro. Para excluir os arquivos agora, remova o diretório do plugin em `~/.claude/plugins/cache/<marketplace>/<plugin>/` você mesmo.

123* **O marketplace**: se você também não confia no proprietário do marketplace, [remova o marketplace](/docs/pt/plugins/install#manage-marketplaces) também, o que desinstala cada plugin que você instalou dele.123* **O marketplace**: se você também não confia no proprietário do marketplace, [remova o marketplace](/docs/pt/plugins/install#manage-marketplaces) também, o que desinstala cada plugin que você instalou dele.

124 124 

Details

676 `Failed to load hooks from <path>` and hooks that don't fire676 `Failed to load hooks from <path>` and hooks that don't fire

677</h3>677</h3>

678 678 

679Os hooks de um plugin não são executados. Ou a aba **Errors** mostra uma falha de carregamento para eles, os hooks carregam e você vê avisos `<Event> hook error` na transcrição, ou um hook carrega sem erro e nunca dispara.679Os hooks de um plugin não são executados, ou um bloqueia uma ação. Ou a aba **Errors** mostra uma falha de carregamento para eles, os hooks carregam e você vê avisos `<Event> hook error` ou um erro de bloqueio na transcrição, ou um hook carrega sem erro e nunca dispara.

680 680 

681<h4 id="hooks-fail-to-load">681<h4 id="hooks-fail-to-load">

682 Hooks fail to load682 Hooks fail to load


693 693 

694Um aviso da forma `... hook error: Failed with non-blocking status code: <stderr>` significa que o hook foi executado e seu comando falhou. Por exemplo, `Stop hook error: Failed with non-blocking status code: /bin/sh: node: command not found` significa que o shell que Claude Code gerou não conseguiu encontrar `node`. Instale-o, ou certifique-se de que está no `PATH` do terminal a partir do qual você inicia `claude`.694Um aviso da forma `... hook error: Failed with non-blocking status code: <stderr>` significa que o hook foi executado e seu comando falhou. Por exemplo, `Stop hook error: Failed with non-blocking status code: /bin/sh: node: command not found` significa que o shell que Claude Code gerou não conseguiu encontrar `node`. Instale-o, ou certifique-se de que está no `PATH` do terminal a partir do qual você inicia `claude`.

695 695 

696Se o stderr mostra o caminho do plugin cortado em um espaço, o comando em forma de shell do hook usa `${CLAUDE_PLUGIN_ROOT}` fora de aspas e o caminho de instalação contém um espaço. Envolva a variável em aspas duplas ou use [exec form](/docs/pt/hooks#exec-form-and-shell-form). Para encontrar a variável sem aspas, execute `claude plugin validate` no diretório do plugin e procure por seu [aviso de aspas](/docs/pt/plugins/manifest-reference#quoting-and-path-separators).

697 

696Para qualquer outro erro, execute o comando do hook você mesmo a partir do diretório do plugin para ver a saída completa, ou capture o stderr completo com [debug logging](/docs/pt/hooks#debug-hooks).698Para qualquer outro erro, execute o comando do hook você mesmo a partir do diretório do plugin para ver a saída completa, ou capture o stderr completo com [debug logging](/docs/pt/hooks#debug-hooks).

697 699 

700<h4 id="a-plugin-hook-blocks-a-tool-call-or-prompt">

701 A plugin hook blocks a tool call or prompt

702</h4>

703 

704Um hook que sai com código 2 [bloqueia a ação para a qual foi executado](/docs/pt/hooks#exit-code-2). Quando um hook de plugin bloqueia desta forma e seu stderr é a mensagem de bloqueio, o erro termina com `This hook comes from the <plugin> plugin.` para que você saiba qual plugin desabilitar ou corrigir. Antes da v2.1.281, o erro não nomeava o plugin.

705 

706Se essa mensagem mostra o caminho do plugin cortado em um espaço, aplique a [correção de `${CLAUDE_PLUGIN_ROOT}` sem aspas](#hook-error-notices-in-the-transcript).

707 

698<h4 id="hook-loads-but-never-fires">708<h4 id="hook-loads-but-never-fires">

699 Hook loads but never fires709 Hook loads but never fires

700</h4>710</h4>

prompt-caching.md +30 −18

Details

37Duas configurações não aparecem na tabela de camadas, mas ainda afetam o que permanece em cache:37Duas configurações não aparecem na tabela de camadas, mas ainda afetam o que permanece em cache:

38 38 

39* **Model**: cada modelo tem seu próprio cache. Trocar modelos recomputa toda a solicitação mesmo quando o conteúdo é idêntico. Veja [Switching models](#switching-models) abaixo.39* **Model**: cada modelo tem seu próprio cache. Trocar modelos recomputa toda a solicitação mesmo quando o conteúdo é idêntico. Veja [Switching models](#switching-models) abaixo.

40* **Effort level**: na maioria dos modelos, cada nível de esforço tem seu próprio cache, então mudar o esforço no meio da sessão recomputa toda a solicitação. No Opus 5.5 e Fable 5.1 com uma chave de API ou uma assinatura Claude, o cache permanece intacto por padrão. Veja [Changing effort level](#changing-effort-level) abaixo.40* **Effort level**: na maioria dos modelos, cada nível de esforço tem seu próprio cache, então mudar o esforço no meio da sessão recomputa toda a solicitação. No Opus 5.5, Sonnet 5.5 e Fable 5.1 com uma chave de API ou uma assinatura Claude, o cache permanece intacto por padrão. Veja [Changing effort level](#changing-effort-level) abaixo.

41 41 

42<Tip>42<Tip>

43 Escolha seu modelo e nível de esforço no início de uma sessão, depois salve `/compact` para pausas naturais entre tarefas. Quanto menos mudanças você fizer no meio da tarefa, maior será sua taxa de acerto de cache.43 Escolha seu modelo e nível de esforço no início de uma sessão, depois salve `/compact` para pausas naturais entre tarefas. Quanto menos mudanças você fizer no meio da tarefa, maior será sua taxa de acerto de cache.


75* [Switching models](#switching-models)75* [Switching models](#switching-models)

76* [Changing effort level](#changing-effort-level)76* [Changing effort level](#changing-effort-level)

77* [Turning on fast mode](#turning-on-fast-mode)77* [Turning on fast mode](#turning-on-fast-mode)

78* [Connecting or disconnecting an MCP server](#connecting-or-disconnecting-an-mcp-server)78* [Connecting or removing an MCP server](#connecting-or-removing-an-mcp-server)

79* [Enabling or disabling a plugin](#enabling-or-disabling-a-plugin)79* [Enabling or disabling a plugin](#enabling-or-disabling-a-plugin)

80* [Denying an entire tool](#denying-an-entire-tool)80* [Denying an entire tool](#denying-an-entire-tool)

81* [Compacting the conversation](#compacting-the-conversation)81* [Compacting the conversation](#compacting-the-conversation)


96 96 

97A [`opusplan` model setting](/docs/pt/model-config#opusplan-model-setting) resolve para Opus durante o modo de plano e Sonnet durante a execução, então cada alternância de modo de plano é 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 plano e Sonnet durante a execução, então cada alternância de modo de plano é 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 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á.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á.

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 


106 106 

107Na maioria dos modelos, alterar o [effort level](/docs/pt/model-config#adjust-effort-level) no meio da sessão significa que a próxima solicitação lê todo o histórico de conversa sem acertos de cache. Enquanto o cache ainda está quente, Claude Code pede que você confirme a mudança primeiro.107Na maioria dos modelos, alterar o [effort level](/docs/pt/model-config#adjust-effort-level) no meio da sessão significa que a próxima solicitação lê todo o histórico de conversa sem acertos de cache. Enquanto o cache ainda está quente, Claude Code pede que você confirme a mudança primeiro.

108 108 

109No Opus 5.5 e Fable 5.1 com uma chave de API ou uma assinatura Claude, alterar o esforço mantém o cache, e Claude Code aplica o novo nível sem perguntar. Isso não se aplica no Amazon Bedrock, na plataforma de agentes do Google Cloud, ou em um [Claude apps gateway](/docs/pt/claude-apps-gateway), ou quando você define [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/pt/llm-gateway-protocol#disable-pre-release-capabilities) ou sua organização tem uma configuração HIPAA.109No Opus 5.5, Sonnet 5.5 e Fable 5.1 com uma chave de API ou uma assinatura Claude, alterar o esforço mantém o cache, e Claude Code aplica o novo nível sem perguntar. Isso não se aplica no Amazon Bedrock, na plataforma de agentes do Google Cloud, ou em um [Claude apps gateway](/docs/pt/claude-apps-gateway), ou quando você define [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/pt/llm-gateway-protocol#disable-pre-release-capabilities) ou sua organização tem uma configuração HIPAA.

110 110 

111Antes da v2.1.260, alterar o esforço no Fable 5.1 com uma chave de API ou uma assinatura Claude também invalidava o cache.111Antes da v2.1.260, alterar o esforço no Fable 5.1 com uma chave de API ou uma assinatura Claude também invalidava o cache.

112 112 


118 118 

119O custo se aplica uma vez por conversa. Após o primeiro turno de fast mode, Claude Code continua enviando o cabeçalho e varia apenas a configuração de velocidade da solicitação, que não faz parte da chave de cache. Desativar fast mode, o [fallback automático para velocidade padrão](/docs/pt/fast-mode#handle-rate-limits) após um limite de taxa, e ativá-lo novamente mais tarde mantêm o cache. Se você [ficar sem créditos de uso](/docs/pt/fast-mode#handle-rate-limits) no meio da sessão, Claude Code tenta novamente cada solicitação de fast mode rejeitada em velocidade padrão da mesma forma, então esse fallback também mantém o cache. `/clear` e `/compact` redefinem isso, já que reconstruem o cache nesses pontos de qualquer forma.119O custo se aplica uma vez por conversa. Após o primeiro turno de fast mode, Claude Code continua enviando o cabeçalho e varia apenas a configuração de velocidade da solicitação, que não faz parte da chave de cache. Desativar fast mode, o [fallback automático para velocidade padrão](/docs/pt/fast-mode#handle-rate-limits) após um limite de taxa, e ativá-lo novamente mais tarde mantêm o cache. Se você [ficar sem créditos de uso](/docs/pt/fast-mode#handle-rate-limits) no meio da sessão, Claude Code tenta novamente cada solicitação de fast mode rejeitada em velocidade padrão da mesma forma, então esse fallback também mantém o cache. `/clear` e `/compact` redefinem isso, já que reconstruem o cache nesses pontos de qualquer forma.

120 120 

121<h3 id="connecting-or-disconnecting-an-mcp-server">121<h3 id="connecting-or-removing-an-mcp-server">

122 Connecting or disconnecting an MCP server122 Connecting or removing an MCP server

123</h3>123</h3>

124 124 

125As definições de ferramentas ficam na camada de prompt do sistema, então o cache se invalida quando o conjunto de definições de ferramentas na solicitação muda entre turnos. Alternar a [advisor tool](/docs/pt/advisor) é uma exceção: sua definição fica após o ponto de interrupção do cache, então habilitar ou desabilitar `/advisor` mantém o prefixo armazenado em cache intacto. Se uma mudança de [MCP server](/docs/pt/mcp) faz isso depende se suas ferramentas são adiadas por [tool search](/docs/pt/mcp#scale-with-mcp-tool-search) ou carregadas no prefixo:125As definições de ferramentas ficam na camada de prompt do sistema, então o cache se invalida quando o conjunto de definições de ferramentas na solicitação muda entre turnos. Alternar a [advisor tool](/docs/pt/advisor) é uma exceção: sua definição fica após o ponto de interrupção do cache, então habilitar ou desabilitar `/advisor` mantém o prefixo armazenado em cache intacto. Se uma mudança de [MCP server](/docs/pt/mcp) faz isso depende se [tool search](/docs/pt/mcp#scale-with-mcp-tool-search) adia as ferramentas da sessão, o padrão em modelos suportados:

126 126 

127* **Deferred tools**, o padrão em modelos suportados: um servidor conectando, desconectando ou alterando sua lista de ferramentas apenas anexa novo conteúdo e não perturba nada já armazenado em cache.127* **Tools deferred**: Claude Code mantém a lista de ferramentas da primeira solicitação da conversa durante toda a conversa, então um servidor conectando ou desconectando no meio da sessão não perturba nada já armazenado em cache. Um servidor que termina de conectar após a primeira solicitação fornece suas ferramentas como definições adiadas que Claude carrega sob demanda.

128* **Tools loaded into the prefix**: qualquer mudança nelas invalida o cache. Isso acontece quando [tool search está indisponível ou desabilitado](/docs/pt/mcp#configure-tool-search), como em modelos da plataforma de agentes do Google Cloud anteriores à geração Claude 4.5, com um gateway `ANTHROPIC_BASE_URL` personalizado, ou em uma implantação do Microsoft Foundry [hospedada no Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options) uma vez que Claude Code detecta que a implantação rejeita tool search. Também acontece para um servidor ou ferramenta marcada [`alwaysLoad`](/docs/pt/mcp#exempt-a-server-from-deferral), e para definições mantidas na frente por [threshold-based loading](/docs/pt/mcp#configure-tool-search).128* **Tools loaded upfront**: adicionar uma definição invalida o cache, e o mesmo acontece ao remover uma propositalmente. Isso ocorre quando tool search está [abaixo de seu limiar `auto`, desabilitado ou indisponível](/docs/pt/mcp#configure-tool-search), como em modelos da plataforma de agentes do Google Cloud anteriores à geração Claude 4.5, com um gateway `ANTHROPIC_BASE_URL` personalizado, ou em uma implantação do Microsoft Foundry [hospedada no Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options) uma vez que Claude Code detecta que a implantação rejeita tool search.

129 129 

130Quando as ferramentas são carregadas no prefixo, a causa mais comum de uma invalidação é um servidor conectando ou desconectando no meio da sessão, o que pode acontecer sem nenhuma ação da sua parte: o processo de um servidor stdio sai, uma sessão HTTP expira, ou um servidor [reconecta automaticamente após uma falha transitória](/docs/pt/mcp#automatic-reconnection). Um servidor conectado também pode enviar uma [dynamic tool update](/docs/pt/mcp#dynamic-tool-updates) que altera sua lista de ferramentas.130Sem tool search, se uma mudança de servidor no meio da sessão invalida o cache depende do que mudou. Para cada mudança, esta tabela indica se o cache é mantido e o que acontece com as definições de ferramentas na próxima solicitação.

131 

132| Mudança no meio da sessão | Cache | Definições de ferramentas na próxima solicitação |

133| - | - | - |

134| Um servidor conecta, ou uma [dynamic tool update](/docs/pt/mcp#dynamic-tool-updates) adiciona ferramentas | Invalidado | As novas definições são adicionadas |

135| Um servidor cai sem nenhuma ação da sua parte, como o processo de um servidor stdio saindo | Mantido | As definições do servidor permanecem inalteradas. Uma chamada para uma de suas ferramentas retorna um erro em vez de executar |

136| Um servidor remoto [reconecta automaticamente](/docs/pt/mcp#automatic-reconnection) após sua conexão cair | Mantido, a menos que uma solicitação enviada enquanto o servidor reconecta adicione a ferramenta `WaitForMcpServers`, o que invalida o cache uma vez | As definições do servidor permanecem inalteradas. Uma solicitação enviada enquanto o servidor reconecta pode adicionar `WaitForMcpServers` quando a conversa ainda não a listou, e a ferramenta então permanece listada pelo resto da conversa |

137| Você remove uma ferramenta propositalmente, como com uma [deny rule](#denying-an-entire-tool) ou desabilitando seu servidor em `/mcp` | Invalidado | A definição é removida |

138 

139Quando você retoma uma conversa cujas ferramentas carregam no prefixo, um de seus servidores MCP ainda pode estar conectando quando a primeira solicitação sai. Se a transcrição registrou as definições de ferramentas desse servidor, essa solicitação as inclui conforme registrado, então não muda quando o servidor termina de conectar com as mesmas ferramentas.

131 140 

132Editar sua configuração MCP não muda o cache por si só. A nova configuração entra em vigor apenas após uma reinicialização, que é quando o servidor conecta ou desconecta.141Editar sua configuração MCP não muda o cache por si só. A nova configuração entra em vigor apenas após uma reinicialização, que é quando o servidor conecta ou desconecta.

133 142 


147 Plugins that provide MCP servers156 Plugins that provide MCP servers

148</h4>157</h4>

149 158 

150Quando você habilita ou desabilita um plugin que fornece [MCP servers](/docs/pt/plugins/components#mcp-servers), Claude Code segue as mesmas regras de quando você [conecta ou desconecta um MCP server](#connecting-or-disconnecting-an-mcp-server):159Quando você habilita ou desabilita um plugin que fornece [MCP servers](/docs/pt/plugins/components#mcp-servers), Claude Code segue as mesmas regras de quando você [conecta ou remove um MCP server](#connecting-or-removing-an-mcp-server).

151 

152* Se Claude Code adia as ferramentas do servidor, ele mantém o cache.

153* Se Claude Code as carrega no prefixo, a próxima solicitação relê toda a conversa.

154 160 

155<h4 id="code-intelligence-plugins">161<h4 id="code-intelligence-plugins">

156 Code intelligence plugins162 Code intelligence plugins


244 Editando arquivos em seu repositório250 Editando arquivos em seu repositório

245</h3>251</h3>

246 252 

247O conteúdo dos arquivos entra no contexto apenas quando Claude os lê, e as leituras se anexam à conversa. Editar um arquivo que Claude leu anteriormente não muda retroativamente a leitura anterior no histórico. Em vez disso, Claude Code anexa um `<system-reminder>` observando que o arquivo mudou, e Claude o relê se necessário.253O conteúdo dos arquivos entra no contexto apenas quando Claude os lê, e as leituras se anexam à conversa. Editar um arquivo que Claude leu anteriormente não muda retroativamente a leitura anterior no histórico. Em vez disso, Claude Code anexa um [`<system-reminder>`](/docs/pt/glossary#system-reminder) observando que o arquivo mudou, e Claude o relê se necessário.

248 254 

249<h3 id="editing-claude-md-mid-session">255<h3 id="editing-claude-md-mid-session">

250 Editando CLAUDE.md durante a sessão256 Editando CLAUDE.md durante a sessão


354 Escopo do cache360 Escopo do cache

355</h2>361</h2>

356 362 

357Em Claude Code, o cache é efetivamente limitado a uma máquina e diretório. Cada conversa carrega o diretório de trabalho, plataforma, shell e versão do SO, e o prompt do sistema nomeia seus caminhos de memória automática, então duas sessões em diretórios diferentes constroem prefixos diferentes e perdem o cache uma da outra. Isso inclui worktrees do mesmo repositório, já que cada worktree tem seu próprio diretório de trabalho.363Em Claude Code, o cache é efetivamente limitado a uma máquina e diretório. O prompt do sistema incorpora seus caminhos de memória automática, e a conversa abre com um anúncio do diretório de trabalho, plataforma, shell e versão do SO. Duas sessões em diretórios diferentes, portanto, constroem prefixos diferentes e perdem o cache uma da outra.

358 364 

359Sessões que você executa em paralelo no mesmo diretório constroem prefixos correspondentes e leem o cache uma da outra. Sessões sequenciais compartilham o prefixo apenas quando o snapshot de status git na inicialização corresponde, já que cada conversa também carrega a branch e commits recentes desse snapshot.365Sessões que você executa em paralelo no mesmo diretório constroem prefixos correspondentes e leem o cache uma da outra. Sessões sequenciais compartilham o prefixo apenas quando o snapshot de status git na inicialização corresponde, já que cada conversa também carrega a branch e commits recentes desse snapshot.

360 366 

361O cache de API subjacente é mais amplo. Os caches são isolados entre organizações e, em alguns provedores, [entre workspaces dentro de uma organização](https://platform.claude.com/docs/pt/build-with-claude/prompt-caching#cache-storage-and-sharing). Dentro desses limites, quaisquer duas solicitações com o mesmo modelo e prefixo leem o mesmo cache. Para chamadores do Agent SDK executando frotas de processos automatizados, veja [melhorar prompt caching entre usuários e máquinas](/docs/pt/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines) para suprimir as seções por máquina do prompt do sistema e compartilhar o cache entre máquinas.367O cache de API subjacente é mais amplo. Os caches são isolados entre organizações e, em alguns provedores, [entre workspaces dentro de uma organização](https://platform.claude.com/docs/pt/build-with-claude/prompt-caching#cache-storage-and-sharing). Dentro desses limites, quaisquer duas solicitações com o mesmo modelo e prefixo leem o mesmo cache. Para chamadores do Agent SDK executando frotas de processos automatizados, veja [melhorar prompt caching entre usuários e máquinas](/docs/pt/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines) para mover a localização da memória automática para fora do prompt do sistema e compartilhar a entrada de cache do prompt do sistema entre usuários e máquinas.

362 368 

363<h2 id="check-cache-performance">369<h2 id="check-cache-performance">

364 Verificar desempenho do cache370 Verificar desempenho do cache


405| Variável | Efeito |411| Variável | Efeito |

406| - | - |412| - | - |

407| `DISABLE_PROMPT_CACHING` | Desabilitar para todos os modelos |413| `DISABLE_PROMPT_CACHING` | Desabilitar para todos os modelos |

408| `DISABLE_PROMPT_CACHING_HAIKU` | Desabilitar para Haiku apenas |414| `DISABLE_PROMPT_CACHING_HAIKU` | Desabilitar para o modelo Haiku padrão |

409| `DISABLE_PROMPT_CACHING_SONNET` | Desabilitar para Sonnet apenas |415| `DISABLE_PROMPT_CACHING_SONNET` | Desabilitar para Sonnet apenas |

410| `DISABLE_PROMPT_CACHING_OPUS` | Desabilitar para Opus apenas |416| `DISABLE_PROMPT_CACHING_OPUS` | Desabilitar para Opus apenas |

411| `DISABLE_PROMPT_CACHING_FABLE` | Desabilitar para Fable apenas |417| `DISABLE_PROMPT_CACHING_FABLE` | Desabilitar para Fable apenas |

412 418 

419`DISABLE_PROMPT_CACHING_HAIKU` aplica-se ao modelo Haiku padrão, o modelo para o qual o alias `haiku` é resolvido. Desabilita o caching em qualquer lugar que esse modelo seja executado, incluindo a conversa principal quando é seu modelo principal. Cobrir a conversa principal requer Claude Code v2.1.283 ou posterior.

420 

421A variável também cobre um modelo de fundo que você define com a variável descontinuada `ANTHROPIC_SMALL_FAST_MODEL`, quando esse modelo difere do seu modelo principal.

422 

423Uma versão diferente do Haiku que você fixa como seu modelo principal mantém o caching; defina `DISABLE_PROMPT_CACHING` para desabilitar o caching para ela.

424 

413Para definir a política de caching em toda uma organização, coloque qualquer uma dessas ou as [variáveis de TTL](#cache-lifetime) no bloco `env` de [configurações gerenciadas](/docs/pt/managed-settings). Para uso normal, deixe o caching habilitado.425Para definir a política de caching em toda uma organização, coloque qualquer uma dessas ou as [variáveis de TTL](#cache-lifetime) no bloco `env` de [configurações gerenciadas](/docs/pt/managed-settings). Para uso normal, deixe o caching habilitado.

414 426 

415<h2 id="related-resources">427<h2 id="related-resources">

quickstart.md +4 −2

Details

27 Passo 1: Instale Claude Code27 Passo 1: Instale Claude Code

28</h2>28</h2>

29 29 

30Para instalar Claude Code, use um dos seguintes métodos:30Para instalar Claude Code, abra um terminal e execute o comando para seu sistema. Se você nunca usou um terminal antes, o [guia de terminal](/docs/pt/terminal-guide) mostra como abrir um e colar o comando.

31 31 

32<Tabs>32<Tabs>

33 <Tab title="Instalação Nativa (Recomendado)">33 <Tab title="Instalação Nativa (Recomendado)">


49 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd49 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

50 ```50 ```

51 51 

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

53 

52 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. Seu prompt mostra `PS C:\` quando você está no PowerShell e `C:\` sem o `PS` quando você está no CMD.54 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. Seu prompt mostra `PS C:\` quando você está no PowerShell e `C:\` sem o `PS` quando você está no CMD.

53 55 

54 Se o comando de instalação falhar com `syntax error near unexpected token '<'`, um `403`, ou outro erro de curl, consulte [Solucionar problemas de instalação](/docs/pt/troubleshoot-install#find-your-error) para corresponder o erro a uma correção e para métodos alternativos de instalação.56 Se o comando de instalação falhar com `syntax error near unexpected token '<'`, um `403`, ou outro erro de curl, consulte [Solucionar problemas de instalação](/docs/pt/troubleshoot-install#find-your-error) para corresponder o erro a uma correção e para métodos alternativos de instalação.


187 189 

188Claude Code encontra o arquivo apropriado e mostra a alteração. Se ele pedir antes de fazer a alteração, selecione **Sim** para aprovar.190Claude Code encontra o arquivo apropriado e mostra a alteração. Se ele pedir antes de fazer a alteração, selecione **Sim** para aprovar.

189 191 

190O modo Auto é o [modo de permissão inicial integrado](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) para sessões de terminal interativas nos planos Pro, Max e Team: um classificador revisa as ações em vez de você, e Claude edita a maioria dos arquivos e executa a maioria dos comandos sem pedir. Em outros planos, o modo Manual é o modo de permissão inicial integrado. Para a sessão que você inicia logo após a instalação, consulte [Primeira sessão após uma instalação ou atualização](/docs/pt/env-vars#first-session-after-an-install-or-upgrade).192Com Claude Code v2.1.283 ou posterior, o modo auto é o [modo de permissão inicial integrado](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) para sessões de terminal interativas: um classificador revisa as ações em vez de você, e Claude edita a maioria dos arquivos e executa a maioria dos comandos sem pedir. Em versões anteriores, o modo auto é o modo de permissão inicial integrado apenas nos planos Pro, Max e Team. Para a sessão que você inicia logo após a instalação, consulte [Primeira sessão após uma instalação ou atualização](/docs/pt/env-vars#first-session-after-an-install-or-upgrade).

191 193 

192<Note>194<Note>

193 Suas configurações ou sua organização podem definir um modo de permissão inicial diferente. [Qual modo de permissão uma sessão inicia](/docs/pt/permission-modes#which-mode-a-session-starts-in) lista o que faz. Pressione `Shift+Tab` a qualquer momento para alternar o modo de permissão da sessão em que você está.195 Suas configurações ou sua organização podem definir um modo de permissão inicial diferente. [Qual modo de permissão uma sessão inicia](/docs/pt/permission-modes#which-mode-a-session-starts-in) lista o que faz. Pressione `Shift+Tab` a qualquer momento para alternar o modo de permissão da sessão em que você está.

remote-control.md +152 −160

Details

6 6 

7> Continue uma sessão local do Claude Code do seu telefone, tablet ou qualquer navegador usando Remote Control. Funciona com claude.ai/code e o aplicativo Claude para dispositivos móveis.7> Continue uma sessão local do Claude Code do seu telefone, tablet ou qualquer navegador usando Remote Control. Funciona com claude.ai/code e o aplicativo Claude para dispositivos móveis.

8 8 

9<Note>

10 Remote Control está disponível em todos os planos. Em Team e Enterprise, ele fica desativado por padrão até que um Owner ative o toggle Remote Control nas [configurações de administrador do Claude Code](https://claude.ai/admin-settings/claude-code).

11</Note>

12 

13Remote Control conecta [claude.ai/code](https://claude.ai/code) ou o aplicativo Claude para [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) e [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude) a uma sessão do Claude Code em execução na sua máquina. Inicie uma tarefa na sua mesa, depois continue a partir do seu telefone no sofá ou de um navegador em outro computador.9Remote Control conecta [claude.ai/code](https://claude.ai/code) ou o aplicativo Claude para [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) e [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude) a uma sessão do Claude Code em execução na sua máquina. Inicie uma tarefa na sua mesa, depois continue a partir do seu telefone no sofá ou de um navegador em outro computador.

14 10 

15Quando você inicia uma sessão de Remote Control na sua máquina, Claude continua executando localmente o tempo todo, portanto sua execução de código e acesso ao sistema de arquivos permanecem na sua máquina. Com Remote Control você pode:11Quando você inicia uma sessão de Remote Control na sua máquina, Claude continua executando localmente o tempo todo, portanto sua execução de código e acesso ao sistema de arquivos permanecem na sua máquina. Com Remote Control você pode:


17* **Usar seu ambiente local completo remotamente**: seu sistema de arquivos, [MCP servers](/docs/pt/mcp), ferramentas e configuração do projeto permanecem disponíveis, e digitar `@` autocompleta caminhos de arquivo do seu projeto local.13* **Usar seu ambiente local completo remotamente**: seu sistema de arquivos, [MCP servers](/docs/pt/mcp), ferramentas e configuração do projeto permanecem disponíveis, e digitar `@` autocompleta caminhos de arquivo do seu projeto local.

18* **Trabalhar em ambas as superfícies ao mesmo tempo**: a conversa e o progresso de [subagentes](/docs/pt/sub-agents) e [fluxos de trabalho dinâmicos](/docs/pt/workflows) permanecem sincronizados em todos os dispositivos conectados, para que você possa enviar mensagens do seu terminal, navegador e telefone de forma intercambiável.14* **Trabalhar em ambas as superfícies ao mesmo tempo**: a conversa e o progresso de [subagentes](/docs/pt/sub-agents) e [fluxos de trabalho dinâmicos](/docs/pt/workflows) permanecem sincronizados em todos os dispositivos conectados, para que você possa enviar mensagens do seu terminal, navegador e telefone de forma intercambiável.

19* **Enviar imagens e arquivos do seu telefone ou navegador**: anexe uma foto ou arquivo no aplicativo Claude ou em claude.ai/code, com ou sem legenda. Claude vê fotos anexadas diretamente como parte da sua mensagem. Claude Code faz o download de outros arquivos para sua máquina e os passa para Claude como referências de arquivo `@`.15* **Enviar imagens e arquivos do seu telefone ou navegador**: anexe uma foto ou arquivo no aplicativo Claude ou em claude.ai/code, com ou sem legenda. Claude vê fotos anexadas diretamente como parte da sua mensagem. Claude Code faz o download de outros arquivos para sua máquina e os passa para Claude como referências de arquivo `@`.

20* **Sobreviver a interrupções**: se seu laptop dormir ou sua rede cair, Claude Code se reconecta automaticamente quando sua máquina voltar a ficar online. Enquanto a conexão está sendo reconstruída, Claude Code enfileira mensagens, prompts de permissão e atualizações de status de subagentes e fluxos de trabalho, e as entrega assim que a conexão se recupera.16* **Sobreviver a interrupções**: se seu laptop dormir ou sua rede cair, Claude Code se reconecta automaticamente quando sua máquina voltar a ficar online.

21 

22Diferentemente do [Claude Code na web](/docs/pt/claude-code-on-the-web), que é executado em infraestrutura em nuvem, as sessões de Remote Control são executadas diretamente na sua máquina e interagem com seu sistema de arquivos local. As interfaces web e móvel são uma janela para essa sessão local.

23 17 

24Esta página aborda a configuração, como iniciar e conectar a sessões, e como Remote Control se compara ao Claude Code na web.18Diferentemente do [Claude Code na web](/docs/pt/claude-code-on-the-web), que é executado em infraestrutura em nuvem, as sessões de Remote Control são executadas diretamente na sua máquina e interagem com seu sistema de arquivos local. As interfaces web e móvel são uma janela para essa sessão local, portanto seu computador precisa permanecer ligado e o processo `claude` precisa continuar em execução.

25 19 

26<h2 id="requirements">20<h2 id="requirements">

27 Requisitos21 Requisitos


33* **Autenticação**: execute `claude` e use `/login` para fazer login através de claude.ai se você ainda não fez isso. Sem um login elegível, `claude remote-control` sai com um erro, enquanto `claude --remote-control` ainda inicia uma sessão interativa e mostra uma notificação de falha de Remote Control logo após o lançamento.27* **Autenticação**: execute `claude` e use `/login` para fazer login através de claude.ai se você ainda não fez isso. Sem um login elegível, `claude remote-control` sai com um erro, enquanto `claude --remote-control` ainda inicia uma sessão interativa e mostra uma notificação de falha de Remote Control logo após o lançamento.

34* **Endpoint de API**: não disponível em nenhuma destas configurações:28* **Endpoint de API**: não disponível em nenhuma destas configurações:

35 * Você usa Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry.29 * Você usa Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry.

36 * Você aponta [`ANTHROPIC_BASE_URL`](/docs/pt/env-vars) para um host diferente de `api.anthropic.com`, como um [gateway LLM](/docs/pt/llm-gateway) ou proxy. Desative a variável para usar Remote Control. Antes da v2.1.196, Claude Code permitia Remote Control com um `ANTHROPIC_BASE_URL` customizado.30 * Você aponta [`ANTHROPIC_BASE_URL`](/docs/pt/env-vars) para um host diferente de `api.anthropic.com`, como um [gateway LLM](/docs/pt/llm-gateway) ou proxy. Desative a variável para usar Remote Control.

37 * Você faz login através de um [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway) empresarial.31 * Você faz login através de um [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway) empresarial.

38* **Avaliação de feature-flag**: [`DISABLE_TELEMETRY`, `DO_NOT_TRACK`, `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` e `DISABLE_GROWTHBOOK`](/docs/pt/env-vars) cada uma desabilita a avaliação de feature-flag da qual a disponibilidade de Remote Control depende. Desative a variável onde quer que esteja definida, no seu ambiente de shell ou no bloco `env` de um [arquivo `settings.json`](/docs/pt/settings-reference#all-settings), para usar Remote Control.32* **Avaliação de feature-flag**: se você definir uma [variável de ambiente que desativa a avaliação de feature-flag](/docs/pt/env-vars#features-that-need-feature-flag-fetching), a disponibilidade de Remote Control depende de qual:

39* **Confiança do workspace**: execute `claude` no diretório do seu projeto pelo menos uma vez para aceitar o diálogo de confiança do workspace. O diálogo de confiança na inicialização nunca salva confiança para seu diretório home, então inicie Remote Control a partir de um diretório de projeto.33 * Se você definir `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` ou `DISABLE_GROWTHBOOK`, Remote Control não está disponível. Desative a variável onde quer que esteja definida, no seu ambiente de shell ou no bloco `env` de um [arquivo `settings.json`](/docs/pt/settings-reference#all-settings), para usar Remote Control.

34 * Se você definir apenas `DISABLE_TELEMETRY` ou `DO_NOT_TRACK`, Remote Control permanece disponível a menos que sua organização exija [Trusted Devices](#trusted-devices). Se exigir, desative a variável para usar Remote Control. Usar Remote Control com qualquer uma dessas variáveis definidas requer Claude Code v2.1.283 ou posterior.

35* **Confiança do workspace**: em um diretório que você ainda não confiou, `claude remote-control` imprime o que confiar nele ativa e pergunta `Trust <directory>? [y/N]` antes de iniciar. Responder `y` salva a escolha, exceto no seu diretório home, onde a confiança nunca é salva e a pergunta retorna a cada execução. Quando sua entrada ou saída padrão não é um terminal, o comando não pode perguntar e sai com um erro [`Workspace not trusted`](/docs/pt/errors#workspace-not-trusted-when-starting-remote-control).

40 36 

41<h2 id="start-a-remote-control-session">37<h2 id="start-a-remote-control-session">

42 Inicie uma sessão de Remote Control38 Iniciar uma sessão de Remote Control

43</h2>39</h2>

44 40 

45Você pode iniciar uma sessão de Remote Control a partir da CLI ou da extensão VS Code. A CLI oferece três modos de invocação; VS Code usa o comando `/remote-control`.41Você pode iniciar uma sessão de Remote Control a partir da CLI, do [aplicativo Claude Desktop](/docs/pt/desktop), ou da extensão VS Code. A CLI oferece três modos de invocação; o aplicativo Desktop e VS Code usam o comando `/remote-control`.

46 42 

47<Tabs>43<Tabs>

48 <Tab title="Modo servidor">44 <Tab title="Modo servidor">


62 | - | - |58 | - | - |

63 | `--name "My Project"` | Define um título de sessão personalizado visível na lista de sessões em claude.ai/code. |59 | `--name "My Project"` | Define um título de sessão personalizado visível na lista de sessões em claude.ai/code. |

64 | `--remote-control-session-name-prefix <prefix>` | Prefixo para nomes de sessão gerados automaticamente quando nenhum nome explícito é definido. O padrão é o nome do host da sua máquina, produzindo nomes como `myhost-graceful-unicorn`. Defina `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` para o mesmo efeito. |60 | `--remote-control-session-name-prefix <prefix>` | Prefixo para nomes de sessão gerados automaticamente quando nenhum nome explícito é definido. O padrão é o nome do host da sua máquina, produzindo nomes como `myhost-graceful-unicorn`. Defina `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` para o mesmo efeito. |

65 | `-c`, `--continue` | Retome a sessão que o último servidor neste diretório iniciou, em vez de criar uma nova. Consulte [Retomar sessões após parar o servidor](#resume-sessions-after-stopping-the-server). Não pode ser combinado com `--session-id`, `--spawn`, `--capacity` ou `--create-session-in-dir`. Requer Claude Code v2.1.200 ou posterior; versões anteriores rejeitam o sinalizador como um argumento desconhecido. |61 | `-c`, `--continue` | Recupere a sessão que o último servidor neste diretório iniciou, em vez de criar uma nova. Consulte [Retomar sessões após parar o servidor](#resume-sessions-after-stopping-the-server). Não pode ser combinado com `--session-id`, `--spawn`, `--capacity` ou `--create-session-in-dir`. Requer Claude Code v2.1.200 ou posterior. |

66 | `--session-id <id>` | Retome uma sessão pelo seu ID. Consulte [Retomar sessões após parar o servidor](#resume-sessions-after-stopping-the-server). Não pode ser combinado com `--continue`, `--spawn`, `--capacity` ou `--create-session-in-dir`. Requer Claude Code v2.1.200 ou posterior; versões anteriores rejeitam o sinalizador como um argumento desconhecido. |62 | `--session-id <id>` | Recupere uma sessão por seu ID. Consulte [Retomar sessões após parar o servidor](#resume-sessions-after-stopping-the-server). Não pode ser combinado com `--continue`, `--spawn`, `--capacity` ou `--create-session-in-dir`. Requer Claude Code v2.1.200 ou posterior. |

67 | `--spawn <mode>` | Como o servidor cria sessões.<br />• `same-dir` (padrão): todas as sessões compartilham o diretório de trabalho atual, portanto podem entrar em conflito se editarem os mesmos arquivos.<br />• `worktree`: cada sessão sob demanda obtém seu próprio [git worktree](/docs/pt/worktrees). Requer um repositório git.<br />• `session`: modo de sessão única. Serve exatamente uma sessão e rejeita conexões adicionais. Definido apenas na inicialização.<br />Pressione `w` em tempo de execução para alternar entre `same-dir` e `worktree`. |63 | `--spawn <mode>` | Como o servidor cria sessões.<br />• `same-dir` (padrão): todas as sessões compartilham o diretório de trabalho atual, portanto podem entrar em conflito se editarem os mesmos arquivos.<br />• `worktree`: cada sessão sob demanda obtém seu próprio [git worktree](/docs/pt/worktrees). Requer um repositório git.<br />• `session`: modo de sessão única. Serve exatamente uma sessão e rejeita conexões adicionais. Defina apenas na inicialização.<br />Pressione `w` em tempo de execução para alternar entre `same-dir` e `worktree`. |

68 | `--capacity <N>` | Número máximo de sessões simultâneas. O padrão é 32. Não pode ser usado com `--spawn=session`. |64 | `--capacity <N>` | Número máximo de sessões simultâneas. O padrão é 32. Não pode ser usado com `--spawn=session`. |

69 | `--[no-]create-session-in-dir` | Pré-crie uma sessão no diretório atual quando o servidor inicia, para que você tenha um lugar para digitar imediatamente. Em modo `worktree`, essa sessão permanece no diretório atual enquanto as sessões sob demanda obtêm worktrees isoladas. Ativado por padrão. Se você passar `--no-create-session-in-dir` para iniciar sem nenhuma, Claude Code arquiva as sessões do servidor quando você o para, portanto não há nada para [retomar](#resume-sessions-after-stopping-the-server). |65 | `--[no-]create-session-in-dir` | Pré-crie uma sessão no diretório atual quando o servidor inicia, para que você tenha um lugar para digitar imediatamente. Em modo `worktree`, essa sessão permanece no diretório atual enquanto as sessões sob demanda obtêm worktrees isoladas. Ativado por padrão. Se você passar `--no-create-session-in-dir` para iniciar sem nenhuma, Claude Code arquiva as sessões do servidor quando você o para, portanto não há nada para [retomar](#resume-sessions-after-stopping-the-server). |

70 | `--permission-mode <mode>` | Define o [modo de permissão](/docs/pt/permission-modes) inicial para as sessões do servidor, como `acceptEdits`. Aceita `manual` como um alias para `default`; um modo não reconhecido para o servidor na inicialização e lista os modos válidos. |66 | `--permission-mode <mode>` | Define o [modo de permissão](/docs/pt/permission-modes) inicial para as sessões do servidor, como `acceptEdits`. Aceita `manual` como um alias para `default`; um modo não reconhecido para o servidor na inicialização e lista os modos válidos. |

67 | `-d`, `--debug[=<filter>]` | Ative o registro de depuração para o servidor, opcionalmente filtrado por categoria. Passe um filtro apenas na forma `=`, como `--debug=api,hooks`. Requer Claude Code v2.1.282 ou posterior; versões anteriores rejeitam o sinalizador como um argumento desconhecido. |

71 | `--debug-file <path>` | Escreva logs de depuração no arquivo fornecido. |68 | `--debug-file <path>` | Escreva logs de depuração no arquivo fornecido. |

72 | `--verbose` | Mostra logs detalhados de conexão e sessão. |69 | `--verbose` | Mostre logs detalhados de conexão e sessão. |

73 | `--sandbox` / `--no-sandbox` | Ativa ou desativa [sandboxing](/docs/pt/sandboxing) para isolamento de sistema de arquivos e rede. Desativado por padrão. |70 | `--sandbox` / `--no-sandbox` | Ative ou desative [sandboxing](/docs/pt/sandboxing) para isolamento de sistema de arquivos e rede. Desativado por padrão. |

74 71 

75 Forneça esses sinalizadores após `remote-control`.72 Forneça esses sinalizadores após `remote-control`.

76 73 

77 Se você passar um sinalizador global `claude` antes de `remote-control`, ou um script wrapper adicionar um, Claude Code não carrega o sinalizador para as sessões que o servidor cria. Claude Code deixa o sinalizador passar apenas quando descartá-lo é conhecido por não alterar o que essas sessões podem fazer, como `--verbose` ou `--model`. Para qualquer outro sinalizador, como `--settings`, Claude Code [recusa iniciar](/docs/pt/errors#not-carried-over-to-the-sessions-remote-control-starts) e nomeia o sinalizador a remover. Antes da v2.1.248, qualquer opção antes de `remote-control` fazia Claude Code rejeitar os sinalizadores após ela com um erro `unknown option`.74 Se você passar um sinalizador global `claude` antes de `remote-control`, ou um script wrapper adicionar um, Claude Code não leva o sinalizador para as sessões que o servidor cria. Claude Code deixa o sinalizador passar apenas quando soltá-lo é conhecido por não alterar o que essas sessões podem fazer, como `--verbose` ou `--model`. Para qualquer outro sinalizador, como `--settings`, Claude Code [recusa iniciar](/docs/pt/errors#not-carried-over-to-the-sessions-remote-control-starts) e nomeia o sinalizador a remover.

78 75 

79 Claude Code verifica a elegibilidade do Remote Control antes de imprimir a ajuda, portanto `claude remote-control --help` retorna um erro em vez desta lista de sinalizadores quando você não está conectado com uma conta elegível.76 Claude Code verifica a elegibilidade do Remote Control antes de imprimir a ajuda, portanto `claude remote-control --help` retorna um erro em vez dessa lista de sinalizadores quando você não está conectado com uma conta elegível.

80 </Tab>77 </Tab>

81 78 

82 <Tab title="Sessão interativa">79 <Tab title="Sessão interativa">

83 Para iniciar uma sessão normal interativa do Claude Code com Remote Control ativado, use a flag `--remote-control` (ou `--rc`):80 Para iniciar uma sessão normal interativa de Claude Code com Remote Control ativado, use o sinalizador `--remote-control` (ou `--rc`):

84 81 

85 ```bash theme={null}82 ```bash theme={null}

86 claude --remote-control83 claude --remote-control


96 </Tab>93 </Tab>

97 94 

98 <Tab title="De uma sessão existente">95 <Tab title="De uma sessão existente">

99 Se você já está em uma sessão do Claude Code e deseja continuá-la remotamente, use o comando `/remote-control` (ou `/rc`):96 Se você já está em uma sessão de Claude Code e deseja continuá-la remotamente, use o comando `/remote-control` (ou `/rc`):

100 97 

101 ```text theme={null}98 ```text theme={null}

102 /remote-control99 /remote-control


110 107 

111 Isso inicia uma sessão de Remote Control que carrega seu histórico de conversa atual.108 Isso inicia uma sessão de Remote Control que carrega seu histórico de conversa atual.

112 109 

113 Até que você aceite a confirmação única do Remote Control, um diálogo aparece antes de `/remote-control` se conectar. Selecione **Enable Remote Control** para aceitar e conectar. Se você selecionar **Never mind** ou pressionar Esc, Claude Code não se conecta e pergunta novamente na próxima vez que você executar `/remote-control`.110 Até que você aceite a confirmação única do Remote Control, um diálogo aparece antes de `/remote-control` conectar. Selecione **Enable Remote Control** para aceitar e conectar. Se você selecionar **Never mind** ou pressionar Esc, Claude Code não conecta e pergunta novamente na próxima vez que você executar `/remote-control`.

114 111 

115 As flags `--verbose`, `--sandbox` e `--no-sandbox` não estão disponíveis com este comando.112 Os sinalizadores `--verbose`, `--sandbox` e `--no-sandbox` não estão disponíveis com este comando.

116 </Tab>113 </Tab>

117 114 

118 <Tab title="VS Code">115 <Tab title="VS Code">

119 Na [extensão VS Code do Claude Code](/docs/pt/vs-code), digite `/remote-control` ou `/rc` na caixa de prompt.116 Na [extensão Claude Code VS Code](/docs/pt/vs-code), digite `/remote-control` ou `/rc` na caixa de prompt.

117 

118 ```text theme={null}

119 /remote-control

120 ```

121 

122 Enquanto Remote Control está ativado, Claude Code mostra um indicador **Remote Control** no rodapé da caixa de prompt. Depois que a sessão se conecta, clique no indicador para ir diretamente à sessão, ou encontre-a na lista de sessões em [claude.ai/code](https://claude.ai/code). Claude Code também publica a URL da sessão na conversa. Para desconectar, execute `/remote-control` novamente.

123 

124 Diferentemente da CLI, o comando VS Code não aceita um argumento de nome ou exibe um código QR. O título da sessão é derivado do seu histórico de conversa ou do primeiro prompt.

125 </Tab>

126 

127 <Tab title="Aplicativo Desktop">

128 Em uma sessão local na [aba Code do aplicativo Claude Desktop](/docs/pt/desktop), digite `/remote-control` ou `/rc` na caixa de prompt.

120 129 

121 ```text theme={null}130 ```text theme={null}

122 /remote-control131 /remote-control

123 ```132 ```

124 133 

125 Enquanto Remote Control está ativado, Claude Code mostra um indicador **Remote Control** no rodapé da caixa de prompt. Depois que a sessão se conecta, clique no indicador para ir diretamente para a sessão, ou encontre-a na lista de sessões em [claude.ai/code](https://claude.ai/code). Claude Code também publica a URL da sessão na conversa. Para desconectar, execute `/remote-control` novamente.134 Depois que a sessão se conecta, encontre-a na lista de sessões em [claude.ai/code](https://claude.ai/code). Para desconectar, execute `/remote-control` novamente.

126 135 

127 Diferentemente da CLI, o comando VS Code não aceita um argumento de nome ou exibe um código QR. O título da sessão é derivado do seu histórico de conversa ou primeiro prompt.136 Para ativar Remote Control para cada sessão por padrão, consulte [Ativar Remote Control para todas as sessões](#enable-remote-control-for-all-sessions).

128 </Tab>137 </Tab>

129</Tabs>138</Tabs>

130 139 


136 145 

137<span id="session-ended-elsewhere" />Se a conexão falhar em uma sessão interativa, o indicador muda para mostrar a falha, e Claude Code mostra o motivo em uma notificação e o adiciona à conversa. Execute `/remote-control` para reconectar, a menos que o motivo diga que a sessão mudou em outro lugar:146<span id="session-ended-elsewhere" />Se a conexão falhar em uma sessão interativa, o indicador muda para mostrar a falha, e Claude Code mostra o motivo em uma notificação e o adiciona à conversa. Execute `/remote-control` para reconectar, a menos que o motivo diga que a sessão mudou em outro lugar:

138 147 

139* **Outra conexão assumiu esta sessão**: outro dispositivo ou sessão do Claude Code a tem agora. Execute `/remote-control` apenas se você quiser recuperá-la.148* **Another connection took over this session**: outro dispositivo ou sessão de Claude Code a tem agora. Execute `/remote-control` apenas se você quiser recuperá-la.

140* **Esta sessão foi encerrada ou arquivada de outro dispositivo ou aplicativo**: execute `/remote-control` apenas se você quiser a sessão de volta. Claude Code reabre uma sessão arquivada.149* **This session was ended or archived from another device or app**: execute `/remote-control` apenas se você quiser a sessão de volta. Claude Code reabre uma sessão arquivada.

141* **O servidor não relata mais esta sessão**: ela pode ter sido deletada de outro dispositivo ou aplicativo.150* **The server no longer reports this session**: ela pode ter sido excluída de outro dispositivo ou aplicativo.

142 

143<h3 id="session-url-reminders">

144 Lembretes de URL de sessão

145</h3>

146 

147Enquanto Remote Control está conectado, Claude Code o lembra da URL da sessão ao mudar para seu telefone ou navegador ajuda mais, para que você não tenha que encontrar o link em `/remote-control`. Um lembrete aparece acima da caixa de prompt em um destes momentos:

148 

149* **Turno longo**: quando um turno é executado por mais tempo que um limite ajustado pelo servidor, Claude Code mostra uma notificação **Still working** com um link **Check in from your phone**, para que você possa acompanhar o turno do seu telefone ou navegador em vez de esperar no terminal. Claude Code a remove quando o turno termina.

150* **Prompts de permissão repetidos**: depois que você responde a vários [prompts de permissão](/docs/pt/permissions) em uma sessão, uma notificação **Approve tool calls from your phone** mostra a URL da sessão. Claude Code a remove quando seu próximo turno começa.

151 

152Os lembretes podem aparecer em qualquer sessão conectada, incluindo aquelas onde Remote Control [se conecta automaticamente](#enable-remote-control-for-all-sessions). Eles não aparecem toda vez que essas condições ocorrem, e cada um aparece apenas algumas vezes no total entre sessões. Você não pode configurar ou desativá-los; cada um se limpa por conta própria.

153 151 

154<h3 id="connect-from-another-device">152<h3 id="connect-from-another-device">

155 Conectar de outro dispositivo153 Conectar de outro dispositivo


157 155 

158Depois que uma sessão de Remote Control está ativa, você tem algumas maneiras de conectar de outro dispositivo:156Depois que uma sessão de Remote Control está ativa, você tem algumas maneiras de conectar de outro dispositivo:

159 157 

160* **Abra a URL da sessão** em qualquer navegador para ir diretamente para a sessão em [claude.ai/code](https://claude.ai/code).158* **Abra a URL da sessão** em qualquer navegador para ir diretamente à sessão em [claude.ai/code](https://claude.ai/code).

161* **Escaneie o código QR** mostrado ao lado da URL da sessão para abri-lo diretamente no aplicativo Claude. Com `claude remote-control`, pressione a barra de espaço para alternar a exibição do código QR.159* **Digitalize o código QR** mostrado ao lado da URL da sessão para abri-lo diretamente no aplicativo Claude. Com `claude remote-control`, pressione a barra de espaço para alternar a exibição do código QR.

162* **Abra [claude.ai/code](https://claude.ai/code) ou o aplicativo Claude** e encontre a sessão pelo nome na lista de sessões. No aplicativo móvel Claude, toque em **Code** na navegação para acessar a lista de sessões. As sessões de Remote Control mostram um ícone de computador com um ponto de status verde quando online.160* **Abra [claude.ai/code](https://claude.ai/code) ou o aplicativo Claude** e encontre a sessão por nome na lista de sessões. No aplicativo móvel Claude, toque em **Code** na navegação para acessar a lista de sessões. As sessões de Remote Control mostram um ícone de computador com um ponto de status verde quando online.

163 161 

164Quando você se conecta, o dispositivo mostra quaisquer subagentes e fluxos de trabalho que a sessão já tem em execução em segundo plano. Pare um deles do dispositivo, e Claude Code para essa tarefa em sua máquina.162Quando você se conecta, o dispositivo mostra quaisquer subagentos e fluxos de trabalho que a sessão já tem em execução em segundo plano. Pare um deles do dispositivo, e Claude Code para essa tarefa na sua máquina.

165 163 

166O título da sessão remota é escolhido nesta ordem:164O título da sessão remota é escolhido nesta ordem:

167 165 


1703. A última mensagem significativa no histórico de conversa existente1683. A última mensagem significativa no histórico de conversa existente

1714. Um nome gerado automaticamente como `myhost-graceful-unicorn`, onde `myhost` é o nome do host da sua máquina ou o prefixo que você definiu com `--remote-control-session-name-prefix`1694. Um nome gerado automaticamente como `myhost-graceful-unicorn`, onde `myhost` é o nome do host da sua máquina ou o prefixo que você definiu com `--remote-control-session-name-prefix`

172 170 

173Se você não definir um nome explícito, Claude Code atualiza o título para refletir seu prompt assim que você enviar um. Claude Code corresponde títulos gerados automaticamente ao idioma da sua conversa, ou à configuração [`language`](/docs/pt/settings-reference#language) se uma estiver configurada.171Se você não definiu um nome explícito, Claude Code atualiza o título para refletir seu prompt depois que você envia um. Quando você renomeia uma sessão a partir de claude.ai ou do aplicativo Claude, Claude Code também atualiza o título local mostrado em `claude --resume`.

174 

175Quando você renomeia uma sessão a partir de claude.ai ou do aplicativo Claude, Claude Code também atualiza o título local mostrado em `claude --resume`. Claude Code aplica o mesmo renome ao nome da sessão mostrado na barra de prompt, e na listagem `claude agents` quando a sessão [é executada em segundo plano](/docs/pt/agent-view). Antes da v2.1.221, renomear a partir da lista de sessões em claude.ai ou no aplicativo Claude atualizava apenas o título, e a CLI mantinha seu nome de sessão anterior; `/rename`, que é executado na própria CLI, define o nome em qualquer versão.

176 172 

177Se você ainda não tem o aplicativo Claude, execute `/mobile` dentro do Claude Code para mostrar um código QR para [claude.ai/mobile](https://claude.ai/mobile), que abre a loja de aplicativos correta para seu telefone.173Se você ainda não tem o aplicativo Claude, execute `/mobile` dentro de Claude Code para mostrar um código QR para [claude.ai/mobile](https://claude.ai/mobile), que abre a loja de aplicativos correta para seu telefone.

178 174 

179<h3 id="what-connected-devices-see">175<h3 id="what-connected-devices-see">

180 O que dispositivos conectados veem176 O que os dispositivos conectados veem

181</h3>177</h3>

182 178 

183Um dispositivo conectado mostra a conversa no seu terminal conforme acontece. Estes casos vão além de mensagens ordinárias:179Um dispositivo conectado mostra a conversa no seu terminal conforme acontece. Estes casos vão além de mensagens ordinárias:

184 180 

185* **Compactação e `/clear`**: enquanto Claude Code [compacta a conversa](/docs/pt/context-window#what-survives-compaction), dispositivos conectados mostram o progresso e então onde a conversa foi compactada. Quando você executa `/clear`, a conversa é redefinida em dispositivos conectados também.181* **Compactação e `/clear`**: enquanto Claude Code [compacta a conversa](/docs/pt/context-window#what-survives-compaction), os dispositivos conectados mostram o progresso e então onde a conversa foi compactada. Quando você executa `/clear`, a conversa é redefinida nos dispositivos conectados também.

186* **Alternando conversas com `/resume`**: o dispositivo conectado não recebe o título da conversa alternada ou histórico anterior, mas novas mensagens em ambas as direções vão para e vêm de qualquer conversa que esteja aberta no seu terminal. Para trabalhar na conversa original do dispositivo novamente, execute `/resume` no seu terminal e volte para ela.182* **Alternando conversas com `/resume`**: o dispositivo conectado não recebe o título ou histórico anterior da conversa alternada, mas novas mensagens em ambas as direções vão para e vêm de qualquer conversa que esteja aberta no seu terminal. Para trabalhar na conversa original do dispositivo novamente, execute `/resume` no seu terminal e volte para ela.

187* **Puxando uma sessão com `/teleport`**: quando você puxa uma [sessão Claude Code na web](/docs/pt/claude-code-on-the-web#from-cloud-to-terminal) para seu terminal com `/teleport`, o dispositivo conectado não recebe o histórico anterior da conversa puxada. Novas mensagens em ambas as direções vão para e vêm da conversa puxada, que agora é a que está aberta no seu terminal.183* **Puxando uma sessão com `/teleport`**: quando você puxa uma [sessão na nuvem](/docs/pt/claude-code-on-the-web#from-cloud-to-terminal) para seu terminal com `/teleport`, o dispositivo conectado não recebe o histórico anterior da conversa puxada. Novas mensagens em ambas as direções vão para e vêm da conversa puxada, que agora é a que está aberta no seu terminal.

188* **Mensagens de suas outras sessões**: com [mensagens entre sessões](/docs/pt/cross-session-messaging), a mesma conexão carrega mensagens entre suas próprias sessões em diferentes máquinas e de suas sessões [Claude Code na web](/docs/pt/claude-code-on-the-web), através de servidores Anthropic como o resto do tráfego Remote Control. [Mensagens de sessões em outras máquinas](/docs/pt/cross-session-messaging#message-sessions-on-other-machines) cobre as regras de entrega e [Controlar mensagens de entrada](/docs/pt/cross-session-messaging#control-inbound-messages) cobre os controles de entrada. Requer Claude Code v2.1.224 ou posterior.184* **Mensagens de suas outras sessões**: com [mensagens entre sessões](/docs/pt/cross-session-messaging), a mesma conexão carrega mensagens entre suas próprias sessões em máquinas diferentes e de suas [sessões na nuvem](/docs/pt/claude-code-on-the-web).

189* **Prompts que você envia no meio do turno**: quando você envia um prompt de um dispositivo conectado antes do turno atual terminar, Claude Code o coloca na fila e o mantém na transcrição do dispositivo depois que esse turno termina.185* **Diff de suas alterações**: quando o diretório da sessão está em um repositório git, o painel de diff de um dispositivo conectado mostra suas alterações. Em uma ramificação que tem commits à frente da ramificação padrão do repositório, o painel mostra as alterações desde que a ramificação se dividiu dela, incluindo suas edições não confirmadas. Na ramificação padrão em si, ou em uma ramificação que não está à frente dela, o painel mostra apenas suas alterações não confirmadas.

190* **Diff de suas alterações**: quando o diretório da sessão está em um repositório git, o painel de diff de um dispositivo conectado mostra suas alterações. O dispositivo solicita o diff pela conexão, e Claude Code o computa em sua máquina. Em um branch que tem commits à frente do branch padrão do repositório, o painel mostra as alterações desde que o branch divergiu dele, incluindo suas edições não confirmadas. No branch padrão em si, ou em um branch que não está à frente dele, o painel mostra apenas suas alterações não confirmadas. Antes da v2.1.247, Claude Code relatava o diff para dispositivos conectados apenas em sessões servidas por `claude remote-control`.186* **Modelo**: quando você escolhe um [modelo](/docs/pt/model-config) de um dispositivo conectado, Claude Code executa a sessão nesse modelo. Requer Claude Code v2.1.238 ou posterior. Um modelo que você escolhe do controle de modelo do dispositivo se aplica apenas à sessão atual. Quando você envia `/model <name>` do dispositivo para uma sessão interativa, Claude Code também define seu padrão para novas sessões.

191* **Modelo**: quando você escolhe um [modelo](/docs/pt/model-config) de um dispositivo conectado, Claude Code executa a sessão nesse modelo. O seletor `/model` do terminal, `/status` e `/config` mostram esse modelo. Requer Claude Code v2.1.238 ou posterior.187* **Nível de esforço**: quando você define o [nível de esforço](/docs/pt/model-config#adjust-effort-level) de um dispositivo conectado, com `/effort` ou o controle de esforço do dispositivo, Claude Code o aplica à sessão na sua máquina. Se você fixou um nível com `CLAUDE_CODE_EFFORT_LEVEL`, a sessão mantém esse nível, e Claude Code recusa uma escolha diferente do controle de esforço. Escolher um nível do controle de esforço requer Claude Code v2.1.234 ou posterior na sua máquina.

192 * Um modelo que você escolhe do controle de modelo do dispositivo se aplica apenas à sessão atual. Quando você envia `/model <name>` do dispositivo para uma sessão interativa, Claude Code também define seu padrão para novas sessões.

193 * Se você enviar um nome que Claude Code não reconheça, como um nome de exibição onde um ID de modelo é esperado, Claude Code [recusa a escolha](/docs/pt/errors#model-is-not-a-recognized-model-id) e a sessão mantém seu modelo atual. Antes da v2.1.260, Claude Code salvava uma escolha não reconhecida do controle de modelo do dispositivo, e sua próxima mensagem falhava.

194* **Nível de esforço**: quando você define o [nível de esforço](/docs/pt/model-config#adjust-effort-level) de um dispositivo conectado, com `/effort` ou o controle de esforço do dispositivo, Claude Code o aplica à sessão em sua máquina, e claude.ai/code mostra o nível que a sessão está usando. Se você fixou um nível com `CLAUDE_CODE_EFFORT_LEVEL`, a sessão mantém esse nível, e Claude Code recusa uma escolha diferente do controle de esforço. Escolher um nível do controle de esforço requer Claude Code v2.1.234 ou posterior em sua máquina.

195* **Reconectando após uma falha de conexão**: execute `/remote-control` para reconectar. Se a compactação reescreveu a conversa ou você alternou conversas com `/resume` enquanto isso, Claude Code arquiva a sessão do servidor que estava usando em vez de deixá-la na lista de sessões. Você ainda pode encontrá-la [filtrando por sessões arquivadas](/docs/pt/claude-code-on-the-web#archive-sessions). Alternar conversas enquanto um dispositivo ainda está conectado não arquiva a sessão.188* **Reconectando após uma falha de conexão**: execute `/remote-control` para reconectar. Se a compactação reescreveu a conversa ou você alternou conversas com `/resume` enquanto isso, Claude Code arquiva a sessão do servidor que estava usando em vez de deixá-la na lista de sessões. Você ainda pode encontrá-la [filtrando por sessões arquivadas](/docs/pt/claude-code-on-the-web#archive-sessions). Alternar conversas enquanto um dispositivo ainda está conectado não arquiva a sessão.

196 189 

197<h3 id="enable-remote-control-for-all-sessions">190<h3 id="enable-remote-control-for-all-sessions">

198 Ativar Remote Control para todas as sessões191 Ativar Remote Control para todas as sessões

199</h3>192</h3>

200 193 

201Remote Control só é ativado quando você executa explicitamente `claude remote-control`, `claude --remote-control` ou `/remote-control`, a menos que a conexão automática esteja ativada. Para ativar a conexão automática para cada sessão interativa, execute `/config` dentro do Claude Code e defina **Enable Remote Control for all sessions**. O botão de alternância tem três valores:194Remote Control só é ativado quando você executa explicitamente `claude remote-control`, `claude --remote-control` ou `/remote-control`, a menos que a conexão automática esteja ativada. Para ativar a conexão automática para cada sessão interativa, execute `/config` dentro de Claude Code e defina **Enable Remote Control for all sessions**. O alternador assume três valores:

202 195 

203* **`true`**: conectar automaticamente quando uma sessão interativa inicia.196* **`true`**: conecte automaticamente quando uma sessão interativa inicia.

204* **`false`**: desativar 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.197* **`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.

205* **`default`**: limpar sua escolha e seguir o padrão do administrador da sua organização se um estiver definido, caso contrário o padrão atual do Claude Code.198* **`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.

206 199 

207O mesmo botão de alternância aparece fora da CLI:200O mesmo alternador aparece fora da CLI:

208 201 

209* **Aplicativo Desktop**: **Settings > Claude Code > Enable remote control by default**.202* **Aplicativo Desktop**: **Settings > Claude Code > Enable remote control by default**.

210* **Extensão VS Code**: **Enable Remote Control for all sessions** na seção Configurações do [menu de comandos](/docs/pt/vs-code#use-the-prompt-box). Requer Claude Code v2.1.203 ou posterior.203* **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).

211 204 

212Para ativar a conexão automática a partir de um arquivo de configurações em vez disso, defina [`remoteControlAtStartup`](/docs/pt/settings-reference#remotecontrolatstartup) como `true` em seu usuário `~/.claude/settings.json` 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.205Para 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.

213 206 

214A conexão automática se conecta com sua própria conta claude.ai, portanto uma sessão que ela inicia aparece apenas nos seus próprios aplicativos Claude e não concede acesso a ninguém mais.207A conexão automática se conecta com sua própria conta claude.ai, portanto uma sessão que ela inicia aparece apenas nos seus próprios aplicativos Claude e não concede acesso a ninguém mais.

215 208 

216Com essa configuração ativada, cada processo interativo do Claude Code registra uma sessão remota. Se você executar várias instâncias, cada uma obtém sua própria sessão remota. Para executar várias sessões simultâneas a partir de um único processo, use o [modo servidor](#start-a-remote-control-session) em vez disso.209Com essa configuração ativada, cada processo interativo de Claude Code registra uma sessão remota. Se você executar várias instâncias, cada uma obtém sua própria sessão remota. Para executar várias sessões simultâneas a partir de um único processo, use [modo servidor](#start-a-remote-control-session) em vez disso.

217 210 

218<h3 id="resume-sessions-after-stopping-the-server">211<h3 id="resume-sessions-after-stopping-the-server">

219 Retomar sessões após parar o servidor212 Retomar sessões após parar o servidor

220</h3>213</h3>

221 214 

222Quando você para `claude remote-control` com Ctrl+C, as sessões que ele estava servindo param de responder do seu telefone ou navegador. Contanto que você não estivesse executando outro `claude remote-control` no mesmo diretório e não iniciou este com `--no-create-session-in-dir`, Claude Code não as arquiva. Para trazê-las de volta, execute um destes comandos no mesmo diretório:215Quando você para `claude remote-control` com Ctrl+C, as sessões que ele estava servindo param de responder do seu telefone ou navegador. Contanto que você não estivesse executando outro `claude remote-control` no mesmo diretório e não tenha iniciado este com `--no-create-session-in-dir`, Claude Code não as arquiva. Para recuperá-las, execute um destes comandos no mesmo diretório:

223 216 

224* **`claude remote-control`**: traz de volta cada sessão que o servidor estava servindo.217* **`claude remote-control`**: recupera cada sessão que o servidor estava servindo.

225* **`claude remote-control --continue`**: traz de volta apenas a sessão que o servidor iniciou, e sai quando essa sessão termina. Se este diretório não tem registro, Claude Code usa o mais recente de outros git worktrees deste repositório.218* **`claude remote-control --continue`**: recupera apenas a sessão que o servidor iniciou, e sai quando essa sessão termina. Se este diretório não tem registro, Claude Code usa a mais recente dos outros git worktrees deste repositório.

226* **`claude remote-control --session-id <id>`**: traz de volta apenas a sessão cujo ID você passa, e sai quando essa sessão termina. O ID é a parte da URL da sessão em claude.ai/code entre `/code/` e qualquer `?`.219* **`claude remote-control --session-id <id>`**: recupera apenas a sessão cujo ID você passa, e sai quando essa sessão termina. O ID é a parte da URL da sessão em claude.ai/code entre `/code/` e qualquer `?`.

227 220 

228Estes comandos funcionam por cerca de quatro horas após o servidor parar. Depois disso, execute `claude remote-control` para iniciar uma nova sessão. Se você arquivou uma sessão enquanto isso, `--continue` e `--session-id` a desarchivam em Claude Code v2.1.228 ou posterior.221Esses comandos funcionam por cerca de quatro horas após o servidor parar. Depois disso, execute `claude remote-control` para iniciar uma nova sessão. Se você arquivou uma sessão enquanto isso, `--continue` e `--session-id` a desarchivam no Claude Code v2.1.228 ou posterior.

229 222 

230Para trazer de volta uma sessão que você iniciou com `claude --remote-control` ou `/remote-control`, retome a conversa com `claude --continue` ou `claude --resume`. Se Claude Code se reconecta, e a qual sessão, depende do [registro de reconexão](#resume-outcomes) da conversa.223Para recuperar uma sessão que você iniciou com `claude --remote-control` ou `/remote-control`, retome a conversa com `claude --continue` ou `claude --resume`. Se Remote Control não se reconectar, consulte [Não foi possível reconectar à sua sessão de Remote Control](#couldnt-reconnect-to-your-remote-control-session).

231 224 

232Se você retomar a conversa em um segundo terminal enquanto o primeiro ainda tem Remote Control ativado, Claude Code imprime um aviso no segundo terminal e deixa Remote Control desativado lá em vez de tirar a sessão do primeiro. Enquanto Remote Control fica desativado lá, Claude naquele terminal não vê [suas sessões em outras máquinas](/docs/pt/cross-session-messaging#see-which-sessions-claude-can-reach), e elas não conseguem alcançá-lo. Execute `/remote-control` no segundo terminal para mover Remote Control para ele.225Se você retomar a conversa em um segundo terminal enquanto o primeiro ainda tem Remote Control ativado, Claude Code imprime um aviso `Remote Control not started here` no segundo terminal e deixa Remote Control desativado lá em vez de tirar a sessão do primeiro. Execute `/remote-control` no segundo terminal para mover Remote Control para ele.

233 226 

234Quando você retoma uma conversa no Claude Desktop ou em uma extensão IDE que tinha Remote Control ativado, Claude Code a reanexa à sessão claude.ai existente em vez de adicionar uma nova à lista de sessões.227Quando você retoma uma conversa no Claude Desktop ou em uma extensão IDE que tinha Remote Control ativado, Claude Code o reanexa à sessão claude.ai existente em vez de adicionar uma nova à lista de sessões.

235 228 

236<h2 id="connection-and-security">229<h2 id="connection-and-security">

237 Conexão e segurança230 Conexão e segurança


239 232 

240Sua sessão local do Claude Code faz apenas solicitações HTTPS de saída e nunca abre portas de entrada na sua máquina. Quando você inicia Remote Control, ele se registra na API Anthropic e faz polling para trabalho. Quando você conecta de outro dispositivo, o servidor roteia mensagens entre o cliente web ou móvel e sua sessão local através de uma conexão de streaming.233Sua sessão local do Claude Code faz apenas solicitações HTTPS de saída e nunca abre portas de entrada na sua máquina. Quando você inicia Remote Control, ele se registra na API Anthropic e faz polling para trabalho. Quando você conecta de outro dispositivo, o servidor roteia mensagens entre o cliente web ou móvel e sua sessão local através de uma conexão de streaming.

241 234 

242Todo o tráfego viaja através da API Anthropic sobre TLS, o mesmo transporte de segurança que qualquer sessão do Claude Code. A conexão usa múltiplas credenciais de curta duração, cada uma com escopo para um único propósito e expirando independentemente. Quando a credencial de registro de um servidor `claude remote-control` expira, o servidor se registra novamente na API Anthropic e continua servindo suas sessões.235Todo o tráfego viaja através da API Anthropic sobre TLS, o mesmo transporte de segurança que qualquer sessão do Claude Code. A conexão usa múltiplas credenciais de curta duração, cada uma com escopo para um único propósito e expirando independentemente.

243 236 

244Enquanto Remote Control está conectado, a transcrição da sessão, incluindo suas mensagens, respostas do Claude e atividade de ferramentas, é armazenada nos servidores Anthropic. A transcrição armazenada mantém a conversa sincronizada em seus dispositivos e permite que a sessão se reconecte após uma queda de rede. A execução e o acesso ao sistema de arquivos permanecem na sua máquina, e as transcrições armazenadas são retidas sob a política de [Uso de dados](/docs/pt/data-usage).237Enquanto Remote Control está conectado, a transcrição da sessão, incluindo suas mensagens, respostas do Claude e atividade de ferramentas, é armazenada nos servidores Anthropic. A transcrição armazenada mantém a conversa sincronizada em seus dispositivos e permite que a sessão se reconecte após uma queda de rede. A execução e o acesso ao sistema de arquivos permanecem na sua máquina, e as transcrições armazenadas são retidas sob a política de [Uso de dados](/docs/pt/data-usage).

245 238 


309Para um dispositivo perdido ou roubado, o membro o remove desta página. Se o membro não conseguir fazer login, um administrador pode usar **Sign out everywhere** no console de administrador para revogar cada sessão e dispositivo inscrito para esse membro, após o qual o membro inscreve novamente os dispositivos que ainda possui.302Para um dispositivo perdido ou roubado, o membro o remove desta página. Se o membro não conseguir fazer login, um administrador pode usar **Sign out everywhere** no console de administrador para revogar cada sessão e dispositivo inscrito para esse membro, após o qual o membro inscreve novamente os dispositivos que ainda possui.

310 303 

311<h2 id="remote-control-vs-cloud-sessions">304<h2 id="remote-control-vs-cloud-sessions">

312 Remote Control vs sessões na nuvem305 Remote Control vs sessões em nuvem

313</h2>306</h2>

314 307 

315Remote Control e [sessões na nuvem](/docs/pt/claude-code-on-the-web) usam a interface claude.ai/code. A diferença fundamental é onde a sessão é executada: Remote Control é executado na sua máquina, portanto seus MCP servers locais, ferramentas e configuração do projeto permanecem disponíveis. Uma sessão na nuvem é executada na infraestrutura de nuvem, gerenciada pela Anthropic por padrão.308Remote Control e [sessões em nuvem](/docs/pt/claude-code-on-the-web) usam a interface claude.ai/code. A diferença principal é onde a sessão é executada: Remote Control executa na sua máquina, portanto seus servidores MCP locais, ferramentas e configuração de projeto permanecem disponíveis. Uma sessão em nuvem é executada na infraestrutura em nuvem, gerenciada pela Anthropic por padrão.

309 

310Use Remote Control quando você estiver no meio de um trabalho local e quiser continuar de outro dispositivo. Use uma sessão em nuvem quando quiser iniciar uma tarefa sem nenhuma configuração local, trabalhar em um repositório que você não tem clonado ou executar várias tarefas em paralelo. Um [projeto](/docs/pt/claude-projects) combina os dois: seus threads são executados na nuvem e ele usa Remote Control para [executar um thread no seu computador](/docs/pt/claude-projects#run-a-thread-on-your-own-computer) quando você solicita um lá.

311 

312Claude Code oferece várias maneiras de trabalhar quando você não está no seu terminal. Elas diferem no que dispara o trabalho, onde Claude é executado e quanto você precisa configurar.

316 313 

317Use Remote Control quando você está no meio do trabalho local e deseja continuar de outro dispositivo. Use uma sessão na nuvem quando você deseja iniciar uma tarefa sem nenhuma configuração local, trabalhar em um repositório que você não tem clonado ou executar várias tarefas em paralelo.314| | Gatilho | Claude é executado em | Configuração | Melhor para |

315| :- | :- | :- | :- | :- |

316| [Dispatch](/docs/pt/desktop#sessions-from-dispatch) | Envie uma tarefa a partir do aplicativo móvel Claude | Sua máquina (Desktop) | [Emparelhe o aplicativo móvel com Desktop](https://support.claude.com/en/articles/13947068) | Delegar trabalho enquanto você está ausente, configuração mínima |

317| [Remote Control](/docs/pt/remote-control) | Dirija uma sessão em execução a partir de [claude.ai/code](https://claude.ai/code) ou do aplicativo móvel Claude | Sua máquina (CLI, Desktop ou VS Code) | Execute [`claude remote-control` ou `/remote-control`](/docs/pt/remote-control#start-a-remote-control-session) | Orientar trabalho em andamento de outro dispositivo |

318| [Channels](/docs/pt/channels) | Envie eventos de um aplicativo de chat como Telegram ou Discord, ou seu próprio servidor | Sua máquina (CLI) | [Instale um plugin de canal](/docs/pt/channels#quickstart) ou [crie o seu próprio](/docs/pt/channels-reference) | Reagir a eventos externos como falhas de CI ou mensagens de chat |

319| [Slack](/docs/pt/slack) | Mencione `@Claude` em um canal de equipe | Nuvem Anthropic | [Instale o aplicativo Slack](/docs/pt/slack#setting-up-claude-code-in-slack) com [Claude Code na web](/docs/pt/claude-code-on-the-web) ativado | PRs e revisões do chat da equipe |

320| [Self-hosted environments](/docs/pt/self-hosted-environments) | Inicie uma [sessão na nuvem](/docs/pt/claude-code-on-the-web) e escolha o ambiente da sua organização | Infraestrutura da sua organização | [Implante runners](/docs/pt/self-hosted-environments-quickstart), em planos Team e Enterprise | Sessões na nuvem que devem ser executadas dentro da sua rede |

321| [Scheduled tasks](/docs/pt/scheduled-tasks) | Defina um cronograma | [CLI](/docs/pt/scheduled-tasks), [Desktop](/docs/pt/desktop-scheduled-tasks), ou [nuvem](/docs/pt/routines) | Escolha uma frequência | Automação recorrente como revisões diárias |

318 322 

319<h2 id="mobile-push-notifications">323<h2 id="mobile-push-notifications">

320 Notificações push móveis324 Notificações push móveis

321</h2>325</h2>

322 326 

323Quando Remote Control está ativo, Claude pode enviar notificações push para seu telefone.327Quando o Remote Control está ativo, Claude pode enviar notificações push para seu telefone.

324 328 

325Claude decide quando fazer push. Normalmente envia uma quando uma tarefa de longa duração termina ou quando precisa de uma decisão sua para continuar. Você também pode solicitar um push em seu prompt, por exemplo `notify me when the tests finish`. Além dos dois toggles on/off abaixo, não há configuração por evento.329Claude decide quando fazer push. Normalmente envia uma quando uma tarefa de longa duração termina ou quando precisa de uma decisão sua para continuar. Você também pode solicitar um push em seu prompt, por exemplo `notify me when the tests finish`. Além dos dois toggles on/off abaixo, não há configuração por evento.

326 330 

327Para configurar notificações push móveis:331Para configurar notificações push móveis:

328 332 

329<Steps>333<Steps>

330 <Step title="Instale o aplicativo Claude para dispositivos móveis">334 <Step title="Instale o aplicativo móvel Claude">

331 Baixe o aplicativo Claude para [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) ou [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude).335 Baixe o aplicativo Claude para [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) ou [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude).

332 </Step>336 </Step>

333 337 

334 <Step title="Faça login com sua conta do Claude Code">338 <Step title="Faça login com sua conta Claude Code">

335 Use a mesma conta e organização que você usa para Claude Code no terminal.339 Use a mesma conta e organização que você usa para Claude Code no terminal.

336 </Step>340 </Step>

337 341 


346 350 

347Se as notificações não chegarem:351Se as notificações não chegarem:

348 352 

349* Se `/config` mostrar **No mobile registered**, abra o aplicativo Claude no seu telefone para que ele possa atualizar seu token de push. O aviso desaparece na próxima vez que Remote Control se conectar.353* Se `/config` mostrar **No mobile registered**, abra o aplicativo Claude no seu telefone para que ele possa atualizar seu token de push. O aviso é limpo na próxima vez que Remote Control se conectar.

350* No iOS, os modos Focus e resumos de notificações podem suprimir ou atrasar pushes. Verifique Configurações → Notificações → Claude.354* No iOS, os modos Focus e resumos de notificações podem suprimir ou atrasar pushes. Verifique Settings → Notifications → Claude.

351* No Android, a otimização agressiva de bateria pode atrasar a entrega. Isente o aplicativo Claude da otimização de bateria nas configurações do sistema.355* No Android, a otimização agressiva de bateria pode atrasar a entrega. Isente o aplicativo Claude da otimização de bateria nas configurações do sistema.

352 356 

353Claude Code pula notificações push móveis enquanto você está digitando ou focado no terminal conectado. A partir da v2.1.181, você pode definir [`CLAUDE_CLIENT_PRESENCE_FILE`](/docs/pt/env-vars) para um caminho de arquivo marcador para estender isso para qualquer momento em que você esteja na máquina, mesmo em outra janela: notificações são puladas enquanto o arquivo existe. Configure um ouvinte de bloqueio de tela ou ferramenta similar para criar o arquivo quando sua tela desbloqueia e deletá-lo quando sua tela bloqueia.357Claude Code pula notificações push móveis enquanto você está digitando ou focado no terminal conectado. Para estender isso para qualquer momento em que você esteja na máquina, mesmo em outra janela, defina [`CLAUDE_CLIENT_PRESENCE_FILE`](/docs/pt/env-vars) para um caminho de arquivo marcador: as notificações são puladas enquanto o arquivo existe. Configure um listener de bloqueio de tela ou ferramenta similar para criar o arquivo quando sua tela é desbloqueada e excluí-lo quando sua tela é bloqueada.

354 358 

355<h2 id="limitations">359<h2 id="limitations">

356 Limitações360 Limitações

357</h2>361</h2>

358 362 

359* **Uma sessão remota por processo interativo**: fora do modo servidor, cada instância do Claude Code suporta uma sessão remota por vez. Use o [modo servidor](#start-a-remote-control-session) para executar várias sessões simultâneas a partir de um único processo.363* **Uma sessão remota por processo interativo**: fora do modo servidor, cada instância do Claude Code suporta uma sessão remota por vez. Use [modo servidor](#start-a-remote-control-session) para executar múltiplas sessões simultâneas a partir de um único processo.

360* **O processo local deve continuar em execução**: Remote Control é executado como um processo local. Se você fechar o terminal, sair do VS Code ou parar o processo `claude`, a sessão fica offline até que você a [retome](#resume-sessions-after-stopping-the-server). A menos que Claude esteja no meio de uma tarefa, claude.ai e o aplicativo Claude mostram a sessão como offline segundos após o processo sair. Para manter uma sessão em execução em uma máquina remota após desconectar do SSH, inicie-a dentro de `tmux` ou `screen`.364* **O processo local deve continuar em execução**: Remote Control é executado como um processo local. Se você fechar o terminal, sair do aplicativo Desktop ou VS Code, ou de outra forma parar o processo `claude`, a sessão fica offline até que você [a traga de volta](#resume-sessions-after-stopping-the-server). Para manter uma sessão em execução em uma máquina remota após desconectar do SSH, inicie-a dentro de `tmux` ou `screen`.

361* **Sessões travadas no modo servidor**: se uma sessão servida por `claude remote-control` travar, envie uma mensagem para ela a partir de um dispositivo conectado. Claude Code a serve novamente. Você não precisa reiniciar o servidor. Requer Claude Code v2.1.238 ou posterior.365* **Sessões travadas em modo servidor**: se uma sessão servida por `claude remote-control` travar, envie uma mensagem para ela a partir de um dispositivo conectado. Claude Code a serve novamente. Você não precisa reiniciar o servidor. Requer Claude Code v2.1.238 ou posterior.

362* **Recusas HTTP 403 em uma sessão conectada**: uma vez que uma sessão interativa está conectada, Claude Code continua tentando por até três minutos quando algo entre sua máquina e os servidores da Anthropic responde com HTTP 403, o que pode acontecer após uma mudança de VPN ou rede. Se as recusas durarem mais tempo, Claude Code desconecta e o motivo nomeia o que recusou: uma borda de rede ou um proxy, VPN ou firewall em sua própria rede.366* **Recusas HTTP 403 em uma sessão conectada**: uma vez que uma sessão interativa está conectada, Claude Code continua tentando novamente por até três minutos quando algo entre sua máquina e os servidores da Anthropic responde com HTTP 403, o que pode acontecer após uma mudança de VPN ou rede. Se as recusas durarem mais tempo, Claude Code se desconecta e o motivo nomeia o que recusou: uma borda de rede, ou um proxy, VPN ou firewall em sua própria rede.

363* **Interrupção de rede estendida**: se sua máquina estiver ligada mas não conseguir alcançar a rede, o que você faz a seguir depende do modo:367* **Interrupção de rede estendida**: se sua máquina estiver ligada mas não conseguir alcançar a rede, o que você faz a seguir depende do modo:

364 * **Modo servidor**: Claude Code desiste após aproximadamente 10 minutos e o processo `claude remote-control` sai. Execute `claude remote-control` novamente para iniciar uma nova sessão.368 * **Modo servidor**: Claude Code desiste após aproximadamente 10 minutos e o processo `claude remote-control` sai. Execute `claude remote-control` novamente para iniciar uma nova sessão.

365 * **Sessão interativa**: continue trabalhando localmente. Claude Code tenta novamente enquanto a interrupção durar e se reconecta automaticamente quando a rede retorna.369 * **Sessão interativa**: continue trabalhando localmente. Claude Code tenta novamente enquanto a interrupção durar e se reconecta automaticamente quando a rede retorna.

366* **Falhas de heartbeat de presença**: se uma sessão interativa desconectar com `could not reach the Remote Control server for about 30 minutes`, execute `/remote-control` para se reconectar. Claude Code mostra esta mensagem apenas quando os heartbeats de presença da sessão falharam enquanto o resto da conexão permaneceu ativo; ele registra novamente a sessão por aproximadamente 30 minutos antes de desconectar.370* **Falhas de heartbeats de presença**: se uma sessão interativa se desconectar com `could not reach the Remote Control server for about 30 minutes`, execute `/remote-control` para se reconectar.

367* **Diálogos encaminhados expiram**: Claude Code mantém prompts de permissão e perguntas `AskUserQuestion` abertas até que você as responda. Quando Claude Code encaminha outro tipo de diálogo para a sessão remota, como o prompt de escolha de modelo mostrado após uma recusa de segurança, ele aguarda cinco minutos por padrão, depois fecha o diálogo e continua com o padrão sem ação do diálogo. Defina [`dialogExpiry`](/docs/pt/settings-reference#dialogexpiry) para ajustar ou desabilitar o prazo. Requer Claude Code v2.1.224 ou posterior.371* **Diálogos encaminhados expiram**: Claude Code mantém prompts de permissão e perguntas `AskUserQuestion` abertas até que você as responda. Quando Claude Code encaminha outro tipo de diálogo para a sessão remota, como o prompt de escolha de modelo mostrado após uma recusa de segurança, ele aguarda cinco minutos por padrão, depois fecha o diálogo e continua com o padrão sem ação do diálogo. Defina [`dialogExpiry`](/docs/pt/settings-reference#dialogexpiry) para ajustar ou desabilitar o prazo. Requer Claude Code v2.1.224 ou posterior.

368* **O prompt de consentimento de créditos de uso Fable não é encaminhado**: Claude Code mostra o prompt de consentimento de créditos de uso [Fable](/docs/pt/model-config#fable-and-usage-credits) no meio da sessão apenas onde a sessão é executada, não no seu dispositivo. Quando a sessão é executada em um terminal e ninguém lá responde antes de Claude Code fechar o prompt, a volta termina sem enviar a solicitação; veja [O prompt para confirmar não foi respondido](/docs/pt/errors#the-prompt-to-confirm-went-unanswered).372* **O prompt de consentimento de créditos de uso do Fable não é encaminhado**: Claude Code mostra o prompt de consentimento de créditos de uso do [Fable](/docs/pt/model-config#fable-and-usage-credits) no meio da sessão apenas onde a sessão é executada, não em seu dispositivo. Quando a sessão é executada em um terminal e ninguém lá responde antes de Claude Code fechar o prompt, a vez termina sem enviar a solicitação; veja [O prompt para confirmar não foi respondido](/docs/pt/errors#the-prompt-to-confirm-went-unanswered).

369* **Alguns comandos são apenas locais**: comandos que funcionam apenas na interface do terminal, como `/plugin` ou `/resume`, funcionam apenas a partir da CLI local, independentemente de você passar um argumento ou não. Os seguintes funcionam a partir de dispositivos móveis e web:373* **Alguns comandos são apenas locais**: comandos que só são executados na interface do terminal, como `/plugin` ou `/resume`, funcionam apenas a partir da CLI local, independentemente de você passar um argumento ou não. Os seguintes funcionam em dispositivos móveis e web:

370 * Comandos de saída de texto: `/compact`, `/clear`, `/context`, `/usage`, `/exit`, `/usage-credits`, `/recap` e `/reload-plugins`. `/usage-credits` imprime a URL de faturamento em vez de abrir um navegador. `/reload-plugins` funciona apenas quando a sessão é executada em um terminal interativo; uma sessão sem um recusa.374 * Comandos de saída de texto: `/compact`, `/clear`, `/context`, `/usage`, `/exit`, `/usage-credits`, `/recap` e `/reload-plugins`. `/usage-credits` imprime a URL de faturamento em vez de abrir um navegador. `/reload-plugins` funciona apenas quando a sessão é executada em um terminal interativo; uma sessão sem um a recusa.

371 * `/model`, `/effort`, `/fast`, `/color` e `/rename`: passe o valor como um argumento, por exemplo `/model sonnet` ou `/effort high`. A partir de dispositivos móveis e web, `/model` e `/effort` recebem o argumento no lugar do seletor do terminal ou controle deslizante.375 * `/model`, `/effort`, `/fast`, `/color` e `/rename`: passe o valor como um argumento, por exemplo `/model sonnet` ou `/effort high`. De dispositivos móveis e web, `/model` e `/effort` usam o argumento no lugar do seletor de terminal ou controle deslizante.

372 * `/mcp`: a partir do aplicativo móvel, retorna um resumo de texto do status do servidor em vez de abrir o seletor. Na web, `/mcp` sozinho abre um diretório de [conectores claude.ai](/docs/pt/mcp#use-mcp-servers-from-claude-ai) em vez de retornar o resumo. Os [subcomandos](/docs/pt/commands#all-commands) `reconnect`, `enable` e `disable` funcionam em ambos. Diferentemente da CLI local, `/mcp reconnect` sem um nome de servidor reconecta todos os servidores que falharam ou precisam de autenticação.376 * `/mcp`: a partir do aplicativo móvel, retorna um resumo de texto do status do servidor em vez de abrir o seletor. Na web, `/mcp` por si só abre um diretório de [conectores claude.ai](/docs/pt/mcp#use-mcp-servers-from-claude-ai) em vez de retornar o resumo. Os [subcomandos](/docs/pt/commands#all-commands) `reconnect`, `enable` e `disable` funcionam em ambos. Ao contrário da CLI local, `/mcp reconnect` sem um nome de servidor reconecta todos os servidores que falharam ou precisam de autenticação.

373 * `/config`: a partir do aplicativo móvel, passe `key=value` para definir uma configuração, ou execute sem argumentos para listar as chaves que você pode definir. Na web, `/config` abre a seção Claude Code das suas configurações e ignora o texto após o comando.377 * `/config`: a partir do aplicativo móvel, passe `key=value` para definir uma configuração, ou execute-o sem argumento para listar as chaves que você pode definir. Na web, `/config` abre a seção Claude Code de suas configurações, e ignora o texto após o comando.

374 * No Team e Enterprise, `/usage-credits` a partir de dispositivos móveis ou web não envia uma [solicitação de créditos de uso para seu administrador](/docs/pt/costs#add-usage-credits-to-your-subscription). O envio requer uma confirmação que aparece apenas na CLI interativa, então o comando diz para você executá-lo lá. Antes da v2.1.211, o formulário de texto enviava a solicitação sem confirmação.378 * Em Team e Enterprise, `/usage-credits` de dispositivos móveis ou web não envia uma [solicitação de créditos de uso para seu administrador](/docs/pt/costs#add-usage-credits-to-your-subscription). O envio requer uma confirmação que aparece apenas na CLI interativa, então o comando diz para você executá-lo lá.

375 * `/autocompact`, a partir da v2.1.221: passe o tamanho da janela como um argumento, por exemplo `/autocompact 500k`. Sem argumento, ele imprime o tamanho da janela atual como texto em vez de abrir o diálogo que o comando mostra em uma sessão de terminal.379 * `/autocompact`, a partir de v2.1.221: passe o tamanho da janela como um argumento, por exemplo `/autocompact 500k`. Sem argumento, ele imprime o tamanho da janela atual como texto em vez de abrir o diálogo que o comando mostra em uma sessão de terminal.

376 * `/advisor`, a partir da v2.1.260: passe o modelo como um argumento, por exemplo `/advisor opus`, ou passe `off` para desativar o advisor. Ambas as formas se aplicam apenas à sessão atual e deixam seu padrão salvo inalterado. Sem argumento, ele imprime o advisor atual como texto em vez de abrir o seletor.380 * `/advisor`, a partir de v2.1.260: passe o modelo como um argumento, por exemplo `/advisor opus`, ou passe `off` para desativar o advisor. Ambas as formas se aplicam apenas à sessão atual e deixam seu padrão salvo inalterado. Sem argumento, ele imprime o advisor atual como texto em vez de abrir o seletor.

377 * `/output-style`, a partir da v2.1.269: passe o nome do estilo como um argumento, por exemplo `/output-style concise`, ou execute sem argumento para listar os estilos. A partir de dispositivos móveis e web, você pode listar e selecionar apenas [estilos integrados](/docs/pt/output-styles#built-in-output-styles). Para usar um [estilo personalizado](/docs/pt/output-styles#create-a-custom-output-style), selecione-o na sessão em si.381 * `/output-style`, a partir de v2.1.269: passe o nome do estilo como um argumento, por exemplo `/output-style concise`, ou execute-o sem argumento para listar os estilos. De dispositivos móveis e web, você pode listar e selecionar apenas [estilos integrados](/docs/pt/output-styles#built-in-output-styles). Para usar um [estilo personalizado](/docs/pt/output-styles#create-a-custom-output-style), selecione-o na sessão em si.

382 * `/focus`, a partir de v2.1.281: passe `on` ou `off` como um argumento, por exemplo `/focus on`, ou execute-o sem argumento para alternar a [visualização de foco](/docs/pt/commands#all-commands). Ambas as formas se aplicam apenas à sessão atual e deixam sua seleção salva inalterada.

378 383 

379<h2 id="troubleshooting">384<h2 id="troubleshooting">

380 Solução de problemas385 Troubleshooting

381</h2>386</h2>

382 387 

383<h3 id="remote-control-requires-a-claude-ai-subscription">388<h3 id="remote-control-requires-a-claude-ai-subscription">

384 "Remote Control requires a claude.ai subscription"389 "Remote Control requires a claude.ai subscription"

385</h3>390</h3>

386 391 

387Você não está autenticado com uma conta claude.ai, ou outra credencial está tendo precedência sobre seu login. A mensagem assume uma destas formas:392Você não está conectado com uma conta claude.ai, ou outra credencial está tendo precedência sobre seu login. A mensagem assume uma destas formas:

388 393 

389* Desconectado, de `/remote-control` ou `--remote-control`: `Remote Control requires a claude.ai subscription.` ou `/remote-control requires a claude.ai subscription.`394* Desconectado, de `/remote-control` ou `--remote-control`: `Remote Control requires a claude.ai subscription.` ou `/remote-control requires a claude.ai subscription.`

390* Desconectado, de `claude remote-control`: `You must be logged in to use Remote Control. Remote Control is only available with claude.ai subscriptions.`395* Desconectado, de `claude remote-control`: `You must be logged in to use Remote Control. Remote Control is only available with claude.ai subscriptions.`

391* Autenticado, mas uma chave de API ou token está em uso: `Remote Control requires claude.ai subscription auth.` seguido pela credencial em uso, como `ANTHROPIC_API_KEY is set, so this session is using API-key auth`. Uma configuração `apiKeyHelper` e `ANTHROPIC_AUTH_TOKEN` são nomeadas da mesma forma.396* Conectado, mas uma chave de API ou token está em uso: `Remote Control requires claude.ai subscription auth.` seguido pela credencial em uso, como `ANTHROPIC_API_KEY is set, so this session is using API-key auth`. Uma configuração `apiKeyHelper` e `ANTHROPIC_AUTH_TOKEN` são nomeadas da mesma forma.

392 397 

393Execute `claude auth login` e escolha a opção claude.ai. Se a mensagem nomear `ANTHROPIC_API_KEY` ou `ANTHROPIC_AUTH_TOKEN`, remova-a onde quer que esteja definida: seu ambiente de shell ou o bloco `env` de um [arquivo de configurações](/docs/pt/settings-reference#env). Se nomear `apiKeyHelper`, remova essa configuração.398Execute `claude auth login` e escolha a opção claude.ai. Se a mensagem nomear `ANTHROPIC_API_KEY` ou `ANTHROPIC_AUTH_TOKEN`, remova-a onde quer que esteja definida: seu ambiente de shell ou o bloco `env` de um [arquivo de configurações](/docs/pt/settings-reference#env). Se nomear `apiKeyHelper`, remova essa configuração.

394 399 

395Antes da v2.1.206, executar `/remote-control` enquanto desconectado relatava `Unknown command: /remote-control` em vez desta mensagem.

396 

397<h3 id="remote-control-requires-a-full-scope-login-token">400<h3 id="remote-control-requires-a-full-scope-login-token">

398 "Remote Control requires a full-scope login token"401 "Remote Control requires a full-scope login token"

399</h3>402</h3>

400 403 

401Você está autenticado com um token de longa duração de `claude setup-token` ou da variável de ambiente `CLAUDE_CODE_OAUTH_TOKEN`. Esses tokens podem apenas fazer solicitações de modelo, então não podem estabelecer sessões de Remote Control. Execute `claude auth login` para autenticar com um token de sessão de escopo completo em vez disso.404Você está autenticado com um token de longa duração de `claude setup-token` ou da variável de ambiente `CLAUDE_CODE_OAUTH_TOKEN`. Esses tokens podem apenas fazer solicitações de modelo, então não conseguem estabelecer sessões de Remote Control. Execute `claude auth login` para autenticar com um token de sessão de escopo completo em vez disso.

402 405 

403<h3 id="unable-to-determine-your-organization-for-remote-control-eligibility">406<h3 id="unable-to-determine-your-organization-for-remote-control-eligibility">

404 "Unable to determine your organization for Remote Control eligibility"407 "Unable to determine your organization for Remote Control eligibility"

405</h3>408</h3>

406 409 

407Suas informações de conta em cache estão desatualizadas ou incompletas. Execute `claude auth login` para atualizá-las.410Suas informações de conta em cache estão obsoletas ou incompletas. Execute `claude auth login` para atualizá-las.

408 411 

409<h3 id="remote-control-isn’t-enabled-for-this-account">412<h3 id="remote-control-isn’t-enabled-for-this-account">

410 "Remote Control isn't enabled for this account"413 "Remote Control isn't enabled for this account"

411</h3>414</h3>

412 415 

413Claude Code verificou a disponibilidade de Remote Control para a conta com a qual você está autenticado e a verificação retornou desativada. A causa usual é direitos em cache que estão desatualizados após uma mudança de plano. Execute `claude auth logout` e depois `claude auth login` para atualizá-los, e atualize Claude Code se você estiver em uma versão antiga.416Claude Code verificou a disponibilidade de Remote Control para a conta com a qual você está conectado e a verificação retornou desativada. A causa usual é direitos em cache que estão desatualizados após uma mudança de plano. Execute `claude auth logout` e depois `claude auth login` para atualizá-los, e atualize Claude Code se você estiver em uma versão antiga.

414 417 

415Execute `claude doctor` para ver qual verificação de elegibilidade individual falhou. Conflitos de variáveis de ambiente, verificações inacessíveis e a configuração de Remote Control da sua organização cada um produzem sua própria mensagem, então este erro significa que a verificação no nível da conta em si.418Execute `claude doctor` para ver qual verificação de elegibilidade individual falhou. Conflitos de variáveis de ambiente, verificações inacessíveis e a configuração de Remote Control da sua organização cada um produzem sua própria mensagem, então esse erro significa que a verificação no nível da conta em si.

416 419 

417Antes da v2.1.239, esta mensagem lia "Remote Control is not yet enabled for your account". Antes da v2.1.154, uma variável que desativa a avaliação de sinalizador de recurso, como `DISABLE_TELEMETRY` ou `DO_NOT_TRACK`, também produzia esta mensagem; a entrada "Remote Control requires feature-flag evaluation" abaixo cobre essa configuração.420Antes da v2.1.239, essa mensagem lia "Remote Control is not yet enabled for your account".

418 421 

419<h3 id="couldn’t-verify-remote-control-eligibility">422<h3 id="couldn’t-verify-remote-control-eligibility">

420 "Couldn't verify Remote Control eligibility"423 "Couldn't verify Remote Control eligibility"

421</h3>424</h3>

422 425 

423Claude Code não conseguiu alcançar o serviço de sinalizador de recurso para verificar se Remote Control está habilitado para sua conta, normalmente porque você está offline ou um proxy está bloqueando a solicitação. Tente novamente quando tiver acesso à rede, ou execute `claude doctor` para obter detalhes. A mensagem relacionada "Couldn't verify your organization's Remote Control policy" significa que Claude Code não conseguiu ler essa política, e tem a mesma solução. Ambas as mensagens foram adicionadas na v2.1.178.426Claude Code não conseguiu alcançar o serviço de sinalizador de recurso para verificar se Remote Control está habilitado para sua conta, normalmente porque você está offline ou um proxy está bloqueando a solicitação. Tente novamente assim que tiver acesso à rede, ou execute `claude doctor` para obter detalhes. A mensagem relacionada "Couldn't verify your organization's Remote Control policy" significa que Claude Code encontrou um erro ao ler essa política, e tem a mesma solução.

424 427 

425<h3 id="remote-control-requires-feature-flag-evaluation">428<h3 id="remote-control-requires-feature-flag-evaluation">

426 "Remote Control requires feature-flag evaluation"429 "Remote Control requires feature-flag evaluation"

427</h3>430</h3>

428 431 

429Uma destas variáveis está definida: [`DISABLE_TELEMETRY`, `DO_NOT_TRACK`, `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, ou `DISABLE_GROWTHBOOK`](/docs/pt/env-vars). Cada uma delas desativa a avaliação de sinalizador de recurso da qual a disponibilidade de Remote Control depende, e a mensagem completa nomeia a variável que Claude Code encontrou. Desative essa variável onde quer que esteja definida, em seu ambiente de shell ou no bloco `env` de um [arquivo `settings.json`](/docs/pt/settings-reference#all-settings). Em versões anteriores a 2.1.154, a mesma configuração produz "Remote Control is not yet enabled for your account" em vez disso.432Uma [variável de ambiente](/docs/pt/env-vars#features-that-need-feature-flag-fetching) que desativa a avaliação de sinalizador de recurso está definida, e a mensagem completa nomeia a variável que Claude Code encontrou. Em versões anteriores a 2.1.154, a mesma configuração produz "Remote Control is not yet enabled for your account" em vez disso. O que fazer depende da variável que a mensagem nomeia:

433 

434* **`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` ou `DISABLE_GROWTHBOOK`**: desdefina a variável onde quer que esteja definida, em seu ambiente de shell ou no bloco `env` de um arquivo [`settings.json`](/docs/pt/settings-reference#all-settings).

435* **`DISABLE_TELEMETRY` ou `DO_NOT_TRACK`**: em um plano Pro, Max, Team ou Enterprise com `DISABLE_GROWTHBOOK` desativado, essas variáveis deixam Remote Control disponível a menos que sua organização exija [Trusted Devices](#trusted-devices). Se exigir, desdefina a variável onde quer que esteja definida para usar Remote Control. Da v2.1.154 até v2.1.282, qualquer variável produzia essa mensagem, então atualize Claude Code para v2.1.283 ou posterior.

430 436 

431<h3 id="remote-control-is-only-available-when-using-claude-via-api-anthropic-com">437<h3 id="remote-control-is-only-available-when-using-claude-via-api-anthropic-com">

432 "Remote Control is only available when using Claude via api.anthropic.com"438 "Remote Control is only available when using Claude via api.anthropic.com"

433</h3>439</h3>

434 440 

435A sessão não está se comunicando diretamente com a API Anthropic, então não há backend claude.ai para emparelhar. Isso acontece no Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry. Também acontece quando [`ANTHROPIC_BASE_URL`](/docs/pt/env-vars) aponta para um host diferente de `api.anthropic.com`, como um [gateway LLM](/docs/pt/llm-gateway) ou proxy, mesmo se você entrar com claude.ai. Antes da v2.1.196, Claude Code não mostrava esta mensagem para um `ANTHROPIC_BASE_URL` personalizado. Veja a [referência de erros](/docs/pt/errors#remote-control-requires-the-anthropic-api) para a lista completa de causas.441A sessão não está falando com a API Anthropic diretamente, então não há backend claude.ai para emparelhar. Isso acontece no Amazon Bedrock, na Agent Platform do Google Cloud e no Microsoft Foundry. Também acontece quando [`ANTHROPIC_BASE_URL`](/docs/pt/env-vars) aponta para um host diferente de `api.anthropic.com`, como um [gateway LLM](/docs/pt/llm-gateway) ou proxy, mesmo se você se conectar com claude.ai. Veja a [referência de erros](/docs/pt/errors#remote-control-requires-the-anthropic-api) para a lista completa de causas.

436 442 

437A mensagem nomeia o que roteou a sessão para longe da API Anthropic, como `CLAUDE_CODE_USE_BEDROCK` ou um `ANTHROPIC_BASE_URL` personalizado. Se você tiver um login claude.ai elegível, desative a variável nomeada, remova-a da chave `env` em [configurações](/docs/pt/settings) se você a definiu lá, e reinicie a sessão. Antes da v2.1.219, a mensagem era apenas a sentença no cabeçalho desta seção, então em versões mais antigas verifique seu ambiente você mesmo para variáveis de provedor como `CLAUDE_CODE_USE_BEDROCK` e `CLAUDE_CODE_USE_VERTEX`, e para `ANTHROPIC_BASE_URL`.443A mensagem nomeia o que roteou a sessão para longe da API Anthropic, como `CLAUDE_CODE_USE_BEDROCK` ou um `ANTHROPIC_BASE_URL` personalizado. Se você tiver um login claude.ai elegível, desdefina a variável nomeada, remova-a da chave `env` em [configurações](/docs/pt/settings) se você a definiu lá, e reinicie a sessão.

438 444 

439<h3 id="remote-control-is-disabled-by-your-organization’s-policy">445<h3 id="remote-control-is-disabled-by-your-organization’s-policy">

440 "Remote Control is disabled by your organization's policy"446 "Remote Control is disabled by your organization's policy"

441</h3>447</h3>

442 448 

443Uma política bloqueia Remote Control, ou Claude Code não conseguiu carregar a política da sua organização nesta máquina e mantém Remote Control desativado enquanto isso. Verifique estas causas em ordem:449Uma política bloqueia Remote Control. Verifique essas causas em ordem:

450 

451* **O erro menciona `disableRemoteControl`**: seu administrador de TI desabilitou Remote Control neste dispositivo através de [configurações gerenciadas](/docs/pt/managed-settings), independentemente do alternador em toda a organização e de como você está conectado.

452* **Seu plano claude.ai é Pro ou Max**: Claude Code ainda está conectado sob uma organização Team ou Enterprise de um login anterior, então verifica a política de Remote Control dessa organização. Execute `/status` para ver qual plano e organização seu login usa. Execute `claude auth logout` e depois `claude auth login` para se conectar novamente sob seu plano atual.

453* **A mensagem não diz para entrar em contato com seu administrador de organização**: sua organização tem uma configuração HIPAA que é incompatível com Remote Control, e `/status` lista `HIPAA` em sua linha `Compliance`. Neste estado, o alternador de Remote Control do painel de administração está esmaecido, então um Owner não consegue alterá-lo lá. Entre em contato com o suporte Anthropic para discutir opções. Antes da v2.1.267, este caso mostrava "Remote Control isn't available for your organization due to its compliance policy" em vez disso.

454* **Caso contrário, um Owner não o habilitou para sua organização**: Remote Control está desativado por padrão em planos Team e Enterprise. Um Owner pode habilitá-lo em [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) ativando o alternador **Remote Control**. Este alternador é uma configuração de organização no lado do servidor.

455 

456Antes da v2.1.281, essa mensagem também aparecia quando Claude Code não tinha carregado a política da sua organização nesta máquina, por exemplo após iniciar offline. Versões posteriores relatam esse estado como [`Couldn't verify your organization's policy for remote control`](#couldnt-verify-your-organizations-policy-for-remote-control) em vez disso.

457 

458<h3 id="couldnt-verify-your-organizations-policy-for-remote-control">

459 "Couldn't verify your organization's policy for remote control"

460</h3>

461 

462Claude Code não conseguiu buscar a política da sua organização e não tem uma cópia salva nesta máquina para usar em vez disso, então mantém Remote Control desativado até que possa confirmar que sua organização o permite. Isso geralmente acontece quando você inicia Claude Code offline ou antes de uma VPN se conectar, ou quando um proxy interfere na solicitação. Em uma conexão lenta, também pode aparecer enquanto a primeira solicitação ainda está em andamento.

444 463 

445* **O erro menciona `disableRemoteControl`**: seu administrador de TI desativou Remote Control neste dispositivo através de [configurações gerenciadas](/docs/pt/managed-settings), independentemente do toggle em toda a organização e de como você está autenticado.464A mensagem assume uma destas formas:

446* **Seu plano claude.ai é Pro ou Max**: Claude Code ainda está autenticado sob uma organização Team ou Enterprise de um login anterior, então verifica a política de Remote Control dessa organização. Execute `/status` para ver qual plano e organização seu login usa. Execute `claude auth logout` e depois `claude auth login` para entrar novamente sob seu plano atual.465 

447* **A política da organização não foi carregada nesta máquina**: execute `claude doctor` e leia a linha `Organization policy`. Se a linha mostrar que a política não está carregada, é isso que está mantendo Remote Control desativado. Antes da v2.1.261, `claude doctor` não imprimia esta linha.466* De `/remote-control`, `claude remote-control`, ou `claude --remote-control`: `Couldn't verify your organization's policy for remote control. Check your network connection and try again.`

448* **A mensagem não diz para entrar em contato com seu administrador da organização**: sua organização tem uma configuração HIPAA que é incompatível com Remote Control, e `/status` lista `HIPAA` em sua linha `Compliance`. Neste estado, o toggle de Remote Control do painel de administração fica acinzentado, então um Proprietário não pode alterá-lo lá. Entre em contato com o suporte da Anthropic para discutir opções. Antes da v2.1.267, este caso mostrava "Remote Control isn't available for your organization due to its compliance policy" em vez disso.467* De [auto-connect](#enable-remote-control-for-all-sessions) quando uma sessão inicia: `couldn't verify your organization's policy — check your network connection and try again`, prefixado com `Remote Control failed` na notificação e `Remote Control disconnected` na conversa. A sessão então deixa Remote Control desativado.

449* **Caso contrário, um Proprietário não ativou para sua organização**: Remote Control fica desativado por padrão nos planos Team e Enterprise. Um Proprietário pode ativá-lo em [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) ativando o toggle **Remote Control**. Este toggle é uma configuração de organização no lado do servidor.468 

469Restaure sua conexão de rede, então execute `/remote-control` ou execute o comando novamente. Cada tentativa verifica a política novamente, então você não precisa reiniciar Claude Code. Se a mensagem continuar aparecendo, execute `claude doctor` e leia sua linha `Organization policy`, que diz por que a política não foi carregada.

470 

471Antes da v2.1.281, esse estado mostrava `Remote Control is disabled by your organization's policy` em vez disso.

450 472 

451<h3 id="remote-credentials-fetch-failed">473<h3 id="remote-credentials-fetch-failed">

452 "Remote credentials fetch failed"474 "Remote credentials fetch failed"


460 482 

461Causas comuns:483Causas comuns:

462 484 

463* Não autenticado: execute `claude` e use `/login` para autenticar com sua conta claude.ai. A autenticação por chave de API não é suportada para Remote Control.485* Não conectado: execute `claude` e use `/login` para autenticar com sua conta claude.ai. Autenticação de chave de API não é suportada para Remote Control.

464* Problema de rede ou proxy: um firewall ou proxy pode estar bloqueando a solicitação HTTPS de saída. Remote Control requer acesso à API Anthropic na porta 443.486* Problema de rede ou proxy: um firewall ou proxy pode estar bloqueando a solicitação HTTPS de saída. Remote Control requer acesso à API Anthropic na porta 443.

465* Falha na criação de sessão: se você também vir `Session creation failed — see debug log`, a falha aconteceu anteriormente na configuração. Verifique se sua assinatura está ativa.487* Falha na criação de sessão: se você também vir `Session creation failed — see debug log`, a falha aconteceu mais cedo na configuração. Verifique se sua assinatura está ativa.

466 

467Um token de login desatualizado não causa este erro. Quando a API Anthropic rejeita o token salvo, por exemplo porque outro processo Claude Code já o atualizou, Claude Code atualiza o token e tenta novamente por conta própria. Antes da v2.1.224, um token desatualizado falhava na inicialização de Remote Control com esta mensagem, então sessões definidas para [conectar automaticamente](#enable-remote-control-for-all-sessions) poderiam falhar intermitentemente na inicialização.

468 488 

469<h3 id="couldn’t-reconnect-to-your-remote-control-session">489<h3 id="couldnt-reconnect-to-your-remote-control-session">

470 "Couldn't reconnect to your Remote Control session"490 "Couldn't reconnect to your Remote Control session"

471</h3>491</h3>

472 492 

473Quando você retoma uma conversa com `claude --resume` ou `claude --continue`, Claude Code se reconecta à sessão de Remote Control registrada nessa conversa. Esta mensagem significa que a reconexão falhou por um motivo que pode ser temporário, como uma interrupção de rede ou um erro de servidor, então Claude Code não pode confirmar se a sessão remota ainda existe.493Quando você retoma uma conversa com `claude --resume` ou `claude --continue`, Claude Code se reconecta à sessão de Remote Control registrada nessa conversa. Esta mensagem significa que a reconexão falhou por um motivo que pode ser temporário, como uma interrupção de rede ou um erro de servidor, então Claude Code não consegue confirmar se a sessão remota ainda existe.

474 

475Execute `/remote-control` para tentar novamente a conexão, ou inicie uma nova sessão com `claude --remote-control` para criar uma nova sessão de Remote Control. Sua sessão local continua funcionando sem Remote Control enquanto isso.

476 

477<span id="resume-outcomes" />Quando você retoma, você também pode obter um destes resultados em vez desta mensagem:

478 

479* **O servidor relata a sessão registrada desaparecida, ou o registro de reconexão nomeia uma conta diferente**: Claude Code vai pelo que o registro de reconexão da conversa diz:

480 * **O registro nomeia sua conta autenticada**: Claude Code inicia uma sessão de substituição com um nome gerado automaticamente e deixa as mensagens anteriores da conversa fora dela. Você obtém isso depois de deletar a sessão de claude.ai ou do aplicativo Claude, por exemplo.

481 * **O registro nomeia uma conta diferente**: Claude Code inicia uma nova sessão sem as mensagens anteriores da conversa e sem mostrar uma mensagem, independentemente de a sessão registrada ainda existir.

482 * **O registro não diz qual conta possuía a sessão, ou Claude Code não consegue ler seu login salvo**: Claude Code mostra [`Previous session is unavailable — run /remote-control to start a new one`](#previous-session-is-unavailable) em vez desta mensagem, não inicia nada, e remove o registro da conversa.

483* **Você desativou Remote Control antes de retomar**: a menos que o aplicativo hospedando Claude Code tivesse dito a ele que o aplicativo possui a sessão claude.ai, Claude Code removeu o registro de reconexão quando você desativou Remote Control do [painel de status do CLI](#check-connection-status), da extensão VS Code, ou de um host construído no [Agent SDK](/docs/pt/agent-sdk/overview), então não se reconecta. Quando um aplicativo proprietário desativou, Claude Code manteve o registro e se reconecta.

484* **Outro Claude Code nesta máquina ainda tem a sessão**: você vê um aviso que começa com `Remote Control not started here`, e Claude Code [deixa Remote Control desativado na sessão retomada](#resume-sessions-after-stopping-the-server). Execute `/remote-control` lá para movê-lo.

485 494 

486<span id="reconnect-history" />Antes da v2.1.232, Claude Code respondeu diferentemente quando o servidor relatou a sessão registrada desaparecida. De v2.1.227 até v2.1.231, Claude Code recusou iniciar uma substituição mesmo quando o registro correspondia à sua conta. Até v2.1.226, Claude Code iniciou uma substituição independentemente de o registro corresponder à sua conta, e em v2.1.224 até v2.1.226 a criou sob a conta autenticada naquela máquina, nunca de outra conta, sem fazer upload das mensagens anteriores da conversa para ela. Antes da v2.1.200, Claude Code criava uma nova sessão após qualquer falha de reconexão.495Execute `/remote-control` para tentar a conexão novamente, ou inicie uma nova sessão com `claude --remote-control` para criar uma nova sessão de Remote Control. Sua sessão local continua funcionando sem Remote Control enquanto isso.

487 496 

488<h3 id="previous-session-is-unavailable">497<h3 id="previous-session-is-unavailable">

489 "Previous session is unavailable — run /remote-control to start a new one"498 "Previous session is unavailable — run /remote-control to start a new one"


491 500 

492Claude Code não conseguiu trazer de volta a sessão anterior de Remote Control e parou em vez de iniciar uma nova por conta própria. Você pode ver esta mensagem depois de retomar uma conversa com `claude --resume` ou `claude --continue`, ou depois que Claude Code [se reconecta por conta própria após uma desconexão](/docs/pt/errors#remote-control-couldnt-refresh-your-login).501Claude Code não conseguiu trazer de volta a sessão anterior de Remote Control e parou em vez de iniciar uma nova por conta própria. Você pode ver esta mensagem depois de retomar uma conversa com `claude --resume` ou `claude --continue`, ou depois que Claude Code [se reconecta por conta própria após uma desconexão](/docs/pt/errors#remote-control-couldnt-refresh-your-login).

493 502 

494Execute `/remote-control` para iniciar uma nova sessão de Remote Control sob o login atual; sua sessão local continua funcionando sem Remote Control enquanto isso. A mensagem relacionada `Remote Control could not verify the signed-in account — run /remote-control to reconnect` tem a mesma solução; Claude Code a mostra quando a conta autenticada mudou ou não conseguiu ser lida entre validá-la e se reconectar. Se você executar `/remote-control` após `Previous session is unavailable` sem reiniciar Claude Code primeiro, Claude Code deixa as mensagens anteriores da conversa fora da nova sessão.503Execute `/remote-control` para iniciar uma nova sessão de Remote Control sob o login atual; sua sessão local continua funcionando sem Remote Control enquanto isso. A mensagem relacionada `Remote Control could not verify the signed-in account — run /remote-control to reconnect` tem a mesma solução. Se você executar `/remote-control` após `Previous session is unavailable` sem reiniciar Claude Code primeiro, Claude Code deixa as mensagens anteriores da conversa fora da nova sessão.

495 

496Na retomada, Claude Code [inicia uma nova sessão em seu lugar](#resume-outcomes) apenas se o registro de reconexão da conversa nomear a conta que possuía a sessão, porque o servidor relata uma sessão que você deletou e uma sessão possuída por outra conta da mesma forma. Claude Code antes da v2.1.227 não registrou essa conta, e Claude Code não pode verificar o registro quando não consegue ler seu login salvo. Claude Code antes da v2.1.232 mostrou `Remote Control could not resume the previous session under the current login — run /remote-control to start fresh` em vez disso, em [um conjunto diferente de casos](#reconnect-history).

497 504 

498<h3 id="remote-control-got-an-unexpected-server-response">505<h3 id="remote-control-got-an-unexpected-server-response">

499 "Remote Control got an unexpected server response"506 "Remote Control got an unexpected server response"

500</h3>507</h3>

501 508 

502O servidor de Remote Control aceitou uma solicitação mas respondeu de uma forma que esta versão de Claude Code não conseguiu ler, ao criar a sessão remota ou buscar suas credenciais. Tentar novamente na mesma versão falha da mesma forma. Execute `claude update`, depois execute `/remote-control` para se reconectar. Esta mensagem foi adicionada na v2.1.225.509O servidor de Remote Control aceitou uma solicitação mas respondeu de uma forma que esta versão de Claude Code não conseguiu ler, ao criar a sessão remota ou buscar suas credenciais. Tentar novamente na mesma versão falha da mesma forma. Execute `claude update`, então execute `/remote-control` para se reconectar.

503 510 

504<h3 id="your-organization-requires-trusted-devices-for-remote-control-but-this-device-is-not-enrolled">511<h3 id="your-organization-requires-trusted-devices-for-remote-control-but-this-device-is-not-enrolled">

505 "Your organization requires Trusted Devices for Remote Control, but this device is not enrolled"512 "Your organization requires Trusted Devices for Remote Control, but this device is not enrolled"

506</h3>513</h3>

507 514 

508Sua organização tem [Trusted Devices](#trusted-devices) ativado e esta máquina não se inscreveu ainda. Execute `/login` no Claude Code. A inscrição acontece como parte do login, e não há comando de inscrição separado.515Sua organização tem [Trusted Devices](#trusted-devices) habilitado e esta máquina ainda não se inscreveu. Execute `/login` em Claude Code. A inscrição acontece como parte do sign-in, e não há comando de inscrição separado.

509 516 

510<h3 id="session-expired-for-trusted-device-check">517<h3 id="session-expired-for-trusted-device-check">

511 "session expired for trusted-device check"518 "session expired for trusted-device check"

512</h3>519</h3>

513 520 

514Seu login tem mais de 18 horas. Execute `/login` no Claude Code, ou confirme com Face ID, Touch ID, Windows Hello, ou uma passkey quando claude.ai ou o aplicativo móvel solicitar. Veja [Trusted Devices](#trusted-devices).521Seu sign-in tem mais de 18 horas. Execute `/login` em Claude Code, ou confirme com Face ID, Touch ID, Windows Hello, ou uma passkey quando claude.ai ou o aplicativo móvel solicitar. Veja [Trusted Devices](#trusted-devices).

515 

516<h2 id="choose-the-right-approach">

517 Escolha a abordagem correta

518</h2>

519 

520Claude Code oferece várias maneiras de trabalhar quando você não está no seu terminal. Elas diferem no que dispara o trabalho, onde Claude é executado e quanto você precisa configurar.

521 

522| | Gatilho | Claude é executado em | Configuração | Melhor para |

523| :- | :- | :- | :- | :- |

524| [Dispatch](/docs/pt/desktop#sessions-from-dispatch) | Envie uma tarefa a partir do aplicativo móvel Claude | Sua máquina (Desktop) | [Emparelhe o aplicativo móvel com Desktop](https://support.claude.com/en/articles/13947068) | Delegar trabalho enquanto você está ausente, configuração mínima |

525| [Remote Control](/docs/pt/remote-control) | Dirija uma sessão em execução a partir de [claude.ai/code](https://claude.ai/code) ou do aplicativo móvel Claude | Sua máquina (CLI ou VS Code) | Execute `claude remote-control` | Orientar trabalho em andamento de outro dispositivo |

526| [Channels](/docs/pt/channels) | Envie eventos de um aplicativo de chat como Telegram ou Discord, ou seu próprio servidor | Sua máquina (CLI) | [Instale um plugin de canal](/docs/pt/channels#quickstart) ou [crie o seu próprio](/docs/pt/channels-reference) | Reagir a eventos externos como falhas de CI ou mensagens de chat |

527| [Slack](/docs/pt/slack) | Mencione `@Claude` em um canal de equipe | Nuvem Anthropic | [Instale o aplicativo Slack](/docs/pt/slack#setting-up-claude-code-in-slack) com [Claude Code na web](/docs/pt/claude-code-on-the-web) ativado | PRs e revisões do chat da equipe |

528| [Self-hosted environments](/docs/pt/self-hosted-environments) | Inicie uma [sessão na nuvem](/docs/pt/claude-code-on-the-web) e escolha o ambiente da sua organização | Infraestrutura da sua organização | [Implante runners](/docs/pt/self-hosted-environments-quickstart), em planos Team e Enterprise | Sessões na nuvem que devem ser executadas dentro da sua rede |

529| [Scheduled tasks](/docs/pt/scheduled-tasks) | Defina um cronograma | [CLI](/docs/pt/scheduled-tasks), [Desktop](/docs/pt/desktop-scheduled-tasks), ou [nuvem](/docs/pt/routines) | Escolha uma frequência | Automação recorrente como revisões diárias |

530 522 

531<h2 id="related-resources">523<h2 id="related-resources">

532 Recursos relacionados524 Recursos relacionados

routines.md +3 −2

Details

59Quando o cronograma da rotina ou **Run now** inicia uma execução, Claude republica um artifact existente sem perguntar apenas quando todos estes se aplicam:59Quando o cronograma da rotina ou **Run now** inicia uma execução, Claude republica um artifact existente sem perguntar apenas quando todos estes se aplicam:

60 60 

61* Você pode editar o artifact e ele pertence à sua própria organização61* Você pode editar o artifact e ele pertence à sua própria organização

62* O artifact não é compartilhado publicamente e não é compartilhado com pessoas específicas ou sua organização com a versão mais recente escolhida como a versão que os visualizadores veem62* O artifact não é compartilhado publicamente

63* Se o artifact é compartilhado com pessoas específicas ou sua organização, seus visualizadores não veem automaticamente cada nova versão

63* A publicação carrega apenas a página, sem arquivos de suporte ou qualquer outra coisa adicionada, e não força sobre uma versão mais recente64* A publicação carrega apenas a página, sem arquivos de suporte ou qualquer outra coisa adicionada, e não força sobre uma versão mais recente

64* A página não contém uma concessão que vai além da página, como [chamadas de conector](/docs/pt/artifacts#pull-live-data-with-mcp-connectors)65* A página não contém uma concessão que vai além da página, como [chamadas de conector](/docs/pt/artifacts#pull-live-data-with-mcp-connectors)

65 66 


151 152 

152Um acionador de cronograma executa a rotina em uma cadência recorrente ou uma única vez em um momento futuro específico. Escolha uma frequência predefinida na seção **Selecionar um acionador**: horária, diária, dias da semana ou semanal. Os horários são inseridos em seu fuso horário local e convertidos automaticamente, portanto a rotina é executada naquele horário de parede independentemente de onde a infraestrutura em nuvem está localizada.153Um acionador de cronograma executa a rotina em uma cadência recorrente ou uma única vez em um momento futuro específico. Escolha uma frequência predefinida na seção **Selecionar um acionador**: horária, diária, dias da semana ou semanal. Os horários são inseridos em seu fuso horário local e convertidos automaticamente, portanto a rotina é executada naquele horário de parede independentemente de onde a infraestrutura em nuvem está localizada.

153 154 

154As execuções podem começar alguns minutos após o horário agendado devido ao escalonamento. O deslocamento é consistente para cada rotina.155Se você agendar uma execução exatamente na hora, como 9:00, ela pode começar alguns minutos atrasada. Para começar próximo ao horário agendado, escolha alguns minutos após a hora, por exemplo 9:07.

155 156 

156Para um intervalo personalizado, como a cada duas horas ou no primeiro de cada mês, escolha a predefinição mais próxima no formulário e execute `/schedule update` na CLI para definir uma expressão cron específica. O intervalo mínimo é uma hora; expressões que são executadas com mais frequência são rejeitadas.157Para um intervalo personalizado, como a cada duas horas ou no primeiro de cada mês, escolha a predefinição mais próxima no formulário e execute `/schedule update` na CLI para definir uma expressão cron específica. O intervalo mínimo é uma hora; expressões que são executadas com mais frequência são rejeitadas.

157 158 

Details

117No Linux e WSL2, o runtime aplica concessões de escrita apenas a caminhos que já existem. Em um ambiente novo, crie os caminhos de configuração do Claude Code antes do primeiro lançamento:117No Linux e WSL2, o runtime aplica concessões de escrita apenas a caminhos que já existem. Em um ambiente novo, crie os caminhos de configuração do Claude Code antes do primeiro lançamento:

118 118 

119```bash theme={null}119```bash theme={null}

120mkdir -p ~/.claude && echo '{}' > ~/.claude.json120mkdir -p ~/.claude && { [ -f ~/.claude.json ] || echo '{}' > ~/.claude.json; }

121```121```

122 122 

123Uma vez que o arquivo de configurações está em vigor, inicie o Claude Code com `npx` e passe `claude` como o comando a envolver:123Uma vez que o arquivo de configurações está em vigor, inicie o Claude Code com `npx` e passe `claude` como o comando a envolver:

sandboxing.md +4 −4

Details

42 </Step>42 </Step>

43 43 

44 <Step title="Run a Bash command">44 <Step title="Run a Bash command">

45 Peça ao Claude para executar um comando, como uma compilação ou um conjunto de testes. Por padrão, os comandos dentro do sandbox podem escrever no diretório de trabalho, no diretório temporário da sessão e em qualquer [diretório que você tenha adicionado](/docs/pt/permissions#additional-directories-grant-file-access-not-configuration) com `--add-dir`, `/add-dir` ou `permissions.additionalDirectories`.45 Peça ao Claude para executar um comando, como uma compilação ou um conjunto de testes. Por padrão, os comandos dentro do sandbox podem escrever no diretório de trabalho, em um [diretório temporário por usuário](/docs/pt/env-vars) e em qualquer [diretório que você tenha adicionado](/docs/pt/permissions#additional-directories-grant-file-access-not-configuration) com `--add-dir`, `/add-dir` ou `permissions.additionalDirectories`.

46 46 

47 Na primeira vez que um comando precisa de um novo domínio de rede, Claude Code solicita aprovação; em [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode), Claude em vez disso nomeia os hosts que um comando precisa [no próprio comando](#per-command-allowed-domains-in-auto-mode) para o classificador revisar com ele.47 Na primeira vez que um comando precisa de um novo domínio de rede, Claude Code solicita aprovação; em [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode), Claude em vez disso nomeia os hosts que um comando precisa [no próprio comando](#per-command-allowed-domains-in-auto-mode) para o classificador revisar com ele.

48 48 


179 Diretórios temporários179 Diretórios temporários

180</h4>180</h4>

181 181 

182O diretório temporário da sessão é gravável dentro do sandbox por padrão, junto com o diretório de trabalho. A menos que você [desabilite isolamento de sistema de arquivos](#disable-filesystem-isolation), Claude Code define `$TMPDIR` para este diretório para comandos em sandbox, portanto ferramentas que escrevem arquivos temporários funcionam sem configuração extra.182O diretório temporário por usuário é gravável dentro do sandbox por padrão, junto com o diretório de trabalho. A menos que você [desabilite isolamento de sistema de arquivos](#disable-filesystem-isolation), Claude Code define `$TMPDIR` para este diretório para comandos em sandbox, portanto ferramentas que escrevem arquivos temporários funcionam sem configuração extra.

183 183 

184Comandos não em sandbox herdam o `$TMPDIR` do seu shell quando está definido, portanto enquanto isolamento de sistema de arquivos está ativado, comandos em sandbox e não em sandbox resolvem `$TMPDIR` para diretórios diferentes. Se seu shell deixar `$TMPDIR` indefinido ou vazio, um comando não em sandbox que referencia `$TMPDIR` recebe sua substituição [`CLAUDE_CODE_TMPDIR`](/docs/pt/env-vars) ou o diretório temporário do sistema operacional quando você não definiu uma ou a substituição é um caminho longo, portanto a variável não se expande para uma string vazia. Para passar arquivos temporários entre os dois, escreva-os no diretório de trabalho em vez disso.184Comandos não em sandbox herdam o `$TMPDIR` do seu shell quando está definido, portanto enquanto isolamento de sistema de arquivos está ativado, comandos em sandbox e não em sandbox resolvem `$TMPDIR` para diretórios diferentes. Se seu shell deixar `$TMPDIR` indefinido ou vazio, um comando não em sandbox que referencia `$TMPDIR` recebe sua substituição [`CLAUDE_CODE_TMPDIR`](/docs/pt/env-vars) ou o diretório temporário do sistema operacional quando você não definiu uma ou a substituição é um caminho longo, portanto a variável não se expande para uma string vazia. Para passar arquivos temporários entre os dois, escreva-os no diretório de trabalho em vez disso.

185 185 


189 189 

190Personalize o comportamento do sandbox através de seu arquivo `settings.json`. Consulte [Settings](/docs/pt/settings-reference#sandbox-settings) para a referência de configuração completa.190Personalize o comportamento do sandbox através de seu arquivo `settings.json`. Consulte [Settings](/docs/pt/settings-reference#sandbox-settings) para a referência de configuração completa.

191 191 

192Por padrão, comandos em sandbox podem escrever no diretório de trabalho atual, no diretório temporário da sessão e em qualquer [diretório que você tenha adicionado](/docs/pt/permissions#additional-directories-grant-file-access-not-configuration) com `--add-dir`, `/add-dir` ou `permissions.additionalDirectories`. Se comandos de subprocesso como `kubectl`, `terraform` ou `npm` precisarem escrever fora desses diretórios, use `sandbox.filesystem.allowWrite` para conceder acesso a caminhos específicos:192Por padrão, comandos em sandbox podem escrever no diretório de trabalho atual, no diretório temporário por usuário e em qualquer [diretório que você tenha adicionado](/docs/pt/permissions#additional-directories-grant-file-access-not-configuration) com `--add-dir`, `/add-dir` ou `permissions.additionalDirectories`. Se comandos de subprocesso como `kubectl`, `terraform` ou `npm` precisarem escrever fora desses diretórios, use `sandbox.filesystem.allowWrite` para conceder acesso a caminhos específicos:

193 193 

194```json theme={null}194```json theme={null}

195{195{


309 309 

310Duas outras coisas mudam:310Duas outras coisas mudam:

311 311 

312* Comandos em sandbox herdam `$TMPDIR` do seu shell em vez do diretório temporário da sessão, porque cada diretório temporário é gravável e Claude Code não redireciona mais comandos para o da sessão.312* Comandos em sandbox herdam `$TMPDIR` do seu shell em vez do diretório temporário por usuário, porque cada diretório temporário é gravável e Claude Code não redireciona mais comandos para o da sessão.

313 313 

314 No Linux a variável geralmente não está definida no shell pai. A orientação de ferramenta Bash diz a Claude para criar diretórios de rascunho com `mktemp -d` em vez de confiar em `$TMPDIR`.314 No Linux a variável geralmente não está definida no shell pai. A orientação de ferramenta Bash diz a Claude para criar diretórios de rascunho com `mktemp -d` em vez de confiar em `$TMPDIR`.

315* [`autoAllowBashIfSandboxed`](/docs/pt/settings-reference#sandbox-autoallowbashifsandboxed) ainda padrão para `true`, portanto comandos em sandbox continuam executando sem prompts. Defina-o como `false` para solicitar comandos em sandbox.315* [`autoAllowBashIfSandboxed`](/docs/pt/settings-reference#sandbox-autoallowbashifsandboxed) ainda padrão para `true`, portanto comandos em sandbox continuam executando sem prompts. Defina-o como `false` para solicitar comandos em sandbox.

security.md +2 −1

Details

128 128 

129* **Máquinas virtuais isoladas**: Cada sessão em nuvem é executada em uma VM isolada gerenciada pela Anthropic129* **Máquinas virtuais isoladas**: Cada sessão em nuvem é executada em uma VM isolada gerenciada pela Anthropic

130* **Controles de acesso à rede**: O acesso à rede é limitado por padrão e pode ser configurado para ser desabilitado ou permitir apenas domínios específicos130* **Controles de acesso à rede**: O acesso à rede é limitado por padrão e pode ser configurado para ser desabilitado ou permitir apenas domínios específicos

131* **Proteção de credenciais**: A autenticação é tratada através de um proxy seguro que usa uma credencial com escopo dentro do sandbox, que é então traduzida para seu token de autenticação GitHub real131* **Proteção de credenciais**: As credenciais do GitHub são armazenadas criptografadas nos servidores da Anthropic e nunca entram na VM da sessão. A VM mantém uma credencial de curta duração com escopo para essa sessão, e o tráfego do GitHub passa por um [proxy da Anthropic](/docs/pt/cloud-environments#github-proxy) que anexa a credencial do GitHub no lado do servidor. Consulte [Opções de autenticação do GitHub](/docs/pt/claude-code-on-the-web#github-authentication-options) para saber como você concede acesso

132* **Restrições de branch**: Operações de git push são restritas ao branch de trabalho atual132* **Restrições de branch**: Operações de git push são restritas ao branch de trabalho atual

133* **Registro de auditoria**: Todas as operações em sessões em nuvem são registradas para fins de conformidade e auditoria133* **Registro de auditoria**: Todas as operações em sessões em nuvem são registradas para fins de conformidade e auditoria

134* **Limpeza automática**: VMs de sessão são recuperadas após um período de inatividade134* **Limpeza automática**: VMs de sessão são recuperadas após um período de inatividade

135* **Exclusão**: Você pode [excluir uma sessão](/docs/pt/claude-code-on-the-web#delete-sessions) a qualquer momento. Consulte [Fluxo de dados de execução em nuvem](/docs/pt/data-usage#cloud-execution-data-flow-and-dependencies) para saber o que a Anthropic armazena para uma sessão em nuvem

135 136 

136Para mais detalhes sobre execução em nuvem, consulte [Use Claude Code in the cloud](/docs/pt/claude-code-on-the-web); para configurar o acesso à rede para sessões em nuvem, consulte [Configure cloud environments](/docs/pt/cloud-environments#network-access).137Para mais detalhes sobre execução em nuvem, consulte [Use Claude Code in the cloud](/docs/pt/claude-code-on-the-web); para configurar o acesso à rede para sessões em nuvem, consulte [Configure cloud environments](/docs/pt/cloud-environments#network-access).

137 138 

Details

220ENTRYPOINT ["claude"]220ENTRYPOINT ["claude"]

221```221```

222 222 

223Troque `linux-x64` por `linux-arm64` se seus nós forem ARM, ou por `linux-x64-musl` ou `linux-arm64-musl` em uma imagem baseada em musl, como Alpine; consulte [Configuração Alpine Linux](/docs/pt/setup#alpine-linux-and-musl-based-distributions) para os pacotes extras que imagens musl precisam. A URL é o local de lançamento padrão do Claude Code, para que você possa verificar o binário baixado contra o manifesto assinado do lançamento conforme descrito em [Integridade binária e assinatura de código](/docs/pt/setup#binary-integrity-and-code-signing). Construa a imagem com Claude Code versão 2.1.224 ou posterior, depois envie-a para seu registro e a referencie nas receitas abaixo:223Troque `linux-x64` por `linux-arm64` se seus nós forem ARM, ou por `linux-x64-musl` ou `linux-arm64-musl` em uma imagem baseada em musl, como Alpine; consulte [Configuração Alpine Linux](/docs/pt/setup#alpine-linux-and-musl-based-distributions) para os pacotes extras que imagens musl precisam. A URL é o local de lançamento padrão do Claude Code, para que você possa verificar o binário baixado contra o manifesto assinado do lançamento conforme descrito em [Integridade binária e assinatura de código](/docs/pt/setup#binary-integrity-and-code-signing). O runner requer Claude Code versão 2.1.224 ou posterior. Construa a imagem, depois envie-a para seu registro e a referencie nas receitas abaixo:

224 224 

225```bash theme={null}225```bash theme={null}

226docker build --build-arg CLAUDE_CODE_VERSION=2.1.267 -t <your-registry>/claude-runner:latest .226docker build \

227 --build-arg CLAUDE_CODE_VERSION="$(curl -fsSL https://downloads.claude.ai/claude-code-releases/stable)" \

228 -t <your-registry>/claude-runner:latest .

227```229```

228 230 

231A substituição de comando procura o número de lançamento `stable` atual e o passa como argumento de compilação, para que executar o mesmo comando após um novo lançamento estável reconstrua a camada de download com o binário mais recente. Para fixar um lançamento específico para compilações reproduzíveis, passe o número da versão diretamente como `CLAUDE_CODE_VERSION`. Substitua `stable` por `latest` na URL de pesquisa quando você precisar de um lançamento mais recente que o canal estável, como um que [um modelo recém-lançado requer](/docs/pt/model-config).

232 

229<h2 id="size-cpu-and-memory-for-sessions">233<h2 id="size-cpu-and-memory-for-sessions">

230 Dimensionar CPU e memória para sessões234 Dimensionar CPU e memória para sessões

231</h2>235</h2>

Details

220 220 

221A entrega gerenciada pelo servidor adiciona esses comportamentos:221A entrega gerenciada pelo servidor adiciona esses comportamentos:

222 222 

223* O cache em `~/.claude/remote-settings.json` armazena o payload salvo com entradas inválidas removidas, exceto por valores inválidos de `cleanupPeriodDays` e `desktopSessionCleanupPeriodDays`, que permanecem na cópia em cache e nunca são aplicados.223* Uma inicialização que é executada no cache em `~/.claude/remote-settings.json` trata entradas inválidas da forma como a busca que escreveu o cache fez:

224* Quando nenhum campo no payload pode ser salvo e o payload não é apenas essas chaves de retenção, o Claude Code rejeita o payload, mantém as últimas configurações em cache aceitas e escreve `Remote settings: Settings validation failed - no fields could be salvaged` no log de depuração. Com `forceRemoteSettingsRefresh` definido, a CLI sai em vez disso.224 * Entradas que falharam na validação permanecem descartadas.

225 * [Chaves que falham fechadas](/docs/pt/managed-settings#keys-that-fail-closed) mantêm seus valores mais rigorosos.

226 * Um valor inválido de `cleanupPeriodDays` ou `desktopSessionCleanupPeriodDays` permanece na cópia em cache e nunca é aplicado.

227* O Claude Code não aplica nada de um payload e deixa o cache inalterado quando todos os três destes são verdadeiros:

228 

229 * Cada configuração no payload falha na validação.

230 * Nenhuma delas volta a um valor mais rigoroso.

231 * O payload contém uma chave diferente daquelas duas chaves de retenção.

232 

233 O aviso de inicialização, `/status` e `claude doctor` então relatam a [falha de carregamento](/docs/pt/errors#remote-managed-settings-failed-to-load) com a causa `no setting in the server response could be applied as written`, e essa entrada diz qual política a sessão é executada. Clientes que [impõem inicialização com falha fechada](#enforce-fail-closed-startup) saem na inicialização em vez disso.

225* A [caixa de diálogo de aprovação de segurança](#security-approval-dialogs) avalia o payload salvo, portanto uma entrada inválida removida nunca é apresentada para aprovação e nunca é executada.234* A [caixa de diálogo de aprovação de segurança](#security-approval-dialogs) avalia o payload salvo, portanto uma entrada inválida removida nunca é apresentada para aprovação e nunca é executada.

226 235 

227Para depurar problemas de entrega, execute `claude --debug-file <path>` e procure no log por `Remote settings`. Valide uma alteração de payload com `claude doctor` em uma máquina de teste antes de implantá-la na organização.236Para depurar problemas de entrega, execute `claude --debug-file <path>` e procure no log por `Remote settings`. Valide uma alteração de payload com `claude doctor` em uma máquina de teste antes de implantá-la na organização.

sessions.md +3 −2

Details

43* Modo de permissão: se você retomar de um terminal com `claude --continue`, `claude --resume <session-id>` ou `claude --resume <name>` quando o nome corresponde a uma sessão, sem `-p`, Claude Code restaura o modo de permissão em que a sessão estava, exceto nos casos em [modo de permissão ao retomar](#permission-mode-on-resume), que também cobre o seletor de sessão, `/resume` e retomar com `claude -p`. Passe `--permission-mode` ou `--dangerously-skip-permissions` para substituir o modo restaurado.43* Modo de permissão: se você retomar de um terminal com `claude --continue`, `claude --resume <session-id>` ou `claude --resume <name>` quando o nome corresponde a uma sessão, sem `-p`, Claude Code restaura o modo de permissão em que a sessão estava, exceto nos casos em [modo de permissão ao retomar](#permission-mode-on-resume), que também cobre o seletor de sessão, `/resume` e retomar com `claude -p`. Passe `--permission-mode` ou `--dangerously-skip-permissions` para substituir o modo restaurado.

44* Objetivo ativo: um [objetivo](/docs/pt/goal#resume-with-an-active-goal) que ainda estava ativo quando a sessão terminou é transferido; sua contagem de turnos, temporizador e linha de base de gasto de tokens são redefinidos.44* Objetivo ativo: um [objetivo](/docs/pt/goal#resume-with-an-active-goal) que ainda estava ativo quando a sessão terminou é transferido; sua contagem de turnos, temporizador e linha de base de gasto de tokens são redefinidos.

45* Tarefas agendadas: [tarefas que não expiraram](/docs/pt/scheduled-tasks#limitations) são restauradas. Tarefas Bash em background e tarefas de monitoramento não são.45* Tarefas agendadas: [tarefas que não expiraram](/docs/pt/scheduled-tasks#limitations) são restauradas. Tarefas Bash em background e tarefas de monitoramento não são.

46* Trabalho em background: um [subagente em background](/docs/pt/sub-agents#run-subagents-in-foreground-or-background), comando Bash em background ou [workflow](/docs/pt/workflows) que terminou com o processo anterior aparece na transcrição retomada como uma nota de que não foi concluído. Claude Code não inicia um turno a partir dessas notas; Claude as lê com seu próximo prompt.

46 47 

47Nem toda flag de configuração do lançamento original é restaurada. Se a sessão dependia de `--mcp-config`, `--settings`, `--plugin-dir`, `--fallback-model` ou diretórios adicionados com `--add-dir`, passe-os novamente quando você retomar; diretórios adicionados no meio da sessão com `/add-dir` também não são restaurados, embora o seletor de sessão ainda os use para localizar a sessão. Os arquivos de configurações padrão, como `settings.json` e `settings.local.json`, são relidos no lançamento, portanto a configuração que reside neles não precisa ser passada novamente. Para `--system-prompt` e `--append-system-prompt`, veja [Flags de prompt do sistema em conversas retomadas](/docs/pt/cli-reference#system-prompt-flags-in-resumed-conversations).48Nem toda flag de configuração do lançamento original é restaurada. Se a sessão dependia de `--mcp-config`, `--settings`, `--plugin-dir`, `--fallback-model` ou diretórios adicionados com `--add-dir`, passe-os novamente quando você retomar; diretórios adicionados no meio da sessão com `/add-dir` também não são restaurados, embora o seletor de sessão ainda os use para localizar a sessão. Os arquivos de configurações padrão, como `settings.json` e `settings.local.json`, são relidos no lançamento, portanto a configuração que reside neles não precisa ser passada novamente. Para `--system-prompt` e `--append-system-prompt`, veja [Flags de prompt do sistema em conversas retomadas](/docs/pt/cli-reference#system-prompt-flags-in-resumed-conversations).

48 49 


74 Retomar em modo de plano com `-p`75 Retomar em modo de plano com `-p`

75</h5>76</h5>

76 77 

77Uma execução `claude -p --resume` ou `claude -p --continue` retoma em modo de plano apenas quando todas as quatro condições se mantêm:78Uma execução `claude -p --resume` ou `claude -p --continue` retoma em modo de plano apenas quando todas estas condições se mantêm:

78 79 

79* Você passa [`--permission-prompt-tool`](/docs/pt/cli-reference#cli-flags), para que Claude Code possa apresentar o plano para aprovação80* Você passa [`--permission-prompt-tool`](/docs/pt/cli-reference#cli-flags) e não passa [`--permission-prompts none`](/docs/pt/headless#turn-off-permission-prompts-in-unattended-runs), para que Claude Code possa apresentar o plano para aprovação

80* Você não passa `--permission-mode` ou `--dangerously-skip-permissions`81* Você não passa `--permission-mode` ou `--dangerously-skip-permissions`

81* Você não passa `--fork-session`82* Você não passa `--fork-session`

82* A execução não é iniciada através de [canais](/docs/pt/channels)83* A execução não é iniciada através de [canais](/docs/pt/channels)

Details

620| [`autoScrollEnabled`](#autoscrollenabled) | [Siga a nova saída](/docs/pt/fullscreen#auto-follow) até o final na renderização em tela cheia | Interface e terminal | Any file |620| [`autoScrollEnabled`](#autoscrollenabled) | [Siga a nova saída](/docs/pt/fullscreen#auto-follow) até o final na renderização em tela cheia | Interface e terminal | Any file |

621| [`autoUpdatesChannel`](#autoupdateschannel) | Siga o [canal de lançamento](/docs/pt/setup#configure-release-channel) estável em vez do mais recente | Atualizações e versionamento | Any file |621| [`autoUpdatesChannel`](#autoupdateschannel) | Siga o [canal de lançamento](/docs/pt/setup#configure-release-channel) estável em vez do mais recente | Atualizações e versionamento | Any file |

622| [`availableModels`](#availablemodels) | [Restrinja quais modelos](/docs/pt/model-config#restrict-model-selection) as pessoas podem escolher | Modelo e respostas | Any file |622| [`availableModels`](#availablemodels) | [Restrinja quais modelos](/docs/pt/model-config#restrict-model-selection) as pessoas podem escolher | Modelo e respostas | Any file |

623| [`availableModelsMatch`](#availablemodelsmatch) | Faça cada entrada de ID de modelo `availableModels` [permitir apenas a versão que nomeia](/docs/pt/model-config#block-specific-models-or-versions) | Modelo e respostas | Managed |

623| [`awaySummaryEnabled`](#awaysummaryenabled) | Desative o [resumo da sessão](/docs/pt/interactive-mode#session-recap) mostrado quando você volta ao terminal | Remoto, desktop e notificações | Any file |624| [`awaySummaryEnabled`](#awaysummaryenabled) | Desative o [resumo da sessão](/docs/pt/interactive-mode#session-recap) mostrado quando você volta ao terminal | Remoto, desktop e notificações | Any file |

624| [`awsAuthRefresh`](#awsauthrefresh) | Atualize as [credenciais Bedrock](/docs/pt/amazon-bedrock#advanced-credential-configuration) expiradas em `.aws` com seu próprio comando | Autenticação e provedores | Any file |625| [`awsAuthRefresh`](#awsauthrefresh) | Atualize as [credenciais Bedrock](/docs/pt/amazon-bedrock#advanced-credential-configuration) expiradas em `.aws` com seu próprio comando | Autenticação e provedores | Any file |

625| [`awsCredentialExport`](#awscredentialexport) | Forneça as [credenciais Bedrock](/docs/pt/amazon-bedrock#advanced-credential-configuration) como JSON a partir de seu próprio comando | Autenticação e provedores | Any file |626| [`awsCredentialExport`](#awscredentialexport) | Forneça as [credenciais Bedrock](/docs/pt/amazon-bedrock#advanced-credential-configuration) como JSON a partir de seu próprio comando | Autenticação e provedores | Any file |


629| [`blockedMarketplaces`](#blockedmarketplaces) | Bloqueie as fontes do [marketplace de plugins](/docs/pt/plugins/overview) para sua organização | Plugins e skills | Managed |630| [`blockedMarketplaces`](#blockedmarketplaces) | Bloqueie as fontes do [marketplace de plugins](/docs/pt/plugins/overview) para sua organização | Plugins e skills | Managed |

630| [`browserExternalPageTools`](#browserexternalpagetools) | Mantenha as ferramentas de Claude desativadas em páginas externas no painel [desktop](/docs/pt/desktop) Browser | Ferramentas | Managed |631| [`browserExternalPageTools`](#browserexternalpagetools) | Mantenha as ferramentas de Claude desativadas em páginas externas no painel [desktop](/docs/pt/desktop) Browser | Ferramentas | Managed |

631| [`channelsEnabled`](#channelsenabled) | Permita [canais](/docs/pt/channels#enable-channels-for-your-organization) para sua organização | Plugins e skills | Managed |632| [`channelsEnabled`](#channelsenabled) | Permita [canais](/docs/pt/channels#enable-channels-for-your-organization) para sua organização | Plugins e skills | Managed |

633| [`claudeInChromeDefaultEnabled`](#claudeinchromedefaultenabled) | Ative a [integração com Chrome](/docs/pt/chrome) em cada sessão CLI interativa sem passar `--chrome` | Configurações de config global | Global config |

632| [`claudeMd`](#claudemd) | Injete instruções [CLAUDE.md](/docs/pt/memory#deploy-organization-wide-claude-md) em toda a organização a partir de configurações gerenciadas | Memória e contexto | Managed |634| [`claudeMd`](#claudemd) | Injete instruções [CLAUDE.md](/docs/pt/memory#deploy-organization-wide-claude-md) em toda a organização a partir de configurações gerenciadas | Memória e contexto | Managed |

633| [`claudeMdExcludes`](#claudemdexcludes) | Pule arquivos [CLAUDE.md](/docs/pt/memory#exclude-specific-claude-md-files) específicos quando a memória carrega | Memória e contexto | Any file |635| [`claudeMdExcludes`](#claudemdexcludes) | Pule arquivos [CLAUDE.md](/docs/pt/memory#exclude-specific-claude-md-files) específicos quando a memória carrega | Memória e contexto | Any file |

634| [`cleanupPeriodDays`](#cleanupperioddays) | Escolha quantos dias Claude Code mantém [transcrições](/docs/pt/data-usage#data-retention) antes de deletá-las | Privacidade e telemetria | Any file |636| [`cleanupPeriodDays`](#cleanupperioddays) | Escolha quantos dias Claude Code mantém [transcrições](/docs/pt/data-usage#data-retention) antes de deletá-las | Privacidade e telemetria | Any file |

635| [`companyAnnouncements`](#companyannouncements) | Mostre os anúncios de sua organização na inicialização | Interface e terminal | Any file |637| [`companyAnnouncements`](#companyannouncements) | Mostre os anúncios de sua organização na inicialização | Interface e terminal | Any file |

638| [`copyFullResponse`](#copyfullresponse) | Faça [`/copy`](/docs/pt/commands) copiar a resposta completa sem mostrar o seletor de bloco de código | Configurações de config global | Global config |

636| [`copyOnSelect`](#copyonselect) | Desative a cópia automática de texto que você seleciona com o mouse na [renderização em tela cheia](/docs/pt/fullscreen#use-the-mouse) e visualização de agente | Configurações de config global | Global config |639| [`copyOnSelect`](#copyonselect) | Desative a cópia automática de texto que você seleciona com o mouse na [renderização em tela cheia](/docs/pt/fullscreen#use-the-mouse) e visualização de agente | Configurações de config global | Global config |

637| [`crossSessionInbound`](#crosssessioninbound) | Escolha se Claude Code entrega [mensagens de suas outras sessões](/docs/pt/cross-session-messaging#control-inbound-messages), mostra um aviso sem entregá-las, ou as recusa | Agentes, sessões e worktrees | Any file |640| [`crossSessionInbound`](#crosssessioninbound) | Escolha se Claude Code entrega [mensagens de suas outras sessões](/docs/pt/cross-session-messaging#control-inbound-messages), mostra um aviso sem entregá-las, ou as recusa | Agentes, sessões e worktrees | Any file |

638| [`defaultShell`](#defaultshell) | Escolha se Bash ou PowerShell executa os comandos shell que você digita com o prefixo [`!`](/docs/pt/interactive-mode#shell-mode-with-prefix) | Interface e terminal | Any file |641| [`defaultShell`](#defaultshell) | Escolha se Bash ou PowerShell executa os comandos shell que você digita com o prefixo [`!`](/docs/pt/interactive-mode#shell-mode-with-prefix) | Interface e terminal | Any file |

642| [`defaultToAgentsView`](#defaulttoagentsview) | Abra a [visualização de agente](/docs/pt/agent-view) em vez de uma nova conversa quando você executa `claude` sem argumentos | Configurações de config global | Global config |

639| [`deniedMcpServers`](#deniedmcpservers) | Bloqueie [servidores MCP](/docs/pt/mcp) específicos por URL, comando ou nome | MCP | Any file |643| [`deniedMcpServers`](#deniedmcpservers) | Bloqueie [servidores MCP](/docs/pt/mcp) específicos por URL, comando ou nome | MCP | Any file |

644| [`deniedModels`](#deniedmodels) | [Bloqueie modelos específicos](/docs/pt/model-config#block-specific-models-or-versions), mesmo aqueles que `availableModels` permite | Modelo e respostas | Managed |

640| [`desktopSessionCleanupPeriodDays`](#desktopsessioncleanupperioddays) | Defina um limite de idade em dias para [transcrições de Claude Desktop e Cowork](/docs/pt/claude-directory#cleaned-up-automatically) | Privacidade e telemetria | User or managed |645| [`desktopSessionCleanupPeriodDays`](#desktopsessioncleanupperioddays) | Defina um limite de idade em dias para [transcrições de Claude Desktop e Cowork](/docs/pt/claude-directory#cleaned-up-automatically) | Privacidade e telemetria | User or managed |

641| [`dialogExpiry`](#dialogexpiry) | Defina quanto tempo Claude Code aguarda [Remote Control](/docs/pt/remote-control) ou um host SDK responder a um diálogo encaminhado antes de cancelar o diálogo | Interface e terminal | User or managed |646| [`dialogExpiry`](#dialogexpiry) | Defina quanto tempo Claude Code aguarda [Remote Control](/docs/pt/remote-control) ou um host SDK responder a um diálogo encaminhado antes de cancelar o diálogo | Interface e terminal | User or managed |

642| [`diffTool`](#difftool) | Escolha se as alterações de arquivo propostas por Claude abrem no visualizador de diff do [VS Code](/docs/pt/vs-code) ou [JetBrains](/docs/pt/jetbrains#features) ou permanecem no terminal | Configurações de config global | Global config |647| [`diffTool`](#difftool) | Escolha se as alterações de arquivo propostas por Claude abrem no visualizador de diff do [VS Code](/docs/pt/vs-code) ou [JetBrains](/docs/pt/jetbrains#features) ou permanecem no terminal | Configurações de config global | Global config |


690| [`isolatePeerMachines`](#isolatepeermachines) | Peça-lhe antes de Claude [enviar mensagem para uma de suas sessões em outra máquina](/docs/pt/cross-session-messaging#require-approval-for-cross-machine-messages) | Agentes, sessões e worktrees | Any file |695| [`isolatePeerMachines`](#isolatepeermachines) | Peça-lhe antes de Claude [enviar mensagem para uma de suas sessões em outra máquina](/docs/pt/cross-session-messaging#require-approval-for-cross-machine-messages) | Agentes, sessões e worktrees | Any file |

691| [`keybindingFlavor`](#keybindingflavor) | Descontinuado e sem efeito; os atalhos de edição de palavras sempre [seguem as convenções readline](/docs/pt/interactive-mode#make-ctrl-w-delete-back-to-whitespace) | Interface e terminal | Any file |696| [`keybindingFlavor`](#keybindingflavor) | Descontinuado e sem efeito; os atalhos de edição de palavras sempre [seguem as convenções readline](/docs/pt/interactive-mode#make-ctrl-w-delete-back-to-whitespace) | Interface e terminal | Any file |

692| [`language`](#language) | Faça Claude responder em um idioma diferente do inglês | Modelo e respostas | Any file |697| [`language`](#language) | Faça Claude responder em um idioma diferente do inglês | Modelo e respostas | Any file |

698| [`leftArrowOpensAgents`](#leftarrowopensagents) | Desative o atalho `←` que [coloca a sessão em segundo plano e abre a visualização de agente](/docs/pt/agent-view#switch-sessions-without-leaving-the-terminal) | Configurações de config global | Global config |

693| [`managedMcpServers`](#managedmcpservers) | Forneça [servidores MCP](/docs/pt/managed-mcp#provide-servers-through-managed-settings) remotos a cada usuário junto com os que eles adicionam | MCP | Managed |699| [`managedMcpServers`](#managedmcpservers) | Forneça [servidores MCP](/docs/pt/managed-mcp#provide-servers-through-managed-settings) remotos a cada usuário junto com os que eles adicionam | MCP | Managed |

694| [`managedSourcesBehavior`](#managedsourcesbehavior) | Componha cada [fonte gerenciada](/docs/pt/managed-settings#how-claude-code-combines-managed-sources) que você implanta em vez de usar apenas a de maior prioridade | Configurações empresariais e gerenciadas | Managed |700| [`managedSourcesBehavior`](#managedsourcesbehavior) | Componha cada [fonte gerenciada](/docs/pt/managed-settings#how-claude-code-combines-managed-sources) que você implanta em vez de usar apenas a de maior prioridade | Configurações empresariais e gerenciadas | Managed |

695| [`maxEffortLevel`](#maxeffortlevel) | Limite o [nível de esforço](/docs/pt/model-config#adjust-effort-level) para cada modelo ou por modelo, em cada provedor | Modelo e respostas | Any file |701| [`maxEffortLevel`](#maxeffortlevel) | Limite o [nível de esforço](/docs/pt/model-config#adjust-effort-level) para cada modelo ou por modelo, em cada provedor | Modelo e respostas | Any file |

702| [`maxProseWidth`](#maxprosewidth) | Limite a largura da prosa nas respostas de Claude em um terminal amplo | Interface e terminal | Any file |

696| [`minimumVersion`](#minimumversion) | Mantenha as [atualizações automáticas](/docs/pt/setup#pin-a-minimum-version) de instalar qualquer coisa abaixo de uma versão | Atualizações e versionamento | Any file |703| [`minimumVersion`](#minimumversion) | Mantenha as [atualizações automáticas](/docs/pt/setup#pin-a-minimum-version) de instalar qualquer coisa abaixo de uma versão | Atualizações e versionamento | Any file |

697| [`model`](#model) | Altere o [modelo](/docs/pt/model-config#set-a-default-model-for-new-sessions) com o qual Claude Code começa | Modelo e respostas | Any file |704| [`model`](#model) | Altere o [modelo](/docs/pt/model-config#set-a-default-model-for-new-sessions) com o qual Claude Code começa | Modelo e respostas | Any file |

698| [`modelOverrides`](#modeloverrides) | [Mapeie IDs de modelo](/docs/pt/model-config#override-model-ids-per-version) para os IDs do seu provedor, como ARNs do Bedrock | Modelo e respostas | Any file |705| [`modelOverrides`](#modeloverrides) | [Mapeie IDs de modelo](/docs/pt/model-config#override-model-ids-per-version) para os IDs do seu provedor, como ARNs do Bedrock | Modelo e respostas | Any file |


724| [`processWrapper`](#processwrapper) | Execute os processos em segundo plano de Claude Code através de um [inicializador corporativo](/docs/pt/corporate-launcher) no macOS e Linux | Agentes, sessões e worktrees | User or managed |731| [`processWrapper`](#processwrapper) | Execute os processos em segundo plano de Claude Code através de um [inicializador corporativo](/docs/pt/corporate-launcher) no macOS e Linux | Agentes, sessões e worktrees | User or managed |

725| [`promptCacheTtl`](#promptcachettl) | Escolha o [tempo de vida do cache de prompt](/docs/pt/prompt-caching#cache-lifetime) para a conversa principal | Modelo e respostas | Any file |732| [`promptCacheTtl`](#promptcachettl) | Escolha o [tempo de vida do cache de prompt](/docs/pt/prompt-caching#cache-lifetime) para a conversa principal | Modelo e respostas | Any file |

726| [`promptSuggestionEnabled`](#promptsuggestionenabled) | Oculte as [sugestões de prompt](/docs/pt/interactive-mode#prompt-suggestions) acinzentadas na caixa de entrada | Interface e terminal | Any file |733| [`promptSuggestionEnabled`](#promptsuggestionenabled) | Oculte as [sugestões de prompt](/docs/pt/interactive-mode#prompt-suggestions) acinzentadas na caixa de entrada | Interface e terminal | Any file |

734| [`prStatusFooterEnabled`](#prstatusfooterenabled) | Desative o [status de revisão de PR](/docs/pt/interactive-mode#pr-review-status) do rodapé do prompt e a verificação de pull request por trás dele | Configurações de config global | Global config |

727| [`prUrlTemplate`](#prurltemplate) | Aponte links de PR para uma ferramenta de revisão de código interna em vez de github.com | Git e atribuição | Any file |735| [`prUrlTemplate`](#prurltemplate) | Aponte links de PR para uma ferramenta de revisão de código interna em vez de github.com | Git e atribuição | Any file |

728| [`remote.defaultEnvironmentId`](#remote-defaultenvironmentid) | Escolha o [ambiente de nuvem](/docs/pt/cloud-environments) padrão para `claude --cloud`; um ID `ccpool_` auto-hospedado é somente leitura a partir de configurações de usuário e gerenciadas e `--settings` | Remoto, desktop e notificações | Any file |736| [`remote.defaultEnvironmentId`](#remote-defaultenvironmentid) | Escolha o [ambiente de nuvem](/docs/pt/cloud-environments) padrão para `claude --cloud`; um ID `ccpool_` auto-hospedado é somente leitura a partir de configurações de usuário e gerenciadas e `--settings` | Remoto, desktop e notificações | Any file |

729| [`remoteControlAtStartup`](#remotecontrolatstartup) | Conecte o [Remote Control](/docs/pt/remote-control#enable-remote-control-for-all-sessions) automaticamente quando uma sessão começar | Remoto, desktop e notificações | Any file |737| [`remoteControlAtStartup`](#remotecontrolatstartup) | Conecte o [Remote Control](/docs/pt/remote-control#enable-remote-control-for-all-sessions) automaticamente quando uma sessão começar | Remoto, desktop e notificações | Any file |


858 866 

859Desative o [pensamento estendido](/docs/pt/model-config#extended-thinking) para cada sessão definindo isso como `false`. O pensamento está ativado por padrão, então `true` não muda nada. A maioria das pessoas define isso através de `/config` em vez de editar o arquivo.867Desative o [pensamento estendido](/docs/pt/model-config#extended-thinking) para cada sessão definindo isso como `false`. O pensamento está ativado por padrão, então `true` não muda nada. A maioria das pessoas define isso através de `/config` em vez de editar o arquivo.

860 868 

861Em modelos que sempre pensam, como Opus 5.5 e os modelos Fable, `false` não tem efeito. Em [provedores de terceiros](/docs/pt/third-party-integrations), Claude Code omite o parâmetro `thinking` em vez de desativar o pensamento, então modelos de raciocínio adaptativo podem ainda pensar. Com o pensamento desativado na API Anthropic, Claude Code envia esforço `high` em vez de um nível superior para modelos que sabe [não aceitam essa combinação](/docs/pt/errors#effort-isnt-available-with-thinking-turned-off), como Opus 5.869Em modelos que sempre pensam, como Opus 5.5, Sonnet 5.5 e os modelos Fable, `false` não tem efeito. Em [provedores de terceiros](/docs/pt/third-party-integrations), Claude Code omite o parâmetro `thinking` em vez de desativar o pensamento, então modelos de raciocínio adaptativo podem ainda pensar. Com o pensamento desativado na API Anthropic, Claude Code envia esforço `high` em vez de um nível superior para modelos que sabe [não aceitam essa combinação](/docs/pt/errors#effort-isnt-available-with-thinking-turned-off), como Opus 5.

862 870 

863* **Escopo**: [`Qualquer arquivo`](#scopes)871* **Escopo**: [`Qualquer arquivo`](#scopes)

864* **Tipo**: Boolean872* **Tipo**: Boolean


877 `availableModels`885 `availableModels`

878</h3>886</h3>

879 887 

880Restrinja quais modelos as pessoas podem selecionar para a sessão principal, [subagentes](/docs/pt/sub-agents), [skills](/docs/pt/skills) e o [advisor](/docs/pt/advisor). Uma lista gerenciada restringe `/model`, `--model` e a chave `model` nos próprios arquivos de um desenvolvedor; um modelo fora dela não pode ser selecionado. Por si só, isso não afeta a opção Padrão; combine-o com [`enforceAvailableModels`](#enforceavailablemodels) para isso.888Restrinja quais modelos as pessoas podem selecionar para a sessão principal, [subagentes](/docs/pt/sub-agents), [skills](/docs/pt/skills) e o [advisor](/docs/pt/advisor). Uma lista gerenciada restringe `/model`, `--model` e a chave `model` nos próprios arquivos de um desenvolvedor; um modelo fora dela não pode ser selecionado. Com a correspondência de prefixo padrão, isso não afeta a opção Padrão por si só; combine-o com [`enforceAvailableModels`](#enforceavailablemodels) para isso.

881 889 

882* **Escopo**: [`Qualquer arquivo`](#scopes). Implante-o em configurações gerenciadas para aplicá-lo a uma organização.890* **Escopo**: [`Qualquer arquivo`](#scopes). Implante-o em configurações gerenciadas para aplicá-lo a uma organização.

883* **Tipo**: array de aliases de modelo ou IDs891* **Tipo**: array de aliases de modelo ou IDs


891}899}

892```900```

893 901 

894Consulte [Restrinja a seleção de modelo](/docs/pt/model-config#restrict-model-selection).902Uma entrada de ID de modelo como `"claude-opus-5"` também permite versões posteriores que a estendem, como Opus 5.5. Para bloquear uma dessas versões, use [`deniedModels`](#deniedmodels). Para fazer cada entrada de ID de modelo permitir apenas a versão que ela nomeia, use [`availableModelsMatch`](#availablemodelsmatch). Consulte [Restrinja a seleção de modelo](/docs/pt/model-config#restrict-model-selection).

903 

904<h3 id="availablemodelsmatch">

905 `availableModelsMatch`

906</h3>

907 

908Escolha como as entradas [`availableModels`](#availablemodels) correspondem aos IDs de modelo. Por padrão, uma entrada de ID de modelo também permite versões posteriores que a estendem, então `"claude-opus-5"` permite Opus 5.5. Com `"exact"`, cada entrada de ID de modelo permite apenas a versão que ela nomeia, então uma versão mais nova desse modelo permanece bloqueada até você listá-la. Requer Claude Code v2.1.283 ou posterior.

909 

910* **Escopo**: [`Gerenciado`](#scopes). Claude Code ignora a chave em configurações de usuário, projeto e local e em `--settings`, com um aviso

911* **Tipo**: string, um de:

912 * `"prefix"`: uma entrada de ID de modelo permite sua versão e qualquer ID de modelo que a estenda com outro segmento

913 * `"exact"`: uma entrada de ID de modelo permite apenas a versão que ela nomeia, incluindo os IDs datados dessa versão, então `"claude-opus-5"` permite Opus 5 mas não `claude-opus-5-5`. Um alias de família como `"opus"` ainda permite toda a família, e entradas `best`, `opusplan` e `default` são ignoradas

914* **Padrão**: `"prefix"`

915 

916Este exemplo permite Opus 5 e Sonnet 5 e nenhuma versão posterior de nenhum deles:

917 

918```json managed-settings.json theme={null}

919{

920 "availableModels": ["claude-opus-5", "claude-sonnet-5"],

921 "availableModelsMatch": "exact"

922}

923```

924 

925Com `"exact"`, a opção Padrão também é limitada aos modelos listados sempre que a lista nomeia pelo menos um modelo ou família. Consulte [Bloqueie modelos ou versões específicas](/docs/pt/model-config#block-specific-models-or-versions).

926 

927<h3 id="deniedmodels">

928 `deniedModels`

929</h3>

930 

931Bloqueie modelos específicos, com ou sem uma lista de permissões [`availableModels`](#availablemodels) e mesmo quando essa lista os permite. Claude Code oculta um modelo bloqueado do seletor `/model`, e o modelo não pode ser selecionado em nenhum lugar onde `availableModels` é aplicado. Uma sessão na opção Padrão também não executa um modelo bloqueado, como [Bloqueie modelos ou versões específicas](/docs/pt/model-config#block-specific-models-or-versions) descreve. Requer Claude Code v2.1.283 ou posterior.

932 

933* **Escopo**: [`Gerenciado`](#scopes). Claude Code ignora a chave em configurações de usuário, projeto e local e em `--settings`, com um aviso

934* **Tipo**: array de aliases de modelo ou IDs

935 * Um alias de família como `"opus"` bloqueia cada modelo nessa família

936 * Um ID de modelo como `"claude-opus-5-5"` bloqueia essa versão em cada grafia, incluindo IDs datados e específicos do provedor

937 * Um ID de modelo sem versão menor, como `"claude-opus-5"`, também bloqueia versões menores posteriores como Opus 5.5. Escreva `"claude-opus-5-0"` para bloquear apenas Opus 5

938 * Entradas `best`, `opusplan` e `default` são ignoradas

939* **Padrão**: sem definir, então nenhum modelo é bloqueado

940 

941Este exemplo permite modelos Opus e Sonnet e bloqueia Opus 5.5:

942 

943```json managed-settings.json theme={null}

944{

945 "availableModels": ["opus", "sonnet"],

946 "deniedModels": ["claude-opus-5-5"]

947}

948```

949 

950Consulte [Bloqueie modelos ou versões específicas](/docs/pt/model-config#block-specific-models-or-versions).

895 951 

896<h3 id="effortlevel">952<h3 id="effortlevel">

897 `effortLevel`953 `effortLevel`


926 `enforceAvailableModels`982 `enforceAvailableModels`

927</h3>983</h3>

928 984 

929O seletor `/model` tem uma opção **Padrão** que resolve para seu [modelo padrão da organização](/docs/pt/model-config#organization-default-model) quando um se aplica, e caso contrário para o padrão do seu tipo de conta. Uma lista de permissões [`availableModels`](#availablemodels) limita os modelos que você pode nomear, mas por si só deixa **Padrão** sozinho, então **Padrão** ainda pode resolver para um modelo fora da lista. Esta chave fecha essa lacuna. Requer Claude Code v2.1.175 ou posterior.985O seletor `/model` tem uma opção **Padrão**, e [`default` model setting](/docs/pt/model-config#default-model-setting) descreve o modelo ao qual ela resolve. Uma lista de permissões [`availableModels`](#availablemodels) limita os modelos que você pode nomear, mas com a [correspondência de prefixo](#availablemodelsmatch) padrão ela não remapeia o padrão do seu tipo de conta, então **Padrão** ainda pode resolver para um modelo fora da lista. Esta chave fecha essa lacuna. Requer Claude Code v2.1.175 ou posterior.

930 986 

931Quando sua organização implanta qualquer configuração gerenciada, Claude Code lê essa chave apenas da fonte gerenciada e a ignora em seus outros arquivos.987Quando sua organização implanta qualquer configuração gerenciada, Claude Code lê essa chave apenas da fonte gerenciada e a ignora em seus outros arquivos.

932 988 

933* **Escopo**: [`Qualquer arquivo`](#scopes)989* **Escopo**: [`Qualquer arquivo`](#scopes)

934* **Tipo**: Boolean990* **Tipo**: Boolean

935 * `true`: quando **Padrão** resolveria para um modelo fora de `availableModels`, Claude Code o resolve para o primeiro modelo disponível na lista991 * `true`: quando **Padrão** resolveria para um modelo fora de `availableModels`, Claude Code o resolve para o primeiro modelo disponível na lista

936 * `false`: **Padrão** resolve como usual, mesmo para um modelo fora de `availableModels`992 * `false`: esta chave não muda como **Padrão** resolve

937* **Padrão**: `false`993* **Padrão**: `false`

938 994 

939Este exemplo restringe seleções nomeadas a modelos Sonnet e Haiku e faz **Padrão** resolver para o primeiro deles que está disponível:995Este exemplo restringe seleções nomeadas a modelos Sonnet e Haiku e faz **Padrão** resolver para o primeiro deles que está disponível:


1036* **Escopo**: [`Qualquer arquivo`](#scopes). Implante-o em configurações gerenciadas para aplicá-lo a uma organização. Quando vários escopos definem um limite, o mais baixo se aplica, então um limite definido em um escopo não pode ser aumentado de outro1092* **Escopo**: [`Qualquer arquivo`](#scopes). Implante-o em configurações gerenciadas para aplicá-lo a uma organização. Quando vários escopos definem um limite, o mais baixo se aplica, então um limite definido em um escopo não pode ser aumentado de outro

1037* **Tipo**: string, um de `"low"`, `"medium"`, `"high"`, `"xhigh"` ou `"max"`. Um valor `"max"` não define limite1093* **Tipo**: string, um de `"low"`, `"medium"`, `"high"`, `"xhigh"` ou `"max"`. Um valor `"max"` não define limite

1038* **Padrão**: sem definir, então nenhum limite se aplica1094* **Padrão**: sem definir, então nenhum limite se aplica

1039* **Efeito no ultracode**: um limite abaixo de `xhigh` torna [ultracode](#ultracode) indisponível nos modelos aos quais o limite se aplica

1040* **Limites por modelo**: adicione `maxEffortLevel` à entrada [`modelSettings`](#modelsettings) de um modelo. Essa entrada substitui essa chave apenas para o modelo dentro da fonte de configurações que define ambas, como suas configurações de usuário ou uma [fonte gerenciada](/docs/pt/managed-settings#how-claude-code-combines-managed-sources). Defina `"max"` lá para isentar o modelo do limite dessa fonte; Claude Code ainda aplica limites de outras fontes1095* **Limites por modelo**: adicione `maxEffortLevel` à entrada [`modelSettings`](#modelsettings) de um modelo. Essa entrada substitui essa chave apenas para o modelo dentro da fonte de configurações que define ambas, como suas configurações de usuário ou uma [fonte gerenciada](/docs/pt/managed-settings#how-claude-code-combines-managed-sources). Defina `"max"` lá para isentar o modelo do limite dessa fonte; Claude Code ainda aplica limites de outras fontes

1041 1096 

1042Este exemplo limita cada modelo a `medium` e isenta Sonnet 4.6:1097Este exemplo limita cada modelo a `medium` e isenta Sonnet 4.6:


1134 1189 

1135| Campo | Tipo | O que faz |1190| Campo | Tipo | O que faz |

1136| :- | :- | :- |1191| :- | :- | :- |

1137| `options` | array de linhas, cada uma com um `model` obrigatório e um `label` e `description` opcionais | As linhas que o seletor mostra, nesta ordem, exceto que uma linha acinzentada se move para o final. Sem um `label`, Claude Code intitula a linha com o nome integrado para um modelo que conhece, ou o ID do modelo caso contrário, e sem uma `description` escreve uma segunda linha genérica |1192| `options` | array de linhas, cada uma com um `model` obrigatório e um `label`, `description` e `behavesAs` opcionais | As linhas que o seletor mostra, nesta ordem, exceto que uma linha acinzentada se move para o final. Sem um `label`, Claude Code intitula a linha com o nome integrado para um modelo que conhece, ou o ID do modelo caso contrário, e sem uma `description` escreve uma segunda linha genérica |

1138| `replaceBuiltInOptions` | Boolean, padrão `false` | Defina como `true` para mostrar apenas essas linhas, **Padrão** e uma linha para o modelo que a sessão já está usando. Deixe sem definir para adicionar essas linhas após o lineup integrado |1193| `replaceBuiltInOptions` | Boolean, padrão `false` | Defina como `true` para mostrar apenas essas linhas, **Padrão** e uma linha para o modelo que a sessão já está usando. Deixe sem definir para adicionar essas linhas após o lineup integrado |

1139 1194 

1195Uma entrada em `options` também pode levar um `behavesAs` string opcional ao lado de seu `model`, que requer v2.1.257 ou posterior. Defina-o para o ID de um modelo que sua versão do Claude Code já conhece, como `claude-opus-4-8`, em uma entrada cujo `model` é mais novo que sua versão. Claude Code então aplica as capacidades e padrões de esforço desse modelo conhecido à entrada em vez de tratar seu modelo como desconhecido. O rótulo da entrada e o ID do modelo que Claude Code envia em solicitações não mudam.

1196 

1140Com `replaceBuiltInOptions` ativado, Claude Code oculta todas as outras linhas: o lineup integrado, as linhas que adiciona para entradas [`availableModels`](#availablemodels), os modelos que [descoberta de gateway](/docs/pt/llm-gateway-protocol#model-discovery) encontrou e [`ANTHROPIC_CUSTOM_MODEL_OPTION`](/docs/pt/model-config#add-a-custom-model-option). Com ele desativado, Claude Code pula um modelo listado que o lineup integrado já cobre. Um rótulo muda o que o seletor mostra, não qual modelo Claude Code executa.1197Com `replaceBuiltInOptions` ativado, Claude Code oculta todas as outras linhas: o lineup integrado, as linhas que adiciona para entradas [`availableModels`](#availablemodels), os modelos que [descoberta de gateway](/docs/pt/llm-gateway-protocol#model-discovery) encontrou e [`ANTHROPIC_CUSTOM_MODEL_OPTION`](/docs/pt/model-config#add-a-custom-model-option). Com ele desativado, Claude Code pula um modelo listado que o lineup integrado já cobre. Um rótulo muda o que o seletor mostra, não qual modelo Claude Code executa.

1141 1198 

1142Uma lista de permissões [`availableModels`](#availablemodels) ainda se aplica a essas linhas. Antes de adicionar um modelo listado à lista de permissões, leia [Comportamento de mesclagem](/docs/pt/model-config#merge-behavior): um ID de modelo específico estreita a entrada curinga de sua família. Claude Code também verifica cada linha contra a sessão antes de mostrar o seletor:1199Uma lista de permissões [`availableModels`](#availablemodels) ainda se aplica a essas linhas. Antes de adicionar um modelo listado à lista de permissões, leia [Comportamento de mesclagem](/docs/pt/model-config#merge-behavior): um ID de modelo específico estreita a entrada curinga de sua família. Claude Code também verifica cada linha contra a sessão antes de mostrar o seletor:


1351 `ultracode`1408 `ultracode`

1352</h3>1409</h3>

1353 1410 

1354Inicie sessões com [ultracode](/docs/pt/workflows#let-claude-decide-with-ultracode) ativado. Com ele ativado, Claude planeja um workflow para cada tarefa substancial em vez de esperar você pedir. Claude planeja workflows apenas quando [workflows dinâmicos](/docs/pt/workflows) estão habilitados para você, seu modelo suporta esforço `xhigh` e nenhum [limite de esforço](/docs/pt/model-config#organization-effort-limits) abaixo de `xhigh` se aplica. De qualquer forma, `ultracode: true` executa a sessão em esforço `xhigh` ou no limite quando um limite de esforço é mais baixo. Claude Code lê essa chave mas nunca a escreve: `/effort ultracode` ativa ultracode apenas para a sessão atual.1411Inicie sessões com [ultracode](/docs/pt/workflows#let-claude-decide-with-ultracode) ativado. Com ele ativado, Claude planeja um workflow para cada tarefa substancial em vez de esperar você pedir. Claude planeja workflows apenas quando [workflows dinâmicos](/docs/pt/workflows) estão habilitados para você e seu modelo suporta esforço `xhigh`. A chave não muda o nível de esforço da sessão: ultracode funciona em qualquer nível que a sessão usa. Claude Code lê essa chave mas nunca a escreve: `/effort ultracode` ativa ultracode apenas para a sessão atual.

1355 1412 

1356* **Escopo**: [`Qualquer arquivo`](#scopes)1413* **Escopo**: [`Qualquer arquivo`](#scopes)

1357* **Tipo**: Boolean1414* **Tipo**: Boolean

1358 * `true`: sessões começam em esforço `xhigh`, com ultracode ativado quando workflows dinâmicos estão habilitados para você, seu modelo suporta `xhigh` e nenhum limite de esforço está abaixo de `xhigh`1415 * `true`: sessões começam com ultracode ativado quando workflows dinâmicos estão habilitados para você e seu modelo suporta `xhigh`

1359 * `false`: sessões começam com ultracode desativado1416 * `false`: sessões começam com ultracode desativado

1360* **Padrão**: sem definir, então ultracode está desativado1417* **Padrão**: sem definir, então ultracode está desativado

1361* **Substituições por sessão**: `/effort ultracode` ativa ultracode para uma sessão sem essa chave. O sinalizador `--effort ultracode` também o ativa para uma sessão e requer Claude Code v2.1.203 ou posterior1418* **Substituições por sessão**: `/effort ultracode` ativa ultracode para uma sessão sem essa chave, e `/effort ultracode off` o desativa para uma sessão quando essa chave é `true`. O sinalizador `--effort ultracode` também o ativa para uma sessão, em esforço `xhigh`, e requer Claude Code v2.1.203 ou posterior

1362 1419 

1363```json settings.json theme={null}1420```json settings.json theme={null}

1364{1421{


1366}1423}

1367```1424```

1368 1425 

1369Ultracode executa a sessão em esforço `xhigh` e tem precedência sobre `effortLevel` e entradas [`modelSettings`](#modelsettings). Se um [limite de esforço](/docs/pt/model-config#organization-effort-limits) abaixo de `xhigh` se aplica ao modelo, como uma configuração [`maxEffortLevel`](#maxeffortlevel), a sessão executa no limite em vez disso e ultracode permanece desativado. Claude então não planeja workflows por conta própria, e `/effort` não oferece `ultracode`. Uma solicitação de controle `apply_flag_settings` do Agent SDK também aceita a chave.1426O nível de esforço da sessão vem de [`effortLevel`](#effortlevel), [`modelSettings`](#modelsettings) e as outras [fontes de esforço](/docs/pt/model-config#adjust-effort-level), e um [limite de esforço](/docs/pt/model-config#organization-effort-limits) como [`maxEffortLevel`](#maxeffortlevel) reduz esse nível sem desativar ultracode. Isso e a forma `/effort ultracode off` requerem Claude Code v2.1.284 ou posterior. Antes da v2.1.284, `ultracode: true` executava a sessão em esforço `xhigh`, e um limite de esforço abaixo de `xhigh` mantinha ultracode desativado. Uma solicitação de controle `apply_flag_settings` do Agent SDK também aceita a chave.

1370 1427 

1371<h2 id="permission-settings">1428<h2 id="permission-settings">

1372 Configurações de permissão1429 Configurações de permissão


1489 `useAutoModeDuringPlan`1546 `useAutoModeDuringPlan`

1490</h3>1547</h3>

1491 1548 

1492Escolha se Claude Code usa o classificador do modo automático para revisar comandos de shell no modo de plano. Com o padrão `true`, o classificador revisa cada comando durante o planejamento quando o modo automático está disponível e você não vê nenhum prompt. Defina `false` para obter um prompt de permissão para cada comando fora do conjunto integrado somente leitura. Aparece em `/config` como **Use auto mode during plan**.1549Escolha se Claude Code usa o classificador do modo automático para revisar comandos de shell no modo de plano. Com o padrão `true`, o classificador revisa cada comando durante o planejamento quando o modo automático está disponível e você não vê nenhum prompt, exceto para [remoções de caminho crítico](/docs/pt/permission-modes#critical-paths). Defina `false` para obter um prompt de permissão para cada comando fora do conjunto integrado somente leitura. Aparece em `/config` como **Use auto mode during plan**.

1493 1550 

1494* **Escopo**: [`User, local, or managed`](#scopes). Um repositório não pode desativá-lo para você.1551* **Escopo**: [`User, local, or managed`](#scopes). Um repositório não pode desativá-lo para você.

1495* **Tipo**: Booleano1552* **Tipo**: Booleano

1496 * `true`: o mesmo que não definido; quando o modo automático está disponível, o classificador revisa cada comando de shell durante o planejamento em vez de solicitar a você. Um `false` em qualquer um desses arquivos ainda o desativa1553 * `true`: o mesmo que não definido; quando o modo automático está disponível, o classificador revisa cada comando de shell durante o planejamento em vez de solicitar a você, exceto [remoções de caminho crítico](/docs/pt/permission-modes#critical-paths). Um `false` em qualquer um desses arquivos ainda o desativa

1497 * `false`: você obtém um prompt de permissão para cada comando fora do conjunto integrado somente leitura1554 * `false`: você obtém um prompt de permissão para cada comando fora do conjunto integrado somente leitura

1498* **Padrão**: `true`1555* **Padrão**: `true`

1499 1556 


1649 `permissions.defaultMode`1706 `permissions.defaultMode`

1650</h3>1707</h3>

1651 1708 

1652Defina o [modo de permissão](/docs/pt/permission-modes) em que novas sessões começam. Quando você deixa não definido, as sessões começam no [padrão integrado](/docs/pt/permission-modes#which-mode-a-session-starts-in) para seu plano e superfície.1709Defina o [modo de permissão](/docs/pt/permission-modes) em que novas sessões começam. Quando você deixa não definido, as sessões começam no [padrão integrado](/docs/pt/permission-modes#which-mode-a-session-starts-in) para sua superfície.

1653 1710 

1654* **Escopo**: [`Any file`](#scopes). `auto` e `bypassPermissions` não entram em vigor a partir de configurações de projeto ou local, portanto defina-os em `~/.claude/settings.json` em vez disso. Antes da v2.1.257, `bypassPermissions` entrava em vigor a partir de qualquer arquivo. Para conversas que a extensão VS Code inicia, Claude Code lê apenas valores de usuário, gerenciados e `--settings`.1711* **Escopo**: [`Any file`](#scopes). `auto` e `bypassPermissions` não entram em vigor a partir de configurações de projeto ou local, portanto defina-os em `~/.claude/settings.json` em vez disso. Antes da v2.1.257, `bypassPermissions` entrava em vigor a partir de qualquer arquivo. Para conversas que a extensão VS Code inicia, Claude Code lê apenas valores de usuário, gerenciados e `--settings`.

1655* **Tipo**: string, uma de:1712* **Tipo**: string, uma de:


3017* [`CLAUDE_CODE_MESSAGING_SOCKET` e `CLAUDE_CODE_MESSAGING_TOKEN`](/docs/pt/env-vars#variables), que Claude Code exporta a si mesmo, são ignoradas de cada arquivo. Ignorar a variável de socket requer Claude Code v2.1.224 ou posterior, e ignorar o token requer v2.1.228 ou posterior.3074* [`CLAUDE_CODE_MESSAGING_SOCKET` e `CLAUDE_CODE_MESSAGING_TOKEN`](/docs/pt/env-vars#variables), que Claude Code exporta a si mesmo, são ignoradas de cada arquivo. Ignorar a variável de socket requer Claude Code v2.1.224 ou posterior, e ignorar o token requer v2.1.228 ou posterior.

3018* [`CLAUDE_CODE_PROJECT_DIR_NAME`](/docs/pt/sessions#name-the-project-directory-yourself), que Claude Code lê apenas do ambiente de inicialização, é ignorada de cada arquivo; requer v2.1.234 ou posterior.3075* [`CLAUDE_CODE_PROJECT_DIR_NAME`](/docs/pt/sessions#name-the-project-directory-yourself), que Claude Code lê apenas do ambiente de inicialização, é ignorada de cada arquivo; requer v2.1.234 ou posterior.

3019* [`CLAUDE_CODE_RESTRICTED`](/docs/pt/env-vars#variables), que Claude Code lê apenas do ambiente de inicialização, é ignorada de cada arquivo.3076* [`CLAUDE_CODE_RESTRICTED`](/docs/pt/env-vars#variables), que Claude Code lê apenas do ambiente de inicialização, é ignorada de cada arquivo.

3077* [`CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY`](/docs/pt/env-vars#variables), que Claude Code lê apenas do ambiente de inicialização, é ignorada de cada arquivo. A variável requer Claude Code v2.1.283 ou posterior.

3078* [`CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT` e `CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT`](/docs/pt/env-vars#variables), que Claude Code lê apenas do ambiente de inicialização, são ignoradas de cada arquivo.

3020 3079 

3021<h3 id="filecheckpointingenabled">3080<h3 id="filecheckpointingenabled">

3022 `fileCheckpointingEnabled`3081 `fileCheckpointingEnabled`


3416* **Type**: string, `"classic"` ou `"readline"`3475* **Type**: string, `"classic"` ou `"readline"`

3417* **Default**: unset3476* **Default**: unset

3418 3477 

3478<h3 id="maxprosewidth">

3479 `maxProseWidth`

3480</h3>

3481 

3482Limite a largura da prosa nas respostas de Claude para que as linhas permaneçam legíveis em um terminal amplo. Parágrafos, títulos, listas e citações em bloco se envolvem dentro deste número de colunas, enquanto tabelas e blocos de código mantêm a largura total do terminal. Requer Claude Code v2.1.282 ou posterior.

3483 

3484* **Scope**: [`Any file`](#scopes)

3485* **Type**: número de colunas do terminal, um número inteiro, mínimo `40`. Claude Code ignora qualquer outro valor

3486* **Default**: unset, portanto a prosa se envolve na borda do terminal

3487 

3488```json settings.json theme={null}

3489{

3490 "maxProseWidth": 80

3491}

3492```

3493 

3419<h3 id="prefersreducedmotion">3494<h3 id="prefersreducedmotion">

3420 `prefersReducedMotion`3495 `prefersReducedMotion`

3421</h3>3496</h3>


4090 4165 

4091* **Escopo**: [`Qualquer arquivo`](#scopes)4166* **Escopo**: [`Qualquer arquivo`](#scopes)

4092* **Tipo**: string4167* **Tipo**: string

4093* **Padrão**: não definido, então Claude Code adiciona `Co-Authored-By: <name> <noreply@anthropic.com>`. O nome é o modelo ativo da sessão, como `Claude Sonnet 5`.4168* **Padrão**: não definido, então Claude Code adiciona `Co-Authored-By: <name> <noreply@anthropic.com>`. O nome é o modelo em uso quando o commit é feito, como `Claude Sonnet 5`. Quando um [subagent](/docs/pt/sub-agents) faz o commit, o trailer nomeia o modelo do subagent.

4094 * Quando Claude Code reconhece o modelo como um modelo Claude mas não consegue confirmar sua versão exata, escreve `Claude` sozinho.4169 * Quando Claude Code reconhece o modelo como um modelo Claude mas não consegue confirmar sua versão exata, escreve `Claude` sozinho.

4095 * Quando não consegue corresponder o ID do modelo a nenhum modelo Claude, como um modelo de terceiros servido através de um [`ANTHROPIC_BASE_URL`](/docs/pt/env-vars) customizado, escreve `Claude Code`.4170 * Quando não consegue corresponder o ID do modelo a nenhum modelo Claude, como um modelo de terceiros servido através de um [`ANTHROPIC_BASE_URL`](/docs/pt/env-vars) customizado, escreve `Claude Code`.

4096 4171 


5689* **Tipo**: Boolean5764* **Tipo**: Boolean

5690 * `true`: Claude Code conecta o Controle Remoto automaticamente quando cada sessão interativa inicia5765 * `true`: Claude Code conecta o Controle Remoto automaticamente quando cada sessão interativa inicia

5691 * `false`: Claude Code espera por `/remote-control`5766 * `false`: Claude Code espera por `/remote-control`

5692* **Padrão**: não definido, então a conexão automática segue o padrão de administrador de sua organização quando um está definido, e caso contrário, o padrão atual do Claude Code5767* **Padrão**: não definido, então o [padrão de auto-conexão](/docs/pt/remote-control#enable-remote-control-for-all-sessions) se aplica

5693* **Substituições por sessão**: `--remote-control` ativa o Controle Remoto para uma sessão mesmo quando essa chave é `false`, e nenhuma flag o desativa para uma sessão5768* **Substituições por sessão**: `--remote-control` ativa o Controle Remoto para uma sessão mesmo quando essa chave é `false`, e nenhuma flag o desativa para uma sessão

5694 5769 

5695```json settings.json theme={null}5770```json settings.json theme={null}


5841 5916 

5842Defina a URL do gateway à qual a tela `/login` Cloud gateway se conecta, para que as pessoas alcancem seu [gateway na nuvem](/docs/pt/claude-apps-gateway) sem digitar seu endereço. A tela não tem campo de URL: com esta chave definida, ela mostra a URL do seu gateway e se conecta quando a pessoa pressiona Enter; sem ela, diz a elas para entrar em contato com seu administrador de TI.5917Defina a URL do gateway à qual a tela `/login` Cloud gateway se conecta, para que as pessoas alcancem seu [gateway na nuvem](/docs/pt/claude-apps-gateway) sem digitar seu endereço. A tela não tem campo de URL: com esta chave definida, ela mostra a URL do seu gateway e se conecta quando a pessoa pressiona Enter; sem ela, diz a elas para entrar em contato com seu administrador de TI.

5843 5918 

5844Ou esta chave ou `forceLoginMethod: "gateway"` torna a máquina apenas gateway, portanto `/login` abre na tela Cloud gateway sem seletor de método de login. Veja [A política do administrador requer um login de gateway na nuvem](/docs/pt/errors#administrator-policy-requires-a-cloud-gateway-sign-in) para o que acontece com um login de primeira parte restante ou chave API. Defina ambas as chaves para que a tela se conecte em vez de mostrar um erro.5919Ou esta chave ou `forceLoginMethod: "gateway"` torna a máquina apenas gateway, exceto para sessões que selecionam um provedor de nuvem com `CLAUDE_CODE_USE_*`. `/login` então abre na tela Cloud gateway sem seletor de método de login. Veja [A política do administrador requer um login de gateway na nuvem](/docs/pt/errors#administrator-policy-requires-a-cloud-gateway-sign-in) para o que acontece com um login de primeira parte restante ou chave API. Defina ambas as chaves para que a tela se conecte em vez de mostrar um erro.

5845 5920 

5846* **Escopo**: [`Gerenciado`](#scopes). Leia apenas de uma fonte na máquina: `managed-settings.json`, a plist do macOS ou registro HKLM do Windows, ou um auxiliar de política. Claude Code a ignora em configurações HKCU e gerenciadas por servidor.5921* **Escopo**: [`Gerenciado`](#scopes). Leia apenas de uma fonte na máquina: `managed-settings.json`, a plist do macOS ou registro HKLM do Windows, ou um auxiliar de política. Claude Code a ignora em configurações HKCU e gerenciadas por servidor.

5847* **Tipo**: string, uma URL completa incluindo o esquema5922* **Tipo**: string, uma URL completa incluindo o esquema


6094 `cleanupPeriodDays`6169 `cleanupPeriodDays`

6095</h3>6170</h3>

6096 6171 

6097Defina quantos dias o Claude Code mantém [transcrições de sessão e outros dados de aplicação](/docs/pt/claude-directory#cleaned-up-automatically) antes de deletá-los. O Claude Code executa a exclusão como uma varredura em segundo plano após uma sessão iniciar, desde que possa determinar com segurança o período de retenção.6172Defina quantos dias o Claude Code mantém [transcrições de sessão e outros dados de aplicação](/docs/pt/claude-directory#cleaned-up-automatically) antes de deletá-los. O Claude Code executa a exclusão como uma varredura em segundo plano após uma sessão iniciar, desde que possa determinar com segurança o período de retenção. A varredura deleta transcrições sem mostrar uma mensagem, então uma sessão que você não usou por mais tempo do que o período de retenção não aparece mais no seletor [`/resume`](/docs/pt/sessions#resume-a-session).

6098 6173 

6099* **Escopo**: [`Any file`](#scopes)6174* **Escopo**: [`Any file`](#scopes)

6100* **Tipo**: número de dias, um número inteiro, mínimo `1`6175* **Tipo**: número de dias, um número inteiro, mínimo `1`


6438 `wslInheritsWindowsSettings`6513 `wslInheritsWindowsSettings`

6439</h3>6514</h3>

6440 6515 

6441Faça Claude Code no WSL ler configurações gerenciadas da cadeia de política do Windows, com HKLM e o arquivo de configurações gerenciadas do Windows tendo prioridade sobre `/etc/claude-code` e HKCU abaixo. Enquanto a cadeia está ativada, Claude Code lê `/etc/claude-code` apenas quando nenhum arquivo de configurações gerenciadas ou drop-in sob `C:\Program Files\ClaudeCode\` entrega uma [chave de política](/docs/pt/managed-settings#how-claude-code-combines-managed-sources). Defina-o para estender a política que você já implanta no Windows para sessões WSL na mesma máquina, para que sigam as mesmas regras que sessões de host. Claude Code a honra apenas quando definida na chave de registro HKLM ou em um arquivo de configurações gerenciadas ou drop-in sob `C:\Program Files\ClaudeCode\`, ambos exigindo administrador do Windows para escrever.6516Faça Claude Code no WSL ler configurações gerenciadas da cadeia de política do Windows, com HKLM e o arquivo de configurações gerenciadas do Windows tendo prioridade sobre `/etc/claude-code` e HKCU abaixo. Enquanto a cadeia está ativada, Claude Code lê `/etc/claude-code` apenas quando [nenhum documento de administrador do Windows está presente](/docs/pt/managed-settings#present-admin-documents) no valor de registro HKLM ou na pasta `C:\Program Files\ClaudeCode\`. Defina-o para estender a política que você já implanta no Windows para sessões WSL na mesma máquina, para que sigam as mesmas regras que sessões de host. Claude Code a honra apenas quando definida na chave de registro HKLM ou em um arquivo de configurações gerenciadas ou drop-in sob `C:\Program Files\ClaudeCode\`, ambos exigindo administrador do Windows para escrever.

6442 6517 

6443* **Escopo**: [`Managed`](#scopes). Em uma fonte do Windows controlada por administrador.6518* **Escopo**: [`Managed`](#scopes). Em uma fonte do Windows controlada por administrador.

6444* **Tipo**: Booleano6519* **Tipo**: Booleano

6445 * `true`: Claude Code no WSL lê configurações gerenciadas da cadeia de política do Windows e lê `/etc/claude-code` apenas quando nenhum arquivo de configurações gerenciadas ou drop-in sob `C:\Program Files\ClaudeCode\` entrega uma [chave de política](/docs/pt/managed-settings#how-claude-code-combines-managed-sources)6520 * `true`: Claude Code no WSL lê configurações gerenciadas da cadeia de política do Windows e lê `/etc/claude-code` apenas quando nenhum documento de administrador do Windows está presente

6446 * `false`: WSL lê apenas `/etc/claude-code`6521 * `false`: WSL lê apenas `/etc/claude-code`

6447* **Padrão**: `false`, então WSL lê apenas `/etc/claude-code`6522* **Padrão**: `false`, então WSL lê apenas `/etc/claude-code`

6448 6523 


6454 6529 

6455Uma vez que uma fonte de administrador ativa a cadeia, a política HKCU se une a ela no WSL apenas quando HKCU também define a chave como `true`. Essa cópia não ativa a cadeia por si só. Uma fonte do Windows que contém apenas essa chave não conta como uma fonte de política, então uma fonte de prioridade mais baixa ainda fornece a política. Esta chave não tem efeito no Windows nativo.6530Uma vez que uma fonte de administrador ativa a cadeia, a política HKCU se une a ela no WSL apenas quando HKCU também define a chave como `true`. Essa cópia não ativa a cadeia por si só. Uma fonte do Windows que contém apenas essa chave não conta como uma fonte de política, então uma fonte de prioridade mais baixa ainda fornece a política. Esta chave não tem efeito no Windows nativo.

6456 6531 

6532Claude Code lê `true` e `false` com ou sem aspas e lê `null` como removendo a chave. Uma fonte do Windows controlada por administrador que contém qualquer outro valor conta como um [documento de administrador presente](/docs/pt/managed-settings#present-admin-documents) com a cadeia ativada: nem `/etc/claude-code` nem HKCU se aplica, e um aviso de inicialização nomeia a chave. Um valor HKLM ou arquivo de pasta do Windows que existe mas não pode ser lido também impede que `/etc/claude-code` se aplique independentemente de a cadeia estar ativada. Requer Claude Code v2.1.282 ou posterior.

6533 

6457<h2 id="global-config-settings">6534<h2 id="global-config-settings">

6458 Configurações globais6535 Configurações globais

6459</h2>6536</h2>


6502 6579 

6503Claude Code ignora essa chave em `settings.json`.6580Claude Code ignora essa chave em `settings.json`.

6504 6581 

6582<h3 id="claudeinchromedefaultenabled">

6583 `claudeInChromeDefaultEnabled`

6584</h3>

6585 

6586Inicie cada sessão CLI interativa com [integração Chrome](/docs/pt/chrome) ativada, sem passar `--chrome` cada vez. Se você executar [`claude remote-control`](/docs/pt/remote-control), uma sessão que ele inicia para um de seus threads de [projeto](/docs/pt/claude-projects) segue essa chave também, exceto no modo `bypassPermissions`. Executar `/chrome` e selecionar **Habilitado por padrão** define essa chave para você, conforme descrito em [Habilitar Chrome por padrão](/docs/pt/chrome#enable-chrome-by-default). Aparece em `/config` como **Claude no Chrome habilitado por padrão**.

6587 

6588* **Escopo**: [`Global config`](#scopes)

6589* **Tipo**: Booleano

6590 * `true`: Claude Code ativa a integração Chrome quando uma sessão CLI interativa inicia, como faz quando você passa `--chrome`

6591 * `false`: sessões CLI interativas iniciam com integração Chrome desativada, e Claude Code para de [oferecer configurá-la](/docs/pt/chrome#install-the-extension-when-claude-asks). Passe `--chrome` para ativá-la para uma sessão interativa

6592* **Padrão**: não definido, então a integração Chrome está desativada e Claude Code ainda pode oferecer configurá-la

6593* **Substituições por sessão**: `--chrome` e [`--no-chrome`](/docs/pt/cli-reference) têm precedência sobre essa chave para uma sessão interativa

6594 

6595```json ~/.claude.json theme={null}

6596{

6597 "claudeInChromeDefaultEnabled": true

6598}

6599```

6600 

6601Claude Code ignora essa chave em `settings.json`.

6602 

6603<h3 id="copyfullresponse">

6604 `copyFullResponse`

6605</h3>

6606 

6607Faça [`/copy`](/docs/pt/commands) copiar a resposta completa toda vez, sem o seletor que ele mostra quando a resposta contém blocos de código. Selecionar **Sempre copiar resposta completa** nesse seletor define essa chave como `true`. Aparece em `/config` como **Pular o seletor /copy**.

6608 

6609* **Escopo**: [`Global config`](#scopes)

6610* **Tipo**: Booleano

6611 * `true`: `/copy` copia a resposta completa sem mostrar o seletor

6612 * `false`: quando a resposta contém blocos de código, `/copy` mostra um seletor onde você escolhe um bloco de código ou a resposta completa

6613* **Padrão**: `false`

6614 

6615```json ~/.claude.json theme={null}

6616{

6617 "copyFullResponse": true

6618}

6619```

6620 

6621Claude Code ignora essa chave em `settings.json`.

6622 

6505<h3 id="copyonselect">6623<h3 id="copyonselect">

6506 `copyOnSelect`6624 `copyOnSelect`

6507</h3>6625</h3>


6522 6640 

6523Claude Code ignora essa chave em `settings.json`.6641Claude Code ignora essa chave em `settings.json`.

6524 6642 

6643<h3 id="defaulttoagentsview">

6644 `defaultToAgentsView`

6645</h3>

6646 

6647Abra [visualização de agente](/docs/pt/agent-view) em vez de uma nova conversa quando você executa `claude` sem argumentos. Aparece em `/config` como **Abrir visualização de agentes por padrão** a menos que a visualização de agente esteja [desativada](#disableagentview).

6648 

6649* **Escopo**: [`Global config`](#scopes)

6650* **Tipo**: Booleano

6651 * `true`: `claude` sem argumentos abre a visualização de agente, a menos que a visualização de agente esteja [desativada](#disableagentview)

6652 * `false`: `claude` sem argumentos inicia uma nova conversa

6653* **Padrão**: `false`

6654 

6655```json ~/.claude.json theme={null}

6656{

6657 "defaultToAgentsView": true

6658}

6659```

6660 

6661Claude Code ignora essa chave em `settings.json`.

6662 

6525<h3 id="difftool">6663<h3 id="difftool">

6526 `diffTool`6664 `diffTool`

6527</h3>6665</h3>


6576 6714 

6577Claude Code ignora essa chave em `settings.json`.6715Claude Code ignora essa chave em `settings.json`.

6578 6716 

6717<h3 id="leftarrowopensagents">

6718 `leftArrowOpensAgents`

6719</h3>

6720 

6721Pressione `←` em um prompt vazio para [colocar a sessão em segundo plano e abrir a visualização de agente](/docs/pt/agent-view#switch-sessions-without-leaving-the-terminal). Defina essa chave como `false` para desativar o atalho. Aparece em `/config` como **← abre agentes** quando a visualização de agente está disponível.

6722 

6723* **Escopo**: [`Global config`](#scopes)

6724* **Tipo**: Booleano

6725 * `true`: pressionar `←` em um prompt vazio em uma sessão que você iniciou no terminal a coloca em segundo plano e abre a visualização de agente

6726 * `false`: Claude Code desativa o atalho; em uma sessão que você [anexou a partir da visualização de agente](/docs/pt/agent-view#attach-to-a-session), `←` em um prompt vazio ainda desanexa

6727* **Padrão**: `true`

6728 

6729```json ~/.claude.json theme={null}

6730{

6731 "leftArrowOpensAgents": false

6732}

6733```

6734 

6735Claude Code ignora essa chave em `settings.json`.

6736 

6579<h3 id="permissionexplainerenabled">6737<h3 id="permissionexplainerenabled">

6580 `permissionExplainerEnabled`6738 `permissionExplainerEnabled`

6581</h3>6739</h3>


6590* **Tipo**: Booleano6748* **Tipo**: Booleano

6591* **Padrão**: `true`6749* **Padrão**: `true`

6592 6750 

6751<h3 id="prstatusfooterenabled">

6752 `prStatusFooterEnabled`

6753</h3>

6754 

6755Mostre um badge no rodapé do prompt para o pull request ou merge request aberto do branch atual, com um sublinhado colorido que mostra seu [status](/docs/pt/interactive-mode#pr-review-status). Aparece em `/config` como **Mostrar rodapé de status de PR**.

6756 

6757* **Escopo**: [`Global config`](#scopes)

6758* **Tipo**: Booleano

6759 * `true`: o rodapé mostra o badge sob as condições em [Status de revisão de PR](/docs/pt/interactive-mode#pr-review-status)

6760 * `false`: Claude Code pula a verificação de pull request e merge request do rodapé e não mostra esse badge. Uma sessão que você [anexou a partir da visualização de agente](/docs/pt/agent-view#attach-to-a-session) ainda pode mostrar um link simples para um pull request [vinculado a ela](/docs/pt/agent-view#pull-request-status)

6761* **Padrão**: `true`

6762 

6763```json ~/.claude.json theme={null}

6764{

6765 "prStatusFooterEnabled": false

6766}

6767```

6768 

6769Claude Code ignora essa chave em `settings.json`.

6770 

6593<h3 id="teammatedefaultmodel">6771<h3 id="teammatedefaultmodel">

6594 `teammateDefaultModel`6772 `teammateDefaultModel`

6595</h3>6773</h3>

setup.md +3 −3

Details

37 37 

38<Tip>38<Tip>

39 Prefere uma interface gráfica? O [aplicativo de desktop](/docs/pt/desktop-quickstart) permite que você use Claude Code sem o terminal. Baixe-o para [macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs), [Windows](https://claude.com/download?utm_source=claude_code\&utm_medium=docs) ou [Linux](/docs/pt/desktop-linux).39 Prefere uma interface gráfica? O [aplicativo de desktop](/docs/pt/desktop-quickstart) permite que você use Claude Code sem o terminal. Baixe-o para [macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs), [Windows](https://claude.com/download?utm_source=claude_code\&utm_medium=docs) ou [Linux](/docs/pt/desktop-linux).

40 

41 Novo no terminal? Consulte o [guia de terminal](/docs/pt/terminal-guide) para instruções passo a passo.

42</Tip>40</Tip>

43 41 

44Para instalar Claude Code, use um dos seguintes métodos:42Para instalar Claude Code, abra um terminal e execute o comando para seu sistema. Se você nunca usou um terminal antes, o [guia de terminal](/docs/pt/terminal-guide) mostra como abrir um e colar o comando.

45 43 

46<Tabs>44<Tabs>

47 <Tab title="Instalação Nativa (Recomendado)">45 <Tab title="Instalação Nativa (Recomendado)">


63 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd61 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

64 ```62 ```

65 63 

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

65 

66 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. Seu prompt mostra `PS C:\` quando você está no PowerShell e `C:\` sem o `PS` quando você está no CMD.66 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. Seu prompt mostra `PS C:\` quando você está no PowerShell e `C:\` sem o `PS` quando você está no CMD.

67 67 

68 Se o comando de instalação falhar com `syntax error near unexpected token '<'`, um `403`, ou outro erro de curl, consulte [Solucionar problemas de instalação](/docs/pt/troubleshoot-install#find-your-error) para corresponder o erro a uma correção e para métodos alternativos de instalação.68 Se o comando de instalação falhar com `syntax error near unexpected token '<'`, um `403`, ou outro erro de curl, consulte [Solucionar problemas de instalação](/docs/pt/troubleshoot-install#find-your-error) para corresponder o erro a uma correção e para métodos alternativos de instalação.

skills.md +69 −50

Details

76 </Step>76 </Step>

77 77 

78 <Step title="Escreva SKILL.md">78 <Step title="Escreva SKILL.md">

79 Toda skill precisa de um arquivo `SKILL.md` com duas partes: frontmatter YAML entre marcadores `---` que diz a Claude quando usar a skill, e conteúdo markdown com as instruções que Claude segue quando a skill é executada. O nome do diretório se torna o comando que você digita, e a `description` ajuda Claude a decidir quando carregar a skill automaticamente.79 Toda skill precisa de um arquivo `SKILL.md` com duas partes: frontmatter YAML entre marcadores `---` que diz a Claude quando usar a skill, e conteúdo markdown com as instruções que Claude segue quando a skill é executada. O nome do diretório, ou o frontmatter `name` quando você define um, se torna o comando que você digita, e a `description` ajuda Claude a decidir quando carregar a skill automaticamente.

80 80 

81 Salve isto em `~/.claude/skills/summarize-changes/SKILL.md`:81 Salve isto em `~/.claude/skills/summarize-changes/SKILL.md`:

82 82 


117</Steps>117</Steps>

118 118 

119<h2 id="where-skills-live">119<h2 id="where-skills-live">

120 Escolha onde as skills carregam120 Escolha onde as skills são carregadas

121</h2>121</h2>

122 122 

123Onde você salva uma skill decide quais sessões a carregam. Salve-a no seu diretório inicial para obtê-la em todos os projetos, confirme-a em um repositório para compartilhá-la com todos que trabalham lá, ou distribua-a através de um plugin ou configurações gerenciadas para alcançar um time inteiro.123Onde você salva uma skill decide quais sessões a carregam. Salve-a no seu diretório inicial para obtê-la em todos os projetos, confirme-a em um repositório para compartilhá-la com todos que trabalham lá, ou distribua-a através de um plugin ou configurações gerenciadas para alcançar toda uma equipe.

124 124 

125| Localização | Caminho | Carrega em |125| Local | Caminho | Carrega em |

126| :- | :- | :- |126| :- | :- | :- |

127| Enterprise | `.claude/skills/<skill-name>/SKILL.md` no [diretório de configurações gerenciadas](/docs/pt/managed-settings#delivery-mechanisms) | Todos os usuários em máquinas onde sua organização a implanta |127| Enterprise | `.claude/skills/<skill-name>/SKILL.md` no [diretório de configurações gerenciadas](/docs/pt/managed-settings#delivery-mechanisms) | Todos os usuários em máquinas onde sua organização a implanta |

128| Personal | `~/.claude/skills/<skill-name>/SKILL.md` | Todos os seus projetos nesta máquina, mas não em [sessões Cowork ou cloud](#skills-in-cowork-and-cloud-sessions) |128| Personal | `~/.claude/skills/<skill-name>/SKILL.md` | Todos os seus projetos nesta máquina, mas não em [sessões Cowork ou cloud](#skills-in-cowork-and-cloud-sessions) |

129| Project | `.claude/skills/<skill-name>/SKILL.md` | Sessões neste repositório. Confirme-a para que seu time também a obtenha |129| Project | `.claude/skills/<skill-name>/SKILL.md` | Sessões neste repositório. Confirme-a para que sua equipe também a obtenha |

130| Nested | `<subdir>/.claude/skills/<skill-name>/SKILL.md` | Sessões iniciadas em ou abaixo de `<subdir>`. Uma sessão iniciada acima dela carrega a skill uma vez que Claude trabalha em arquivos lá. Veja [monorepos e subdiretórios](#discovery-from-parent-and-nested-directories) |130| Nested | `<subdir>/.claude/skills/<skill-name>/SKILL.md` | Sessões iniciadas em ou abaixo de `<subdir>`. Uma sessão iniciada acima dela carrega a skill uma vez que Claude trabalha em arquivos lá. Veja [monorepos e subdiretórios](#discovery-from-parent-and-nested-directories) |

131| Diretório adicional | `.claude/skills/<skill-name>/SKILL.md` em um diretório que você passa com `--add-dir` | Essa sessão. Veja [diretórios fora do projeto](#skills-from-additional-directories) |131| Diretório adicional | `.claude/skills/<skill-name>/SKILL.md` em um diretório que você passa com `--add-dir` | Essa sessão. Veja [diretórios fora do projeto](#skills-from-additional-directories) |

132| Plugin | `<plugin>/skills/<skill-name>/SKILL.md` | Onde quer que o [plugin](/docs/pt/plugins/overview) esteja habilitado, como `/plugin-name:skill-name` |132| Plugin | `<plugin>/skills/<skill-name>/SKILL.md` | Onde quer que o [plugin](/docs/pt/plugins/overview) esteja habilitado, como `/plugin-name:skill-name` |

133| Conta claude.ai | Skills habilitadas para sua conta claude.ai | Sessões Cowork, sessões cloud e sessões de terminal onde você entra com essa conta. Veja [Skills sincronizadas do claude.ai](#how-synced-skills-behave) |133| Conta claude.ai | Skills habilitadas para sua conta claude.ai | Sessões Cowork, sessões cloud e sessões de terminal onde você se conecta com essa conta. Veja [Skills sincronizadas do claude.ai](#how-synced-skills-behave) |

134 134 

135As pastas de skill também seguem estas regras:135As pastas de skill também seguem estas regras:

136 136 

137* **Pastas com symlink**: uma entrada `<skill-name>` na localização enterprise, personal ou project pode ser um symlink para um diretório em outro lugar no disco. Claude Code lê `SKILL.md` do alvo e carrega a skill uma vez mesmo que vários locais apontem para o mesmo alvo. Skills de plugin [lidam com symlinks de forma diferente](/docs/pt/plugins/host-marketplace#share-files-within-a-marketplace-with-symlinks).137* **Pastas com symlink**: uma entrada `<skill-name>` no local enterprise, personal ou project pode ser um symlink para um diretório em outro lugar no disco. Claude Code lê `SKILL.md` do alvo e carrega a skill uma vez mesmo que vários locais apontem para o mesmo alvo. Skills de plugin [lidam com symlinks de forma diferente](/docs/pt/plugins/host-marketplace#share-files-within-a-marketplace-with-symlinks).

138* **Nome reservado**: não nomeie uma pasta de skill como `synced`, em qualquer capitalização. Claude Code usa `~/.claude/skills/synced/` para [skills baixadas do claude.ai](#where-synced-skills-load) e pula uma skill que você cria com esse nome nas localizações enterprise, personal e project.138* **Nome reservado `synced`**: não nomeie uma pasta de skill como `synced`, em qualquer capitalização. Claude Code usa `~/.claude/skills/synced/` para [skills baixadas do claude.ai](#where-synced-skills-load) e pula uma skill que você cria com esse nome nos locais enterprise, personal e project.

139* **Nome reservado `anthropic-skills`**: fora de um plugin, uma pasta de skill ou arquivo de comando cujo nome é `anthropic-skills` ou começa com `anthropic-skills:` não carrega. Veja [Nomes reservados para skills sincronizadas](#names-reserved-for-synced-skills).

139* **Arquivos de comando**: um arquivo Markdown em `.claude/commands/` é o formato mais antigo e ainda funciona. Ele suporta o mesmo [frontmatter](#frontmatter-reference) exceto `name` e `paths`. Para encontrar o nome que você digita para invocá-lo, veja [Como uma skill obtém seu nome de comando](#how-a-skill-gets-its-command-name). Prefira uma skill para novo trabalho, já que skills também suportam [arquivos de suporte](#add-supporting-files).140* **Arquivos de comando**: um arquivo Markdown em `.claude/commands/` é o formato mais antigo e ainda funciona. Ele suporta o mesmo [frontmatter](#frontmatter-reference) exceto `name` e `paths`. Para encontrar o nome que você digita para invocá-lo, veja [Como uma skill obtém seu nome de comando](#how-a-skill-gets-its-command-name). Prefira uma skill para novo trabalho, já que skills também suportam [arquivos de suporte](#add-supporting-files).

140* **Pasta de skill como um plugin**: adicione um `.claude-plugin/plugin.json` a uma pasta de skill e ela carrega como um [plugin](/docs/pt/plugins/loading#plugins-shared-through-a-repository) nomeado `<name>@skills-dir`, para que possa agrupar agents, hooks e servidores MCP. Em um `.claude/skills/` de projeto, isso requer aceitar primeiro o diálogo de confiança do workspace.141* **Pasta de skill como um plugin**: adicione um `.claude-plugin/plugin.json` a uma pasta de skill e ela carrega como um [plugin](/docs/pt/plugins/loading#plugins-shared-through-a-repository) nomeado `<name>@skills-dir`, para que possa agrupar agents, hooks e servidores MCP. Em um `.claude/skills/` de projeto, isso requer aceitar primeiro o diálogo de confiança do workspace.

141 142 


145 146 

146Claude Code carrega skills de projeto de `.claude/skills/` no diretório onde você o inicia e em todos os diretórios pai até a raiz do repositório, então iniciar em `packages/frontend/` ainda pega skills definidas na raiz. Quando você [move a sessão com `/cd`](/docs/pt/permissions#move-the-session-to-another-directory) na v2.1.246 ou posterior, Claude Code adiciona as skills de projeto do novo diretório.147Claude Code carrega skills de projeto de `.claude/skills/` no diretório onde você o inicia e em todos os diretórios pai até a raiz do repositório, então iniciar em `packages/frontend/` ainda pega skills definidas na raiz. Quando você [move a sessão com `/cd`](/docs/pt/permissions#move-the-session-to-another-directory) na v2.1.246 ou posterior, Claude Code adiciona as skills de projeto do novo diretório.

147 148 

148Em uma sessão executada em um [git worktree](/docs/pt/worktrees) vinculado, Claude Code pesquisa diretórios pai apenas até a raiz do worktree. No Claude Code v2.1.277 ou posterior, quando o checkout do worktree não tem um diretório `.claude/skills` em sua raiz, Claude Code carrega as skills de projeto do checkout principal. Veja [O que worktrees compartilham com o checkout principal](/docs/pt/worktrees#what-worktrees-share-with-the-main-checkout).149Em uma sessão executada em um [git worktree](/docs/pt/worktrees) vinculado, Claude Code pesquisa diretórios pai apenas até a raiz do worktree. Na Claude Code v2.1.277 ou posterior, quando o checkout do worktree não tem um diretório `.claude/skills` em sua raiz, Claude Code carrega as skills de projeto do checkout principal. Veja [O que worktrees compartilham com o checkout principal](/docs/pt/worktrees#what-worktrees-share-with-the-main-checkout).

149 150 

150Skills em um diretório `.claude/skills/` abaixo de onde você iniciou não carregam na inicialização. Elas carregam na primeira vez que Claude lê ou edita um arquivo naquele subdiretório e permanecem disponíveis pelo resto da sessão. Até então elas não aparecem no menu `/` e você não pode invocá-las por nome. Para carregá-las mais cedo, execute `/add-dir` com o caminho do subdiretório, o que requer Claude Code v2.1.257 ou posterior.151Skills em um diretório `.claude/skills/` abaixo de onde você iniciou não carregam na inicialização. Elas carregam na primeira vez que Claude lê ou edita um arquivo naquele subdiretório e permanecem disponíveis pelo resto da sessão. Até então, elas não aparecem no menu `/` e você não pode invocá-las por nome. Para carregá-las mais cedo, execute `/add-dir` com o caminho do subdiretório, o que requer Claude Code v2.1.257 ou posterior.

151 152 

152Quando uma skill aninhada compartilha um nome com outra skill, ambas permanecem disponíveis. Com uma skill `deploy` na raiz do repositório e outra em `apps/web/.claude/skills/`:153Quando o nome do diretório de uma skill aninhada corresponde ao nome de outra skill, ambas permanecem disponíveis. Com uma skill `deploy` na raiz do repositório e outra em `apps/web/.claude/skills/`:

153 154 

154* `/deploy` executa a skill da raiz. Claude Code também lista as variantes qualificadas por diretório para Claude, com uma instrução para invocar aquela cujo diretório contém os arquivos em que está trabalhando, então a skill aninhada ainda se aplica ao trabalho em `apps/web/`.155* `/deploy` executa a skill raiz. Claude Code também lista as variantes qualificadas por diretório para Claude, com uma instrução para invocar aquela cujo diretório contém os arquivos em que está trabalhando, para que a skill aninhada ainda se aplique ao trabalho em `apps/web/`.

155* `/apps/web:deploy` executa a skill aninhada por conta própria. Sua descrição nomeia o diretório ao qual se aplica.156* `/apps/web:deploy` executa a skill aninhada por conta própria. Sua descrição nomeia o diretório ao qual se aplica.

156 157 

157<h3 id="skills-from-additional-directories">158<h3 id="skills-from-additional-directories">


168 Resolva skills que compartilham um nome169 Resolva skills que compartilham um nome

169</h3>170</h3>

170 171 

171Quando duas skills compartilham um nome, de onde cada uma veio decide qual `/name` executa. A tabela cobre as localizações enterprise, personal, project, nested, plugin e claude.ai, skills agrupadas e arquivos de comando:172Quando duas skills compartilham um nome de diretório ou arquivo, de onde cada uma veio decide qual `/name` executa. Para um nome definido pelo campo frontmatter `name`, veja [Como uma skill obtém seu nome de comando](#how-a-skill-gets-its-command-name). A tabela cobre os locais enterprise, personal, project, nested, plugin e claude.ai, skills agrupadas e arquivos de comando:

172 173 

173| Mesmo nome em | Qual executa |174| Mesmo nome em | Qual executa |

174| :- | :- |175| :- | :- |

175| Dois de enterprise, personal e project | Enterprise sobre personal, e personal sobre project. Com `deploy` em ambos `~/.claude/skills/` e o `.claude/skills/` do projeto, `/deploy` executa a pessoal |176| Dois de enterprise, personal e project | Enterprise sobre personal, e personal sobre project. Com `deploy` em ambos `~/.claude/skills/` e o `.claude/skills/` do projeto, `/deploy` executa o pessoal |

176| Qualquer uma dessas localizações e uma [skill agrupada](#bundled-skills) | Sua skill substitui o comando agrupado, mas não seus aliases. Uma skill `code-review` de projeto substitui `/code-review`, e o alias agrupado `/review` nunca executa sua skill |177| Qualquer um desses locais e uma [skill agrupada](#bundled-skills) | Sua skill substitui o comando agrupado, mas não seus aliases. Uma skill `code-review` de projeto substitui `/code-review`, e o alias agrupado `/review` nunca executa sua skill |

177| Uma skill e um arquivo em `.claude/commands/` | A skill |178| Uma skill e um arquivo em `.claude/commands/` | A skill |

178| Uma skill de raiz de projeto e uma skill aninhada | Ambas carregam. Veja [monorepos e subdiretórios](#discovery-from-parent-and-nested-directories) |179| Uma skill raiz de projeto e uma skill aninhada | Ambas carregam. Veja [monorepos e subdiretórios](#discovery-from-parent-and-nested-directories) |

179| Uma skill de plugin e uma skill em qualquer uma das localizações acima | Ambas carregam, porque skills de plugin são nomeadas como `/plugin-name:skill-name` |180| Uma skill de plugin e uma skill em qualquer um dos locais acima | Ambas carregam, porque skills de plugin são nomeadas como `/plugin-name:skill-name` |

180| Qualquer uma das acima e uma skill [sincronizada de sua conta claude.ai](#how-synced-skills-behave) | A outra skill ou comando. A skill sincronizada ainda executa como `/anthropic-skills:<name>`. Veja [Quando um nome de skill sincronizada corresponde a outro comando](#when-a-synced-skill-name-matches-another-command) |181| Qualquer um dos acima e o nome curto de uma skill [sincronizada de sua conta claude.ai](#how-synced-skills-behave) | A outra skill ou comando. A skill sincronizada é então listada e executa apenas sob seu nome completo. Veja [Quando um nome de skill sincronizada corresponde a outro comando](#when-a-synced-skill-name-matches-another-command) |

181 182 

182<h3 id="skills-in-cowork-and-cloud-sessions">183<h3 id="skills-in-cowork-and-cloud-sessions">

183 Use skills em sessões Cowork e cloud184 Use skills em sessões Cowork e cloud

184</h3>185</h3>

185 186 

186Sessões [Cowork](https://claude.com/product/cowork) e [sessões cloud](/docs/pt/cloud-environments#what-carries-over-from-your-setup), incluindo [rotinas](/docs/pt/routines), não leem `~/.claude/skills/` em sua máquina. Tanto sessões Cowork interativas quanto agendadas carregam as skills habilitadas para sua conta claude.ai, sincronizadas no início da sessão; gerencie-as em **Customize** na barra lateral do aplicativo Desktop ou nas configurações de skills no claude.ai. Sessões cloud adicionalmente carregam skills de projeto confirmadas no `.claude/skills/` do repositório clonado.187Sessões [Cowork](https://claude.com/product/cowork) e [sessões cloud](/docs/pt/cloud-environments#what-carries-over-from-your-setup), incluindo [rotinas](/docs/pt/routines), não leem `~/.claude/skills/` em sua máquina. Tanto sessões Cowork interativas quanto agendadas carregam as skills habilitadas para sua conta claude.ai, sincronizadas no início da sessão; gerencie-as em **Customize** na barra lateral do aplicativo Desktop ou nas configurações de skills em claude.ai. Sessões cloud carregam adicionalmente skills de projeto confirmadas no `.claude/skills/` do repositório clonado.

187 188 

188Se uma skill existe apenas em `~/.claude/skills/` em sua máquina, Claude Code relata que a skill não foi encontrada quando uma [rotina](/docs/pt/routines) a invoca, porque cada execução de rotina inicia como uma sessão cloud nova. Para disponibilizar uma skill pessoal nessas sessões:189Se uma skill existe apenas em `~/.claude/skills/` em sua máquina, Claude Code relata que a skill não foi encontrada quando uma [rotina](/docs/pt/routines) a invoca, porque cada execução de rotina começa como uma sessão cloud nova. Para disponibilizar uma skill pessoal nessas sessões:

189 190 

190* Para sessões Cowork e cloud, habilite a skill para sua conta claude.ai.191* Para sessões Cowork e cloud, habilite a skill para sua conta claude.ai.

191* Para sessões cloud, você pode em vez disso confirmar a skill no `.claude/skills/` do repositório. Plugins declarados no `.claude/settings.json` do repositório e plugins habilitados apenas em suas configurações de usuário [não carregam em sessões cloud](/docs/pt/cloud-environments#what-carries-over-from-your-setup).192* Para sessões cloud, você pode em vez disso confirmar a skill no `.claude/skills/` do repositório. Plugins declarados no `.claude/settings.json` do repositório e plugins habilitados apenas em suas configurações de usuário [não carregam em sessões cloud](/docs/pt/cloud-environments#what-carries-over-from-your-setup).


196 Skills sincronizadas do claude.ai197 Skills sincronizadas do claude.ai

197</h3>198</h3>

198 199 

199Esta seção se aplica a você se usar sessões Cowork ou cloud, ou entrar no Claude Code em seu terminal com uma conta claude.ai. Nessas sessões, Claude Code carrega as skills habilitadas para sua conta claude.ai, sem nenhuma configuração da sua parte, como [Onde as skills sincronizadas carregam](#where-synced-skills-load) descreve. Essas skills incluem aquelas que você cria ou ativa em suas configurações claude.ai, skills que sua organização fornece lá, e skills integradas da Anthropic como `pdf` e `xlsx`.200Esta seção se aplica a você se usar sessões Cowork ou cloud, ou se conectar a Claude Code em seu terminal com uma conta claude.ai. Nessas sessões, Claude Code carrega as skills habilitadas para sua conta claude.ai, sem nenhuma configuração de sua parte, como [Onde as skills sincronizadas carregam](#where-synced-skills-load) descreve. Essas skills incluem as que você cria ou ativa em suas configurações claude.ai, skills que sua organização fornece lá, e skills integradas da Anthropic como `pdf` e `xlsx`.

200 201 

201Claude Code baixa uma skill sincronizada de sua conta em vez de ler um arquivo que você escreveu na máquina onde a sessão executa, então aplica regras a skills sincronizadas que não se aplicam às skills que você armazena nas [localizações de skills](#where-skills-live).202Claude Code baixa uma skill sincronizada de sua conta em vez de ler um arquivo que você escreveu na máquina onde a sessão executa, então aplica regras a skills sincronizadas que não se aplicam às skills que você armazena nos [locais de skills](#where-skills-live).

202 203 

203<h4 id="where-synced-skills-load">204<h4 id="where-synced-skills-load">

204 Onde as skills sincronizadas carregam205 Onde as skills sincronizadas carregam


206 207 

207Em uma sessão Cowork ou cloud, Claude Code carrega as skills habilitadas para sua conta claude.ai, e [Skills em sessões Cowork e cloud](#skills-in-cowork-and-cloud-sessions) diz como escolher quais skills essas sessões obtêm.208Em uma sessão Cowork ou cloud, Claude Code carrega as skills habilitadas para sua conta claude.ai, e [Skills em sessões Cowork e cloud](#skills-in-cowork-and-cloud-sessions) diz como escolher quais skills essas sessões obtêm.

208 209 

209Em seu terminal, Claude Code sincroniza essas skills em sessões onde você entra com sua conta claude.ai. Quando a sessão inicia, Claude Code baixa as skills de sua conta em `~/.claude/skills/synced/` em segundo plano, então verifica claude.ai para mudanças a cada 10 minutos enquanto a sessão executa. Quando uma verificação encontra que uma skill foi adicionada, editada ou desativada no claude.ai, Claude Code a adiciona, atualiza ou remove na sessão em execução sem uma reinicialização. A sincronização em sessões de terminal requer Claude Code v2.1.273 ou posterior.210Em seu terminal, Claude Code sincroniza essas skills em sessões onde você se conecta com sua conta claude.ai. Quando a sessão inicia, Claude Code baixa as skills de sua conta em `~/.claude/skills/synced/` em segundo plano, então verifica claude.ai para mudanças a cada 10 minutos enquanto a sessão executa. Quando uma verificação encontra que uma skill foi adicionada, editada ou desativada em claude.ai, Claude Code a adiciona, atualiza ou remove na sessão em execução sem uma reinicialização. A sincronização em sessões de terminal requer Claude Code v2.1.273 ou posterior.

210 211 

211A sincronização nunca atrasa a inicialização, porque Claude aguarda o download de uma skill apenas quando a invoca. Uma execução [não-interativa](/docs/pt/headless) curta pode portanto terminar antes que uma skill recém-adicionada baixe, caso em que uma sessão posterior a baixa. Para fazer uma execução não-interativa baixar suas skills e aguardar a lista antes de responder ao prompt, defina [`CLAUDE_CODE_SYNC_SKILLS`](/docs/pt/env-vars#variables) como `1`.212A sincronização nunca atrasa a inicialização, porque Claude aguarda o download de uma skill apenas quando a invoca. Uma execução [não interativa](/docs/pt/headless) curta pode portanto terminar antes que uma skill recém-adicionada seja baixada, caso em que uma sessão posterior a baixa. Para fazer uma execução não interativa baixar suas skills e aguardar a lista antes de responder ao prompt, defina [`CLAUDE_CODE_SYNC_SKILLS`](/docs/pt/env-vars#variables) como `1`.

212 213 

213Claude Code sincroniza apenas em uma sessão que entra com sua conta claude.ai e [busca sinalizadores de recurso da Anthropic](/docs/pt/env-vars#features-that-need-feature-flag-fetching). Ele não sincroniza nessas sessões:214Claude Code sincroniza apenas em uma sessão que se conecta com sua conta claude.ai e [busca sinalizadores de recurso da Anthropic](/docs/pt/env-vars#features-that-need-feature-flag-fetching). Ele não sincroniza nessas sessões:

214 215 

215* Uma sessão que não usa um sign-in armazenado por `/login`, como uma que autentica com uma chave de API, ou uma onde `ANTHROPIC_AUTH_TOKEN`, `CLAUDE_CODE_OAUTH_TOKEN` ou um script `apiKeyHelper` fornece a credencial216* Uma sessão que não usa um sign-in armazenado por `/login`, como uma que autentica com uma chave de API, ou uma onde `ANTHROPIC_AUTH_TOKEN`, `CLAUDE_CODE_OAUTH_TOKEN` ou um script `apiKeyHelper` fornece a credencial

216* Uma sessão que não busca sinalizadores de recurso, como uma no Amazon Bedrock ou uma onde você define `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`217* Uma sessão que não busca sinalizadores de recurso, como uma em Amazon Bedrock ou uma onde você define `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`

217* Uma sessão em [modo bare](/docs/pt/headless#start-faster-with-bare-mode) ou uma que você inicia com `--safe-mode`218* Uma sessão em [modo bare](/docs/pt/headless#start-faster-with-bare-mode) ou uma que você inicia com `--safe-mode`

218* Uma sessão onde as configurações gerenciadas de sua organização [bloqueiam skills para fontes de plugin](/docs/pt/settings-reference#strictpluginonlycustomization-skills), ou uma que você inicia com uma lista [`--setting-sources`](/docs/pt/cli-reference#cli-flags) que deixa de fora `user`219* Uma sessão onde as configurações gerenciadas de sua organização [bloqueiam skills para fontes de plugin](/docs/pt/settings-reference#strictpluginonlycustomization-skills), ou uma que você inicia com uma lista [`--setting-sources`](/docs/pt/cli-reference#cli-flags) que deixa de fora `user`

219 220 

220Se você entrar com `/login` durante uma sessão, reinicie Claude Code para começar a sincronizar.221Se você se conectar com `/login` durante uma sessão, reinicie Claude Code para começar a sincronizar.

221 222 

222Skills que uma sessão anterior sincronizou permanecem no disco. Claude Code as carrega em sessões posteriores conectadas à mesma conta, mesmo quando não consegue alcançar claude.ai.223Skills que uma sessão anterior sincronizou permanecem no disco. Claude Code as carrega em sessões posteriores conectadas à mesma conta, mesmo quando não consegue alcançar claude.ai.

223 224 

224Claude Code baixa skills sincronizadas e nunca as carrega. Se você ou Claude editar um arquivo sob `~/.claude/skills/synced/`, a alteração não é salva em sua conta claude.ai, e uma sincronização posterior pode sobrescrevê-la ou removê-la. Para alterar uma skill sincronizada, atualize-a no claude.ai; a próxima sincronização baixa a nova versão.225Claude Code baixa skills sincronizadas e nunca as envia. Se você ou Claude editar um arquivo em `~/.claude/skills/synced/`, a alteração não é salva em sua conta claude.ai, e uma sincronização posterior pode sobrescrevê-la ou removê-la. Para alterar uma skill sincronizada, atualize-a em claude.ai; a próxima sincronização baixa a nova versão.

225 226 

226Para ver quais skills sincronizaram, execute `/skills`. O menu as lista sob `claude.ai sync`.227Para ver quais skills sincronizaram, execute `/skills`. O menu as lista em `claude.ai sync`.

227 228 

228Algumas skills da Anthropic, como `pdf` e `xlsx`, sempre sincronizam. Para o resto, ative ou desative uma skill em suas configurações de skills no claude.ai para alterar se ela sincroniza.229Algumas skills da Anthropic, como `pdf` e `xlsx`, sempre sincronizam. Para o resto, ative ou desative uma skill em suas configurações de skills em claude.ai para alterar se ela sincroniza.

229 230 

230Para parar de sincronizar em uma máquina, defina [`syncClaudeAiSkills`](/docs/pt/settings-reference#syncclaudeaiskills) como `false` em suas configurações de usuário. Claude Code para de baixar, e na próxima vez que inicia move as skills que já sincronizou para `~/.claude/skills/.trash/` e não as carrega mais. Sua organização pode desativar a sincronização para todos desativando Skills no claude.ai. Para parar de sincronizar deixando Skills ativado, pode definir a mesma chave em [configurações gerenciadas](/docs/pt/managed-settings).231Para parar de sincronizar em uma máquina, defina [`syncClaudeAiSkills`](/docs/pt/settings-reference#syncclaudeaiskills) como `false` em suas configurações de usuário. Claude Code para de baixar, e na próxima vez que inicia, move as skills que já sincronizou para `~/.claude/skills/.trash/` e não as carrega mais. Sua organização pode desativar a sincronização para todos desativando Skills em claude.ai. Para parar de sincronizar deixando Skills ativado, pode definir a mesma chave em [configurações gerenciadas](/docs/pt/managed-settings).

231 232 

232Se sua organização desativar Skills no claude.ai, Claude Code remove as skills baixadas e elas param de carregar. As skills removidas se movem para `~/.claude/skills/.trash/`, onde você pode recuperar os arquivos até que a [varredura de retenção](/docs/pt/claude-directory#cleaned-up-automatically) os delete. Uma vez que sua organização ativa Skills novamente, Claude Code baixa as skills que você habilitou na próxima sincronização.233Se sua organização desativar Skills em claude.ai, Claude Code remove as skills baixadas e elas param de carregar. As skills removidas se movem para `~/.claude/skills/.trash/`, onde você pode recuperar os arquivos até que a [varredura de retenção](/docs/pt/claude-directory#cleaned-up-automatically) os delete. Uma vez que sua organização ativa Skills novamente, Claude Code baixa as skills que você habilitou na próxima sincronização.

233 234 

234<h4 id="when-a-synced-skill-name-matches-another-command">235<h4 id="when-a-synced-skill-name-matches-another-command">

235 Quando um nome de skill sincronizada corresponde a outro comando236 Quando um nome de skill sincronizada corresponde a outro comando

236</h4>237</h4>

237 238 

238Você pode invocar uma skill sincronizada por seu nome completo, `/anthropic-skills:<name>`, ou por seu nome curto, `/<name>`. Quando outro comando usa esse nome curto, `/<name>` executa o outro comando, e a skill sincronizada executa apenas como `/anthropic-skills:<name>`. Com uma skill `deploy` local e uma `deploy` sincronizada, `/deploy` executa a skill local e `/anthropic-skills:deploy` executa a sincronizada. Antes da v2.1.269, uma skill sincronizada tinha apenas seu nome curto.239Você pode invocar uma skill sincronizada por seu nome curto, `/<name>`, ou por seu nome completo, `/anthropic-skills:<name>`. Quando outro comando usa o nome curto, `/<name>` executa o outro comando, e a skill sincronizada executa apenas como `/anthropic-skills:<name>`. Com uma skill local `deploy` e uma sincronizada `deploy`, `/deploy` executa a skill local e `/anthropic-skills:deploy` executa a sincronizada. Antes da v2.1.269, uma skill sincronizada tinha apenas seu nome curto.

239 240 

240O outro comando pode ser qualquer um destes:241No menu `/`, `/skills` e `/context`, uma skill sincronizada aparece sob seu nome curto, ou sob seu nome completo enquanto outro comando usa o nome curto. Execute `/skills` em sua sessão. Uma nota sob a lista explica cada skill sincronizada que perdeu seu nome curto. Se um de seus skills pessoais ou arquivos de comando em `~/.claude/` usar o nome, a nota também diz o que renomear ou deletar para liberá-lo.

241 242 

242* Um comando integrado ou uma [skill agrupada](#bundled-skills), incluindo uma que está indisponível em sua sessão, por exemplo após desativar skills agrupadas243Da v2.1.269 até v2.1.280, essas listas mostravam cada skill sincronizada sob seu nome completo, e `/skills` não tinha tal nota; ambas mudaram na v2.1.281.

244 

245O comando que usa o nome curto pode ser qualquer um destes:

246 

247* Um comando integrado ou uma [skill agrupada](#bundled-skills), incluindo uma que não está disponível em sua sessão, por exemplo após você desativar skills agrupadas

243* Uma skill em qualquer [nível local](#where-skills-live) ou um arquivo em `.claude/commands/`248* Uma skill em qualquer [nível local](#where-skills-live) ou um arquivo em `.claude/commands/`

244* Uma skill de plugin249* Uma skill de plugin

245* Um [prompt MCP](/docs/pt/mcp#use-mcp-prompts-as-commands)250* Um [prompt MCP](/docs/pt/mcp#use-mcp-prompts-as-commands)

246 251 

247Claude Code rotula skills sincronizadas para que você possa dizer de onde vieram. O menu `/skills` e `/context` agrupam skills sincronizadas sob `claude.ai sync`, e o menu de comando `/` as marca como vindo do claude.ai.252Claude Code rotula skills sincronizadas para que você possa dizer de onde vieram. O menu `/skills` e `/context` agrupam skills sincronizadas em `claude.ai sync`, e o menu de comando `/` as marca como vindo de claude.ai.

248 253 

249Quando compara nomes, Claude Code ignora maiúsculas, espaçamento e caracteres invisíveis, e trata formas de compatibilidade como letras de largura completa e variantes de travessão como seus equivalentes simples. Por exemplo, uma skill sincronizada nomeada `Commit` e uma skill local nomeada `commit` contam como o mesmo nome, então `/commit` continua executando sua skill local.254Quando compara nomes, Claude Code ignora maiúsculas, espaçamento e caracteres invisíveis, e trata formas de compatibilidade como letras de largura completa e variantes de travessão como seus equivalentes simples. Por exemplo, uma skill sincronizada nomeada `Commit` e uma skill local nomeada `commit` contam como o mesmo nome, então `/commit` continua executando sua skill local.

250 255 

251Um nome que difere apenas por uma letra semelhante de outro alfabeto conta como um nome diferente, e o rótulo `claude.ai sync` é como você diferencia os dois. Essas verificações e rótulos requerem Claude Code v2.1.228 ou posterior.256Um nome que difere apenas por uma letra semelhante de outro alfabeto conta como um nome diferente, e o rótulo `claude.ai sync` é como você diferencia os dois. Essas verificações e rótulos requerem Claude Code v2.1.228 ou posterior.

252 257 

258<h4 id="names-reserved-for-synced-skills">

259 Nomes reservados para skills sincronizadas

260</h4>

261 

262Claude Code reserva o nome `anthropic-skills`, e cada nome dentro daquele namespace como `anthropic-skills:pdf`, para skills sincronizadas do claude.ai, então o nome completo de uma skill sincronizada nunca executa nada mais. O nome é reservado em cada sessão, independentemente de você se conectar ou não com uma conta claude.ai.

263 

264* **Uma pasta de skill, um frontmatter `name`, um arquivo ou subpasta em `.claude/commands/`, ou um [fluxo de trabalho salvo](/docs/pt/workflows#save-the-workflow-for-reuse)**: ele não carrega. Um [aviso de inicialização](/docs/pt/errors#a-skill-command-or-workflow-wasnt-loaded-because-its-name-is-reserved) nomeia o primeiro item a renomear ou editar.

265* **Um plugin nomeado `anthropic-skills`**: ele carrega. Quando uma de suas skills e uma skill sincronizada são ambas nomeadas `<name>`, `/anthropic-skills:<name>` executa a skill sincronizada.

266* **Um servidor MCP nomeado `anthropic-skills`**: ele se conecta e suas ferramentas funcionam, mas [seus prompts não aparecem como comandos](/docs/pt/mcp#use-mcp-prompts-as-commands). Renomeie o servidor em sua configuração MCP para listá-los.

267 

253<h4 id="how-claude-code-handles-the-frontmatter-of-a-synced-skill">268<h4 id="how-claude-code-handles-the-frontmatter-of-a-synced-skill">

254 Como Claude Code lida com o frontmatter de uma skill sincronizada269 Como Claude Code lida com o frontmatter de uma skill sincronizada

255</h4>270</h4>

256 271 

257Claude Code aplica duas regras ao frontmatter de uma skill sincronizada:272Claude Code aplica duas regras ao frontmatter de uma skill sincronizada:

258 273 

259* Claude Code honra o frontmatter em todo tipo de sessão, então uma concessão `allowed-tools` passa pelo [fluxo de permissão](/docs/pt/permissions) normal.274* Claude Code honra o frontmatter em cada tipo de sessão, então uma concessão `allowed-tools` passa pelo [fluxo de permissão](/docs/pt/permissions) normal.

260* Claude Code sanitiza o texto de exibição que a skill fornece, como sua descrição. Remove caracteres de controle, e em texto que alcança Claude, como a descrição, também escapa colchetes angulares para que o texto não possa imitar a formatação interna do Claude Code. Esta sanitização requer Claude Code v2.1.228 ou posterior.275* Claude Code sanitiza o texto de exibição que a skill fornece, como sua descrição. Remove caracteres de controle, e em texto que alcança Claude, como a descrição, também escapa colchetes angulares para que o texto não possa imitar a formatação interna de Claude Code. Esta sanitização requer Claude Code v2.1.228 ou posterior.

261 276 

262<h4 id="how-claude-code-handles-the-body-of-a-synced-skill">277<h4 id="how-claude-code-handles-the-body-of-a-synced-skill">

263 Como Claude Code lida com o corpo de uma skill sincronizada278 Como Claude Code lida com o corpo de uma skill sincronizada


266O que Claude Code faz com o corpo de uma skill sincronizada depende de onde a sessão executa:281O que Claude Code faz com o corpo de uma skill sincronizada depende de onde a sessão executa:

267 282 

268* Em uma sessão cloud, o corpo mantém o comportamento que uma skill local tem, porque a sessão executa em um contêiner isolado.283* Em uma sessão cloud, o corpo mantém o comportamento que uma skill local tem, porque a sessão executa em um contêiner isolado.

269* Em uma sessão Cowork em seu desktop, o corpo mantém o comportamento que uma skill local tem, exceto que Claude Code substitui cada linha de comando `!` pelo placeholder [`disableSkillShellExecution`](#inject-dynamic-context), como faz para toda skill que você fornece lá.284* Em uma sessão Cowork em seu desktop, o corpo mantém o comportamento que uma skill local tem, exceto que Claude Code substitui cada linha de comando `!` pelo placeholder [`disableSkillShellExecution`](#inject-dynamic-context), como faz para cada skill que você fornece lá.

270* Em qualquer outra sessão em sua máquina, Claude Code não executa [comandos `!`](#inject-dynamic-context), não anexa os arquivos que referências `@` nomeiam da forma que faz para uma skill local, e não substitui os placeholders `${CLAUDE_PROJECT_DIR}` e `${CLAUDE_SESSION_ID}`, então as referências `@` e ambos os placeholders alcançam Claude como texto literal. Uma linha de comando `!` alcança Claude como texto literal também, ou como esse placeholder quando `disableSkillShellExecution` está ativado. Este tratamento requer Claude Code v2.1.228 ou posterior.285* Em qualquer outra sessão em sua máquina, Claude Code não executa comandos [`!`](#inject-dynamic-context), não anexa os arquivos que referências `@` nomeiam da forma que faz para uma skill local, e não substitui os placeholders `${CLAUDE_PROJECT_DIR}` e `${CLAUDE_SESSION_ID}`, então as referências `@` e ambos os placeholders alcançam Claude como texto literal. Uma linha de comando `!` alcança Claude como texto literal também, ou como aquele placeholder quando `disableSkillShellExecution` está ativado. Este tratamento requer Claude Code v2.1.228 ou posterior.

271 286 

272<h3 id="live-change-detection">287<h3 id="live-change-detection">

273 Edite uma skill durante uma sessão288 Edite uma skill durante uma sessão

274</h3>289</h3>

275 290 

276Claude Code observa diretórios de skill para mudanças de arquivo, exceto em [modo bare](/docs/pt/headless#start-faster-with-bare-mode). Quando você adiciona, edita ou remove uma skill sob `~/.claude/skills/`, o `.claude/skills/` do projeto, ou um `.claude/skills/` dentro de um diretório `--add-dir`, Claude Code pega a mudança dentro da sessão atual, sem uma reinicialização. Se você criar um diretório de skills de nível superior que não existia quando a sessão iniciou, reinicie Claude Code para que possa observar o novo diretório.291Claude Code observa diretórios de skill para mudanças de arquivo, exceto em [modo bare](/docs/pt/headless#start-faster-with-bare-mode). Quando você adiciona, edita ou remove uma skill em `~/.claude/skills/`, o `.claude/skills/` do projeto, ou um `.claude/skills/` dentro de um diretório `--add-dir`, Claude Code pega a mudança dentro da sessão atual, sem uma reinicialização.

292 

293Se você criar um diretório de skills de nível superior que não existia quando a sessão iniciou, execute [`/reload-skills`](/docs/pt/commands#all-commands) para pegar as skills que você colocou lá. Claude Code não está observando aquele diretório ainda, então execute `/reload-skills` novamente após cada mudança posterior lá.

277 294 

278A detecção de mudança ao vivo cobre apenas texto `SKILL.md`. Para uma pasta de skill que também é um [plugin](/docs/pt/plugins/loading#plugins-shared-through-a-repository), mudanças em `hooks/`, `.mcp.json`, `agents/` e `output-styles/` precisam de `/reload-plugins` para entrar em vigor.295A detecção de mudança ao vivo cobre apenas texto `SKILL.md`. Para uma pasta de skill que também é um [plugin](/docs/pt/plugins/loading#plugins-shared-through-a-repository), mudanças em `hooks/`, `.mcp.json`, `agents/` e `output-styles/` precisam de `/reload-plugins` para entrar em vigor.

279 296 


283 300 

284Como você remove uma skill depende de onde ela veio:301Como você remove uma skill depende de onde ela veio:

285 302 

286* **Skill pessoal ou de projeto**: delete o diretório da skill, `~/.claude/skills/<skill-name>/` ou `.claude/skills/<skill-name>/`. Claude Code a [remove de `/skills` na sessão atual](#live-change-detection); conteúdo que Claude Code já carregou dela segue o [ciclo de vida do conteúdo da skill](#skill-content-lifecycle).303* **Skill pessoal ou de projeto**: delete o diretório da skill, `~/.claude/skills/<skill-name>/` ou `.claude/skills/<skill-name>/`. Claude Code [a remove de `/skills` na sessão atual](#live-change-detection); o conteúdo que Claude Code já carregou dela segue o [ciclo de vida do conteúdo da skill](#skill-content-lifecycle).

287* **Skill enterprise**: um administrador deleta o diretório da skill de `.claude/skills/` dentro do [diretório de configurações gerenciadas](/docs/pt/managed-settings#delivery-mechanisms), por exemplo `/etc/claude-code/.claude/skills/<skill-name>/` no Linux.304* **Skill enterprise**: um administrador deleta o diretório da skill de `.claude/skills/` dentro do [diretório de configurações gerenciadas](/docs/pt/managed-settings#delivery-mechanisms), por exemplo `/etc/claude-code/.claude/skills/<skill-name>/` em Linux.

288* **Skill de plugin**: desabilite ou desinstale o plugin que a fornece, do menu `/plugin` ou com `/plugin uninstall <plugin-name>@<marketplace-name>`. Claude Code descarrega as skills do plugin quando [a mudança se aplica](/docs/pt/plugins/cli-reference#reload-plugins) ou quando você reinicia.305* **Skill de plugin**: desabilite ou desinstale o plugin que a fornece, do menu `/plugin` ou com `/plugin uninstall <plugin-name>@<marketplace-name>`. Claude Code descarrega as skills do plugin quando [a mudança se aplica](/docs/pt/plugins/cli-reference#reload-plugins) ou quando você reinicia.

289* **Skill sincronizada do claude.ai**: desative a skill para sua conta claude.ai, no mesmo lugar onde você a [habilitou](#skills-in-cowork-and-cloud-sessions). Claude Code a remove de `~/.claude/skills/synced/` na próxima vez que [sincroniza suas skills](#where-synced-skills-load). Se você deletar o diretório manualmente, a próxima sincronização o baixa novamente enquanto a skill permanece habilitada no claude.ai.306* **Skill sincronizada do claude.ai**: desative a skill para sua conta claude.ai, no mesmo lugar onde você a [habilitou](#skills-in-cowork-and-cloud-sessions). Claude Code a remove de `~/.claude/skills/synced/` na próxima vez que [sincroniza suas skills](#where-synced-skills-load). Se você deletar o diretório manualmente, a próxima sincronização o baixa novamente enquanto a skill permanece habilitada em claude.ai.

290* **Skill agrupada**: defina [`disableBundledSkills`](#bundled-skills) como `true` para desativar skills agrupadas, ou defina uma skill como `"off"` em [`skillOverrides`](#override-skill-visibility-from-settings) para ocultá-la.307* **Skill agrupada**: defina [`disableBundledSkills`](#bundled-skills) como `true` para desativar skills agrupadas, ou defina uma skill como `"off"` em [`skillOverrides`](#override-skill-visibility-from-settings) para ocultá-la.

291 308 

292Para manter uma skill pessoal ou de projeto mas parar Claude de invocá-la por conta própria, defina [`disable-model-invocation: true`](#control-who-invokes-a-skill) em seu frontmatter, ou `"user-invocable-only"` em [`skillOverrides`](#override-skill-visibility-from-settings) quando você não quer editar o arquivo.309Para manter uma skill pessoal ou de projeto mas parar Claude de invocá-la por conta própria, defina [`disable-model-invocation: true`](#control-who-invokes-a-skill) em seu frontmatter, ou `"user-invocable-only"` em [`skillOverrides`](#override-skill-visibility-from-settings) quando você não quer editar o arquivo.


360 377 

361| Campo | Obrigatório | Descrição |378| Campo | Obrigatório | Descrição |

362| :- | :- | :- |379| :- | :- | :- |

363| `name` | Não | Nome de exibição mostrado nas listagens de skills. Padrão é o nome do diretório. Veja [Como uma skill obtém seu nome de comando](#how-a-skill-gets-its-command-name) para como o campo interage com o nome que você digita para invocar a skill. |380| `name` | Não | Nome de comando mostrado no menu `/`. Padrão é o nome do diretório. Veja [Como uma skill obtém seu nome de comando](#how-a-skill-gets-its-command-name) para como o campo interage com o nome que você digita para invocar a skill. |

364| `description` | Recomendado | O que a skill faz e quando usá-la. Claude usa isso para decidir quando aplicar a skill. Se omitido, usa a primeira linha não vazia do conteúdo markdown. Coloque o caso de uso principal primeiro: o texto combinado de `description` e `when_to_use` é truncado em 1.536 caracteres na listagem de skills para reduzir o uso de contexto. |381| `description` | Recomendado | O que a skill faz e quando usá-la. Claude usa isso para decidir quando aplicar a skill. Se omitido, usa a primeira linha não vazia do conteúdo markdown. Coloque o caso de uso principal primeiro: o texto combinado de `description` e `when_to_use` é truncado em 1.536 caracteres na listagem de skills para reduzir o uso de contexto. |

365| `when_to_use` | Não | Contexto adicional para quando Claude deve invocar a skill, como frases de gatilho ou solicitações de exemplo. Anexado a `description` na listagem de skills e conta para o limite de 1.536 caracteres. |382| `when_to_use` | Não | Contexto adicional para quando Claude deve invocar a skill, como frases de gatilho ou solicitações de exemplo. Anexado a `description` na listagem de skills e conta para o limite de 1.536 caracteres. |

366| `argument-hint` | Não | Dica mostrada durante o autocomplete para indicar argumentos esperados. Exemplo: `[issue-number]` ou `[filename] [format]`. |383| `argument-hint` | Não | Dica mostrada durante o autocomplete para indicar argumentos esperados. Exemplo: `[issue-number]` ou `[filename] [format]`. |


406 Como uma skill obtém seu nome de comando423 Como uma skill obtém seu nome de comando

407</h4>424</h4>

408 425 

409O comando que você digita para invocar uma skill vem de onde o arquivo de skill vive e, para skills de plugin, também do campo `name` do frontmatter. Em uma skill pessoal ou de projeto, `name` define apenas o rótulo de exibição mostrado nas listagens de skills, e o comando ainda vem do nome do diretório. Em uma skill de plugin, `name` define o último segmento do comando e o prefixo do plugin permanece no lugar.426O comando que você digita para invocar uma skill vem de onde o arquivo de skill vive e, para diretórios de skill e skills de plugin, do campo frontmatter `name`. Em um diretório de skill pessoal ou de projeto, `name` define o comando que o menu `/` mostra e que você digita, a menos que outro comando já use esse nome. O nome do diretório também invoca a skill. Em uma skill de plugin, `name` define o último segmento do comando e o prefixo do plugin permanece no lugar.

410 427 

411A tabela abaixo mostra de onde o nome do comando vem para cada layout:428A tabela abaixo mostra de onde o nome do comando vem para cada layout:

412 429 

413| Local da skill | Fonte do nome do comando | Exemplo |430| Local da skill | Fonte do nome do comando | Exemplo |

414| :- | :- | :- |431| :- | :- | :- |

415| Diretório de skill sob `~/.claude/skills/` ou `.claude/skills/` | Nome do diretório | `.claude/skills/deploy-staging/SKILL.md` → `/deploy-staging` |432| Diretório de skill sob `~/.claude/skills/` ou `.claude/skills/` | Frontmatter `name` ou o nome do diretório | `.claude/skills/deploy-staging/SKILL.md` → `/deploy-staging`, ou `/deploy` com `name: deploy` |

416| [Aninhado](#where-skills-live) diretório `.claude/skills/`, quando o nome entra em conflito com outra skill | Caminho do subdiretório relativo ao diretório de trabalho, depois o nome do diretório de skill | `apps/web/.claude/skills/deploy/SKILL.md` → `/apps/web:deploy` |433| [Aninhado](#where-skills-live) diretório `.claude/skills/`, quando o nome do diretório entra em conflito com outra skill | Caminho do subdiretório relativo ao diretório de trabalho, depois o nome do diretório de skill | `apps/web/.claude/skills/deploy/SKILL.md` → `/apps/web:deploy` |

417| Arquivo sob `.claude/commands/` | Nome do arquivo sem extensão | `.claude/commands/deploy.md` → `/deploy` |434| Arquivo sob `.claude/commands/` | Nome do arquivo sem extensão | `.claude/commands/deploy.md` → `/deploy` |

418| Arquivo em um subdiretório de `.claude/commands/` | Caminho do subdiretório relativo a `commands/` com cada `/` substituído por `:`, depois o nome do arquivo sem extensão | `.claude/commands/frontend/component.md` → `/frontend:component` |435| Arquivo em um subdiretório de `.claude/commands/` | Caminho do subdiretório relativo a `commands/` com cada `/` substituído por `:`, depois o nome do arquivo sem extensão | `.claude/commands/frontend/component.md` → `/frontend:component` |

419| Subdiretório `skills/` do plugin | Frontmatter `name` ou o nome do diretório, com namespace pelo plugin | `my-plugin/skills/review/SKILL.md` → `/my-plugin:review`, ou `/my-plugin:fancy` com `name: fancy` |436| Subdiretório `skills/` do plugin | Frontmatter `name` ou o nome do diretório, com namespace pelo plugin | `my-plugin/skills/review/SKILL.md` → `/my-plugin:review`, ou `/my-plugin:fancy` com `name: fancy` |


439| `$N` | Abreviação para `$ARGUMENTS[N]`, como `$0` para o primeiro argumento ou `$1` para o segundo. |456| `$N` | Abreviação para `$ARGUMENTS[N]`, como `$0` para o primeiro argumento ou `$1` para o segundo. |

440| `$name` | Argumento nomeado declarado na lista de frontmatter [`arguments`](#frontmatter-reference). Os nomes mapeiam para posições em ordem, então com `arguments: [issue, branch]` o placeholder `$issue` se expande para o primeiro argumento e `$branch` para o segundo. |457| `$name` | Argumento nomeado declarado na lista de frontmatter [`arguments`](#frontmatter-reference). Os nomes mapeiam para posições em ordem, então com `arguments: [issue, branch]` o placeholder `$issue` se expande para o primeiro argumento e `$branch` para o segundo. |

441| `${CLAUDE_SESSION_ID}` | O ID da sessão atual. Útil para logging, criação de arquivos específicos de sessão ou correlação de saída de skill com sessões. |458| `${CLAUDE_SESSION_ID}` | O ID da sessão atual. Útil para logging, criação de arquivos específicos de sessão ou correlação de saída de skill com sessões. |

442| `${CLAUDE_EFFORT}` | O nível de esforço atual: `low`, `medium`, `high`, `xhigh` ou `max`. Ultracode não é um nível distinto e relata como `xhigh`. Use isso para adaptar instruções de skill à configuração de esforço ativo. |459| `${CLAUDE_EFFORT}` | O nível de esforço atual: `low`, `medium`, `high`, `xhigh` ou `max`. Use isso para adaptar instruções de skill à configuração de esforço ativo. |

443| `${CLAUDE_SKILL_DIR}` | O diretório contendo o arquivo `SKILL.md` da skill. Para skills de plugin, este é o subdiretório da skill dentro do plugin, não a raiz do plugin. Use isso em comandos de injeção bash para referenciar scripts ou arquivos agrupados com a skill, independentemente do diretório de trabalho atual. |460| `${CLAUDE_SKILL_DIR}` | O diretório contendo o arquivo `SKILL.md` da skill. Para skills de plugin, este é o subdiretório da skill dentro do plugin, não a raiz do plugin. Use isso em comandos de injeção bash para referenciar scripts ou arquivos agrupados com a skill, independentemente do diretório de trabalho atual. |

444| `${CLAUDE_PROJECT_DIR}` | O diretório raiz do projeto. Este é o mesmo caminho que [hooks](/docs/pt/hooks#reference-scripts-by-path) e servidores MCP recebem como `CLAUDE_PROJECT_DIR`. Use isso para referenciar scripts ou arquivos locais do projeto, como `${CLAUDE_PROJECT_DIR}/.claude/hooks/helper.sh`, independentemente de onde a skill está instalada. |461| `${CLAUDE_PROJECT_DIR}` | O diretório raiz do projeto. Este é o mesmo caminho que [hooks](/docs/pt/hooks#reference-scripts-by-path) e servidores MCP recebem como `CLAUDE_PROJECT_DIR`. Use isso para referenciar scripts ou arquivos locais do projeto, como `${CLAUDE_PROJECT_DIR}/.claude/hooks/helper.sh`, independentemente de onde a skill está instalada. |

445| `${CLAUDE_PLUGIN_ROOT}` | O diretório de instalação do plugin. Substituído apenas em skills de plugin. Use isso para referenciar scripts ou arquivos agrupados em qualquer lugar do plugin, incluindo recursos compartilhados entre as skills do plugin. Veja [variáveis de ambiente do plugin](/docs/pt/plugins/manifest-reference#environment-variables). |462| `${CLAUDE_PLUGIN_ROOT}` | O diretório de instalação do plugin. Substituído apenas em skills de plugin. Use isso para referenciar scripts ou arquivos agrupados em qualquer lugar do plugin, incluindo recursos compartilhados entre as skills do plugin. Veja [variáveis de ambiente do plugin](/docs/pt/plugins/manifest-reference#environment-variables). |


826Skill(deploy *)843Skill(deploy *)

827```844```

828 845 

829Sintaxe de permissão: `Skill(name)` para correspondência exata, `Skill(name *)` para correspondência de prefixo com quaisquer argumentos.846Sintaxe de permissão: `Skill(name)` para correspondência exata, `Skill(name *)` para correspondência de prefixo com quaisquer argumentos. Em uma regra `allow`, um prefixo fora do [namespace reservado para skills sincronizadas](#names-reserved-for-synced-skills) não corresponde aos nomes dentro dele: `Skill(anthropic *)` não cobre `anthropic-skills:pdf`.

830 847 

831Se sua regra `deny` nomeia um alias ou um nome não qualificado em vez do nome da própria skill, Claude Code ainda bloqueia a skill: com `Skill(review)` bloqueia o `/code-review` agrupado através de seu alias `/review`, e com `Skill(deploy)` bloqueia uma [skill aninhada](#where-skills-live) listada como `apps/web:deploy` através de seu nome não qualificado. Antes da v2.1.260, Claude Code não bloqueava uma skill aninhada listada sob seu nome qualificado quando a regra deny nomeava apenas o nome não qualificado.848Se sua regra `deny` nomeia um alias ou um nome não qualificado em vez do nome da própria skill, Claude Code ainda bloqueia a skill: com `Skill(review)` bloqueia o `/code-review` agrupado através de seu alias `/review`, e com `Skill(deploy)` bloqueia uma [skill aninhada](#where-skills-live) listada como `apps/web:deploy` através de seu nome não qualificado. Antes da v2.1.260, Claude Code não bloqueava uma skill aninhada listada sob seu nome qualificado quando a regra deny nomeava apenas o nome não qualificado.

832 849 

833Claude Code corresponde uma regra `allow` apenas contra o nome da própria skill e o nome na invocação de Claude.850Claude Code corresponde uma regra `allow` apenas contra o nome da própria skill e o nome na invocação de Claude.

834 851 

852Para aprovar uma [skill sincronizada](#how-synced-skills-behave) sem um prompt, nomeie-a dentro de seu [namespace reservado](#names-reserved-for-synced-skills): `Skill(anthropic-skills:pdf)` aprova a skill sincronizada `pdf`, e `Skill(anthropic-skills *)` aprova cada skill sincronizada.

853 

835**Ocultar skills individuais** adicionando `disable-model-invocation: true` ao seu frontmatter. Isso remove a skill do contexto de Claude completamente.854**Ocultar skills individuais** adicionando `disable-model-invocation: true` ao seu frontmatter. Isso remove a skill do contexto de Claude completamente.

836 855 

837<Note>856<Note>

statusline.md +3 −3

Details

175 175 

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

177 177 

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 sugestões de preenchimento automático, o menu de ajuda e prompts de permissão.</Note>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 179 

180<h2 id="available-data">180<h2 id="available-data">

181 Dados disponíveis181 Dados disponíveis


202| `context_window.current_usage` | Contagens de tokens da última chamada de API, descritas em [campos de janela de contexto](#context-window-fields) |202| `context_window.current_usage` | Contagens de tokens da última chamada de API, descritas em [campos de janela de contexto](#context-window-fields) |

203| `exceeds_200k_tokens` | Se a contagem total de tokens (tokens de entrada, cache e saída combinados) da resposta de API mais recente excede 200k. Este é um limite fixo independentemente do tamanho real da janela de contexto. |203| `exceeds_200k_tokens` | Se a contagem total de tokens (tokens de entrada, cache e saída combinados) da resposta de API mais recente excede 200k. Este é um limite fixo independentemente do tamanho real da janela de contexto. |

204| `fast_mode` | Se o [modo rápido](/docs/pt/fast-mode) está habilitado para a sessão |204| `fast_mode` | Se o [modo rápido](/docs/pt/fast-mode) está habilitado para a sessão |

205| `effort.level` | Nível de esforço de raciocínio atual (`low`, `medium`, `high`, `xhigh` ou `max`). Reflete o valor da sessão em tempo real, incluindo mudanças de `/effort` durante a sessão. Ultracode não é um nível distinto e relata como `xhigh`. Ausente quando o modelo atual não suporta o parâmetro de esforço |205| `effort.level` | Nível de esforço de raciocínio atual (`low`, `medium`, `high`, `xhigh` ou `max`). Reflete o valor da sessão em tempo real, incluindo mudanças de `/effort` durante a sessão. Ausente quando o modelo atual não suporta o parâmetro de esforço |

206| `thinking.enabled` | Se o pensamento estendido está habilitado para a sessão |206| `thinking.enabled` | Se o pensamento estendido está habilitado para a sessão |

207| `rate_limits.five_hour.used_percentage`, `rate_limits.seven_day.used_percentage` | Porcentagem do limite de taxa de 5 horas ou 7 dias consumida, de 0 a 100 |207| `rate_limits.five_hour.used_percentage`, `rate_limits.seven_day.used_percentage` | Porcentagem do limite de taxa de 5 horas ou 7 dias consumida, de 0 a 100 |

208| `rate_limits.five_hour.resets_at`, `rate_limits.seven_day.resets_at` | Segundos de época Unix quando a janela de limite de taxa de 5 horas ou 7 dias é redefinida |208| `rate_limits.five_hour.resets_at`, `rate_limits.seven_day.resets_at` | Segundos de época Unix quando a janela de limite de taxa de 5 horas ou 7 dias é redefinida |


1166* No Windows com Git Bash instalado, barras invertidas no caminho `command` provavelmente estão sendo consumidas como caracteres de escape antes do script ser executado. Use barras normais no caminho. Veja [Configuração do Windows](#windows-configuration).1166* No Windows com Git Bash instalado, barras invertidas no caminho `command` provavelmente estão sendo consumidas como caracteres de escape antes do script ser executado. Use barras normais no caminho. Veja [Configuração do Windows](#windows-configuration).

1167* Se `disableAllHooks` estiver definido como `true` fora das configurações gerenciadas após a [precedência de configurações](/docs/pt/hooks#disable-or-remove-hooks) ser aplicada, o Claude Code executa apenas um `statusLine` das configurações gerenciadas, e sem um `statusLine` gerenciado a linha de status fica desabilitada. Remova a configuração ou defina-a como `false` no arquivo que a define para reabilitar. Veja [`disableAllHooks`](/docs/pt/settings-reference#disableallhooks).1167* Se `disableAllHooks` estiver definido como `true` fora das configurações gerenciadas após a [precedência de configurações](/docs/pt/hooks#disable-or-remove-hooks) ser aplicada, o Claude Code executa apenas um `statusLine` das configurações gerenciadas, e sem um `statusLine` gerenciado a linha de status fica desabilitada. Remova a configuração ou defina-a como `false` no arquivo que a define para reabilitar. Veja [`disableAllHooks`](/docs/pt/settings-reference#disableallhooks).

1168* Se sua organização define `allowManagedHooksOnly` nas configurações gerenciadas, sua linha de status personalizada desaparece sem aviso: você só pode obter uma linha de status de um valor `statusLine` nessas configurações gerenciadas. Veja [o que é executado sob `allowManagedHooksOnly`](/docs/pt/settings-reference#what-runs-under-allowmanagedhooksonly) para o comportamento completo, e pergunte ao seu administrador se essa configuração se aplica a você.1168* Se sua organização define `allowManagedHooksOnly` nas configurações gerenciadas, sua linha de status personalizada desaparece sem aviso: você só pode obter uma linha de status de um valor `statusLine` nessas configurações gerenciadas. Veja [o que é executado sob `allowManagedHooksOnly`](/docs/pt/settings-reference#what-runs-under-allowmanagedhooksonly) para o comportamento completo, e pergunte ao seu administrador se essa configuração se aplica a você.

1169* Execute `claude --debug` para registrar o código de saída e stderr da primeira invocação de linha de status em uma sessão1169* 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

1170* Peça ao Claude para ler seu arquivo de configurações e executar o comando `statusLine` diretamente para descobrir erros1170* Peça ao Claude para ler seu arquivo de configurações e executar o comando `statusLine` diretamente para descobrir erros

1171 1171 

1172**Linha de status mostra `--` ou valores vazios**1172**Linha de status mostra `--` ou valores vazios**

sub-agents.md +11 −7

Details

8 8 

9Subagentes são assistentes de IA especializados que lidam com tipos específicos de tarefas. Use um quando uma tarefa secundária inundaria sua conversa principal com resultados de pesquisa, logs ou conteúdos de arquivo que você não referenciará novamente: o subagente faz esse trabalho em seu próprio contexto e retorna apenas o resumo. Defina um subagente personalizado quando você continua gerando o mesmo tipo de worker com as mesmas instruções.9Subagentes são assistentes de IA especializados que lidam com tipos específicos de tarefas. Use um quando uma tarefa secundária inundaria sua conversa principal com resultados de pesquisa, logs ou conteúdos de arquivo que você não referenciará novamente: o subagente faz esse trabalho em seu próprio contexto e retorna apenas o resumo. Defina um subagente personalizado quando você continua gerando o mesmo tipo de worker com as mesmas instruções.

10 10 

11Cada subagente é executado em sua própria janela de contexto com um prompt de sistema personalizado, acesso a ferramentas específicas e permissões independentes. Quando Claude encontra uma tarefa que corresponde à descrição de um subagente, ele delega para esse subagente, que funciona independentemente e retorna resultados. Para ver a economia de contexto na prática, a [visualização da janela de contexto](/docs/pt/context-window) apresenta uma sessão onde um subagente lida com pesquisa em sua própria janela separada.11Cada subagente é executado em sua própria janela de contexto com um prompt de sistema personalizado, acesso a ferramentas específicas e permissões independentes. Ele também envia suas próprias solicitações, que contam para os mesmos [limites de uso](/docs/pt/costs#plan-usage-breakdown) que sua conversa principal. Quando Claude encontra uma tarefa que corresponde à descrição de um subagente, ele delega para esse subagente, que funciona independentemente e retorna resultados. Para ver a economia de contexto na prática, a [visualização da janela de contexto](/docs/pt/context-window) apresenta uma sessão onde um subagente lida com pesquisa em sua própria janela separada.

12 12 

13<Note>13<Note>

14 Subagentes funcionam dentro de uma única sessão. Para executar muitas sessões independentes em paralelo e monitorá-las de um único lugar, consulte [agentes em segundo plano](/docs/pt/agent-view). Para sessões separadas que passam mensagens uma para a outra, consulte [mensagens entre sessões](/docs/pt/cross-session-messaging). Para uma equipe coordenada de sessões que Claude gera e supervisiona, consulte [equipes de agentes](/docs/pt/agent-teams).14 Subagentes funcionam dentro de uma única sessão. Para executar muitas sessões independentes em paralelo e monitorá-las de um único lugar, consulte [agentes em segundo plano](/docs/pt/agent-view). Para sessões separadas que passam mensagens uma para a outra, consulte [mensagens entre sessões](/docs/pt/cross-session-messaging). Para uma equipe coordenada de sessões que Claude gera e supervisiona, consulte [equipes de agentes](/docs/pt/agent-teams).


230 </Tab>230 </Tab>

231</Tabs>231</Tabs>

232 232 

233O flag `--agents` aceita JSON com um campo `prompt` mais estes campos de [frontmatter](#supported-frontmatter-fields): `description`, `tools`, `disallowedTools`, `model`, `permissionMode`, `mcpServers`, `hooks`, `maxTurns`, `skills`, `initialPrompt`, `memory`, `effort`, `background`, `omitClaudeMd` e `isolation`. Use `prompt` para o prompt de sistema, equivalente ao corpo markdown em subagentes baseados em arquivo. `color` e `experimental` não são aceitos aqui e são ignorados em vez de rejeitados.233Em [modo não interativo](/docs/pt/headless), `--agents` também aceita o caminho para um arquivo JSON contendo o mesmo objeto, para definições muito grandes para passar na linha de comando. Por exemplo, `claude -p --agents ./agents.json "Review my changes"` lê as definições daquele arquivo. Em uma sessão interativa, Claude Code recusa um caminho de arquivo. O formulário de arquivo requer Claude Code v2.1.281 ou posterior.

234 234 

235Cada chave de nível superior no JSON é o nome do agente. Não comece um nome com `-`.235Cada chave de nível superior no JSON é o nome de um agente, e seu valor é a definição daquele agente. Não comece um nome com `-`. Uma definição leva estes campos:

236 

237* **`prompt`**: o prompt de sistema do agente, equivalente ao corpo markdown em subagentes baseados em arquivo. `prompt` pode estar vazio. Se você selecionar um agente com um `prompt` vazio e nenhum campo `memory` como o agente da sessão com `--agent`, o prompt de sistema da sessão é deixado inalterado. Um `prompt` vazio requer Claude Code v2.1.281 ou posterior.

238* **[Campos de frontmatter](#supported-frontmatter-fields)**: `description`, `tools`, `disallowedTools`, `model`, `permissionMode`, `mcpServers`, `hooks`, `maxTurns`, `skills`, `initialPrompt`, `memory`, `effort`, `background`, `omitClaudeMd` e `isolation`.

239* **Campos ignorados**: `color` e `experimental` não são aceitos aqui e são ignorados em vez de rejeitados.

236 240 

237Para o que Claude Code faz com um valor que não consegue carregar, e os flags e variável de ambiente que pulam essa verificação, veja [`Invalid --agents configuration`](/docs/pt/errors#invalid-agents-configuration).241Para o que Claude Code faz com um valor que não consegue carregar, e os flags e variável de ambiente que pulam essa verificação, veja [`Invalid --agents configuration`](/docs/pt/errors#invalid-agents-configuration).

238 242 


587 Modos de permissão591 Modos de permissão

588</h4>592</h4>

589 593 

590Defina `permissionMode` para escolher o modo de permissão em que um subagente é executado. Use os valores de configuração dos modos, portanto o modo Manual é `default`. Se você deixar indefinido, o subagente herda o modo da conversa principal, que começa como [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) em planos Pro, Max e Team a menos que suas configurações ou sua organização o alterem.594Defina `permissionMode` para escolher o modo de permissão em que um subagente é executado. Use os valores de configuração dos modos, portanto o modo Manual é `default`. Se você deixar indefinido, o subagente herda o [modo de permissão](/docs/pt/permission-modes) da conversa principal.

591 595 

592O modo de permissão da conversa principal decide se Claude Code usa o valor que você definiu:596O modo de permissão da conversa principal decide se Claude Code usa o valor que você definiu:

593 597 


899claude --agent code-reviewer903claude --agent code-reviewer

900```904```

901 905 

902O prompt do sistema do subagente substitui completamente o prompt do sistema padrão do Claude Code, da mesma forma que [`--system-prompt`](/docs/pt/cli-reference) faz. Os arquivos `CLAUDE.md` e a memória do projeto ainda são carregados através do fluxo de mensagens normal, mesmo quando a definição do agente define [`omitClaudeMd`](#supported-frontmatter-fields).906A menos que o prompt do agente esteja [vazio](#choose-the-subagent-scope), o prompt do sistema do subagente substitui completamente o prompt do sistema padrão do Claude Code, da mesma forma que [`--system-prompt`](/docs/pt/cli-reference) faz. Os arquivos `CLAUDE.md` e a memória do projeto ainda são carregados através do fluxo de mensagens normal, mesmo quando a definição do agente define [`omitClaudeMd`](#supported-frontmatter-fields).

903 907 

904O nome do agente aparece como `@<name>` no cabeçalho de inicialização para que você possa confirmar que está ativo.908O nome do agente aparece como `@<name>` no cabeçalho de inicialização para que você possa confirmar que está ativo.

905 909 


1036Cada subagente explora sua área independentemente, então Claude sintetiza as descobertas. Isso funciona melhor quando os caminhos de pesquisa não dependem um do outro.1040Cada subagente explora sua área independentemente, então Claude sintetiza as descobertas. Isso funciona melhor quando os caminhos de pesquisa não dependem um do outro.

1037 1041 

1038<Warning>1042<Warning>

1039 Quando subagentes são concluídos, seus resultados retornam à sua conversa principal. Executar muitos subagentes que cada um retorna resultados detalhados pode consumir contexto significativo.1043 Quando subagentes são concluídos, seus resultados retornam à sua conversa principal. Executar muitos subagentes que cada um retorna resultados detalhados pode consumir contexto significativo, e cada subagente gasta tokens de seu próprio enquanto é executado.

1040</Warning>1044</Warning>

1041 1045 

1042Para trabalho que precisa continuar em paralelo ou não caberá em uma janela de contexto, execute-o em [sessões separadas](/docs/pt/agents) e deixe Claude [passar descobertas entre elas](/docs/pt/cross-session-messaging).1046Para trabalho que precisa continuar em paralelo ou não caberá em uma janela de contexto, execute-o em [sessões separadas](/docs/pt/agents) e deixe Claude [passar descobertas entre elas](/docs/pt/cross-session-messaging).


1135* **Arquivos CLAUDE.md**: cada nível da [hierarquia CLAUDE.md](/docs/pt/memory#how-claude-md-files-load) que a conversa principal carrega, incluindo `~/.claude/CLAUDE.md`, regras do projeto, `CLAUDE.local.md`, arquivos de política gerenciada e qualquer arquivo [`AGENTS.md`](/docs/pt/memory#agents-md) carregado como instruções do projeto. Os agentes Explore e Plan integrados pulam isso. Um subagente cuja definição define [`omitClaudeMd`](#supported-frontmatter-fields) carrega apenas os arquivos de política gerenciada, ou nenhum quando a definição vem de [configurações gerenciadas](#choose-the-subagent-scope).1139* **Arquivos CLAUDE.md**: cada nível da [hierarquia CLAUDE.md](/docs/pt/memory#how-claude-md-files-load) que a conversa principal carrega, incluindo `~/.claude/CLAUDE.md`, regras do projeto, `CLAUDE.local.md`, arquivos de política gerenciada e qualquer arquivo [`AGENTS.md`](/docs/pt/memory#agents-md) carregado como instruções do projeto. Os agentes Explore e Plan integrados pulam isso. Um subagente cuja definição define [`omitClaudeMd`](#supported-frontmatter-fields) carrega apenas os arquivos de política gerenciada, ou nenhum quando a definição vem de [configurações gerenciadas](#choose-the-subagent-scope).

1136* **Status Git**: um snapshot tirado no início da sessão pai. Ausente quando o diretório de trabalho não é um repositório Git ou quando [`includeGitInstructions`](/docs/pt/settings-reference#includegitinstructions) é `false`. Explore e Plan pulam independentemente.1140* **Status Git**: um snapshot tirado no início da sessão pai. Ausente quando o diretório de trabalho não é um repositório Git ou quando [`includeGitInstructions`](/docs/pt/settings-reference#includegitinstructions) é `false`. Explore e Plan pulam independentemente.

1137* **Skills pré-carregadas**: conteúdo completo de qualquer skill nomeada no campo [`skills`](#preload-skills-into-subagents) do agente. Agentes integrados não pré-carregam skills.1141* **Skills pré-carregadas**: conteúdo completo de qualquer skill nomeada no campo [`skills`](#preload-skills-into-subagents) do agente. Agentes integrados não pré-carregam skills.

1138* **Roster de irmãos**: um lembrete do sistema listando `main` e cada outro agente nomeado na sessão, cada um um valor `to` válido para [`SendMessage`](#resume-subagents). Requer Claude Code v2.1.206 ou posterior. O roster aparece apenas quando as ferramentas do subagente incluem `SendMessage` e pelo menos um outro agente tem um nome, seja Claude o nomeou ao gerá-lo ou ele é executado como um colega de [equipe de agentes](/docs/pt/agent-teams). É um snapshot tirado quando o subagente começa, então agentes nomeados depois não aparecem.1142* **Roster de irmãos**: um [lembrete do sistema](/docs/pt/glossary#system-reminder) listando `main` e cada outro agente nomeado na sessão, cada um um valor `to` válido para [`SendMessage`](#resume-subagents). Requer Claude Code v2.1.206 ou posterior. O roster aparece apenas quando as ferramentas do subagente incluem `SendMessage` e pelo menos um outro agente tem um nome, seja Claude o nomeou ao gerá-lo ou ele é executado como um colega de [equipe de agentes](/docs/pt/agent-teams). É um snapshot tirado quando o subagente começa, então agentes nomeados depois não aparecem.

1139 1143 

1140Para lançar um de seus próprios subagentes sem os arquivos CLAUDE.md do usuário, projeto e local, defina [`omitClaudeMd: true`](#supported-frontmatter-fields) em seu frontmatter ou `--agents` JSON.1144Para lançar um de seus próprios subagentes sem os arquivos CLAUDE.md do usuário, projeto e local, defina [`omitClaudeMd: true`](#supported-frontmatter-fields) em seu frontmatter ou `--agents` JSON.

1141 1145 

Details

339 ```339 ```

340</CodeGroup>340</CodeGroup>

341 341 

342<h2 id="cap-response-width-in-wide-terminals">

343 Limitar a largura da resposta em terminais amplos

344</h2>

345 

346Em um terminal amplo, cada linha de prosa nas respostas do Claude ocupa a largura total da janela. Para quebrar a prosa em um número definido de colunas, defina [`maxProseWidth`](/docs/pt/settings-reference#maxprosewidth) nas suas configurações.

347 

342<h2 id="paste-large-content">348<h2 id="paste-large-content">

343 Colar conteúdo grande349 Colar conteúdo grande

344</h2>350</h2>

Details

13Para adicionar ferramentas personalizadas, conecte um [servidor MCP](/docs/pt/mcp). Para estender Claude com fluxos de trabalho baseados em prompts reutilizáveis, escreva uma [skill](/docs/pt/skills), que é executada através da ferramenta `Skill` existente em vez de adicionar uma nova entrada de ferramenta.13Para adicionar ferramentas personalizadas, conecte um [servidor MCP](/docs/pt/mcp). Para estender Claude com fluxos de trabalho baseados em prompts reutilizáveis, escreva uma [skill](/docs/pt/skills), que é executada através da ferramenta `Skill` existente em vez de adicionar uma nova entrada de ferramenta.

14 14 

15<Info>15<Info>

16 Nos planos Pro, Max e Team, Claude Code inicia sessões em [modo automático](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode), onde um classificador decide a maioria desses prompts em vez de você. A coluna `Permission required` mostra se a ferramenta solicita em [Modo Manual](/docs/pt/permission-modes) para caminhos dentro do diretório de trabalho. Ferramentas de acesso a arquivos marcadas como Não, incluindo `Read`, `Grep` e `Glob`, ainda solicitam para caminhos fora do [diretório de trabalho e diretórios adicionais](/docs/pt/permissions#working-directories). `Bash` é marcado como Sim, mas executa um conjunto integrado de [comandos somente leitura](/docs/pt/permissions#read-only-commands) sem solicitar.16 Em [modo automático](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode), um classificador decide a maioria dos prompts de permissão em vez de você. A coluna `Permission required` mostra se a ferramenta solicita em [Modo Manual](/docs/pt/permission-modes) para caminhos dentro do diretório de trabalho. Ferramentas de acesso a arquivos marcadas como Não, incluindo `Read`, `Grep` e `Glob`, ainda solicitam para caminhos fora do [diretório de trabalho e diretórios adicionais](/docs/pt/permissions#working-directories). `Bash` é marcado como Sim, mas executa um conjunto integrado de [comandos somente leitura](/docs/pt/permissions#read-only-commands) sem solicitar.

17</Info>17</Info>

18 18 

19| Ferramenta | Descrição | Permissão necessária |19| Ferramenta | Descrição | Permissão necessária |


34| `Glob` | Encontra arquivos com base em correspondência de padrões. Ausente por padrão no macOS, Linux e WSL. Veja [Comportamento da ferramenta Glob](#glob-tool-behavior) | Não |34| `Glob` | Encontra arquivos com base em correspondência de padrões. Ausente por padrão no macOS, Linux e WSL. Veja [Comportamento da ferramenta Glob](#glob-tool-behavior) | Não |

35| `Grep` | Pesquisa padrões no conteúdo de arquivos. Ausente por padrão no macOS, Linux e WSL. Veja [Comportamento da ferramenta Grep](#grep-tool-behavior) | Não |35| `Grep` | Pesquisa padrões no conteúdo de arquivos. Ausente por padrão no macOS, Linux e WSL. Veja [Comportamento da ferramenta Grep](#grep-tool-behavior) | Não |

36| `ListAgents` | Lista os agentes que Claude pode enviar mensagens com `SendMessage`: subagentes na sessão, [colegas de equipe](/docs/pt/agent-teams) de equipe de agentes, suas outras sessões locais de Claude Code e, enquanto esta sessão está conectada a [Controle Remoto](/docs/pt/remote-control), suas sessões de [Claude Code na web](/docs/pt/claude-code-on-the-web) e suas sessões de Controle Remoto em outras máquinas. Respalda o comando `/list-agents`. Veja [mensagens entre sessões](/docs/pt/cross-session-messaging). Requer Claude Code v2.1.224 ou posterior e aparece apenas em sessões onde [mensagens entre sessões estão ativadas](/docs/pt/cross-session-messaging#availability). Linhas de colegas de equipe e a primeira linha mostrando o próprio nome desta sessão requerem v2.1.239 ou posterior | Não |36| `ListAgents` | Lista os agentes que Claude pode enviar mensagens com `SendMessage`: subagentes na sessão, [colegas de equipe](/docs/pt/agent-teams) de equipe de agentes, suas outras sessões locais de Claude Code e, enquanto esta sessão está conectada a [Controle Remoto](/docs/pt/remote-control), suas sessões de [Claude Code na web](/docs/pt/claude-code-on-the-web) e suas sessões de Controle Remoto em outras máquinas. Respalda o comando `/list-agents`. Veja [mensagens entre sessões](/docs/pt/cross-session-messaging). Requer Claude Code v2.1.224 ou posterior e aparece apenas em sessões onde [mensagens entre sessões estão ativadas](/docs/pt/cross-session-messaging#availability). Linhas de colegas de equipe e a primeira linha mostrando o próprio nome desta sessão requerem v2.1.239 ou posterior | Não |

37| `ListMcpResourcesTool` | Lista recursos expostos por [servidores MCP](/docs/pt/mcp) conectados | Não |37| `ListMcpResourcesTool` | Lista recursos expostos por [servidores MCP](/docs/pt/mcp) conectados, deixando de fora [recursos da UI de MCP Apps](/docs/pt/mcp#reference-mcp-resources), que são páginas para um aplicativo host renderizar | Não |

38| `LSP` | Inteligência de código via servidores de linguagem: ir para definições, encontrar referências, relatar erros de tipo e avisos. Veja [Comportamento da ferramenta LSP](#lsp-tool-behavior) | Não |38| `LSP` | Inteligência de código via servidores de linguagem: ir para definições, encontrar referências, relatar erros de tipo e avisos. Veja [Comportamento da ferramenta LSP](#lsp-tool-behavior) | Não |

39| `Monitor` | Executa um comando em segundo plano e alimenta cada linha de saída de volta para Claude, para que ele possa reagir a entradas de log, mudanças de arquivo ou status consultado no meio da conversa. Também pode abrir um WebSocket e tratar cada mensagem recebida como um evento. Veja [Ferramenta Monitor](#monitor-tool) | Sim |39| `Monitor` | Executa um comando em segundo plano e alimenta cada linha de saída de volta para Claude, para que ele possa reagir a entradas de log, mudanças de arquivo ou status consultado no meio da conversa. Também pode abrir um WebSocket e tratar cada mensagem recebida como um evento. Veja [Ferramenta Monitor](#monitor-tool) | Sim |

40| `NotebookEdit` | Modifica células de notebook Jupyter. Veja [Comportamento da ferramenta NotebookEdit](#notebookedit-tool-behavior) | Sim |40| `NotebookEdit` | Modifica células de notebook Jupyter. Veja [Comportamento da ferramenta NotebookEdit](#notebookedit-tool-behavior) | Sim |

Details

41| `running scripts is disabled on this system` ou `PSSecurityException` | [Permita que os shims npm sejam executados](#running-scripts-is-disabled-on-this-system) |41| `running scripts is disabled on this system` ou `PSSecurityException` | [Permita que os shims npm sejam executados](#running-scripts-is-disabled-on-this-system) |

42| `Error: claude native binary not installed` | [Conclua a instalação npm](#native-binary-not-found-after-npm-install) |42| `Error: claude native binary not installed` | [Conclua a instalação npm](#native-binary-not-found-after-npm-install) |

43| `npm error code ENOTEMPTY` durante atualização ou reinstalação | [Remova o diretório de pacote restante](#npm-enotempty-during-update-or-reinstall) |43| `npm error code ENOTEMPTY` durante atualização ou reinstalação | [Remova o diretório de pacote restante](#npm-enotempty-during-update-or-reinstall) |

44| `'claude' is not recognized` logo após uma atualização no Windows | [Restaure `claude.exe` de seu backup](#claude-exe-missing-after-an-update-on-windows) |

44| No Windows, o comando de instalação imprime texto de script e nada é instalado | [Execute o comando de instalação completo](#wrong-install-command-on-windows) |45| No Windows, o comando de instalação imprime texto de script e nada é instalado | [Execute o comando de instalação completo](#wrong-install-command-on-windows) |

45| `App unavailable in region` | Claude Code não está disponível em seu país. Consulte [países suportados](https://www.anthropic.com/supported-countries). |46| `App unavailable in region` | Claude Code não está disponível em seu país. Consulte [países suportados](https://www.anthropic.com/supported-countries). |

46| `unable to get local issuer certificate` | [Configure certificados CA corporativos](#tls-or-ssl-connection-errors) |47| `unable to get local issuer certificate` | [Configure certificados CA corporativos](#tls-or-ssl-connection-errors) |

47| `OAuth error` ou `403 Forbidden` | [Corrija a autenticação](#login-and-authentication) |48| `OAuth error` ou `403 Forbidden` | [Corrija a autenticação](#login-and-authentication) |

49| `Claude Code access has not been granted for this account` | [Obtenha uma função que inclua Claude Code](#claude-code-access-has-not-been-granted-for-this-account) |

48| `Unable to connect to Anthropic services` durante a configuração | Consulte [Unable to connect to Anthropic services](/docs/pt/errors#unable-to-connect-to-anthropic-services) na referência de erros |50| `Unable to connect to Anthropic services` durante a configuração | Consulte [Unable to connect to Anthropic services](/docs/pt/errors#unable-to-connect-to-anthropic-services) na referência de erros |

49| `Could not load the default credentials` ou `Could not load credentials from any providers` | [Credenciais do Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry](#bedrock-agent-platform-or-foundry-credentials-not-loading) |51| `Could not load the default credentials` ou `Could not load credentials from any providers` | [Credenciais do Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry](#bedrock-agent-platform-or-foundry-credentials-not-loading) |

50| `ChainedTokenCredential authentication failed` ou `CredentialUnavailableError` | [Credenciais do Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry](#bedrock-agent-platform-or-foundry-credentials-not-loading) |52| `ChainedTokenCredential authentication failed` ou `CredentialUnavailableError` | [Credenciais do Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry](#bedrock-agent-platform-or-foundry-credentials-not-loading) |


142 source ~/.zshrc144 source ~/.zshrc

143 ```145 ```

144 146 

145 Para Bash, o padrão na maioria das distribuições Linux:147 Para Bash no Linux, onde é o padrão na maioria das distribuições:

146 148 

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

148 echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc150 echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc

149 source ~/.bashrc151 source ~/.bashrc

150 ```152 ```

151 153 

154 Para Bash no macOS, adicione a linha a `~/.bash_profile` em vez disso. Terminal no macOS inicia Bash como um shell de login, que ignora `~/.bashrc` e lê apenas o primeiro de `~/.bash_profile`, `~/.bash_login`, ou `~/.profile` que existe. Se você já tem um `~/.bash_login` ou `~/.profile` e nenhum `~/.bash_profile`, coloque a linha naquele arquivo em vez de criar `~/.bash_profile`:

155 

156 ```bash theme={null}

157 echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bash_profile

158 source ~/.bash_profile

159 ```

160 

152 Alternativamente, feche e reabra seu terminal.161 Alternativamente, feche e reabra seu terminal.

153 162 

154 Para outros shells como fish ou Nushell, adicione `~/.local/bin` ao seu PATH usando a sintaxe de configuração do seu próprio shell, depois reinicie seu terminal.163 Para outros shells como fish ou Nushell, adicione `~/.local/bin` ao seu PATH usando a sintaxe de configuração do seu próprio shell, depois reinicie seu terminal.


512 Wrong install command on Windows521 Wrong install command on Windows

513</h3>522</h3>

514 523 

515Se você vir `'irm' is not recognized`, `The token '&&' is not valid`, `A parameter cannot be found that matches parameter name 'fsSL'`, ou `'bash' is not recognized as the name of a cmdlet`, você copiou o comando de instalação para um shell ou sistema operacional diferente. Se o comando imprimir o texto do script em vez de instalar qualquer coisa, você executou apenas parte dele.524Se você vir `'irm' is not recognized`, `The token '&&' is not a valid statement separator`, `A parameter cannot be found that matches parameter name 'fsSL'`, ou `'bash' is not recognized as the name of a cmdlet`, você copiou o comando de instalação para um shell ou sistema operacional diferente. Se o comando imprimir o texto do script em vez de instalar qualquer coisa, você executou apenas parte dele.

516 525 

517* **`irm` não reconhecido**: você está em CMD, não PowerShell. Você tem duas opções:526* **`irm` não reconhecido**: você está em CMD, não PowerShell. Você tem duas opções:

518 527 


528 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd537 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

529 ```538 ```

530 539 

531* **`&&` não válido**: você está em PowerShell mas executou o comando do instalador CMD. Use o instalador PowerShell:540* **`&&` não é um separador de instrução válido**: você está em PowerShell mas executou o comando do instalador CMD. Use o instalador PowerShell:

532 ```powershell theme={null}541 ```powershell theme={null}

533 irm https://claude.ai/install.ps1 | iex542 irm https://claude.ai/install.ps1 | iex

534 ```543 ```


593irm https://claude.ai/install.ps1 | iex602irm https://claude.ai/install.ps1 | iex

594```603```

595 604 

605<h3 id="claude-exe-missing-after-an-update-on-windows">

606 `claude.exe` missing after an update on Windows

607</h3>

608 

609Se seu terminal relatar `'claude' is not recognized` logo após Claude Code atualizar no Windows, verifique se `%USERPROFILE%\.local\bin` ainda contém `claude.exe`. Se esse diretório não estiver em seu PATH, consulte [Fix your PATH](#command-not-found-claude-after-installation) em vez disso. Para atualizar no Windows, Claude Code renomeia o `claude.exe` existente para um backup e move a nova versão para seu lugar. Se mover a nova versão para seu lugar falhar e Claude Code não conseguir renomear o backup de volta, o diretório mantém o backup mas não tem `claude.exe`.

610 

611O backup é um arquivo no mesmo diretório cujo nome começa com `claude.exe.old.` seguido por um timestamp numérico. Execute o seguinte no PowerShell para renomear o backup mais recente de volta para `claude.exe`:

612 

613```powershell theme={null}

614Get-ChildItem "$env:USERPROFILE\.local\bin\claude.exe.old.*" | Sort-Object Name | Select-Object -Last 1 | Rename-Item -NewName claude.exe

615```

616 

617Depois execute `claude --version` para confirmar a correção. Um `claude.exe` restaurado imprime um número de versão.

618 

619Se não houver arquivo `claude.exe.old.*`, ou `claude` ainda falhar após a renomeação, reinstale em vez disso:

620 

621```powershell theme={null}

622irm https://claude.ai/install.ps1 | iex

623```

624 

625Antes da v2.1.281, Claude Code poderia deletar o backup enquanto `claude.exe` ainda estava faltando.

626 

596<h3 id="install-killed-on-low-memory-linux-servers">627<h3 id="install-killed-on-low-memory-linux-servers">

597 Install killed on low-memory Linux servers628 Install killed on low-memory Linux servers

598</h3>629</h3>


992* **Usuários do Anthropic Console**: confirme que sua conta tem a função "Claude Code" ou "Developer". Os administradores atribuem isso no Anthropic Console em Settings → Members.1023* **Usuários do Anthropic Console**: confirme que sua conta tem a função "Claude Code" ou "Developer". Os administradores atribuem isso no Anthropic Console em Settings → Members.

993* **Atrás de um proxy**: proxies corporativos podem interferir com solicitações de API. Consulte [network configuration](/docs/pt/network-config) para configuração de proxy.1024* **Atrás de um proxy**: proxies corporativos podem interferir com solicitações de API. Consulte [network configuration](/docs/pt/network-config) para configuração de proxy.

994 1025 

1026<h3 id="claude-code-access-has-not-been-granted-for-this-account">

1027 Claude Code access has not been granted for this account

1028</h3>

1029 

1030Se a página de login mostrar `Authorization failed` com a mensagem `Claude Code access has not been granted for this account. Contact your administrator.` após você fazer login a partir do Claude Code, sua organização Claude Enterprise definiu sua função como Custom e nenhuma das [custom roles](https://support.claude.com/en/articles/13930452) atribuídas aos seus grupos concede Claude Code. Na função Custom, você obtém acesso apenas dessas funções personalizadas, portanto nada que você altere no Claude Code resolve esse erro.

1031 

1032Para obter acesso:

1033 

10341. Peça a um Owner de sua organização Claude para atribuir uma função personalizada que conceda acesso ao Claude Code a um de seus grupos, ou para alterar sua função de Custom para uma função padrão como User. Os Owners gerenciam funções nas [role settings](https://claude.ai/admin-settings/roles) da organização.

10352. Após o Owner fazer a alteração, execute `claude` e faça login novamente.

1036 

995<h3 id="this-organization-has-been-disabled-with-an-active-subscription">1037<h3 id="this-organization-has-been-disabled-with-an-active-subscription">

996 This organization has been disabled with an active subscription1038 This organization has been disabled with an active subscription

997</h3>1039</h3>

Details

30 Ativar ditado por voz30 Ativar ditado por voz

31</h2>31</h2>

32 32 

33Execute `/voice` para ativar o ditado. Na primeira vez que você o ativa, Claude Code executa uma verificação de microfone. No macOS, isso dispara o prompt de permissão de microfone do sistema para seu terminal se nunca foi concedido.33Execute `/voice` para ativar o ditado. Quando você o ativa, Claude Code executa uma verificação de microfone. No macOS, isso dispara o prompt de permissão de microfone do sistema para seu terminal se nunca foi concedido.

34 34 

35```35```

36/voice36/voice


190* **`Voice mode requires SoX for audio recording` no Linux**: o módulo de áudio nativo não conseguiu carregar e nenhum fallback está instalado. Instale SoX com o comando mostrado na mensagem de erro, por exemplo `sudo apt-get install sox`.190* **`Voice mode requires SoX for audio recording` no Linux**: o módulo de áudio nativo não conseguiu carregar e nenhum fallback está instalado. Instale SoX com o comando mostrado na mensagem de erro, por exemplo `sudo apt-get install sox`.

191* **`Voice mode requires a microphone, but SoX could not open an audio capture device`**: SoX está instalado, mas o host não possui um dispositivo de captura de áudio, por exemplo um servidor sem cabeça ou um contêiner. Execute Claude Code em uma máquina com um microfone. A partir da v2.1.195, Claude Code no Linux relata esta mensagem nessa situação; versões anteriores pediam que você instalasse SoX mesmo quando já estava instalado.191* **`Voice mode requires a microphone, but SoX could not open an audio capture device`**: SoX está instalado, mas o host não possui um dispositivo de captura de áudio, por exemplo um servidor sem cabeça ou um contêiner. Execute Claude Code em uma máquina com um microfone. A partir da v2.1.195, Claude Code no Linux relata esta mensagem nessa situação; versões anteriores pediam que você instalasse SoX mesmo quando já estava instalado.

192* **`Voice mode could not find a working audio recorder in WSL`**: WSLg roteia áudio através do PulseAudio em vez de um dispositivo ALSA, portanto SoX precisa que seu backend PulseAudio esteja instalado explicitamente. Execute `sudo apt install sox libsox-fmt-pulse`. Instalar apenas `sox` puxa o backend ALSA, que não consegue gravar no WSL porque não há nenhum dispositivo `/dev/snd`.192* **`Voice mode could not find a working audio recorder in WSL`**: WSLg roteia áudio através do PulseAudio em vez de um dispositivo ALSA, portanto SoX precisa que seu backend PulseAudio esteja instalado explicitamente. Execute `sudo apt install sox libsox-fmt-pulse`. Instalar apenas `sox` puxa o backend ALSA, que não consegue gravar no WSL porque não há nenhum dispositivo `/dev/snd`.

193* **`Voice input is failing repeatedly and has been paused`**: o ditado por voz atingiu três falhas de captura em 10 segundos. Claude Code pausa o ditado até que 10 segundos tenham passado desde a primeira dessas falhas. Uma falha conta se o microfone falhar ao iniciar ou o gravador iniciar e depois parar sem produzir nenhum áudio. Isso geralmente significa que o microfone ou a pilha de áudio neste host não consegue capturar áudio, por exemplo um servidor sem cabeça, um shell remoto sem passagem de áudio, ou uma permissão de microfone negada. Confirme um dispositivo de entrada funcionando, corrija a causa subjacente das entradas acima, depois dispare a voz novamente. Antes da v2.1.202, apenas falhas de inicialização contavam para a pausa.193* **`Voice input is failing repeatedly and has been paused`**: o ditado por voz atingiu três falhas dentro de 10 segundos. Claude Code pausa o ditado até que 10 segundos tenham passado desde a primeira dessas falhas. Isso geralmente significa que o microfone ou a pilha de áudio neste host não consegue capturar áudio, por exemplo um servidor sem cabeça, um shell remoto sem passagem de áudio, ou uma permissão de microfone negada. Confirme um dispositivo de entrada funcionando, corrija a causa subjacente das entradas acima, depois dispare a voz novamente. Antes da v2.1.202, apenas falhas de inicialização contavam para a pausa.

194* **Nada acontece ao manter `Space` pressionado no modo de manutenção**: observe a entrada do prompt enquanto você mantém. Se espaços continuarem se acumulando, o ditado por voz provavelmente está desativado; execute `/voice hold` para ativá-lo. Se apenas um ou dois espaços aparecerem e depois nada, o ditado por voz está ativado mas a detecção de manutenção não está sendo acionada. A detecção de manutenção requer que seu terminal envie eventos de repetição de tecla, portanto não pode detectar uma tecla mantida se a repetição de tecla estiver desativada no nível do SO. Mude para o modo de toque com `/voice tap` para evitar o requisito de repetição de tecla.194* **Nada acontece ao manter `Space` pressionado no modo de manutenção**: observe a entrada do prompt enquanto você mantém. Se espaços continuarem se acumulando, o ditado por voz provavelmente está desativado; execute `/voice hold` para ativá-lo. Se apenas um ou dois espaços aparecerem e depois nada, o ditado por voz está ativado mas a detecção de manutenção não está sendo acionada. A detecção de manutenção requer que seu terminal envie eventos de repetição de tecla, portanto não pode detectar uma tecla mantida se a repetição de tecla estiver desativada no nível do SO. Mude para o modo de toque com `/voice tap` para evitar o requisito de repetição de tecla.

195* **Tocar `Space` digita um espaço em vez de gravar no modo de toque**: o primeiro toque só começa a gravar quando a entrada do prompt está vazia. Limpe a entrada primeiro, ou verifique se você está no modo de toque executando `/voice tap`.195* **Tocar `Space` digita um espaço em vez de gravar no modo de toque**: o primeiro toque só começa a gravar quando a entrada do prompt está vazia. Limpe a entrada primeiro, ou verifique se você está no modo de toque executando `/voice tap`.

196* **`No audio detected from microphone`**: a gravação começou mas capturou silêncio. Confirme que o dispositivo de entrada correto está definido como padrão do sistema e que seu nível de entrada não está mudo ou próximo a zero. No Windows, abra Configurações → Sistema → Som → Entrada e selecione seu microfone. No macOS, abra Configurações do Sistema → Som → Entrada.196* **`No audio detected from microphone`**: a gravação começou mas capturou silêncio. Confirme que o dispositivo de entrada correto está definido como padrão do sistema e que seu nível de entrada não está mudo ou próximo a zero. No Windows, abra Configurações → Sistema → Som → Entrada e selecione seu microfone. No macOS, abra Configurações do Sistema → Som → Entrada.

vs-code.md +39 −16

Details

109 109 

110The prompt box supports several features:110The prompt box supports several features:

111 111 

112* **Permission modes**: click the mode indicator at the bottom of the prompt box to switch permission modes. On Pro, Max, and Team plans, Auto is the built-in starting permission mode. See [how the extension chooses the starting permission mode](/docs/pt/permission-modes#switch-permission-modes) for what changes that, and every permission mode the indicator offers.112* **Permission modes**: click the mode indicator at the bottom of the prompt box to switch permission modes. With Claude Code v2.1.283 or later, Auto is the built-in starting permission mode, and on earlier versions only on Pro, Max, and Team plans. See [how the extension chooses the starting permission mode](/docs/pt/permission-modes#switch-permission-modes) for what changes that, and every permission mode the indicator offers.

113 * **Auto**: a classifier reviews most actions instead of asking you. See [auto mode](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) for what it reviews and blocks.113 * **Auto**: a classifier reviews most actions instead of asking you. See [auto mode](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) for what it reviews and blocks.

114 * **Manual**: Claude asks permission before file edits and most shell commands.114 * **Manual**: Claude asks permission before file edits and most shell commands.

115 * **Plan**: Claude describes what it will do and waits for approval before making changes. VS Code automatically opens the plan as a full Markdown document where you can add inline comments to give feedback before Claude begins.115 * **Plan**: Claude describes what it will do and waits for approval before making changes. VS Code automatically opens the plan as a full Markdown document where you can add inline comments to give feedback before Claude begins.


123* **Model**: select **Switch model…** from the command menu to change the model mid-session. You can also click the model name at the bottom of the prompt box to open the same picker.123* **Model**: select **Switch model…** from the command menu to change the model mid-session. You can also click the model name at the bottom of the prompt box to open the same picker.

124 124 

125 When the current model supports [effort levels](/docs/pt/model-config#adjust-effort-level), the picker also shows an **Effort** row and the model name button shows the selected level. When you pick a level other than `max`, Claude Code saves it for the current model as your default, under [`modelSettings`](/docs/pt/settings-reference#modelsettings) in your user settings; `max` applies to the current session only. The model name button and the **Effort** row require Claude Code v2.1.257 or later.125 When the current model supports [effort levels](/docs/pt/model-config#adjust-effort-level), the picker also shows an **Effort** row and the model name button shows the selected level. When you pick a level other than `max`, Claude Code saves it for the current model as your default, under [`modelSettings`](/docs/pt/settings-reference#modelsettings) in your user settings; `max` applies to the current session only. The model name button and the **Effort** row require Claude Code v2.1.257 or later.

126 

127 When [dynamic workflows](/docs/pt/workflows) are enabled and the current model supports it, an **Ultracode** switch appears under the **Effort** row. Turn it on to have Claude plan a [workflow](/docs/pt/workflows#let-claude-decide-with-ultracode) for each substantive task in this session, at the selected effort level. While it's on, the model name button shows `· Ultracode` after the level. The switch requires Claude Code v2.1.284 or later.

126* **Command menu**: click `/` or type `/` to open the command menu. Options include attaching files, switching models, and toggling extended thinking.128* **Command menu**: click `/` or type `/` to open the command menu. Options include attaching files, switching models, and toggling extended thinking.

127 129 

128 The Customize section includes entries such as MCP servers, commands, output styles, hooks, memory, instructions, permissions, and plugins. Items with a terminal icon open in the integrated terminal.130 The Customize section includes entries such as MCP servers, commands, output styles, hooks, memory, instructions, permissions, and plugins. Items with a terminal icon open in the integrated terminal.


150 152 

151 Claude's latest to-do list stays visible, and so does the text a pending question from Claude is asking about; this requires Claude Code v2.1.225 or later. While Claude runs [subagents](/docs/pt/sub-agents), live progress rows with their latest activity appear under the tool-call group that started them. This requires Claude Code v2.1.269 or later.153 Claude's latest to-do list stays visible, and so does the text a pending question from Claude is asking about; this requires Claude Code v2.1.225 or later. While Claude runs [subagents](/docs/pt/sub-agents), live progress rows with their latest activity appear under the tool-call group that started them. This requires Claude Code v2.1.269 or later.

152 * To sign out of your Anthropic account, select **Sign out** in the Settings section, or type `/logout`. On a [third-party provider](#use-third-party-providers), the menu doesn't offer either. Requires Claude Code v2.1.277 or later.154 * To sign out of your Anthropic account, select **Sign out** in the Settings section, or type `/logout`. On a [third-party provider](#use-third-party-providers), the menu doesn't offer either. Requires Claude Code v2.1.277 or later.

153 * To report a bug, click **Report a problem** at the bottom of the menu, or type `/bug` or `/feedback` with an optional description that prefills the report. When you submit the report and you're signed in to Anthropic on a first-party connection, Claude Code sends it to Anthropic. On a third-party provider, or without Anthropic credentials, the dialog still opens, but submitting shows an error and sends nothing: unlike the CLI's `/bug`, the extension doesn't write a local archive. Requires Claude Code v2.1.229 or later.155 * To report a bug, click **Report a problem** at the bottom of the menu, or type `/bug` or `/feedback` with an optional description that prefills the report. When you submit the report and you're signed in to Anthropic on a first-party connection, Claude Code sends it to Anthropic. Requires Claude Code v2.1.229 or later.

156 

157 On a third-party provider, or without Anthropic credentials, nothing is sent. The dialog says so before you write. Submitting saves the report as a [local archive under `~/.claude/feedback-bundles/`](/docs/pt/data-usage#telemetry-services) with known API key and token patterns redacted. Send that file to your Anthropic account representative or attach it to a support request. The confirmation names the file and includes a **Show folder** button. Saving the report on your computer requires Claude Code v2.1.284 or later.

154 158 

155 If your organization's policy turns product feedback off, **Report a problem** doesn't appear in the menu, and `/bug` and `/feedback` show a `Feedback is turned off by your organization's policy or this environment's settings.` notice instead of opening the report.159 If your organization's policy turns product feedback off, **Report a problem** doesn't appear in the menu, and `/bug` and `/feedback` show a `Feedback is turned off by your organization's policy or this environment's settings.` notice instead of opening the report. With Claude Code v2.1.284 or later, if you set the `DISABLE_FEEDBACK_COMMAND` or `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` environment variable, feedback is also turned off and opening the report shows that notice instead.

156* **Side questions**: type `/btw` followed by a question to ask about your session [without adding to the conversation](/docs/pt/interactive-mode#side-questions-with-%2Fbtw). The answer opens in a panel beside the chat, where you can ask follow-up questions. The thread survives window reloads. Claude Code keeps the newest 20 exchanges and expires stored threads on the [`cleanupPeriodDays`](/docs/pt/settings-reference#cleanupperioddays) schedule, as long as Claude Code can [safely determine the retention period](/docs/pt/claude-directory#cleaned-up-automatically). To clear a thread, click the trash icon in the panel. Requires Claude Code v2.1.227 or later.160* **Side questions**: type `/btw` followed by a question to ask about your session [without adding to the conversation](/docs/pt/interactive-mode#side-questions-with-%2Fbtw). The answer opens in a panel beside the chat, where you can ask follow-up questions. The thread survives window reloads. Claude Code keeps the newest 20 exchanges and expires stored threads on the [`cleanupPeriodDays`](/docs/pt/settings-reference#cleanupperioddays) schedule, as long as Claude Code can [safely determine the retention period](/docs/pt/claude-directory#cleaned-up-automatically). To clear a thread, click the trash icon in the panel. Requires Claude Code v2.1.227 or later.

157* **Copy a response**: hover over a response and click **Copy response** to copy it to your clipboard, or type `/copy` to copy the latest response. `/copy 2` copies the second-to-last. Requires Claude Code v2.1.277 or later.161* **Copy a response**: hover over a response and click **Copy response** to copy it to your clipboard, or type `/copy` to copy the latest response. `/copy 2` copies the second-to-last. Requires Claude Code v2.1.277 or later.

158* **Context indicator**: the prompt box shows how much of Claude's context window you're using. Claude automatically compacts when needed, or you can run `/compact` manually.162* **Context indicator**: the prompt box shows how much of Claude's context window you're using. Claude automatically compacts when needed, or you can run `/compact` manually.


242 </Step>246 </Step>

243 247 

244 <Step title="Select a session to resume">248 <Step title="Select a session to resume">

245 Browse or search your cloud sessions. Click any session to download it and continue the conversation locally.249 Browse or search the sessions. Click one to continue the conversation locally.

246 </Step>250 </Step>

247</Steps>251</Steps>

248 252 

249<Note>253<Note>

250 Only cloud sessions started with a GitHub repository appear in the Web tab. Resuming loads the conversation history locally; changes are not synced back to claude.ai.254 When the folder you have open is a GitHub repository, the Web tab shows only sessions from that repository.

255 

256 When you resume a cloud session, the extension downloads a copy of the conversation history; changes don't sync back to claude.ai.

251</Note>257</Note>

252 258 

259The Web tab also lists your [Remote Control](/docs/pt/remote-control) sessions. If you click one that ran in the folder you have open, the extension opens that local conversation instead of downloading a copy, and focuses the tab already showing it if there is one. If the extension can't rule out that another Claude process has the conversation open, you get a downloaded copy instead.

260 

261If any part of a conversation fails to download, an error appears and no copy is saved. Select the session again to retry. If you select a session that has no conversation to download yet, an error tells you where to continue it instead.

262 

253<h3 id="check-account-and-usage">263<h3 id="check-account-and-usage">

254 Check account and usage264 Check account and usage

255</h3>265</h3>


269 Personalize seu fluxo de trabalho279 Personalize seu fluxo de trabalho

270</h2>280</h2>

271 281 

272Você pode reposicionar o painel Claude, executar múltiplas conversas, organizar a lista de sessões em grupos ou alternar para o modo terminal.282Você pode reposicionar o painel Claude, executar múltiplas conversas, agrupar ou filtrar a lista de sessões, ou alternar para o modo terminal.

273 283 

274<h3 id="choose-where-claude-lives">284<h3 id="choose-where-claude-lives">

275 Escolha onde Claude fica285 Escolha onde Claude fica


281* **Barra lateral primária**: a barra lateral esquerda com ícones para Explorer, Search, etc.291* **Barra lateral primária**: a barra lateral esquerda com ícones para Explorer, Search, etc.

282* **Área do editor**: abre Claude como uma aba ao lado de seus arquivos. Útil para tarefas secundárias.292* **Área do editor**: abre Claude como uma aba ao lado de seus arquivos. Útil para tarefas secundárias.

283 293 

284Quando Claude abre uma aba em um novo grupo de editor, a extensão bloqueia esse grupo, então os arquivos que você abre enquanto a aba Claude está em foco vão para outro grupo em vez de ficar ao lado dela.294Quando Claude abre uma aba em um novo grupo de editor, a extensão bloqueia esse grupo, para que os arquivos que você abrir enquanto a aba Claude está em foco vão para outro grupo em vez de ficar ao lado dela.

285 295 

286Para impedir que a extensão bloqueie grupos, desative a [configuração Lock Editor Groups](vscode://settings/claudeCode.lockEditorGroups). Os grupos que já estão bloqueados permanecem bloqueados até que você os desbloqueie. A configuração requer Claude Code v2.1.274 ou posterior.296Para impedir que a extensão bloqueie grupos, desative a [configuração Lock Editor Groups](vscode://settings/claudeCode.lockEditorGroups). Os grupos que já estão bloqueados permanecem bloqueados até que você os desbloqueie. A configuração requer Claude Code v2.1.274 ou posterior.

287 297 

288<Tip>298<Tip>

289 Use a barra lateral para sua sessão principal do Claude e abra abas adicionais para tarefas secundárias. Claude lembra sua localização preferida. O ícone da lista de sessões da Activity Bar é separado do painel Claude: a lista de sessões está sempre visível na Activity Bar, enquanto o ícone do painel Claude só aparece lá quando o painel está encaixado na barra lateral esquerda.299 Use a barra lateral para sua sessão principal de Claude e abra abas adicionais para tarefas secundárias. Claude lembra sua localização preferida. O ícone da lista de sessões da Activity Bar é separado do painel Claude: a lista de sessões está sempre visível na Activity Bar, enquanto o ícone do painel Claude só aparece lá quando o painel está encaixado na barra lateral esquerda.

290</Tip>300</Tip>

291 301 

292Depois de executar **Developer: Reload Window** ou reiniciar o VS Code, se um chat volta com sua conversa depende de onde estava aberto:302Depois que você executar **Developer: Reload Window** ou reiniciar VS Code, se uma conversa volta com sua conversa depende de onde ela estava aberta:

293 303 

294* **Aba do editor**: a conversa volta com sua aba.304* **Aba do editor**: a conversa volta com sua aba.

295* **Barra lateral**: a conversa volta se você enviou uma mensagem ou Claude respondeu nela nos últimos 10 minutos. Se ela não voltar, retome a conversa do [Histórico de sessões](#resume-past-conversations).305* **Barra lateral**: a conversa volta se você enviou uma mensagem ou Claude respondeu nela nos últimos 10 minutos. Se ela não voltar, retome a conversa do [Histórico de sessões](#resume-past-conversations).

296 306 

297Se o recarregamento interrompeu Claude no meio de uma etapa, Claude continua essa etapa quando a conversa volta, e um aviso no chat marca a continuação. Requer Claude Code v2.1.274 ou posterior. Se a etapa foi interrompida há mais de uma hora ou a sessão está aberta em outro lugar, a conversa volta inativa em vez disso.307Se o recarregamento interrompeu Claude no meio de uma etapa, Claude continua essa etapa quando a conversa volta, e um aviso no chat marca a continuação. Requer Claude Code v2.1.274 ou posterior. Se a etapa foi interrompida há mais de uma hora ou a sessão está aberta em outro lugar, a conversa volta ociosa.

298 308 

299Para desativar a continuação, abra a [configuração Continue After Reload](vscode://settings/claudeCode.continueAfterReload) e desmarque-a.309Para desativar a continuação, abra a [configuração Continue After Reload](vscode://settings/claudeCode.continueAfterReload) e desmarque-a.

300 310 


310 Organize sessões em grupos320 Organize sessões em grupos

311</h3>321</h3>

312 322 

313Na lista de sessões da Activity Bar, você pode coletar sessões relacionadas em grupos nomeados e recolhíveis. Requer Claude Code v2.1.229 ou posterior.323Na lista de sessões na Activity Bar, você pode coletar sessões relacionadas em grupos nomeados e recolhíveis. Requer Claude Code v2.1.229 ou posterior.

314 324 

315* **Agrupar ou desagrupar uma sessão**: clique com o botão direito em uma sessão para criar um grupo a partir dela, movê-la para um grupo existente ou removê-la de seu grupo. Cada sessão pertence a um grupo por vez, então movê-la para outro grupo a remove do primeiro.325* **Agrupar ou desagrupar uma sessão**: clique com o botão direito em uma sessão para criar um grupo a partir dela, movê-la para um grupo existente ou removê-la de seu grupo. Cada sessão pertence a um grupo por vez, portanto movê-la para outro grupo a remove do primeiro.

316* **Mover várias sessões de uma vez**: `Cmd`-clique (Mac) / `Ctrl`-clique (Windows/Linux) em cada sessão, ou `Shift`-clique para selecionar um intervalo, depois clique com o botão direito na seleção.326* **Mover várias sessões de uma vez**: `Cmd`-clique (Mac) / `Ctrl`-clique (Windows/Linux) em cada sessão, ou `Shift`-clique para selecionar um intervalo, depois clique com o botão direito na seleção.

317* **Agrupar uma sessão a partir de sua aba**: execute **Claude Code: Add Session Tab to Group** da Paleta de Comandos, depois escolha ou crie um grupo. Requer Claude Code v2.1.257 ou posterior.327* **Agrupar uma sessão de sua aba**: execute **Claude Code: Add Session Tab to Group** da Paleta de Comandos, depois escolha ou crie um grupo. Requer Claude Code v2.1.257 ou posterior.

318* **Renomear ou excluir um grupo**: clique com o botão direito em um cabeçalho de grupo. Excluir um grupo remove apenas o grupo, e suas sessões retornam à lista desagrupada.328* **Renomear ou excluir um grupo**: clique com o botão direito em um cabeçalho de grupo. Excluir um grupo remove apenas o grupo, e suas sessões retornam à lista desagrupada.

319 329 

320A extensão salva grupos por pasta de workspace, então eles sobrevivem a recarregamentos de janela e aparecem em cada janela onde você abre a mesma pasta. Quando você pesquisa a lista, a extensão mostra correspondências em uma lista plana única em todos os grupos.330A extensão salva grupos por pasta de workspace, para que sobrevivam a recarregamentos de janela e apareçam em cada janela onde você abre a mesma pasta. Quando você pesquisa a lista, a extensão mostra correspondências em uma lista plana em todos os grupos.

331 

332<h3 id="filter-the-sessions-list">

333 Filtre a lista de sessões

334</h3>

335 

336Para reduzir uma longa lista de sessões na Activity Bar, use os dois controles de filtro no topo da lista. Requer Claude Code v2.1.271 ou posterior. Sessões arquivadas não aparecem enquanto qualquer filtro está ativado.

337 

338* **Active**: ative este alternador para mostrar apenas sessões que precisam de sua entrada, estão funcionando ou não foram lidas, mais a sessão na aba Claude que você focou por último.

339* **Filter by status**: clique no ícone de funil, depois marque **Needs input**, **Working** ou **Completed** para mostrar sessões em qualquer um desses estados. Marque **Open** ou **Closed** para reduzir se uma sessão está aberta. Uma sessão conta como aberta quando tem uma aba nesta janela ou está em execução em outro processo Claude Code nesta máquina, como em um terminal.

340 

341Quando **Active** está ativado e você marca um status, **Open** ou **Closed**, a lista também mostra cada sessão que corresponde às suas marcações. Os filtros que você define persistem entre recarregamentos de janela.

321 342 

322<h3 id="switch-to-terminal-mode">343<h3 id="switch-to-terminal-mode">

323 Alterne para o modo terminal344 Alterne para o modo terminal

324</h3>345</h3>

325 346 

326Por padrão, a extensão abre um painel de chat gráfico. Se você preferir a interface no estilo CLI, abra a [configuração Use Terminal](vscode://settings/claudeCode.useTerminal) e marque a caixa.347Por padrão, a extensão abre um painel de chat gráfico. Se você preferir a interface de estilo CLI, abra a [configuração Use Terminal](vscode://settings/claudeCode.useTerminal) e marque a caixa.

327 348 

328Você também pode abrir as configurações do VS Code (`Cmd+,` no Mac ou `Ctrl+,` no Windows/Linux), ir para Extensions → Claude Code e marcar **Use Terminal**.349Você também pode abrir as configurações do VS Code (`Cmd+,` no Mac ou `Ctrl+,` no Windows/Linux), ir para Extensions → Claude Code e marcar **Use Terminal**.

329 350 


506A extensão tem dois tipos de configurações:527A extensão tem dois tipos de configurações:

507 528 

508* **Configurações da extensão** no VS Code: controlam o comportamento da extensão dentro do VS Code. Abra com `Cmd+,` (Mac) ou `Ctrl+,` (Windows/Linux), depois vá para Extensões → Claude Code. Você também pode digitar `/` e selecionar **General config…** para abrir as configurações.529* **Configurações da extensão** no VS Code: controlam o comportamento da extensão dentro do VS Code. Abra com `Cmd+,` (Mac) ou `Ctrl+,` (Windows/Linux), depois vá para Extensões → Claude Code. Você também pode digitar `/` e selecionar **General config…** para abrir as configurações.

509* **Configurações do Claude Code** em `~/.claude/settings.json`: compartilhadas entre a extensão e CLI. Use-a para comandos permitidos, variáveis de ambiente, hooks e servidores MCP. Nos planos Pro, Max e Team, também é uma entrada para o modo de permissão em que as conversas começam. [Switch permission modes](/docs/pt/permission-modes#switch-permission-modes) lista a ordem. Veja [Settings](/docs/pt/settings) para detalhes.530* **Configurações do Claude Code** em `~/.claude/settings.json`: compartilhadas entre a extensão e CLI. Use-a para comandos permitidos, variáveis de ambiente, hooks e servidores MCP. Com Claude Code v2.1.283 ou posterior, também é uma entrada para o modo de permissão em que as conversas começam, e em versões anteriores apenas nos planos Pro, Max e Team. [Switch permission modes](/docs/pt/permission-modes#switch-permission-modes) lista a ordem. Veja [Settings](/docs/pt/settings) para detalhes.

510 531 

511<Tip>532<Tip>

512 Adicione `"$schema": "https://json.schemastore.org/claude-code-settings.json"` ao seu `settings.json` para obter preenchimento automático e validação inline para todas as configurações disponíveis diretamente no VS Code.533 Adicione `"$schema": "https://json.schemastore.org/claude-code-settings.json"` ao seu `settings.json` para obter preenchimento automático e validação inline para todas as configurações disponíveis diretamente no VS Code.


722 743 

723**Selection and open-file context.** Enquanto conectado, a CLI inclui sua seleção atual do editor e o caminho do arquivo ativo como contexto em cada prompt que você envia. A transcrição mostra uma linha `⧉ Selected N lines from <file>` quando isso acontece.744**Selection and open-file context.** Enquanto conectado, a CLI inclui sua seleção atual do editor e o caminho do arquivo ativo como contexto em cada prompt que você envia. A transcrição mostra uma linha `⧉ Selected N lines from <file>` quando isso acontece.

724 745 

746Se você [enfileirar uma mensagem enquanto Claude trabalha](/docs/pt/interactive-mode#queue-messages-while-claude-works), ela mantém a seleção que você tinha quando pressionou `Enter`, qualquer coisa que você selecione depois.

747 

725Para excluir um arquivo sensível como `.env`, adicione uma [regra de negação `Read`](/docs/pt/permissions#read-and-edit) para seu caminho. Uma regra de negação correspondente impede que o texto selecionado e o aviso de arquivo aberto para esse arquivo cheguem a Claude.748Para excluir um arquivo sensível como `.env`, adicione uma [regra de negação `Read`](/docs/pt/permissions#read-and-edit) para seu caminho. Uma regra de negação correspondente impede que o texto selecionado e o aviso de arquivo aberto para esse arquivo cheguem a Claude.

726 749 

727Se você desativar a configuração [Attach Open File](#extension-settings), a CLI receberá o caminho do arquivo ativo apenas enquanto você tiver texto selecionado nele.750Se você desativar a configuração [Attach Open File](#extension-settings), a CLI receberá o caminho do arquivo ativo apenas enquanto você tiver texto selecionado nele.

workflows.md +14 −6

Details

161 Deixe Claude decidir com ultracode161 Deixe Claude decidir com ultracode

162</h3>162</h3>

163 163 

164Ultracode é uma configuração de Claude Code que combina `xhigh` [esforço de raciocínio](/docs/pt/model-config#adjust-effort-level) com orquestração automática de fluxo de trabalho. Com ele ativado, Claude planeja um fluxo de trabalho para cada tarefa substancial em vez de esperar você pedir.164Ultracode é uma configuração de Claude Code que ativa a orquestração automática de fluxo de trabalho para a sessão, em qualquer [nível de esforço](/docs/pt/model-config#adjust-effort-level) em que a sessão é executada. Com ele ativado, Claude planeja um fluxo de trabalho para cada tarefa substancial em vez de esperar você pedir. Ative-o no prompt de Claude Code:

165 165 

166```text wrap theme={null}166```text wrap theme={null}

167/effort ultracode167/effort ultracode

168```168```

169 169 

170Para iniciar uma sessão com ultracode já ativado, inicie com `claude --effort ultracode`. Requer Claude Code v2.1.203 ou posterior.170Para iniciar uma sessão com ultracode já ativado, inicie com `claude --effort ultracode`, que também define o nível de esforço para `xhigh`. Requer Claude Code v2.1.203 ou posterior.

171 171 

172Para ativá-lo enquanto você escolhe um modelo, mova o controle deslizante de esforço do seletor `/model` para `ultracode` com as teclas de seta. [Ajustar nível de esforço](/docs/pt/model-config#adjust-effort-level) lista as rotas que ativam ultracode.172Para ativá-lo a partir do controle deslizante `/effort`, pressione `Tab` para alternar o botão **Ultracode**, depois `Enter` para aplicá-lo. [Ajustar nível de esforço](/docs/pt/model-config#adjust-effort-level) lista as rotas que ativam ultracode.

173 173 

174Com ultracode ativado, Claude decide quando uma tarefa justifica um fluxo de trabalho. Uma única solicitação pode se transformar em vários fluxos de trabalho seguidos: um para entender o código, um para fazer a alteração e um para verificá-la. Isso se aplica a cada tarefa na sessão, então cada solicitação usa mais tokens e leva mais tempo do que em níveis de esforço mais baixos.174Com ultracode ativado, Claude decide quando uma tarefa justifica um fluxo de trabalho. Uma única solicitação pode se transformar em vários fluxos de trabalho seguidos: um para entender o código, um para fazer a alteração e um para verificá-la. Isso se aplica a cada tarefa na sessão, então cada solicitação usa mais tokens e leva mais tempo do que a mesma solicitação sem um fluxo de trabalho. Em um plano de assinatura, esses tokens são extraídos de seus limites de uso, então uma sessão com ultracode ativado atinge um limite de sessão ou semanal mais cedo do que o mesmo trabalho com ele desativado.

175 175 

176`/effort ultracode` dura para a sessão atual; para ter cada sessão iniciada com ele, defina a configuração [`ultracode`](/docs/pt/settings-reference#ultracode). Volte com `/effort high` quando retornar ao trabalho de rotina. O menu `/effort` o oferece apenas [quando ultracode está disponível](/docs/pt/model-config#when-ultracode-is-available).176Ativar ultracode já o coloca em grandes execuções, então essas verificações não se aplicam enquanto está ativado:

177 

178* O aviso [`Large workflow`](#cost) não aparece em uma execução de fluxo de trabalho

179* O [limite de subagentos simultâneos](/docs/pt/sub-agents#concurrent-subagent-limit) da sessão não é aplicado para os subagentos que Claude spawna com a ferramenta Agent

180* Em modo de permissão automática, você não é solicitado a [aprovar o primeiro lançamento de fluxo de trabalho](#approve-the-plan-before-it-runs)

181 

182`/effort ultracode` dura para a sessão atual; para ter cada sessão iniciada com ele, defina a configuração [`ultracode`](/docs/pt/settings-reference#ultracode). Desative-o com `/effort ultracode off` quando retornar ao trabalho de rotina. O controle deslizante `/effort` oferece o botão apenas [quando ultracode está disponível](/docs/pt/model-config#when-ultracode-is-available).

177 183 

178<h3 id="approve-the-plan-before-it-runs">184<h3 id="approve-the-plan-before-it-runs">

179 Aprovar o plano antes de ser executado185 Aprovar o plano antes de ser executado


516 522 

517Para desativar fluxos de trabalho para toda a sua organização, defina `"disableWorkflows": true` em [configurações gerenciadas](/docs/pt/server-managed-settings), ou use o alternador na página [configurações de administrador de Claude Code](https://claude.ai/admin-settings/claude-code).523Para desativar fluxos de trabalho para toda a sua organização, defina `"disableWorkflows": true` em [configurações gerenciadas](/docs/pt/server-managed-settings), ou use o alternador na página [configurações de administrador de Claude Code](https://claude.ai/admin-settings/claude-code).

518 524 

519Quando fluxos de trabalho estão desativados, os comandos de fluxo de trabalho agrupados e a skill `/workflow-authoring` não estão disponíveis, a palavra-chave `ultracode` não dispara mais uma execução, e `ultracode` é removido do menu `/effort`.525Quando fluxos de trabalho estão desativados, os comandos de fluxo de trabalho agrupados e a skill `/workflow-authoring` não estão disponíveis, a palavra-chave `ultracode` não dispara mais uma execução, e o alternador **Ultracode** é removido de `/effort`. Uma execução que já estava em progresso continua.

526 

527Desativar fluxos de trabalho também torna [ultracode](#let-claude-decide-with-ultracode) indisponível. Nenhuma configuração gerenciada descarta ultracode sozinho: onde quer que esteja [disponível](/docs/pt/model-config#when-ultracode-is-available), os usuários podem ativá-lo com `/effort ultracode`. Um [limite de esforço](/docs/pt/model-config#organization-effort-limits) reduz o nível de esforço que uma sessão com ultracode ativado executa, mas não desativa ultracode.

520 528 

521<h2 id="related-resources">529<h2 id="related-resources">

522 Recursos relacionados530 Recursos relacionados

worktrees.md +3 −3

Details

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

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 que você possa retornar depois. 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

66* **O estado da worktree não pode ser verificado**: quando Claude Code não consegue contar as alterações da worktree ou não consegue inspecionar seus checkouts de submódulo, ele solicita em vez de remover a worktree automaticamente. O prompt nomeia o que não conseguiu verificar66* **O estado da worktree não pode ser verificado**: quando Claude Code não consegue contar as alterações da worktree ou não consegue inspecionar seus checkouts de submódulo, ele solicita em vez de remover a worktree automaticamente. O prompt nomeia o que não conseguiu verificar

67 67 

68Execuções não interativas com `-p` não têm prompt de saída, então Claude não limpa suas worktrees, e Claude Code deixa o bloqueio que tomou em cada uma na criação em vigor até que uma [varredura de bloqueio obsoleto](#clean-up-subagent-and-background-session-worktrees) posterior o libere. Para remover uma, execute `git worktree remove`; se git recusar porque a worktree está bloqueada, execute `git worktree unlock` nela primeiro.68Execuções não interativas com `-p` não têm prompt de saída, então Claude não limpa suas worktrees, e Claude Code deixa o bloqueio que tomou em cada uma na criação em vigor até que uma [varredura de bloqueio obsoleto](#clean-up-subagent-and-background-session-worktrees) posterior o libere. Para remover uma, execute `git worktree remove`; se git recusar porque a worktree está bloqueada, execute `git worktree unlock` nela primeiro.


73 Retome uma sessão de worktree73 Retome uma sessão de worktree

74</h2>74</h2>

75 75 

76Quando você retoma uma sessão que estava dentro de uma worktree, Claude Code retorna a sessão para essa worktree. Isso vale para retomas interativas, para `--continue` e `--resume` em [modo não interativo](/docs/pt/headless) com `-p`, e para o Agent SDK. De volta dentro da worktree, Claude ainda pode sair dela com a ferramenta [`ExitWorktree`](/docs/pt/tools-reference).76Quando você retoma uma sessão que terminou dentro de uma worktree sem [sair dela](#clean-up-worktrees), Claude Code retorna a sessão para essa worktree. Isso vale para retomas interativas, para `--continue` e `--resume` em [modo não interativo](/docs/pt/headless) com `-p`, e para o Agent SDK. `--continue` escolhe a sessão mais recente registrada no diretório de onde você inicia. De volta dentro da worktree, Claude ainda pode sair dela com a ferramenta [`ExitWorktree`](/docs/pt/tools-reference).

77 77 

78Antes de retornar a sessão para sua worktree, Claude Code verifica que a worktree ainda é um checkout separado do principal, e recusa re-entrar em uma worktree que falha na verificação. Para uma git worktree, a verificação lê seus metadados git. Uma worktree sem metadados git, como uma que um hook [`WorktreeCreate`](#non-git-version-control) criou, pode passar na verificação; os casos que Claude Code ainda recusa estão listados com suas recuperações em [Claude Code recusa usar uma worktree](#claude-code-refuses-to-use-a-worktree). Para as mensagens e como recuperar de cada uma, consulte [A sessão retoma fora de sua worktree](#the-session-resumes-outside-its-worktree).78Antes de retornar a sessão para sua worktree, Claude Code verifica que a worktree ainda é um checkout separado do principal, e recusa re-entrar em uma worktree que falha na verificação. Para uma git worktree, a verificação lê seus metadados git. Uma worktree sem metadados git, como uma que um hook [`WorktreeCreate`](#non-git-version-control) criou, pode passar na verificação; os casos que Claude Code ainda recusa estão listados com suas recuperações em [Claude Code recusa usar uma worktree](#claude-code-refuses-to-use-a-worktree). Para as mensagens e como recuperar de cada uma, consulte [A sessão retoma fora de sua worktree](#the-session-resumes-outside-its-worktree).

79 79 

80Onde você inicia e como você retoma mudam o que Claude Code re-entra:80Onde você inicia e como você retoma mudam o que Claude Code re-entra:

81 81 

82* **Diretório de inicialização**: retome do checkout principal ou outro diretório do repositório. Claude Code re-entra em uma worktree que criou com git em `.claude/worktrees/` mesmo quando você inicia de dentro dela. Quando você inicia de dentro de qualquer outra worktree, Claude Code re-entra nela apenas se puder garantir por ela de lá: uma worktree que é seu próprio repositório, uma sem metadados git, ou um início de um subdiretório de uma worktree que você criou com `git worktree add` recusa, então inicie aquelas do checkout principal.82* **Diretório de inicialização**: retome com `--resume` do checkout principal ou outro diretório do repositório. Claude Code re-entra em uma worktree que criou com git em `.claude/worktrees/` mesmo quando você inicia de dentro dela. Quando você inicia de dentro de qualquer outra worktree, Claude Code re-entra nela apenas se puder garantir por ela de lá: uma worktree que é seu próprio repositório, uma sem metadados git, ou um início de um subdiretório de uma worktree que você criou com `git worktree add` recusa, então inicie aquelas do checkout principal.

83* **`--fork-session`**: a sessão bifurcada começa no diretório de onde você iniciou Claude, e Claude Code deixa a worktree da sessão original intacta.83* **`--fork-session`**: a sessão bifurcada começa no diretório de onde você iniciou Claude, e Claude Code deixa a worktree da sessão original intacta.

84* **Worktree deletada**: se o diretório da worktree não existe mais, Claude Code retoma a sessão no diretório de onde você iniciou Claude. Ele diz que a worktree se foi e limpa a vinculação de worktree da sessão.84* **Worktree deletada**: se o diretório da worktree não existe mais, Claude Code retoma a sessão no diretório de onde você iniciou Claude. Ele diz que a worktree se foi e limpa a vinculação de worktree da sessão.

85 85