SpyBara
Go Premium

Documentation 2026-11-12 23:02 UTC to 2026-11-13 02:00 UTC

36 files changed +152 −124. View all changes and history on the product overview
2026
Fri 13 02:00 Thu 12 23:02 Wed 11 22:59 Tue 10 21:57 Mon 9 23:02 Sun 8 22:58 Sat 7 23:58 Fri 6 23:01 Thu 5 23:03 Wed 4 23:59 Tue 3 23:58 Mon 2 23:57 Sun 1 23:57
Details

349 349 

350### Quando um modelo é desabilitado durante a sessão350### Quando um modelo é desabilitado durante a sessão

351 351 

352Se sua conta perder acesso ao modelo em que sua sessão está sendo executada, por exemplo porque um administrador o desabilita em sua conta Amazon Bedrock, Claude Code muda a sessão para outro modelo em vez de falhar em cada requisição, e mostra `Switched to <fallback> because <model> is not available`. Ele tenta os mesmos modelos que o fallback de inicialização: versões anteriores do mesmo nível primeiro e, para uma sessão Opus sem nenhuma versão Opus disponível, o modelo Sonnet padrão.352Quando o Amazon Bedrock rejeita o modelo da sua sessão como indisponível para sua conta, Claude Code muda sua sessão para outro modelo, e você pode continuar trabalhando. Você vê uma mensagem que começa com `Switched to <fallback> because <model> is not available`. Isso acontece, por exemplo, quando um administrador desabilita o modelo ou quando o modelo mais recente ainda não está disponível para sua conta.

353 353 

354A mudança se aplica apenas a um nível que você não fixou, a mesma condição que o fallback de inicialização. Uma sessão em uma versão específica que você escolheu, ou em um [ARN de perfil de inferência de aplicação](#map-each-model-version-to-an-inference-profile), mantém seu modelo e, sem uma cadeia de fallback de modelo, a requisição falha em vez disso. No [modo auto](https://code.claude.com/docs/pt/permission-modes.md#enable-auto-mode-on-bedrock-agent-platform-or-foundry), Claude Code muda apenas para um modelo que o modo auto suporta no Amazon Bedrock. Se nenhum desses modelos também estiver disponível, a requisição falha com [AWS authentication failed](https://code.claude.com/docs/pt/errors.md#aws-authentication-failed) e uma dica para ativar o modelo.354Se você configurou uma [cadeia de fallback de modelo](https://code.claude.com/docs/pt/model-config.md#fallback-model-chains), Claude Code muda para seu fallback configurado em vez disso. Sem uma cadeia, a requisição falha em casos como estes:

355 355 

356Uma [cadeia de fallback de modelo](https://code.claude.com/docs/pt/model-config.md#fallback-model-chains) que você configura substitui a mudança de nível: nessas recusas Claude Code muda para seu fallback configurado em vez disso. Para fazer com que requisições recusadas falhem em vez de mudar, defina [`CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK=1`](https://code.claude.com/docs/pt/env-vars). Uma cadeia de fallback que você configurou ainda muda nessas recusas; remova a cadeia também se quiser que cada requisição recusada falhe.356* Sua sessão está em um modelo fixado, em uma versão específica que você escolheu ou em um [ARN de perfil de inferência de aplicação](#map-each-model-version-to-an-inference-profile)

357* Nenhum dos [modelos que Claude Code tenta](#startup-model-checks) está disponível. No [modo auto](https://code.claude.com/docs/pt/permission-modes.md#enable-auto-mode-on-bedrock-agent-platform-or-foundry), Claude Code muda apenas para um modelo que o modo auto suporta no Amazon Bedrock.

358 

359Para continuar trabalhando, execute `/model` na sessão e pressione `s` em um modelo que sua conta pode usar, o que mantém seu padrão inalterado. Um `403` aparece como [AWS authentication failed](https://code.claude.com/docs/pt/errors.md#aws-authentication-failed).

360 

361Para fazer com que requisições rejeitadas falhem em vez de mudar, defina [`CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK=1`](https://code.claude.com/docs/pt/env-vars). Se você configurou uma cadeia de fallback de modelo, remova-a também, pois Claude Code ainda muda para esse fallback.

357 362 

358## Prefixos de perfil de inferência entre regiões363## Prefixos de perfil de inferência entre regiões

359 364 

Details

315 {315 {

316 "matcher": "Edit|Write",316 "matcher": "Edit|Write",

317 "hooks": [317 "hooks": [

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

319 ]319 ]

320 }320 }

321 ]321 ]

Details

74| PostgreSQL 11 ou posterior | Dá suporte ao fluxo de sign-in do dispositivo e aos contadores de rate limit. Um serviço PostgreSQL gerenciado funciona, incluindo o menor nível; consulte [quais bancos de dados são suportados](https://code.claude.com/docs/pt/claude-apps-gateway-deploy.md#postgres). Com [limites de gastos](https://code.claude.com/docs/pt/claude-apps-gateway-spend-limits.md), também mantém tabelas de gastos, auditoria e identidade duráveis que devem ter backup. TLS via `?sslmode=require` é recomendado. PostgreSQL 11, 12 e 13 requerem Claude Code v2.1.290 ou posterior no servidor gateway. O projeto PostgreSQL não mantém mais essas versões, então use uma mais recente sempre que possível. |74| PostgreSQL 11 ou posterior | Dá suporte ao fluxo de sign-in do dispositivo e aos contadores de rate limit. Um serviço PostgreSQL gerenciado funciona, incluindo o menor nível; consulte [quais bancos de dados são suportados](https://code.claude.com/docs/pt/claude-apps-gateway-deploy.md#postgres). Com [limites de gastos](https://code.claude.com/docs/pt/claude-apps-gateway-spend-limits.md), também mantém tabelas de gastos, auditoria e identidade duráveis que devem ter backup. TLS via `?sslmode=require` é recomendado. PostgreSQL 11, 12 e 13 requerem Claude Code v2.1.290 ou posterior no servidor gateway. O projeto PostgreSQL não mantém mais essas versões, então use uma mais recente sempre que possível. |

75| Upstream de modelo | Credenciais do Amazon Bedrock, credenciais do Claude Platform on AWS, credenciais do Google Cloud, um recurso Microsoft Foundry ou uma chave de API Anthropic. Múltiplos upstreams são suportados com failover. |75| Upstream de modelo | Credenciais do Amazon Bedrock, credenciais do Claude Platform on AWS, credenciais do Google Cloud, um recurso Microsoft Foundry ou uma chave de API Anthropic. Múltiplos upstreams são suportados com failover. |

76| HTTPS | O gateway deve ser acessível via `https://` de laptops de desenvolvedores e de qualquer navegador usado para sign-in; o gateway serve a página de verificação do dispositivo no mesmo listener. Forneça um certificado TLS via `listen.tls` ou execute atrás de um ingress que termina TLS e defina `listen.public_url` para a origem externa em ambos os casos. Em `/login`, Claude Code aceita uma origem `http://` simples apenas quando o host do gateway é loopback: `localhost`, `127.0.0.1` ou `::1`. |76| HTTPS | O gateway deve ser acessível via `https://` de laptops de desenvolvedores e de qualquer navegador usado para sign-in; o gateway serve a página de verificação do dispositivo no mesmo listener. Forneça um certificado TLS via `listen.tls` ou execute atrás de um ingress que termina TLS e defina `listen.public_url` para a origem externa em ambos os casos. Em `/login`, Claude Code aceita uma origem `http://` simples apenas quando o host do gateway é loopback: `localhost`, `127.0.0.1` ou `::1`. |

77| Endereço de rede privada | Em `/login`, Claude Code requer que o nome de host ou endereço IP do gateway resolva apenas para endereços privados: RFC 1918, link-local, CGNAT `100.64.0.0/10`, ULA IPv6 `fc00::/7` ou loopback. Para um gateway que você hospeda, qualquer endereço público fora de um bloco que você declara é rejeitado; consulte o [modelo de ameaça](https://code.claude.com/docs/pt/claude-apps-gateway-deploy.md#threat-model-summary) no guia de implantação. Se máquinas de desenvolvedores rotear HTTPS através de um proxy corporativo, o sign-in também requer que o host proxy resolva para endereços privados; se não resolver, adicione o host do gateway a `NO_PROXY` para que a CLI se conecte diretamente. Se sua rede interna for numerada a partir do espaço IPv4 público que sua organização possui, [declare esses blocos](#allow-a-gateway-on-public-address-space-you-own) para que `/login` aceite um gateway lá. |77| Endereço de rede privada | O `/login` do Claude Code requer que o nome de host ou endereço IP do gateway resolva apenas para endereços privados: intervalos RFC 1918 e link-local, CGNAT `100.64.0.0/10`, ULA IPv6 `fc00::/7` e loopback. Consulte o [modelo de ameaça](https://code.claude.com/docs/pt/claude-apps-gateway-deploy.md#threat-model-summary). Se sua rede interna for numerada a partir do espaço IPv4 público que sua organização possui, [declare esses blocos](#allow-a-gateway-on-public-address-space-you-own) para que `/login` aceite um gateway lá. |

78| Runtime Linux | O servidor gateway é executado apenas no binário Linux nativo. macOS funciona para desenvolvimento local. Windows não é suportado como plataforma de servidor. |78| Runtime Linux | O servidor gateway é executado apenas no binário Linux nativo. macOS funciona para desenvolvimento local. Windows não é suportado como plataforma de servidor. |

79 79 

80Quando `HTTPS_PROXY` ou `HTTP_PROXY` se aplica ao host do gateway, o sign-in também precisa de um proxy cujo nome de host resolva para endereços privados ou do host do gateway em `NO_PROXY` nas máquinas de desenvolvedores. Se essas máquinas também definirem `no_proxy`, adicione o host do gateway lá também; caso contrário, as requisições de modelo ainda passarão pelo proxy.

81 

80### Etapas82### Etapas

81 83 

82**1. Registre um cliente OAuth em seu IdP**84**1. Registre um cliente OAuth em seu IdP**

Details

656 656 

657| Configuração | Como |657| Configuração | Como |

658| - | - |658| - | - |

659| RBAC | Conceda à identidade do gateway `Azure AI User` ou `Cognitive Services User` no recurso do Microsoft Foundry |659| RBAC | Conceda à identidade do gateway o papel `Foundry User` ou `Cognitive Services User` no recurso do Microsoft Foundry |

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

661| AKS (workload identity) | Federe uma User-Assigned Managed Identity com o emissor OIDC do cluster e vincule-a à conta de serviço do gateway. `use_azure_ad: true` a detecta via `WorkloadIdentityCredential`. |661| AKS (workload identity) | Federe uma User-Assigned Managed Identity com o emissor OIDC do cluster e vincule-a à conta de serviço do gateway. `use_azure_ad: true` a detecta via `WorkloadIdentityCredential`. |

662| ACI / App Service | Ative a managed identity atribuída pelo sistema ou pelo usuário no recurso. `use_azure_ad: true` a detecta. |662| ACI / App Service | Ative a managed identity atribuída pelo sistema ou pelo usuário no recurso. `use_azure_ad: true` a detecta. |


1001 1001 

1002Cada chave em `upstream_model` deve corresponder ao `name` de um upstream configurado, que por padrão é o nome do provedor. Uma chave que não corresponde a nenhum upstream faz a inicialização falhar, então omita as linhas dos provedores que você não usa.1002Cada chave em `upstream_model` deve corresponder ao `name` de um upstream configurado, que por padrão é o nome do provedor. Uma chave que não corresponde a nenhum upstream faz a inicialização falhar, então omita as linhas dos provedores que você não usa.

1003 1003 

1004Para permitir que os desenvolvedores usem o alias `fable` com `auto_include_builtin_models: false`, adicione uma entrada `claude-fable-5` a `models`. Esse é o ID para o qual o [alias `fable`](https://code.claude.com/docs/pt/model-config#fable-alias-resolution) é resolvido para desenvolvedores conectados ao gateway. Sem ela, suas mensagens falham com um erro que começa com `API Error: 400 model claude-fable-5 is not in the operator's model allowlist`.

1005 

1004### `managed`1006### `managed`

1005 1007 

1006O bloco `managed` define políticas de acesso baseadas em funções, indexadas por grupos do IdP ou domínio de email. As políticas são avaliadas em ordem; por padrão, a primeira correspondência é selecionada e depois mesclada sobre a base genérica `match: {}`. Um usuário que corresponde a duas políticas de função recebe apenas a primeira, então as regras de negação da segunda política não se aplicam, a menos que você [aplique todas as políticas correspondentes](#apply-every-matching-policy). As políticas são servidas por usuário em `GET /managed/settings` com cache ETag/304.1008O bloco `managed` define políticas de acesso baseadas em funções, indexadas por grupos do IdP ou domínio de email. As políticas são avaliadas em ordem; por padrão, a primeira correspondência é selecionada e depois mesclada sobre a base genérica `match: {}`. Um usuário que corresponde a duas políticas de função recebe apenas a primeira, então as regras de negação da segunda política não se aplicam, a menos que você [aplique todas as políticas correspondentes](#apply-every-matching-policy). As políticas são servidas por usuário em `GET /managed/settings` com cache ETag/304.


1025Um catch-all `match: {}`, por convenção listado por último, é tratado como uma camada base. Todas as outras políticas herdam do catch-all qualquer chave que não definam, então as entradas por função só precisam listar o que difere do padrão da organização. As regras de mesclagem dependem do tipo de chave:1027Um catch-all `match: {}`, por convenção listado por último, é tratado como uma camada base. Todas as outras políticas herdam do catch-all qualquer chave que não definam, então as entradas por função só precisam listar o que difere do padrão da organização. As regras de mesclagem dependem do tipo de chave:

1026 1028 

1027* **Allowlists**: `availableModels` e `permissions.allow`. A lista de uma política específica substitui totalmente a da base.1029* **Allowlists**: `availableModels` e `permissions.allow`. A lista de uma política específica substitui totalmente a da base.

1028* **Listas de negação e arrays de hooks**: `permissions.deny`, `permissions.ask`, `disabledMcpjsonServers`, `deniedMcpServers`, `blockedMarketplaces`, `deniedModels` e todos os arrays de tipo de evento de `hooks`. Estes usam a união da base e da política, para que uma negação ou um hook de auditoria de toda a organização não possa ser removido acidentalmente por uma sobrescrita por função.1030* **Listas de negação e arrays de hooks**: estes recebem a união da base e da política:

1031 * `permissions.deny` e `permissions.ask`

1032 * `disabledMcpjsonServers` e `deniedMcpServers`

1033 * `blockedMarketplaces` e `deniedModels`

1034 * Os arrays de tipos de evento de `hooks`

1029* **Chaves do tipo registro**: `env`, `modelOverrides` e `skillOverrides`. Estas são mescladas superficialmente, então um bloco `env` por função sobrescreve as chaves que define e herda o restante da base.1035* **Chaves do tipo registro**: `env`, `modelOverrides` e `skillOverrides`. Estas são mescladas superficialmente, então um bloco `env` por função sobrescreve as chaves que define e herda o restante da base.

1030 1036 

1031`availableModels` também é aplicado no lado do servidor em `/v1/messages`, então um modelo negado retorna `400` independentemente do que o cliente envia. Uma lista vazia nega todos os modelos. A verificação também cobre o modelo com que uma sessão inicia antes de o desenvolvedor escolher um, então [inicie as sessões em um modelo que a política permite](#start-sessions-on-a-model-the-policy-allows).1037`availableModels` também é aplicado no lado do servidor em `/v1/messages`, então um modelo negado retorna `400` independentemente do que o cliente envia. Uma lista vazia nega todos os modelos. A verificação também cobre o modelo com que uma sessão inicia antes de o desenvolvedor escolher um, então [inicie as sessões em um modelo que a política permite](#start-sessions-on-a-model-the-policy-allows).

Details

92 92 

93Além do binário, a imagem precisa:93Além do binário, a imagem precisa:

94 94 

95* **Uma imagem baseada em glibc**: a compilação glibc tem apenas dependências dinâmicas de bibliotecas glibc. Imagens baseadas em Musl precisam da compilação `linux-x64-musl` ou `linux-arm64-musl` mais pacotes adicionais; consulte [Configuração do Alpine Linux](https://code.claude.com/docs/pt/setup.md#alpine-linux-and-musl-based-distributions).95* **Uma imagem baseada em glibc**: as únicas dependências dinâmicas do build glibc são bibliotecas glibc. Imagens baseadas em Musl precisam do build `linux-x64-musl` ou `linux-arm64-musl`, cuja única dependência dinâmica é a musl.

96* **Um diretório de estado gravável**: o gateway é executado como qualquer usuário, mas imagens mínimas não têm home gravável. Defina `CLAUDE_CONFIG_DIR` para um caminho gravável como `/tmp/.claude`.96* **Um diretório de estado gravável**: o gateway é executado como qualquer usuário, mas imagens mínimas não têm home gravável. Defina `CLAUDE_CONFIG_DIR` para um caminho gravável como `/tmp/.claude`.

97* **O comando do contêiner**: `claude gateway --config /etc/claude/gateway.yaml`, com o arquivo de configuração montado como somente leitura e segredos fornecidos como variáveis de ambiente; o gateway escuta em `listen.port`, padrão `8080`.97* **O comando do contêiner**: `claude gateway --config /etc/claude/gateway.yaml`, com o arquivo de configuração montado como somente leitura e segredos fornecidos como variáveis de ambiente; o gateway escuta em `listen.port`, padrão `8080`.

98 98 

Details

274 274 

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

276 276 

277Para executar a thread em outro modo, inicie `claude remote-control` com [`--settings`](https://code.claude.com/docs/pt/remote-control#start-a-remote-control-session). Então [`permissions.defaultMode`](https://code.claude.com/docs/pt/permission-modes#start-in-a-different-mode), nesse arquivo ou nas configurações daquele computador, pode escolher outro modo.

278 

277Enquanto 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.279Enquanto 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.

278 280 

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

commands.md +0 −2

Details

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

36 36 

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

38 * `/verify` é executado apenas quando você o invoca.

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

40 * `/deep-research` é executado apenas quando você o invoca.

41 39 

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

43 41 

Details

71 71 

72Inicie **Claude** a partir do seu inicializador de aplicativos, ou execute `claude-desktop` a partir de um terminal, e faça login com sua conta Anthropic.72Inicie **Claude** a partir do seu inicializador de aplicativos, ou execute `claude-desktop` a partir de um terminal, e faça login com sua conta Anthropic.

73 73 

74O aplicativo Linux faz login da mesma forma que no macOS e Windows: com uma assinatura claude.ai, ou através do SSO da sua organização. Para autenticação com chave de API, use a [CLI](https://code.claude.com/docs/pt/quickstart.md). Para usar o Desktop com Amazon Bedrock, a Agent Platform do Google Cloud, Microsoft Foundry ou um gateway de LLM, consulte [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview). Para servidores proxy e autoridades de certificação personalizadas nessas implantações, consulte [configuração de rede](https://code.claude.com/docs/pt/network-config.md).74O aplicativo Linux faz login da mesma forma que no macOS e Windows: com uma assinatura claude.ai, ou através do SSO da sua organização. Para usar o Desktop com uma chave de API do Claude, Amazon Bedrock, a Agent Platform do Google Cloud, Microsoft Foundry ou um gateway de LLM, consulte [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview). Para servidores proxy e autoridades de certificação personalizadas nessas implantações, consulte [configuração de rede](https://code.claude.com/docs/pt/network-config.md).

75 75 

76### Instalar a partir de um arquivo baixado76### Instalar a partir de um arquivo baixado

77 77 

Details

83 83 

84**8. Escolha o modo de permissão e o modelo**84**8. Escolha o modo de permissão e o modelo**

85 85 

86Na barra de ferramentas da caixa de instruções, selecione um [modo de permissão](#permissions-for-scheduled-tasks) e um modelo. Se você os deixar inalterados, as execuções usam suas configurações do Claude Code e o modelo padrão.86Na barra de ferramentas da caixa de instruções, selecione um [modo de permissão](#permissions-for-scheduled-tasks) e um modelo.

87 

88* **Modo de permissão**: se você o deixar inalterado, as execuções usam suas configurações do Claude Code.

89* **Modelo**: se o menu de modelos mostrar **Default · Set by admin** e você não escolher outro modelo, as execuções usam o modelo que sua organização definiu nas [configurações gerenciadas](https://code.claude.com/docs/pt/managed-settings.md). Uma [execução de recuperação](#missed-runs) que começa quando o aplicativo é aberto pode usar o [padrão de tempo de execução da sua conta](https://code.claude.com/docs/pt/model-config.md#default-model-setting) em vez disso.

87 90 

88**9. Crie a tarefa**91**9. Crie a tarefa**

89 92 

90Clique em **Create**. Se você ainda não confiou na pasta, o Desktop solicita que você confie nela neste momento. A página de detalhes da tarefa é aberta.93Clique em **Create**. Se você ainda não confiou na pasta, o Desktop solicita que você confie nela neste momento. A página de detalhes da tarefa é aberta.

91 94 

95Para ver qual modelo **Default · Set by admin** representa, clique em **Run now** na página de detalhes para executar a tarefa imediatamente. Em seguida, [abra a sessão da execução](#find-a-runs-session), onde a linha abaixo da caixa de prompt mostra o nome do modelo.

96 

92Na página de detalhes, clique no ícone de lápis para abrir o [formulário **Edit**](#manage-scheduled-tasks). Lá você pode alterar a **Description** que o Desktop preencheu a partir das suas instruções, selecionar **Worktree** ou mudar o agendamento para **Manual** ou **Custom**.97Na página de detalhes, clique no ícone de lápis para abrir o [formulário **Edit**](#manage-scheduled-tasks). Lá você pode alterar a **Description** que o Desktop preencheu a partir das suas instruções, selecionar **Worktree** ou mudar o agendamento para **Manual** ou **Custom**.

93 98 

94Você também pode criar uma tarefa descrevendo o que deseja em qualquer sessão. Por exemplo, "configurar uma revisão de código diária que é executada todos os dias de manhã às 9h" cria uma tarefa recorrente. Uma solicitação como "me lembre às 15h amanhã para verificar o deploy" cria uma tarefa única que se desativa após ser executada.99Você também pode criar uma tarefa descrevendo o que deseja em qualquer sessão. Por exemplo, "configurar uma revisão de código diária que é executada todos os dias de manhã às 9h" cria uma tarefa recorrente. Uma solicitação como "me lembre às 15h amanhã para verificar o deploy" cria uma tarefa única que se desativa após ser executada.


181 186 

182Para permitir que uma tarefa altere seu próprio agendamento ou prompt com a ferramenta MCP `update_scheduled_task`, clique em **Run now** e aprove a chamada a cada vez.187Para permitir que uma tarefa altere seu próprio agendamento ou prompt com a ferramenta MCP `update_scheduled_task`, clique em **Run now** e aprove a chamada a cada vez.

183 188 

184Para editar o prompt de uma tarefa no disco, abra `~/.claude/scheduled-tasks/<task-name>/SKILL.md` (ou em [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/pt/env-vars) se definido). O arquivo usa frontmatter YAML para `name` e `description`, com o prompt como corpo. As alterações entram em vigor na próxima execução. Schedule, pasta, modelo e estado habilitado não estão neste arquivo: altere-os através do formulário Edit ou peça ao Claude.189Para editar o prompt de uma tarefa no disco, abra `~/.claude/scheduled-tasks/<task-name>/SKILL.md` (ou em [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/pt/env-vars) se definido). O arquivo usa frontmatter YAML para `name` e `description`, com o prompt como corpo. As alterações entram em vigor na próxima execução. Agendamento, pasta e estado habilitado não estão neste arquivo: altere-os através do formulário Edit ou peça ao Claude.

185 190 

186## Recursos relacionados191## Recursos relacionados

187 192 

errors.md +47 −4

Details

122| `A request to MCP server "<name>" was sent without your stored credentials` | [Authentication](#couldnt-read-the-stored-credentials-for-mcp-server) |122| `A request to MCP server "<name>" was sent without your stored credentials` | [Authentication](#couldnt-read-the-stored-credentials-for-mcp-server) |

123| `This server's URL is missing or not a valid URL, so sign-in can't start` | [Authentication](#mcp-server-url-is-missing-or-not-a-valid-url) |123| `This server's URL is missing or not a valid URL, so sign-in can't start` | [Authentication](#mcp-server-url-is-missing-or-not-a-valid-url) |

124| `Issuer mismatch in authorization response (RFC 9207)` | [Authentication](#issuer-mismatch-in-authorization-response) |124| `Issuer mismatch in authorization response (RFC 9207)` | [Authentication](#issuer-mismatch-in-authorization-response) |

125| `Stopped an OAuth request` | [Autenticação](#stopped-an-oauth-request) |

125| `Refusing to send credentials to non-https token endpoint` / `<short-name> from the MCP SDK for <server-url>` | [Authentication](#refusing-to-send-credentials-to-non-https-token-endpoint) |126| `Refusing to send credentials to non-https token endpoint` / `<short-name> from the MCP SDK for <server-url>` | [Authentication](#refusing-to-send-credentials-to-non-https-token-endpoint) |

126| `Cloud gateway session expired — run /login to reconnect.` | [Authentication](#cloud-gateway-session-expired) |127| `Cloud gateway session expired — run /login to reconnect.` | [Authentication](#cloud-gateway-session-expired) |

127| `Cloud gateway <url> no longer accepts this session` | [Authentication](#cloud-gateway-session-expired) |128| `Cloud gateway <url> no longer accepts this session` | [Authentication](#cloud-gateway-session-expired) |


251| `Ultrareview did not start` | [Command-line errors](#ultrareview-did-not-start) |252| `Ultrareview did not start` | [Command-line errors](#ultrareview-did-not-start) |

252| `Remote Control did not start: "<question>" got no answer` | [Erros de linha de comando](#remote-control-did-not-start-got-no-answer) |253| `Remote Control did not start: "<question>" got no answer` | [Erros de linha de comando](#remote-control-did-not-start-got-no-answer) |

253| `` `<flag>` before `remote-control` is not carried over to the sessions Remote Control starts `` | [Command-line errors](#not-carried-over-to-the-sessions-remote-control-starts) |254| `` `<flag>` before `remote-control` is not carried over to the sessions Remote Control starts `` | [Command-line errors](#not-carried-over-to-the-sessions-remote-control-starts) |

255| `Remote Control did not start, because sessions would skip part or all of the --settings file` | [Erros de linha de comando](#remote-control-did-not-start-because-of-the-settings-file) |

256| `The settings file <file> has changed since Remote Control started, so this session did not start` | [Erros de linha de comando](#settings-file-changed-since-remote-control-started) |

254| `--sandbox is not supported by claude remote-control` / `--no-sandbox is not supported by claude remote-control` | [Command-line errors](#sandbox-is-not-supported-by-claude-remote-control) |257| `--sandbox is not supported by claude remote-control` / `--no-sandbox is not supported by claude remote-control` | [Command-line errors](#sandbox-is-not-supported-by-claude-remote-control) |

255| `` `claude import` is not yet available in this build `` | [Command-line errors](#claude-import-is-not-yet-available-in-this-build) |258| `` `claude import` is not yet available in this build `` | [Command-line errors](#claude-import-is-not-yet-available-in-this-build) |

256| `Could not read Claude Code config` | [Command-line errors](#could-not-read-claude-code-config) |259| `Could not read Claude Code config` | [Command-line errors](#could-not-read-claude-code-config) |


825Chamadas posteriores na mesma resposta de Claude podem ser negadas com este motivo:828Chamadas posteriores na mesma resposta de Claude podem ser negadas com este motivo:

826 829 

827```text theme={null}830```text theme={null}

828another call in this response was changed by a hook after auto mode reviewed it, or could not be confirmed unchanged831another call in this response was changed after auto mode reviewed it, or could not be confirmed unchanged

829```832```

830 833 

831Claude pode então emitir cada chamada negada novamente para que o servidor a revise. Se um prompt de permissão for aberto, responda a ele. Você não precisa fazer mais nada, a menos que Claude diga na resposta que o modo auto não conseguiu verificar a chamada. Nesse caso, interrompa a alteração ou aprove a chamada você mesmo, e peça a Claude para tentar a chamada novamente:834Claude pode então emitir cada chamada negada novamente para que o servidor a revise. Se um prompt de permissão for aberto, responda a ele. Você não precisa fazer mais nada, a menos que Claude diga na resposta que o modo auto não conseguiu verificar a chamada. Nesse caso, interrompa a alteração ou aprove a chamada você mesmo, e peça a Claude para tentar a chamada novamente:


1822 1825 

1823Antes da v2.1.232, o Claude Code usava o runtime v2 apenas em uma implantação gradual ou quando você definia `MCP_SDK_GENERATION=v2`.1826Antes da v2.1.232, o Claude Code usava o runtime v2 apenas em uma implantação gradual ou quando você definia `MCP_SDK_GENERATION=v2`.

1824 1827 

1828### Stopped an OAuth request

1829 

1830Esta mensagem significa que o Claude Code interrompeu uma [requisição OAuth para um servidor MCP](https://code.claude.com/docs/pt/mcp.md#authenticate-with-remote-mcp-servers) porque um endpoint OAuth a redirecionou. Em ambas as formas da mensagem, o primeiro endereço é aquele que enviou o redirecionamento:

1831 

1832```text theme={null}

1833Stopped an OAuth request, which can hold secrets: https://auth.example.com redirected it to https://other.example.com. Ask the owner of https://auth.example.com to remove that redirect.

1834Stopped an OAuth request: https://auth.example.com redirected it more than 5 times. Ask the owner of https://auth.example.com to fix those redirects.

1835```

1836 

1837**O que fazer:**

1838 

1839* Peça a quem administra o primeiro endereço, como o operador do servidor MCP, para remover ou corrigir o redirecionamento. Depois, tente novamente a partir de `/mcp`.

1840 

1825### Refusing to send credentials to non-https token endpoint1841### Refusing to send credentials to non-https token endpoint

1826 1842 

1827No [runtime v2](https://code.claude.com/docs/pt/mcp.md#mcp-client-runtimes), o Claude Code envia uma requisição de token do [OAuth do MCP](https://code.claude.com/docs/pt/mcp.md#authenticate-with-remote-mcp-servers) apenas para um endpoint de token servido por HTTPS ou em `localhost`, `127.0.0.1` ou `::1`. Esta mensagem significa que o endpoint de token do servidor não é nenhum desses, então o Claude Code parou antes de enviar a requisição. Isso acontece após o login no navegador, então a etapa do navegador é bem-sucedida primeiro, e novamente sempre que o Claude Code atualiza o token do servidor.1843No [runtime v2](https://code.claude.com/docs/pt/mcp.md#mcp-client-runtimes), o Claude Code envia uma requisição de token do [OAuth do MCP](https://code.claude.com/docs/pt/mcp.md#authenticate-with-remote-mcp-servers) apenas para um endpoint de token servido por HTTPS ou em `localhost`, `127.0.0.1` ou `::1`. Esta mensagem significa que o endpoint de token do servidor não é nenhum desses, então o Claude Code parou antes de enviar a requisição. Isso acontece após o login no navegador, então a etapa do navegador é bem-sucedida primeiro, e novamente sempre que o Claude Code atualiza o token do servidor.


2207 2223 

2208### Host not allowed in a cloud session2224### Host not allowed in a cloud session

2209 2225 

2210Uma requisição HTTP de saída de uma sessão na nuvem ou tarefa agendada na nuvem foi bloqueada pela política de rede do ambiente.2226Em uma sessão na nuvem ou tarefa agendada na nuvem, um `403` ou um erro de DNS como `ENOTFOUND` pode significar que o host requisitado não está na [allowlist do ambiente de nuvem](https://code.claude.com/docs/pt/cloud-environments.md#access-levels). Para confirmar, compare o host com essa lista. Um `403` com este header confirma o bloqueio, mas nem todo `403` de uma requisição bloqueada o contém:

2211 2227 

2212```text theme={null}2228```text theme={null}

2213HTTP 4032229HTTP 403


2565 2581 

2566O Claude Code normalmente redimensiona imagens grandes automaticamente. Esses erros significam que a imagem não pôde ser decodificada ou redimensionada para caber nos limites da API.2582O Claude Code normalmente redimensiona imagens grandes automaticamente. Esses erros significam que a imagem não pôde ser decodificada ou redimensionada para caber nos limites da API.

2567 2583 

2584O erro que você vê pode mencionar um limite de pixels diferente, como `2576x2576px` onde estes exemplos dizem `2000x2000px`.

2585 

2568**O que fazer:**2586**O que fazer:**

2569 2587 

2570* Se a mensagem pedir que você converta a imagem, converta-a para PNG, JPEG, GIF ou WebP e anexe-a novamente. O Claude Code consegue verificar as dimensões desses formatos pelo cabeçalho do arquivo, sem decodificar a imagem.2588* Se a mensagem pedir que você converta a imagem, converta-a para PNG, JPEG, GIF ou WebP e anexe-a novamente. O Claude Code consegue verificar as dimensões desses formatos pelo cabeçalho do arquivo, sem decodificar a imagem.


3522Você iniciou o [Remote Control](https://code.claude.com/docs/pt/remote-control.md) com uma flag global de `claude` antes do verbo `remote-control`, uma que restringiria ou configuraria as sessões que o Remote Control inicia, como `--settings`, `--setting-sources`, `--permission-mode`, `--disallowed-tools` ou `--mcp-config`. Uma flag colocada antes do verbo nunca chega a essas sessões. Em vez disso, o Claude Code se recusa a iniciar, nomeando a flag:3540Você iniciou o [Remote Control](https://code.claude.com/docs/pt/remote-control.md) com uma flag global de `claude` antes do verbo `remote-control`, uma que restringiria ou configuraria as sessões que o Remote Control inicia, como `--settings`, `--setting-sources`, `--permission-mode`, `--disallowed-tools` ou `--mcp-config`. Uma flag colocada antes do verbo nunca chega a essas sessões. Em vez disso, o Claude Code se recusa a iniciar, nomeando a flag:

3523 3541 

3524```text theme={null}3542```text theme={null}

3525Error: `--settings` before `remote-control` is not carried over to the sessions Remote Control starts, so Remote Control refuses to start rather than drop it — remove it, and give Remote Control's own options after the verb (see `claude remote-control --help`).3543Error: `--settings` before `remote-control` is not carried over to the sessions Remote Control starts, so Remote Control refuses to start rather than drop it — remove it, and give Remote Control's own options after the verb (see `claude remote-control --help`). Pass settings with `claude remote-control --settings <file>`.

3526```3544```

3527 3545 

3528O Claude Code não recusa flags globais que são inofensivas de descartar, como `--verbose`, `--model` ou um `--session-id` ou `--plugin-dir` injetado por um wrapper: ele as ignora e o Remote Control inicia.3546O Claude Code não recusa flags globais que são inofensivas de descartar, como `--verbose`, `--model` ou um `--session-id` ou `--plugin-dir` injetado por um wrapper: ele as ignora e o Remote Control inicia.


3536 3554 

3537Antes da v2.1.248, `claude remote-control` não aceitava suas próprias flags quando uma flag global vinha primeiro, e o comando falhava com um erro `unknown option`.3555Antes da v2.1.248, `claude remote-control` não aceitava suas próprias flags quando uma flag global vinha primeiro, e o comando falhava com um erro `unknown option`.

3538 3556 

3557### O Remote Control não iniciou por causa do arquivo de `--settings`

3558 

3559O arquivo que você passou para [`claude remote-control --settings`](https://code.claude.com/docs/pt/remote-control#start-a-remote-control-session) tem um problema:

3560 

3561```text theme={null}

3562Error: Remote Control did not start, because sessions would skip part or all of the --settings file ./rc-settings.json: Invalid or malformed JSON

3563```

3564 

3565**O que fazer:**

3566 

3567* Corrija o problema que a mensagem cita e execute seu comando `claude remote-control` novamente

3568 

3569### O arquivo de configurações mudou desde que o Remote Control foi iniciado

3570 

3571Esta mensagem no terminal que executa `claude remote-control` significa que as sessões não serão iniciadas a partir do arquivo que você passou para [`--settings`](https://code.claude.com/docs/pt/remote-control#start-a-remote-control-session) tal como ele está agora:

3572 

3573```text theme={null}

3574Session failed: Error: The settings file /path/to/settings.json has changed since Remote Control started, so this session did not start. Restart `claude remote-control` to use it as it is now.

3575```

3576 

3577**O que fazer:**

3578 

3579* Para usar o arquivo tal como está agora, interrompa `claude remote-control` e execute o mesmo comando novamente. Para recuperar as sessões que ele estava servindo, consulte [Resume sessions after stopping the server](https://code.claude.com/docs/pt/remote-control.md#resume-sessions-after-stopping-the-server).

3580* Para manter as configurações com as quais o Remote Control foi iniciado, restaure o conteúdo do arquivo como estava e execute o comando novamente se `claude remote-control` tiver saído

3581 

3539### `--sandbox` or `--no-sandbox` is not supported by claude remote-control3582### `--sandbox` or `--no-sandbox` is not supported by claude remote-control

3540 3583 

3541Este erro significa que o comando que inicia seu servidor de [Remote Control](https://code.claude.com/docs/pt/remote-control.md) passa `--sandbox` ou `--no-sandbox` depois de `remote-control`, e `claude remote-control` não aceita nenhuma dessas flags. O servidor sai com código 1 em vez de iniciar:3584Este erro significa que o comando que inicia seu servidor de [Remote Control](https://code.claude.com/docs/pt/remote-control.md) passa `--sandbox` ou `--no-sandbox` depois de `remote-control`, e `claude remote-control` não aceita nenhuma dessas flags. O servidor sai com código 1 em vez de iniciar:


3960 4003 

3961* **Você não passou um branch base**: o Claude Code comparou com o branch padrão do repositório e sugere passar seu branch base explicitamente, como no exemplo acima4004* **Você não passou um branch base**: o Claude Code comparou com o branch padrão do repositório e sugere passar seu branch base explicitamente, como no exemplo acima

3962* **Você passou um branch base que já estava no seu clone**: a dica diz ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``4005* **Você passou um branch base que já estava no seu clone**: a dica diz ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``

3963* **Você passou um branch base que não estava no seu clone**: o Claude Code o buscou do origin antes de comparar. A dica diz ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)``; quando o Claude Code não consegue determinar se seu clone é raso (shallow), ele sugere `git fetch --unshallow origin` em vez disso. Antes da v2.1.221, a dica sugeria `git fetch --unshallow origin` para todo branch base buscado, e em um clone completo esse comando falha com `fatal: --unshallow on a complete repository does not make sense`.4006* **Você passou um branch base que não estava no seu clone**: o Claude Code o buscou do origin antes de comparar. A dica diz ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)``; quando o Claude Code não consegue determinar se o seu clone é raso (shallow), ele sugere `git fetch --unshallow origin` em vez disso. Antes da v2.1.221, a dica sugeria `git fetch --unshallow origin` para todo branch base buscado, e em um clone completo esse comando falha com `fatal: --unshallow on a complete repository does not make sense`.

3964 4007 

3965**O que fazer:**4008**O que fazer:**

3966 4009 

gateways.md +1 −1

Details

63* **Telemetria do cliente**: Claude Code desativa sua análise de cliente vinculada à Anthropic quando uma sessão se conecta a um Claude apps gateway. Para manter a telemetria de inicialização anterior à conexão desativada também, entregue [`DISABLE_TELEMETRY`](https://code.claude.com/docs/pt/managed-settings#turn-telemetry-off-for-your-organization) nas [configurações gerenciadas do lado do cliente](https://code.claude.com/docs/pt/claude-apps-gateway-config.md#client-side-managed-settings) em cada dispositivo.63* **Telemetria do cliente**: Claude Code desativa sua análise de cliente vinculada à Anthropic quando uma sessão se conecta a um Claude apps gateway. Para manter a telemetria de inicialização anterior à conexão desativada também, entregue [`DISABLE_TELEMETRY`](https://code.claude.com/docs/pt/managed-settings#turn-telemetry-off-for-your-organization) nas [configurações gerenciadas do lado do cliente](https://code.claude.com/docs/pt/claude-apps-gateway-config.md#client-side-managed-settings) em cada dispositivo.

64* **Telemetria do cliente em outros gateways**: se Claude Code envia o fluxo de telemetria do cliente opcional depende do seu provedor, e a [tabela de padrões de telemetria](https://code.claude.com/docs/pt/data-usage.md#default-behaviors-by-api-provider) aborda cada caso.64* **Telemetria do cliente em outros gateways**: se Claude Code envia o fluxo de telemetria do cliente opcional depende do seu provedor, e a [tabela de padrões de telemetria](https://code.claude.com/docs/pt/data-usage.md#default-behaviors-by-api-provider) aborda cada caso.

65* **Destinos de telemetria**: para onde Claude Code envia a telemetria de uma sessão de gateway depende de como a sessão se conectou, e [O que é imposto aos desenvolvedores](https://code.claude.com/docs/pt/claude-apps-gateway#whats-enforced-on-developers) diz para onde as exportações de cada tipo de sessão vão.65* **Destinos de telemetria**: para onde Claude Code envia a telemetria de uma sessão de gateway depende de como a sessão se conectou, e [O que é imposto aos desenvolvedores](https://code.claude.com/docs/pt/claude-apps-gateway#whats-enforced-on-developers) diz para onde as exportações de cada tipo de sessão vão.

66* **Proxies HTTP corporativos**: um `HTTPS_PROXY` fica entre Claude Code e cada servidor com o qual ele se comunica, incluindo o gateway. Se sua rede exigir um, [configure o proxy](https://code.claude.com/docs/pt/network-config.md) além do gateway. Para um Claude apps gateway que você hospeda, [o login verifica se o host do proxy também está em uma rede privada](https://code.claude.com/docs/pt/claude-apps-gateway#prerequisites); se não estiver, adicione o host do gateway a `NO_PROXY` para que a CLI se conecte a ele diretamente.66* **Proxies HTTP corporativos**: Claude Code envia suas requisições, incluindo as destinadas ao gateway, por meio do proxy em `HTTPS_PROXY`. Se sua rede exigir um proxy, [configure-o](https://code.claude.com/docs/pt/network-config.md). Se o proxy se aplicar a um Claude apps gateway que você hospeda, o [login](https://code.claude.com/docs/pt/claude-apps-gateway#prerequisites) precisa que o hostname do proxy seja resolvido para endereços privados, ou que o host do gateway esteja em `NO_PROXY`.

67 67 

68## Próximas etapas68## Próximas etapas

69 69 

Details

84> Crie um aplicativo Microsoft Entra com uma credencial federada para seu repositório, seguindo o [guia da Microsoft para autenticação do GitHub Actions](https://learn.microsoft.com/en-us/azure/developer/github/connect-from-azure-openid-connect):84> Crie um aplicativo Microsoft Entra com uma credencial federada para seu repositório, seguindo o [guia da Microsoft para autenticação do GitHub Actions](https://learn.microsoft.com/en-us/azure/developer/github/connect-from-azure-openid-connect):

85>85>

86> * Registre um aplicativo Microsoft Entra e adicione uma credencial de identidade federada que confie em tokens que o GitHub emite para seu repositório. Uma identidade gerenciada atribuída pelo usuário funciona no lugar de um aplicativo. Ambos têm o ID do cliente que você anota abaixo86> * Registre um aplicativo Microsoft Entra e adicione uma credencial de identidade federada que confie em tokens que o GitHub emite para seu repositório. Uma identidade gerenciada atribuída pelo usuário funciona no lugar de um aplicativo. Ambos têm o ID do cliente que você anota abaixo

87> * Atribua ao aplicativo a função `Azure AI User` em seu recurso Foundry. Veja [Configuração RBAC do Azure](https://code.claude.com/docs/pt/microsoft-foundry.md#azure-rbac-configuration) para uma função personalizada mais estreita87> * Atribua ao aplicativo a função `Foundry User` em seu recurso Foundry. Veja [Configuração RBAC do Azure](https://code.claude.com/docs/pt/microsoft-foundry.md#azure-rbac-configuration) para a outra função integrada e para funções personalizadas

88>88>

89> Anote o ID do cliente do aplicativo, seu ID de locatário e seu ID de assinatura. Você os adiciona como segredos na próxima etapa.89> Anote o ID do cliente do aplicativo, seu ID de locatário e seu ID de assinatura. Você os adiciona como segredos na próxima etapa.

90 90 

Details

228 228 

229### Quando um modelo é desativado durante a sessão229### Quando um modelo é desativado durante a sessão

230 230 

231Se seu projeto perder acesso ao modelo em que sua sessão está sendo executada, por exemplo porque um administrador o desativa no [Model Garden](https://console.cloud.google.com/vertex-ai/model-garden), Claude Code muda a sessão para outro modelo em vez de falhar em cada solicitação, e mostra `Switched to <fallback> because <model> is not available`. Ele tenta os mesmos modelos que o fallback de inicialização: versões anteriores do mesmo nível primeiro e, para uma sessão Opus sem nenhuma versão Opus disponível, o modelo Sonnet padrão.231Quando a Plataforma de Agentes rejeita o modelo da sua sessão como indisponível no seu projeto ou região, Claude Code muda sua sessão para outro modelo, e você pode continuar trabalhando. Você vê uma mensagem que começa com `Switched to <fallback> because <model> is not available`. Isso acontece, por exemplo, quando um administrador desativa o modelo no [Model Garden](https://console.cloud.google.com/vertex-ai/model-garden) ou ele não é oferecido na sua região.

232 232 

233A mudança se aplica apenas a um nível que você não fixou, a mesma condição que o fallback de inicialização. Uma sessão em uma versão específica que você escolheu mantém seu modelo e, sem uma cadeia de modelo fallback, a solicitação falha em vez disso. No [modo automático](https://code.claude.com/docs/pt/permission-modes.md#enable-auto-mode-on-bedrock-agent-platform-or-foundry), Claude Code muda apenas para um modelo que o modo automático suporta na Plataforma de Agentes. Se nenhum desses modelos estiver disponível também, a solicitação falha.233Se você configurou uma [cadeia de modelos de fallback](https://code.claude.com/docs/pt/model-config.md#fallback-model-chains), Claude Code muda para o fallback configurado em vez disso. Sem uma cadeia, a requisição falha em casos como estes:

234 234 

235Uma [cadeia de modelo fallback](https://code.claude.com/docs/pt/model-config.md#fallback-model-chains) que você configura substitui a mudança de nível: nessas recusas Claude Code muda para seu fallback configurado em vez disso. Para fazer com que solicitações recusadas falhem em vez de mudar, defina [`CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK=1`](https://code.claude.com/docs/pt/env-vars). Uma cadeia de fallback que você configurou ainda muda nessas recusas; remova a cadeia também se quiser que cada solicitação recusada falhe.235* Sua sessão está em um modelo fixado ou em uma versão específica que você escolheu

236* Nenhum dos [modelos que Claude Code tenta](#startup-model-checks) está disponível. No [modo auto](https://code.claude.com/docs/pt/permission-modes.md#enable-auto-mode-on-bedrock-agent-platform-or-foundry), Claude Code muda apenas para um modelo que o modo auto suporta na Plataforma de Agentes.

237 

238Para continuar trabalhando, execute `/model` na sessão e pressione `s` em um modelo disponível no seu projeto e região, o que mantém seu padrão inalterado.

239 

240Para fazer com que requisições rejeitadas falhem em vez de mudar de modelo, defina [`CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK=1`](https://code.claude.com/docs/pt/env-vars). Se você configurou uma cadeia de modelos de fallback, remova-a também, porque Claude Code ainda muda para esse fallback.

236 241 

237## Configuração de IAM242## Configuração de IAM

238 243 

hooks.md +9 −3

Details

3000 3000 

3001É executado quando um arquivo de configuração muda durante uma sessão. Use-o para auditar alterações de configurações, impor políticas de segurança ou bloquear modificações não autorizadas em arquivos de configuração.3001É executado quando um arquivo de configuração muda durante uma sessão. Use-o para auditar alterações de configurações, impor políticas de segurança ou bloquear modificações não autorizadas em arquivos de configuração.

3002 3002 

3003O Claude 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](https://code.claude.com/docs/pt/server-managed-settings.md) e alterações nas preferências gerenciadas do macOS ou na política do registro do Windows sem executá-los. No WSL com [`wslInheritsWindowsSettings`](https://code.claude.com/docs/pt/settings-reference#wslinheritswindowssettings), ele também aplica um arquivo de configurações gerenciadas do lado do Windows alterado na sua verificação periódica de política sem executá-los.3003O Claude 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 somente quando `managed-settings.json` ou um arquivo em `managed-settings.d/` muda.

3004 3004 

3005O matcher filtra pela origem da configuração:3005O matcher filtra pela origem da configuração:

3006 3006 


3012| `policy_settings` | `managed-settings.json` ou um arquivo em `managed-settings.d/` muda |3012| `policy_settings` | `managed-settings.json` ou um arquivo em `managed-settings.d/` muda |

3013| `skills` | Um arquivo de skill em `.claude/skills/` muda |3013| `skills` | Um arquivo de skill em `.claude/skills/` muda |

3014 3014 

3015Este exemplo registra em log todas as alterações de configuração para auditoria de segurança:3015Alterações como estas entram em vigor sem executar os hooks:

3016 

3017* Regras e configurações que você salva com **Yes, and don't ask again**, `/permissions` ou `/model`, na sessão a partir da qual você as salvou. Se outra sessão aberta carregar o mesmo arquivo, os hooks são executados lá.

3018* Atualizações nas [configurações gerenciadas pelo servidor](https://code.claude.com/docs/pt/server-managed-settings.md), nas preferências gerenciadas do macOS ou na política do registro do Windows

3019* No WSL com [`wslInheritsWindowsSettings`](https://code.claude.com/docs/pt/settings-reference#wslinheritswindowssettings), uma alteração no arquivo de configurações gerenciadas do lado do Windows, que o Claude Code detecta em sua verificação periódica de políticas

3020 

3021Este exemplo registra em log as alterações de configuração para auditoria de segurança:

3016 3022 

3017```json theme={null}3023```json theme={null}

3018{3024{


3335 "hooks": [3341 "hooks": [

3336 {3342 {

3337 "type": "command",3343 "type": "command",

3338 "command": "bash -c 'jq -r .worktree_path | xargs rm -rf'"3344 "command": "bash -c 'p=$(jq -er .worktree_path) && rm -rf -- \"$p\"'"

3339 }3345 }

3340 ]3346 ]

3341 }3347 }

hooks-guide.md +3 −3

Details

50 "PostToolUse": [50 "PostToolUse": [

51 {51 {

52 "matcher": "Edit|Write",52 "matcher": "Edit|Write",

53 "hooks": [{ "type": "command", "command": "jq -r '.tool_input.file_path' | xargs npx prettier --write" }]53 "hooks": [{ "type": "command", "command": "f=$(jq -r '.tool_input.file_path') && npx prettier --write --ignore-unknown \"$f\"" }]

54 }54 }

55 ],55 ],

56 "Notification": [56 "Notification": [


221 "hooks": [221 "hooks": [

222 {222 {

223 "type": "command",223 "type": "command",

224 "command": "jq -r '.tool_input.file_path' | xargs npx prettier --write"224 "command": "f=$(jq -r '.tool_input.file_path') && npx prettier --write --ignore-unknown \"$f\""

225 }225 }

226 ]226 ]

227 }227 }


336 336 

337Rastreie quando arquivos de configuração ou skills mudam durante uma sessão. O evento `ConfigChange` dispara quando um processo externo ou editor modifica um arquivo de configuração, para que você possa registrar mudanças para conformidade ou bloquear modificações não autorizadas.337Rastreie quando arquivos de configuração ou skills mudam durante uma sessão. O evento `ConfigChange` dispara quando um processo externo ou editor modifica um arquivo de configuração, para que você possa registrar mudanças para conformidade ou bloquear modificações não autorizadas.

338 338 

339Este exemplo anexa cada mudança a um log de auditoria. Adicione isto a `~/.claude/settings.json`:339Este exemplo anexa cada evento a um log de auditoria. Adicione isto a `~/.claude/settings.json`:

340 340 

341```json theme={null}341```json theme={null}

342{342{

Details

32| `Ctrl+Z` | Suspender Claude Code | Apenas Unix. Suspende o processo para seu shell; execute `fg` para retomar |32| `Ctrl+Z` | Suspender Claude Code | Apenas Unix. Suspende o processo para seu shell; execute `fg` para retomar |

33| `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](https://code.claude.com/docs/pt/keybindings.md#tabs-actions) para saber como o foco se move |33| `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](https://code.claude.com/docs/pt/keybindings.md#tabs-actions) para saber como o foco se move |

34| `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](https://code.claude.com/docs/pt/permissions.md#add-a-comment-when-you-answer-a-permission-prompt) |34| `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](https://code.claude.com/docs/pt/permissions.md#add-a-comment-when-you-answer-a-permission-prompt) |

35| `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) |35| `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, `Up` da primeira linha em vez disso [as retira](#take-back-what-you-queued) |

36| `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](https://code.claude.com/docs/pt/sub-agents.md#run-subagents-in-foreground-or-background) abaixo do prompt, `Esc` [o deseleciona](https://code.claude.com/docs/pt/keybindings.md#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](https://code.claude.com/docs/pt/permissions.md#add-a-comment-when-you-answer-a-permission-prompt) |36| `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](https://code.claude.com/docs/pt/sub-agents.md#run-subagents-in-foreground-or-background) abaixo do prompt, `Esc` [o deseleciona](https://code.claude.com/docs/pt/keybindings.md#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](https://code.claude.com/docs/pt/permissions.md#add-a-comment-when-you-answer-a-permission-prompt) |

37| `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](https://code.claude.com/docs/pt/checkpointing.md) para restaurar ou resumir código e conversa de um ponto anterior |37| `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 `Up` o recupere. Quando a entrada está vazia, duplo `Esc` abre o [menu de retrocesso](https://code.claude.com/docs/pt/checkpointing.md) para restaurar ou resumir código e conversa de um ponto anterior |

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

39| `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](https://code.claude.com/docs/pt/permission-modes.md). Em um prompt de permissão de arquivo, a mesma tecla fecha um [campo de comentário](https://code.claude.com/docs/pt/permissions.md#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 |39| `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` e `plan`, depois `bypassPermissions` e `auto` quando disponíveis. Consulte [modos de permissão](https://code.claude.com/docs/pt/permission-modes.md). Em um prompt de permissão de arquivo, a mesma tecla fecha um [campo de comentário](https://code.claude.com/docs/pt/permissions.md#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. No prompt de aprovação do plano, aprova o plano |

40| `Option+P` (macOS) ou `Alt+P` (Windows/Linux) | Alternar modelo | Alterne modelos sem limpar seu prompt |40| `Option+P` (macOS) ou `Alt+P` (Windows/Linux) | Alternar modelo | Alterne modelos sem limpar seu prompt |

41| `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, Haiku 5.5 ou nos modelos Fable, que sempre usam pensamento estendido. Funciona no macOS sem configurar Option como Meta |41| `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, Haiku 5.5 ou nos modelos Fable, que sempre usam pensamento estendido. Funciona no macOS sem configurar Option como Meta |

42| `Option+O` (macOS) ou `Alt+O` (Windows/Linux) | Alternar modo rápido | Ativar ou desativar [modo rápido](https://code.claude.com/docs/pt/fast-mode.md) |42| `Option+O` (macOS) ou `Alt+O` (Windows/Linux) | Alternar modo rápido | Ativar ou desativar [modo rápido](https://code.claude.com/docs/pt/fast-mode.md) |


81| :- | :- | :- |81| :- | :- | :- |

82| Escape rápido | `\` + `Enter` | Funciona em todos os terminais |82| Escape rápido | `\` + `Enter` | Funciona em todos os terminais |

83| Tecla Option | `Option+Enter` | Após ativar [Option como Meta](https://code.claude.com/docs/pt/terminal-config.md#enable-option-key-shortcuts-on-macos) no macOS |83| Tecla Option | `Option+Enter` | Após ativar [Option como Meta](https://code.claude.com/docs/pt/terminal-config.md#enable-option-key-shortcuts-on-macos) no macOS |

84| Shift+Enter | `Shift+Enter` | Nativo em iTerm2, WezTerm, Ghostty, Kitty, Warp, Apple Terminal, Windows Terminal. Para outros terminais, consulte [Inserir prompts multilinha](https://code.claude.com/docs/pt/terminal-config.md#enter-multiline-prompts) |84| Shift+Enter | `Shift+Enter` | Nativo em iTerm2, WezTerm, Ghostty, Kitty, Warp, Windows Terminal. Para outros terminais, consulte [Inserir prompts multilinha](https://code.claude.com/docs/pt/terminal-config.md#enter-multiline-prompts) |

85| Sequência de controle | `Ctrl+J` | Funciona em qualquer terminal sem configuração |85| Sequência de controle | `Ctrl+J` | Funciona em qualquer terminal sem configuração |

86| Modo de colagem | Colar diretamente | Para blocos de código, logs |86| Modo de colagem | Colar diretamente | Para blocos de código, logs |

87 87 


137 137 

138Ative a edição no estilo vim via `/config` → Editor mode.138Ative a edição no estilo vim via `/config` → Editor mode.

139 139 

140Claude Code mantém seu modo vim e posição do cursor quando você alterna o [visualizador de transcrição](#transcript-viewer) com `Ctrl+O` ou abre e fecha um painel como `/config`. Se você deixar o prompt em modo NORMAL, ele ainda estará em modo NORMAL quando você retornar, com o cursor onde você o deixou.

141 

142### Alternância de modo140### Alternância de modo

143 141 

144| Comando | Ação | Do modo |142| Comando | Ação | Do modo |


302 * Pressione `Ctrl+C` para cancelar e restaurar sua entrada original300 * Pressione `Ctrl+C` para cancelar e restaurar sua entrada original

303 * Pressione `Backspace` em pesquisa vazia para cancelar301 * Pressione `Backspace` em pesquisa vazia para cancelar

304 302 

305Aceitar uma correspondência ou cancelar a pesquisa entra em efeito imediatamente, mesmo enquanto Claude Code ainda está carregando o histórico.

306 

307Para encontrar um prompt anterior quando tudo o que você lembra é algo longo que colou nele, como um log de erro, pressione `Ctrl+R` e digite uma palavra do conteúdo colado. Requer Claude Code v2.1.314 ou posterior.303Para encontrar um prompt anterior quando tudo o que você lembra é algo longo que colou nele, como um log de erro, pressione `Ctrl+R` e digite uma palavra do conteúdo colado. Requer Claude Code v2.1.314 ou posterior.

308 304 

309## Comandos Bash em segundo plano305## Comandos Bash em segundo plano


600 596 

601### O que Claude Code sublinha597### O que Claude Code sublinha

602 598 

603Pouco depois que você pausa de digitar, Claude Code sublinha as palavras que o dicionário não conhece. Ele deixa a palavra que você ainda está digitando sozinha até que você se mova além dela, e nunca altera seu texto. Ele também pula texto que parece código:599Pouco depois que você pausa de digitar, Claude Code sublinha as palavras que o dicionário não conhece. Ele deixa a palavra que você ainda está digitando sozinha até que você se mova além dela. Ele também pula texto que parece código:

604 600 

605* Comandos como `/help`, menções `@`, URLs, caminhos de arquivo e sinalizadores como `--verbose`601* Comandos como `/help`, menções `@`, URLs, caminhos de arquivo e sinalizadores como `--verbose`

606* Palavras com dígitos, sublinhados ou uma letra maiúscula após a primeira, e texto entre backticks602* Palavras com dígitos, sublinhados ou uma letra maiúscula após a primeira, e texto entre backticks

keybindings.md +6 −1

Details

581 581 

582Claude Code vincula esses acordes padrão no prefixo `ctrl+x`, por contexto:582Claude Code vincula esses acordes padrão no prefixo `ctrl+x`, por contexto:

583 583 

584* `Chat`: `ctrl+x ctrl+k`, `ctrl+x ctrl+e`, `ctrl+x enter`, `ctrl+x ctrl+a`, `ctrl+x ctrl+s` e `ctrl+x tab`584* `Chat`: `ctrl+x ctrl+k`, `ctrl+x ctrl+e`, `ctrl+x enter`, `ctrl+x ctrl+a`, `ctrl+x ctrl+s`, `ctrl+x tab`, `ctrl+x ctrl+=`, `ctrl+x ctrl+-`, `ctrl+x ctrl+_`, `ctrl+x =` e `ctrl+x -`

585* `Task`: `ctrl+x ctrl+b`585* `Task`: `ctrl+x ctrl+b`

586* `DiffPanel`: `ctrl+x b`586* `DiffPanel`: `ctrl+x b`

587* `Pane`: `ctrl+x left`, `ctrl+x right`, `ctrl+x up`, `ctrl+x down` e `ctrl+x x`587* `Pane`: `ctrl+x left`, `ctrl+x right`, `ctrl+x up`, `ctrl+x down` e `ctrl+x x`


631 "ctrl+x ctrl+a": null,631 "ctrl+x ctrl+a": null,

632 "ctrl+x ctrl+s": null,632 "ctrl+x ctrl+s": null,

633 "ctrl+x tab": null,633 "ctrl+x tab": null,

634 "ctrl+x ctrl+=": null,

635 "ctrl+x ctrl+-": null,

636 "ctrl+x ctrl+_": null,

637 "ctrl+x =": null,

638 "ctrl+x -": null,

634 "ctrl+x": "chat:newline"639 "ctrl+x": "chat:newline"

635 }640 }

636 }641 }

Details

156 156 

157### Conflitos com um login existente157### Conflitos com um login existente

158 158 

159Uma variável de credencial de gateway tem precedência sobre um login claude.ai salvo ou uma chave Console. Com `ANTHROPIC_AUTH_TOKEN`, a variável tem precedência imediatamente. Com `ANTHROPIC_API_KEY`, você é solicitado uma vez em modo interativo para aprovar a chave antes que ela assuma o controle.159Suas requisições usam uma variável de credencial de gateway em vez de um login claude.ai salvo. Com `ANTHROPIC_AUTH_TOKEN`, a variável tem precedência imediatamente. Com `ANTHROPIC_API_KEY`, você é solicitado uma vez em modo interativo para aprovar a chave antes que ela assuma o controle.

160 160 

161Execute `/status` para confirmar qual fonte de credencial está ativa. Se a inicialização mostrar um aviso de conflito de autenticação nomeando duas fontes, consulte a primeira linha da [tabela de solução de problemas](#troubleshoot-gateway-errors) para saber qual descartar. Para limpar um login salvo para que apenas a credencial de gateway permaneça, execute `/logout`.161Execute `/status` para confirmar qual fonte de credencial está ativa. Se a inicialização mostrar um aviso de conflito de autenticação nomeando duas fontes, consulte a primeira linha da [tabela de solução de problemas](#troubleshoot-gateway-errors) para saber qual descartar. Para limpar um login salvo para que apenas a credencial de gateway permaneça, execute `/logout`.

162 162 


506 506 

507| Erro | Causa | Correção |507| Erro | Causa | Correção |

508| :- | :- | :- |508| :- | :- | :- |

509| Um aviso de inicialização nomeando duas fontes de credencial e terminando em `auth may not work as expected`. Versões mais antigas mostram `Auth conflict: Both a token (SOURCE) and an API key (SOURCE) are set` em vez disso. | Uma credencial de gateway e um login salvo estão ambos ativos; a variável é usada para solicitações, mas o login obsoleto pode causar comportamento de autenticação inesperado | Desdefina a variável para usar o login salvo, ou execute `/logout` para usar a credencial de gateway |509| Um aviso de inicialização nomeando duas fontes de credencial e terminando em `auth may not work as expected`. Versões mais antigas mostram `Auth conflict: Both a token (SOURCE) and an API key (SOURCE) are set` em vez disso. | Uma credencial de gateway e um login salvo estão ambos ativos | Desdefina a variável para usar o login salvo, ou execute `/logout` para usar a credencial de gateway |

510| Erros `401` nomeando um token inválido ou não reconhecido | A credencial não é uma que o gateway emitiu, ou está em um cabeçalho que o gateway não lê | Confirme que a variável corresponde ao seu tipo de credencial na [tabela de credencial](#set-the-credential-variable) e regenere a chave no gateway se ela foi revogada |510| Erros `401` nomeando um token inválido ou não reconhecido | A credencial não é uma que o gateway emitiu, ou está em um cabeçalho que o gateway não lê | Confirme que a variável corresponde ao seu tipo de credencial na [tabela de credencial](#set-the-credential-variable) e regenere a chave no gateway se ela foi revogada |

511| `Your apiKeyHelper script is failing`, ou `apiKeyHelper failed:` no stderr em modo não interativo | O comando na configuração [`apiKeyHelper`](https://code.claude.com/docs/pt/settings-reference#apikeyhelper) não produziu uma chave utilizável, portanto as solicitações carregam uma chave de espaço reservado | Execute o comando diretamente para ver por que falha e autentique-se novamente com seu provedor de credencial se ele relatar uma sessão expirada; consulte [a referência de erro](https://code.claude.com/docs/pt/errors.md#your-apikeyhelper-script-is-failing) |511| `Your apiKeyHelper script is failing`, ou `apiKeyHelper failed:` no stderr em modo não interativo | O comando na configuração [`apiKeyHelper`](https://code.claude.com/docs/pt/settings-reference#apikeyhelper) não produziu uma chave utilizável, portanto as solicitações carregam uma chave de espaço reservado | Execute o comando diretamente para ver por que falha e autentique-se novamente com seu provedor de credencial se ele relatar uma sessão expirada; consulte [a referência de erro](https://code.claude.com/docs/pt/errors.md#your-apikeyhelper-script-is-failing) |

512| `Connection refused — a firewall or proxy may be blocking it (ConnectionRefused)` quando nada responde no endereço, ou `Can't reach the API server — check your internet or DNS (ENOTFOUND)` quando o nome do host não resolve, frequentemente após uma pausa silenciosa enquanto Claude Code [tenta novamente com backoff](https://code.claude.com/docs/pt/errors.md#automatic-retries). O código entre parênteses varia; [Unable to connect to API](https://code.claude.com/docs/pt/errors.md#unable-to-connect-to-api) cobre as variações de código e a redação anterior | Nada respondeu na URL base: o endereço está errado ou uma VPN ou firewall bloqueia o caminho para o gateway | Execute o [teste curl acima](#verify-the-connection), que falha imediatamente com a mesma causa, e confirme a URL e o caminho de rede com sua equipe de gateway |512| `Connection refused — a firewall or proxy may be blocking it (ConnectionRefused)` quando nada responde no endereço, ou `Can't reach the API server — check your internet or DNS (ENOTFOUND)` quando o nome do host não resolve, frequentemente após uma pausa silenciosa enquanto Claude Code [tenta novamente com backoff](https://code.claude.com/docs/pt/errors.md#automatic-retries). O código entre parênteses varia; [Unable to connect to API](https://code.claude.com/docs/pt/errors.md#unable-to-connect-to-api) cobre as variações de código e a redação anterior | Nada respondeu na URL base: o endereço está errado ou uma VPN ou firewall bloqueia o caminho para o gateway | Execute o [teste curl acima](#verify-the-connection), que falha imediatamente com a mesma causa, e confirme a URL e o caminho de rede com sua equipe de gateway |


520| `/fast` relata `Fast mode unavailable due to network connectivity issues` enquanto as requisições de inferência funcionam | A verificação de disponibilidade do [modo rápido](https://code.claude.com/docs/pt/fast-mode.md) vai diretamente para `api.anthropic.com` e não segue `ANTHROPIC_BASE_URL`, portanto a saída direta bloqueada falha na verificação | Adicione `api.anthropic.com` à allowlist se a saída estiver bloqueada, ou defina uma variável de skip. Consulte [usar modo rápido atrás de proxies e gateways LLM](https://code.claude.com/docs/pt/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways) |520| `/fast` relata `Fast mode unavailable due to network connectivity issues` enquanto as requisições de inferência funcionam | A verificação de disponibilidade do [modo rápido](https://code.claude.com/docs/pt/fast-mode.md) vai diretamente para `api.anthropic.com` e não segue `ANTHROPIC_BASE_URL`, portanto a saída direta bloqueada falha na verificação | Adicione `api.anthropic.com` à allowlist se a saída estiver bloqueada, ou defina uma variável de skip. Consulte [usar modo rápido atrás de proxies e gateways LLM](https://code.claude.com/docs/pt/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways) |

521| `/fast` relata `Fast mode is currently unavailable` em uma sessão que se autentica com uma chave emitida pelo gateway em `ANTHROPIC_API_KEY` | Enquanto `ANTHROPIC_BASE_URL` aponta para seu gateway e a chave não está no formato de uma chave de API Anthropic, Claude Code não envia a verificação de disponibilidade do [modo rápido](https://code.claude.com/docs/pt/fast-mode.md). Sem uma verificação anterior bem-sucedida em cache, ele trata o modo rápido como indisponível | Defina `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS=1`; consulte [usar modo rápido atrás de proxies e gateways LLM](https://code.claude.com/docs/pt/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways) |521| `/fast` relata `Fast mode is currently unavailable` em uma sessão que se autentica com uma chave emitida pelo gateway em `ANTHROPIC_API_KEY` | Enquanto `ANTHROPIC_BASE_URL` aponta para seu gateway e a chave não está no formato de uma chave de API Anthropic, Claude Code não envia a verificação de disponibilidade do [modo rápido](https://code.claude.com/docs/pt/fast-mode.md). Sem uma verificação anterior bem-sucedida em cache, ele trata o modo rápido como indisponível | Defina `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS=1`; consulte [usar modo rápido atrás de proxies e gateways LLM](https://code.claude.com/docs/pt/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways) |

522| `/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; 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](https://code.claude.com/docs/pt/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways) |522| `/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; 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](https://code.claude.com/docs/pt/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways) |

523| `/feedback` salva um arquivo local em uma sessão que usa `ANTHROPIC_BASE_URL` | Atrás de um gateway, `ANTHROPIC_AUTH_TOKEN` e uma chave que não está no formato de uma chave de API Anthropic não são credenciais Anthropic. Sem uma delas, Claude Code grava o relatório em um arquivo compactado local em `~/.claude/feedback-bundles/` em vez de enviá-lo | Envie o arquivo ao seu representante de conta Anthropic ou anexe-o a uma solicitação de suporte. Consulte [serviços de telemetria](https://code.claude.com/docs/pt/data-usage.md#telemetry-services) |

523| 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](https://code.claude.com/docs/pt/permissions.md#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 |524| 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](https://code.claude.com/docs/pt/permissions.md#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 |

524| `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` |525| `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` |

525| `This machine's managed settings require a first-party login`, ou [`Administrator policy requires a Cloud gateway sign-in`](https://code.claude.com/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 |526| `This machine's managed settings require a first-party login`, ou [`Administrator policy requires a Cloud gateway sign-in`](https://code.claude.com/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 |

Details

142claude -p "Reply with one word: connected"142claude -p "Reply with one word: connected"

143```143```

144 144 

145**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:145**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. Verifique a mensagem de falha:

146 146 

147* `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`147* `Not logged in`: verifique o log do gateway. 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 a partir do qual você está testando. Se mostrar um `401` do gateway nomeando `x-api-key`, o gateway espera chaves nesse cabeçalho em vez disso; mude para `ANTHROPIC_API_KEY`. Se mostrar um `401` de `api.anthropic.com` ou do endpoint do seu provedor, corrija a credencial do provedor que o gateway possui

148* `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 placeholder148* `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

149 149 

150Uma URL base incorreta ou inacessível produz um sintoma diferente: Claude Code [tenta novamente a conexão com backoff](https://code.claude.com/docs/pt/errors.md#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.150Uma URL base incorreta ou inacessível produz um sintoma diferente: Claude Code [tenta novamente a conexão com backoff](https://code.claude.com/docs/pt/errors.md#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.


247 247 

248Você deve ver linhas `data:` chegarem incrementalmente. A resposta inteira chegando de uma vez após uma pausa significa que o gateway está armazenando em buffer, o que paralisa Claude Code; um `404` significa que o nome do modelo não é roteado. Repita por nome de modelo.248Você deve ver linhas `data:` chegarem incrementalmente. A resposta inteira chegando de uma vez após uma pausa significa que o gateway está armazenando em buffer, o que paralisa Claude Code; um `404` significa que o nome do modelo não é roteado. Repita por nome de modelo.

249 249 

250Em seguida, inicie `claude` e envie uma mensagem. Cada sintoma nesta etapa tem uma causa:250Em seguida, inicie `claude`, envie uma mensagem e compare com o que você vê:

251 251 

252* 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`252* Uma tela de login, ou `Not logged in` sem nada novo no log do gateway, 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`

253* 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 rejeitada253* `Please run /login · API Error: 401`, `Not logged in` ou `Invalid API key` com um `401` no log do gateway: verifique quem escreveu o `401`. Corrija a chave do desenvolvedor ou seu cabeçalho se foi o gateway que o escreveu, ou a credencial do provedor que ele possui se o `401` veio de `api.anthropic.com` ou do endpoint do seu provedor

254* 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`254* 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`

255 255 

256Se sua organização usa [modo rápido](https://code.claude.com/docs/pt/fast-mode.md), 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](https://code.claude.com/docs/pt/fast-mode.md#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).256Se sua organização usa [modo rápido](https://code.claude.com/docs/pt/fast-mode.md), 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](https://code.claude.com/docs/pt/fast-mode.md#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).

Details

147 147 

148## Configuração do Azure RBAC148## Configuração do Azure RBAC

149 149 

150As funções padrão `Azure AI User` e `Cognitive Services User` incluem todas as permissões necessárias para invocar modelos Claude.150Se você se autenticar com o Microsoft Entra ID ou com um token bearer emitido por ele, atribua à sua identidade a função `Foundry User` ou `Cognitive Services User` no seu recurso do Foundry. Você ainda poderá ver `Foundry User` com o nome anterior, `Azure AI User`.

151 151 

152Para permissões mais restritivas, crie uma função personalizada com o seguinte:152Se essas funções não atenderem às suas necessidades, consulte a [documentação RBAC do Microsoft Foundry](https://learn.microsoft.com/en-us/azure/foundry/concepts/rbac-foundry) para funções personalizadas.

153 

154```json theme={null}

155{

156 "permissions": [

157 {

158 "dataActions": [

159 "Microsoft.CognitiveServices/accounts/providers/*"

160 ]

161 }

162 ]

163}

164```

165 

166Para detalhes, consulte [documentação RBAC do Microsoft Foundry](https://learn.microsoft.com/en-us/azure/ai-foundry/concepts/rbac-azure-ai-foundry).

167 153 

168## Janela de contexto de 1M de tokens154## Janela de contexto de 1M de tokens

169 155 

model-config.md +1 −1

Details

903 903 

904### Corrigir a janela para um gateway ou ID de modelo personalizado904### Corrigir a janela para um gateway ou ID de modelo personalizado

905 905 

906Qualquer um destes avisos de inicialização significa que Claude Code não reconhece o ID de modelo da sua sessão, portanto não consegue determinar a janela de contexto do modelo e assume 200K tokens:906Qualquer um destes avisos significa que Claude Code não reconhece o ID de modelo da sua sessão, portanto não consegue determinar a janela de contexto do modelo e assume 200K tokens:

907 907 

908```text theme={null}908```text theme={null}

909⚠ Model "my-gateway-opus" isn't recognized · context assumed to be 200k tokens · ...909⚠ Model "my-gateway-opus" isn't recognized · context assumed to be 200k tokens · ...

Details

431> * **Espaços não são permitidos**: os valores não podem conter espaços. Por exemplo, `user.organizationName=My Company` é inválido431> * **Espaços não são permitidos**: os valores não podem conter espaços. Por exemplo, `user.organizationName=My Company` é inválido

432> * **Formato**: devem ser pares key=value separados por vírgula: `key1=value1,key2=value2`432> * **Formato**: devem ser pares key=value separados por vírgula: `key1=value1,key2=value2`

433> * **Caracteres permitidos**: apenas caracteres US-ASCII, excluindo caracteres de controle, espaços em branco, aspas duplas, vírgulas, ponto e vírgula e barras invertidas433> * **Caracteres permitidos**: apenas caracteres US-ASCII, excluindo caracteres de controle, espaços em branco, aspas duplas, vírgulas, ponto e vírgula e barras invertidas

434> * **Caracteres especiais**: caracteres fora do intervalo permitido devem ser codificados em porcentagem434> * **Caracteres especiais**: caracteres fora do intervalo permitido devem ser codificados em porcentagem, e um `=` dentro de um valor deve ser escrito como `%3D`

435>435>

436> Para um valor que precisaria de um espaço, use sublinhados ou camelCase. Os exemplos a seguir definem `org.name` com cada forma:436> Para um valor que precisaria de um espaço, use sublinhados ou camelCase. Os exemplos a seguir definem `org.name` com cada forma:

437>437>

Details

304claude --permission-mode plan304claude --permission-mode plan

305```305```

306 306 

307Pressione `Shift+Tab` novamente para sair do modo de planejamento sem aprovar um plano.307Sem nenhum prompt de aprovação aberto, pressione `Shift+Tab` novamente para sair do modo de planejamento. No prompt de aprovação, pressione `Esc` primeiro, pois pressionar `Shift+Tab` ali aprova o plano.

308 308 

309### Revise e aprove um plano309### Revise e aprove um plano

310 310 

Details

344 "PostToolUse": [344 "PostToolUse": [

345 {345 {

346 "matcher": "Write|Edit",346 "matcher": "Write|Edit",

347 "hooks": [{ "type": "command", "command": "jq -r '.tool_input.file_path' | xargs npm run lint:fix" }]347 "hooks": [{ "type": "command", "command": "f=$(jq -r '.tool_input.file_path') && npm run lint:fix -- \"$f\"" }]

348 }348 }

349 ]349 ]

350 }350 }

Details

196 196 

197### Verificar um resultado com `expect`197### Verificar um resultado com `expect`

198 198 

199O kit tem estas asserções, e a que você escolher vem depois do valor que está verificando, como em `expect(answer.text).toBe('ok')`:199`expect` tem seu próprio conjunto de asserções, como `toEqual` e `toHaveLength`, que vêm depois do valor que você está verificando, como em `expect(answer.text).toBe('ok')`. Para a lista completa, procure por `type Matchers` em `claude-code/index.d.ts` nos [tipos para o seu build](https://code.claude.com/docs/pt/plugins/mods/create.md#get-the-types-for-your-build). Coloque `.not` antes da asserção para verificar o oposto. Para verificar com o que uma promise é concluída, coloque `.resolves` ou `.rejects` logo depois de `expect(...)` e use `await` na linha, como em `await expect(promise).rejects.toThrow()`.

200 

201* **Igualdade**: `toBe` para o mesmo valor ou objeto, `toEqual` para estrutura, `toStrictEqual` para estrutura mais campos `undefined` e o protótipo, e `toMatchObject` para os campos que você nomear

202* **Texto**: `toMatch`, que aceita uma expressão regular ou uma substring, `toStartWith` e `toEndWith`

203* **Números**: `toBeGreaterThan`, `toBeGreaterThanOrEqual`, `toBeLessThan`, `toBeLessThanOrEqual`

204* **Conteúdo**: `toContain` para uma substring ou um membro, `toContainEqual` para um membro comparado por estrutura, `toHaveLength` e `toHaveProperty`

205* **Presença e tipo**: `toBeDefined`, `toBeUndefined`, `toBeNull`, `toBeTruthy`, `toBeFalsy`, `toBeNaN`, `toBeInstanceOf`

206* **Lançamento**: `toThrow`, para uma função que `expect` chama, ou para uma promise que você verifica com `.rejects`

207 

208Coloque `.not` antes de uma asserção para verificar o oposto, e `.resolves` ou `.rejects` para verificar com o que uma promise é concluída.

209 200 

210Quando um `expect` falha dentro de um stub ou hook que você passou para `on` como uma função simples em vez de um gerador assíncrono, o teste falha. O mecanismo pula esse hook, e a saída da falha o nomeia, como `in the test's store.set hook`.201Quando um `expect` falha dentro de um stub ou hook que você passou para `on` como uma função simples em vez de um gerador assíncrono, o teste falha. O mecanismo pula esse hook, e a saída da falha o nomeia, como `in the test's store.set hook`.

211 202 

Details

67> | `--capacity <N>` | Número máximo de sessões simultâneas. O padrão é 32. Não pode ser usado com `--spawn=session`. |67> | `--capacity <N>` | Número máximo de sessões simultâneas. O padrão é 32. Não pode ser usado com `--spawn=session`. |

68> | `--[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). |68> | `--[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). |

69> | `--permission-mode <mode>` | Define o [modo de permissão](https://code.claude.com/docs/pt/permission-modes.md) 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. |69> | `--permission-mode <mode>` | Define o [modo de permissão](https://code.claude.com/docs/pt/permission-modes.md) 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. |

70> | `--settings <file>` | Aplique um arquivo de configurações JSON às sessões do servidor, com a mesma [precedência](https://code.claude.com/docs/pt/settings.md#settings-precedence) de `claude --settings`. Forneça um caminho de arquivo, não uma string JSON. Requer Claude Code v2.1.321 ou posterior. |

70> | `--chrome` / `--no-chrome` | Ative ou desative a [integração Chrome](https://code.claude.com/docs/pt/chrome.md) nas sessões que o servidor cria, para que Claude possa usar Chrome na sua máquina enquanto você trabalha de outro dispositivo. Sem nenhuma das duas opções, a sessão que o servidor pré-cria e qualquer sessão que você inicia você mesmo a partir de claude.ai/code ou do aplicativo Claude começam com Chrome desativado, mesmo que você tenha [ativado Chrome por padrão](https://code.claude.com/docs/pt/chrome.md#enable-chrome-by-default). Uma sessão que o servidor inicia para um de seus threads de [projeto](https://code.claude.com/docs/pt/claude-projects.md) segue essa configuração em vez disso, exceto em modo `bypassPermissions`. Requer Claude Code v2.1.273 ou posterior. |71> | `--chrome` / `--no-chrome` | Ative ou desative a [integração Chrome](https://code.claude.com/docs/pt/chrome.md) nas sessões que o servidor cria, para que Claude possa usar Chrome na sua máquina enquanto você trabalha de outro dispositivo. Sem nenhuma das duas opções, a sessão que o servidor pré-cria e qualquer sessão que você inicia você mesmo a partir de claude.ai/code ou do aplicativo Claude começam com Chrome desativado, mesmo que você tenha [ativado Chrome por padrão](https://code.claude.com/docs/pt/chrome.md#enable-chrome-by-default). Uma sessão que o servidor inicia para um de seus threads de [projeto](https://code.claude.com/docs/pt/claude-projects.md) segue essa configuração em vez disso, exceto em modo `bypassPermissions`. Requer Claude Code v2.1.273 ou posterior. |

71> | `-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. |72> | `-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. |

72> | `--debug-file <path>` | Escreva logs de depuração no arquivo fornecido. |73> | `--debug-file <path>` | Escreva logs de depuração no arquivo fornecido. |

73> | `--verbose` | Mostre logs detalhados de conexão e sessão. |74> | `--verbose` | Mostre logs detalhados de conexão e sessão. |

74> | `--sandbox`, `--no-sandbox` | Removido na v2.1.300. Se você passar qualquer um desses sinalizadores, o servidor [sai com um erro](https://code.claude.com/docs/pt/errors.md#sandbox-is-not-supported-by-claude-remote-control) em vez de iniciar. |75> | `--sandbox`, `--no-sandbox` | Removido na v2.1.300. Se você passar qualquer um desses sinalizadores, o servidor [sai com um erro](https://code.claude.com/docs/pt/errors.md#sandbox-is-not-supported-by-claude-remote-control) em vez de iniciar. |

75>76>

76> 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](https://code.claude.com/docs/pt/errors.md#not-carried-over-to-the-sessions-remote-control-starts) e nomeia o sinalizador a remover.77> Se você passar uma flag global `claude` antes de `remote-control`, ou um script wrapper adicionar uma, Claude Code não leva a flag para as sessões que o servidor cria. O servidor ainda inicia com algumas flags, como `--verbose` ou `--model`. Com qualquer outra flag, o servidor [não inicia](https://code.claude.com/docs/pt/errors.md#not-carried-over-to-the-sessions-remote-control-starts). Para passar um arquivo de configurações, coloque `--settings` após `remote-control`.

77>78>

78> Para fazer sandbox das sessões que o servidor inicia, ative [sandboxing](https://code.claude.com/docs/pt/sandboxing.md) em um arquivo de configurações.79> Para fazer sandbox das sessões que o servidor inicia, ative [sandboxing](https://code.claude.com/docs/pt/sandboxing.md) em um arquivo de configurações.

79>80>

routines.md +1 −1

Details

431 431 

432Cada tarefa agendada usa um [ambiente na nuvem](https://code.claude.com/docs/pt/cloud-environments.md) que controla o acesso à rede, as variáveis de ambiente e os scripts de configuração. A tarefa herda a política de rede do ambiente em cada execução.432Cada tarefa agendada usa um [ambiente na nuvem](https://code.claude.com/docs/pt/cloud-environments.md) que controla o acesso à rede, as variáveis de ambiente e os scripts de configuração. A tarefa herda a política de rede do ambiente em cada execução.

433 433 

434O ambiente **Default** usa acesso **Limited** com **Allow package managers** marcado, portanto suas execuções alcançam a [allowlist padrão](https://code.claude.com/docs/pt/cloud-environments.md#default-allowed-domains). Uma requisição para um host bloqueado falha com `403` e `x-deny-reason: host_not_allowed`. O tráfego dos conectores MCP é roteado através dos servidores da Anthropic, portanto os conectores que você adiciona à tarefa funcionam sem adicionar seus hosts a **Allowed domains**. Remova os conectores de que você não precisa em [Conectores](#connectors).434O ambiente **Default** usa acesso **Limited** com **Allow package managers** marcado, portanto suas execuções alcançam a [allowlist padrão](https://code.claude.com/docs/pt/cloud-environments.md#default-allowed-domains). Uma requisição para um host bloqueado falha com [um erro como `403` ou `ENOTFOUND`](https://code.claude.com/docs/pt/errors#host-not-allowed-in-a-cloud-session). O tráfego dos conectores MCP é roteado através dos servidores da Anthropic, portanto os conectores que você adiciona à tarefa funcionam sem adicionar seus hosts a **Allowed domains**. Remova os conectores de que você não precisa em [Conectores](#connectors).

435 435 

436Para permitir domínios adicionais em um dos seus próprios ambientes, siga estas etapas. Um [ambiente compartilhado pela organização](https://code.claude.com/docs/pt/cloud-environments.md#organization-shared-environments) é aberto como somente leitura aqui, portanto um Owner altera seu acesso à rede na página **Cloud environments** em [configurações de administração](https://claude.ai/admin-settings).436Para permitir domínios adicionais em um dos seus próprios ambientes, siga estas etapas. Um [ambiente compartilhado pela organização](https://code.claude.com/docs/pt/cloud-environments.md#organization-shared-environments) é aberto como somente leitura aqui, portanto um Owner altera seu acesso à rede na página **Cloud environments** em [configurações de administração](https://claude.ai/admin-settings).

437 437 

sandboxing.md +5 −3

Details

276 276 

277Esses caminhos são aplicados no nível do sistema operacional, portanto todos os comandos executados dentro do sandbox, incluindo seus processos filhos, os respeitam. Essa é a abordagem recomendada quando uma ferramenta precisa de acesso de gravação a um local específico, em vez de excluir a ferramenta do sandbox inteiramente com `excludedCommands`.277Esses caminhos são aplicados no nível do sistema operacional, portanto todos os comandos executados dentro do sandbox, incluindo seus processos filhos, os respeitam. Essa é a abordagem recomendada quando uma ferramenta precisa de acesso de gravação a um local específico, em vez de excluir a ferramenta do sandbox inteiramente com `excludedCommands`.

278 278 

279No Linux e no WSL2, uma entrada para um caminho que ainda não existe não tem efeito, então crie o caminho primeiro.

280 

279Quando você define o mesmo array de sistema de arquivos em vários [escopos de configurações](https://code.claude.com/docs/pt/settings.md#settings-precedence), o Claude Code os mescla, combinando os caminhos em vez de substituir o array de um escopo pelo de outro. O Claude Code deixa uma entrada fora da mesclagem quando um bloqueio descrito em [Impedir que os desenvolvedores ampliem a política](#keep-developers-from-widening-the-policy) a cobre.281Quando você define o mesmo array de sistema de arquivos em vários [escopos de configurações](https://code.claude.com/docs/pt/settings.md#settings-precedence), o Claude Code os mescla, combinando os caminhos em vez de substituir o array de um escopo pelo de outro. O Claude Code deixa uma entrada fora da mesclagem quando um bloqueio descrito em [Impedir que os desenvolvedores ampliem a política](#keep-developers-from-widening-the-policy) a cobre.

280 282 

281Se você excluir uma origem com [`--setting-sources`](https://code.claude.com/docs/pt/cli-reference) na CLI ou [`settingSources`](https://code.claude.com/docs/pt/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources) no Agent SDK, o Claude Code ignora suas entradas `sandbox.filesystem`, suas regras de permissão `Edit` e suas regras de negação `Read` ao montar a configuração do sandbox. Requer o Claude Code v2.1.246 ou posterior.283Se você excluir uma origem com [`--setting-sources`](https://code.claude.com/docs/pt/cli-reference) na CLI ou [`settingSources`](https://code.claude.com/docs/pt/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources) no Agent SDK, o Claude Code ignora suas entradas `sandbox.filesystem`, suas regras de permissão `Edit` e suas regras de negação `Read` ao montar a configuração do sandbox. Requer o Claude Code v2.1.246 ou posterior.


376 378 

377Como desativar o isolamento do sistema de arquivos amplia o que os comandos em sandbox podem fazer, o Claude Code respeita `filesystem.disabled` somente a partir destas origens de configurações:379Como desativar o isolamento do sistema de arquivos amplia o que os comandos em sandbox podem fazer, o Claude Code respeita `filesystem.disabled` somente a partir destas origens de configurações:

378 380 

379* Configurações de usuário, configurações gerenciadas e a flag de CLI `--settings` podem defini-la. Configurações de projeto em `.claude/settings.json` e `.claude/settings.local.json` não podem, de modo que um projeto baixado não pode desativar o isolamento do sistema de arquivos.381* Configurações de usuário, configurações gerenciadas e a flag de CLI `--settings` podem defini-la. Configurações de projeto em `.claude/settings.json` e `.claude/settings.local.json` não podem defini-la.

380* Quando as configurações gerenciadas configuram `sandbox.filesystem` de qualquer forma, ou listam qualquer entrada `sandbox.credentials.files` com `"mode": "deny"`, somente as configurações gerenciadas podem definir a chave. Isso impede que os desenvolvedores desativem o isolamento do sistema de arquivos em tal implantação; para desativá-lo para todos, defina `"disabled": true` nas configurações gerenciadas.382* Quando as configurações gerenciadas configuram `sandbox.filesystem` de qualquer forma, ou listam qualquer entrada `sandbox.credentials.files` com `"mode": "deny"`, somente as configurações gerenciadas podem definir a chave. Para desativar o isolamento do sistema de arquivos para todos, defina `"disabled": true` nas configurações gerenciadas.

381* Quando [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](https://code.claude.com/docs/pt/env-vars) está definida, o Claude Code ignora `filesystem.disabled` de todas as origens, incluindo as configurações gerenciadas, e mantém o isolamento do sistema de arquivos ativado.383* Quando [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](https://code.claude.com/docs/pt/env-vars) está definida, o Claude Code ignora `filesystem.disabled` de todas as origens, incluindo as configurações gerenciadas.

382 384 

383Uma entrada `mask` [válida](https://code.claude.com/docs/pt/settings-reference.md#invalid-credential-entries-in-managed-settings) não trava a chave, mesmo quando o Claude Code [recorre ao fallback `deny`](#mask-credential-files) para ela na inicialização. Liste um caminho que não pode ser mascarado, como um diretório de credenciais, como uma entrada `deny` explícita nas configurações gerenciadas, o que trava a chave.385Uma entrada `mask` [válida](https://code.claude.com/docs/pt/settings-reference.md#invalid-credential-entries-in-managed-settings) não trava a chave, mesmo quando o Claude Code [recorre ao fallback `deny`](#mask-credential-files) para ela na inicialização. Liste um caminho que não pode ser mascarado, como um diretório de credenciais, como uma entrada `deny` explícita nas configurações gerenciadas, o que trava a chave.

384 386 

settings.md +1 −1

Details

177 177 

178O Claude Code observa seus arquivos de configurações e os recarrega quando mudam, para que aplique a maioria das edições à sessão em execução sem uma reinicialização, incluindo edições em `permissions`, `hooks` e auxiliares de credenciais como `apiKeyHelper`. O Claude Code também carrega um arquivo de configurações que você cria no meio da sessão se sua pasta existia quando a sessão começou. Para a pasta `.claude/` do projeto, ele carrega o arquivo mesmo quando você cria a pasta na mesma sessão.178O Claude Code observa seus arquivos de configurações e os recarrega quando mudam, para que aplique a maioria das edições à sessão em execução sem uma reinicialização, incluindo edições em `permissions`, `hooks` e auxiliares de credenciais como `apiKeyHelper`. O Claude Code também carrega um arquivo de configurações que você cria no meio da sessão se sua pasta existia quando a sessão começou. Para a pasta `.claude/` do projeto, ele carrega o arquivo mesmo quando você cria a pasta na mesma sessão.

179 179 

180O recarregamento cobre configurações de usuário, projeto, local e gerenciadas, e o Claude Code executa o [hook `ConfigChange`](https://code.claude.com/docs/pt/hooks#configchange) para cada mudança de arquivo de configurações que detecta, não para configurações gerenciadas que chegam de MDM ou do console claude.ai. As configurações gerenciadas que chegam através de MDM ou do console claude.ai alcançam uma sessão em execução em um cronograma em vez de ao salvar; a [tabela de entrega](https://code.claude.com/docs/pt/managed-settings.md#choose-a-delivery-mechanism) fornece por fonte.180O recarregamento cobre configurações de usuário, projeto, local e gerenciadas. O Claude Code executa o [hook `ConfigChange`](https://code.claude.com/docs/pt/hooks#configchange) para edições diretas em arquivos de configurações, não para configurações gerenciadas que chegam de MDM ou do console claude.ai. As configurações gerenciadas que chegam através de MDM ou do console claude.ai alcançam uma sessão em execução em um cronograma em vez de ao salvar; a [tabela de entrega](https://code.claude.com/docs/pt/managed-settings.md#choose-a-delivery-mechanism) fornece por fonte.

181 181 

182O Claude Code lê algumas chaves apenas uma vez, na inicialização da sessão, então uma edição em uma delas não alcança a sessão em execução. As chaves do lado do administrador que também esperam por uma reinicialização, como `requiredMinimumVersion`, são listadas em [onde e quando uma política se aplica](https://code.claude.com/docs/pt/managed-settings.md#where-and-when-a-policy-applies). As que você provavelmente editará no meio da sessão:182O Claude Code lê algumas chaves apenas uma vez, na inicialização da sessão, então uma edição em uma delas não alcança a sessão em execução. As chaves do lado do administrador que também esperam por uma reinicialização, como `requiredMinimumVersion`, são listadas em [onde e quando uma política se aplica](https://code.claude.com/docs/pt/managed-settings.md#where-and-when-a-policy-applies). As que você provavelmente editará no meio da sessão:

183 183 

Details

1533}1533}

1534```1534```

1535 1535 

1536No Linux e no WSL2, uma entrada para um caminho que ainda não existe não tem efeito, então crie o caminho primeiro.

1537 

1536Claude Code mescla entradas `allowWrite` e os caminhos de suas regras de permissão `Edit(...)` allow em todos os escopos de configurações que a sessão carrega, deixando de fora os de configurações de repositório enquanto [`permissions.blockReadsOutsideWorkingDirectories`](#sandboxed-commands-under-the-block) está ativado. [Bloqueios de repositório](https://code.claude.com/docs/pt/sandboxing.md#repository-settings-under-an-admin-required-sandbox) também podem deixar de fora as entradas de um repositório. Uma entrada `allowWrite` não pode levantar um [caminho protegido](https://code.claude.com/docs/pt/sandboxing.md#protected-paths).1538Claude Code mescla entradas `allowWrite` e os caminhos de suas regras de permissão `Edit(...)` allow em todos os escopos de configurações que a sessão carrega, deixando de fora os de configurações de repositório enquanto [`permissions.blockReadsOutsideWorkingDirectories`](#sandboxed-commands-under-the-block) está ativado. [Bloqueios de repositório](https://code.claude.com/docs/pt/sandboxing.md#repository-settings-under-an-admin-required-sandbox) também podem deixar de fora as entradas de um repositório. Uma entrada `allowWrite` não pode levantar um [caminho protegido](https://code.claude.com/docs/pt/sandboxing.md#protected-paths).

1537 1539 

1538### `sandbox.filesystem.denyWrite`1540### `sandbox.filesystem.denyWrite`

setup.md +8 −26

Details

40>40>

41> **macOS, Linux, WSL:**41> **macOS, Linux, WSL:**

42>42>

43> ```bash theme={null}43> ```bash theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

44> curl -fsSL https://claude.ai/install.sh | bash44> curl -fsSL https://claude.ai/install.sh | bash

45> ```45> ```

46>46>


48>48>

49> **Windows PowerShell:**49> **Windows PowerShell:**

50>50>

51> ```powershell theme={null}51> ```powershell theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

52> irm https://claude.ai/install.ps1 | iex52> irm https://claude.ai/install.ps1 | iex

53> ```53> ```

54>54>

55> **Windows CMD:**55> **Windows CMD:**

56>56>

57> ```batch theme={null}57> ```batch theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

58> curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd58> curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

59> ```59> ```

60>60>


72 72 

73> [tab] Homebrew73> [tab] Homebrew

74>74>

75> ```bash theme={null}75> ```bash theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

76> brew install --cask claude-code76> brew install --cask claude-code

77> ```77> ```

78>78>


84 84 

85> [tab] WinGet85> [tab] WinGet

86>86>

87> ```powershell theme={null}87> ```powershell theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

88> winget install Anthropic.ClaudeCode88> winget install Anthropic.ClaudeCode

89> ```89> ```

90>90>


141 141 

142### Alpine Linux e distribuições baseadas em musl142### Alpine Linux e distribuições baseadas em musl

143 143 

144Instalar Claude Code no Alpine e outras distribuições baseadas em musl/uClibc requer `bash` e `curl` para o comando de instalação, e `libgcc`, `libstdc++` e `ripgrep` em tempo de execução. O Alpine não inclui `bash` ou `curl` por padrão, portanto o comando de instalação documentado falha com um erro `not found` até que você os instale. Instale esses pacotes usando o gerenciador de pacotes da sua distribuição e defina `USE_BUILTIN_RIPGREP=0`.144No Alpine e em outras distribuições baseadas em musl, o [comando de instalação](#install-claude-code) requer `bash` e `curl`, e o próprio Claude Code requer `bash` ou `zsh`. O Alpine não inclui `bash` ou `curl` por padrão, portanto o comando de instalação documentado falha com um erro `not found` até que você os instale.

145 145 

146Este exemplo instala os pacotes necessários no Alpine:146Este exemplo instala os pacotes necessários no Alpine:

147 147 

148```bash theme={null}148```bash theme={null}

149apk add bash curl libgcc libstdc++ ripgrep149apk add bash curl

150```

151 

152No Alpine, `ripgrep` está no repositório community. Se `apk` relatar que o pacote está faltando, adicione o repositório community a `/etc/apk/repositories`, usando sua versão do Alpine:

153 

154```bash theme={null}

155echo "https://dl-cdn.alpinelinux.org/alpine/v3.22/community" >> /etc/apk/repositories

156```

157 

158Execute `apk update` para atualizar o índice de pacotes e tente novamente o comando `apk add`.

159 

160Em seguida, defina `USE_BUILTIN_RIPGREP` como `0` em seu arquivo [`settings.json`](https://code.claude.com/docs/pt/settings-reference#all-settings):

161 

162```json theme={null}

163{

164 "env": {

165 "USE_BUILTIN_RIPGREP": "0"

166 }

167}

168```150```

169 151 

170## Verificar sua instalação152## Verificar sua instalação


443> wget -O /etc/apk/keys/claude-code.rsa.pub \425> wget -O /etc/apk/keys/claude-code.rsa.pub \

444> https://downloads.claude.ai/keys/claude-code.rsa.pub426> https://downloads.claude.ai/keys/claude-code.rsa.pub

445> echo "https://downloads.claude.ai/claude-code/apk/stable" >> /etc/apk/repositories427> echo "https://downloads.claude.ai/claude-code/apk/stable" >> /etc/apk/repositories

446> apk add claude-code428> apk add bash claude-code

447> ```429> ```

448>430>

449> Para mudar para o canal `latest`, remova a linha do repositório `stable` e adicione o repositório `latest`:431> Para mudar para o canal `latest`, remova a linha do repositório `stable` e adicione o repositório `latest`:

Details

26 26 

27| Terminal | Shift+Enter para nova linha |27| Terminal | Shift+Enter para nova linha |

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

29| Ghostty, Kitty, iTerm2, WezTerm, Warp, Apple Terminal, Windows Terminal | Funciona sem configuração |29| Ghostty, Kitty, iTerm2, WezTerm, Warp, Windows Terminal | Funciona sem configuração |

30| Outros terminais que suportam o protocolo de teclado kitty, como foot e Alacritty 0.16 ou posterior | Funciona sem configuração. Requer Claude Code v2.1.269 ou posterior |30| Outros terminais que suportam o protocolo de teclado kitty, como foot e Alacritty 0.16 ou posterior | Funciona sem configuração. Requer Claude Code v2.1.269 ou posterior |

31| VS Code, Cursor, Devin Desktop, Alacritty anterior a 0.16, Zed | Execute `/terminal-setup` uma vez |31| VS Code, Cursor, Devin Desktop, Alacritty anterior a 0.16, Zed | Execute `/terminal-setup` uma vez |

32| gnome-terminal, JetBrains IDEs como PyCharm e Android Studio | Não disponível; use Ctrl+J ou `\` depois Enter |32| gnome-terminal, JetBrains IDEs como PyCharm e Android Studio | Não disponível; use Ctrl+J ou `\` depois Enter |

Details

127 127 

128Claude usa `AskUserQuestion` para fazer perguntas de múltipla escolha quando precisa de uma decisão ou esclarecimento. Responda escolhendo uma opção ou digite seu próprio texto através da linha `Other` ou do campo de notas.128Claude usa `AskUserQuestion` para fazer perguntas de múltipla escolha quando precisa de uma decisão ou esclarecimento. Responda escolhendo uma opção ou digite seu próprio texto através da linha `Other` ou do campo de notas.

129 129 

130Quando você responde digitando seu próprio texto, Claude Code retransmite a resposta com redação neutra para que Claude siga o que você escreveu, incluindo uma solicitação para aguardar ou explicar primeiro.

131 

132### Timeout de continuação automática de perguntas130### Timeout de continuação automática de perguntas

133 131 

134As perguntas permanecem abertas até que você as responda. Se você quiser que uma pergunta que deixar sem resposta eventualmente feche e permita que Claude continue sem você, defina a configuração [`askUserQuestionTimeout`](https://code.claude.com/docs/pt/settings-reference#askuserquestiontimeout) como `60s`, `5m` ou `10m`, seja no seu `settings.json` do usuário ou na linha **Question auto-continue timeout** em `/config`.132As perguntas permanecem abertas até que você as responda. Se você quiser que uma pergunta que deixar sem resposta eventualmente feche e permita que Claude continue sem você, defina a configuração [`askUserQuestionTimeout`](https://code.claude.com/docs/pt/settings-reference#askuserquestiontimeout) como `60s`, `5m` ou `10m`, seja no seu `settings.json` do usuário ou na linha **Question auto-continue timeout** em `/config`.


525 523 

526## Comportamento da ferramenta Read524## Comportamento da ferramenta Read

527 525 

528A ferramenta Read recebe um caminho de arquivo e retorna o conteúdo com números de linha. Claude é instruído a sempre passar caminhos absolutos.526A ferramenta Read recebe um caminho de arquivo e retorna o conteúdo com números de linha.

529 527 

530Ler um arquivo vazio retorna um aviso de que o arquivo existe mas seu conteúdo está vazio, e um `offset` além da última linha retorna um aviso informando a contagem de linhas do arquivo.528Ler um arquivo vazio retorna um aviso de que o arquivo existe mas seu conteúdo está vazio, e um `offset` além da última linha retorna um aviso informando a contagem de linhas do arquivo.

531 529 

Details

388> Get-Command claude | Select-Object Source388> Get-Command claude | Select-Object Source

389> ```389> ```

390 390 

391No Linux, verifique se há bibliotecas compartilhadas ausentes. Se `ldd` mostrar bibliotecas ausentes, você pode precisar instalar pacotes do sistema. No Alpine Linux e outras distribuições baseadas em musl, consulte [Alpine Linux setup](https://code.claude.com/docs/pt/setup.md#alpine-linux-and-musl-based-distributions).391No Linux, verifique se há bibliotecas compartilhadas ausentes. Se `ldd` mostrar bibliotecas ausentes, você pode precisar instalar pacotes do sistema. No Alpine Linux e outras distribuições baseadas em musl, consulte [Incompatibilidade de binário musl ou glibc no Linux](#linux-musl-or-glibc-binary-mismatch).

392 392 

393```bash theme={null}393```bash theme={null}

394ldd "$(command -v claude)" | grep "not found"394ldd "$(command -v claude)" | grep "not found"


906 906 

907### Linux musl or glibc binary mismatch907### Linux musl or glibc binary mismatch

908 908 

909Se você vir erros sobre bibliotecas compartilhadas ausentes como `libstdc++.so.6` ou `libgcc_s.so.1` após a instalação, o instalador pode ter baixado a variante binária errada para seu sistema.909Se você vir erros sobre bibliotecas compartilhadas ausentes como `ld-linux-x86-64.so.2` ou `ld-linux-aarch64.so.1` após a instalação, o instalador pode ter baixado a variante binária errada para seu sistema.

910 910 

911```text theme={null}911```text theme={null}

912Error loading shared library libstdc++.so.6: No such file or directory912Error loading shared library ld-linux-x86-64.so.2: No such file or directory

913```913```

914 914 

915Isso pode acontecer em sistemas baseados em glibc que têm pacotes de compilação cruzada musl instalados, fazendo o instalador detectar incorretamente o sistema como musl.

916 

917**Soluções:**915**Soluções:**

918 916 

9191. **Verifique qual libc seu sistema usa**:9171. **Verifique qual libc seu sistema usa**:


924 922 

9252. **Se você estiver em glibc mas recebeu o binário musl**, remova a instalação e reinstale. Você também pode baixar manualmente o binário correto usando o manifesto em `https://downloads.claude.ai/claude-code-releases/{VERSION}/manifest.json`. Abra um [GitHub issue](https://github.com/anthropics/claude-code/issues) com a saída de `ldd --version` e `ls /lib/libc.musl*`.9232. **Se você estiver em glibc mas recebeu o binário musl**, remova a instalação e reinstale. Você também pode baixar manualmente o binário correto usando o manifesto em `https://downloads.claude.ai/claude-code-releases/{VERSION}/manifest.json`. Abra um [GitHub issue](https://github.com/anthropics/claude-code/issues) com a saída de `ldd --version` e `ls /lib/libc.musl*`.

926 924 

9273. **Se você estiver realmente em musl**, como Alpine Linux, instale os pacotes necessários:9253. **Se você estiver em musl mas recebeu o binário glibc**, [remova a instalação](https://code.claude.com/docs/pt/setup.md#uninstall-claude-code). No Alpine Linux, primeiro instale os pacotes que a [Alpine Linux setup](https://code.claude.com/docs/pt/setup.md#alpine-linux-and-musl-based-distributions) indica. Depois execute o [comando de instalação](https://code.claude.com/docs/pt/setup.md#install-claude-code), que instala o binário musl.

928 ```bash theme={null}

929 apk add libgcc libstdc++ ripgrep

930 ```

931 No Alpine, `ripgrep` está no repositório community. Se `apk` relatar que o pacote está faltando, consulte [Alpine Linux setup](https://code.claude.com/docs/pt/setup.md#alpine-linux-and-musl-based-distributions).

932 926 

933### `Illegal instruction`927### `Illegal instruction`

934 928 

Details

152> apk add ripgrep152> apk add ripgrep

153> ```153> ```

154>154>

155> `ripgrep` está no repositório community do Alpine. Se `apk` relatar que o pacote está faltando, veja [Alpine Linux setup](https://code.claude.com/docs/pt/setup.md#alpine-linux-and-musl-based-distributions).155> `ripgrep` está no repositório community do Alpine.

156 156 

157> [tab] Arch157> [tab] Arch

158>158>

workflows.md +0 −2

Details

75| :- | :- |75| :- | :- |

76| `/deep-research <question>` | Distribui buscas na web em uma pergunta em vários ângulos, busca e verifica cruzadamente as fontes que encontra, vota em cada afirmação e retorna um relatório citado com afirmações que não sobreviveram à verificação cruzada filtradas. Requer que a [ferramenta WebSearch](https://code.claude.com/docs/pt/tools-reference.md#websearch-tool-behavior) esteja disponível |76| `/deep-research <question>` | Distribui buscas na web em uma pergunta em vários ângulos, busca e verifica cruzadamente as fontes que encontra, vota em cada afirmação e retorna um relatório citado com afirmações que não sobreviveram à verificação cruzada filtradas. Requer que a [ferramenta WebSearch](https://code.claude.com/docs/pt/tools-reference.md#websearch-tool-behavior) esteja disponível |

77 77 

78`/deep-research` é executado apenas quando você o invoca.

79 

80[Workflows que você salva](#save-the-workflow-for-reuse) você mesmo se tornam comandos da mesma forma e aparecem na autocompletar `/` junto com os agrupados.78[Workflows que você salva](#save-the-workflow-for-reuse) você mesmo se tornam comandos da mesma forma e aparecem na autocompletar `/` junto com os agrupados.

81 79 

82### Acompanhar a execução80### Acompanhar a execução