SpyBara
Go Premium

Documentation 2026-10-27 22:59 UTC to 2026-10-28 23:57 UTC

55 files changed +1,148 −893. View all changes and history on the product overview
2026
Fri 30 23:01 Thu 29 23:57 Wed 28 23:57 Tue 27 22:59 Mon 26 22:57 Sun 25 23:58 Sat 24 22:59 Fri 23 22:59 Thu 22 22:58 Wed 21 23:02 Tue 20 23:00 Mon 19 23:58 Sat 17 23:57 Fri 16 22:59 Thu 15 23:58 Wed 14 22:58 Tue 13 23:57 Sun 11 23:57 Sat 10 23:01 Fri 9 23:02 Thu 8 22:58 Wed 7 23:59 Tue 6 23:59 Mon 5 23:58 Sun 4 23:58 Sat 3 23:57 Fri 2 22:59 Thu 1 23:59
Details

211. **Receber prompt.** Claude recebe seu prompt, junto com o prompt do sistema, definições de ferramentas e histórico de conversa. O SDK produz uma [`SystemMessage`](#message-types) com subtipo `"init"` contendo metadados da sessão.211. **Receber prompt.** Claude recebe seu prompt, junto com o prompt do sistema, definições de ferramentas e histórico de conversa. O SDK produz uma [`SystemMessage`](#message-types) com subtipo `"init"` contendo metadados da sessão.

222. **Avaliar e responder.** Claude avalia o estado atual e determina como proceder. Pode responder com texto, solicitar uma ou mais chamadas de ferramentas, ou ambos. O SDK produz um ou mais objetos [`AssistantMessage`](#message-types), um para cada bloco de conteúdo, como um bloco de texto ou uma solicitação de chamada de ferramenta.222. **Avaliar e responder.** Claude avalia o estado atual e determina como proceder. Pode responder com texto, solicitar uma ou mais chamadas de ferramentas, ou ambos. O SDK produz um ou mais objetos [`AssistantMessage`](#message-types), um para cada bloco de conteúdo, como um bloco de texto ou uma solicitação de chamada de ferramenta.

233. **Executar ferramentas.** O SDK executa cada ferramenta solicitada e coleta os resultados. Cada conjunto de resultados de ferramentas retorna para Claude para a próxima decisão. Você pode usar [hooks](https://code.claude.com/docs/pt/agent-sdk/hooks.md) para interceptar, modificar ou bloquear chamadas de ferramentas antes de serem executadas.233. **Executar ferramentas.** O SDK executa cada ferramenta solicitada e coleta os resultados. Cada conjunto de resultados de ferramentas retorna para Claude para a próxima decisão. Você pode usar [hooks](https://code.claude.com/docs/pt/agent-sdk/hooks.md) para interceptar, modificar ou bloquear chamadas de ferramentas antes de serem executadas.

244. **Repetir.** Os passos 2 e 3 se repetem como um ciclo. Cada ciclo completo é uma volta. Claude continua chamando ferramentas e processando resultados até produzir uma resposta sem chamadas de ferramentas.244. **Repetir.** Os passos 2 e 3 se repetem como um ciclo. Claude continua chamando ferramentas e processando resultados até produzir uma resposta sem chamadas de ferramenta.

255. **Retornar resultado.** O SDK produz uma [`AssistantMessage`](#message-types) final com a resposta de texto (sem chamadas de ferramentas), seguida por uma [`ResultMessage`](#message-types) com o texto final, uso de tokens, custo e ID da sessão.255. **Retornar resultado.** O SDK produz uma [`AssistantMessage`](#message-types) final com a resposta de texto (sem chamadas de ferramentas), seguida por uma [`ResultMessage`](#message-types) com o texto final, uso de tokens, custo e ID da sessão.

26 26 

27Uma pergunta rápida ("quais arquivos estão aqui?") pode levar uma ou duas voltas chamando `Glob` e respondendo com os resultados. Uma tarefa complexa ("refatore o módulo de autenticação e atualize os testes") pode encadear dezenas de chamadas de ferramentas em muitas voltas, lendo arquivos, editando código e executando testes, com Claude ajustando sua abordagem com base em cada resultado.27Uma pergunta rápida como "quais arquivos estão aqui?" pode levar dois ou três [turnos](#turns-and-messages): um ou dois chamando `Glob` e, em seguida, um respondendo com os resultados. Uma tarefa complexa como "refatore o módulo de autenticação e atualize os testes" pode encadear dezenas de chamadas de ferramenta em muitos turnos, à medida que Claude se ajusta após cada resultado.

28 28 

29## Voltas e mensagens29## Voltas e mensagens

30 30 

31Uma volta é uma rodada dentro do loop: Claude produz saída que inclui chamadas de ferramentas, o SDK executa essas ferramentas e os resultados retornam para Claude automaticamente. Isso acontece sem ceder o controle de volta para seu código. As voltas continuam até que Claude produza saída sem chamadas de ferramentas, momento em que o loop termina e o resultado final é entregue.31Um turno é uma passagem pelo loop: Claude produz saída e, se ela incluir chamadas de ferramenta, o SDK as executa e os resultados retornam para Claude automaticamente. Isso acontece sem ceder o controle de volta para seu código. Os turnos continuam até que Claude produza saída sem chamadas de ferramenta, momento em que o loop termina e o resultado final é entregue.

32 32 

33Considere como uma sessão completa pode parecer para o prompt "Corrija os testes falhando em auth.ts".33Considere como uma sessão completa pode parecer para o prompt "Corrija os testes falhando em auth.ts".

34 34 

Details

1274| `updated_input` | `dict[str, Any] \| None` | `None` | Entrada modificada para usar em vez da original |1274| `updated_input` | `dict[str, Any] \| None` | `None` | Entrada modificada para usar em vez da original |

1275| `updated_permissions` | `list[PermissionUpdate] \| None` | `None` | Atualizações de permissão para aplicar |1275| `updated_permissions` | `list[PermissionUpdate] \| None` | `None` | Atualizações de permissão para aplicar |

1276 1276 

1277Se você retornar `PermissionResultAllow` com mais de 4.096 itens em `updated_permissions`, Claude Code trata o resultado como inválido e nega a chamada de ferramenta. Cada [`PermissionUpdate`](#permissionupdate) conta como um item, assim como cada entrada em sua lista `rules` ou `directories`. A mensagem de negação termina com `updatedPermissions may hold at most 4096 updates, rules and directories in all.` Para evitar a negação, retorne 4.096 itens ou menos.

1278 

1277### `PermissionResultDeny`1279### `PermissionResultDeny`

1278 1280 

1279Resultado indicando que a chamada de ferramenta deve ser negada.1281Resultado indicando que a chamada de ferramenta deve ser negada.

Details

1405 };1405 };

1406```1406```

1407 1407 

1408Se você retornar `allow` com mais de 4.096 itens em `updatedPermissions`, o Claude Code trata o resultado como inválido e nega a chamada de ferramenta. Cada atualização conta como um item, assim como cada entrada na sua lista `rules` ou `directories`. A mensagem de negação termina com `updatedPermissions may hold at most 4096 updates, rules and directories in all`. Para que a chamada seja permitida, retorne 4.096 itens ou menos.1408Se você retornar `allow` com mais de 4.096 itens em `updatedPermissions`, o Claude Code trata o resultado como inválido e nega a chamada de ferramenta. Cada atualização conta como um item, assim como cada entrada em sua lista `rules` ou `directories`. A mensagem de negação termina com `updatedPermissions may hold at most 4096 updates, rules and directories in all.` Para que a chamada seja permitida, retorne 4.096 itens ou menos.

1409 1409 

1410### `ToolConfig`1410### `ToolConfig`

1411 1411 


4706 humanSchedule: string;4706 humanSchedule: string;

4707 recurring: boolean;4707 recurring: boolean;

4708 durable?: boolean; // true quando persistido em .claude/scheduled_tasks.json; false quando apenas da sessão4708 durable?: boolean; // true quando persistido em .claude/scheduled_tasks.json; false quando apenas da sessão

4709 nextFireAt?: number;

4709};4710};

4710```4711```

4711 4712 

4712Retorna o ID do trabalho e uma descrição legível por humanos do cronograma.4713Retorna o ID do trabalho, uma descrição legível por humanos do cronograma e o próximo horário de execução. `nextFireAt` o fornece em milissegundos de época, com o [jitter](https://code.claude.com/docs/pt/scheduled-tasks.md#jitter) já aplicado, portanto é o momento em que o trabalho está definido para ser executado. O campo requer TypeScript Agent SDK v0.3.299 ou posterior e Claude Code v2.1.299 ou posterior.

4713 4714 

4714### CronDelete4715### CronDelete

4715 4716 


4736 prompt: string;4737 prompt: string;

4737 recurring?: boolean;4738 recurring?: boolean;

4738 durable?: boolean;4739 durable?: boolean;

4740 nextFireAt?: number;

4739 }[];4741 }[];

4740};4742};

4741```4743```

4742 4744 

4743Retorna os trabalhos cron agendados: trabalhos duráveis de `.claude/scheduled_tasks.json` e trabalhos apenas da sessão da sessão atual. Um trabalho apenas da sessão carrega `durable: false`; trabalhos lidos do disco omitem o campo.4745Retorna os trabalhos cron agendados: trabalhos duráveis de `.claude/scheduled_tasks.json` e trabalhos apenas da sessão da sessão atual. Um trabalho apenas da sessão carrega `durable: false`; trabalhos lidos do disco omitem o campo.

4744 4746 

4747`nextFireAt` é o próximo horário de execução do trabalho em milissegundos de época, com o [jitter](https://code.claude.com/docs/pt/scheduled-tasks.md#jitter) incluído. Nenhum valor é anterior à chamada `CronList`: um trabalho cujo horário [passou sem uma execução](https://code.claude.com/docs/pt/scheduled-tasks.md#how-scheduled-tasks-run) carrega o horário da chamada. O campo requer TypeScript Agent SDK v0.3.299 ou posterior e Claude Code v2.1.299 ou posterior.

4748 

4745### ScheduleWakeup4749### ScheduleWakeup

4746 4750 

4747**Nome da ferramenta:** `ScheduleWakeup`4751**Nome da ferramenta:** `ScheduleWakeup`


5046};5050};

5047```5051```

5048 5052 

5049## Outros Tipos5053## Outros tipos

5050 5054 

5051### `ApiKeySource`5055### `ApiKeySource`

5052 5056 

5053De onde a chave de API para as requisições da sessão veio, relatada como `apiKeySource` na mensagem init [`SDKSystemMessage`](#sdksystemmessage).5057De onde veio a chave de API das requisições da sessão, informada como `apiKeySource` na mensagem de inicialização [`SDKSystemMessage`](#sdksystemmessage).

5054 5058 

5055```typescript theme={null}5059```typescript theme={null}

5056type ApiKeySource =5060type ApiKeySource =


5065 | "oauth";5069 | "oauth";

5066```5070```

5067 5071 

5068Claude Code relata um de quatro valores:5072O Claude Code informa um de quatro valores:

5069 5073 

5070| Valor | Chave em uso |5074| Valor | Chave em uso |

5071| - | - |5075| - | - |

5072| `ANTHROPIC_API_KEY` | A chave na variável de ambiente `ANTHROPIC_API_KEY` |5076| `ANTHROPIC_API_KEY` | A chave na variável de ambiente `ANTHROPIC_API_KEY` |

5073| `apiKeyHelper` | A chave retornada pelo seu comando [`apiKeyHelper`](https://code.claude.com/docs/pt/settings-reference#apikeyhelper) |5077| `apiKeyHelper` | A chave retornada pelo seu comando [`apiKeyHelper`](https://code.claude.com/docs/pt/settings-reference#apikeyhelper) |

5074| `/login managed key` | A chave que Claude Code armazenou quando você fez login com uma [conta Claude Console](https://code.claude.com/docs/pt/authentication.md#claude-console-authentication) |5078| `/login managed key` | A chave que o Claude Code armazenou quando você fez login com uma [conta do Claude Console](https://code.claude.com/docs/pt/authentication.md#claude-console-authentication) |

5075| `none` | Nenhuma chave de API. A sessão se autentica de outra forma, como um login claude.ai, um token bearer ou um provedor de nuvem |5079| `none` | Nenhuma chave de API. A sessão se autentica de outra forma, como um login do claude.ai, um bearer token ou um provedor de nuvem |

5076 5080 

5077Agent SDK v0.3.234 e posterior listam esses quatro valores no tipo. O tipo também mantém `user`, `project`, `org`, `temporary` e `oauth` para que código mais antigo ainda compile, e Claude Code não os relata.5081O Agent SDK v0.3.234 e posteriores listam esses quatro valores no tipo. O tipo também mantém `user`, `project`, `org`, `temporary` e `oauth` para que código mais antigo continue compilando, e o Claude Code não os informa.

5078 5082 

5079### `SdkBeta`5083### `SdkBeta`

5080 5084 

5081Recursos beta disponíveis que podem ser ativados via opção `betas`. Veja [Beta headers](https://platform.claude.com/docs/en/api/beta-headers) para mais informações.5085Recursos beta disponíveis que podem ser ativados por meio da opção `betas`. Consulte [Beta headers](https://platform.claude.com/docs/en/api/beta-headers) para mais informações.

5082 5086 

5083```typescript theme={null}5087```typescript theme={null}

5084type SdkBeta = "context-1m-2025-08-07";5088type SdkBeta = "context-1m-2025-08-07";


5086 5090 

5087> [!WARNING]5091> [!WARNING]

5088>5092>

5089> Na Claude API, o beta `context-1m-2025-08-07` foi descontinuado para Claude Sonnet 4.5 e Claude Sonnet 4. Se você ainda o passar com qualquer um desses modelos, requisições que excedem a janela de contexto padrão de 200K tokens retornam um erro, então remova-o de `betas`. Para executar uma sessão com uma janela de contexto de 1M tokens, defina `model` como um modelo que [é executado com a janela de 1M por padrão](https://code.claude.com/docs/pt/model-config.md#extended-context), como `claude-sonnet-5-5` ou `claude-opus-5-5`. Para um modelo que alcança 1M apenas por meio de sua variante `[1m]`, acrescente o sufixo ao ID do modelo, como em `claude-opus-4-6[1m]`.5093> Na Claude API, o beta `context-1m-2025-08-07` foi retirado para o Claude Sonnet 4.5 e o Claude Sonnet 4. Se você ainda o passar com qualquer um desses modelos, requisições que excedam a janela de contexto padrão de 200K tokens retornam um erro, então remova-o de `betas`. Para executar uma sessão com uma janela de contexto de 1M tokens, defina `model` como um modelo que [é executado com a janela de 1M por padrão](https://code.claude.com/docs/pt/model-config.md#extended-context), como `claude-sonnet-5-5` ou `claude-opus-5-5`. Para um modelo que alcança 1M apenas por meio de sua variante `[1m]`, acrescente o sufixo ao ID do modelo, como em `claude-opus-4-6[1m]`.

5090 5094 

5091### `SlashCommand`5095### `SlashCommand`

5092 5096 


5102};5106};

5103```5107```

5104 5108 

5105`builtin` é `true` em uma linha quando o comando é próprio do Claude Code e digitar `/name` o executa. Está ausente para um comando definido por um usuário, projeto, plugin ou servidor MCP, e para um comando agrupado que um desses [substitui por nome](https://code.claude.com/docs/pt/skills.md#resolve-skills-that-share-a-name). Requer Agent SDK v0.3.277 ou posterior.5109`builtin` é `true` em uma linha quando o comando é do próprio Claude Code e digitar `/name` o executa. Ele está ausente para um comando definido por um usuário, projeto, plugin ou servidor MCP, e para um comando incluído que um desses [substitui pelo nome](https://code.claude.com/docs/pt/skills.md#resolve-skills-that-share-a-name). Requer Agent SDK v0.3.277 ou posterior.

5106 5110 

5107### `ModelInfo`5111### `ModelInfo`

5108 5112 


5124 5128 

5125| Campo | Tipo | Descrição |5129| Campo | Tipo | Descrição |

5126| :- | :- | :- |5130| :- | :- | :- |

5127| `value` | `string` | Identificador de modelo para passar em chamadas de API |5131| `value` | `string` | Identificador do modelo a ser passado em chamadas de API |

5128| `resolvedModel` | `string \| undefined` | O ID de modelo para o qual o `value` desta entrada resolve, como `claude-sonnet-5-5` para a entrada do alias `sonnet`. Requer Claude Code v2.1.197 ou posterior. |5132| `resolvedModel` | `string \| undefined` | O ID do modelo para o qual o `value` desta entrada é resolvido, como `claude-sonnet-5-5` para a entrada do alias `sonnet`. Requer Claude Code v2.1.197 ou posterior. |

5129| `displayName` | `string` | Nome de exibição legível para humanos |5133| `displayName` | `string` | Nome de exibição legível por humanos |

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

5131| `supportsEffort` | `boolean \| undefined` | Se este modelo suporta níveis de esforço |5135| `supportsEffort` | `boolean \| undefined` | Se este modelo oferece suporte a níveis de esforço |

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

5133| `supportsAdaptiveThinking` | `boolean \| undefined` | Se este modelo suporta pensamento adaptativo, onde Claude decide quando e quanto pensar |5137| `supportsAdaptiveThinking` | `boolean \| undefined` | Se este modelo oferece suporte a pensamento adaptativo, em que o Claude decide quando e quanto pensar |

5134| `supportsFastMode` | `boolean \| undefined` | Se este modelo suporta modo rápido |5138| `supportsFastMode` | `boolean \| undefined` | Se este modelo oferece suporte ao modo rápido |

5135| `supportsAutoMode` | `boolean \| undefined` | Se este modelo suporta modo auto |5139| `supportsAutoMode` | `boolean \| undefined` | Se este modelo oferece suporte ao modo auto |

5136 5140 

5137### `AgentInfo`5141### `AgentInfo`

5138 5142 

5139Informações sobre um subagente disponível que pode ser invocado via ferramenta Agent.5143Informações sobre um subagente disponível que pode ser invocado por meio da ferramenta Agent.

5140 5144 

5141```typescript theme={null}5145```typescript theme={null}

5142type AgentInfo = {5146type AgentInfo = {


5148 5152 

5149| Campo | Tipo | Descrição |5153| Campo | Tipo | Descrição |

5150| :- | :- | :- |5154| :- | :- | :- |

5151| `name` | `string` | Identificador de tipo de agente (por exemplo, `"Explore"`, `"general-purpose"`) |5155| `name` | `string` | Identificador do tipo de agente (por exemplo, `"Explore"`, `"general-purpose"`) |

5152| `description` | `string` | Descrição de quando usar este agente |5156| `description` | `string` | Descrição de quando usar este agente |

5153| `model` | `string \| undefined` | Modelo que este agente usa: um alias ou ID de modelo, ou `'inherit'` para o modelo do pai. Quando é `undefined`, Claude Code escolhe o modelo na [ordem de modelo de subagente](https://code.claude.com/docs/pt/sub-agents.md#choose-a-model) |5157| `model` | `string \| undefined` | Modelo que este agente usa: um alias ou ID de modelo, ou `'inherit'` para o modelo do pai. Quando é `undefined`, o Claude Code escolhe o modelo na [ordem de modelos de subagentes](https://code.claude.com/docs/pt/sub-agents.md#choose-a-model) |

5154 5158 

5155### `McpServerProvenance`5159### `McpServerProvenance`

5156 5160 

5157O servidor MCP que serve uma ferramenta `mcp__*`, e de onde a definição desse servidor veio. As entradas de hook [`PreToolUse`](#pretoolusehookinput), `PostToolUse`, `PostToolUseFailure`, `PermissionRequest` e `PermissionDenied` a carregam como `mcp_server`, e as opções [`CanUseTool`](#canusetool) a carregam como `mcpServer`. Ambas a omitem para ferramentas que não vêm de um servidor MCP.5161O servidor MCP que fornece uma ferramenta `mcp__*`, e de onde veio a definição desse servidor. As entradas dos hooks [`PreToolUse`](#pretoolusehookinput), `PostToolUse`, `PostToolUseFailure`, `PermissionRequest` e `PermissionDenied` o carregam como `mcp_server`, e as opções de [`CanUseTool`](#canusetool) o carregam como `mcpServer`. Ambos o omitem para ferramentas que não vêm de um servidor MCP.

5158 5162 

5159```typescript theme={null}5163```typescript theme={null}

5160type McpServerProvenance = {5164type McpServerProvenance = {


5165 5169 

5166| Campo | Tipo | Descrição |5170| Campo | Tipo | Descrição |

5167| :- | :- | :- |5171| :- | :- | :- |

5168| `name` | `string` | O nome sob o qual o servidor está registrado, o mesmo valor que [`mcpServerStatus()`](#query-object) relata para ele |5172| `name` | `string` | O nome sob o qual o servidor está registrado, o mesmo valor que [`mcpServerStatus()`](#query-object) informa para ele |

5169| `source` | `string` | De onde a definição do servidor veio: `sdk`, `plugin` ou um escopo de configuração |5173| `source` | `string` | De onde veio a definição do servidor: `sdk`, `plugin` ou um escopo de configuração |

5170 5174 

5171`source` assume um dos seguintes valores. O conjunto é aberto, então trate um valor que você não reconheça como uma fonte configurada, nunca como `sdk`:5175`source` assume um dos valores a seguir. O conjunto é aberto, então trate um valor que você não reconhece como uma origem configurada, nunca como `sdk`:

5172 5176 

5173* **`sdk`**: um servidor em processo que sua aplicação registrou. Apenas a aplicação host do SDK pode registrar um, então um servidor configurado nunca relata `sdk`, qualquer que seja seu nome.5177* **`sdk`**: um servidor em processo que sua aplicação registrou. Somente a aplicação host do SDK pode registrar um, então um servidor configurado nunca informa `sdk`, seja qual for o nome dele.

5174* **`plugin`**: um servidor que um [plugin](https://code.claude.com/docs/pt/agent-sdk/plugins.md) fornece. Seu `name` é a forma `plugin:<plugin-name>:<server-name>` com escopo descrita em [servidores MCP fornecidos por plugin](https://code.claude.com/docs/pt/mcp.md#plugin-provided-mcp-servers).5178* **`plugin`**: um servidor que um [plugin](https://code.claude.com/docs/pt/agent-sdk/plugins.md) fornece. Seu `name` é a forma com escopo `plugin:<plugin-name>:<server-name>` descrita em [servidores MCP fornecidos por plugins](https://code.claude.com/docs/pt/mcp.md#plugin-provided-mcp-servers).

5175* **Um escopo de configuração**: `user`, `project`, `local`, `dynamic`, `managed`, `enterprise`, `claudeai` ou `agent`. Um servidor `.mcp.json` relata `project`, e [escopos de instalação MCP](https://code.claude.com/docs/pt/mcp.md#mcp-installation-scopes) define `local`, `project` e `user`. Servidores que sua aplicação passa na opção [`mcpServers`](#options), outros que servidores SDK em processo, relatam `dynamic`.5179* **Um escopo de configuração**: `user`, `project`, `local`, `dynamic`, `managed`, `enterprise`, `claudeai` ou `agent`. Um servidor de `.mcp.json` informa `project`, e [escopos de instalação do MCP](https://code.claude.com/docs/pt/mcp.md#mcp-installation-scopes) define `local`, `project` e `user`. Servidores que sua aplicação passa na [opção `mcpServers`](#options), exceto servidores SDK em processo, informam `dynamic`.

5176 5180 

5177Baseie decisões de confiança em `source`, não em `name` ou no prefixo de nome de ferramenta `mcp__<server>__`. Para qualquer fonte que não seja `sdk`, `name` é texto não confiável: escape-o antes de exibir.5181Baseie as decisões de confiança em `source`, não em `name` nem no prefixo de nome de ferramenta `mcp__<server>__`. Para qualquer origem diferente de `sdk`, `name` é texto não confiável: faça o escape dele antes de exibi-lo.

5178 5182 

5179`McpServerProvenance` e os campos que a carregam requerem Agent SDK v0.3.274 ou posterior.5183`McpServerProvenance` e os campos que o carregam requerem Agent SDK v0.3.274 ou posterior.

5180 5184 

5181### `McpServerStatus`5185### `McpServerStatus`

5182 5186 


5207};5211};

5208```5212```

5209 5213 

5210Use `source` para decidir o quanto confiar em um servidor, e o `_meta` em cada entrada `tools` para encontrar um recurso de UI que o servidor anexou a essa ferramenta:5214Use `source` para decidir o quanto confiar em um servidor, e o `_meta` em cada entrada de `tools` para encontrar um recurso de UI que o servidor anexou a essa ferramenta:

5211 5215 

5212* **`source`**: de onde a definição do servidor veio, com os mesmos valores que `source` em [`McpServerProvenance`](#mcpserverprovenance). Baseie decisões de confiança em `source` em vez de em `name`, porque apenas seu próprio servidor em processo relata `sdk`, qualquer que seja o nome sob o qual qualquer outro servidor esteja registrado. Se você não reconhecer um valor de `source`, trate esse servidor como trata qualquer servidor cujo `source` não seja `sdk`. Requer Agent SDK v0.3.274 ou posterior5216* **`source`**: de onde veio a definição do servidor, com os mesmos valores de `source` em [`McpServerProvenance`](#mcpserverprovenance). Baseie as decisões de confiança em `source` em vez de `name`, porque somente o seu próprio servidor em processo informa `sdk`, seja qual for o nome sob o qual qualquer outro servidor esteja registrado. Se você não reconhecer um valor de `source`, trate esse servidor como trata qualquer servidor cujo `source` não seja `sdk`. Requer Agent SDK v0.3.274 ou posterior

5213* **`_meta`**: o objeto `ui` e a string `ui/resourceUri` do `_meta` que o servidor declarou para a ferramenta. Claude Code retém todas as outras chaves de `_meta`. `ui/resourceUri` é uma grafia de nível superior mais antiga de `ui.resourceUri`. Quando o servidor anexa um [recurso de UI do MCP Apps](https://code.claude.com/docs/pt/mcp.md#reference-mcp-resources) à ferramenta, `ui.resourceUri` ou `ui/resourceUri` contém o URI `ui://` do recurso. Busque esse URI com [`readMcpResource()`](#query-object) e renderize o recurso em sua aplicação. Requer Agent SDK v0.3.280 ou posterior5217* **`_meta`**: o objeto `ui` e a string `ui/resourceUri` do `_meta` que o servidor declarou para a ferramenta. O Claude Code não envia nenhuma outra chave de `_meta`. `ui/resourceUri` é uma grafia de nível superior mais antiga de `ui.resourceUri`. Quando o servidor anexa um [recurso de UI do MCP Apps](https://code.claude.com/docs/pt/mcp.md#reference-mcp-resources) à ferramenta, `ui.resourceUri` ou `ui/resourceUri` contém o URI `ui://` do recurso. Busque esse URI com [`readMcpResource()`](#query-object) e renderize o recurso na sua aplicação. Requer Agent SDK v0.3.280 ou posterior

5214 5218 

5215Claude Code envia `_meta` apenas quando o array [`capabilities`](#sdksystemmessage) da mensagem `system` com subtipo `init` lista `mcp_tool_ui_meta_v1`. Você não ativa `mcp_tool_ui_meta_v1` por conta própria.5219O Claude Code envia `_meta` somente quando o array [`capabilities`](#sdksystemmessage) da mensagem `system` com subtipo `init` lista `mcp_tool_ui_meta_v1`. Você não ativa `mcp_tool_ui_meta_v1` por conta própria.

5216 5220 

5217#### Quando o `_meta.ui` de uma ferramenta contém apenas `visibility`5221#### Quando o `_meta.ui` de uma ferramenta contém apenas `visibility`

5218 5222 

5219Se seu servidor declara `ui.resourceUri` para uma ferramenta, mas o `_meta.ui` que sua aplicação recebe contém apenas `visibility`, o objeto `ui` que o servidor enviou falhou em uma das verificações do Claude Code. Compare o `_meta` na resposta `tools/list` do seu servidor com as verificações de cada chave:5223Se o seu servidor declara `ui.resourceUri` para uma ferramenta, mas o `_meta.ui` que sua aplicação recebe contém apenas `visibility`, o objeto `ui` que o servidor enviou falhou em uma das verificações do Claude Code. Compare o `_meta` na resposta `tools/list` do seu servidor com as verificações de cada chave:

5220 5224 

5221* **`ui`**: chega à sua aplicação inalterado, incluindo quaisquer membros além de `resourceUri` e `visibility`, se todas as três verificações forem aprovadas:5225* **`ui`**: chega à sua aplicação inalterado, incluindo quaisquer membros além de `resourceUri` e `visibility`, se as três verificações forem aprovadas:

5222 5226 

5223 * `resourceUri` está ausente, ou é uma string que começa com `ui://`5227 * `resourceUri` está ausente, ou é uma string que começa com `ui://`

5224 * `visibility` está ausente, ou lista apenas `"model"` e `"app"`5228 * `visibility` está ausente, ou lista apenas `"model"` e `"app"`

5225 * O objeto inteiro tem no máximo 4.096 caracteres quando serializado como JSON5229 * O objeto inteiro tem no máximo 4.096 caracteres quando serializado como JSON

5226 5230 

5227 Se qualquer uma das verificações falhar, sua aplicação recebe no máximo um `ui` cujo único membro é um array `visibility` com as entradas `"model"` e `"app"` que o servidor listou.5231 Se qualquer uma das verificações falhar, sua aplicação recebe no máximo um `ui` cujo único membro é um array `visibility` com as entradas `"model"` e `"app"` que o servidor listou.

5228* **`ui/resourceUri`**: chega à sua aplicação se for uma string que começa com `ui://` e tem no máximo 4.096 caracteres. Caso contrário, Claude Code a descarta5232* **`ui/resourceUri`**: chega à sua aplicação se for uma string que começa com `ui://` e tem no máximo 4.096 caracteres. Caso contrário, o Claude Code a descarta

5229 5233 

5230Quando Claude Code fica sem nenhum membro `ui` e sem nenhuma string `ui/resourceUri` para enviar, a entrada `tools` não tem nenhum `_meta`.5234Quando o Claude Code fica sem nenhum membro `ui` e sem nenhuma string `ui/resourceUri` para enviar, a entrada de `tools` não tem `_meta` algum.

5231 5235 

5232### `McpServerStatusConfig`5236### `McpServerStatusConfig`

5233 5237 

5234A configuração de um servidor MCP conforme relatado por `mcpServerStatus()`. Esta é a união de todos os tipos de transporte de servidor MCP.5238A configuração de um servidor MCP conforme informada por `mcpServerStatus()`. Esta é a união de todos os tipos de transporte de servidor MCP.

5235 5239 

5236```typescript theme={null}5240```typescript theme={null}

5237type McpServerStatusConfig =5241type McpServerStatusConfig =


5242 | McpClaudeAIProxyServerConfig;5246 | McpClaudeAIProxyServerConfig;

5243```5247```

5244 5248 

5245Veja [`McpServerConfig`](#mcpserverconfig) para detalhes sobre cada tipo de transporte.5249Consulte [`McpServerConfig`](#mcpserverconfig) para detalhes sobre cada tipo de transporte.

5246 5250 

5247### `AccountInfo`5251### `AccountInfo`

5248 5252 

5249Informações de conta para o usuário autenticado.5253Informações da conta do usuário autenticado.

5250 5254 

5251```typescript theme={null}5255```typescript theme={null}

5252type AccountInfo = {5256type AccountInfo = {


5260 5264 

5261### `ModelUsage`5265### `ModelUsage`

5262 5266 

5263Estatísticas de uso por modelo retornadas em mensagens de resultado. O valor `costUSD` é uma estimativa do lado do cliente. Veja [Rastrear custo e uso](https://code.claude.com/docs/pt/agent-sdk/cost-tracking.md) para ressalvas de faturamento.5267Estatísticas de uso por modelo retornadas nas mensagens de resultado. O valor `costUSD` é uma estimativa do lado do cliente. Consulte [Rastrear custo e uso](https://code.claude.com/docs/pt/agent-sdk/cost-tracking.md) para ressalvas sobre faturamento.

5264 5268 

5265```typescript theme={null}5269```typescript theme={null}

5266type ModelUsage = {5270type ModelUsage = {


5279};5283};

5280```5284```

5281 5285 

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

5283 5287 

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

5285 5289 

5286`provider` nomeia o backend de API que serviu o modelo, como `firstParty`, `bedrock`, `vertex`, `foundry`, `anthropicAws`, `mantle` ou `gateway`.5290`provider` nomeia o backend de API que serviu o modelo, como `firstParty`, `bedrock`, `vertex`, `foundry`, `anthropicAws`, `mantle` ou `gateway`.

5287 5291 

5288`costBasis` nomeia a tabela de preço que precificou a requisição mais recente do modelo: `list` para preço de lista, `managed` para uma tabela [`modelPricing`](https://code.claude.com/docs/pt/settings-reference#modelpricing), ou `unknown` quando nenhuma correspondeu ao ID do modelo. O campo requer Claude Code v2.1.246 ou posterior.5292`costBasis` nomeia a tabela de preços que precificou a requisição mais recente do modelo: `list` para preço de lista, `managed` para uma tabela [`modelPricing`](https://code.claude.com/docs/pt/settings-reference#modelpricing), ou `unknown` quando nenhuma delas correspondeu ao ID do modelo. O campo requer Claude Code v2.1.246 ou posterior.

5289 5293 

5290### `ConfigScope`5294### `ConfigScope`

5291 5295 


5295 5299 

5296### `NonNullableUsage`5300### `NonNullableUsage`

5297 5301 

5298Uma versão de [`Usage`](#usage) com todos os campos anuláveis tornados não-anuláveis, exceto `fallback_credit`, que ainda pode ser `null`.5302Uma versão de [`Usage`](#usage) com todos os campos anuláveis tornados não anuláveis, exceto `fallback_credit`, que ainda pode ser `null`.

5299 5303 

5300```typescript theme={null}5304```typescript theme={null}

5301type NonNullableUsage = {5305type NonNullableUsage = {


5307 5311 

5308### `Usage`5312### `Usage`

5309 5313 

5310Estatísticas de uso de token. Este é o tipo `BetaUsage` de `@anthropic-ai/sdk`.5314Estatísticas de uso de tokens. Este é o tipo `BetaUsage` de `@anthropic-ai/sdk`.

5311 5315 

5312```typescript theme={null}5316```typescript theme={null}

5313type Usage = {5317type Usage = {


5331 5335 

5332`BetaServerToolUsage`, `BetaIterationsUsage`, `BetaOutputTokensDetails` e `BetaFallbackCreditUsage` são definidos em `@anthropic-ai/sdk`.5336`BetaServerToolUsage`, `BetaIterationsUsage`, `BetaOutputTokensDetails` e `BetaFallbackCreditUsage` são definidos em `@anthropic-ai/sdk`.

5333 5337 

5334`output_tokens_details` divide a saída faturada por categoria. Atualmente carrega um campo, `thinking_tokens: number`, contando os tokens de saída que o modelo gerou como raciocínio interno, incluindo os delimitadores de bloco de pensamento. O campo `output_tokens_details` requer TypeScript SDK v0.3.228 ou posterior, que agrupa Claude Code v2.1.228.5338`output_tokens_details` detalha a saída cobrada por categoria. Atualmente ele carrega um campo, `thinking_tokens: number`, que conta os tokens de saída que o modelo gerou como raciocínio interno, incluindo os delimitadores do bloco de pensamento. O campo `output_tokens_details` requer TypeScript SDK v0.3.228 ou posterior, que inclui o Claude Code v2.1.228.

5335 5339 

5336* **Faturamento**: leia a divisão para observabilidade, não para faturamento. `output_tokens` permanece o total autoritário, e `output_tokens - thinking_tokens` aproxima a saída não-raciocínio.5340* **Faturamento**: leia o detalhamento para observabilidade, não para faturamento. `output_tokens` continua sendo o total oficial, e `output_tokens - thinking_tokens` aproxima a saída que não é raciocínio.

5337* **O que a contagem cobre**: o raciocínio bruto que o modelo produziu, que pode ser mais longo do que o texto de pensamento retornado no corpo da resposta. A API o computa re-tokenizando esse texto bruto, então pode diferir da contagem exata de geração do modelo por alguns tokens.5341* **O que a contagem abrange**: o raciocínio bruto que o modelo produziu, que pode ser mais longo do que o texto de pensamento retornado no corpo da resposta. A API o calcula retokenizando esse texto bruto, então ele pode diferir da contagem exata de geração do modelo por alguns tokens.

5338* **Streaming**: em mensagens de assistente transmitidas, essa divisão, como `output_tokens`, é um placeholder `message_start` e não carrega contagem real, então leia-a da mensagem de resultado `usage` como [Ler tokens de saída da mensagem de resultado](https://code.claude.com/docs/pt/agent-sdk/cost-tracking.md#read-output-tokens-from-the-result-message) descreve. Na mensagem de resultado, `thinking_tokens` lê `0` quando o modelo ou provedor não relata divisão.5342* **Streaming**: em mensagens do assistente transmitidas por streaming, este detalhamento, assim como `output_tokens`, é um placeholder de `message_start` e não carrega uma contagem real, então leia-o do `usage` da mensagem de resultado, conforme descrito em [Ler tokens de saída da mensagem de resultado](https://code.claude.com/docs/pt/agent-sdk/cost-tracking.md#read-output-tokens-from-the-result-message). Na mensagem de resultado, `thinking_tokens` indica `0` quando o modelo ou provedor não informa nenhum detalhamento.

5339* **Casos `null`**: `output_tokens_details` em si é `null` em mensagens de assistente que Claude Code sintetiza, como mensagens de erro de API.5343* **Casos `null`**: o próprio `output_tokens_details` é `null` em mensagens do assistente que o Claude Code sintetiza, como mensagens de erro de API.

5340 5344 

5341Se `Usage` carrega `fallback_credit` depende do seu `@anthropic-ai/sdk` instalado, que o adicionou na versão 0.115.0.5345Se `Usage` carrega `fallback_credit` depende do `@anthropic-ai/sdk` instalado, que o adicionou na versão 0.115.0.

5342 5346 

5343### `CallToolResult`5347### `CallToolResult`

5344 5348 

5345Tipo de resultado de ferramenta MCP (de `@modelcontextprotocol/sdk/types.js`). `structuredContent` é um objeto JSON que pode ser retornado junto com `content`, incluindo blocos de imagem. Veja [Retornar dados estruturados](https://code.claude.com/docs/pt/agent-sdk/custom-tools.md#return-structured-data).5349Tipo de resultado de ferramenta MCP (de `@modelcontextprotocol/sdk/types.js`). `structuredContent` é um objeto JSON que pode ser retornado junto com `content`, incluindo blocos de imagem. Consulte [Retornar dados estruturados](https://code.claude.com/docs/pt/agent-sdk/custom-tools.md#return-structured-data).

5346 5350 

5347```typescript theme={null}5351```typescript theme={null}

5348type CallToolResult = {5352type CallToolResult = {

5349 content: Array<{5353 content: Array<{

5350 type: "text" | "image" | "audio" | "resource" | "resource_link";5354 type: "text" | "image" | "audio" | "resource" | "resource_link";

5351 // Campos adicionais variam por tipo5355 // Additional fields vary by type

5352 }>;5356 }>;

5353 structuredContent?: Record<string, unknown>;5357 structuredContent?: Record<string, unknown>;

5354 isError?: boolean;5358 isError?: boolean;


5357 5361 

5358### `SDKMcpResourceLink`5362### `SDKMcpResourceLink`

5359 5363 

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

5361 5365 

5362```typescript theme={null}5366```typescript theme={null}

5363type SDKMcpResourceLink = {5367type SDKMcpResourceLink = {


5371};5375};

5372```5376```

5373 5377 

5374Claude Code descarta um bloco cujo `uri` ou `name` não é uma string, e omite um campo opcional cujo valor não é do tipo listado.5378O Claude Code descarta um bloco cujo `uri` ou `name` não seja uma string, e omite um campo opcional cujo valor não seja do tipo listado.

5375 5379 

5376| Campo | Tipo | Descrição |5380| Campo | Tipo | Descrição |

5377| :- | :- | :- |5381| :- | :- | :- |


5381| `description` | `string \| undefined` | Descrição, quando o servidor definiu uma |5385| `description` | `string \| undefined` | Descrição, quando o servidor definiu uma |

5382| `mimeType` | `string \| undefined` | Tipo MIME, quando o servidor definiu um |5386| `mimeType` | `string \| undefined` | Tipo MIME, quando o servidor definiu um |

5383| `size` | `number \| undefined` | Tamanho em bytes, quando o servidor definiu um |5387| `size` | `number \| undefined` | Tamanho em bytes, quando o servidor definiu um |

5384| `annotations` | `Record<string, unknown> \| undefined` | Objeto de anotações MCP do bloco, quando o servidor definiu um |5388| `annotations` | `Record<string, unknown> \| undefined` | O objeto de anotações MCP do bloco, quando o servidor definiu um |

5385 5389 

5386### `ThinkingConfig`5390### `ThinkingConfig`

5387 5391 

5388Controla o comportamento de pensamento/raciocínio do Claude. Tem precedência sobre o `maxThinkingTokens` descontinuado.5392Controla o comportamento de pensamento/raciocínio do Claude. Tem precedência sobre o descontinuado `maxThinkingTokens`.

5389 5393 

5390```typescript theme={null}5394```typescript theme={null}

5391type ThinkingDisplay = "summarized" | "omitted";5395type ThinkingDisplay = "summarized" | "omitted";

5392 5396 

5393type ThinkingConfig =5397type ThinkingConfig =

5394 | { type: "adaptive"; display?: ThinkingDisplay } // O modelo determina quando e quanto raciocinar (Opus 4.6+)5398 | { type: "adaptive"; display?: ThinkingDisplay } // The model determines when and how much to reason (Opus 4.6+)

5395 | { type: "enabled"; budgetTokens?: number; display?: ThinkingDisplay } // Orçamento de token de pensamento fixo5399 | { type: "enabled"; budgetTokens?: number; display?: ThinkingDisplay } // Fixed thinking token budget

5396 | { type: "disabled" }; // Sem pensamento estendido5400 | { type: "disabled" }; // No extended thinking

5397```5401```

5398 5402 

5399O campo `display` opcional controla se o texto de pensamento é retornado `"summarized"` ou `"omitted"`. No Claude Opus 4.7 e posterior, o padrão da API é `"omitted"`, então defina `"summarized"` para receber conteúdo de pensamento em blocos `thinking`. Claude Code não repassa seu valor de `display` para alguns provedores, como Amazon Bedrock e Google Cloud's Agent Platform. Nesses provedores, Opus 4.7 e posterior retornam blocos `thinking` vazios mesmo quando você define `display` para `"summarized"`.5403O campo opcional `display` controla se o texto de pensamento é retornado como `"summarized"` ou `"omitted"`. No Claude Opus 4.7 e posteriores, o padrão da API é `"omitted"`, então defina `"summarized"` para receber conteúdo de pensamento em blocos `thinking`. O Claude Code não repassa seu valor de `display` para alguns provedores, como o Amazon Bedrock e o Agent Platform do Google Cloud. Nesses provedores, o Opus 4.7 e posteriores retornam blocos `thinking` vazios mesmo quando você define `display` como `"summarized"`.

5400 5404 

5401### `SpawnedProcess`5405### `SpawnedProcess`

5402 5406 

5403Interface para geração de processo personalizado (usada com opção `spawnClaudeCodeProcess`). `ChildProcess` já satisfaz esta interface.5407Interface para criação personalizada de processos (usada com a opção `spawnClaudeCodeProcess`). `ChildProcess` já satisfaz esta interface.

5404 5408 

5405```typescript theme={null}5409```typescript theme={null}

5406interface SpawnedProcess {5410interface SpawnedProcess {


5429 5433 

5430### `SpawnOptions`5434### `SpawnOptions`

5431 5435 

5432Opções passadas para a função de geração personalizada.5436Opções passadas para a função de spawn personalizada.

5433 5437 

5434```typescript theme={null}5438```typescript theme={null}

5435interface SpawnOptions {5439interface SpawnOptions {


5443 5447 

5444> [!NOTE]5448> [!NOTE]

5445>5449>

5446> O campo `signal` informa sua função de geração quando desativar o processo. Passe-o como a opção `signal` para `spawn()` do Node, ou passe-o para seu manipulador de desmontagem de VM ou contêiner.5450> O campo `signal` informa à sua função de spawn quando encerrar o processo. Passe-o como a opção `signal` para o `spawn()` do Node, ou passe-o para o handler de encerramento da sua VM ou contêiner.

5447>5451>

5448> Este sinal não dispara no instante em que [`Options.abortController`](#options) aborta. O SDK primeiro fecha o stdin do processo e aguarda cerca de dois segundos para que a CLI possa desligar corretamente, depois aborta este sinal. Para reagir no momento em que o chamador aborta, em vez disso, ouça seu próprio `Options.abortController.signal`, que sua função de geração pode referenciar de seu escopo envolvente.5452> Este sinal não é disparado no instante em que [`Options.abortController`](#options) é abortado. O SDK primeiro fecha o stdin do processo e espera cerca de dois segundos para que a CLI possa ser encerrada de forma limpa, e então aborta este sinal. Para reagir no momento em que o chamador aborta, escute o seu próprio `Options.abortController.signal`, que sua função de spawn pode referenciar a partir do escopo que a envolve.

5449 5453 

5450### `McpSetServersResult`5454### `McpSetServersResult`

5451 5455 


5459};5463};

5460```5464```

5461 5465 

5462Quando você chama `setMcpServers()`, Claude Code aplica estas regras:5466A promise de `setMcpServers()` é resolvida depois que os servidores stdio, HTTP e SSE recém-adicionados se conectam ou falham, então as ferramentas dos servidores que se conectaram ficam disponíveis no próximo turno.

5467 

5468Quando você chama `setMcpServers()`, o Claude Code aplica estas regras:

5469 

5470* **Servidores que a chamada não nomeia**: fora de uma [sessão na nuvem](https://code.claude.com/docs/pt/claude-code-on-the-web.md), o Claude Code desconecta os servidores que uma chamada anterior de `setMcpServers()` adicionou e os servidores SDK em processo, e os lista em `removed`. Outros servidores continuam em execução e não são listados em `removed`, entre eles os servidores stdio, HTTP e SSE da opção [`mcpServers`](#options), servidores de arquivos de configuração e servidores fornecidos por plugins.

5471* **Servidores stdio, HTTP e SSE que uma chamada anterior de `setMcpServers()` adicionou**: fora de uma sessão na nuvem, um servidor que você nomeia novamente com uma configuração idêntica mantém sua conexão e suas ferramentas. Ele não aparece nem em `added` nem em `removed`. Se você passar uma configuração alterada, o Claude Code reconecta o servidor usando essa configuração e o lista em `added`, não em `removed`.

5472* **Servidores stdio, HTTP e SSE que a chamada nomeia e que nenhuma chamada anterior adicionou**: fora de uma sessão na nuvem, o Claude Code adiciona o servidor e o lista em `added`, ou em `errors` se recusar o servidor.

5473* **Servidores SDK em processo que a chamada nomeia**: um servidor já registrado por meio de `mcpServers` ou de uma chamada anterior mantém sua instância em execução e seu timeout. Se você passar uma [lista de políticas `tools`](#mcpsdkserverconfigwithinstance) para ele, mesmo vazia, você substitui as políticas dele; caso contrário, elas permanecem. Para executar uma nova instância fora de uma sessão na nuvem, omita o servidor em uma chamada e nomeie-o na seguinte.

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

5475* **Servidores stdio, HTTP ou SSE que compartilham um nome com um de um escopo de instalação do MCP, como `.mcp.json`**: sob esse nome, a sessão usa as ferramentas do seu servidor em vez das do [servidor do escopo de instalação](https://code.claude.com/docs/pt/mcp.md#mcp-installation-scopes). Antes do Claude Code v2.1.305, o Claude Code podia desconectar o seu servidor e conectar o servidor do escopo de instalação quando sua aplicação [recarregava plugins](#query-object).

5463 5476 

5464* **Servidores que a chamada não nomeia**: fora de uma [sessão na nuvem](https://code.claude.com/docs/pt/claude-code-on-the-web.md), Claude Code desconecta os servidores que uma chamada anterior de `setMcpServers()` adicionou e os servidores SDK em processo, e os lista em `removed`. Outros servidores continuam em execução e não são listados em `removed`, entre eles os servidores stdio, HTTP e SSE da opção [`mcpServers`](#options), servidores de arquivos de configuração e servidores fornecidos por plugin.5477`added` lista os servidores que o Claude Code adicionou ou substituiu, tenham eles se conectado ou não. Um servidor que falhou ao se conectar aparece tanto em `added` quanto em `errors`, com o texto da falha em `errors` e uma linha `failed` em [`mcpServerStatus()`](#methods). Antes do Claude Code v2.1.257, um servidor cuja tentativa de conexão lançava uma exceção era informado apenas em `errors`.

5465* **Servidores stdio, HTTP e SSE que uma chamada anterior de `setMcpServers()` adicionou**: fora de uma sessão na nuvem, um servidor que você nomeia novamente com uma configuração idêntica mantém sua conexão e suas ferramentas. Ele não aparece nem em `added` nem em `removed`. Se você passar uma configuração alterada, Claude Code reconecta o servidor usando essa configuração e o lista em `added`, não em `removed`.

5466* **Servidores stdio, HTTP e SSE que a chamada nomeia e que nenhuma chamada anterior adicionou**: fora de uma sessão na nuvem, Claude Code adiciona o servidor e o lista em `added`, ou em `errors` se recusar o servidor.

5467* **Servidores SDK em processo que a chamada nomeia**: um servidor já registrado por meio de `mcpServers` ou de uma chamada anterior mantém sua instância em execução e seu timeout. Se você passar uma [lista de políticas `tools`](#mcpsdkserverconfigwithinstance) para ele, mesmo vazia, você substitui suas políticas; caso contrário, elas permanecem. Para executar uma nova instância fora de uma sessão na nuvem, omita o servidor de uma chamada e nomeie-o na seguinte.

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

5469* **Servidores stdio, HTTP ou SSE que compartilham um nome com um servidor de um escopo de instalação MCP, como `.mcp.json`**: sob esse nome, a sessão usa as ferramentas do seu servidor em vez das do [servidor do escopo de instalação](https://code.claude.com/docs/pt/mcp.md#mcp-installation-scopes). Antes do Claude Code v2.1.305, Claude Code podia desconectar seu servidor e conectar o servidor do escopo de instalação quando sua aplicação [recarregava plugins](#query-object).

5470 5478 

5471A promise é resolvida após novos servidores stdio, HTTP e SSE adicionados se conectarem ou falharem, então ferramentas de servidores que se conectaram estão disponíveis no próximo turno.5479Um valor em `errors` que começa com `Blocked by enterprise` significa que uma política recusou o servidor, não que a conexão falhou:

5472 5480 

5473`added` lista os servidores que Claude Code adicionou ou substituiu, independentemente de terem se conectado. Um servidor que falhou ao se conectar aparece em `added` e `errors`, com o texto de falha em `errors` e uma linha `failed` em [`mcpServerStatus()`](#methods). Antes de Claude Code v2.1.257, um servidor cuja tentativa de conexão lançou uma exceção era relatado apenas em `errors`.5481* `Blocked by enterprise policy (allowedMcpServers/deniedMcpServers)`: o servidor não está em `added`. Uma entrada de [`deniedMcpServers`](https://code.claude.com/docs/pt/managed-mcp#policy-based-control-with-allowlists-and-denylists) corresponde a ele, ou uma lista `allowedMcpServers` está definida e o omite. Se essa lista estiver em um arquivo de configuração que você carrega por meio de [`settingSources`](#options), edite o arquivo. Se estiver nas configurações gerenciadas, peça aos seus administradores que a alterem.

5482* `Blocked by enterprise managed policy`: o servidor está em `added`, com uma linha `failed` em `mcpServerStatus()`. Pergunte a um administrador qual política o bloqueia.

5474 5483 

5475### `RewindFilesResult`5484### `RewindFilesResult`

5476 5485 


5487};5496};

5488```5497```

5489 5498 

5490`skippedLinks` conta os caminhos rastreados que o rewind recusou restaurar ou deletar por segurança de link: um symlink, hard link ou outro arquivo não-regular no caminho rastreado, um diretório pai que não mais resolve para onde apontava quando o checkpoint foi tirado, ou um backup que não pôde ser lido com segurança. O campo requer Claude Code v2.1.216 ou posterior. Uma chamada de visualização com `rewindFiles(userMessageId, { dryRun: true })` nunca o define.5499`skippedLinks` conta os caminhos rastreados que o rewind se recusou a restaurar ou excluir por segurança de links: um link simbólico, hard link ou outro arquivo não regular no caminho rastreado, um diretório pai que não resolve mais para onde apontava quando o checkpoint foi criado, ou um backup que não pôde ser lido com segurança. O campo requer Claude Code v2.1.216 ou posterior. Uma chamada de pré-visualização com `rewindFiles(userMessageId, { dryRun: true })` nunca o define.

5491 5500 

5492### `SDKStatusMessage`5501### `SDKStatusMessage`

5493 5502 


5506 5515 

5507### `SDKTaskNotificationMessage`5516### `SDKTaskNotificationMessage`

5508 5517 

5509Notificação quando uma tarefa em segundo plano é concluída, falha ou é parada. Tarefas em segundo plano incluem comandos Bash `run_in_background`, watches [Monitor](#monitor) e subagentes em segundo plano. Para os campos `run_id` e `ambient`, veja [`SDKTaskStartedMessage`](#sdktaskstartedmessage), que os define e seus requisitos de versão.5518Notificação quando uma tarefa em segundo plano é concluída, falha ou é interrompida. Tarefas em segundo plano incluem comandos Bash com `run_in_background`, observações do [Monitor](#monitor) e subagentes em segundo plano. Para os campos `run_id` e `ambient`, consulte [`SDKTaskStartedMessage`](#sdktaskstartedmessage), que os define junto com seus requisitos de versão.

5510 5519 

5511```typescript theme={null}5520```typescript theme={null}

5512type SDKTaskNotificationMessage = {5521type SDKTaskNotificationMessage = {


5531};5540};

5532```5541```

5533 5542 

5534`reason` é definido quando uma tarefa termina por uma causa diferente de sua própria conclusão, falha ou parada, e requer Agent SDK v0.3.273 ou posterior. Claude Code o define apenas em sessões que se conectam por meio de claude.ai: sessões na nuvem, incluindo aquelas em runners auto-hospedados, e sessões de Remote Control. Uma chamada `query()` local nunca o define. Seu único valor, `worker_restart`, significa que o processo do Claude Code que estava executando a tarefa foi reiniciado. A notificação carrega o status `"stopped"`, então trate a tarefa como nem concluída nem com falha.5543`reason` é definido quando uma tarefa termina por um motivo diferente de sua própria conclusão, falha ou interrupção, e requer Agent SDK v0.3.273 ou posterior. O Claude Code o define apenas em sessões que se conectam por meio do claude.ai: sessões na nuvem, incluindo as executadas em runners auto-hospedados, e sessões de Remote Control. Uma chamada local de `query()` nunca o define. Seu único valor, `worker_restart`, significa que o processo do Claude Code que estava executando a tarefa foi reiniciado. A notificação carrega o status `"stopped"`, então trate a tarefa como nem concluída nem com falha.

5535 5544 

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

5537 5546 

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

5539 5548 

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

5541 5550 

5542### `SDKToolUseSummaryMessage`5551### `SDKToolUseSummaryMessage`

5543 5552 

5544Resumo do uso de ferramenta em uma conversa.5553Resumo do uso de ferramentas em uma conversa.

5545 5554 

5546```typescript theme={null}5555```typescript theme={null}

5547type SDKToolUseSummaryMessage = {5556type SDKToolUseSummaryMessage = {


5555 5564 

5556### `SDKHookStartedMessage`5565### `SDKHookStartedMessage`

5557 5566 

5558Emitido quando um hook começa a executar.5567Emitida quando um hook começa a ser executado.

5559 5568 

5560Claude Code entrega esta mensagem, [`SDKHookProgressMessage`](#sdkhookprogressmessage) e [`SDKHookResponseMessage`](#sdkhookresponsemessage) para o fluxo de mensagens imediatamente, incluindo enquanto um hook `SessionStart` ou `Setup` ainda está em execução durante a inicialização da sessão. Claude Code v2.1.169 através de v2.1.203 entregou estas mensagens em um lote após um hook `SessionStart` ou `Setup` ser concluído; v2.1.204 restaurou a entrega ao vivo.5569O Claude Code entrega esta mensagem, [`SDKHookProgressMessage`](#sdkhookprogressmessage) e [`SDKHookResponseMessage`](#sdkhookresponsemessage) ao fluxo de mensagens imediatamente, inclusive enquanto um hook `SessionStart` ou `Setup` ainda está em execução durante a inicialização da sessão. O Claude Code v2.1.169 a v2.1.203 entregava essas mensagens em um único lote depois que um hook `SessionStart` ou `Setup` era concluído; a v2.1.204 restaurou a entrega em tempo real.

5561 5570 

5562Se você iniciar a sessão com [`startup()`](#startup), essas mensagens chegam a você assim que você chamar `.query()` e iterar o resultado.5571Se você iniciar a sessão com [`startup()`](#startup), essas mensagens chegam até você quando você chama `.query()` e itera sobre o resultado.

5563 5572 

5564```typescript theme={null}5573```typescript theme={null}

5565type SDKHookStartedMessage = {5574type SDKHookStartedMessage = {


5575 5584 

5576### `SDKHookProgressMessage`5585### `SDKHookProgressMessage`

5577 5586 

5578Emitido enquanto um hook está em execução, com saída stdout/stderr.5587Emitida enquanto um hook está em execução, com a saída stdout/stderr.

5579 5588 

5580```typescript theme={null}5589```typescript theme={null}

5581type SDKHookProgressMessage = {5590type SDKHookProgressMessage = {


5594 5603 

5595### `SDKHookResponseMessage`5604### `SDKHookResponseMessage`

5596 5605 

5597Emitido quando um hook termina de executar.5606Emitida quando um hook termina de ser executado.

5598 5607 

5599```typescript theme={null}5608```typescript theme={null}

5600type SDKHookResponseMessage = {5609type SDKHookResponseMessage = {


5615 5624 

5616### `SDKToolProgressMessage`5625### `SDKToolProgressMessage`

5617 5626 

5618Emitido periodicamente enquanto uma ferramenta está sendo executada para indicar progresso.5627Emitida periodicamente enquanto uma ferramenta está em execução para indicar o progresso.

5619 5628 

5620```typescript theme={null}5629```typescript theme={null}

5621type SDKToolProgressMessage = {5630type SDKToolProgressMessage = {


5640};5649};

5641```5650```

5642 5651 

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

5644 5653 

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

5646 5655 

5647Para renderizar um indicador de nova tentativa de `subagent_retry`:5656Para renderizar um indicador de nova tentativa a partir de `subagent_retry`:

5648 5657 

5649* Rastreie o indicador por `parent_tool_use_id`, que é único por subagente. `tool_use_id` é compartilhado por subagentes paralelos de um turno de assistente, então rastrear por ele deixaria a atualização de um subagente limpar o indicador de outro.5658* Rastreie o indicador por `parent_tool_use_id`, que é único por subagente. `tool_use_id` é compartilhado por subagentes paralelos de um mesmo turno do assistente, então rastreá-lo faria com que a atualização de um subagente limpasse o indicador de outro.

5650* Limpe o indicador quando um `tool_progress` posterior para o mesmo `parent_tool_use_id` chegar sem `subagent_retry` nem `heartbeat: true`, ou quando a mensagem de resultado da ferramenta chegar. Frames com `heartbeat: true` relatam apenas vivacidade, então mantenha o indicador quando um chegar. `attempt` pode exceder `max_retries` sob retry persistente, então não derive limpeza dos contadores.5659* Limpe o indicador quando um `tool_progress` posterior para o mesmo `parent_tool_use_id` chegar sem `subagent_retry` e sem `heartbeat: true`, ou quando a mensagem de resultado da ferramenta chegar. Frames com `heartbeat: true` informam apenas que a execução continua ativa, então mantenha o indicador quando um deles chegar. `attempt` pode exceder `max_retries` em caso de retry persistente, então não baseie a limpeza nos contadores.

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

5652 5661 

5653### `SDKAuthStatusMessage`5662### `SDKAuthStatusMessage`

5654 5663 

5655Emitido durante fluxos de autenticação.5664Emitida durante fluxos de autenticação.

5656 5665 

5657```typescript theme={null}5666```typescript theme={null}

5658type SDKAuthStatusMessage = {5667type SDKAuthStatusMessage = {


5667 5676 

5668### `SDKTaskStartedMessage`5677### `SDKTaskStartedMessage`

5669 5678 

5670Emitido quando uma tarefa começa. O campo `task_type` é `"local_bash"` para comandos Bash e watches [Monitor](#monitor), `"local_agent"` para subagentes, ou `"remote_agent"`.5679Emitida quando uma tarefa começa. O campo `task_type` é `"local_bash"` para comandos Bash e observações do [Monitor](#monitor), `"local_agent"` para subagentes, ou `"remote_agent"`.

5671 5680 

5672```typescript theme={null}5681```typescript theme={null}

5673type SDKTaskStartedMessage = {5682type SDKTaskStartedMessage = {


5687};5696};

5688```5697```

5689 5698 

5690`run_id` identifica uma execução da tarefa. Quando uma tarefa é executada novamente sob o mesmo `task_id`, como um [subagente que Claude retoma](https://code.claude.com/docs/pt/agent-sdk/subagents.md#resume-subagents), a nova execução recebe um novo `run_id`. O campo requer Agent SDK v0.3.292 ou posterior. Use-o para manter separadas as execuções de uma tarefa:5699`run_id` identifica uma execução da tarefa. Quando uma tarefa é executada novamente sob o mesmo `task_id`, como um [subagente que o Claude retoma](https://code.claude.com/docs/pt/agent-sdk/subagents.md#resume-subagents), a nova execução recebe um novo `run_id`. O campo requer Agent SDK v0.3.292 ou posterior. Use-o para distinguir as execuções de uma mesma tarefa:

5691 5700 

5692* **Associar mensagens a uma execução**: as mensagens `task_started`, [`task_progress`](#sdktaskprogressmessage), [`task_updated`](#sdktaskupdatedmessage) e [`task_notification`](#sdktasknotificationmessage) de uma execução carregam o mesmo `run_id`. A entrada da execução em cada [`SDKBackgroundTasksChangedMessage`](#sdkbackgroundtaskschangedmessage) também o carrega, assim como o [`runId`](#task-notification-subkinds) na origem da mensagem de usuário que entrega a notificação da execução.5701* **Associar mensagens a uma execução**: as mensagens `task_started`, [`task_progress`](#sdktaskprogressmessage), [`task_updated`](#sdktaskupdatedmessage) e [`task_notification`](#sdktasknotificationmessage) de uma execução carregam o mesmo `run_id`. A entrada da execução em cada [`SDKBackgroundTasksChangedMessage`](#sdkbackgroundtaskschangedmessage) também o carrega, assim como o [`runId`](#task-notification-subkinds) na origem da mensagem de usuário que entrega a notificação da execução.

5693* **Detectar uma mensagem atrasada**: comparados como strings simples, os IDs de execução de uma tarefa são ordenados na ordem em que as execuções começaram, então uma mensagem cujo `run_id` fica antes da execução que você está exibindo vem de uma execução anterior. Trate o valor como opaco, exceto por essa comparação.5702* **Detectar uma mensagem atrasada**: comparados como strings simples, os IDs de execução de uma tarefa são ordenados na ordem em que as execuções começaram, então uma mensagem cujo `run_id` fica antes da execução que você está exibindo vem de uma execução anterior. Trate o valor como opaco, exceto por essa comparação.

5694* **Recorrer a `task_id`**: quando uma mensagem não carrega `run_id`, como a `task_notification` que uma sessão retomada emite para encerrar uma tarefa que o processo anterior iniciou, atribua-a por `task_id`.5703* **Recorrer a `task_id`**: quando uma mensagem não carrega `run_id`, como a `task_notification` que uma sessão retomada emite para encerrar uma tarefa que o processo anterior iniciou, atribua-a por `task_id`.

5695 5704 

5696Por exemplo, estas três mensagens, reduzidas aos seus campos de identificação, vêm de um subagente em segundo plano que Claude retomou uma vez. As duas mensagens `task_started` compartilham um `task_id`, e a notificação que encerrou a primeira execução carrega o ID da primeira execução:5705Por exemplo, estas três mensagens, reduzidas aos seus campos de identificação, vêm de um subagente em segundo plano que o Claude retomou uma vez. As duas mensagens `task_started` compartilham um `task_id`, e a notificação que encerrou a primeira execução carrega o ID da primeira execução:

5697 5706 

5698```json theme={null}5707```json theme={null}

5699{"subtype": "task_started", "task_id": "a5c2e8f41b09d7a36", "run_id": "0mubbs7i8-6f0c2d41"}5708{"subtype": "task_started", "task_id": "a5c2e8f41b09d7a36", "run_id": "0mubbs7i8-6f0c2d41"}


5701{"subtype": "task_started", "task_id": "a5c2e8f41b09d7a36", "run_id": "0mubc18m1-b7719e05"}5710{"subtype": "task_started", "task_id": "a5c2e8f41b09d7a36", "run_id": "0mubc18m1-b7719e05"}

5702```5711```

5703 5712 

5704`ambient` é `true` para tarefas que não fazem parte do trabalho da sessão, como tarefas que Claude Code executa para sua própria operação. Watchers de atualização ao vivo também são ambient, incluindo watchers que o usuário pediu. Exclua tarefas ambient de indicadores de atividade. O campo requer Agent SDK v0.3.247 ou posterior.5713`ambient` é `true` para tarefas que não fazem parte do trabalho da sessão, como tarefas que o Claude Code executa para o seu próprio funcionamento. Observadores de atualização em tempo real também são ambientes, incluindo observadores que o usuário solicitou. Exclua tarefas ambientes dos indicadores de atividade. O campo requer Agent SDK v0.3.247 ou posterior.

5705 5714 

5706`ambient` também aparece em [`SDKTaskNotificationMessage`](#sdktasknotificationmessage) e em entradas [`SDKBackgroundTasksChangedMessage`](#sdkbackgroundtaskschangedmessage).5715`ambient` também aparece em [`SDKTaskNotificationMessage`](#sdktasknotificationmessage) e nas entradas de [`SDKBackgroundTasksChangedMessage`](#sdkbackgroundtaskschangedmessage).

5707 5716 

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

5709 5718 

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

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

5712 5721 

5713Um [subagente retomado](https://code.claude.com/docs/pt/agent-sdk/subagents.md#resume-subagents) sempre relata `is_backgrounded: true`, porque Claude Code executa cada subagente retomado em segundo plano. Quando uma tarefa em primeiro plano se move para segundo plano depois, Claude Code relata o novo valor `is_backgrounded` em uma mensagem [`task_updated`](#sdktaskupdatedmessage) em vez de enviar um segundo `task_started`.5722Um [subagente retomado](https://code.claude.com/docs/pt/agent-sdk/subagents.md#resume-subagents) sempre informa `is_backgrounded: true`, porque o Claude Code executa todo subagente retomado em segundo plano. Quando uma tarefa em primeiro plano é movida para segundo plano mais tarde, o Claude Code informa o novo valor de `is_backgrounded` em uma mensagem [`task_updated`](#sdktaskupdatedmessage) em vez de enviar um segundo `task_started`.

5714 5723 

5715`parent_task_id` contém o `task_id` do subagente que iniciou esta tarefa. Use-o para agrupar cada tarefa sob o subagente que a iniciou. Claude Code o define em tarefas de subagente, Bash e [Monitor](#monitor). O campo requer Agent SDK v0.3.292 ou posterior. Ele está ausente quando:5724`parent_task_id` contém o `task_id` do subagente que iniciou esta tarefa. Use-o para agrupar cada tarefa sob o subagente que a iniciou. O Claude Code o define em tarefas de subagente, Bash e [Monitor](#monitor). O campo requer Agent SDK v0.3.292 ou posterior. Ele fica ausente quando:

5716 5725 

5717* A thread principal iniciou a tarefa5726* A thread principal iniciou a tarefa

5718* Claude Code não rastreia mais a tarefa pai5727* O Claude Code não rastreia mais a tarefa pai

5719* Um [colega de equipe](https://code.claude.com/docs/pt/agent-teams.md) ou um agente dentro de um fluxo de trabalho iniciou a tarefa5728* Um [colega de equipe](https://code.claude.com/docs/pt/agent-teams.md) ou um agente dentro de um fluxo de trabalho iniciou a tarefa

5720 5729 

5721O pai pode ser uma tarefa em primeiro plano ou uma que já terminou, então trate um ID que você não reconheça como ausência de pai.5730O pai pode ser uma tarefa em primeiro plano ou uma que já terminou, então trate um ID que você não reconhece como ausência de pai.

5722 5731 

5723### `SDKTaskProgressMessage`5732### `SDKTaskProgressMessage`

5724 5733 

5725Emitido periodicamente enquanto um subagente ou tarefa em segundo plano está em execução. Para o campo `run_id`, veja [`SDKTaskStartedMessage`](#sdktaskstartedmessage), que o define e seu requisito de versão.5734Emitida periodicamente enquanto um subagente ou uma tarefa em segundo plano está em execução. Para o campo `run_id`, consulte [`SDKTaskStartedMessage`](#sdktaskstartedmessage), que o define junto com seu requisito de versão.

5726 5735 

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

5728 5737 

5729```typescript theme={null}5738```typescript theme={null}

5730type SDKTaskProgressMessage = {5739type SDKTaskProgressMessage = {


5749 5758 

5750### `SDKTaskUpdatedMessage`5759### `SDKTaskUpdatedMessage`

5751 5760 

5752Emitido quando o estado de uma tarefa em segundo plano muda, como quando ela faz a transição de `running` para `completed`. Mescle `patch` em seu mapa de tarefas local com chave `task_id`. O campo `end_time` é um timestamp de época Unix em milissegundos, comparável com `Date.now()`. Para o campo `run_id`, veja [`SDKTaskStartedMessage`](#sdktaskstartedmessage), que o define e seu requisito de versão.5761Emitida quando o estado de uma tarefa em segundo plano muda, como quando ela passa de `running` para `completed`. Mescle `patch` no seu mapa local de tarefas indexado por `task_id`. O campo `end_time` é um timestamp de época Unix em milissegundos, comparável com `Date.now()`. Para o campo `run_id`, consulte [`SDKTaskStartedMessage`](#sdktaskstartedmessage), que o define junto com seu requisito de versão.

5753 5762 

5754```typescript theme={null}5763```typescript theme={null}

5755type SDKTaskUpdatedMessage = {5764type SDKTaskUpdatedMessage = {


5772 5781 

5773### `SDKBackgroundTasksChangedMessage`5782### `SDKBackgroundTasksChangedMessage`

5774 5783 

5775Emitido sempre que o conjunto de tarefas em segundo plano ativas muda: uma tarefa inicia, é concluída ou é eliminada; um agente em primeiro plano é colocado em segundo plano; ou o campo `description`, `ambient` ou `parent_task_id` de uma tarefa muda. Para os campos `run_id` e `parent_task_id` em cada entrada, veja [`SDKTaskStartedMessage`](#sdktaskstartedmessage), que os define e seus requisitos de versão.5784Emitida sempre que o conjunto de tarefas em segundo plano ativas muda: uma tarefa começa, é concluída ou é encerrada; um agente em primeiro plano é movido para segundo plano; ou o campo `description`, `ambient` ou `parent_task_id` de uma tarefa muda. Para os campos `run_id` e `parent_task_id` em cada entrada, consulte [`SDKTaskStartedMessage`](#sdktaskstartedmessage), que os define junto com seus requisitos de versão.

5776 5785 

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

5778 5787 

5779Quando uma tarefa termina, seus [`task_updated`](#sdktaskupdatedmessage) e [`task_notification`](#sdktasknotificationmessage) chegam antes do `background_tasks_changed` que a remove da lista. Fora isso, a ordenação relativa aos eventos por tarefa é não especificada.5788Quando uma tarefa termina, seus [`task_updated`](#sdktaskupdatedmessage) e [`task_notification`](#sdktasknotificationmessage) chegam antes do `background_tasks_changed` que a remove da lista. Fora isso, a ordem em relação aos eventos por tarefa não é especificada.

5780 5789 

5781Nada é emitido na inicialização. Redefina para um conjunto vazio sempre que o processo CLI da sessão inicia ou reinicia e deixe a próxima mudança de associação repopulá-lo.5790Nada é emitido na inicialização. Redefina para um conjunto vazio sempre que o processo da CLI da sessão iniciar ou reiniciar, e deixe a próxima mudança de composição preenchê-lo novamente.

5782 5791 

5783Quando você envia uma requisição de controle `initialize` repetida para uma sessão em execução, como com [`reinitialize()`](#query-object) após uma lacuna de transporte, Claude Code segue a resposta com um snapshot do conjunto ativo atual, mesmo quando está vazio. Um host reconectando portanto aprende o que está em execução sem esperar pela próxima mudança de associação. Antes de Agent SDK v0.3.239, Claude Code não enviava snapshot após um `initialize` repetido.5792Quando você envia uma requisição de controle `initialize` repetida a uma sessão em execução, como com [`reinitialize()`](#query-object) após uma interrupção do transporte, o Claude Code envia após a resposta um snapshot do conjunto ativo atual, mesmo quando ele está vazio. Assim, um host que se reconecta descobre o que está em execução sem esperar pela próxima mudança de composição. Antes do Agent SDK v0.3.239, o Claude Code não enviava nenhum snapshot após um `initialize` repetido.

5784 5793 

5785Requer Claude Code v2.1.203 ou posterior.5794Requer Claude Code v2.1.203 ou posterior.

5786 5795 


5806 5815 

5807### `SDKThinkingTokensMessage`5816### `SDKThinkingTokensMessage`

5808 5817 

5809Emitido enquanto Claude está produzindo um bloco de pensamento, incluindo um redatado. `estimated_tokens` é uma estimativa em execução dos tokens de pensamento gerados até agora no bloco atual, e `estimated_tokens_delta` é o incremento carregado por este frame. Use essas estimativas para exibição de progresso.5818Emitida enquanto o Claude está produzindo um bloco de pensamento, incluindo um bloco redigido. `estimated_tokens` é uma estimativa acumulada dos tokens de pensamento gerados até o momento no bloco atual, e `estimated_tokens_delta` é o incremento carregado por este frame. Use essas estimativas para exibir o progresso.

5810 5819 

5811Quando o modelo ou provedor relata uma divisão, a contagem final para o loop de agente de nível superior é [`usage.output_tokens_details.thinking_tokens`](#usage) da mensagem de resultado, que [não inclui tokens de subagente](https://code.claude.com/docs/pt/agent-sdk/cost-tracking.md#get-the-total-cost-of-a-query).5820Quando o modelo ou provedor informa um detalhamento, a contagem final para o loop do agente de nível superior é o [`usage.output_tokens_details.thinking_tokens`](#usage) da mensagem de resultado, que [não inclui tokens de subagentes](https://code.claude.com/docs/pt/agent-sdk/cost-tracking.md#get-the-total-cost-of-a-query).

5812 5821 

5813Requer Claude Code v2.1.153 ou posterior.5822Requer Claude Code v2.1.153 ou posterior.

5814 5823 


5826 5835 

5827### `SDKSessionStateChangedMessage`5836### `SDKSessionStateChangedMessage`

5828 5837 

5829Emitido quando Claude Code relata o estado da sessão. Para receber essas mensagens, defina [`CLAUDE_CODE_EMIT_SESSION_STATE_EVENTS=1`](https://code.claude.com/docs/pt/env-vars#variables). Claude Code pode relatar o mesmo estado mais de uma vez, então leia uma mensagem como o estado atual da sessão em vez de como uma transição.5838Emitida quando o Claude Code informa o estado da sessão. Para receber essas mensagens, defina [`CLAUDE_CODE_EMIT_SESSION_STATE_EVENTS=1`](https://code.claude.com/docs/pt/env-vars#variables). O Claude Code pode informar o mesmo estado mais de uma vez, então leia uma mensagem como o estado atual da sessão, e não como uma transição.

5830 5839 

5831O campo `state` carrega um destes valores:5840O campo `state` carrega um destes valores:

5832 5841 

5833* `running`: a sessão está trabalhando.5842* `running`: a sessão está trabalhando.

5834* `idle`: Claude Code está aguardando seu próximo prompt.5843* `idle`: o Claude Code está aguardando o seu próximo prompt.

5835* `requires_action`: a sessão está bloqueada aguardando uma resposta a uma requisição que enviou ao seu host, como um prompt de permissão.5844* `requires_action`: a sessão está bloqueada aguardando a resposta a uma requisição que enviou ao seu host, como um prompt de permissão.

5836 5845 

5837A mensagem `idle` de um turno e sua mensagem `result` podem chegar em qualquer ordem. Para alterar se `idle` aguarda trabalho em segundo plano, como um subagente em segundo plano ou uma execução de [workflow](https://code.claude.com/docs/pt/workflows.md), veja [`CLAUDE_CODE_BG_TASKS_REPORT_RUNNING`](https://code.claude.com/docs/pt/env-vars#variables).5846A mensagem `idle` de um turno e sua mensagem `result` podem chegar em qualquer ordem. Para alterar se `idle` aguarda trabalho em segundo plano, como um subagente em segundo plano ou uma execução de [workflow](https://code.claude.com/docs/pt/workflows.md), consulte [`CLAUDE_CODE_BG_TASKS_REPORT_RUNNING`](https://code.claude.com/docs/pt/env-vars#variables).

5838 5847 

5839```typescript theme={null}5848```typescript theme={null}

5840type SDKSessionStateChangedMessage = {5849type SDKSessionStateChangedMessage = {


5848 5857 

5849### `SDKFilesPersistedEvent`5858### `SDKFilesPersistedEvent`

5850 5859 

5851Emitido quando checkpoints de arquivo são persistidos em disco.5860Emitido quando os checkpoints de arquivos são persistidos em disco.

5852 5861 

5853```typescript theme={null}5862```typescript theme={null}

5854type SDKFilesPersistedEvent = {5863type SDKFilesPersistedEvent = {


5882};5891};

5883```5892```

5884 5893 

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

5886 5895 

5887### `SDKLocalCommandOutputMessage`5896### `SDKLocalCommandOutputMessage`

5888 5897 

5889Claude Code não emite este tipo de mensagem. Quando você envia um comando como `/context` ou `/usage` como um prompt, sua saída chega como um [`SDKAssistantMessage`](#sdkassistantmessage).5898O Claude Code não emite este tipo de mensagem. Quando você envia um comando como `/context` ou `/usage` como prompt, a saída dele chega como uma [`SDKAssistantMessage`](#sdkassistantmessage).

5890 5899 

5891```typescript theme={null}5900```typescript theme={null}

5892type SDKLocalCommandOutputMessage = {5901type SDKLocalCommandOutputMessage = {


5900 5909 

5901### `SDKCommandsChangedMessage`5910### `SDKCommandsChangedMessage`

5902 5911 

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

5904 5913 

5905Claude Code também emite esta mensagem quando [prompts](https://code.claude.com/docs/pt/mcp.md#use-mcp-prompts-as-commands) de um servidor MCP entram ou saem da lista, por exemplo quando um servidor termina de se conectar após a sessão iniciar. Isso requer Claude Code v2.1.281 ou posterior.5914O Claude Code também emite esta mensagem quando os [prompts](https://code.claude.com/docs/pt/mcp.md#use-mcp-prompts-as-commands) de um servidor MCP entram na lista ou saem dela, por exemplo quando um servidor termina de se conectar depois que a sessão começa. Isso requer Claude Code v2.1.281 ou posterior.

5906 5915 

5907```typescript theme={null}5916```typescript theme={null}

5908type SDKCommandsChangedMessage = {5917type SDKCommandsChangedMessage = {


5916 5925 

5917### `SDKPromptSuggestionMessage`5926### `SDKPromptSuggestionMessage`

5918 5927 

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

5920 5929 

5921```typescript theme={null}5930```typescript theme={null}

5922type SDKPromptSuggestionMessage = {5931type SDKPromptSuggestionMessage = {


5929 5938 

5930### `SDKConversationResetMessage`5939### `SDKConversationResetMessage`

5931 5940 

5932Emitido quando a conversa da sessão é substituída sem encerrar a sessão. Em uma chamada `query()`, apenas `/clear` e seus aliases produzem esta mensagem. Monte uma transcrição vazia sob `new_conversation_id` e descarte qualquer título de sessão em cache.5941Emitida quando a conversa da sessão é substituída sem encerrar a sessão. Em uma chamada de `query()`, somente `/clear` e seus aliases produzem esta mensagem. Monte uma transcrição vazia sob `new_conversation_id` e descarte qualquer título de sessão em cache.

5933 5942 

5934```typescript theme={null}5943```typescript theme={null}

5935type SDKConversationResetMessage = {5944type SDKConversationResetMessage = {


5943};5952};

5944```5953```

5945 5954 

5946Os campos opcionais descrevem o reset:5955Os campos opcionais descrevem a redefinição:

5947 5956 

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

5949* `user_message_uuid`: o `uuid` da mensagem de usuário que carregava o `/clear`. Use-o para corresponder o reset a essa mensagem.5958* `user_message_uuid`: o `uuid` da mensagem do usuário que carregou o `/clear`. Use-o para associar a redefinição a essa mensagem.

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

5951 5960 

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

5953 5962 

5954As tipagens publicadas do SDK declaram `SDKConversationResetMessage` no Claude Code v2.1.203 e posterior. Antes de v2.1.203, `SDKMessage` referenciava o tipo sem declará-lo, então o estreitamento em `type === "conversation_reset"` falhou ao verificar o tipo quando `skipLibCheck` estava desativado.5963As tipagens publicadas do SDK declaram `SDKConversationResetMessage` no Claude Code v2.1.203 e posteriores. Antes da v2.1.203, `SDKMessage` referenciava o tipo sem declará-lo, então o estreitamento em `type === "conversation_reset"` falhava na verificação de tipos quando `skipLibCheck` estava desativado.

5955 5964 

5956### `BUILTIN_TOOL_NAMES` e `LEGACY_TOOL_NAME_ALIASES`5965### `BUILTIN_TOOL_NAMES` e `LEGACY_TOOL_NAME_ALIASES`

5957 5966 

5958Use estas duas constantes para verificar nomes de ferramentas que os usuários da sua aplicação digitam. Ambas escrevem cada nome da forma como você o escreve em regras de permissão, matchers de hook e nas opções `tools` e `disallowedTools`. Importe-as de `@anthropic-ai/claude-agent-sdk` ou de `@anthropic-ai/claude-agent-sdk/core`. Elas requerem Agent SDK v0.3.301 ou posterior e estão em alfa.5967Use estas duas constantes para verificar nomes de ferramentas que os usuários da sua aplicação digitam. Ambas grafam cada nome da forma como você o escreve em regras de permissão, matchers de hooks e nas opções `tools` e `disallowedTools`. Importe-as de `@anthropic-ai/claude-agent-sdk` ou de `@anthropic-ai/claude-agent-sdk/core`. Elas requerem Agent SDK v0.3.301 ou posterior e estão em alfa.

5959 5968 

5960As declarações de tipo do SDK dão a `BUILTIN_TOOL_NAMES` um tipo de tupla readonly e a `LEGACY_TOOL_NAME_ALIASES` um tipo de registro de string para string:5969As declarações de tipo do SDK dão a `BUILTIN_TOOL_NAMES` um tipo de tupla somente leitura e a `LEGACY_TOOL_NAME_ALIASES` um tipo de registro de string para string:

5961 5970 

5962```typescript theme={null}5971```typescript theme={null}

5963const BUILTIN_TOOL_NAMES: readonly ["Agent", /* ...more names... */ "Write"];5972const BUILTIN_TOOL_NAMES: readonly ["Agent", /* ...more names... */ "Write"];


5965```5974```

5966 5975 

5967* **`BUILTIN_TOOL_NAMES`**: nomes das ferramentas integradas do Claude Code em ordem alfabética, como `Agent`, `Bash` e `Read`. Nomes de ferramentas MCP não estão incluídos. Como o tipo é uma tupla de literais de string, `(typeof BUILTIN_TOOL_NAMES)[number]` fornece um tipo união dos nomes5976* **`BUILTIN_TOOL_NAMES`**: nomes das ferramentas integradas do Claude Code em ordem alfabética, como `Agent`, `Bash` e `Read`. Nomes de ferramentas MCP não estão incluídos. Como o tipo é uma tupla de literais de string, `(typeof BUILTIN_TOOL_NAMES)[number]` fornece um tipo união dos nomes

5968* **`LEGACY_TOOL_NAME_ALIASES`**: nomes de ferramentas anteriores que regras de permissão, matchers de hook e as opções `tools` e `disallowedTools` ainda aceitam. Cada chave é um nome anterior e seu valor é o atual: por exemplo, `Task` mapeia para `Agent`, e `KillShell` e `KillBash` mapeiam para `TaskStop`5977* **`LEGACY_TOOL_NAME_ALIASES`**: nomes de ferramentas anteriores que regras de permissão, matchers de hooks e as opções `tools` e `disallowedTools` ainda aceitam. Cada chave é um nome anterior e seu valor é o atual: por exemplo, `Task` é mapeado para `Agent`, e `KillShell` e `KillBash` são mapeados para `TaskStop`

5969 5978 

5970Você pode confirmar um nome com qualquer um de dois testes: `BUILTIN_TOOL_NAMES` o inclui, ou `Object.hasOwn(LEGACY_TOOL_NAME_ALIASES, name)` retorna `true`. Um nome que falha em ambos ainda pode ser válido, porque `BUILTIN_TOOL_NAMES` deixa de fora ferramentas MCP e algumas ferramentas integradas. Se você construir uma lista de negação a partir de `BUILTIN_TOOL_NAMES`, Claude ainda pode usar as ferramentas que a constante deixa de fora. Para negar todas as ferramentas, defina [`disallowedTools: ["*"]`](https://code.claude.com/docs/pt/agent-sdk/permissions#allow-and-deny-rules) em vez disso.5979Você pode confirmar um nome com qualquer um de dois testes: `BUILTIN_TOOL_NAMES` o inclui, ou `Object.hasOwn(LEGACY_TOOL_NAME_ALIASES, name)` retorna `true`. Um nome que falha em ambos ainda pode ser válido, porque `BUILTIN_TOOL_NAMES` deixa de fora as ferramentas MCP e algumas ferramentas integradas. Se você criar uma lista de negação a partir de `BUILTIN_TOOL_NAMES`, o Claude ainda poderá usar as ferramentas que a constante deixa de fora. Para negar todas as ferramentas, defina [`disallowedTools: ["*"]`](https://code.claude.com/docs/pt/agent-sdk/permissions#allow-and-deny-rules) em vez disso.

5971 5980 

5972Encontrar um nome em `BUILTIN_TOOL_NAMES` não indica que a sessão tem essa ferramenta: `TodoWrite` está listada mesmo estando [desativada por padrão](https://code.claude.com/docs/pt/tools-reference.md). Para ver quais ferramentas uma sessão tem, leia o array `tools` de seu [`SDKSystemMessage`](#sdksystemmessage). Esse array inclui ferramentas MCP e lista a ferramenta Agent como `Task`, então mapeie cada nome por meio de `LEGACY_TOOL_NAME_ALIASES` antes de compará-lo com `BUILTIN_TOOL_NAMES`.5981Encontrar um nome em `BUILTIN_TOOL_NAMES` não indica que a sessão tem essa ferramenta: `TodoWrite` está listada mesmo estando [desativada por padrão](https://code.claude.com/docs/pt/tools-reference.md). Para ver quais ferramentas uma sessão tem, leia o array `tools` da sua [`SDKSystemMessage`](#sdksystemmessage). Esse array inclui ferramentas MCP e lista a ferramenta Agent como `Task`, então mapeie cada nome por meio de `LEGACY_TOOL_NAME_ALIASES` antes de compará-lo com `BUILTIN_TOOL_NAMES`.

5973 5982 

5974### `AbortError`5983### `AbortError`

5975 5984 


5979class AbortError extends Error {}5988class AbortError extends Error {}

5980```5989```

5981 5990 

5982`AbortError` é a única classe de erro na API tipada do SDK. Outras falhas, como o processo Claude Code saindo ou falhando ao iniciar, rejeitam a iteração de mensagem com erros que não carregam nenhuma classe SDK para corresponder. [Solução de problemas](https://code.claude.com/docs/pt/agent-sdk/troubleshooting.md) indexa esses erros por mensagem, com a causa e correção para cada.5991`AbortError` é a única classe de erro na API tipada do SDK. Outras falhas, como o processo do Claude Code sendo encerrado ou não conseguindo ser iniciado, rejeitam a iteração de mensagens com erros que não carregam nenhuma classe do SDK para verificação. A [Solução de problemas](https://code.claude.com/docs/pt/agent-sdk/troubleshooting.md) identifica esses erros pela mensagem, com a causa e a correção de cada um.

5983 5992 

5984## Configuração de Sandbox5993## Configuração de Sandbox

5985 5994 

Details

22 22 

23Para entrar com suas próprias credenciais do Amazon Bedrock, siga [Entrar com Amazon Bedrock](#sign-in-with-bedrock) abaixo. Para implantar Claude Code em toda uma equipe, use as etapas de [configuração manual](#set-up-manually) e [fixe suas versões de modelo](#4-pin-model-versions) antes de fazer o lançamento.23Para entrar com suas próprias credenciais do Amazon Bedrock, siga [Entrar com Amazon Bedrock](#sign-in-with-bedrock) abaixo. Para implantar Claude Code em toda uma equipe, use as etapas de [configuração manual](#set-up-manually) e [fixe suas versões de modelo](#4-pin-model-versions) antes de fazer o lançamento.

24 24 

25## Entrar com Bedrock25## Entrar com o Bedrock

26 26 

27Se você tem credenciais da AWS e deseja começar a usar Claude Code através do Amazon Bedrock, o assistente de login o guia através do processo. Você completa os pré-requisitos do lado da AWS uma vez por conta; o assistente cuida do lado do Claude Code.27Se você tem credenciais da AWS e deseja começar a usar o Claude Code por meio do Amazon Bedrock, o assistente de login orienta você durante o processo. Você conclui os pré-requisitos do lado da AWS uma vez por conta; o assistente cuida do lado do Claude Code.

28 28 

29**1. Ativar modelos Anthropic em sua conta AWS**29**1. Habilite os modelos da Anthropic na sua conta da AWS**

30 30 

31No [console do Amazon Bedrock](https://console.aws.amazon.com/bedrock/), abra o catálogo de modelos, selecione um modelo Anthropic e envie o formulário de caso de uso. O acesso é concedido imediatamente após o envio. Consulte [Enviar detalhes do caso de uso](#1-submit-use-case-details) para AWS Organizations e [configuração do IAM](#iam-configuration) para as permissões que sua função precisa.31No [console do Amazon Bedrock](https://console.aws.amazon.com/bedrock/), abra o Model catalog, selecione um modelo da Anthropic e envie o formulário de caso de uso. O acesso é concedido imediatamente após o envio. Consulte [Enviar detalhes do caso de uso](#1-submit-use-case-details) para AWS Organizations e [Configuração do IAM](#iam-configuration) para as permissões de que sua função precisa.

32 32 

33**2. Iniciar Claude Code e escolher Amazon Bedrock**33**2. Inicie o Claude Code e escolha o Amazon Bedrock**

34 34 

35Execute `claude`. No prompt de login, selecione **plataforma de terceiros**, depois **Amazon Bedrock**. Se você já está conectado e vê o prompt de chat, execute `/setup-bedrock` para abrir o assistente. Até que `CLAUDE_CODE_USE_BEDROCK=1` seja definido, Claude Code [oculta o comando do menu de comandos](https://code.claude.com/docs/pt/commands.md#how-the-command-menu-matches-what-you-type); digite-o por completo.35Execute `claude`. No prompt de login, selecione **3rd-party platform** e, em seguida, **Amazon Bedrock**. Se você já estiver conectado e vir o prompt de chat em vez disso, execute `/setup-bedrock` para abrir o assistente. Até que `CLAUDE_CODE_USE_BEDROCK=1` esteja definido, o Claude Code [oculta o comando do menu de comandos](https://code.claude.com/docs/pt/commands.md#how-the-command-menu-matches-what-you-type); digite-o por completo.

36 36 

37**3. Siga os prompts do assistente**37**3. Siga as instruções do assistente**

38 38 

39Escolha como você se autentica na AWS: um perfil AWS detectado do seu diretório `~/.aws`, uma chave de API do Amazon Bedrock, uma chave de acesso e segredo, ou credenciais já em seu ambiente. O assistente solicita sua região, verifica quais modelos Claude sua conta pode invocar e permite que você os fixe. Ele salva o resultado no bloco `env` do seu [arquivo de configurações do usuário](https://code.claude.com/docs/pt/settings.md), para que você não precise exportar variáveis de ambiente você mesmo.39Escolha como você se autentica na AWS: um perfil da AWS detectado no seu diretório `~/.aws`, uma chave de API do Amazon Bedrock, uma chave de acesso e um segredo, ou credenciais já presentes no seu ambiente. O assistente solicita sua região, verifica quais modelos Claude sua conta pode invocar e permite que você os fixe. Ele salva o resultado no bloco `env` do seu [arquivo de configurações do usuário](https://code.claude.com/docs/pt/settings.md), para que você não precise exportar variáveis de ambiente por conta própria.

40 40 

41Depois de entrar, execute `/setup-bedrock` a qualquer momento para reabrir o assistente e alterar suas credenciais, região ou fixações de modelo. A etapa de fixação de modelo começa a partir de seus modelos atualmente fixados. O assistente escreve em `~/.claude/settings.json`, ou em `$CLAUDE_CONFIG_DIR/settings.json` quando [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/pt/env-vars#variables) está definido.41Depois de entrar, execute `/setup-bedrock` a qualquer momento para reabrir o assistente e alterar suas credenciais, região ou fixações de modelo. A etapa de fixação de modelos começa a partir dos modelos fixados atualmente. O assistente grava em `~/.claude/settings.json`, ou em `$CLAUDE_CONFIG_DIR/settings.json` quando [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/pt/env-vars#variables) está definido.

42 42 

43## Configurar manualmente43## Configurar manualmente

44 44 

authentication.md +36 −25

Details

8 8 

9Claude Code suporta múltiplos métodos de autenticação dependendo da sua configuração. Usuários individuais podem fazer login com uma conta Claude.ai, enquanto equipes podem usar Claude for Teams ou Enterprise, o Claude Console, ou um provedor de nuvem como Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry.9Claude Code suporta múltiplos métodos de autenticação dependendo da sua configuração. Usuários individuais podem fazer login com uma conta Claude.ai, enquanto equipes podem usar Claude for Teams ou Enterprise, o Claude Console, ou um provedor de nuvem como Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry.

10 10 

11## Faça login no Claude Code11## Fazer login no Claude Code

12 12 

13Após [instalar Claude Code](https://code.claude.com/docs/pt/setup.md#install-claude-code), execute `claude` no seu terminal. No primeiro lançamento, Claude Code abre uma janela do navegador para você fazer login, exceto em casos como estes, em que ele pode pular o prompt de login:13Depois de [instalar o Claude Code](https://code.claude.com/docs/pt/setup.md#install-claude-code), execute `claude` no seu terminal. O Claude Code abre uma janela do navegador para você fazer login na primeira execução, exceto em casos como estes, em que ele pode pular o prompt de login:

14 14 

15* **Chave de API**: você definiu a variável de ambiente `ANTHROPIC_API_KEY` e aprova a chave quando Claude Code pergunta se deve usá-la15* **Chave de API**: você definiu a variável de ambiente `ANTHROPIC_API_KEY` e aprova a chave quando o Claude Code pergunta se deve usá-la

16* **Login anterior**: você executou [`claude auth login`](https://code.claude.com/docs/pt/cli-reference#cli-commands) no seu shell antes da sua primeira sessão, ou reconstruiu um dev container que mantém suas credenciais em um [volume](https://code.claude.com/docs/pt/devcontainer.md#persist-authentication-and-settings-across-rebuilds). Se o prompt de login aparecer mesmo assim, [verifique o que pode causá-lo](#login-prompt-still-appears-after-an-earlier-sign-in).16* **Login anterior**: você executou [`claude auth login`](https://code.claude.com/docs/pt/cli-reference#cli-commands) no seu shell antes da sua primeira sessão, ou reconstruiu um dev container que mantém suas credenciais em um [volume](https://code.claude.com/docs/pt/devcontainer.md#persist-authentication-and-settings-across-rebuilds). Se você vir o prompt de login mesmo assim, [verifique o que pode causá-lo](#login-prompt-still-appears-after-an-earlier-sign-in).

17 17 

18Se o navegador não abrir automaticamente, pressione `c` para copiar a URL de login para sua área de transferência, depois cole-a no seu navegador.18Se o navegador não abrir automaticamente, pressione `c` para copiar a URL de login para a área de transferência e, em seguida, cole-a no seu navegador.

19 19 

20Se seu navegador mostrar um código de login em vez de redirecionar de volta após você se conectar, cole-o no terminal no prompt `Paste code here if prompted`. Isso acontece quando o navegador não consegue alcançar o servidor de callback local do Claude Code, o que é comum em WSL2, sessões SSH e contêineres.20Se o seu navegador mostrar um código de login em vez de redirecionar de volta depois que você fizer login, cole-o no terminal no prompt `Paste code here if prompted`.

21 21 

22Quando o login é concluído, o terminal mostra `Login successful` e solicita que você pressione `Enter` para continuar.22Quando o login for concluído, o terminal mostra `Login successful` e solicita que você pressione `Enter` para continuar.

23 23 

24Você pode se autenticar com qualquer um destes tipos de conta:24Você pode se autenticar com qualquer um destes tipos de conta:

25 25 

26* **Assinatura Claude Pro ou Max**: faça login com sua conta claude.ai. Assine em [claude.com/pricing](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=authentication_pro_max).26* **Assinatura Claude Pro ou Max**: faça login com sua conta do claude.ai. Assine em [claude.com/pricing](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=authentication_pro_max).

27* **Claude for Teams ou Enterprise**: faça login com a conta claude.ai que seu administrador de equipe o convidou.27* **Claude for Teams ou Enterprise**: faça login com a conta do claude.ai para a qual o administrador da sua equipe convidou você.

28* **Claude Console**: faça login com suas credenciais do Console. Seu administrador deve ter [o convidado](#claude-console-authentication) primeiro. Você pode se conectar com ou sem [criar uma chave de API](#sign-in-without-an-api-key).28* **Claude Console**: faça login com suas credenciais do Console. Seu administrador precisa ter [convidado você](#claude-console-authentication) primeiro. Você pode fazer login com ou sem [criar uma chave de API](#sign-in-without-an-api-key).

29* **Provedores de nuvem**: se sua organização usa [Amazon Bedrock](https://code.claude.com/docs/pt/amazon-bedrock.md), [Google Cloud's Agent Platform](https://code.claude.com/docs/pt/google-vertex-ai.md) ou [Microsoft Foundry](https://code.claude.com/docs/pt/microsoft-foundry.md), defina as variáveis de ambiente necessárias antes de executar `claude`, ou selecione **plataforma de terceiros** no prompt de login, que inicia um assistente de configuração interativa para Bedrock e Vertex AI. Nenhum login do navegador é necessário.29* **Provedores de nuvem**: se a sua organização usa [Amazon Bedrock](https://code.claude.com/docs/pt/amazon-bedrock.md), [Agent Platform do Google Cloud](https://code.claude.com/docs/pt/google-vertex-ai.md) ou [Microsoft Foundry](https://code.claude.com/docs/pt/microsoft-foundry.md), defina as variáveis de ambiente necessárias antes de executar `claude`, ou selecione **3rd-party platform** no prompt de login, o que inicia um assistente de configuração interativo para Bedrock e Vertex AI. Nenhum login pelo navegador é necessário.

30* **Cloud gateway**: se sua organização executa um [gateway de aplicativos Claude](https://code.claude.com/docs/pt/claude-apps-gateway) auto-hospedado, faça login com SSO corporativo através de `/login`. O token emitido pelo gateway é a única credencial da sessão.30* **Cloud gateway**: se a sua organização executa um [gateway de apps Claude](https://code.claude.com/docs/pt/claude-apps-gateway) auto-hospedado, faça login com o SSO corporativo por meio de `/login`. O token emitido pelo gateway é a única credencial da sessão.

31 31 

32Administradores podem direcionar qual método de login os desenvolvedores usam e exigir que logins claude.ai pertençam a uma organização específica; consulte [Restringir login à sua organização](#restrict-login-to-your-organization).32Os administradores podem determinar qual método de login os desenvolvedores usam e exigir que os logins do claude.ai pertençam a uma organização específica; consulte [Restringir o login à sua organização](#restrict-login-to-your-organization).

33 33 

34Para fazer logout e se autenticar novamente, digite `/logout` no prompt do Claude Code. Fazer logout também redefine seu estado de configuração de primeiro lançamento, portanto, na próxima vez que você executar `claude`, ele o guiará novamente pelo login e configuração.34Para fazer logout e se autenticar novamente, digite `/logout` no prompt do Claude Code. Fazer logout também redefine o estado da sua configuração da primeira execução, então na próxima vez que você executar `claude` ele guiará você pelo login e pela configuração novamente.

35 35 

36Se você está tendo problemas para fazer login, consulte [solução de problemas de autenticação](https://code.claude.com/docs/pt/troubleshoot-install.md#login-and-authentication).36Se você estiver com problemas para fazer login, consulte a [solução de problemas de autenticação](https://code.claude.com/docs/pt/troubleshoot-install.md#login-and-authentication).

37 37 

38### O prompt de login ainda aparece após um login anterior38### O prompt de login ainda aparece após um login anterior

39 39 

40Se você fez login anteriormente e a configuração de primeiro lançamento mostra o prompt de login em vez de [pulá-lo](#log-in-to-claude-code), verifique causas como estas:40Se você fez login anteriormente e a configuração da primeira execução mostra o prompt de login em vez de [pulá-lo](#log-in-to-claude-code), verifique causas como estas:

41 41 

42* **Login expirado**: seu login anterior expirou e Claude Code não consegue renová-lo. Faça login novamente no prompt.42* **Login expirado**: seu login anterior expirou e o Claude Code não consegue renová-lo. Faça login novamente no prompt.

43* **Login restrito a uma organização**: um administrador definiu [`forceLoginOrgUUID`](https://code.claude.com/docs/pt/settings-reference#forceloginorguuid) nas configurações gerenciadas para [exigir logins de organizações específicas](#restrict-login-to-your-organization). O prompt aparece quer sua conta pertença ou não a uma delas. Faça login com uma conta de uma organização exigida. Se você não tiver uma, peça ao seu administrador para adicioná-lo.43* **Login restrito a uma organização**: um administrador definiu [`forceLoginOrgUUID`](https://code.claude.com/docs/pt/settings-reference#forceloginorguuid) nas configurações gerenciadas para [exigir logins de organizações específicas](#restrict-login-to-your-organization). O prompt aparece independentemente de a sua conta pertencer ou não a uma delas. Faça login com uma conta de uma organização exigida. Se você não tiver uma, peça ao seu administrador para adicionar você.

44* **Método de login exigido**: seu login não é do tipo que [`forceLoginMethod`](https://code.claude.com/docs/pt/settings-reference#forceloginmethod) em um arquivo de configurações exige. Com `"claudeai"`, uma chave de API de um login anterior no Claude Console não conta como um login existente. Com `"console"`, uma conta claude.ai não conta. Faça login com o tipo de conta que essa configuração indica.44* **Método de login exigido**: seu login não é do tipo que [`forceLoginMethod`](https://code.claude.com/docs/pt/settings-reference#forceloginmethod) em um arquivo de configurações exige. Com `"claudeai"`, uma chave de API de um login anterior no Claude Console não conta como um login existente. Com `"console"`, uma conta do claude.ai não conta. Faça login com o tipo de conta que essa configuração indica.

45* **Versão mais antiga**: antes da v2.1.290, o prompt aparecia durante a configuração quer você estivesse conectado ou não. [Atualize o Claude Code](https://code.claude.com/docs/pt/setup.md#update-claude-code) para pulá-lo.45* **Versão mais antiga**: antes da v2.1.290, o prompt aparecia durante a configuração independentemente de você estar conectado ou não. [Atualize o Claude Code](https://code.claude.com/docs/pt/setup.md#update-claude-code) para pulá-lo.

46 46 

47### Faça login com múltiplas contas47### Fazer login com várias contas

48 48 

49Para permanecer conectado a várias contas ao mesmo tempo, como contas de trabalho e pessoais, dê a cada conta seu próprio diretório de configuração. Quando você inicia `claude`, defina a variável de ambiente [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/pt/env-vars#variables) para o diretório da conta que você deseja usar. Cada diretório tem suas próprias configurações, histórico de sessão e login claude.ai ou chave de API. Por exemplo, em Bash ou Zsh, adicione este alias a `~/.bashrc` ou `~/.zshrc` para que `claude-work` use sua conta de trabalho enquanto `claude` mantém a sua pessoal:49Para permanecer conectado a várias contas ao mesmo tempo, como contas de trabalho e pessoais, dê a cada conta seu próprio diretório de configuração. Ao iniciar `claude`, defina a variável de ambiente [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/pt/env-vars#variables) para o diretório da conta que você deseja usar. Cada diretório tem suas próprias configurações, histórico de sessões e login do claude.ai ou chave de API. Por exemplo, no Bash ou Zsh, adicione este alias a `~/.bashrc` ou `~/.zshrc` para que `claude-work` use sua conta de trabalho enquanto `claude` mantém a pessoal:

50 50 

51```bash theme={null}51```bash theme={null}

52alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'52alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'

53```53```

54 54 

55Depois de abrir um novo terminal e executar `claude-work` pela primeira vez, Claude Code o guiará pelo login e configuração para o novo diretório. Diretórios separados não mantêm dois logins do Claude Console [sem uma chave de API](#sign-in-without-an-api-key) separados, porque Claude Code armazena esse tipo de login fora do diretório de configuração.55Depois que você abrir um novo terminal e executar `claude-work` pela primeira vez, o Claude Code guiará você pelo login e pela configuração do novo diretório. Diretórios separados não mantêm separados dois logins no Claude Console [sem uma chave de API](#sign-in-without-an-api-key), porque o Claude Code armazena esse tipo de login fora do diretório de configuração.

56 56 

57## Configure a autenticação da equipe57## Configure a autenticação da equipe

58 58 


127Você não obtém a escolha em cada máquina. Claude Code cria uma chave de API sem perguntar nestes casos:127Você não obtém a escolha em cada máquina. Claude Code cria uma chave de API sem perguntar nestes casos:

128 128 

129* Você executa contra um provedor de nuvem, como [Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry](https://code.claude.com/docs/pt/third-party-integrations.md) ou [Claude Platform on AWS](https://code.claude.com/docs/pt/claude-platform-on-aws.md)129* Você executa contra um provedor de nuvem, como [Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry](https://code.claude.com/docs/pt/third-party-integrations.md) ou [Claude Platform on AWS](https://code.claude.com/docs/pt/claude-platform-on-aws.md)

130* Qualquer arquivo de configurações define [`forceLoginOrgUUID`](#restrict-login-to-your-organization), ou define `forceLoginMethod` como `"claudeai"` ou `"console"`130* Qualquer arquivo de configurações define [`forceLoginOrgUUID`](#restrict-login-to-your-organization), ou define `forceLoginMethod` como `"claudeai"`

131* `forceLoginMethod` é `"console"` e nenhum arquivo de configurações define `forceLoginOrgUUID`, até que você tente novamente a partir da tela de erro após um login que falhou

131* Uma fonte de configurações gerenciadas em sua máquina, como o arquivo de configurações gerenciadas, um perfil MDM ou as configurações gerenciadas pelo servidor em cache, existe mas Claude Code [não consegue lê-la](https://code.claude.com/docs/pt/managed-settings.md#invalid-entries-in-managed-settings) e nenhuma outra fonte gerenciada fornece uma política132* Uma fonte de configurações gerenciadas em sua máquina, como o arquivo de configurações gerenciadas, um perfil MDM ou as configurações gerenciadas pelo servidor em cache, existe mas Claude Code [não consegue lê-la](https://code.claude.com/docs/pt/managed-settings.md#invalid-entries-in-managed-settings) e nenhuma outra fonte gerenciada fornece uma política

132 133 

133Desdefina `ANTHROPIC_API_KEY` antes de fazer login sem uma chave.134Desdefina `ANTHROPIC_API_KEY` antes de fazer login sem uma chave.


140 141 

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

142 143 

144#### Pare de oferecer o login sem chave em máquinas gerenciadas

145 

146Para que Claude Code pare de oferecer o [login sem chave](#sign-in-without-an-api-key), use sua ferramenta de gerenciamento de dispositivos para implantar [`forceLoginOrgUUID`](https://code.claude.com/docs/pt/settings-reference#forceloginorguuid) em [configurações gerenciadas](https://code.claude.com/docs/pt/managed-settings.md) na máquina de cada desenvolvedor. Defina-o como o [ID da sua organização do Console](https://platform.claude.com/settings/organization). Antes de implantá-lo, certifique-se de que cada desenvolvedor tenha uma [função que possa criar chaves de API](#claude-console-authentication). Depois de implantá-lo, um desenvolvedor sem essa função não consegue fazer login no Console em `/login`.

147 

148Com apenas `forceLoginMethod` definido como `"console"`, os desenvolvedores podem tentar novamente um login que falhou e escolher a opção sem chave. Depois que `forceLoginOrgUUID` é implantado, a tela de login remove essa opção, mas os desenvolvedores ainda podem usar um [perfil Anthropic](#anthropic-profiles-and-federation-credentials) que tenham ou criem com [`ant auth login`](https://platform.claude.com/docs/en/cli-sdks-libraries/cli/authentication). Depois de implantá-lo, trate estas credenciais e logins em cada máquina:

149 

150* **Logins sem chave**: para migrar um desenvolvedor para uma chave de API, peça que ele faça logout e depois faça login no Console novamente, o que cria a chave. Para um login sem chave, ele executa `claude auth logout` no shell. Para um perfil de `ant auth login`, ele executa `ant auth logout`. Claude Code recusa a sessão se um perfil e uma chave de API estiverem ambos na máquina, então ele faz logout primeiro.

151* **Credenciais de ambiente e de helper**: Claude Code recusa sessões que se autenticam com `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` ou `apiKeyHelper`, mesmo quando as configurações gerenciadas as fornecem. Remova essas credenciais e depois peça que os desenvolvedores executem `/login` para criar uma chave de API salva.

152* **Logins claude.ai**: Claude Code [recusa um login](#restrict-login-to-your-organization) em uma organização que você não listou, incluindo uma já em uso na máquina. Para manter uma, adicione-a a um array `forceLoginOrgUUID`.

153 

143### Autenticação do provedor de nuvem154### Autenticação do provedor de nuvem

144 155 

145Para equipes usando Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry:156Para equipes usando Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry:


172* **`claude setup-token` e `/install-github-app`**: aplicam apenas `forceLoginMethod`, então eles podem cunhar um token em uma organização diferente183* **`claude setup-token` e `/install-github-app`**: aplicam apenas `forceLoginMethod`, então eles podem cunhar um token em uma organização diferente

173* **[Login do gateway](https://code.claude.com/docs/pt/claude-apps-gateway)**: selecionado por `forceLoginMethod: "gateway"` em vez de restringido por ele, e não autentica contra uma organização Anthropic, então `forceLoginOrgUUID` não se aplica; use seu provedor de identidade do gateway para restringir o acesso184* **[Login do gateway](https://code.claude.com/docs/pt/claude-apps-gateway)**: selecionado por `forceLoginMethod: "gateway"` em vez de restringido por ele, e não autentica contra uma organização Anthropic, então `forceLoginOrgUUID` não se aplica; use seu provedor de identidade do gateway para restringir o acesso

174 185 

175Implante as chaves através de sua ferramenta de gerenciamento de dispositivos. [Configurações gerenciadas pelo servidor](https://code.claude.com/docs/pt/server-managed-settings.md) alcançam apenas contas que já estão autenticadas em sua organização, então elas não podem redirecionar o primeiro login de um desenvolvedor. Se sua organização também distribui configurações gerenciadas pelo servidor, defina as chaves em ambos os lugares: fontes de [configurações gerenciadas](https://code.claude.com/docs/pt/server-managed-settings.md#settings-precedence) não se mesclam, e as configurações gerenciadas pelo servidor em cache substituem o arquivo gerenciado pelo dispositivo, exceto por alguns [exceções por chave](https://code.claude.com/docs/pt/server-managed-settings.md#per-key-exceptions-across-managed-sources). `forceLoginOrgUUID` e os valores `"claudeai"` e `"console"` de `forceLoginMethod` não estão entre essas exceções, então mantenha-os em ambos os lugares.186Implante `forceLoginMethod` e `forceLoginOrgUUID` através de sua ferramenta de gerenciamento de dispositivos. Um desenvolvedor recebe [configurações gerenciadas pelo servidor](https://code.claude.com/docs/pt/server-managed-settings.md) somente depois de se autenticar em sua organização, então você não pode redirecionar um primeiro login com essas configurações. Se você também distribui configurações gerenciadas pelo servidor a partir do claude.ai, defina ambas as chaves lá também até que todos os clientes executem v2.1.299 ou posterior. Para saber onde definir as chaves depois disso e qual valor de fonte se aplica, veja [Qual fonte gerenciada fornece as chaves de login](https://code.claude.com/docs/pt/managed-settings.md#which-managed-source-supplies-login-keys).

176 187 

177Em uma implantação de [gateway](https://code.claude.com/docs/pt/claude-apps-gateway), também mantenha `forceLoginMethod` e `forceLoginOrgUUID` fora das [configurações que o gateway serve](https://code.claude.com/docs/pt/claude-apps-gateway-config.md#managed).188Em uma implantação de [gateway](https://code.claude.com/docs/pt/claude-apps-gateway), também mantenha `forceLoginMethod` e `forceLoginOrgUUID` fora das [configurações que o gateway serve](https://code.claude.com/docs/pt/claude-apps-gateway-config.md#managed).

178 189 

Details

157 157 

158## Gerar entradas de ambiente com `/auto-mode-setup`158## Gerar entradas de ambiente com `/auto-mode-setup`

159 159 

160Execute `/auto-mode-setup` para que Claude Code elabore entradas de `autoMode.environment` e, às vezes, também [entradas de regras](#override-the-block-and-allow-rules), a partir do seu projeto e de suas sessões recentes nele. Se você aceitar o rascunho, Claude Code o escreve em `~/.claude/settings.json`.160Execute `/auto-mode-setup` para que o Claude Code elabore um rascunho de entradas de `autoMode.environment`, e às vezes também de [entradas de regras](#override-the-block-and-allow-rules), a partir do seu projeto e das suas sessões recentes nele. Se você aceitar o rascunho, o Claude Code o grava em `~/.claude/settings.json`.

161 161 

162> [!NOTE]162> [!NOTE]

163>163>

164> `/auto-mode-setup` está disponível nos planos Pro, Max, Team e Enterprise e com uma chave de API do Claude Console. Em um plano Pro, Max ou Team, você precisa da v2.1.228 ou posterior, ou da v2.1.233 ou posterior no Windows nativo. Em um plano Enterprise ou com uma chave de API do Claude Console, você precisa da v2.1.283 ou posterior. Se o comando estiver ausente da sua sessão, consulte [`/auto-mode-setup` retorna "Unknown command"](#auto-mode-setup-returns-unknown-command).164> `/auto-mode-setup` está disponível nos planos Pro, Max, Team e Enterprise e com uma chave de API do Claude Console. Em um plano Pro, Max ou Team, você precisa da v2.1.228 ou posterior, ou da v2.1.233 ou posterior no Windows nativo. Em um plano Enterprise ou com uma chave de API do Claude Console, você precisa da v2.1.283 ou posterior. Se o comando não estiver disponível na sua sessão, consulte [`/auto-mode-setup` retorna "Unknown command"](#auto-mode-setup-returns-unknown-command).

165 165 

166### O que `/auto-mode-setup` lê166### O que `/auto-mode-setup` lê

167 167 

168Se `~/.claude/settings.json` já contiver entradas de `autoMode`, Claude Code começa perguntando se deve adicionar à sua lista de ambiente ou substituí-la, e mantém as regras que você escreveu de qualquer forma. Claude Code então pergunta como você usa este projeto e oferece duas verificações opcionais antes de verificar qualquer coisa. Na verificação, Claude Code sempre lê estas fontes:168Se `~/.claude/settings.json` já contiver entradas de `autoMode`, o Claude Code começa perguntando se deve adicionar à sua lista de ambiente ou substituí-la, e mantém as regras que você escreveu em qualquer um dos casos. Em seguida, o Claude Code pergunta como você usa este projeto e oferece duas varreduras opcionais antes de varrer qualquer coisa. Na varredura, o Claude Code sempre lê estas fontes:

169 169 

170* `CLAUDE.md`, `README.md`, arquivos de configuração e remotes git do projeto170* O `CLAUDE.md`, o `README.md`, os arquivos de configuração e os remotes do git deste projeto

171* Suas configurações de `autoMode` e `permissions.allow`171* Suas configurações `autoMode` e `permissions.allow`

172* Os hosts, buckets e nomes de comando dos comandos que Claude executou em suas sessões recentes neste projeto, nunca suas mensagens172* Os hosts, buckets e nomes de comandos dos comandos que o Claude executou nas suas sessões recentes neste projeto, nunca as suas mensagens

173 173 

174As duas verificações opcionais adicionam uma fonte cada:174As duas varreduras opcionais adicionam uma fonte cada:

175 175 

176* A primeira palavra de cada comando no seu histórico de shell176* A primeira palavra de cada comando no histórico do seu shell

177* Os hosts remotos e nomes dos repositórios sob seu diretório home177* Os hosts remotos e os nomes dos repositórios no seu diretório pessoal

178 178 

179### Revisar e salvar o rascunho179### Revisar e salvar o rascunho

180 180 

181Claude Code verifica em segundo plano e então mostra o rascunho. Você o aceita ou descarta como um todo, portanto edite `~/.claude/settings.json` depois para ajustar entradas individuais. Quando você aceita, Claude Code escreve o rascunho e o reconcilia com as configurações que você já tem:181O Claude Code faz a varredura em segundo plano e depois mostra o rascunho. Você aceita ou descarta o rascunho como um todo; portanto, edite `~/.claude/settings.json` depois para ajustar entradas individuais. Quando você aceita, o Claude Code grava o rascunho e o concilia com as configurações que você já tem:

182 182 

183* Claude Code escreve a lista de `environment` sem `"$defaults"`, porque o rascunho especifica as entradas integradas que deixou inalteradas183* O Claude Code grava a lista `environment` sem `"$defaults"`, porque o rascunho explicita as entradas integradas que ele manteve inalteradas

184* Claude Code inclui `"$defaults"` em cada uma das listas `allow`, `soft_deny` e `hard_deny` às quais o rascunho adiciona entradas, a menos que você já tenha escrito uma lista `allow` sem ela, portanto as [regras integradas](#override-the-block-and-allow-rules) que você não substituiu permanecem em vigor184* O Claude Code inclui `"$defaults"` em cada uma das listas `allow`, `soft_deny` e `hard_deny` às quais o rascunho adiciona entradas, a menos que você já tenha escrito uma lista `allow` sem ele, para que as [regras integradas](#override-the-block-and-allow-rules) que você não substituiu continuem em vigor

185* Após salvar, Claude Code oferece remover regras de `permissions.allow` em `~/.claude/settings.json` que o modo automático ignora, como `Bash(*)`, ou que aprovam automaticamente comandos destrutivos185* Após salvar, o Claude Code oferece remover regras de `permissions.allow` em `~/.claude/settings.json` que o modo auto ignora, como `Bash(*)`, ou que aprovam automaticamente comandos destrutivos

186 186 

187Em seguida, execute `claude auto-mode config` para [ver o resultado efetivo](#inspect-the-defaults-and-your-effective-config).187Em seguida, execute `claude auto-mode config` para [ver o resultado efetivo](#inspect-the-defaults-and-your-effective-config).

188 188 

189### Desativar `/auto-mode-setup`189### Desativar `/auto-mode-setup`

190 190 

191Depois que o modo automático bloqueou várias ações e você ainda não tem entradas de `autoMode.environment`, Claude Code mostra um diálogo intitulado "Ensinar ao modo automático sobre seu ambiente?" no final de um turno e oferece executar `/auto-mode-setup` para você. Para parar a oferta mas manter o comando, selecione **Não mostrar novamente** naquele diálogo.191Depois que o modo auto tiver bloqueado várias ações e você ainda não tiver nenhuma entrada de `autoMode.environment`, o Claude Code mostra uma caixa de diálogo intitulada "Teach auto mode about your environment?" ao final de um turno e oferece executar `/auto-mode-setup` para você. Para interromper a oferta, mas manter o comando, selecione **Don't show again** nessa caixa de diálogo.

192 192 

193Para desativar tanto o comando quanto a oferta, adicione esta entrada [`skillOverrides`](https://code.claude.com/docs/pt/skills#override-skill-visibility-from-settings) a `~/.claude/settings.json`:193Para desativar tanto o comando quanto a oferta, adicione esta entrada de [`skillOverrides`](https://code.claude.com/docs/pt/skills#override-skill-visibility-from-settings) a `~/.claude/settings.json`:

194 194 

195```json theme={null}195```json theme={null}

196{196{


200}200}

201```201```

202 202 

203`/auto-mode-setup` é um comando integrado em vez de um [skill agrupado](https://code.claude.com/docs/pt/skills.md#bundled-skills), portanto esta entrada `skillOverrides` ainda se aplica a ele, mas [`disableBundledSkills`](https://code.claude.com/docs/pt/settings-reference#disablebundledskills) não o desativa.203`/auto-mode-setup` é um comando integrado, e não uma [skill incluída](https://code.claude.com/docs/pt/skills.md#bundled-skills); por isso, esta entrada de `skillOverrides` ainda se aplica a ele, mas [`disableBundledSkills`](https://code.claude.com/docs/pt/settings-reference#disablebundledskills) não o desativa.

204 204 

205### `/auto-mode-setup` retorna "Unknown command"205### `/auto-mode-setup` returns "Unknown command"

206 206 

207Se digitar `/auto-mode-setup` no prompt do Claude Code exibir `Unknown command: /auto-mode-setup`, verifique estas causas:207Se digitar `/auto-mode-setup` no prompt do Claude Code exibir `Unknown command: /auto-mode-setup`, verifique estas causas:

208 208 

209* **Primeira sessão após uma instalação ou atualização**: inicie uma nova sessão. Se o comando ainda estiver ausente nela, consulte as [configurações em que sessões posteriores também iniciam sem ele](https://code.claude.com/docs/pt/env-vars.md#first-session-after-an-install-or-upgrade).209* **Primeira sessão após uma instalação ou atualização**: inicie uma nova sessão. Se o comando ainda não estiver disponível nela, consulte as [configurações em que as sessões posteriores também iniciam sem ele](https://code.claude.com/docs/pt/env-vars.md#first-session-after-an-install-or-upgrade).

210* **Versão desatualizada**: execute `claude --version` no seu shell. Se a versão estiver abaixo do [mínimo para o seu plano](#generate-environment-entries), [atualize o Claude Code](https://code.claude.com/docs/pt/setup.md#update-claude-code).210* **Versão desatualizada**: execute `claude --version` no seu shell. Se a versão for inferior ao [mínimo para o seu plano](#generate-environment-entries), [atualize o Claude Code](https://code.claude.com/docs/pt/setup.md#update-claude-code).

211* **Telemetria desativada, provedor de terceiros ou gateway de aplicativos Claude**: antes da v2.1.304, o comando não está disponível em [sessões em que a busca de sinalizadores de recurso está desativada](https://code.claude.com/docs/pt/env-vars.md#features-that-need-feature-flag-fetching). Se sua sessão for uma delas, [atualize o Claude Code](https://code.claude.com/docs/pt/setup.md#update-claude-code) para a v2.1.304 ou posterior.211* **Telemetria desativada, provedor de terceiros ou gateway de apps do Claude**: antes da v2.1.304, o comando não está disponível em [sessões em que a busca de feature flags está desativada](https://code.claude.com/docs/pt/env-vars.md#features-that-need-feature-flag-fetching). Se a sua sessão for uma delas, [atualize o Claude Code](https://code.claude.com/docs/pt/setup.md#update-claude-code) para a v2.1.304 ou posterior.

212 212 

213Em uma [sessão na nuvem](https://code.claude.com/docs/pt/claude-code-on-the-web.md), o comando exibe `/auto-mode-setup isn't available in this environment.` em vez disso. Execute-o em uma sessão interativa no seu terminal.213Em uma [sessão na nuvem](https://code.claude.com/docs/pt/claude-code-on-the-web.md), o comando exibe `/auto-mode-setup isn't available in this environment.` em vez disso. Execute-o em uma sessão interativa no seu terminal.

214 214 

checkpointing.md +26 −26

Details

8 8 

9Claude Code rastreia automaticamente as edições de arquivo do Claude conforme você trabalha, permitindo que você desfaça rapidamente as alterações e reverta para estados anteriores se algo sair do caminho.9Claude Code rastreia automaticamente as edições de arquivo do Claude conforme você trabalha, permitindo que você desfaça rapidamente as alterações e reverta para estados anteriores se algo sair do caminho.

10 10 

11## Como o checkpointing funciona11## Como os checkpoints funcionam

12 12 

13Conforme você trabalha com Claude, o checkpointing captura automaticamente o estado do seu código antes de cada prompt que você envia e que inicia um turno.13Enquanto você trabalha com o Claude, o checkpointing captura automaticamente o estado do seu código antes de cada prompt que você envia e que inicia um turno.

14 14 

15### Rastreamento automático15### Rastreamento automático

16 16 

17Claude Code rastreia todas as alterações feitas por suas ferramentas de edição de arquivo:17O Claude Code rastreia todas as alterações feitas por suas ferramentas de edição de arquivos:

18 18 

19* Cada prompt que você envia e que inicia um turno cria um novo checkpoint19* Cada prompt que você envia e que inicia um turno cria um novo checkpoint

20* Claude Code mantém snapshots de arquivo para os 100 checkpoints mais recentes em uma sessão. Descartar um checkpoint mais antigo deleta os arquivos de snapshot que nenhum checkpoint restante referencia, exceto o primeiro snapshot de cada arquivo, que a extensão VS Code usa como baseline para seus diffs de sessão.20* O Claude Code mantém snapshots de arquivos para os 100 checkpoints mais recentes em uma sessão. Descartar um checkpoint mais antigo exclui os arquivos de snapshot que nenhum checkpoint restante referencia, exceto o primeiro snapshot de cada arquivo, que a extensão do VS Code usa como base para seus diffs da sessão.

21* Claude Code salva checkpoints com a conversa, para que você ainda possa executar `/rewind` após retomar uma sessão21* O Claude Code salva os checkpoints junto com a conversa, então você ainda pode executar `/rewind` depois de retomar uma sessão

22* Claude Code deleta os snapshots de arquivo de uma sessão na [varredura de retenção](https://code.claude.com/docs/pt/claude-directory.md#cleaned-up-automatically), por padrão cerca de 30 dias após a sessão salvar um pela última vez. Fazer rewind para um checkpoint cujos snapshots desapareceram pode falhar com [`No files were restored`](https://code.claude.com/docs/pt/errors#no-files-were-restored). Para manter snapshots por mais tempo, defina [`cleanupPeriodDays`](https://code.claude.com/docs/pt/settings-reference#cleanupperioddays).22* O Claude Code exclui os snapshots de arquivos de uma sessão na [limpeza de retenção](https://code.claude.com/docs/pt/claude-directory.md#cleaned-up-automatically), por padrão cerca de 30 dias depois que a sessão salvou o último. Retroceder para um checkpoint cujos snapshots não existem mais pode falhar com [`No files were restored`](https://code.claude.com/docs/pt/errors#no-files-were-restored). Para manter os snapshots por mais tempo, defina [`cleanupPeriodDays`](https://code.claude.com/docs/pt/settings-reference#cleanupperioddays).

23 23 

24### Rewind e resumo24### Retroceder e resumir

25 25 

26Execute `/rewind`, ou pressione `Esc` duas vezes quando o campo de entrada de prompt estiver vazio, para abrir o menu de rewind.26Execute `/rewind`, ou pressione `Esc` duas vezes quando a entrada de prompt estiver vazia, para abrir o menu de retrocesso.

27 27 

28> [!NOTE]28> [!NOTE]

29>29>

30> Se o campo de entrada de prompt contiver texto, duplo `Esc` o limpa em vez de abrir o menu. O texto limpo é salvo no seu histórico de entrada, então pressione `Up` para recuperá-lo após terminar no menu de rewind.30> Se a entrada de prompt contiver texto, pressionar `Esc` duas vezes a limpa em vez de abrir o menu. O texto limpo é salvo no seu histórico de entrada, então pressione `Up` para recuperá-lo depois de terminar no menu de retrocesso.

31 31 

32O menu de rewind lista os prompts que você enviou durante a sessão. Selecione o ponto em que deseja agir e escolha uma ação:32O menu de retrocesso lista os prompts que você enviou durante a sessão. Selecione o ponto sobre o qual deseja agir e, em seguida, escolha uma ação:

33 33 

34* **Restaurar código e conversa**: reverte tanto o código quanto a conversa para esse ponto34* **Restore code and conversation**: reverte tanto o código quanto a conversa para aquele ponto

35* **Restaurar conversa**: reverte para essa mensagem mantendo o código atual35* **Restore conversation**: retrocede até aquela mensagem mantendo o código atual

36* **Restaurar código**: reverte as alterações de arquivo mantendo a conversa36* **Restore code**: reverte as alterações de arquivos mantendo a conversa

37* **Resumir a partir daqui**: compacta a conversa a partir deste ponto em diante em um resumo, liberando espaço da context window37* **Summarize from here**: comprime a conversa a partir deste ponto em um resumo, liberando espaço na janela de contexto

38* **Resumir até aqui**: compacta a conversa antes deste ponto em um resumo, mantendo as mensagens posteriores intactas38* **Summarize up to here**: comprime a conversa anterior a este ponto em um resumo, mantendo as mensagens posteriores intactas

39* **Nunca importa**: retorna à lista de mensagens sem fazer alterações39* **Never mind**: retorna à lista de mensagens sem fazer alterações

40 40 

41As duas opções de restauração de código aparecem apenas quando o checkpoint selecionado tem alterações de arquivo rastreadas para reverter. Se nenhuma edição de arquivo foi capturada após esse ponto, o menu oferece apenas **Restaurar conversa**, as opções de resumo e **Nunca importa**.41As duas opções de restauração de código aparecem apenas quando o checkpoint selecionado tem alterações de arquivos rastreadas para reverter. Se nenhuma edição de arquivo foi capturada após aquele ponto, o menu oferece apenas **Restore conversation**, as opções de resumo e **Never mind**.

42 42 

43Após restaurar a conversa ou escolher Resumir a partir daqui, o prompt original da mensagem selecionada é restaurado no campo de entrada para que você possa reenviá-lo ou editá-lo.43Depois de restaurar a conversa ou escolher Summarize from here, o prompt original da mensagem selecionada é restaurado no campo de entrada para que você possa reenviá-lo ou editá-lo.

44 44 

45Escolher Resumir até aqui o deixa no final da conversa com a entrada vazia. Com qualquer opção de resumo, um marcador **Conversa resumida** aparece na conversa onde as mensagens compactadas estavam.45Escolher Summarize up to here deixa você no final da conversa com a entrada vazia. Com qualquer uma das opções de resumo, um marcador **Summarized conversation** aparece na conversa onde estavam as mensagens comprimidas.

46 46 

47#### Mensagens revertidas podem retornar se você sair antes do seu próximo prompt47#### Mensagens retrocedidas podem retornar se você sair antes do seu próximo prompt

48 48 

49Para remover novamente as mensagens que retornaram, execute `/rewind` na sessão e selecione o mesmo prompt, depois **Restaurar conversa**. Antes de sair, envie um prompt para Claude, porque Claude Code salva a conversa revertida junto com esse prompt. Os arquivos que você restaurou permanecem como o rewind os deixou.49Para remover novamente as mensagens que retornaram, execute `/rewind` na sessão e selecione o mesmo prompt e, em seguida, **Restore conversation**. Antes de sair, envie um prompt ao Claude, porque o Claude Code salva a conversa retrocedida junto com esse prompt. Os arquivos que você restaurou permanecem como o retrocesso os deixou.

50 50 

51#### Rewind passado uma conversa limpa51#### Retroceder além de uma conversa limpa

52 52 

53Se você executou `/clear` anteriormente no mesmo processo Claude Code, o menu de rewind mostra uma entrada adicional no topo da lista rotulada `/resume <session-id> (previous session)`. Selecione-a para retomar a conversa que estava ativa antes de `/clear` ser executado. A entrada está disponível até você sair do Claude Code ou retomar uma sessão diferente.53Se você executou `/clear` anteriormente no mesmo processo do Claude Code, o menu de retrocesso mostra uma entrada adicional no topo da lista rotulada `/resume <session-id> (previous session)`. Selecione-a para retomar a conversa que estava ativa antes de `/clear` ser executado. A entrada fica disponível até você sair do Claude Code ou retomar uma sessão diferente.

54 54 

55#### Guiar um resumo55#### Orientar um resumo

56 56 

57Resumir não altera arquivos no disco, e as mensagens originais permanecem na transcrição da sessão, para que Claude ainda possa fazer referência aos detalhes. Para guiar o que o resumo se concentra, destaque uma opção **Resumir** com as teclas de seta e digite instruções onde a linha lê **adicionar contexto (opcional)**, então pressione `Enter`. Selecionar a opção com sua tecla de número resume imediatamente sem instruções.57Resumir não altera arquivos no disco, e as mensagens originais permanecem na transcrição da sessão, então o Claude ainda pode consultar os detalhes. Para orientar o foco do resumo, destaque uma opção **Summarize** com as teclas de seta e digite instruções onde a linha mostra **add context (optional)** e, em seguida, pressione `Enter`. Selecionar a opção com sua tecla numérica resume imediatamente, sem instruções.

58 58 

59> [!NOTE]59> [!NOTE]

60>60>

61> Resumir mantém você na mesma sessão e compacta o contexto, como um `/compact` direcionado. Para ramificar e tentar uma abordagem diferente enquanto preserva a sessão original intacta, use [`/branch`](https://code.claude.com/docs/pt/sessions#branch-a-session) ou `claude --continue --fork-session` em vez disso.61> Resumir mantém você na mesma sessão e comprime o contexto, como um `/compact` direcionado. Para criar um branch e tentar uma abordagem diferente preservando a sessão original intacta, use [`/branch`](https://code.claude.com/docs/pt/sessions#branch-a-session) ou `claude --continue --fork-session` em vez disso.

62 62 

63## Casos de uso comuns63## Casos de uso comuns

64 64 

Details

446 446 

447Estas configurações fornecidas pelo pai passam pelo filtro mesmo com todos os cinco bloqueios definidos:447Estas configurações fornecidas pelo pai passam pelo filtro mesmo com todos os cinco bloqueios definidos:

448 448 

449* **`forceLoginOrgUUID`**: Claude Code honra um valor fornecido pelo pai quando a fonte de administrador de prioridade mais alta não define um UUID de organização. O sign-in do gateway não verifica essa chave. Um UUID de organização na fonte de administrador de prioridade mais alta bloqueia o valor do pai e é aquele que Claude Code aplica.449* **`forceLoginOrgUUID`**: Claude Code honra um valor fornecido pelo pai quando as configurações gerenciadas que ele aplica não definem um UUID de organização. O sign-in do gateway não verifica essa chave. Um UUID de organização nas configurações gerenciadas que Claude Code aplica bloqueia o valor do pai e é o UUID de organização que Claude Code aplica. Se sua frota fixa uma organização Anthropic, consulte [Qual fonte gerenciada fornece as chaves de login](https://code.claude.com/docs/pt/managed-settings.md#which-managed-source-supplies-login-keys) para saber onde definir `forceLoginOrgUUID`.

450* **`allowedMcpServers`**: Claude Code honra uma allowlist fornecida pelo pai quando nenhuma lista de administrador está em vigor. `allowManagedMcpServersOnly` não a bloqueia, porque o bloqueio aplica qualquer lista que vença como o valor gerenciado, incluindo uma lista fornecida pelo pai quando nenhuma fonte de administrador fornece uma lista. Uma lista na fonte de administrador de prioridade mais alta bloqueia a do pai e é a lista que Claude Code aplica, então defina `allowedMcpServers` lá, ao lado do bloqueio. Antes da v2.1.223, um valor para qualquer chave em qualquer fonte de administrador bloqueava a do pai.450* **`allowedMcpServers`**: Claude Code honra uma allowlist fornecida pelo pai quando nenhuma lista de administrador está em vigor. `allowManagedMcpServersOnly` não a bloqueia, porque o bloqueio aplica qualquer lista que vença como o valor gerenciado, incluindo uma lista fornecida pelo pai quando nenhuma fonte de administrador fornece uma lista. Uma lista na fonte de administrador de prioridade mais alta bloqueia a do pai e é a lista que Claude Code aplica, então defina `allowedMcpServers` lá, ao lado do bloqueio. Antes da v2.1.223, um valor para qualquer chave em qualquer fonte de administrador bloqueava a do pai.

451* **`availableModels`**: Claude Code honra uma lista de modelos fornecida pelo pai quando a fonte gerenciada vencedora não define uma. Se sua frota restringe modelos, defina `availableModels` na fonte vencedora.451* **`availableModels`**: Claude Code honra uma lista de modelos fornecida pelo pai quando a fonte gerenciada vencedora não define uma. Se sua frota restringe modelos, defina `availableModels` na fonte vencedora.

452* **`allowedProviders`**: Claude Code honra uma allowlist de provedores de API fornecida pelo pai quando a fonte gerenciada vencedora não define uma. Se sua frota restringe quais provedores de API os desenvolvedores podem usar, defina `allowedProviders` na fonte vencedora. Requer Claude Code v2.1.285 ou posterior.452* **`allowedProviders`**: Claude Code honra uma allowlist de provedores de API fornecida pelo pai quando a fonte gerenciada vencedora não define uma. Se sua frota restringe quais provedores de API os desenvolvedores podem usar, defina `allowedProviders` na fonte vencedora. Requer Claude Code v2.1.285 ou posterior.


454* **`blockedMarketplaces`**: uma lista de bloqueio de marketplace fornecida pelo pai passa e adiciona a qualquer lista de bloqueio que uma fonte gerenciada define, já que uma lista de bloqueio pode apenas restringir ainda mais. Requer Claude Code v2.1.282 ou posterior.454* **`blockedMarketplaces`**: uma lista de bloqueio de marketplace fornecida pelo pai passa e adiciona a qualquer lista de bloqueio que uma fonte gerenciada define, já que uma lista de bloqueio pode apenas restringir ainda mais. Requer Claude Code v2.1.282 ou posterior.

455* **`strictPluginOnlyCustomization`**: essa chave passa pelo filtro independentemente de qualquer bloqueio, e faz Claude Code ignorar a customização própria do desenvolvedor, incluindo hooks protetores. Nenhum bloqueio a bloqueia.455* **`strictPluginOnlyCustomization`**: essa chave passa pelo filtro independentemente de qualquer bloqueio, e faz Claude Code ignorar a customização própria do desenvolvedor, incluindo hooks protetores. Nenhum bloqueio a bloqueia.

456 456 

457Sob a configuração padrão de primeiro vencedor, um valor de administrador bloqueia o do pai apenas quando está na fonte de administrador de prioridade mais alta, exceto para `allowedMcpServers` enquanto o [bloqueio de servidor MCP](#lock-behavior-across-sources) está ativado. Sob a aceitação de mesclagem `managedSourcesBehavior`, [como Claude Code combina fontes gerenciadas](https://code.claude.com/docs/pt/managed-settings.md#how-claude-code-combines-managed-sources) diz qual valor da fonte se aplica em vez disso.457Se você definir `managedSourcesBehavior` como `"merge"`, verifique [qual valor da fonte se aplica para cada tipo de chave](https://code.claude.com/docs/pt/managed-settings.md#compose-every-managed-source).

458 458 

459#### Como as chaves de hook e skill nas configurações pai entram em vigor459#### Como as chaves de hook e skill nas configurações pai entram em vigor

460 460 

Details

421 421 

422```yaml theme={null}422```yaml theme={null}

423models:423models:

424 - id: claude-opus-restricted # um id personalizado, não um nome de modelo integrado424 - id: restricted-claude-opus-4-8 # um id personalizado, não um nome de modelo integrado

425 upstream_model:425 upstream_model:

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

427```427```


631 631 

632O gateway não mantém registro de upstreams falhados, portanto enquanto um upstream está inativo, cada solicitação que o alcança ainda o tenta e aguarda sua falha antes de prosseguir.632O gateway não mantém registro de upstreams falhados, portanto enquanto um upstream está inativo, cada solicitação que o alcança ainda o tenta e aguarda sua falha antes de prosseguir.

633 633 

634Para um upstream da API Anthropic, [`timeouts.upstream_ttfb_ms`](#http-tuning) limita a espera em um upstream inativo. Essa configuração não se aplica aos outros provedores, onde o gateway aguarda até uma hora para um upstream começar a responder.634O gateway aguarda este tempo para que uma resposta comece:

635 

636* **Upstreams `provider: anthropic`**: [`timeouts.upstream_ttfb_ms`](#http-tuning), 120 segundos por padrão

637* **Outros provedores**: até uma hora. Para encurtar essa espera em requisições de streaming, defina `timeouts.upstream_ttfb_ms` no gateway v2.1.295 ou posterior. Requisições de modelo sem streaming aguardam até uma hora de qualquer forma

635 638 

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

637 640 


875 policies:878 policies:

876 - match: { groups: [restricted-projects] }879 - match: { groups: [restricted-projects] }

877 cli:880 cli:

878 availableModels: [claude-opus-restricted]881 availableModels: [restricted-claude-opus-4-8]

879 enforceAvailableModels: true882 enforceAvailableModels: true

880 model: claude-opus-restricted883 model: restricted-claude-opus-4-8

884 env:

885 ANTHROPIC_DEFAULT_OPUS_MODEL: restricted-claude-opus-4-8 # opus and Default resolve to the ID too

881```886```

882 887 

883#### Valores de matcher que interrompem o gateway na inicialização888#### Valores de matcher que interrompem o gateway na inicialização


1148 1153 

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

1150 1155 

1156> [!NOTE]

1157>

1158> [`sshTransport`](https://claude.com/docs/third-party/claude-desktop/configuration#sshtransport) precisa do Claude Code v2.1.293 ou posterior no servidor do gateway.

1159 

1151Se você definir `orgPluginSettings` no bloco `desktop` de uma política, o gateway o serve na forma de array que o Claude Desktop 1.15200.0 e posteriores leem. Desktops mais antigos ignoram o array e não aplicam nenhuma política de ferramentas de plugin, então atualize os membros para 1.15200.0 ou posterior antes de depender disso.1160Se você definir `orgPluginSettings` no bloco `desktop` de uma política, o gateway o serve na forma de array que o Claude Desktop 1.15200.0 e posteriores leem. Desktops mais antigos ignoram o array e não aplicam nenhuma política de ferramentas de plugin, então atualize os membros para 1.15200.0 ou posterior antes de depender disso.

1152 1161 

1153##### Como uma política de função herda o bloco `desktop` base1162##### Como uma política de função herda o bloco `desktop` base


1398| `limits` | `max_request_bytes` | 32 MiB | Tamanho máximo do corpo da requisição de entrada; requisições grandes demais recebem `413` antes que o corpo seja armazenado em buffer. Aumente para requisições com arquivos ou imagens grandes. |1407| `limits` | `max_request_bytes` | 32 MiB | Tamanho máximo do corpo da requisição de entrada; requisições grandes demais recebem `413` antes que o corpo seja armazenado em buffer. Aumente para requisições com arquivos ou imagens grandes. |

1399| `limits` | `max_request_header_bytes` | não definido | Reduz o limite de 256 KiB do gateway para o total de cabeçalhos de uma requisição. Uma requisição acima do limite retorna `431`, e um valor acima de 256 KiB não tem efeito. Se os desenvolvedores receberem `431` após fazer login, consulte [Cabeçalhos de requisição grandes demais após o login](https://code.claude.com/docs/pt/claude-apps-gateway-deploy.md#request-headers-too-large-after-sign-in). |1408| `limits` | `max_request_header_bytes` | não definido | Reduz o limite de 256 KiB do gateway para o total de cabeçalhos de uma requisição. Uma requisição acima do limite retorna `431`, e um valor acima de 256 KiB não tem efeito. Se os desenvolvedores receberem `431` após fazer login, consulte [Cabeçalhos de requisição grandes demais após o login](https://code.claude.com/docs/pt/claude-apps-gateway-deploy.md#request-headers-too-large-after-sign-in). |

1400| `limits` | `max_url_length` | não definido | Quando definido, uma URL longa demais retorna `414` |1409| `limits` | `max_url_length` | não definido | Quando definido, uma URL longa demais retorna `414` |

1401| `timeouts` | `upstream_ttfb_ms` | 120000 | Espera máxima pelos cabeçalhos de resposta do upstream (tempo até o primeiro byte). O corpo da resposta é então transmitido sem limite de tempo total. Aplica-se ao caminho upstream direto da Anthropic; em todos os outros provedores, o gateway espera até uma hora para que a resposta comece. |1410| `timeouts` | `upstream_ttfb_ms` | 120000 | Espera máxima pelos cabeçalhos de resposta do upstream (tempo até o primeiro byte). O corpo da resposta é então transmitido sem limite de tempo total. Se a chave não estiver definida, o padrão se aplica a upstreams `provider: anthropic`, e em todos os outros provedores o gateway espera até uma hora para a resposta começar. Para encurtar essa espera, consulte [Vários upstreams](#multiple-upstreams). |

1402| `rate_limits` | `device_authorization.max` / `.window_seconds` | 30 / 600 | Rate limit por IP no endpoint de autorização de dispositivo não autenticado. Aumente para uma organização grande por trás de um IP de saída compartilhado ou NAT. [Implantações em larga escala](https://code.claude.com/docs/pt/claude-apps-gateway-deploy.md#large-rollouts) mostra como dimensioná-lo. Esses limites se aplicam apenas ao fluxo de login por concessão de dispositivo, não à inferência em `/v1/messages`. Consulte [Resistência a força bruta de código de usuário](https://code.claude.com/docs/pt/claude-apps-gateway-deploy.md#user-code-brute-force-resistance). |1411| `rate_limits` | `device_authorization.max` / `.window_seconds` | 30 / 600 | Rate limit por IP no endpoint de autorização de dispositivo não autenticado. Aumente para uma organização grande por trás de um IP de saída compartilhado ou NAT. [Implantações em larga escala](https://code.claude.com/docs/pt/claude-apps-gateway-deploy.md#large-rollouts) mostra como dimensioná-lo. Esses limites se aplicam apenas ao fluxo de login por concessão de dispositivo, não à inferência em `/v1/messages`. Consulte [Resistência a força bruta de código de usuário](https://code.claude.com/docs/pt/claude-apps-gateway-deploy.md#user-code-brute-force-resistance). |

1403| `rate_limits` | `device_verify.max` / `.window_seconds` | 10 / 600 | Rate limit por IP em envios de `user_code` em `/device`. É o que impede alguém de adivinhar o código de outro desenvolvedor. [Implantações em larga escala](https://code.claude.com/docs/pt/claude-apps-gateway-deploy.md#large-rollouts) mostra até quanto aumentá-lo. |1412| `rate_limits` | `device_verify.max` / `.window_seconds` | 10 / 600 | Rate limit por IP em envios de `user_code` em `/device`. É o que impede alguém de adivinhar o código de outro desenvolvedor. [Implantações em larga escala](https://code.claude.com/docs/pt/claude-apps-gateway-deploy.md#large-rollouts) mostra até quanto aumentá-lo. |

1404 1413 

Details

228 228 

229Teleport requer autenticação de assinatura claude.ai. Encontre o caso que corresponde ao seu:229Teleport requer autenticação de assinatura claude.ai. Encontre o caso que corresponde ao seu:

230 230 

231* **Você está autenticado via chave de API**: execute `/login` para se conectar com sua conta claude.ai em vez disso231* **Você está conectado com uma chave de API ou conta do Console**: execute `claude auth login` no seu shell e, em seguida, entre com claude.ai

232* **O erro nomeia seu provedor**: as sessões na nuvem não estão disponíveis através de provedores de terceiros. Consulte a [tabela de erros](#errors-when-sending-to-a-cloud-session)232* **O erro nomeia seu provedor**: as sessões na nuvem não estão disponíveis através de provedores de terceiros. Consulte a [tabela de erros](#errors-when-sending-to-a-cloud-session)

233* **Você já está conectado via claude.ai**: sua organização pode ter desabilitado as sessões na nuvem233* **Você já está conectado via claude.ai**: sua organização pode ter desabilitado as sessões na nuvem

234 234 


437 437 

438### Unable to get organization UUID438### Unable to get organization UUID

439 439 

440`claude --cloud` e `claude --teleport` requerem entrada com uma conta claude.ai. Se você autenticar com uma chave de API, ou se seus detalhes de conta armazenados estiverem obsoletos, você verá uma destas mensagens:440`claude --cloud` e `claude --teleport` requerem entrada com uma conta claude.ai. Se, em vez disso, você autenticar com uma chave de API ou com um login do Console, ou se seus detalhes de conta armazenados estiverem obsoletos, você verá uma mensagem como:

441 441 

442* `Unable to get organization UUID`442* `Unable to get organization UUID`

443* ``Cloud sessions need a claude.ai sign-in. Run `claude auth login` (or /login in a local session), then try again.``443* ``Cloud sessions need a claude.ai sign-in. Run `claude auth login` (or /login in a local session), then try again.``

444* ``Cloud sessions aren't available with this Console sign-in. They need a claude.ai sign-in. Run `claude auth login` (or /login in a local session), then try again.``

444* `Error loading Claude Code sessions` no seletor de sessão, quando você executa `claude --teleport` sem um ID de sessão445* `Error loading Claude Code sessions` no seletor de sessão, quando você executa `claude --teleport` sem um ID de sessão

445 446 

446Execute [`claude auth login`](https://code.claude.com/docs/pt/cli-reference#cli-commands) no seu shell para entrar com sua conta claude.ai, depois tente novamente o comando. Dentro de uma sessão em execução, `/login` faz o mesmo. Se o erro nomear seu provedor em vez disso, veja a [tabela de erros](#errors-when-sending-to-a-cloud-session): as sessões na nuvem não estão disponíveis através de provedores de terceiros.447Execute [`claude auth login`](https://code.claude.com/docs/pt/cli-reference#cli-commands) no seu shell para entrar com sua conta claude.ai, depois tente novamente o comando. Dentro de uma sessão em execução, `/login` faz o mesmo. Se o erro nomear seu provedor em vez disso, veja a [tabela de erros](#errors-when-sending-to-a-cloud-session): as sessões na nuvem não estão disponíveis através de provedores de terceiros.

Details

27 27 

28## Configuração28## Configuração

29 29 

30### Configure credenciais AWS30### Configure as credenciais da AWS

31 31 

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

33 33 

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

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

36 36 

37#### Usar credenciais AWS com SigV437#### Use credenciais da AWS com SigV4

38 38 

39Claude Code assina solicitações com SigV4 usando a cadeia de credenciais AWS padrão: variáveis de ambiente, credenciais compartilhadas em `~/.aws/credentials`, funções IAM, sessões AWS SSO e qualquer outra fonte que o AWS SDK suporte.39O Claude Code assina as requisições com SigV4 usando a cadeia padrão de credenciais da AWS: variáveis de ambiente, credenciais compartilhadas em `~/.aws/credentials`, funções do IAM, sessões do AWS SSO e quaisquer outras fontes compatíveis com o AWS SDK.

40 40 

41Para uso local, faça login com a AWS CLI antes de iniciar Claude Code. O exemplo abaixo usa um perfil SSO, mas qualquer método que produza credenciais nos locais padrão funciona.41Para uso local, faça login com a AWS CLI antes de iniciar o Claude Code. O exemplo abaixo usa um perfil de SSO, mas qualquer método que produza credenciais nos locais padrão funciona.

42 42 

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

44aws sso login --profile my-profile44aws sso login --profile my-profile

45export AWS_PROFILE=my-profile45export AWS_PROFILE=my-profile

46```46```

47 47 

48Para CI e automação, dê ao executor uma função IAM com permissão para invocar o serviço Anthropic e defina `AWS_REGION`. A cadeia de credenciais pega a função automaticamente.48Para CI e automação, atribua ao runner uma função do IAM com permissão para invocar o serviço da Anthropic e defina `AWS_REGION`. A cadeia de credenciais detecta a função automaticamente.

49 49 

50Se suas credenciais SSO expirarem durante a sessão, configure [`awsAuthRefresh`](https://code.claude.com/docs/pt/amazon-bedrock#advanced-credential-configuration) para que Claude Code execute novamente seu comando de login e tente novamente em vez de falhar. Adicione o comando ao seu [arquivo de configurações](https://code.claude.com/docs/pt/settings.md), como `~/.claude/settings.json`:50Se suas credenciais de SSO expirarem no meio da sessão, configure [`awsAuthRefresh`](https://code.claude.com/docs/pt/amazon-bedrock#advanced-credential-configuration) para que o Claude Code execute novamente seu comando de login e tente novamente em vez de falhar. Adicione o comando ao seu [arquivo de configurações](https://code.claude.com/docs/pt/settings.md), como `~/.claude/settings.json`:

51 51 

52```json theme={null}52```json theme={null}

53{53{


55}55}

56```56```

57 57 

58Claude Code também executa este comando na inicialização quando não consegue validar suas credenciais AWS existentes e mostra a saída do comando em um painel `Authentication` até que o login seja concluído.58O Claude Code também executa esse comando na inicialização quando não consegue validar suas credenciais da AWS existentes, e mostra a saída do comando em um painel `Authentication` até que o login seja concluído.

59 59 

60Com `awsAuthRefresh` configurado, execute `/login`, selecione **plataforma de terceiros**, depois selecione **Claude Platform on AWS · atualizar credenciais** em **Usando plataformas de terceiros**. Claude Code executa o comando configurado e relê suas credenciais AWS sem uma reinicialização.60Com `awsAuthRefresh` configurado, execute `/login`, selecione **3rd-party platform** e depois selecione **Claude Platform on AWS · refresh credentials** em **Using 3rd-party platforms**. O Claude Code executa o comando configurado e lê novamente suas credenciais da AWS sem reiniciar.

61 61 

62#### Usar uma chave de API do workspace62#### Use uma chave de API do workspace

63 63 

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

65 65 

66```bash theme={null}66```bash theme={null}

67export ANTHROPIC_AWS_API_KEY=sk-ant-xxxxx67export ANTHROPIC_AWS_API_KEY=sk-ant-xxxxx

68```68```

69 69 

70A chave é enviada como `x-api-key` e tem precedência sobre SigV4, portanto qualquer credencial AWS em seu ambiente é ignorada. Chaves de API de uma organização Claude Console separada não funcionarão aqui.70A chave é enviada como `x-api-key` e tem precedência sobre o SigV4, portanto quaisquer credenciais da AWS no seu ambiente são ignoradas. Chaves de API de uma organização separada do Claude Console não funcionam aqui.

71 71 

72Trate chaves de API do workspace como qualquer outra credencial de produção. O bloco `env` do [arquivo de configurações do usuário](https://code.claude.com/docs/pt/settings.md) é uma maneira conveniente de escopar a chave para sua máquina sem exportá-la globalmente.72Trate as chaves de API do workspace como qualquer outra credencial de produção. O bloco `env` do [arquivo de configurações do usuário](https://code.claude.com/docs/pt/settings.md) é uma forma conveniente de restringir a chave à sua máquina sem exportá-la globalmente.

73 73 

74> [!NOTE]74> [!NOTE]

75>75>

76> Os comandos `/login` e `/logout` não o autenticam em uma assinatura Claude.ai para Claude Platform on AWS. A autenticação é executada através de suas credenciais AWS ou chave de API do workspace.76> Os comandos `/login` e `/logout` não fazem login em uma assinatura do claude.ai para o Claude Platform on AWS. A autenticação é feita por meio das suas credenciais da AWS ou da chave de API do workspace.

77 77 

78### Configure Claude Code78### Configure o Claude Code

79 79 

80Defina as variáveis de ambiente que rotearão Claude Code através do Claude Platform on AWS em vez da API Anthropic padrão.80Defina as variáveis de ambiente que direcionam o Claude Code pelo Claude Platform on AWS em vez da API padrão da Anthropic.

81 81 

82```bash theme={null}82```bash theme={null}

83export CLAUDE_CODE_USE_ANTHROPIC_AWS=183export CLAUDE_CODE_USE_ANTHROPIC_AWS=1


85export AWS_REGION=us-east-185export AWS_REGION=us-east-1

86```86```

87 87 

88`ANTHROPIC_AWS_WORKSPACE_ID` é obrigatório. Claude Code o envia em cada solicitação como o cabeçalho `anthropic-workspace-id`. Substitua o valor de exemplo `wrkspc_01ABCDEFGHIJKLMN` pelo seu próprio ID de workspace da sua configuração Claude Platform on AWS.88`ANTHROPIC_AWS_WORKSPACE_ID` é obrigatório. O Claude Code o envia em cada requisição como o cabeçalho `anthropic-workspace-id`. Substitua o valor de exemplo `wrkspc_01ABCDEFGHIJKLMN` pelo ID do seu próprio workspace, obtido na configuração do seu Claude Platform on AWS.

89 89 

90Claude Code calcula a URL base como `https://aws-external-anthropic.{region}.api.aws` a partir da região AWS, que ele resolve com a [mesma precedência que Amazon Bedrock](https://code.claude.com/docs/pt/amazon-bedrock.md#3-configure-claude-code). Para substituir a URL diretamente, defina `ANTHROPIC_AWS_BASE_URL`.90O Claude Code calcula a URL base como `https://aws-external-anthropic.{region}.api.aws` a partir da região da AWS, que ele resolve com a [mesma precedência do Amazon Bedrock](https://code.claude.com/docs/pt/amazon-bedrock.md#3-configure-claude-code). Para sobrescrever a URL diretamente, defina `ANTHROPIC_AWS_BASE_URL`.

91 91 

92Claude Platform on AWS é opt-in mesmo quando credenciais AWS estão presentes em seu ambiente. Amazon Bedrock e Microsoft Foundry têm precedência no roteamento de provedores, portanto desdefina `CLAUDE_CODE_USE_BEDROCK` e `CLAUDE_CODE_USE_FOUNDRY` se estiverem definidas.92O Claude Platform on AWS é opcional mesmo quando há credenciais da AWS presentes no seu ambiente. O Amazon Bedrock e o Microsoft Foundry têm precedência no roteamento de provedores, portanto remova `CLAUDE_CODE_USE_BEDROCK` e `CLAUDE_CODE_USE_FOUNDRY` caso estejam definidas.

93 93 

94### Fixe versões de modelo94### Fixe as versões dos modelos

95 95 

96Claude Platform on AWS usa os mesmos IDs de modelo que a API Claude direta.96O Claude Platform on AWS usa os mesmos IDs de modelo da Claude API direta.

97 97 

98Os aliases padrão `fable`, `opus`, `sonnet` e `haiku` resolvem para os padrões integrados do Claude Code para Claude Platform on AWS, que podem ficar atrás da versão mais recente. Sem `ANTHROPIC_DEFAULT_OPUS_MODEL`, o alias `opus` resolve para Opus 5.5. Antes da v2.1.280, ele resolvia para Opus 5 a partir da v2.1.219.98Os aliases padrão `fable`, `opus`, `sonnet` e `haiku` são resolvidos para os padrões integrados do Claude Code para o Claude Platform on AWS, que podem ficar atrás da versão mais recente. Sem `ANTHROPIC_DEFAULT_OPUS_MODEL`, o alias `opus` é resolvido para o Opus 5.5. Antes da v2.1.280, ele era resolvido para o Opus 5 a partir da v2.1.219.

99 99 

100Se você implantar Claude Code para uma equipe, fixe os IDs de modelo explicitamente para que um novo lançamento não mova todos de uma vez:100Se você implanta o Claude Code para uma equipe, fixe os IDs de modelo explicitamente para que uma nova versão não mude todos de uma só vez:

101 101 

102```bash theme={null}102```bash theme={null}

103export ANTHROPIC_DEFAULT_FABLE_MODEL=claude-fable-5103export ANTHROPIC_DEFAULT_FABLE_MODEL=claude-fable-5


106export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5106export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5

107```107```

108 108 

109Para a lista completa de IDs de modelo e aliases, consulte [Visão geral de modelos](https://platform.claude.com/docs/en/about-claude/models/overview). Para outras variáveis relacionadas a modelos, consulte [Configuração de modelo](https://code.claude.com/docs/pt/model-config.md).109Para a lista completa de IDs de modelo e aliases, consulte [Visão geral dos modelos](https://platform.claude.com/docs/en/about-claude/models/overview). Para outras variáveis relacionadas a modelos, consulte [Configuração de modelos](https://code.claude.com/docs/pt/model-config.md).

110 110 

111[Prompt caching](https://code.claude.com/docs/pt/prompt-caching.md) é ativado automaticamente. Para solicitar um TTL de cache de 1 hora em vez do padrão de 5 minutos, defina `ENABLE_PROMPT_CACHING_1H=1`. A API cobra gravações de cache de 1 hora a uma taxa mais alta. Consulte [preços de prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing) para as taxas.111O [cache de prompt](https://code.claude.com/docs/pt/prompt-caching.md) é ativado automaticamente. Para solicitar um TTL de cache de 1 hora em vez do padrão de 5 minutos, defina `ENABLE_PROMPT_CACHING_1H=1`. A API cobra gravações de cache de 1 hora a uma taxa mais alta. Consulte [preços do cache de prompt](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing) para ver as taxas.

112 112 

113Para definir TTLs diferentes para sua conversa principal e para as solicitações que Claude Code faz fora dela, [escolha o TTL você mesmo](https://code.claude.com/docs/pt/prompt-caching.md#choose-the-ttl-yourself).113Para definir TTLs diferentes para sua conversa principal e para as requisições que o Claude Code faz fora dela, [escolha o TTL você mesmo](https://code.claude.com/docs/pt/prompt-caching.md#choose-the-ttl-yourself).

114 114 

115### Inicie e verifique115### Inicie e verifique

116 116 

117Inicie Claude Code e confirme o roteamento:117Inicie o Claude Code e confirme o roteamento:

118 118 

119```bash theme={null}119```bash theme={null}

120claude120claude

121```121```

122 122 

123O banner de inicialização mostra `Claude Platform on AWS` quando o provedor está ativo. Execute `/status` para verificar os detalhes: a linha `API provider` lê `Claude Platform on AWS` e a saída inclui seu `Workspace ID`, a `AWS region` e a `Claude Platform on AWS base URL` se você definir uma substituição.123O banner de inicialização mostra `Claude Platform on AWS` quando o provedor está ativo. Execute `/status` para verificar os detalhes: a linha `API provider` exibe `Claude Platform on AWS`, e a saída inclui seu `Workspace ID`, a `AWS region` e a `Claude Platform on AWS base URL` se você definiu uma substituição.

124 124 

125## Use o Agent SDK125## Use o Agent SDK

126 126 

Details

99 99 

100Estes requisitos decidem se você pode adicionar um segredo e se o proxy do agente pode usá-lo depois de adicionado:100Estes requisitos decidem se você pode adicionar um segredo e se o proxy do agente pode usá-lo depois de adicionado:

101 101 

102* **Função**: em planos Pro, Max e Team, você pode adicionar e excluir segredos em seus próprios ambientes, qualquer que seja sua função. Em Team e Enterprise, Proprietários têm uma função de administrador da organização em sua organização claude.ai e Administradores não, o que muda o que você vê nestes casos:102* **Função**: em todos os planos, você pode adicionar e excluir segredos em seus próprios ambientes, qualquer que seja sua função. Em Team e Enterprise, Proprietários têm uma função de administrador da organização em sua organização claude.ai e Administradores não, o que muda o que você vê nestes casos:

103 * **Seu próprio ambiente no Enterprise**: com uma função de administrador da organização, você adiciona e exclui segredos. Sem ela, a linha **Network secrets** abre a lista de segredos com a nota "Only an organization admin can add or delete network secrets" e sem botão **Add secret** ou de exclusão. Peça a um Proprietário para adicionar o segredo a um [ambiente compartilhado](#organization-shared-environments) e depois execute suas sessões lá103 * **Seu próprio ambiente**: sem uma função de administrador da organização, **Add secret** abre um [formulário mais curto](#add-a-secret-without-the-role)

104 * **Um ambiente compartilhado**: Proprietários [adicionam e excluem seus segredos](#add-a-credential) nas configurações de administrador. Sem uma função de administrador da organização, peça a um Proprietário para adicionar o segredo, porque o diálogo do ambiente não tem a seção **Network secrets**104 * **Um ambiente compartilhado**: Proprietários [adicionam e excluem seus segredos](#add-a-credential) nas configurações de administrador. Sem uma função de administrador da organização, peça a um Proprietário para adicionar o segredo, porque o diálogo do ambiente não tem a seção **Network secrets**

105 * **Seu próprio ambiente no Team**: sem uma função de administrador da organização, **Add secret** abre um [formulário mais curto](#add-a-secret-without-the-role) que aceita um host

106* **Tipo de ambiente**: um ambiente na nuvem hospedado pela Anthropic que já existe. Um [ambiente auto-hospedado](https://code.claude.com/docs/pt/self-hosted-environments) não tem segredos de rede105* **Tipo de ambiente**: um ambiente na nuvem hospedado pela Anthropic que já existe. Um [ambiente auto-hospedado](https://code.claude.com/docs/pt/self-hosted-environments) não tem segredos de rede

107* **Acessibilidade de API**: a API aceita conexões da internet, porque as solicitações saem da rede da Anthropic106* **Acessibilidade de API**: a API aceita conexões da internet, porque as solicitações saem da rede da Anthropic

108* **Chaves de criptografia**: se sua organização usa chaves de criptografia gerenciadas pelo cliente, você não pode salvar segredos de rede107* **Chaves de criptografia**: se sua organização usa chaves de criptografia gerenciadas pelo cliente, você não pode salvar segredos de rede


111 110 

112Você adiciona segredos um de cada vez. Para alterar os hosts ou o valor de um segredo, exclua-o e adicione-o novamente.111Você adiciona segredos um de cada vez. Para alterar os hosts ou o valor de um segredo, exclua-o e adicione-o novamente.

113 112 

114Para adicionar um segredo a um [ambiente compartilhado](#organization-shared-environments), abra-o para edição a partir da página **Cloud environments** nas [configurações de administrador](https://claude.ai/admin-settings) e continue a partir da etapa 2 na seção **Network secrets** dele. Se você está em um plano Team e não tem uma [função de administrador da organização](#requirements), siga a etapa 1 em seu próprio ambiente e depois [preencha o formulário mais curto](#add-a-secret-without-the-role).113Para adicionar um segredo a um [ambiente compartilhado](#organization-shared-environments), abra-o para edição a partir da página **Cloud environments** nas [configurações de administrador](https://claude.ai/admin-settings) e continue a partir da etapa 2 na seção **Network secrets** dele. Se você está em um plano Team ou Enterprise e não tem uma [função de administrador da organização](#requirements), siga a etapa 1 em seu próprio ambiente e depois [preencha o formulário mais curto](#add-a-secret-without-the-role).

115 114 

116**1. Abra os segredos de rede do ambiente**115**1. Abra os segredos de rede do ambiente**

117 116 


133 132 

134Para confirmar que o segredo funciona, inicie uma sessão no ambiente e peça a Claude para chamar a API, por exemplo com `curl`. A API responde como se a chave estivesse na requisição, e a chave não aparece nas variáveis de ambiente da sessão ou em nenhum arquivo. Se a lista marca um segredo como **Not sent** em vez disso, a nota abaixo dele diz por quê e o que fazer. Dois segredos cujos hosts se sobrepõem sem corresponder exatamente não recebem nenhum marcador, e o proxy do agente envia apenas um deles.133Para confirmar que o segredo funciona, inicie uma sessão no ambiente e peça a Claude para chamar a API, por exemplo com `curl`. A API responde como se a chave estivesse na requisição, e a chave não aparece nas variáveis de ambiente da sessão ou em nenhum arquivo. Se a lista marca um segredo como **Not sent** em vez disso, a nota abaixo dele diz por quê e o que fazer. Dois segredos cujos hosts se sobrepõem sem corresponder exatamente não recebem nenhum marcador, e o proxy do agente envia apenas um deles.

135 134 

136#### Adicione um segredo em um plano Team sem uma função de administrador da organização135#### Adicione um segredo sem uma função de administrador da organização

137 136 

138Se você está em um plano Team e não tem uma [função de administrador da organização](#requirements), o formulário **Add secret** aceita um segredo para um host. Selecione a [linha **Network secrets**](#add-a-credential) do seu ambiente e depois **Add secret**. Preencha estes campos e selecione o botão **Add secret** do formulário:137Se você está em um plano Team ou Enterprise e não tem uma [função de administrador da organização](#requirements), o formulário **Add secret** aceita um segredo para um host. Selecione a [linha **Network secrets**](#add-a-credential) do seu ambiente e depois **Add secret**. Preencha estes campos e selecione o botão **Add secret** do formulário:

139 138 

140* **Host**: o único host que recebe o segredo, como `api.example.com`. O formulário não aceita um curinga `*.`139* **Host**: o único host que recebe o segredo, como `api.example.com`. O formulário não aceita um curinga `*.`

141* **Name**: um rótulo opcional para o segredo140* **Name**: um rótulo opcional para o segredo

Details

36Os seguintes processos não iniciam através do launcher:36Os seguintes processos não iniciam através do launcher:

37 37 

38* Uma sessão que você inicia você mesmo em um terminal, que executa da forma como você a invocou. Para cobrir essas sessões, coloque um script chamado `claude` em um diretório anterior no `PATH` que executa seu launcher com o binário real; não substitua o symlink gerenciado. O serviço de fundo e suas sessões iniciam sem uma consulta `PATH`, então os dois launchers não se empilham lá.38* Uma sessão que você inicia você mesmo em um terminal, que executa da forma como você a invocou. Para cobrir essas sessões, coloque um script chamado `claude` em um diretório anterior no `PATH` que executa seu launcher com o binário real; não substitua o symlink gerenciado. O serviço de fundo e suas sessões iniciam sem uma consulta `PATH`, então os dois launchers não se empilham lá.

39* O primeiro processo de um deep link `claude-cli://`, que o manipulador de protocolo do sistema operacional inicia diretamente. Tudo que essa sessão inicia em segundo plano depois executa através do launcher. Para fechar esse caminho completamente, [impeça o registro do manipulador](https://code.claude.com/docs/pt/deep-links.md#registration-and-supported-platforms) com a configuração `disableDeepLinkRegistration`.39* Uma sessão aberta a partir de um deep link `claude-cli://`, que inicia em um novo terminal sem o seu launcher. Para impedir que deep links abram sessões para um novo usuário, defina [`disableDeepLinkRegistration`](https://code.claude.com/docs/pt/settings-reference#disabledeeplinkregistration) como `"disable"` antes que esse usuário execute Claude Code pela primeira vez. Para um usuário que já tem um [manipulador registrado](https://code.claude.com/docs/pt/deep-links.md#registration-and-supported-platforms), os deep links continuam abrindo sessões, porque a configuração não remove o manipulador.

40* O relançamento que `--worktree` combinado com `--tmux` realiza: o multiplexador de terminal inicia esse painel, não o binário do Claude Code.40* O relançamento que `--worktree` combinado com `--tmux` realiza: o multiplexador de terminal inicia esse painel, não o binário do Claude Code.

41* O host de native-messaging que [Claude in Chrome](https://code.claude.com/docs/pt/chrome.md) registra: o navegador o inicia, não o binário do Claude Code.41* O host de native-messaging que [Claude in Chrome](https://code.claude.com/docs/pt/chrome.md) registra: o navegador o inicia, não o binário do Claude Code.

42 42 

desktop.md +6 −6

Details

43Antes de enviar sua primeira mensagem, escolha o ambiente, a pasta do projeto, o modo de permissão e o modelo na linha abaixo da caixa de prompt:43Antes de enviar sua primeira mensagem, escolha o ambiente, a pasta do projeto, o modo de permissão e o modelo na linha abaixo da caixa de prompt:

44 44 

45* **Ambiente**: use o seletor de ambiente, o primeiro controle da linha, para escolher onde Claude é executado. Veja [configuração de ambiente](#environment-configuration).45* **Ambiente**: use o seletor de ambiente, o primeiro controle da linha, para escolher onde Claude é executado. Veja [configuração de ambiente](#environment-configuration).

46 * Se uma nova sessão não tiver um seletor de ambiente abaixo da caixa de prompt, siga as [etapas do layout anterior](#check-which-layout-you-have).46 * Se uma nova sessão não mostrar nenhum ambiente abaixo da caixa de prompt, siga as [etapas do layout anterior](#check-which-layout-you-have).

47* **Pasta do projeto**: clique no controle de pasta do projeto, ao lado do seletor de ambiente, para escolher a pasta em que Claude trabalha.47* **Pasta do projeto**: clique no controle de pasta do projeto, ao lado do seletor de ambiente, para escolher a pasta em que Claude trabalha.

48 * **Sessão na nuvem**: selecione [repositórios](#run-long-running-tasks-in-the-cloud) em vez de uma pasta48 * **Sessão na nuvem**: selecione [repositórios](#run-long-running-tasks-in-the-cloud) em vez de uma pasta

49 * **[Ambiente local ou SSH salvo](#create-a-saved-environment)**: o ambiente já contém suas pastas, então a linha não mostra nenhum controle de pasta do projeto. Para alterar as pastas, [edite o ambiente](#use-edit-or-remove-a-saved-environment).49 * **[Ambiente local ou SSH salvo](#create-a-saved-environment)**: o ambiente já contém suas pastas, então a linha não mostra nenhum controle de pasta do projeto. Para alterar as pastas, [edite o ambiente](#use-edit-or-remove-a-saved-environment).


861 861 

862> [!NOTE]862> [!NOTE]

863>863>

864> Se o seu seletor de ambiente estiver acima da caixa de prompt, você tem o [layout anterior](#check-which-layout-you-have), que não tem ambientes locais salvos. Use o [editor de ambiente local](#use-the-local-environment-editor) em vez disso.864> Se uma nova sessão não mostrar nenhum ambiente abaixo da caixa de prompt, você tem o [layout anterior](#check-which-layout-you-have), que não tem ambientes locais salvos. Use o [editor de ambiente local](#use-the-local-environment-editor) em vez disso.

865 865 

866**1. Abrir o formulário de um ambiente local**866**1. Abrir o formulário de um ambiente local**

867 867 


963>963>

964> Se você usa o Desktop com um [provedor terceirizado](https://code.claude.com/docs/pt/third-party-integrations.md), as sessões SSH precisam de sua própria configuração. Consulte [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions).964> Se você usa o Desktop com um [provedor terceirizado](https://code.claude.com/docs/pt/third-party-integrations.md), as sessões SSH precisam de sua própria configuração. Consulte [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions).

965 965 

966Adicione uma conexão SSH na [caixa de diálogo **New environment**](#create-a-saved-environment) e, em seguida, inicie uma sessão nessa conexão. Se uma nova sessão não tiver um seletor de ambiente abaixo da caixa de prompt, você tem o layout anterior. Consulte [Verificar qual layout você tem](#check-which-layout-you-have).966Adicione uma conexão SSH no [diálogo **New environment**](#create-a-saved-environment) e, em seguida, inicie uma sessão nessa conexão. Se uma nova sessão não mostrar nenhum ambiente abaixo da caixa de prompt, você tem o layout anterior. Consulte [Verificar qual layout você tem](#check-which-layout-you-have).

967 967 

968**1. Abra a caixa de diálogo New environment**968**1. Abra a caixa de diálogo New environment**

969 969 


2122 2122 

2123### Verificar qual layout você tem2123### Verificar qual layout você tem

2124 2124 

2125Se uma nova sessão não tem um [seletor de ambiente](#start-a-session) abaixo da caixa de prompt, você tem o layout anterior:2125Se uma nova sessão mostra o [ambiente](#start-a-session) acima da caixa de prompt em vez de abaixo dela, você tem o layout anterior:

2126 2126 

2127* **[Desktop anterior à v2.37337.0](#check-your-version)**: atualize para obter o layout atual. Selecione **Claude > Check for Updates…** no macOS ou **Help > Check for Updates…** no Windows.2127* **[Desktop anterior à v2.37337.0](#check-your-version)**: atualize para obter o layout atual. Selecione **Claude > Check for Updates…** no macOS ou **Help > Check for Updates…** no Windows.

2128* **[Provedor terceirizado](https://code.claude.com/docs/pt/third-party-integrations.md) com sessões no seu computador**: o layout atual requer o Claude Desktop v3.1623.0 ou posterior, então [verifique sua versão](#check-your-version). Para atualizar, selecione **Claude > Check for Updates…** no macOS ou **Help > Check for Updates…** no Windows. Se sua organização [desativar as atualizações automáticas](#device-management-policies), **Check for Updates…** fica oculto, então peça ao seu administrador a v3.1623.0 ou posterior.2128* **[Provedor terceirizado](https://code.claude.com/docs/pt/third-party-integrations.md) com sessões no seu computador**: o layout atual requer o Claude Desktop v3.1623.0 ou posterior, então [verifique sua versão](#check-your-version). Para atualizar, selecione **Claude > Check for Updates…** no macOS ou **Help > Check for Updates…** no Windows. Se sua organização [desativar as atualizações automáticas](#device-management-policies), **Check for Updates…** fica oculto, então peça ao seu administrador a v3.1623.0 ou posterior.

2129* **Provedor terceirizado com sessões na infraestrutura da sua organização**: quando sua organização executa sessões em sua própria infraestrutura em vez de no seu computador, o Desktop mantém o layout anterior, e atualizar não altera o layout. Se você não sabe onde suas sessões são executadas, pergunte ao seu administrador.2129* **Provedor terceirizado com sessões na infraestrutura da sua organização**: o layout atual requer o Claude Desktop v4.29.0 ou posterior, então [verifique sua versão](#check-your-version). Se você estiver em uma versão mais antiga, peça ao seu administrador a v4.29.0 ou posterior. Se você não sabe onde suas sessões são executadas, pergunte ao seu administrador.

2130 2130 

2131No layout anterior, escolha o ambiente e a pasta do projeto acima da caixa de prompt, e o modo de permissão e o modelo na linha abaixo dela. O layout anterior não tem o [painel de detalhes da sessão](#see-session-details) nem os [ambientes locais e SSH salvos](#create-a-saved-environment).2131No layout anterior, escolha o ambiente e qualquer pasta de projeto ou repositório acima da caixa de prompt, e o modo de permissão e o modelo na linha abaixo dela. O layout anterior não tem o [painel de detalhes da sessão](#see-session-details) nem os [ambientes locais e SSH salvos](#create-a-saved-environment).

2132 2132 

2133### Erros 403 ou autenticação na aba Code2133### Erros 403 ou autenticação na aba Code

2134 2134 

Details

57 57 

58Na [linha abaixo da caixa de prompt](https://code.claude.com/docs/pt/desktop.md#start-a-session), clique no primeiro controle, o seletor de ambiente, e selecione a primeira entrada no grupo **Local**. Em seguida, clique no controle de pasta do projeto ao lado do seletor de ambiente, selecione **Open folder…** e escolha o diretório do seu projeto.58Na [linha abaixo da caixa de prompt](https://code.claude.com/docs/pt/desktop.md#start-a-session), clique no primeiro controle, o seletor de ambiente, e selecione a primeira entrada no grupo **Local**. Em seguida, clique no controle de pasta do projeto ao lado do seletor de ambiente, selecione **Open folder…** e escolha o diretório do seu projeto.

59 59 

60Se nenhum seletor de ambiente aparecer abaixo da sua caixa de prompt, você tem o layout anterior. Veja [Verifique qual layout você tem](https://code.claude.com/docs/pt/desktop.md#check-which-layout-you-have).60Se uma nova sessão não mostrar nenhum ambiente abaixo da sua caixa de prompt, você tem o layout anterior. Veja [Verifique qual layout você tem](https://code.claude.com/docs/pt/desktop.md#check-which-layout-you-have).

61 61 

62> [!TIP]62> [!TIP]

63>63>

devcontainer.md +1 −1

Details

79 79 

80> [!NOTE]80> [!NOTE]

81>81>

82> Se a entrada do navegador for concluída mas o callback nunca chegar ao contêiner, copie o código mostrado no navegador e cole-o no prompt `Paste code here if prompted` no terminal. Isso pode acontecer quando o encaminhamento de porta do editor não roteia o callback localhost.82> Para a entrada com a Anthropic: se nenhum navegador abrir, ou se ele fizer seu login e depois mostrar um erro de conexão `localhost`, use a URL de login exibida acima do prompt de colagem do terminal. Copie-a para o seu navegador, entre por lá e depois cole nesse prompt o código que o navegador mostrar. Se colar não fizer nada, veja [OAuth login fails in WSL2, SSH, or containers](https://code.claude.com/docs/pt/troubleshoot-install.md#oauth-login-fails-in-wsl2-ssh-or-containers).

83 83 

84## Persistir autenticação e configurações entre reconstruções84## Persistir autenticação e configurações entre reconstruções

85 85 

env-vars.md +3 −3

Details

233| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Defina como `1` para desativar o processamento de anexos. Menções a arquivos com a sintaxe `@` são enviadas como texto simples em vez de serem expandidas no conteúdo do arquivo. Ignorado em [configurações de projeto e locais](https://code.claude.com/docs/pt/settings-reference.md#variables-claude-code-ignores-in-env) |233| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Defina como `1` para desativar o processamento de anexos. Menções a arquivos com a sintaxe `@` são enviadas como texto simples em vez de serem expandidas no conteúdo do arquivo. Ignorado em [configurações de projeto e locais](https://code.claude.com/docs/pt/settings-reference.md#variables-claude-code-ignores-in-env) |

234| `CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK` | Defina como `1` para fazer um processo do Claude Code executar ele mesmo seu comando [`gcpAuthRefresh`](https://code.claude.com/docs/pt/settings-reference#gcpauthrefresh) ou [`awsAuthRefresh`](https://code.claude.com/docs/pt/settings-reference#awsauthrefresh), em vez de esperar enquanto outro processo o executa. Requer o Claude Code v2.1.286 ou posterior |234| `CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK` | Defina como `1` para fazer um processo do Claude Code executar ele mesmo seu comando [`gcpAuthRefresh`](https://code.claude.com/docs/pt/settings-reference#gcpauthrefresh) ou [`awsAuthRefresh`](https://code.claude.com/docs/pt/settings-reference#awsauthrefresh), em vez de esperar enquanto outro processo o executa. Requer o Claude Code v2.1.286 ou posterior |

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

236| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Defina como `1` para remover o parâmetro `run_in_background` das ferramentas Bash, PowerShell e de subagente, e para desativar o atalho Ctrl+B e as execuções em segundo plano de [skills bifurcadas](https://code.claude.com/docs/pt/skills.md#run-skills-in-a-subagent). O Claude Code então também deixa de mover automaticamente para segundo plano subagentes, chamadas longas de ferramentas MCP e comandos de shell que atingiram o timeout. [Tarefas MCP](https://code.claude.com/docs/pt/mcp.md#make-claude-wait-for-the-result-of-an-mcp-task) e a [ferramenta Monitor](https://code.claude.com/docs/pt/tools-reference.md#monitor-tool) continuam sendo executadas em segundo plano |236| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Defina como `1` para remover o parâmetro `run_in_background` das ferramentas Bash, PowerShell e de subagente e para desativar o atalho Ctrl+B e as execuções em segundo plano de [skills bifurcadas](https://code.claude.com/docs/pt/skills.md#run-skills-in-a-subagent). O Claude Code então também deixa de mover automaticamente para segundo plano subagentes, chamadas longas de ferramentas MCP e comandos de shell que atingiram o timeout. As [tarefas MCP](https://code.claude.com/docs/pt/mcp.md#make-claude-wait-for-the-result-of-an-mcp-task) e a [ferramenta Monitor](https://code.claude.com/docs/pt/tools-reference.md#monitor-tool) continuam sendo executadas em segundo plano. Para desativar também as [sessões em segundo plano](https://code.claude.com/docs/pt/agent-view.md#turn-off-agent-view), defina `CLAUDE_CODE_DISABLE_AGENT_VIEW` como `1` |

237| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | Defina como `1` para impedir que o Claude Code trate uma resposta por streaming do [Amazon Bedrock](https://code.claude.com/docs/pt/amazon-bedrock.md) com um cabeçalho `Content-Type` ausente ou vazio como o fluxo de eventos binário do Amazon Bedrock. Por padrão, o Claude Code presume que um gateway removeu o cabeçalho de uma resposta que, fora isso, não foi modificada, então ele decodifica o corpo e o streaming continua funcionando. Defina isto apenas para um gateway que também reemite o fluxo como server-sent events; o Claude Code então lê o corpo sem cabeçalho como server-sent events. Requer o Claude Code v2.1.239 ou posterior |237| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | Defina como `1` para impedir que o Claude Code trate uma resposta por streaming do [Amazon Bedrock](https://code.claude.com/docs/pt/amazon-bedrock.md) com um cabeçalho `Content-Type` ausente ou vazio como o fluxo de eventos binário do Amazon Bedrock. Por padrão, o Claude Code presume que um gateway removeu o cabeçalho de uma resposta que, fora isso, não foi modificada, então ele decodifica o corpo e o streaming continua funcionando. Defina isto apenas para um gateway que também reemite o fluxo como server-sent events; o Claude Code então lê o corpo sem cabeçalho como server-sent events. Requer o Claude Code v2.1.239 ou posterior |

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

239| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Defina como `1` para interromper o trabalho em andamento de uma [sessão em segundo plano](https://code.claude.com/docs/pt/agent-view.md) quando o [supervisor](https://code.claude.com/docs/pt/agent-view.md#the-supervisor-process) parar, reiniciar ou atualizar o processo dessa sessão, em vez de entregá-lo ao próximo processo da sessão. Esse trabalho consiste nos comandos de shell em segundo plano em execução da sessão, além dos subagentes em segundo plano a partir da v2.1.198. Afeta apenas essa transferência: enviar uma sessão para segundo plano com `←` ou [`/background`](https://code.claude.com/docs/pt/agent-view#from-inside-a-session) continua transferindo o trabalho em segundo plano em andamento. Requer o Claude Code v2.1.196 ou posterior |239| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Defina como `1` para interromper o trabalho em andamento de uma [sessão em segundo plano](https://code.claude.com/docs/pt/agent-view.md) quando o [supervisor](https://code.claude.com/docs/pt/agent-view.md#the-supervisor-process) parar, reiniciar ou atualizar o processo dessa sessão, em vez de entregá-lo ao próximo processo da sessão. Esse trabalho consiste nos comandos de shell em segundo plano em execução da sessão, além dos subagentes em segundo plano a partir da v2.1.198. Afeta apenas essa transferência: enviar uma sessão para segundo plano com `←` ou [`/background`](https://code.claude.com/docs/pt/agent-view#from-inside-a-session) continua transferindo o trabalho em segundo plano em andamento. Requer o Claude Code v2.1.196 ou posterior |


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

277| `CLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHER` | Defina como `1` para iniciar comandos da [ferramenta PowerShell](https://code.claude.com/docs/pt/tools-reference.md#powershell-tool) no Windows diretamente, em vez de por meio do inicializador `cmd.exe`. Por padrão, o inicializador permite que um comando PowerShell [em execução em segundo plano](https://code.claude.com/docs/pt/tools-reference.md#background-commands) [passe para o próximo processo da sessão](https://code.claude.com/docs/pt/agent-view.md#the-supervisor-process), como quando você [coloca a sessão em segundo plano](https://code.claude.com/docs/pt/agent-view.md#from-inside-a-session). Se você definir a variável, um comando PowerShell em segundo plano é interrompido quando o processo da sessão termina. Comandos Bash não são afetados. Requer Claude Code v2.1.269 ou posterior |277| `CLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHER` | Defina como `1` para iniciar comandos da [ferramenta PowerShell](https://code.claude.com/docs/pt/tools-reference.md#powershell-tool) no Windows diretamente, em vez de por meio do inicializador `cmd.exe`. Por padrão, o inicializador permite que um comando PowerShell [em execução em segundo plano](https://code.claude.com/docs/pt/tools-reference.md#background-commands) [passe para o próximo processo da sessão](https://code.claude.com/docs/pt/agent-view.md#the-supervisor-process), como quando você [coloca a sessão em segundo plano](https://code.claude.com/docs/pt/agent-view.md#from-inside-a-session). Se você definir a variável, um comando PowerShell em segundo plano é interrompido quando o processo da sessão termina. Comandos Bash não são afetados. Requer Claude Code v2.1.269 ou posterior |

278| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Defina como `1` para desativar [workflows](https://code.claude.com/docs/pt/workflows.md#turn-workflows-off). Equivalente à configuração [`disableWorkflows`](https://code.claude.com/docs/pt/settings-reference#disableworkflows) |278| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Defina como `1` para desativar [workflows](https://code.claude.com/docs/pt/workflows.md#turn-workflows-off). Equivalente à configuração [`disableWorkflows`](https://code.claude.com/docs/pt/settings-reference#disableworkflows) |

279| `CLAUDE_CODE_EFFORT_LEVEL` | Define o nível de esforço para os modelos compatíveis. Valores: `low`, `medium`, `high`, `xhigh`, `max` ou `auto` para usar o padrão do modelo. Os níveis disponíveis dependem do modelo. Tem precedência sobre `--effort`, `/effort` e as configurações `modelSettings` e `effortLevel`. Um limite [`maxEffortLevel`](https://code.claude.com/docs/pt/settings-reference#maxeffortlevel) ainda se aplica. Consulte [Ajustar o nível de esforço](https://code.claude.com/docs/pt/model-config.md#adjust-effort-level) |279| `CLAUDE_CODE_EFFORT_LEVEL` | Define o nível de esforço para os modelos compatíveis. Valores: `low`, `medium`, `high`, `xhigh` ou `max`. Os níveis disponíveis dependem do modelo. Tem precedência sobre `--effort`, `/effort` e as configurações `modelSettings` e `effortLevel`. Um limite [`maxEffortLevel`](https://code.claude.com/docs/pt/settings-reference#maxeffortlevel) ainda se aplica. Defina como `auto` ou `unset` para que o Claude Code [não envie nenhum nível de esforço](https://code.claude.com/docs/pt/model-config.md#send-no-effort-level), de modo que a API aplique seu próprio padrão para o modelo. Consulte [Ajustar o nível de esforço](https://code.claude.com/docs/pt/model-config.md#adjust-effort-level) |

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

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

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


584* Obter a [ferramenta PowerShell](https://code.claude.com/docs/pt/tools-reference.md#powershell-tool) por padrão para contas do claude.ai e do Console no Windows com o Git Bash instalado; o Claude Code encaminha os comandos de shell pelo Git Bash, a menos que você defina `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`. No Windows sem o Git Bash, a ferramenta permanece ativada584* Obter a [ferramenta PowerShell](https://code.claude.com/docs/pt/tools-reference.md#powershell-tool) por padrão para contas do claude.ai e do Console no Windows com o Git Bash instalado; o Claude Code encaminha os comandos de shell pelo Git Bash, a menos que você defina `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`. No Windows sem o Git Bash, a ferramenta permanece ativada

585* Obter [feedback rascunhado pelo Claude](https://code.claude.com/docs/pt/tools-reference.md#sendfeedback-tool-behavior), que o Claude Code ativa por meio de uma flag buscada585* Obter [feedback rascunhado pelo Claude](https://code.claude.com/docs/pt/tools-reference.md#sendfeedback-tool-behavior), que o Claude Code ativa por meio de uma flag buscada

586* Fazer o Claude [tratar colagens grandes como texto colado em vez de digitado](https://code.claude.com/docs/pt/terminal-config.md#how-claude-treats-pasted-text); o conteúdo por trás de um placeholder `[Pasted text #N]` chega ao Claude sem marcação586* Fazer o Claude [tratar colagens grandes como texto colado em vez de digitado](https://code.claude.com/docs/pt/terminal-config.md#how-claude-treats-pasted-text); o conteúdo por trás de um placeholder `[Pasted text #N]` chega ao Claude sem marcação

587* Fazer o Claude Code [excluir ferramentas MCP cujo esquema de entrada a API rejeitaria](https://code.claude.com/docs/pt/mcp.md#tools-with-invalid-input-schemas); ele envia o esquema mesmo assim, e uma requisição que o inclui falha com [um erro 400 que identifica a ferramenta pela sua posição](https://code.claude.com/docs/pt/errors.md#tool-input-schema-is-invalid)587* Fazer o Claude Code [excluir ferramentas MCP cujo esquema de entrada a API rejeitaria](https://code.claude.com/docs/pt/mcp.md#tools-with-invalid-input-schemas)

588* Fazer o Claude Code [compactar uma conversa longa enquanto sua sessão de terminal está ociosa](https://code.claude.com/docs/pt/settings-reference.md#idlecompaction), pouco antes de um cache de prompt de uma hora expirar588* Fazer o Claude Code [compactar uma conversa longa enquanto sua sessão de terminal está ociosa](https://code.claude.com/docs/pt/settings-reference.md#idlecompaction), pouco antes de um cache de prompt de uma hora expirar

589 589 

590### Primeira sessão após uma instalação ou atualização590### Primeira sessão após uma instalação ou atualização

errors.md +45 −11

Details

219| `Cloud sessions use your claude.ai login`, no final de uma negação de política que nomeia uma credencial | [Command-line errors](#cloud-sessions-use-your-claude-ai-login) |219| `Cloud sessions use your claude.ai login`, no final de uma negação de política que nomeia uma credencial | [Command-line errors](#cloud-sessions-use-your-claude-ai-login) |

220| `Couldn't verify your organization's policy for cloud sessions` | [Command-line errors](#couldnt-verify-your-organizations-policy-for-cloud-sessions) |220| `Couldn't verify your organization's policy for cloud sessions` | [Command-line errors](#couldnt-verify-your-organizations-policy-for-cloud-sessions) |

221| `Cloud sessions aren't available:` seguido do motivo pelo qual a política da sua organização não pôde ser carregada | [Command-line errors](#couldnt-verify-your-organizations-policy-for-cloud-sessions) |221| `Cloud sessions aren't available:` seguido do motivo pelo qual a política da sua organização não pôde ser carregada | [Command-line errors](#couldnt-verify-your-organizations-policy-for-cloud-sessions) |

222| `Cloud sessions aren't available with this Console sign-in. They need a claude.ai sign-in.` | [Não é possível obter o UUID da organização](https://code.claude.com/docs/pt/claude-code-on-the-web.md#unable-to-get-organization-uuid) |

222| `Cloud sessions need a claude.ai sign-in` | [Unable to get organization UUID](https://code.claude.com/docs/pt/claude-code-on-the-web.md#unable-to-get-organization-uuid) |223| `Cloud sessions need a claude.ai sign-in` | [Unable to get organization UUID](https://code.claude.com/docs/pt/claude-code-on-the-web.md#unable-to-get-organization-uuid) |

223| `Nothing was stashed: "<path>" is now a folder in place of a tracked file or link` / `are now folders in place of tracked files or links` | [Command-line errors](#nothing-was-stashed-because-a-folder-replaced-a-tracked-file) |224| `Nothing was stashed: "<path>" is now a folder in place of a tracked file or link` / `are now folders in place of tracked files or links` | [Command-line errors](#nothing-was-stashed-because-a-folder-replaced-a-tracked-file) |

224| `Error: --json-schema is not a valid JSON Schema` | [Command-line errors](#the-json-schema-value-is-not-a-valid-json-schema) |225| `Error: --json-schema is not a valid JSON Schema` | [Command-line errors](#the-json-schema-value-is-not-a-valid-json-schema) |


325| `File is covered by a Read deny rule in your permission settings` | [Tool errors](#file-is-covered-by-a-read-deny-rule) |326| `File is covered by a Read deny rule in your permission settings` | [Tool errors](#file-is-covered-by-a-read-deny-rule) |

326| `cannot contain null bytes (\0)` | [Tool errors](#path-cannot-contain-null-bytes) |327| `cannot contain null bytes (\0)` | [Tool errors](#path-cannot-contain-null-bytes) |

327| `Path contains null bytes` | [Tool errors](#path-cannot-contain-null-bytes) |328| `Path contains null bytes` | [Tool errors](#path-cannot-contain-null-bytes) |

329| `command contains the invisible character U+FEFF (byte order mark) or U+180E (Mongolian vowel separator), and was not run` | [Erros de ferramenta](#command-contains-an-invisible-character) |

328| `File is too large to read as an image (the limit is 128MB)` | [Tool errors](#file-is-too-large-to-read-as-an-image) |330| `File is too large to read as an image (the limit is 128MB)` | [Tool errors](#file-is-too-large-to-read-as-an-image) |

329| `Cannot read this as an image: <path> is a pipe or a device` | [Tool errors](#file-is-too-large-to-read-as-an-image) |331| `Cannot read this as an image: <path> is a pipe or a device` | [Tool errors](#file-is-too-large-to-read-as-an-image) |

330| `subagent_type is required: the general-purpose agent is not available in this session` | [Tool errors](#subagent-type-is-required) |332| `subagent_type is required: the general-purpose agent is not available in this session` | [Tool errors](#subagent-type-is-required) |


397| `Claude Code process exited with code N` | [Wrapper and IDE errors](#claude-code-process-exited-with-code-n) |399| `Claude Code process exited with code N` | [Wrapper and IDE errors](#claude-code-process-exited-with-code-n) |

398| `The connection to Claude Code ended before this message completed` | [Wrapper and IDE errors](#the-connection-to-claude-code-ended-before-this-message-completed) |400| `The connection to Claude Code ended before this message completed` | [Wrapper and IDE errors](#the-connection-to-claude-code-ended-before-this-message-completed) |

399| `Could not locate the Claude CLI on PATH` | [Wrapper and IDE errors](#could-not-locate-the-claude-cli-on-path) |401| `Could not locate the Claude CLI on PATH` | [Wrapper and IDE errors](#could-not-locate-the-claude-cli-on-path) |

402| `The Claude Code program for this computer, the <build> build, could not be found` | [Erros de wrapper e IDE](#the-claude-code-program-for-this-computer-could-not-be-found) |

400| `Restored the code, but skipped N files` | [Rewind warnings and errors](#restored-the-code-but-skipped-files) |403| `Restored the code, but skipped N files` | [Rewind warnings and errors](#restored-the-code-but-skipped-files) |

401| `No files were restored: N files failed (backup missing, or the file could not be updated)` | [Rewind warnings and errors](#no-files-were-restored) |404| `No files were restored: N files failed (backup missing, or the file could not be updated)` | [Rewind warnings and errors](#no-files-were-restored) |

402| `Transcript writes are failing (...)` | [Session saving warnings](#transcript-writes-are-failing) |405| `Transcript writes are failing (...)` | [Session saving warnings](#transcript-writes-are-failing) |


485 488 

486A partir da v2.1.198, a dica usual do spinner é suprimida durante novas tentativas. Uma vez que a razão do erro é revelada, se a falha for uma sobrecarga 529, a linha abaixo da contagem regressiva também nomeia onde verificar o status do serviço: `status.claude.com` na API Anthropic, ou o host do provedor ou gateway nomeado na mensagem em outras configurações.489A partir da v2.1.198, a dica usual do spinner é suprimida durante novas tentativas. Uma vez que a razão do erro é revelada, se a falha for uma sobrecarga 529, a linha abaixo da contagem regressiva também nomeia onde verificar o status do serviço: `status.claude.com` na API Anthropic, ou o host do provedor ou gateway nomeado na mensagem em outras configurações.

487 490 

488Se nenhum dado chegar no fluxo de resposta por 20 segundos enquanto uma requisição ainda está pendente, o spinner mostra `Waiting for API response · will retry in … · check your network` antes de qualquer nova tentativa ter começado. A requisição ainda não falhou: a contagem regressiva vai até o ponto em que Claude Code aborta a conexão travada. Após o aborto, o que você vê depende de até onde a resposta tinha chegado:491#### Waiting for API response

492 

493O banner `Waiting for API response · will retry in … · check your network` significa que Claude Code aguardou pelo menos 20 segundos sem receber nenhum dado para uma requisição. A requisição ainda não falhou: a contagem regressiva vai até o ponto em que Claude Code aborta a conexão travada. Se o aborto acontecer:

489 494 

490* Antes de Claude ter completado um bloco de texto ou uma chamada de ferramenta, ou iniciado um depois de terminar seu pensamento, Claude Code tenta novamente a requisição ou encerra o turno com um erro. [Automatic retries](#automatic-retries) diz quais travamentos ele tenta novamente e quantas vezes.495* Antes de Claude ter completado um bloco de texto ou uma chamada de ferramenta, ou iniciado um depois de terminar seu pensamento, Claude Code tenta novamente a requisição ou encerra o turno com um erro. [Automatic retries](#automatic-retries) diz quais travamentos ele tenta novamente e quantas vezes.

491* Depois que Claude completou um bloco de texto ou uma chamada de ferramenta, ou iniciou um depois de terminar seu pensamento, mas antes de Claude ter terminado a resposta, Claude Code mantém o que Claude completou, continua o turno a partir de qualquer chamada de ferramenta que Claude terminou, e mostra [The response above may be incomplete](#the-response-above-may-be-incomplete). Em uma sessão não interativa, e para a resposta de um subagente em qualquer sessão, Claude Code pode primeiro pedir ao Claude que continue a resposta; essa entrada diz quando faz isso e quando você ainda vê o aviso lá.496* Depois que Claude completou um bloco de texto ou uma chamada de ferramenta, ou iniciou um depois de terminar seu pensamento, mas antes de Claude ter terminado a resposta, Claude Code mantém o que Claude completou, continua o turno a partir de qualquer chamada de ferramenta que Claude terminou, e mostra [The response above may be incomplete](#the-response-above-may-be-incomplete). Em uma sessão não interativa, e para a resposta de um subagente em qualquer sessão, Claude Code pode primeiro pedir ao Claude que continue a resposta; essa entrada diz quando faz isso e quando você ainda vê o aviso lá.

492* Depois que Claude terminou a resposta, Claude Code encerra o turno normalmente.497* Depois que Claude terminou a resposta, Claude Code encerra o turno normalmente.

493 498 

494O banner desaparece automaticamente assim que os dados são retomados ou uma nova tentativa é bem-sucedida. Se reaparecer em cada tentativa, trate-o como um [problema de rede](#unable-to-connect-to-api). Antes da v2.1.185, o banner aparecia após 10 segundos com redação diferente.499O banner desaparece automaticamente assim que os dados são retomados ou uma nova tentativa é bem-sucedida. Se reaparecer em cada tentativa, trate-o como um [problema de rede](#unable-to-connect-to-api). Se você se conecta através de um gateway, veja [O banner de espera aparece e desaparece atrás de um gateway](#waiting-banner-behind-a-gateway). Antes da v2.1.185, o banner aparecia após 10 segundos com redação diferente.

495 

496Enquanto Claude está consultando o [advisor](https://code.claude.com/docs/pt/advisor.md), o banner aparece após 90 segundos sem dados em vez de 20, porque uma revisão longa do advisor pode não enviar nada por bem mais de 20 segundos. Antes da v2.1.214, o limite de 20 segundos se aplicava também durante chamadas ao advisor, então o banner aparecia durante revisões do advisor mesmo quando nada estava errado.

497 500 

498#### O banner de espera aparece e desaparece atrás de um gateway501#### O banner de espera aparece e desaparece atrás de um gateway

499 502 


2495 2498 

2496**O que fazer:**2499**O que fazer:**

2497 2500 

2498* Se a sua versão do Claude Code for anterior à v2.1.216, execute `claude update`.2501* Se a sua versão do Claude Code for anterior à v2.1.300, execute [`claude update`](https://code.claude.com/docs/pt/setup#update-claude-code) no seu shell. Antes da v2.1.300, o Claude Code não [tentava novamente a requisição sem os parâmetros da ferramenta rejeitada](https://code.claude.com/docs/pt/mcp.md#tools-whose-input-schema-the-api-refuses), então este erro se repetia em toda requisição que incluía a ferramenta.

2499* Remova ou [desative](https://code.claude.com/docs/pt/mcp.md#disable-a-server-without-removing-it) o servidor MCP que declara o esquema inválido. O erro identifica a ferramenta apenas pela posição. Na v2.1.216 ou posterior, verifique o log de cada servidor em busca de uma linha que nomeie uma ferramenta cujo esquema de entrada seria rejeitado. Se nenhum log nomear uma, desative os servidores um de cada vez.2502* Remova ou [desative](https://code.claude.com/docs/pt/mcp.md#disable-a-server-without-removing-it) o servidor MCP que declara o esquema inválido. O erro identifica a ferramenta apenas pela posição. Na v2.1.216 ou posterior, verifique o log de cada servidor em busca de uma linha que nomeie uma ferramenta cujo esquema de entrada seria rejeitado. Se nenhum log nomear uma, desative os servidores um de cada vez.

2500* Se você mantém o servidor, corrija o `input_schema` da ferramenta. O esquema deve ser um JSON Schema válido, e os nomes de propriedades de nível superior devem ter de 1 a 64 caracteres e usar apenas letras e dígitos ASCII, `_`, `.` e `-`. Consulte [Ferramentas com esquemas de entrada inválidos](https://code.claude.com/docs/pt/mcp.md#tools-with-invalid-input-schemas).2503* Se você mantém o servidor, corrija o `input_schema` da ferramenta. O esquema deve ser um JSON Schema válido, e os nomes de propriedades de nível superior devem ter de 1 a 64 caracteres e usar apenas letras e dígitos ASCII, `_`, `.` e `-`. Consulte [Ferramentas com esquemas de entrada inválidos](https://code.claude.com/docs/pt/mcp.md#tools-with-invalid-input-schemas).

2501 2504 


3295* **`Error: Workspace not trusted. <folder> is your home directory`**: como a confiança para seu diretório pessoal nunca é salva, executar `claude` ali primeiro não ajuda. Execute `claude ultrareview` a partir de um diretório de projeto, depois de executar `claude` ali uma vez para aceitar a caixa de diálogo de confiança, ou acrescente `--trust-workspace`.3298* **`Error: Workspace not trusted. <folder> is your home directory`**: como a confiança para seu diretório pessoal nunca é salva, executar `claude` ali primeiro não ajuda. Execute `claude ultrareview` a partir de um diretório de projeto, depois de executar `claude` ali uma vez para aceitar a caixa de diálogo de confiança, ou acrescente `--trust-workspace`.

3296* **`No answer in time.` seguido de `Error: Workspace not trusted`**: a pergunta `Trust <folder>? [y/N]` ficou sem resposta por 5 minutos. Execute `claude ultrareview` novamente e responda.3299* **`No answer in time.` seguido de `Error: Workspace not trusted`**: a pergunta `Trust <folder>? [y/N]` ficou sem resposta por 5 minutos. Execute `claude ultrareview` novamente e responda.

3297* **`Ultrareview did not start: <folder> is not trusted`**: você recusou na pergunta `Trust <folder>? [y/N]`, por exemplo respondendo `n` ou pressionando Enter. Para iniciar a revisão, execute `claude ultrareview` novamente e responda `y`.3300* **`Ultrareview did not start: <folder> is not trusted`**: você recusou na pergunta `Trust <folder>? [y/N]`, por exemplo respondendo `n` ou pressionando Enter. Para iniciar a revisão, execute `claude ultrareview` novamente e responda `y`.

3298* **``Ultrareview did not start: `--trust-workspace` takes no value``**: algo que não é uma flag vem depois de `--trust-workspace`, como um número de PR ou `false`. Se você não confia na pasta, omita a flag. Para confiar nela durante esta execução, coloque o número do PR ou o branch base antes da flag: `claude ultrareview 1234 --trust-workspace`.3301* **``Ultrareview did not start: `--trust-workspace` takes no value``**: algo que não é uma flag vem depois de `--trust-workspace`, como um número de PR ou `false`. Se você não confia na pasta, omita a flag. Para confiar nela nesta execução, coloque o número do PR ou o branch base antes da flag: `claude ultrareview 1234 --trust-workspace`.

3299 3302 

3300Antes da v2.1.309, `claude ultrareview` não aceitava `--trust-workspace`.3303Antes da v2.1.309, `claude ultrareview` não aceitava `--trust-workspace`.

3301 3304 


3587 3590 

3588Mensagens semelhantes são disparadas antes mesmo de o comando ser executado:3591Mensagens semelhantes são disparadas antes mesmo de o comando ser executado:

3589 3592 

3590* `Shell command permission check failed for pattern "..."`: a verificação de permissão do comando não o permitiu. [Permission checks on injected commands](https://code.claude.com/docs/pt/skills.md#permission-checks-on-injected-commands) aborda quais resultados abortam em cada modo de permissão e como pré-aprovar um comando com `allowed-tools`3593* `Shell command permission check failed for pattern "..."`: a verificação de permissão do comando não o permitiu. [Permission checks on injected commands](https://code.claude.com/docs/pt/skills.md#permission-checks-on-injected-commands) explica quais resultados abortam em cada modo de permissão e como pré-aprovar um comando com `allowed-tools`

3591* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: o frontmatter da skill exige bash em uma máquina que não o tem. Instale o Git for Windows ou altere o frontmatter para `shell: powershell`. Consulte [Como os comandos injetados são executados](https://code.claude.com/docs/pt/skills.md#how-injected-commands-run)3594* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: o frontmatter da skill exige bash em uma máquina que não o tem. Instale o Git for Windows ou altere o frontmatter para `shell: powershell`. Consulte [Como os comandos injetados são executados](https://code.claude.com/docs/pt/skills.md#how-injected-commands-run)

3592* `No shell command in <name> was run`: um dos comandos `!` do arquivo contém um caractere de controle bruto diferente de tab ou nova linha, então nenhum deles é executado. Consulte [como encontrar e remover o caractere](#no-shell-command-was-run)

3593 3595 

3594**O que fazer:**3596**O que fazer:**

3595 3597 


3599 3601 

3600### No shell command in a skill or command was run3602### No shell command in a skill or command was run

3601 3603 

3602Um dos [comandos de contexto dinâmico](https://code.claude.com/docs/pt/skills.md#inject-dynamic-context) `` !`<command>` `` em um arquivo de skill ou de comando personalizado contém um caractere de controle bruto diferente de tab ou nova linha. O Claude Code recusa toda a invocação antes que qualquer um dos comandos do arquivo seja executado.3604`No shell command in <name> was run` significa que um [comando de contexto dinâmico](https://code.claude.com/docs/pt/skills.md#inject-dynamic-context) `` !`<command>` `` nesse arquivo de skill ou de comando contém um caractere que a ferramenta Bash ou PowerShell recusa:

3605 

3606* **Qualquer uma das ferramentas**: um caractere de controle bruto diferente de tabulação ou nova linha

3607* **Ferramenta PowerShell**: também U+FEFF ou U+180E

3603 3608 

3604A mensagem nomeia a ferramenta de shell que teria executado os comandos, Bash ou PowerShell, e termina com o comando recusado. Cada um desses caracteres é substituído por `�` para que você possa ver onde ele está:3609A mensagem termina com o comando recusado, mostrando cada caractere recusado como `�`, como neste exemplo da ferramenta Bash:

3605 3610 

3606```text theme={null}3611```text theme={null}

3607No shell command in /my-skill was run, because the Bash tool does not accept one of them: command contains control characters that would be hidden in the approval dialog. Unprintable characters are shown as � below: remove them from the skill or command file, or from the arguments or options substituted into it.3612No shell command in /my-skill was run, because the Bash tool does not accept one of them: command contains control characters that would be hidden in the approval dialog. Unprintable characters are shown as � below: remove them from the skill or command file, or from the arguments or options substituted into it.


3610 3615 

3611**O que fazer:**3616**O que fazer:**

3612 3617 

3613* Encontre cada `�` no comando citado no final da mensagem. Remova o caractere que ele representa do arquivo de skill ou de comando, ou dos argumentos ou opções substituídos no arquivo.3618* Encontre cada `�` no comando citado no final da mensagem. Remova o caractere que ele representa do [arquivo de skill ou de comando](https://code.claude.com/docs/pt/skills.md#where-skills-live), ou dos argumentos ou [opções](https://code.claude.com/docs/pt/plugins/manifest-reference.md#user-configuration) substituídos no arquivo.

3614 3619 

3615### É necessário fornecer uma entrada ao usar `--print`3620### É necessário fornecer uma entrada ao usar `--print`

3616 3621 


4568 4573 

4569Antes da v2.1.281, um byte nulo em um caminho Read, Write, Edit, ou NotebookEdit terminava o turno inteiro com um erro nomeando `Path contains null bytes`, e a ferramenta nunca era executada.4574Antes da v2.1.281, um byte nulo em um caminho Read, Write, Edit, ou NotebookEdit terminava o turno inteiro com um erro nomeando `Path contains null bytes`, e a ferramenta nunca era executada.

4570 4575 

4576### Comando contém um caractere invisível

4577 

4578A [ferramenta PowerShell](https://code.claude.com/docs/pt/tools-reference.md#powershell-tool) se recusou a executar um comando que contém U+FEFF ou U+180E:

4579 

4580```text theme={null}

4581Error: command contains the invisible character U+FEFF (byte order mark) or U+180E (Mongolian vowel separator), and was not run. Remove the character, keep the text that needs it in a file that the command reads, or write it as $([char]0xFEFF) or $([char]0x180E) inside a double-quoted string

4582```

4583 

4584**O que fazer:**

4585 

4586* **Para um comando que Claude escreveu**: você não tem nada a corrigir. A mensagem diz ao Claude como reescrever o comando.

4587* **Para um arquivo de skill ou de comando**: a mensagem vem após `No shell command in <name> was run`. Veja [onde encontrar o caractere e removê-lo](#no-shell-command-was-run).

4588 

4571### File is too large to read as an image4589### File is too large to read as an image

4572 4590 

4573Claude tentou ler um arquivo como imagem com a [ferramenta Read](https://code.claude.com/docs/pt/tools-reference.md#read-tool-behavior), e o arquivo é maior que 128 MB, o máximo que Read carrega de um arquivo de imagem. Nada foi lido, e Claude recebe este erro como o resultado da ferramenta:4591Claude tentou ler um arquivo como imagem com a [ferramenta Read](https://code.claude.com/docs/pt/tools-reference.md#read-tool-behavior), e o arquivo é maior que 128 MB, o máximo que Read carrega de um arquivo de imagem. Nada foi lido, e Claude recebe este erro como o resultado da ferramenta:


5431* Defina a entrada PATH como uma variável de ambiente de usuário ou sistema, não em seu perfil PowerShell. A extensão não executa seu perfil, portanto uma edição de PATH que existe apenas lá nunca a alcança.5449* Defina a entrada PATH como uma variável de ambiente de usuário ou sistema, não em seu perfil PowerShell. A extensão não executa seu perfil, portanto uma edição de PATH que existe apenas lá nunca a alcança.

5432* Reinicie o VS Code após alterar PATH. A extensão verifica o PATH que o VS Code capturou na inicialização, portanto uma mudança de PATH entra em vigor apenas após uma reinicialização.5450* Reinicie o VS Code após alterar PATH. A extensão verifica o PATH que o VS Code capturou na inicialização, portanto uma mudança de PATH entra em vigor apenas após uma reinicialização.

5433 5451 

5452### The Claude Code program for this computer could not be found

5453 

5454A [extensão VS Code](https://code.claude.com/docs/pt/vs-code.md) procurou a cópia do Claude Code incluída nela e não encontrou nenhuma feita para o seu computador. A mensagem indica o build de que seu computador precisa:

5455 

5456```text theme={null}

5457The Claude Code program for this computer, the Linux (linux-x64) build, could not be found.

5458```

5459 

5460**O que fazer:**

5461 

5462* Se a mensagem disser qual build a extensão contém, você tem o pacote da extensão para outra plataforma: instale o pacote feito para o build que a mensagem indica

5463* Se a mensagem não disser qual build a extensão contém, reinstale a extensão Claude Code pela visualização Extensions do seu editor

5464* Ou, em qualquer um dos casos, defina [`claudeCode.claudeProcessWrapper`](https://code.claude.com/docs/pt/vs-code#extension-settings) para um binário `claude` instalado separadamente

5465 

5466Antes da v2.1.290, isso aparecia como `Unsupported platform: <platform>-<arch>. No compatible Claude Code binary found.`

5467 

5434### The connection to Claude Code ended before this message completed5468### The connection to Claude Code ended before this message completed

5435 5469 

5436A [extensão VS Code](https://code.claude.com/docs/pt/vs-code.md) enviou sua mensagem para o processo `claude`, e a conexão terminou sem um erro antes do processo reconhecer ou concluir. A extensão não consegue dizer se a mensagem foi processada, portanto pede que você a envie novamente:5470A [extensão VS Code](https://code.claude.com/docs/pt/vs-code.md) enviou sua mensagem para o processo `claude`, e a conexão terminou sem um erro antes do processo reconhecer ou concluir. A extensão não consegue dizer se a mensagem foi processada, portanto pede que você a envie novamente:

fast-mode.md +10 −8

Details

8 8 

9> [!NOTE]9> [!NOTE]

10>10>

11> O modo rápido está em [visualização de pesquisa](#research-preview). O recurso, preços e disponibilidade podem mudar com base no feedback.11> O modo rápido para Claude Opus 5.5 está disponível, e o modo rápido para Claude Opus 5 e Claude Opus 4.8 está em [prévia de pesquisa](#research-preview).

12 12 

13O modo rápido é uma configuração de alta velocidade para Claude Opus, tornando o modelo até 2,5x mais rápido a um custo maior por token. Ative-o com `/fast` quando você precisar de velocidade para trabalho interativo como iteração rápida ou depuração ao vivo, e desative-o quando o custo importa mais do que a latência.13O modo rápido é uma configuração de alta velocidade para Claude Opus, tornando o modelo até 2,5x mais rápido a um custo maior por token. Ative-o com `/fast` quando você precisar de velocidade para trabalho interativo como iteração rápida ou depuração ao vivo, e desative-o quando o custo importa mais do que a latência.

14 14 


20 20 

21* Use `/fast` para alternar o modo rápido no CLI do Claude Code. A [extensão VS Code](https://code.claude.com/docs/pt/vs-code.md) oferece um comando **Toggle fast mode** quando o modelo selecionado suporta modo rápido. O Claude Code salva essa alternância na sua configuração [`fastMode`](#toggle-fast-mode).21* Use `/fast` para alternar o modo rápido no CLI do Claude Code. A [extensão VS Code](https://code.claude.com/docs/pt/vs-code.md) oferece um comando **Toggle fast mode** quando o modelo selecionado suporta modo rápido. O Claude Code salva essa alternância na sua configuração [`fastMode`](#toggle-fast-mode).

22* O preço do modo rápido por MTok de entrada/saída é \$8/\$40 no Opus 5.5 e \$10/\$50 no Opus 5 e Opus 4.8.22* O preço do modo rápido por MTok de entrada/saída é \$8/\$40 no Opus 5.5 e \$10/\$50 no Opus 5 e Opus 4.8.

23* Disponível para usuários do Claude Code em planos de assinatura (Pro/Max/Team/Enterprise) e no Claude Console. Organizações Team e Enterprise precisam que um Owner ative primeiro, e organizações Console precisam ter acesso provisionado primeiro, ambos descritos em [Requisitos](#requirements).23* Disponível para usuários do Claude Code em planos de assinatura (Pro/Max/Team/Enterprise) e no Claude Console. Organizações Team e Enterprise precisam que um Owner o ative primeiro, e organizações Console precisam ter acesso provisionado primeiro para usá-lo com Opus 5 ou Opus 4.8. [Requisitos](#requirements) descreve ambos.

24* Para usuários do Claude Code em planos de assinatura (Pro/Max/Team/Enterprise), o modo rápido está disponível apenas via créditos de uso e não está incluído nos limites de taxa de assinatura.24* Para usuários do Claude Code em planos de assinatura (Pro/Max/Team/Enterprise), o modo rápido está disponível apenas via créditos de uso e não está incluído nos limites de taxa de assinatura.

25 25 

26## Alternar modo rápido26## Alternar modo rápido


119 119 

120O modo rápido requer todos os seguintes:120O modo rápido requer todos os seguintes:

121 121 

122* **Apenas API Anthropic ou assinatura**: o modo rápido está disponível através da API do Anthropic Console e para planos de assinatura Claude usando créditos de uso. Não está disponível no Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry ou Claude Platform na AWS. As organizações do Console também devem ter [acesso ao modo rápido provisionado](#enable-fast-mode-for-your-organization).122* **Apenas API Anthropic ou assinatura**: o modo rápido está disponível através da API do Anthropic Console e para planos de assinatura Claude usando créditos de uso. Não está disponível no Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry ou Claude Platform na AWS. As organizações do Console também devem ter [acesso ao modo rápido provisionado](#enable-fast-mode-for-your-organization) para usá-lo com Opus 5 ou Opus 4.8.

123* **Créditos de uso ativados para planos de assinatura**: em um plano Pro, Max, Team ou Enterprise, sua conta deve ter [créditos de uso](https://code.claude.com/docs/pt/costs.md#add-usage-credits-to-your-subscription) ativados, o que permite cobrança além do uso incluído no seu plano. Até que estejam ativados, `/fast` mostra "Fast mode requires usage credits". Como você os ativa depende do seu plano:123* **Créditos de uso ativados para planos de assinatura**: em um plano Pro, Max, Team ou Enterprise, sua conta deve ter [créditos de uso](https://code.claude.com/docs/pt/costs.md#add-usage-credits-to-your-subscription) ativados, o que permite cobrança além do uso incluído no seu plano. Até que estejam ativados, `/fast` mostra "Fast mode requires usage credits". Como você os ativa depende do seu plano:

124 * Em Pro e Max, ative-os na seção **Usage credits** de [**Settings > Usage**](https://claude.ai/settings/usage) em claude.ai, ou execute `/usage-credits` para abrir essa página.124 * Em Pro e Max, ative-os na seção **Usage credits** de [**Settings > Usage**](https://claude.ai/settings/usage) em claude.ai, ou execute `/usage-credits` para abrir essa página.

125 * Em Team e Enterprise, um membro com acesso ao faturamento os ativa para a organização em [**Organization settings > Usage**](https://claude.ai/admin-settings/usage), e um membro sem esse acesso executa `/usage-credits` para enviar uma solicitação aos administradores da organização.125 * Em Team e Enterprise, um membro com acesso ao faturamento os ativa para a organização em [**Organization settings > Usage**](https://claude.ai/admin-settings/usage), e um membro sem esse acesso executa `/usage-credits` para enviar uma solicitação aos administradores da organização.


129> O uso do modo rápido é cobrado diretamente nos créditos de uso, mesmo que você tenha uso restante no seu plano.129> O uso do modo rápido é cobrado diretamente nos créditos de uso, mesmo que você tenha uso restante no seu plano.

130 130 

131* **Organização Console paga**: contas do Claude Console não usam créditos de uso, e sua organização paga pelo modo rápido por token junto com o resto do seu uso de API. No plano Evaluation gratuito do Console, `/fast` mostra "Fast mode unavailable during evaluation. Please purchase credits." Para limpar isso, compre créditos nas suas [configurações de cobrança do Console](https://platform.claude.com/settings/billing).131* **Organização Console paga**: contas do Claude Console não usam créditos de uso, e sua organização paga pelo modo rápido por token junto com o resto do seu uso de API. No plano Evaluation gratuito do Console, `/fast` mostra "Fast mode unavailable during evaluation. Please purchase credits." Para limpar isso, compre créditos nas suas [configurações de cobrança do Console](https://platform.claude.com/settings/billing).

132 

133 O modo rápido com Opus 5.5 também depende do [nível de uso](https://platform.claude.com/docs/en/api/rate-limits) da sua organização.

132* **Habilitação de proprietário para Team e Enterprise**: o modo rápido está desativado por padrão para organizações Team e Enterprise. Um proprietário deve explicitamente [ativar o modo rápido](#enable-fast-mode-for-your-organization) antes que os usuários possam acessá-lo.134* **Habilitação de proprietário para Team e Enterprise**: o modo rápido está desativado por padrão para organizações Team e Enterprise. Um proprietário deve explicitamente [ativar o modo rápido](#enable-fast-mode-for-your-organization) antes que os usuários possam acessá-lo.

133 135 

134> [!NOTE]136> [!NOTE]


144 146 

145Onde você ativa o modo rápido depende de qual produto sua organização usa:147Onde você ativa o modo rápido depende de qual produto sua organização usa:

146 148 

147* **Console** (clientes de API): um administrador o ativa em [Preferências do Claude Code](https://platform.claude.com/claude-code/preferences). O modo rápido está em [visualização de pesquisa](#research-preview), portanto sua organização também deve ter acesso ao modo rápido provisionado antes que as solicitações de modo rápido sejam bem-sucedidas. Para obter acesso, entre em contato com seu gerente de conta ou junte-se à lista de espera, conforme descrito em [modo rápido na API Claude](https://platform.claude.com/docs/en/build-with-claude/fast-mode).149* **Console** (clientes de API): um administrador o ativa em [Preferências do Claude Code](https://platform.claude.com/claude-code/preferences)

148 

149 Sem acesso provisionado, a API rejeita cada solicitação de modo rápido com um 429, e Claude Code trata cada rejeição como um [limite de taxa do modo rápido](#handle-rate-limits). Diferentemente do cooldown de um limite de taxa, as rejeições continuam até que o acesso seja provisionado.

150* **Claude AI** (Team e Enterprise): um Owner o ativa em [**Organization settings > Claude Code**](https://claude.ai/admin-settings/claude-code)150* **Claude AI** (Team e Enterprise): um Owner o ativa em [**Organization settings > Claude Code**](https://claude.ai/admin-settings/claude-code)

151 151 

152As organizações do Console que usam Claude Opus 5 ou Claude Opus 4.8 também precisam de acesso provisionado, conforme descrito em [modo rápido na API Claude](https://platform.claude.com/docs/en/build-with-claude/fast-mode). Sem esse acesso, as requisições de modo rápido nesses modelos atingem o [rate limit do modo rápido](#handle-rate-limits) e voltam para a velocidade padrão até que o acesso seja provisionado.

153 

152Outra opção para desativar completamente o modo rápido é definir `CLAUDE_CODE_DISABLE_FAST_MODE=1`. Consulte [Variáveis de ambiente](https://code.claude.com/docs/pt/env-vars.md).154Outra opção para desativar completamente o modo rápido é definir `CLAUDE_CODE_DISABLE_FAST_MODE=1`. Consulte [Variáveis de ambiente](https://code.claude.com/docs/pt/env-vars.md).

153 155 

154### Usar modo rápido atrás de proxies e gateways LLM156### Usar modo rápido atrás de proxies e gateways LLM


201 203 

202## Lidar com limites de taxa204## Lidar com limites de taxa

203 205 

204O modo rápido tem limites de taxa separados do Opus padrão. Todos os modelos Opus suportados compartilham um pool de limite de taxa do modo rápido: o uso em qualquer um deles é extraído dos mesmos limites. Quando você atinge o limite de taxa do modo rápido:206O modo rápido tem rate limits separados do Opus padrão; para organizações do Console, a página de [rate limits](https://platform.claude.com/docs/en/api/rate-limits) da Claude Platform os descreve. Quando você atinge o rate limit do modo rápido:

205 207 

2061. O modo rápido automaticamente volta para velocidade padrão2081. O modo rápido automaticamente volta para velocidade padrão

2072. O ícone `↯` fica cinza para indicar cooldown2092. O ícone `↯` fica cinza para indicar cooldown


217 219 

218## Research preview220## Research preview

219 221 

220O modo rápido é um recurso de visualização de pesquisa. Isso significa:222O modo rápido para Claude Opus 5 e Claude Opus 4.8 é um recurso em prévia de pesquisa, o que significa:

221 223 

222* O recurso pode mudar com base no feedback224* O recurso pode mudar com base no feedback

223* A disponibilidade e preços estão sujeitos a alterações225* A disponibilidade e preços estão sujeitos a alterações

Details

90 <tr>90 <tr>

91 <td>[Fast mode](https://code.claude.com/docs/pt/fast-mode.md)</td>91 <td>[Fast mode](https://code.claude.com/docs/pt/fast-mode.md)</td>

92 <td>✓ ([Habilitado pelo proprietário](https://code.claude.com/docs/pt/fast-mode.md#enable-fast-mode-for-your-organization) em Team e Enterprise)</td>92 <td>✓ ([Habilitado pelo proprietário](https://code.claude.com/docs/pt/fast-mode.md#enable-fast-mode-for-your-organization) em Team e Enterprise)</td>

93 <td>✓ (organizações provisionadas)</td>93 <td>✓ (Opus 5 e 4.8 precisam de provisionamento)</td>

94 <td>✗</td>94 <td>✗</td>

95 <td>✗</td>95 <td>✗</td>

96 <td>✗</td>96 <td>✗</td>


285 285 

286**Não disponível:** todos os [recursos que requerem uma assinatura Claude](#features-that-require-a-claude-subscription).286**Não disponível:** todos os [recursos que requerem uma assinatura Claude](#features-that-require-a-claude-subscription).

287 287 

288Tudo em [Recursos de CLI que variam por provedor](#cli-capabilities-that-vary-by-provider) está disponível, exceto que [fast mode](https://code.claude.com/docs/pt/fast-mode.md) requer [acesso provisionado](https://code.claude.com/docs/pt/fast-mode.md#enable-fast-mode-for-your-organization). [Server-managed settings](https://code.claude.com/docs/pt/server-managed-settings.md) que você configura em uma organização Team ou Enterprise do claude.ai não chegam a uma sessão que se autentica com uma chave de API do Console. Consulte [Disponibilidade da plataforma](https://code.claude.com/docs/pt/server-managed-settings.md#platform-availability) para saber como cobrir essas sessões.288Tudo em [Recursos de CLI que variam por provedor](#cli-capabilities-that-vary-by-provider) está disponível, exceto que [fast mode](https://code.claude.com/docs/pt/fast-mode.md) com Claude Opus 5 ou Claude Opus 4.8 requer [acesso provisionado](https://code.claude.com/docs/pt/fast-mode.md#enable-fast-mode-for-your-organization). [Server-managed settings](https://code.claude.com/docs/pt/server-managed-settings.md) que você configura em uma organização Team ou Enterprise do claude.ai não chegam a uma sessão que se autentica com uma chave de API do Console. Consulte [Disponibilidade da plataforma](https://code.claude.com/docs/pt/server-managed-settings.md#platform-availability) para saber como cobrir essas sessões.

289 289 

290**Suporte parcial:**290**Suporte parcial:**

291 291 

Details

241 - uses: anthropics/claude-code-action@v1241 - uses: anthropics/claude-code-action@v1

242 with:242 with:

243 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}243 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}

244 plugin_marketplaces: "https://github.com/anthropics/claude-code.git"244 plugin_marketplaces: "https://github.com/anthropics/claude-plugins-official.git"

245 plugins: "code-review@claude-code-plugins"245 plugins: "code-review@claude-plugins-official"

246 prompt: "/code-review:code-review --comment ${{ github.repository }}/pull/${{ github.event.pull_request.number }}"246 prompt: "/code-review:code-review --comment ${{ github.repository }}/pull/${{ github.event.pull_request.number }}"

247 claude_args: '--allowedTools "mcp__github_inline_comment__create_inline_comment"'247 claude_args: '--allowedTools "mcp__github_inline_comment__create_inline_comment"'

248```248```

Details

221 221 

222Se revisões ou sessões de nuvem hospedadas pela Anthropic expirarem, sua instância GHES pode não ser acessível a partir da infraestrutura Anthropic. Confirme se seu firewall permite conexões de entrada dos [endereços IP de saída da Anthropic](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses). As sessões em um [self-hosted environment](https://code.claude.com/docs/pt/self-hosted-environments) acessam GHES de dentro de sua rede, portanto, quando uma delas não conseguir clonar, verifique o caminho de rede próprio do runner. Para o seletor de repositório e outros fluxos pré-sessão hospedados, consulte [Network requirements](#network-requirements).222Se revisões ou sessões de nuvem hospedadas pela Anthropic expirarem, sua instância GHES pode não ser acessível a partir da infraestrutura Anthropic. Confirme se seu firewall permite conexões de entrada dos [endereços IP de saída da Anthropic](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses). As sessões em um [self-hosted environment](https://code.claude.com/docs/pt/self-hosted-environments) acessam GHES de dentro de sua rede, portanto, quando uma delas não conseguir clonar, verifique o caminho de rede próprio do runner. Para o seletor de repositório e outros fluxos pré-sessão hospedados, consulte [Network requirements](#network-requirements).

223 223 

224### O teste de conexão é aprovado, mas um segundo teste falha

225 

226O segundo teste se conecta à sua instância GHES da mesma forma que as sessões na nuvem hospedadas pela Anthropic. Encontre sua mensagem para saber se deve verificar seu firewall ou tentar novamente:

227 

228* **`Connection test passed, but a second test failed.`**: se sua instância estiver atrás de um firewall, permita todos os [endereços IP de saída da Anthropic](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses), pois um teste de conexão pode ser aprovado mesmo quando seu firewall bloqueia alguns deles. Você também pode tentar novamente em alguns minutos.

229* **`Connection test passed, but a second test could not run.`**: tente novamente em alguns minutos.

230 

231Para testar novamente, abra o menu **More options** da conexão em [**Organization settings > Git providers**](https://claude.ai/admin-settings/source-control#github-enterprise) e selecione **Test connection**.

232 

224### Falha ao iniciar a sessão com `Unable to get organization UUID`233### Falha ao iniciar a sessão com `Unable to get organization UUID`

225 234 

226Claude Code não conseguiu ler uma organização claude.ai a partir de suas credenciais. Faça login com `/login` usando uma conta em sua organização Team ou Enterprise, já que o suporte ao GitHub Enterprise Server é limitado a esses planos. Consulte [Unable to get organization UUID](https://code.claude.com/docs/pt/claude-code-on-the-web.md#unable-to-get-organization-uuid) para as causas e as outras mensagens que esse estado produz.235Claude Code não conseguiu ler uma organização claude.ai a partir de suas credenciais. Faça login com `/login` usando uma conta em sua organização Team ou Enterprise, já que o suporte ao GitHub Enterprise Server é limitado a esses planos. Consulte [Unable to get organization UUID](https://code.claude.com/docs/pt/claude-code-on-the-web.md#unable-to-get-organization-uuid) para as causas e as outras mensagens que esse estado produz.

Details

23 23 

24Para entrar com suas próprias credenciais do Google Cloud's Agent Platform, siga [Entrar com Google Cloud's Agent Platform](#sign-in-with-agent-platform) abaixo. Para implantar Claude Code em toda uma equipe, use as etapas de [configuração manual](#set-up-manually) e [fixe suas versões de modelo](#5-pin-model-versions) antes de fazer o lançamento.24Para entrar com suas próprias credenciais do Google Cloud's Agent Platform, siga [Entrar com Google Cloud's Agent Platform](#sign-in-with-agent-platform) abaixo. Para implantar Claude Code em toda uma equipe, use as etapas de [configuração manual](#set-up-manually) e [fixe suas versões de modelo](#5-pin-model-versions) antes de fazer o lançamento.

25 25 

26## Entrar com Plataforma de Agentes do Google Cloud26## Fazer login com o Agent Platform

27 27 

28Se você tem credenciais do Google Cloud e deseja começar a usar Claude Code através da Plataforma de Agentes do Google Cloud, o assistente de login o guia através disso. Você completa os pré-requisitos do lado do GCP uma vez por projeto; o assistente cuida do lado do Claude Code.28Se você tem credenciais do Google Cloud e quer começar a usar o Claude Code por meio do Agent Platform do Google Cloud, o assistente de login guia você pelo processo. Você conclui os pré-requisitos do lado do GCP uma vez por projeto; o assistente cuida do lado do Claude Code.

29 29 

30**1. Ativar modelos Claude no seu projeto GCP**30**1. Habilite os modelos Claude no seu projeto GCP**

31 31 

32[Ative a API da Plataforma de Agentes do Google Cloud](#1-enable-agent-platform-api) para seu projeto, depois solicite acesso aos modelos Claude que você deseja no [Jardim de Modelos da Plataforma de Agentes do Google Cloud](https://console.cloud.google.com/vertex-ai/model-garden). Veja [Configuração de IAM](#iam-configuration) para as permissões que sua conta precisa.32[Habilite a API do Agent Platform do Google Cloud](#1-enable-agent-platform-api) para o seu projeto e, em seguida, solicite acesso aos modelos Claude que você deseja no [Model Garden do Agent Platform do Google Cloud](https://console.cloud.google.com/vertex-ai/model-garden). Consulte [Configuração do IAM](#iam-configuration) para ver as permissões de que sua conta precisa.

33 33 

34**2. Inicie Claude Code e escolha a Plataforma de Agentes do Google Cloud**34**2. Inicie o Claude Code e escolha o Agent Platform do Google Cloud**

35 35 

36Execute `claude`. No prompt de login, selecione **plataforma de terceiros**, depois **Google Vertex AI**, o rótulo que o prompt de login ainda usa para a Plataforma de Agentes do Google Cloud. Se você já está conectado, execute `/login` para abrir o mesmo menu.36Execute `claude`. No prompt de login, selecione **3rd-party platform** e, em seguida, **Google Vertex AI**, o rótulo que o prompt de login ainda usa para o Agent Platform do Google Cloud. Se você já estiver conectado, execute `/login` para abrir o mesmo menu.

37 37 

38**3. Siga os prompts do assistente**38**3. Siga as instruções do assistente**

39 39 

40Escolha como você se autentica no Google Cloud: Application Default Credentials do `gcloud`, um arquivo de chave de conta de serviço, ou credenciais já em seu ambiente. O assistente detecta seu projeto e região, verifica quais modelos Claude seu projeto pode invocar, e permite que você os fixe. Ele salva o resultado no bloco `env` do seu [arquivo de configurações do usuário](https://code.claude.com/docs/pt/settings.md), para que você não precise exportar variáveis de ambiente você mesmo.40Escolha como você se autentica no Google Cloud: Application Default Credentials do `gcloud`, um arquivo de chave de conta de serviço ou credenciais já presentes no seu ambiente. O assistente pergunta seu projeto e sua região, verifica quais modelos Claude seu projeto pode invocar e permite que você os fixe. Ele salva o resultado no bloco `env` do seu [arquivo de configurações de usuário](https://code.claude.com/docs/pt/settings.md), para que você não precise exportar variáveis de ambiente por conta própria.

41 41 

42Depois de entrar, execute `/setup-vertex` a qualquer momento para reabrir o assistente e alterar suas credenciais, projeto, região ou fixações de modelo. A etapa de fixação de modelo começa a partir de seus modelos atualmente fixados. O assistente escreve em `~/.claude/settings.json`, ou em `$CLAUDE_CONFIG_DIR/settings.json` quando [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/pt/env-vars#variables) está definido.42Depois de fazer login, execute `/setup-vertex` a qualquer momento para reabrir o assistente e alterar suas credenciais, projeto, região ou modelos fixados. A etapa de fixação de modelos começa a partir dos modelos atualmente fixados. O assistente grava em `~/.claude/settings.json`, ou em `$CLAUDE_CONFIG_DIR/settings.json` quando [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/pt/env-vars#variables) está definido.

43 43 

44## Configuração de região44## Configuração de região

45 45 

Details

332* Comandos em segundo plano em uma sessão local na qual você trabalha a partir de um terminal, do aplicativo desktop ou da extensão do VS Code não têm limite de tempo. Em uma sessão executada sem supervisão, como uma execução com `-p` ou uma sessão na nuvem, Claude Code interrompe um comando em segundo plano ao atingir seu [limite de tempo](https://code.claude.com/docs/pt/tools-reference.md#time-limit-for-background-commands)332* Comandos em segundo plano em uma sessão local na qual você trabalha a partir de um terminal, do aplicativo desktop ou da extensão do VS Code não têm limite de tempo. Em uma sessão executada sem supervisão, como uma execução com `-p` ou uma sessão na nuvem, Claude Code interrompe um comando em segundo plano ao atingir seu [limite de tempo](https://code.claude.com/docs/pt/tools-reference.md#time-limit-for-background-commands)

333* Um comando em segundo plano que um [subagente](https://code.claude.com/docs/pt/sub-agents.md#run-subagents-in-foreground-or-background) em primeiro plano iniciou termina quando a execução desse subagente termina, independentemente de ter terminado, falhado ou sido interrompido; veja [Quando um comando em segundo plano para](https://code.claude.com/docs/pt/tools-reference.md#when-a-background-command-stops) na referência de ferramentas333* Um comando em segundo plano que um [subagente](https://code.claude.com/docs/pt/sub-agents.md#run-subagents-in-foreground-or-background) em primeiro plano iniciou termina quando a execução desse subagente termina, independentemente de ter terminado, falhado ou sido interrompido; veja [Quando um comando em segundo plano para](https://code.claude.com/docs/pt/tools-reference.md#when-a-background-command-stops) na referência de ferramentas

334 334 

335Para desativar os comandos em segundo plano, defina a variável de ambiente [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](https://code.claude.com/docs/pt/env-vars#variables) como `1`. Com ela definida, você também perde subagentes em segundo plano, skills bifurcadas em segundo plano e `Ctrl+B`. Iniciar em [modo bare](https://code.claude.com/docs/pt/headless.md#start-faster-with-bare-mode) tem o mesmo efeito.335Para desativar os comandos em segundo plano, defina a variável de ambiente [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](https://code.claude.com/docs/pt/env-vars#variables) como `1`. Com ela definida, você também perde o atalho `Ctrl+B` e [outros recursos em segundo plano](https://code.claude.com/docs/pt/env-vars.md#variables), como [executar skills em segundo plano](https://code.claude.com/docs/pt/skills.md#run-skills-in-a-subagent). Iniciar em [modo bare](https://code.claude.com/docs/pt/headless.md#start-faster-with-bare-mode) tem o mesmo efeito.

336 336 

337**Comandos comuns colocados em segundo plano:**337**Comandos comuns colocados em segundo plano:**

338 338 


738 738 

739```text theme={null}739```text theme={null}

740Usage limit reached · limit resets 3:45pm740Usage limit reached · limit resets 3:45pm

741Continuing automatically at 3:45pm · esc to cancel741Continuing automatically at 3:45pm · Esc to cancel

742```742```

743 743 

744Qualquer uma das linhas pode trazer mais conteúdo após essas palavras, como um link de ajuda na primeira ou `/usage-credits to continue now` na segunda. Quando a espera começa automaticamente, a conversa também a registra com uma linha que diz `Usage limit reached · continuing automatically at 3:45pm · esc to cancel`.744Qualquer uma das linhas pode trazer mais conteúdo após essas palavras, como um link de ajuda na primeira ou `/usage-credits to continue now` na segunda. Quando a espera começa automaticamente, a conversa também a registra com uma linha que diz `Usage limit reached · continuing automatically at 3:45pm · esc to cancel`.

745 745 

746Mantenha a sessão aberta. O que acontece a seguir depende de como a espera termina:746Mantenha a sessão aberta. O que acontece a seguir depende de como a espera termina:

747 747 

748* **No reset**: a segunda linha muda para `Continuing shortly · esc to cancel`. Em seguida, `Usage limit reset · continuing automatically` aparece na conversa, e Claude Code solicita a Claude que retome a tarefa de onde parou. Ele não reenvia sua última mensagem.748* **No reset**: a segunda linha muda para `Continuing shortly · Esc to cancel`. Em seguida, `Usage limit reset · Continuing automatically` aparece na conversa, e Claude Code solicita a Claude que retome a tarefa de onde parou. Ele não reenvia sua última mensagem.

749* **Após seu computador dormir**: se ele dormiu por mais de cerca de 30 minutos e o limite foi resetado enquanto dormia, a primeira linha diz `Your usage limit has reset` e a segunda diz `Press enter to continue`. Pressione `Enter` para continuar. Após um sono mais curto, ou um que terminou antes do reset, Claude Code continua automaticamente.749* **Após seu computador dormir**: se ele dormiu por mais de cerca de 30 minutos e o limite foi resetado enquanto dormia, a primeira linha diz `Your usage limit has reset` e a segunda diz `Press enter to continue`. Pressione `Enter` para continuar. Após um sono mais curto, ou um que terminou antes do reset, Claude Code continua automaticamente.

750* **Antecipadamente**: quando você termina de adicionar [créditos de uso](https://code.claude.com/docs/pt/costs.md#add-usage-credits-to-your-subscription) com `/usage-credits`, faz login novamente após `/upgrade`, ou muda de modelo com `/model` durante a espera, Claude Code verifica se o uso está disponível novamente e continua imediatamente se estiver. Ele não verifica após uma atualização ou compra que você faz em um navegador por conta própria. Em [`opusplan`](https://code.claude.com/docs/pt/model-config#opusplan-model-setting) e outras configurações de modelo que executam o modo de plano em um modelo diferente, Claude Code aguarda o reset.750* **Antecipadamente**: quando você termina de adicionar [créditos de uso](https://code.claude.com/docs/pt/costs.md#add-usage-credits-to-your-subscription) com `/usage-credits`, faz login novamente após `/upgrade`, ou muda de modelo com `/model` durante a espera, Claude Code verifica se o uso está disponível novamente e continua imediatamente se estiver. Ele não verifica após uma atualização ou compra que você faz em um navegador por conta própria. Em [`opusplan`](https://code.claude.com/docs/pt/model-config#opusplan-model-setting) e outras configurações de modelo que executam o modo de plano em um modelo diferente, Claude Code aguarda o reset.

751 751 

Details

178* [`forceRemoteSettingsRefresh`](https://code.claude.com/docs/pt/server-managed-settings)178* [`forceRemoteSettingsRefresh`](https://code.claude.com/docs/pt/server-managed-settings)

179* `env`, mesclado por variável em fontes de administrador: cada variável vem da fonte de prioridade mais alta que a define, então fontes mais baixas preenchem variáveis que as mais altas deixam indefinidas. Algumas variáveis seguem suas próprias regras; [Exceções por chave em fontes gerenciadas](https://code.claude.com/docs/pt/server-managed-settings.md#per-key-exceptions-across-managed-sources) nomeia cada uma. Requer Claude Code v2.1.223 ou posterior. Antes de v2.1.223, Claude Code aplicava apenas o bloco `env` inteiro da fonte selecionada179* `env`, mesclado por variável em fontes de administrador: cada variável vem da fonte de prioridade mais alta que a define, então fontes mais baixas preenchem variáveis que as mais altas deixam indefinidas. Algumas variáveis seguem suas próprias regras; [Exceções por chave em fontes gerenciadas](https://code.claude.com/docs/pt/server-managed-settings.md#per-key-exceptions-across-managed-sources) nomeia cada uma. Requer Claude Code v2.1.223 ou posterior. Antes de v2.1.223, Claude Code aplicava apenas o bloco `env` inteiro da fonte selecionada

180 180 

181As [chaves de login do gateway](#choose-a-delivery-mechanism) seguem uma regra separada. Claude Code nunca as lê de configurações gerenciadas pelo servidor, então enquanto configurações gerenciadas pelo servidor são a fonte selecionada, a fonte de administrador com classificação mais alta na máquina que carrega uma chave de política ainda as fornece. Um valor em uma fonte de administrador classificada abaixo daquela, ou no registro HKCU, é ignorado.

182 

183[`allowedProviders`](https://code.claude.com/docs/pt/settings-reference#allowedproviders) tem sua própria regra: a nota Scope da entrada diz como uma lista definida na máquina se combina com uma gerenciada pelo servidor. Requer Claude Code v2.1.285 ou posterior.181[`allowedProviders`](https://code.claude.com/docs/pt/settings-reference#allowedproviders) tem sua própria regra: a nota Scope da entrada diz como uma lista definida na máquina se combina com uma gerenciada pelo servidor. Requer Claude Code v2.1.285 ou posterior.

184 182 

185Quando uma fonte de administrador define `allowManagedMcpServersOnly` ou uma lista `allowedMcpServers` e esse valor não é o que está em vigor, `/status` e `claude doctor` nomeiam essa fonte e chave.183Quando uma fonte de administrador define `allowManagedMcpServersOnly` ou uma lista `allowedMcpServers` e esse valor não é o que está em vigor, `/status` e `claude doctor` nomeiam essa fonte e chave.

186 184 

185#### Qual fonte gerenciada fornece as chaves de login

186 

187Em uma máquina com uma política MDM ou arquivo de configurações gerenciadas, Claude Code obtém as chaves de login dessa política ou arquivo, mesmo para uma chave que as [configurações remotas](#how-claude-code-combines-managed-sources) também definem. As configurações do console de administração do claude.ai são configurações remotas, então defina chaves de login como [`forceLoginOrgUUID`](https://code.claude.com/docs/pt/settings-reference#forceloginorguuid) na política MDM ou no arquivo.

188 

189Se uma máquina tiver tanto uma política MDM quanto um arquivo de configurações gerenciadas, use a política MDM. Quando essa política define qualquer [chave de política](#how-claude-code-combines-managed-sources), Claude Code ignora as chaves de login no arquivo, [mesmo sob `managedSourcesBehavior: "merge"`](#compose-every-managed-source).

190 

191As chaves de login são:

192 

193* `forceLoginOrgUUID` e `forceLoginMethod` definida como `"claudeai"` ou `"console"`: se a política ou o arquivo omitir qualquer uma das chaves, o valor nas configurações remotas se aplica. Até que todos os clientes executem v2.1.299 ou posterior, defina as chaves também nas [configurações gerenciadas pelo servidor](https://code.claude.com/docs/pt/server-managed-settings.md) a partir do claude.ai

194* As [chaves de login do gateway](#choose-a-delivery-mechanism): Claude Code não usa um valor nas configurações remotas para o login no gateway

195 

187### Componha cada fonte gerenciada196### Componha cada fonte gerenciada

188 197 

189Para ter Claude Code aplicar cada fonte de administrador que sua organização entrega, defina [`managedSourcesBehavior`](https://code.claude.com/docs/pt/settings-reference#managedsourcesbehavior) como `"merge"` na fonte com classificação mais alta que você implanta. Claude Code lê a chave apenas da fonte com classificação mais alta que carrega a chave ou uma chave de política, então uma fonte mais baixa não pode se optar para mesclar com a fonte acima dela, e uma máquina que nunca recebe configurações gerenciadas pelo servidor precisa da chave em seu perfil MDM também. O registro HKCU gravável pelo usuário nunca se mescla com outra fonte. Requer Claude Code v2.1.242 ou posterior.198Para ter Claude Code aplicar cada fonte de administrador que sua organização entrega, defina [`managedSourcesBehavior`](https://code.claude.com/docs/pt/settings-reference#managedsourcesbehavior) como `"merge"` na fonte com classificação mais alta que você implanta. Claude Code lê a chave apenas da fonte com classificação mais alta que carrega a chave ou uma chave de política, então uma fonte mais baixa não pode se optar para mesclar com a fonte acima dela, e uma máquina que nunca recebe configurações gerenciadas pelo servidor precisa da chave em seu perfil MDM também. O registro HKCU gravável pelo usuário nunca se mescla com outra fonte. Requer Claude Code v2.1.242 ou posterior.


199| Allowlists de restrição | Toma a lista inteira da fonte com classificação mais alta que a define, sem adicionar entradas de fontes mais baixas | `availableModels`, `allowedMcpServers`, `strictKnownMarketplaces`, `allowedChannelPlugins`, e a cadeia `fallbackModel` |208| Allowlists de restrição | Toma a lista inteira da fonte com classificação mais alta que a define, sem adicionar entradas de fontes mais baixas | `availableModels`, `allowedMcpServers`, `strictKnownMarketplaces`, `allowedChannelPlugins`, e a cadeia `fallbackModel` |

200| Valores tomados inteiros | Toma o valor inteiro da fonte com classificação mais alta que o define, sem combinar entradas ou campos de fontes mais baixas | `sandbox.credentials.awsPairs`, `sandbox.ripgrep` |209| Valores tomados inteiros | Toma o valor inteiro da fonte com classificação mais alta que o define, sem combinar entradas ou campos de fontes mais baixas | `sandbox.credentials.awsPairs`, `sandbox.ripgrep` |

201| Servidores MCP fornecidos | Combina os nomes de servidor de cada fonte; quando duas fontes definem o mesmo nome, aplica a entrada inteira da fonte com classificação mais alta | `managedMcpServers` |210| Servidores MCP fornecidos | Combina os nomes de servidor de cada fonte; quando duas fontes definem o mesmo nome, aplica a entrada inteira da fonte com classificação mais alta | `managedMcpServers` |

202| Chaves lidas apenas da fonte com classificação mais alta | Ignora a chave em cada fonte mais baixa, mesmo quando a fonte com classificação mais alta a deixa indefinida | Auxiliares de credencial como `apiKeyHelper`, pins de login como `forceLoginOrgUUID`, `modelPicker`, `permissions.defaultMode` |211| Chaves lidas apenas da fonte com classificação mais alta | Ignora a chave em cada fonte mais baixa, mesmo quando a fonte com classificação mais alta a deixa indefinida | `modelPicker`, `permissions.defaultMode`, e auxiliares de credencial como `apiKeyHelper` |

203| `env` | Mescla por variável em fontes de administrador sob qualquer configuração, como [Chaves lidas de cada fonte de administrador](#keys-read-from-every-admin-source) descreve | |212| `env` | Mescla por variável em fontes de administrador sob qualquer configuração, como [Chaves lidas de cada fonte de administrador](#keys-read-from-every-admin-source) descreve | |

213| Chaves de login | Sob qualquer configuração, obtém-nas da política MDM ou do arquivo de configurações gerenciadas, o que for o de classificação mais alta que carrega uma [chave de política](#how-claude-code-combines-managed-sources), [à frente das configurações remotas](#which-managed-source-supplies-login-keys) | `forceLoginOrgUUID`, `forceLoginMethod`, e as [chaves de login do gateway](#choose-a-delivery-mechanism) |

204| Qualquer outra chave | Toma o valor da fonte com classificação mais alta que o define | `model`, `cleanupPeriodDays` |214| Qualquer outra chave | Toma o valor da fonte com classificação mais alta que o define | `model`, `cleanupPeriodDays` |

205 215 

206Para confirmar quais fontes se combinaram em uma máquina, [leia a linha `Setting sources` em `/status`](#read-the-source-in-/status); essa seção diz o que cada rótulo significa.216Para confirmar quais fontes se combinaram em uma máquina, [leia a linha `Setting sources` em `/status`](#read-the-source-in-/status); essa seção diz o que cada rótulo significa.


228Claude Code também aplica essas verificações a valores fornecidos pelo pai por conta própria:238Claude Code também aplica essas verificações a valores fornecidos pelo pai por conta própria:

229 239 

230* Quando qualquer fonte de administrador define `allowManagedPermissionRulesOnly`, Claude Code descarta [regras allow de permissão fornecidas pelo pai](https://code.claude.com/docs/pt/claude-apps-gateway#restrict-parent-settings) e `additionalDirectories` conforme as lê, mesmo quando uma fonte de prioridade mais alta deixa a chave indefinida. O efeito da chave em suas próprias regras de permissão vem das configurações gerenciadas que Claude Code aplica, ou de configurações pai que você escolheu mesclar240* Quando qualquer fonte de administrador define `allowManagedPermissionRulesOnly`, Claude Code descarta [regras allow de permissão fornecidas pelo pai](https://code.claude.com/docs/pt/claude-apps-gateway#restrict-parent-settings) e `additionalDirectories` conforme as lê, mesmo quando uma fonte de prioridade mais alta deixa a chave indefinida. O efeito da chave em suas próprias regras de permissão vem das configurações gerenciadas que Claude Code aplica, ou de configurações pai que você escolheu mesclar

231* Claude Code impõe o valor `forceLoginOrgUUID` ou `allowedMcpServers` nas configurações gerenciadas que aplica e bloqueia um fornecido pelo pai. Fora do bloqueio da allowlist MCP, um valor em uma fonte de administrador mais baixa que Claude Code não aplica nem se aplica nem bloqueia o do pai.241* Claude Code impõe o valor `forceLoginOrgUUID` ou `allowedMcpServers` nas configurações gerenciadas que aplica e bloqueia um fornecido pelo pai. Se você entrega mais de uma fonte gerenciada, veja [qual fonte fornece `forceLoginOrgUUID`](#which-managed-source-supplies-login-keys).

232 242 

233 No Claude Code v2.1.273 ou posterior, enquanto `allowManagedMcpServersOnly` está ativo, a lista `allowedMcpServers` da fonte de administrador com classificação mais alta que define uma se aplica e bloqueia a do pai, como uma [chave entre fontes](#keys-read-from-every-admin-source). A lista do pai se aplica apenas quando nenhuma fonte de administrador define uma. A entrada [`managedSourcesBehavior`](https://code.claude.com/docs/pt/settings-reference#managedsourcesbehavior) diz qual fonte fornece cada chave sob `"merge"`. Antes de v2.1.223, um valor em qualquer fonte de administrador bloqueava a do pai243 No Claude Code v2.1.273 ou posterior, enquanto `allowManagedMcpServersOnly` está ativo, a lista `allowedMcpServers` da fonte de administrador com classificação mais alta que define uma se aplica e bloqueia a do pai, como uma [chave entre fontes](#keys-read-from-every-admin-source). A lista do pai se aplica apenas quando nenhuma fonte de administrador define uma. A entrada [`managedSourcesBehavior`](https://code.claude.com/docs/pt/settings-reference#managedsourcesbehavior) diz qual fonte fornece cada chave sob `"merge"`. Antes de v2.1.223, um valor em qualquer fonte de administrador bloqueava a do pai

234* Para `availableModels`, Claude Code impõe o valor nas configurações gerenciadas que aplica e bloqueia uma lista fornecida pelo pai244* Para `availableModels`, Claude Code impõe o valor nas configurações gerenciadas que aplica e bloqueia uma lista fornecida pelo pai

mcp.md +129 −102

Details

242/mcp242/mcp

243```243```

244 244 

245Quando você remove um servidor remoto, Claude Code também exclui os tokens OAuth e o registro de cliente que armazenou para esse servidor.245Quando você remove um servidor remoto, o Claude Code também exclui os tokens OAuth e o registro de cliente que armazenou para esse servidor. O Claude Code não revoga os tokens no servidor de autorização que os emitiu. Para revogar os tokens quando o servidor de autorização oferece suporte à revogação, execute [`claude mcp logout <name>`](#authenticate-from-the-command-line) no seu shell antes de `claude mcp remove <name>`.

246 246 

247#### Status do servidor247#### Status do servidor

248 248 


252 252 

253Os status nesta lista relatam uma decisão de configuração em vez de uma tentativa de conexão, portanto Claude Code os imprime sem se conectar ao servidor:253Os status nesta lista relatam uma decisão de configuração em vez de uma tentativa de conexão, portanto Claude Code os imprime sem se conectar ao servidor:

254 254 

255* ``⏸ Pending approval (run `claude` to approve)``: um servidor com escopo de projeto de `.mcp.json` que você ainda não aprovou. O Claude Code o mostra tanto em `claude mcp list` quanto em `claude mcp get <name>`. Execute `claude` interativamente para revisá-lo e aprová-lo.255* ``⏸ Pending approval (run `claude` to approve)``: um servidor com escopo de projeto do `.mcp.json` que você ainda não aprovou. O Claude Code o mostra tanto em `claude mcp list` quanto em `claude mcp get <name>`. Execute `claude` interativamente para revisá-lo e aprová-lo.

256* `✘ Rejected (see disabledMcpjsonServers in settings)`: um servidor `.mcp.json` que uma entrada [`disabledMcpjsonServers`](https://code.claude.com/docs/pt/settings-reference#disabledmcpjsonservers) rejeita. Claude Code o mostra apenas em `claude mcp get <name>`.256* `✘ Rejected (see disabledMcpjsonServers in settings)`: um servidor `.mcp.json` que uma entrada [`disabledMcpjsonServers`](https://code.claude.com/docs/pt/settings-reference#disabledmcpjsonservers) rejeita. Claude Code o mostra apenas em `claude mcp get <name>`.

257* `⊘ Disabled for this project (re-enable via /mcp)`: um servidor que a lista [`disabledMcpServers`](#disable-a-server-without-removing-it) do projeto nomeia. Claude Code o mostra em `claude mcp list` e `claude mcp get <name>`. Ative o servidor novamente no painel `/mcp`.257* `⊘ Disabled for this project (re-enable via /mcp)`: um servidor que a lista [`disabledMcpServers`](#disable-a-server-without-removing-it) do projeto nomeia. Claude Code o mostra em `claude mcp list` e `claude mcp get <name>`. Ative o servidor novamente no painel `/mcp`.

258* `✘ Blocked by enterprise managed policy`: um servidor que uma das políticas da sua organização recusa. O Claude Code o mostra tanto em `claude mcp list` quanto em `claude mcp get <name>`. Um servidor bloqueado por uma allowlist, uma denylist ou outra restrição na [configuração MCP gerenciada](https://code.claude.com/docs/pt/managed-mcp.md#how-restrictions-appear-to-users) fica oculto em ambos os comandos em vez de ser mostrado com esse status. Pergunte ao seu administrador qual política bloqueia o servidor.

258 259 

259#### Aprovações de servidor de projeto e confiança do workspace260#### Aprovações de servidor de projeto e confiança do workspace

260 261 


471Para alterar ou desativar a execução automática em segundo plano:472Para alterar ou desativar a execução automática em segundo plano:

472 473 

473* Defina a variável de ambiente [`CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS`](https://code.claude.com/docs/pt/env-vars) em milissegundos para alterar o limite, ou defina-a como `0` para desativar a execução automática em segundo plano. Com `0`, o Claude também [aguarda tarefas MCP](#make-claude-wait-for-the-result-of-an-mcp-task) em uma sessão interativa474* Defina a variável de ambiente [`CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS`](https://code.claude.com/docs/pt/env-vars) em milissegundos para alterar o limite, ou defina-a como `0` para desativar a execução automática em segundo plano. Com `0`, o Claude também [aguarda tarefas MCP](#make-claude-wait-for-the-result-of-an-mcp-task) em uma sessão interativa

474* Defina [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](https://code.claude.com/docs/pt/env-vars) como `1`, o que a desativa junto com comandos em segundo plano e subagentes em segundo plano475* Defina [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](https://code.claude.com/docs/pt/env-vars) como `1` para desativar o envio automático para segundo plano e os [comandos em segundo plano](https://code.claude.com/docs/pt/tools-reference.md#background-commands)

475 476 

476Algumas chamadas nunca se movem para o segundo plano:477Algumas chamadas nunca se movem para o segundo plano:

477 478 


828 829 

829Claude Code suporta expansão de variáveis de ambiente em arquivos `.mcp.json`, permitindo que equipes compartilhem configurações mantendo flexibilidade para caminhos específicos da máquina e valores sensíveis como chaves de API.830Claude Code suporta expansão de variáveis de ambiente em arquivos `.mcp.json`, permitindo que equipes compartilhem configurações mantendo flexibilidade para caminhos específicos da máquina e valores sensíveis como chaves de API.

830 831 

831#### Sintaxe suportada832Você pode referenciar uma variável de ambiente no valor `command`, `args`, `env`, `url` ou `headers` de um servidor, em qualquer uma de duas formas:

832 833 

833* `${VAR}`: expande para o valor da variável de ambiente `VAR`834* `${VAR}`: expande para o valor da variável de ambiente `VAR`

834* `${VAR:-default}`: expande para `VAR` se definida, caso contrário usa `default`835* `${VAR:-default}`: expande para o valor de `VAR` se `VAR` estiver definida, ou para `default` se não estiver definida

835 

836#### Locais de expansão

837 

838As variáveis de ambiente podem ser expandidas em:

839 

840* `command`: o caminho do executável do servidor

841* `args`: argumentos de linha de comando

842* `env`: variáveis de ambiente passadas para o servidor

843* `url`: para tipos de servidor HTTP

844* `headers`: para autenticação de servidor HTTP

845 836 

846#### Exemplo com expansão de variável837#### Exemplo com expansão de variável

847 838 

839Nesta entrada de servidor, a URL é o valor de `API_BASE_URL` seguido de `/mcp`, com `https://api.example.com` como padrão, e a chave de API vem de `API_KEY`:

840 

848```json theme={null}841```json theme={null}

849{842{

850 "mcpServers": {843 "mcpServers": {


863 856 

864Se uma variável de ambiente referenciada não estiver definida e não tiver um valor padrão, a configuração ainda é carregada: Claude Code relata um aviso de variável ausente para esse servidor na saída `claude mcp list` e usa o texto `${VAR}` não expandido como está. Defina a variável ou adicione um fallback `:-default` para que o servidor inicie com o valor que você pretende. Na `url` e nos `headers` de um servidor remoto, algumas variáveis de credencial [leem como vazias](#credential-variables-that-read-as-empty) em vez disso, sem aviso.857Se uma variável de ambiente referenciada não estiver definida e não tiver um valor padrão, a configuração ainda é carregada: Claude Code relata um aviso de variável ausente para esse servidor na saída `claude mcp list` e usa o texto `${VAR}` não expandido como está. Defina a variável ou adicione um fallback `:-default` para que o servidor inicie com o valor que você pretende. Na `url` e nos `headers` de um servidor remoto, algumas variáveis de credencial [leem como vazias](#credential-variables-that-read-as-empty) em vez disso, sem aviso.

865 858 

859#### Variáveis definidas como uma string vazia

860 

861Se você definir uma variável como uma string vazia, ela conta como definida, então uma referência `${VAR:-default}` expande para a string vazia em vez de para `default`. Com o [servidor de exemplo](#example-with-variable-expansion), se você definir `API_BASE_URL` como uma string vazia, sua `url` se torna `/mcp` e `claude mcp list` relata `'url' is not a valid URL`. Para usar o padrão, remova a definição da variável em vez de defini-la como uma string vazia.

862 

866#### Variáveis de credencial que leem como vazias863#### Variáveis de credencial que leem como vazias

867 864 

868Na `url` e nos `headers` de um servidor remoto, Claude Code lê variáveis de credencial do seu ambiente como vazias em vez de expandi-las. Isso impede que a `.mcp.json` de um projeto ou um plugin envie suas credenciais Claude Code ou de provedor de nuvem para um servidor que ele nomeia. Se você escrever `Bearer ${ANTHROPIC_AUTH_TOKEN}`, o servidor recebe `Bearer ` sem credencial e rejeita a requisição, geralmente com um `401`. Claude Code relata isso como uma conexão falhada.865Na `url` e nos `headers` de um servidor remoto, Claude Code lê variáveis de credencial do seu ambiente como vazias em vez de expandi-las. Isso impede que a `.mcp.json` de um projeto ou um plugin envie suas credenciais Claude Code ou de provedor de nuvem para um servidor que ele nomeia. Se você escrever `Bearer ${ANTHROPIC_AUTH_TOKEN}`, o servidor recebe `Bearer ` sem credencial e rejeita a requisição, geralmente com um `401`. Claude Code relata isso como uma conexão falhada.


946 943 

947## Autenticar com servidores MCP remotos944## Autenticar com servidores MCP remotos

948 945 

949Muitos servidores MCP baseados em nuvem exigem autenticação. Claude Code suporta OAuth 2.0 para conexões seguras.946Muitos servidores MCP baseados em nuvem exigem autenticação. O Claude Code oferece suporte a OAuth 2.0 para conexões seguras.

950 947 

951Claude Code marca um servidor remoto como necessitando autenticação quando o servidor responde com `401 Unauthorized` ou `403 Forbidden`. O que Claude Code mostra depende do servidor:948O Claude Code marca um servidor remoto como precisando de autenticação quando o servidor responde com `401 Unauthorized` ou `403 Forbidden`. O que o Claude Code mostra depende do servidor:

952 949 

953* Para um servidor no qual você ainda não fez login, qualquer código de status o sinaliza em `/mcp` para que você possa completar o fluxo OAuth.950* Para um servidor no qual você ainda não fez login, qualquer um dos códigos de status o sinaliza em `/mcp` para que você possa concluir o fluxo OAuth.

954* Para um [conector claude.ai](#use-mcp-servers-from-claude-ai), um `401` causado por claude.ai rejeitando seu token de sessão não sinaliza o conector, porque re-autorizar o conector não pode corrigir seu login. Claude Code mostra o [estado de token de sessão rejeitado](https://code.claude.com/docs/pt/errors.md#claude-ai-rejected-the-session-token) em vez disso.951* Para um [conector do claude.ai](#use-mcp-servers-from-claude-ai), um `401` causado pelo claude.ai rejeitar seu token de sessão não sinaliza o conector, porque autorizar o conector novamente não pode corrigir seu login. Em vez disso, o Claude Code mostra o [estado de token de sessão rejeitado](https://code.claude.com/docs/pt/errors.md#claude-ai-rejected-the-session-token).

955* Para um servidor cujo cabeçalho `Authorization` você configurou, em `headers` ou através de um [`headersHelper`](#use-dynamic-headers-for-custom-authentication), um `401` ou `403` ao conectar não sinaliza o servidor, porque a credencial a corrigir é a que você configurou. Claude Code relata a conexão como falha em vez disso. Se você definiu esse cabeçalho a partir de uma referência `${VAR}`, verifique se essa variável é uma que Claude Code [lê como vazia](#credential-variables-that-read-as-empty).952* Para um servidor cujo cabeçalho `Authorization` você configurou, em `headers` ou por meio de um [`headersHelper`](#use-dynamic-headers-for-custom-authentication), um `401` ou `403` durante a conexão não sinaliza o servidor, porque a credencial a ser corrigida é aquela que você configurou. Em vez disso, o Claude Code informa que a conexão falhou. Se você definiu esse cabeçalho a partir de uma referência `${VAR}`, verifique se essa variável é uma das que o Claude Code [lê como vazia](#credential-variables-that-read-as-empty).

956* Para um conector [entregue a uma sessão na nuvem](#how-connectors-reach-claude-code), Claude Code não executa um fluxo de login, porque o proxy da sessão se autentica no conector com a autorização que você concedeu em claude.ai. Quando um conector lá precisa ser autorizado novamente, reconecte-o em [claude.ai/customize/connectors](https://claude.ai/customize/connectors) em vez de a partir da sessão.953* Para um conector [entregue a uma sessão na nuvem](#how-connectors-reach-claude-code), o Claude Code não executa um fluxo de login, porque o proxy da sessão se autentica no conector com a autorização que você concedeu no claude.ai. Quando um conector ali precisar ser autorizado novamente, reconecte-o em [claude.ai/customize/connectors](https://claude.ai/customize/connectors) em vez de fazê-lo a partir da sessão.

957 954 

958Quando um servidor OAuth no qual você já fez login rejeita seu token armazenado com `401 Unauthorized`, Claude Code atualiza o token, reconecta e tenta a requisição novamente uma vez. Ele sinaliza o servidor em `/mcp` apenas se essa nova tentativa também falhar. Em uma execução `claude -p` ou do Agent SDK no macOS, uma requisição que Claude Code enviou enquanto não conseguia ler seu token armazenado falha com um [erro de credenciais armazenadas](https://code.claude.com/docs/pt/errors.md#couldnt-read-the-stored-credentials-for-mcp-server) em vez disso.955Quando um servidor OAuth no qual você já fez login rejeita seu token armazenado com `401 Unauthorized`, o Claude Code atualiza o token, reconecta e tenta novamente a requisição uma vez. Ele sinaliza o servidor em `/mcp` somente se essa nova tentativa também falhar. Em uma execução de `claude -p` ou do Agent SDK no macOS, uma requisição que o Claude Code enviou enquanto não conseguia ler seu token armazenado falha com um [erro de credenciais armazenadas](https://code.claude.com/docs/pt/errors.md#couldnt-read-the-stored-credentials-for-mcp-server) em vez disso.

959 956 

960Quando o servidor rejeita o token de atualização armazenado, Claude Code imediatamente mostra um aviso apontando para `/mcp`. Abra `/mcp` e selecione **Re-autenticar** no servidor para fazer login novamente antes que a próxima chamada de ferramenta falhe.957Quando o servidor rejeita o refresh token armazenado, o Claude Code mostra imediatamente um aviso apontando para `/mcp`. Abra `/mcp` e selecione **Re-authenticate** no servidor para fazer login novamente antes que a próxima chamada de ferramenta falhe.

961 958 

962Um servidor personalizado que retorna um cabeçalho `WWW-Authenticate` apontando para seu servidor de autorização obtém a mesma descoberta automática que qualquer outro servidor remoto.959Um servidor personalizado que retorna um cabeçalho `WWW-Authenticate` apontando para seu servidor de autorização recebe a mesma descoberta automática que qualquer outro servidor remoto.

963 960 

964Claude Code também mostra um aviso de inicialização quando um ou mais servidores configurados precisam de autenticação, para que você não tenha que abrir `/mcp` para descobrir quais servidores precisam de login. O aviso conta apenas servidores nos quais você pode fazer login a partir do Claude Code. Antes da v2.1.218, ele também contava [conectores claude.ai](#use-mcp-servers-from-claude-ai) que não estavam conectados em claude.ai, que você pode conectar apenas a partir das configurações de claude.ai.961O Claude Code também mostra um aviso na inicialização quando um ou mais servidores configurados precisam de autenticação, para que você não precise abrir `/mcp` para descobrir quais servidores exigem login. O aviso conta apenas os servidores nos quais você pode fazer login a partir do Claude Code. Antes da v2.1.218, ele também contava [conectores do claude.ai](#use-mcp-servers-from-claude-ai) que não estavam conectados no claude.ai, os quais você só pode conectar pelas configurações do claude.ai.

965 962 

966O aviso anuncia cada servidor uma vez e o deixa de fora da contagem em inicializações posteriores até que esse servidor tenha se conectado e precise de login novamente. `/mcp` ainda lista todos os servidores que precisam de login.963O aviso anuncia cada servidor uma vez e o deixa fora da contagem nas inicializações seguintes até que esse servidor tenha se conectado e precise de login novamente. O `/mcp` continua listando todos os servidores que precisam de login.

967 964 

968Uma execução `claude -p` ou do Agent SDK não tem painel `/mcp`, então Claude Code não pode executar o fluxo OAuth nela. Para usar um servidor que precisa de autenticação, complete o login primeiro a partir de uma sessão interativa: execute `/mcp` na sessão, ou `claude mcp login <name>` no seu shell. Quando um servidor configurado precisa de autenticação durante uma execução `claude -p` ou do Agent SDK com [busca de ferramentas](#scale-with-mcp-tool-search) ativada, Claude Code informa ao Claude que as ferramentas do servidor estão indisponíveis até que você o autorize.965Uma execução de `claude -p` ou do Agent SDK não tem o painel `/mcp`, então o Claude Code não pode executar o fluxo OAuth ali. Para usar um servidor que precisa de autenticação, conclua primeiro o login a partir de uma sessão interativa: execute `/mcp` na sessão, ou `claude mcp login <name>` no seu shell. Quando um servidor configurado precisa de autenticação durante uma execução de `claude -p` ou do Agent SDK com a [busca de ferramentas](#scale-with-mcp-tool-search) habilitada, o Claude Code informa ao Claude que as ferramentas do servidor estão indisponíveis até que você o autorize.

969 966 

970Se você configurou `headers.Authorization` para o servidor e o servidor rejeita esse cabeçalho, Claude Code relata a conexão como falha em vez de voltar para OAuth. Verifique se o token é válido para o endpoint MCP, ou remova o cabeçalho para usar o fluxo OAuth.967Se você configurou `headers.Authorization` para o servidor e o servidor rejeita esse cabeçalho, o Claude Code informa que a conexão falhou em vez de recorrer ao OAuth. Verifique se o token é válido para o endpoint MCP, ou remova o cabeçalho para usar o fluxo OAuth.

971 968 

972**1. Adicione o servidor que requer autenticação**969**1. Adicione o servidor que requer autenticação**

973 970 

974Se você já adicionou o servidor `sentry` no [guia de início rápido MCP](https://code.claude.com/docs/pt/mcp-quickstart.md#connect-a-server-that-requires-sign-in), pule esta etapa: executar `claude mcp add` novamente com o mesmo nome de servidor no mesmo escopo falha com `MCP server sentry already exists in local config`. Caso contrário, execute:971Se você já adicionou o servidor `sentry` no [início rápido de MCP](https://code.claude.com/docs/pt/mcp-quickstart.md#connect-a-server-that-requires-sign-in), pule esta etapa: executar `claude mcp add` novamente com o mesmo nome de servidor no mesmo escopo falha com `MCP server sentry already exists in local config`. Caso contrário, execute:

975 972 

976```bash theme={null}973```bash theme={null}

977claude mcp add --transport http sentry https://mcp.sentry.dev/mcp974claude mcp add --transport http sentry https://mcp.sentry.dev/mcp


985/mcp982/mcp

986```983```

987 984 

988Então siga os passos no seu navegador para fazer login.985Em seguida, siga as etapas no seu navegador para fazer login.

989 986 

990> [!TIP]987> [!TIP]

991>988>

992> Dicas:989> Dicas:

993>990>

994> * Os tokens de autenticação são armazenados com segurança e atualizados automaticamente991> * Os tokens de autenticação são armazenados com segurança e atualizados automaticamente

995> * Use "Clear authentication" no menu `/mcp` para revogar acesso992> * Use "Clear authentication" no menu `/mcp` para revogar o acesso

996> * Se seu navegador não abrir automaticamente, copie a URL fornecida e abra-a manualmente993> * Se o seu navegador não abrir automaticamente, copie a URL fornecida e abra-a manualmente

997> * Se o redirecionamento do navegador falhar com um erro de conexão após autenticar, cole a URL de callback completa da barra de endereços do seu navegador no prompt de URL que aparece no Claude Code994> * Se o redirecionamento do navegador falhar com um erro de conexão após a autenticação, cole a URL de callback completa da barra de endereços do seu navegador no prompt de URL que aparece no Claude Code

998> * A autenticação OAuth funciona com servidores HTTP995> * A autenticação OAuth funciona com servidores HTTP

999 996 

1000### Autenticar a partir da linha de comando997### Autenticar pela linha de comando

1001 998 

1002O comando `claude mcp login <name>` executa o fluxo OAuth de um servidor configurado diretamente do seu shell, para que você não precise abrir o painel `/mcp` dentro de uma sessão. Para um conector claude.ai, siga [Autorizar um conector novamente a partir do seu shell](https://code.claude.com/docs/pt/remote-control.md#authorize-a-connector-again-from-your-shell).999O comando `claude mcp login <name>` executa o fluxo OAuth de um servidor configurado diretamente do seu shell, para que você não precise abrir o painel `/mcp` dentro de uma sessão. Para um conector do claude.ai, siga [Autorizar um conector novamente a partir do seu shell](https://code.claude.com/docs/pt/remote-control.md#authorize-a-connector-again-from-your-shell).

1003 1000 

1004```bash theme={null}1001```bash theme={null}

1005claude mcp login sentry1002claude mcp login sentry

1006```1003```

1007 1004 

1008Para limpar credenciais armazenadas depois, execute `claude mcp logout <name>`.1005Para limpar as credenciais armazenadas posteriormente, execute `claude mcp logout <name>`.

1009 1006 

1010`claude mcp login` detecta quando nenhum navegador local está disponível, como durante uma sessão SSH ou no Linux sem um servidor de exibição, e imprime a URL de autorização em vez de tentar abrir um navegador. Abra a URL na sua máquina local, depois cole a URL de redirecionamento completa da barra de endereços do seu navegador de volta no prompt. O comando precisa de um terminal interativo para a etapa de colagem, então conecte com `ssh -t`. Passe `--no-browser` para forçar o prompt de URL mesmo quando um navegador local é detectado.1007O `claude mcp login` detecta quando nenhum navegador local está disponível, como durante uma sessão SSH ou no Linux sem um servidor de exibição, e imprime a URL de autorização em vez de tentar abrir um navegador. Abra a URL na sua máquina local e cole a URL de redirecionamento completa da barra de endereços do seu navegador de volta no prompt. O comando precisa de um terminal interativo para a etapa de colar, então conecte-se com `ssh -t`. Passe `--no-browser` para forçar o prompt de URL mesmo quando um navegador local for detectado.

1011 1008 

1012```bash theme={null}1009```bash theme={null}

1013claude mcp login sentry --no-browser1010claude mcp login sentry --no-browser


1015 1012 

1016### Usar uma porta de callback OAuth fixa1013### Usar uma porta de callback OAuth fixa

1017 1014 

1018Alguns servidores MCP exigem um URI de redirecionamento específico registrado antecipadamente. Por padrão, Claude Code escolhe uma porta aleatória disponível para o callback OAuth. Use `--callback-port` para fixar a porta para que corresponda a um URI de redirecionamento pré-registrado do formulário `http://localhost:PORT/callback`. Se o login em Claude Code v2.1.229 falhar com uma incompatibilidade de URI de redirecionamento, consulte a nota de versão em [Usar credenciais OAuth pré-configuradas](#use-pre-configured-oauth-credentials).1015Alguns servidores MCP exigem um URI de redirecionamento específico registrado previamente. Por padrão, o Claude Code escolhe uma porta aleatória disponível para o callback OAuth. Use `--callback-port` para fixar a porta de modo que ela corresponda a um URI de redirecionamento pré-registrado no formato `http://localhost:PORT/callback`. Se o login no Claude Code v2.1.229 falhar com uma incompatibilidade de URI de redirecionamento, consulte a nota de versão em [Usar credenciais OAuth pré-configuradas](#use-pre-configured-oauth-credentials).

1019 1016 

1020Você pode usar `--callback-port` sozinho (com registro dinâmico de cliente) ou junto com `--client-id` (com credenciais pré-configuradas).1017Você pode usar `--callback-port` sozinho (com registro dinâmico de cliente) ou junto com `--client-id` (com credenciais pré-configuradas).

1021 1018 

1022```bash theme={null}1019```bash theme={null}

1023# Porta de callback fixa com registro dinâmico de cliente1020# Fixed callback port with dynamic client registration

1024claude mcp add --transport http \1021claude mcp add --transport http \

1025 --callback-port 8080 \1022 --callback-port 8080 \

1026 my-server https://mcp.example.com/mcp1023 my-server https://mcp.example.com/mcp


1028 1025 

1029### Usar credenciais OAuth pré-configuradas1026### Usar credenciais OAuth pré-configuradas

1030 1027 

1031Alguns servidores MCP não suportam configuração automática de OAuth via Registro Dinâmico de Cliente. Se você vir um erro como "Incompatible auth server: does not support dynamic client registration," o servidor requer credenciais pré-configuradas. Claude Code também suporta servidores que usam um Documento de Metadados de ID do Cliente (CIMD) em vez de Registro Dinâmico de Cliente, e descobre esses automaticamente. Se a descoberta automática falhar, registre um aplicativo OAuth através do portal do desenvolvedor do servidor primeiro, depois forneça as credenciais ao adicionar o servidor.1028Alguns servidores MCP não oferecem suporte à configuração automática de OAuth via Dynamic Client Registration. Se você vir um erro como "Incompatible auth server: does not support dynamic client registration", o servidor requer credenciais pré-configuradas. O Claude Code também oferece suporte a servidores que usam um Client ID Metadata Document (CIMD) em vez de Dynamic Client Registration, e os descobre automaticamente. Se a descoberta automática falhar, registre primeiro um app OAuth pelo portal de desenvolvedores do servidor e, em seguida, forneça as credenciais ao adicionar o servidor.

1032 1029 

1033**1. Registre um aplicativo OAuth com o servidor**1030**1. Registre um app OAuth com o servidor**

1034 1031 

1035Crie um aplicativo através do portal do desenvolvedor do servidor e anote seu ID do cliente e segredo do cliente.1032Crie um app pelo portal de desenvolvedores do servidor e anote seu client ID e client secret.

1036 1033 

1037Se o formulário de registro pedir um URI de redirecionamento, escolha uma porta disponível e insira `http://localhost:PORT/callback` com essa porta. Você usará a mesma porta na próxima etapa.1034Se o formulário de registro pedir um URI de redirecionamento, escolha qualquer porta disponível e insira `http://localhost:PORT/callback` com essa porta. Você usará a mesma porta na próxima etapa.

1038 1035 

1039Na v2.1.229, Claude Code enviava `http://127.0.0.1:PORT/callback` em vez disso, e servidores que correspondiam exatamente ao URI de redirecionamento registrado rejeitavam o login com uma incompatibilidade de URI de redirecionamento. Claude Code v2.1.231 restaurou a forma `localhost`. Para recuperar na v2.1.229, atualize Claude Code, ou adicione temporariamente a forma `http://127.0.0.1:PORT/callback` aos URIs de redirecionamento registrados do servidor.1036Na v2.1.229, o Claude Code enviava `http://127.0.0.1:PORT/callback` em vez disso, e servidores que exigem correspondência exata com o URI de redirecionamento registrado rejeitavam o login com uma incompatibilidade de URI de redirecionamento. O Claude Code v2.1.231 restaurou o formato `localhost`. Para se recuperar na v2.1.229, atualize o Claude Code ou adicione temporariamente o formato `http://127.0.0.1:PORT/callback` aos URIs de redirecionamento registrados do servidor.

1040 1037 

1041**2. Adicione o servidor com suas credenciais**1038**2. Adicione o servidor com suas credenciais**

1042 1039 

1043As abas cobrem ambos os comandos: `claude mcp add` leva seu ID do cliente e porta de callback como flags, e `claude mcp add-json` os leva em um objeto `oauth`. Se você registrou um URI de redirecionamento, defina a porta de callback para a porta nesse URI.1040As abas cobrem os dois comandos: `claude mcp add` recebe seu client ID e a porta de callback como flags, e `claude mcp add-json` os recebe em um objeto `oauth`. Se você registrou um URI de redirecionamento, defina a porta de callback como a porta desse URI.

1044 1041 

1045**claude mcp add**1042**claude mcp add**

1046 1043 

1047Use `--client-id` para passar o ID do cliente do seu aplicativo. A flag `--client-secret` solicita o segredo com entrada mascarada:1044Use `--client-id` para passar o client ID do seu app. A flag `--client-secret` solicita o secret com entrada mascarada:

1048 1045 

1049```bash theme={null}1046```bash theme={null}

1050claude mcp add --transport http \1047claude mcp add --transport http \


1062 --client-secret1059 --client-secret

1063```1060```

1064 1061 

1065**claude mcp add-json (apenas porta de callback)**1062**claude mcp add-json (somente porta de callback)**

1066 1063 

1067Para fixar apenas a porta de callback e deixar Claude Code registrar o cliente automaticamente, defina `callbackPort` sozinho:1064Para fixar apenas a porta de callback e deixar o Claude Code registrar o cliente automaticamente, defina `callbackPort` sozinho:

1068 1065 

1069```bash theme={null}1066```bash theme={null}

1070claude mcp add-json my-server \1067claude mcp add-json my-server \


1073 1070 

1074**CI / variável de ambiente**1071**CI / variável de ambiente**

1075 1072 

1076Defina o segredo via variável de ambiente para pular o prompt interativo:1073Defina o secret por meio de uma variável de ambiente para pular o prompt interativo:

1077 1074 

1078```bash theme={null}1075```bash theme={null}

1079MCP_CLIENT_SECRET=your-secret claude mcp add --transport http \1076MCP_CLIENT_SECRET=your-secret claude mcp add --transport http \


1083 1080 

1084**3. Autentique no Claude Code**1081**3. Autentique no Claude Code**

1085 1082 

1086Execute `/mcp` no Claude Code e siga o fluxo de login do navegador.1083Execute `/mcp` no Claude Code e siga o fluxo de login no navegador.

1087 1084 

1088> [!TIP]1085> [!TIP]

1089>1086>

1090> Dicas:1087> Dicas:

1091>1088>

1092> * O segredo do cliente é armazenado com segurança no seu chaveiro do sistema (macOS) ou em um arquivo de credenciais, não na sua configuração1089> * O client secret é armazenado com segurança no keychain do seu sistema (macOS) ou em um arquivo de credenciais, não na sua configuração

1093> * Você pode definir o segredo do cliente apenas quando adiciona o servidor. Quando você se autentica com `claude mcp login` ou a partir de `/mcp`, Claude Code usa o segredo armazenado e não solicita um ou lê `MCP_CLIENT_SECRET`1090> * Você só pode definir o client secret ao adicionar o servidor. Quando você se autentica com `claude mcp login` ou a partir de `/mcp`, o Claude Code usa o secret armazenado e não solicita um nem lê `MCP_CLIENT_SECRET`

1094> * Para adicionar ou alterar o segredo depois, remova o servidor com `claude mcp remove <name>`, depois adicione-o novamente com `--client-secret` e o mesmo `--scope`1091> * Para adicionar ou alterar o secret posteriormente, remova o servidor com `claude mcp remove <name>` e adicione-o novamente com `--client-secret` e o mesmo `--scope`

1095> * Se o servidor usar um cliente OAuth público sem segredo, use apenas `--client-id` sem `--client-secret`1092> * Se o servidor usa um cliente OAuth público sem secret, use apenas `--client-id` sem `--client-secret`

1096> * Essas flags se aplicam apenas aos transportes HTTP e SSE. Elas não têm efeito em servidores stdio1093> * Essas flags se aplicam apenas aos transportes HTTP e SSE. Elas não têm efeito em servidores stdio

1097> * Use `claude mcp get <name>` para verificar se as credenciais OAuth estão configuradas para um servidor1094> * Use `claude mcp get <name>` para verificar se as credenciais OAuth estão configuradas para um servidor

1098 1095 

1099### Sobrescrever a descoberta de metadados OAuth1096### Sobrescrever a descoberta de metadados OAuth

1100 1097 

1101Aponte Claude Code para uma URL de metadados específica de servidor de autorização OAuth para contornar a cadeia de descoberta padrão. Defina `authServerMetadataUrl` quando os endpoints padrão do servidor MCP falharem, ou quando você deseja rotear a descoberta através de um proxy interno. Por padrão, Claude Code primeiro verifica os Metadados de Recurso Protegido RFC 9728 em `/.well-known/oauth-protected-resource`, depois volta para os metadados do servidor de autorização RFC 8414 em `/.well-known/oauth-authorization-server`.1098Aponte o Claude Code para uma URL específica de metadados do servidor de autorização OAuth para contornar a cadeia de descoberta padrão. Defina `authServerMetadataUrl` quando os endpoints padrão do servidor MCP apresentarem erro, ou quando você quiser rotear a descoberta por meio de um proxy interno. Por padrão, o Claude Code primeiro verifica os Protected Resource Metadata do RFC 9728 em `/.well-known/oauth-protected-resource` e, em seguida, recorre aos metadados do servidor de autorização do RFC 8414 em `/.well-known/oauth-authorization-server`.

1102 1099 

1103Defina `authServerMetadataUrl` no objeto `oauth` da configuração do seu servidor em `.mcp.json`:1100Defina `authServerMetadataUrl` no objeto `oauth` da configuração do seu servidor em `.mcp.json`:

1104 1101 


1116}1113}

1117```1114```

1118 1115 

1119A URL deve usar `https://`. Os `scopes_supported` da URL de metadados sobrescrevem os escopos que o servidor upstream anuncia.1116A URL deve usar `https://`. O `scopes_supported` da URL de metadados sobrescreve os escopos que o servidor upstream anuncia.

1120 1117 

1121### Restringir escopos OAuth1118### Restringir escopos OAuth

1122 1119 

1123Defina `oauth.scopes` para fixar os escopos que Claude Code solicita durante o fluxo de autorização. Esta é a forma suportada de restringir um servidor MCP a um subconjunto aprovado pela equipe de segurança quando o servidor de autorização upstream anuncia mais escopos do que você deseja conceder. O valor é uma única string separada por espaço, correspondendo ao formato do parâmetro `scope` em RFC 6749 §3.3.1120Defina `oauth.scopes` para fixar os escopos que o Claude Code solicita durante o fluxo de autorização. Essa é a forma suportada de restringir um servidor MCP a um subconjunto aprovado pela equipe de segurança quando o servidor de autorização upstream anuncia mais escopos do que você deseja conceder. O valor é uma única string separada por espaços, correspondendo ao formato do parâmetro `scope` no RFC 6749 §3.3.

1124 1121 

1125```json theme={null}1122```json theme={null}

1126{1123{


1136}1133}

1137```1134```

1138 1135 

1139`oauth.scopes` tem precedência sobre `authServerMetadataUrl` e os escopos que o servidor descobre em `/.well-known`. Deixe-o indefinido para permitir que o servidor MCP determine o conjunto de escopos solicitado.1136`oauth.scopes` tem precedência sobre `authServerMetadataUrl` e sobre os escopos que o servidor descobre em `/.well-known`. Deixe-o sem definir para permitir que o servidor MCP determine o conjunto de escopos solicitados.

1137 

1138Quando `oauth.scopes` não está definido, o Claude Code não solicita o catálogo completo de `scopes_supported` dos metadados do servidor de autorização descobertos automaticamente. Metadados obtidos de um `authServerMetadataUrl` configurado ainda fornecem seu `scopes_supported` como os escopos solicitados.

1139 

1140Se o servidor de autorização anunciar `offline_access` em `scopes_supported`, o Claude Code o acrescenta aos escopos fixados para que o token de acesso possa ser atualizado sem um novo login no navegador.

1140 1141 

1141Quando `oauth.scopes` não está definido, Claude Code não solicita o catálogo completo de `scopes_supported` dos metadados do servidor de autorização descobertos automaticamente. Os metadados obtidos de um `authServerMetadataUrl` configurado ainda fornecem seus `scopes_supported` como os escopos solicitados.1142Se o servidor posteriormente retornar um 403 `insufficient_scope` para uma chamada de ferramenta, a chamada falha com uma mensagem [`needs additional permissions`](https://code.claude.com/docs/pt/errors#mcp-server-needs-you-to-sign-in-again) que nomeia o escopo que o servidor solicita. O servidor aparece como precisando de autenticação em `/mcp`.

1142 1143 

1143Se o servidor de autorização anuncia `offline_access` em `scopes_supported`, Claude Code o acrescenta aos escopos fixados para que o token de acesso possa ser atualizado sem um novo login no navegador.1144Se esse escopo não estiver no seu `oauth.scopes` fixado, adicione-o e, em seguida, execute `/mcp` e autentique o servidor novamente. O Claude Code solicita os escopos fixados em vez do escopo que o servidor nomeou, então, se você se autenticar novamente sem adicioná-lo, o token que você obtém continuará sem ele.

1144 1145 

1145Se o servidor depois retorna um 403 `insufficient_scope` para uma chamada de ferramenta, a chamada falha com uma mensagem [`needs additional permissions`](https://code.claude.com/docs/pt/errors#mcp-server-needs-you-to-sign-in-again) que nomeia o escopo que o servidor solicita. O servidor aparece como necessitando autenticação em `/mcp`.1146### Usar OAuth com um servidor atrás de um proxy com autenticação

1146 1147 

1147Se esse escopo não estiver em seu `oauth.scopes` fixado, adicione-o, depois execute `/mcp` e autentique o servidor novamente. Claude Code solicita os escopos fixados em vez do escopo que o servidor nomeou, então se você se autenticar novamente sem adicioná-lo, o token que você obtém ainda não o possui.1148Se o seu servidor MCP usa OAuth atrás de um proxy ou gateway que verifica um cabeçalho próprio, o login falha quando as requisições OAuth chegam sem esse cabeçalho. Fazer login através do proxy requer o Claude Code v2.1.299 ou posterior, com o cabeçalho e o login ambos configurados:

1149 

1150* **O cabeçalho do proxy**: passe-o com [`--header`](#option-1-add-a-remote-http-server), o campo `headers` ou um [`headersHelper`](#use-dynamic-headers-for-custom-authentication), com o nome que o proxy lê

1151* **O login OAuth**: mantenha `Authorization` fora dos cabeçalhos configurados e, em seguida, faça login com `claude mcp login <name>` no seu shell. Se você configurar um cabeçalho `Authorization`, o Claude Code o usa como a credencial do servidor e não recorre ao OAuth para esse servidor.

1148 1152 

1149### Usar cabeçalhos dinâmicos para autenticação personalizada1153### Usar cabeçalhos dinâmicos para autenticação personalizada

1150 1154 

1151Se seu servidor MCP usar um esquema de autenticação diferente de OAuth, como Kerberos, tokens de curta duração ou um SSO interno, use `headersHelper` para gerar cabeçalhos de requisição no momento da conexão. Claude Code executa o comando e mescla sua saída nos cabeçalhos de conexão.1155Quando uma autenticação como Kerberos, tokens de curta duração ou SSO interno precisa de cabeçalhos gerados no momento da conexão, defina o `headersHelper` do servidor como um comando. O Claude Code o executa ao se conectar e mescla sua saída nos cabeçalhos que envia. Este exemplo usa um script:

1152 1156 

1153```json theme={null}1157```json theme={null}

1154{1158{


1178 1182 

1179**Requisitos:**1183**Requisitos:**

1180 1184 

1181* O comando deve escrever um objeto JSON de pares chave-valor de string para stdout1185* O comando deve escrever em stdout um objeto JSON de pares chave-valor do tipo string

1182* Claude Code executa o comando em um shell e desiste dele após 10 segundos1186* O Claude Code executa o comando em um shell e desiste dele após 10 segundos

1183* Claude Code escolhe o diretório de trabalho do comando por [onde você configurou o servidor](#where-the-helper-runs), então forneça o script como um caminho absoluto ou coloque-o em `PATH`1187* O Claude Code escolhe o diretório de trabalho do comando de acordo com [onde você configurou o servidor](#where-the-helper-runs), então forneça o script como um caminho absoluto ou coloque-o no `PATH`

1184* Cabeçalhos dinâmicos sobrescrevem qualquer `headers` estático com o mesmo nome1188* Cabeçalhos dinâmicos sobrescrevem quaisquer `headers` estáticos com o mesmo nome

1185 1189 

1186Claude Code executa o auxiliar novamente em cada conexão, no início da sessão e ao reconectar, uma vez que a [regra de confiança para servidores de escopo de projeto e local](#trust-a-folder-before-its-headershelper-runs) permite que ele seja executado. Ele não armazena em cache o resultado, então seu script é responsável por qualquer reutilização de token.1190O Claude Code executa o helper novamente a cada conexão, no início da sessão e na reconexão, assim que a [regra de confiança para servidores de escopo de projeto e local](#trust-a-folder-before-its-headershelper-runs) permitir sua execução. Ele não armazena o resultado em cache, então seu script é responsável por qualquer reutilização de token.

1187 1191 

1188Se uma chamada de ferramenta retorna `401 Unauthorized` ou `403 Forbidden`, Claude Code automaticamente executa novamente o auxiliar sob a mesma regra, reconecta com os cabeçalhos atualizados e tenta novamente a chamada uma vez. Claude Code marca o servidor como necessitando autenticação em `/mcp` apenas se essa tentativa também falhar.1192Se uma chamada de ferramenta retornar `401 Unauthorized` ou `403 Forbidden`, o Claude Code executa automaticamente o helper novamente sob a mesma regra, reconecta com os novos cabeçalhos e tenta novamente a chamada uma vez. O Claude Code marca o servidor como precisando de autenticação em `/mcp` somente se essa nova tentativa também falhar.

1189 1193 

1190Quando a saída do auxiliar inclui um cabeçalho `Authorization`, Claude Code usa essa credencial como a autenticação do servidor e não volta para OAuth para o servidor.1194Quando a saída do helper inclui um cabeçalho `Authorization`, o Claude Code usa essa credencial como a autenticação do servidor e não recorre ao OAuth para o servidor.

1191 1195 

1192Se o servidor rejeita a credencial do auxiliar ao conectar, Claude Code relata a conexão como falha em vez de marcar o servidor como necessitando autenticação. Corrija a credencial que seu auxiliar retorna, depois reconecte de `/mcp` para executar novamente o auxiliar.1196Se o servidor rejeitar a credencial do helper durante a conexão, o Claude Code informa que a conexão falhou em vez de marcar o servidor como precisando de autenticação. Corrija a credencial que seu helper retorna e, em seguida, reconecte a partir de `/mcp` para executar o helper novamente.

1193 1197 

1194Claude Code define essas variáveis de ambiente ao executar o auxiliar:1198O Claude Code define estas variáveis de ambiente ao executar o helper:

1195 1199 

1196| Variável | Valor |1200| Variável | Valor |

1197| :- | :- |1201| :- | :- |

1198| `CLAUDE_CODE_MCP_SERVER_NAME` | o nome do servidor MCP |1202| `CLAUDE_CODE_MCP_SERVER_NAME` | o nome do servidor MCP |

1199| `CLAUDE_CODE_MCP_SERVER_URL` | a URL do servidor MCP |1203| `CLAUDE_CODE_MCP_SERVER_URL` | a URL do servidor MCP |

1200| `CLAUDE_PLUGIN_ROOT` | o diretório raiz do plugin. Definido apenas quando um [plugin](https://code.claude.com/docs/pt/plugins/components.md#mcp-servers) fornece o servidor |1204| `CLAUDE_PLUGIN_ROOT` | o diretório raiz do plugin. Definida somente quando um [plugin](https://code.claude.com/docs/pt/plugins/components.md#mcp-servers) fornece o servidor |

1201 1205 

1202Use essas para escrever um único script auxiliar que serve múltiplos servidores MCP.1206Use-as para escrever um único script helper que atenda a vários servidores MCP.

1203 1207 

1204Um `headersHelper` fornecido por plugin não pode referenciar os valores [`${user_config.*}`](https://code.claude.com/docs/pt/plugins/manifest-reference#user-configuration) do plugin, porque o comando é executado através de um shell. Claude Code relata o servidor como mal configurado com um [erro](https://code.claude.com/docs/pt/errors.md#plugin-command-references-user-config) e não substitui o valor. Coloque `${user_config.KEY}` no campo `headers` do servidor, que não é analisado por shell, ou faça o script auxiliar ler o valor de um arquivo de configuração. Antes da v2.1.207, `headersHelper` substituía valores `${user_config.*}`.1208Um `headersHelper` fornecido por um plugin não pode referenciar os valores [`${user_config.*}`](https://code.claude.com/docs/pt/plugins/manifest-reference#user-configuration) do plugin, porque o comando é executado por meio de um shell. O Claude Code informa que o servidor está configurado incorretamente com um [erro](https://code.claude.com/docs/pt/errors.md#plugin-command-references-user-config) e não substitui o valor. Em vez disso, coloque `${user_config.KEY}` no campo `headers` do servidor, que não é interpretado pelo shell, ou faça com que o script helper leia o valor de um arquivo de configuração. Antes da v2.1.207, o `headersHelper` substituía os valores `${user_config.*}`.

1205 1209 

1206#### Onde o auxiliar é executado1210#### Onde o helper é executado

1207 1211 

1208Claude Code escolhe o diretório de trabalho do comando `headersHelper` a partir da configuração que declara o servidor. Um `cd` que Claude executa em Bash não o move, e [`/cd`](https://code.claude.com/docs/pt/permissions#move-the-session-to-another-directory) o move apenas para servidores que são executados a partir do diretório de trabalho primário da sessão. Cada linha abaixo fornece o diretório contra o qual um caminho relativo em seu comando `headersHelper` é resolvido.1212O Claude Code escolhe o diretório de trabalho do comando `headersHelper` a partir da configuração que declara o servidor. Um `cd` que o Claude executa no Bash não o altera, e [`/cd`](https://code.claude.com/docs/pt/permissions#move-the-session-to-another-directory) o altera apenas para servidores executados a partir do diretório de trabalho principal da sessão. Cada linha abaixo indica o diretório em relação ao qual um caminho relativo no seu comando `headersHelper` é resolvido.

1209 1213 

1210| Onde você configurou o servidor | Diretório de trabalho |1214| Onde você configurou o servidor | Diretório de trabalho |

1211| :- | :- |1215| :- | :- |

1212| Um [plugin](https://code.claude.com/docs/pt/plugins/components.md#mcp-servers) | O diretório raiz do plugin |1216| Um [plugin](https://code.claude.com/docs/pt/plugins/components.md#mcp-servers) | O diretório raiz do plugin |

1213| Um `.mcp.json` de projeto ou um servidor de [escopo local](#local-scope) | O diretório do projeto no qual o servidor é declarado |1217| Um `.mcp.json` de projeto ou um servidor de [escopo local](#local-scope) | O diretório do projeto no qual o servidor está declarado |

1214| Um arquivo de agente em seu projeto, um servidor da opção `mcpServers` do SDK ou método `setMcpServers()`, ou [`--mcp-config`](https://code.claude.com/docs/pt/cli-reference) | O [diretório de trabalho primário](https://code.claude.com/docs/pt/permissions.md#working-directories) da sessão |1218| Um arquivo de agente no seu projeto, um servidor da opção `mcpServers` ou do método `setMcpServers()` do SDK, ou [`--mcp-config`](https://code.claude.com/docs/pt/cli-reference) | O [diretório de trabalho principal](https://code.claude.com/docs/pt/permissions.md#working-directories) da sessão |

1215| [Escopo de usuário](#user-scope), [MCP gerenciado](https://code.claude.com/docs/pt/managed-mcp.md), um [conector claude.ai](#use-mcp-servers-from-claude-ai), ou um arquivo de agente de fora de seu projeto, incluindo um de um diretório `--add-dir` | Seu diretório de configuração, `~/.claude` a menos que você defina [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/pt/env-vars) |1219| [Escopo de usuário](#user-scope), [MCP gerenciado](https://code.claude.com/docs/pt/managed-mcp.md), um [conector do claude.ai](#use-mcp-servers-from-claude-ai) ou um arquivo de agente de fora do seu projeto, incluindo um de um diretório `--add-dir` | Seu diretório de configuração, `~/.claude`, a menos que você defina [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/pt/env-vars) |

1216 1220 

1217Antes da v2.1.238, Claude Code também executava os auxiliares de servidores de escopo de usuário, gerenciados e conector claude.ai, e de arquivos de agente de fora de seu projeto, a partir do diretório no qual você o iniciou.1221Antes da v2.1.238, o Claude Code também executava os helpers de servidores de escopo de usuário, gerenciados e de conectores do claude.ai, e de arquivos de agente de fora do seu projeto, a partir do diretório em que você o iniciou.

1218 1222 

1219#### Quais variáveis um auxiliar pode ler1223#### Quais variáveis um helper pode ler

1220 1224 

1221Um `headersHelper` que um repositório ou plugin fornece é um comando que você não escreveu, então Claude Code o executa sem as variáveis de credencial do seu ambiente, como `ANTHROPIC_API_KEY`. Onde você configurou o servidor decide se isso se aplica:1225Um `headersHelper` fornecido por um repositório ou plugin é um comando que você não escreveu, então o Claude Code o executa sem as variáveis de credenciais do seu ambiente, como `ANTHROPIC_API_KEY`. Onde você configurou o servidor decide se isso se aplica:

1222 1226 

1223* **Removidas**: um servidor em um `.mcp.json` de projeto ou em um plugin, e um servidor inline em um arquivo de agente de seu projeto ou de um diretório `--add-dir`1227* **Removidas**: um servidor em um `.mcp.json` de projeto ou em um plugin, e um servidor inline em um arquivo de agente do seu projeto ou de um diretório `--add-dir`

1224* **Não removidas**: um servidor em [escopo de usuário](#user-scope) ou [escopo local](#local-scope), em [MCP gerenciado](https://code.claude.com/docs/pt/managed-mcp.md), de um [conector claude.ai](#use-mcp-servers-from-claude-ai), ou fornecido pelo SDK ou [`--mcp-config`](https://code.claude.com/docs/pt/cli-reference), e um servidor inline em um arquivo de agente de `~/.claude/agents/`, de configurações gerenciadas, ou passado com `--agents`1228* **Não removidas**: um servidor no [escopo de usuário](#user-scope) ou [escopo local](#local-scope), em [MCP gerenciado](https://code.claude.com/docs/pt/managed-mcp.md), de um [conector do claude.ai](#use-mcp-servers-from-claude-ai) ou fornecido pelo SDK ou por [`--mcp-config`](https://code.claude.com/docs/pt/cli-reference), e um servidor inline em um arquivo de agente de `~/.claude/agents/`, de configurações gerenciadas ou passado com `--agents`

1225 1229 

1226Com exceção das variáveis `GIT_CONFIG_KEY_<n>` do Git, Claude Code remove todas as variáveis do seu ambiente cujo nome parece uma credencial, como um nome com `TOKEN`, `SECRET`, `PASSWORD`, `KEY`, ou `AUTH` nele em qualquer caso de letra, então `ANTHROPIC_API_KEY` e `MY_REGISTRY_TOKEN` são ambos removidos. Claude Code também remove uma lista fixa de variáveis de credencial cujos nomes não seguem esse padrão, como `ANTHROPIC_CUSTOM_HEADERS`.1230Com exceção das variáveis `GIT_CONFIG_KEY_<n>` do Git, o Claude Code remove do seu ambiente todas as variáveis cujo nome pareça uma credencial, como um nome que contenha `TOKEN`, `SECRET`, `PASSWORD`, `KEY` ou `AUTH` em maiúsculas ou minúsculas, então `ANTHROPIC_API_KEY` e `MY_REGISTRY_TOKEN` são ambas removidas. O Claude Code também remove uma lista fixa de variáveis de credenciais cujos nomes não seguem esse padrão, como `ANTHROPIC_CUSTOM_HEADERS`.

1227 1231 

1228Quando isso se aplica ao seu auxiliar, faça o script ler sua credencial de um arquivo ou de um armazenamento de credenciais. Se a `url` do servidor [carrega o valor real de uma dessas variáveis](#environment-variable-expansion-in-mcp-json), como `MY_REGISTRY_TOKEN`, o valor `CLAUDE_CODE_MCP_SERVER_URL` que o auxiliar recebe tem essa parte substituída por `REDACTED` também.1232Quando isso se aplicar ao seu helper, faça com que o script leia sua credencial de um arquivo ou de um repositório de credenciais. Se a `url` do servidor [carregar o valor real de uma dessas variáveis](#environment-variable-expansion-in-mcp-json), como `MY_REGISTRY_TOKEN`, o valor de `CLAUDE_CODE_MCP_SERVER_URL` que o helper recebe também terá essa parte substituída por `REDACTED`.

1229 1233 

1230#### Confiar em uma pasta antes de seu headersHelper ser executado1234#### Confiar em uma pasta antes que seu headersHelper seja executado

1231 1235 

1232Claude Code executa um `headersHelper` como um comando shell arbitrário. Para um servidor em um `.mcp.json` de projeto ou em [escopo local](#local-scope), ele executa o auxiliar apenas após você aceitar o [diálogo de confiança](https://code.claude.com/docs/pt/permissions.md#project-allow-rules-and-workspace-trust) para o diretório do projeto no qual o servidor é declarado. Antes da v2.1.238, uma sessão `claude -p` ou SDK executava esses auxiliares sem verificar confiança, e uma sessão interativa os executava uma vez que você tinha confiado em uma pasta pai.1236O Claude Code executa um `headersHelper` como um comando de shell arbitrário. Para um servidor em um `.mcp.json` de projeto ou no [escopo local](#local-scope), ele executa o helper somente depois que você aceita a [caixa de diálogo de confiança](https://code.claude.com/docs/pt/permissions.md#project-allow-rules-and-workspace-trust) para o diretório do projeto no qual o servidor está declarado. Antes da v2.1.238, uma sessão de `claude -p` ou do SDK executava esses helpers sem verificar a confiança, e uma sessão interativa os executava assim que você confiasse em uma pasta pai.

1233 1237 

1234* **Confiança que não conta**: a confiança de uma pasta pai, e a confiança automática que uma sessão `claude -p` ou SDK obtém para [hooks em arquivos de configurações](https://code.claude.com/docs/pt/permissions.md#what-runs-before-you-trust-a-folder)1238* **Confiança que não conta**: a confiança em uma pasta pai e a confiança automática que uma sessão de `claude -p` ou do SDK obtém para [hooks em arquivos de configuração](https://code.claude.com/docs/pt/permissions.md#what-runs-before-you-trust-a-folder)

1235* **Até você confiar na pasta**: Claude Code conecta o servidor apenas com seus `headers` estáticos. Em uma sessão `claude -p` ou SDK ele também imprime uma linha [`headersHelper not run`](https://code.claude.com/docs/pt/errors#headershelper-not-run) por servidor para stderr, dizendo-lhe como conceder a confiança.1239* **Até você confiar na pasta**: o Claude Code conecta o servidor apenas com seus `headers` estáticos. Em uma sessão de `claude -p` ou do SDK, ele também imprime uma linha [`headersHelper not run`](https://code.claude.com/docs/pt/errors#headershelper-not-run) por servidor em stderr, informando como conceder a confiança.

1236* **Confiança sem um diálogo**: defina `projects["<path>"].hasTrustDialogAccepted` para `true` em `~/.claude.json`. `<path>` é a pasta que [Regras de permissão de projeto e confiança de workspace](https://code.claude.com/docs/pt/permissions.md#project-allow-rules-and-workspace-trust) diz que Claude Code usa como chave para a confiança.1240* **Confiança sem caixa de diálogo**: defina `projects["<path>"].hasTrustDialogAccepted` como `true` em `~/.claude.json`. `<path>` é a pasta à qual, segundo [Regras de permissão do projeto e confiança do workspace](https://code.claude.com/docs/pt/permissions.md#project-allow-rules-and-workspace-trust), o Claude Code associa a confiança.

1237 1241 

1238Claude Code aplica a mesma regra a um servidor declarado inline em um [arquivo de agente](https://code.claude.com/docs/pt/sub-agents.md#scope-mcp-servers-to-a-subagent), verificando onde esse arquivo de agente veio: seu projeto, para um arquivo em seu diretório `.claude/agents/`, ou um diretório `--add-dir`. Até você [confiar nesse projeto ou diretório em si](https://code.claude.com/docs/pt/permissions.md#what-runs-before-you-trust-a-folder), Claude Code não carrega o servidor, então seu auxiliar nunca é executado também.1242O Claude Code aplica a mesma regra a um servidor declarado inline em um [arquivo de agente](https://code.claude.com/docs/pt/sub-agents.md#scope-mcp-servers-to-a-subagent), verificando de onde esse arquivo de agente veio: do seu projeto, para um arquivo no diretório `.claude/agents/` dele, ou de um diretório `--add-dir`. Até que você [confie nesse projeto ou diretório em si](https://code.claude.com/docs/pt/permissions.md#what-runs-before-you-trust-a-folder), o Claude Code não carrega o servidor de forma alguma, então seu helper também nunca é executado.

1239 1243 

1240### Fazer login em um servidor MCP atrás de um gateway que exige um cabeçalho1244### Fazer login em um servidor MCP atrás de um gateway que exige um cabeçalho

1241 1245 

1242O login OAuth em um servidor MCP falha quando um gateway exige um cabeçalho, como `X-API-Key`, e Claude Code não o envia. Para que Claude Code envie esse cabeçalho, adicione-o à configuração do servidor e use Claude Code v2.1.299 ou posterior:1246O login OAuth em um servidor MCP falha quando um gateway exige um cabeçalho, como `X-API-Key`, e o Claude Code não o envia. Para que o Claude Code envie esse cabeçalho, adicione-o à configuração do servidor e use o Claude Code v2.1.299 ou posterior:

1243 1247 

1244* **Um servidor cuja [configuração](#mcp-installation-scopes) você pode editar**: defina-o em [`headers`](#example-with-variable-expansion) ou retorne-o de um [`headersHelper`](#use-dynamic-headers-for-custom-authentication)1248* **Um servidor cuja [configuração](#mcp-installation-scopes) você pode editar**: defina-o em [`headers`](#example-with-variable-expansion) ou retorne-o a partir de um [`headersHelper`](#use-dynamic-headers-for-custom-authentication)

1245* **Um servidor fornecido pelo [MCP gerenciado](https://code.claude.com/docs/pt/managed-mcp.md) ou por um [plugin](#plugin-provided-mcp-servers)**: peça ao seu administrador ou ao autor do plugin para adicionar o cabeçalho à entrada do servidor1249* **Um servidor fornecido por [MCP gerenciado](https://code.claude.com/docs/pt/managed-mcp.md) ou por um [plugin](#plugin-provided-mcp-servers)**: peça ao seu administrador ou ao autor do plugin para adicionar o cabeçalho à entrada do servidor

1246 1250 

1247Claude Code então adiciona os cabeçalhos configurados, exceto `Authorization`, às requisições de login, atualização de token e revogação de token que envia à origem do servidor. A origem do servidor é o esquema, host e porta em sua `url`. Um gateway que exige o cabeçalho ainda pode interromper o login na página de autorização ou em um servidor de autorização em outra origem:1251O Claude Code então adiciona os cabeçalhos configurados, exceto `Authorization`, às requisições de login, atualização de token e revogação de token que envia para a origem do servidor. A origem do servidor é o esquema, o host e a porta em sua `url`. Um gateway que exige o cabeçalho ainda pode interromper o login na página de autorização ou em um servidor de autorização em outra origem:

1248 1252 

1249* **A página de autorização**: você faz login nesta página no seu navegador, que não envia os cabeçalhos configurados. Se o seu navegador receber o erro do gateway em vez da página, peça a quem opera o gateway para deixar a página passar sem o cabeçalho.1253* **A página de autorização**: você faz login nesta página no seu navegador, que não envia os cabeçalhos configurados. Se o seu navegador receber o erro do gateway em vez da página, peça a quem administra o gateway para deixar a página passar sem o cabeçalho.

1250* **Um servidor de autorização em outra origem**: se um gateway na frente desse servidor também exigir o cabeçalho, o login falha ali. Peça a quem opera esse gateway para deixar as requisições OAuth passarem sem o cabeçalho.1254* **Um servidor de autorização em outra origem**: se um gateway na frente desse servidor também exigir o cabeçalho, o login falha ali. Peça a quem administra esse gateway para deixar as requisições OAuth passarem sem o cabeçalho.

1251 1255 

1252## Adicionar servidores MCP de configuração JSON1256## Adicionar servidores MCP de configuração JSON

1253 1257 


1552 1556 

1553## Ferramentas com esquemas de entrada inválidos1557## Ferramentas com esquemas de entrada inválidos

1554 1558 

1555A API Claude verifica o esquema de entrada de cada ferramenta em uma solicitação e rejeita toda a solicitação quando qualquer esquema falha, portanto uma única ferramenta MCP com um esquema malformado faria com que toda solicitação que a inclua falhasse com um erro 400. Claude Code executa duas das verificações da API por conta própria quando carrega as ferramentas de um servidor e exclui cada ferramenta que falharia nelas, para que as outras ferramentas do servidor continuem funcionando:1559> [!NOTE]

1560>

1561> Se sua sessão falhar com um erro 400 que nomeia uma ferramenta por sua posição, siga as etapas em [Tool input schema is invalid](https://code.claude.com/docs/pt/errors.md#tool-input-schema-is-invalid).

1562 

1563Se uma das ferramentas do seu servidor MCP tiver um esquema de entrada que viole qualquer uma das duas regras que a API impõe, Claude Code exclui essa ferramenta. As outras ferramentas do servidor não são afetadas. Claude Code verifica ambas as regras ao carregar as ferramentas do servidor:

1556 1564 

1557* Os nomes de propriedades de nível superior devem ter de 1 a 64 caracteres e usar apenas letras ASCII e dígitos, `_`, `.` e `-`1565* Os nomes de propriedades de nível superior devem ter de 1 a 64 caracteres e usar apenas letras ASCII e dígitos, `_`, `.` e `-`

1558* O esquema deve ser válido em relação ao meta-esquema JSON Schema draft 2020-12. Claude Code aplica essa verificação a esquemas que não declaram `$schema` e esquemas que declaram draft 2020-12. Um esquema que declara qualquer outro dialeto ignora essa verificação, embora a verificação de nome de propriedade acima ainda se aplique1566* O esquema deve ser válido em relação ao meta-esquema JSON Schema draft 2020-12. Claude Code aplica essa verificação a esquemas que não declaram `$schema` e esquemas que declaram draft 2020-12. Um esquema que declara qualquer outro dialeto ignora essa verificação, embora a verificação de nome de propriedade acima ainda se aplique

1559 1567 

1560Quando Claude Code exclui uma ferramenta, registra o motivo no log do servidor e informa ao Claude quais ferramentas foram excluídas e por quê, para que você possa perguntar ao Claude por que uma ferramenta está faltando. Se você corrigir o esquema no servidor, a ferramenta reaparece na próxima vez que Claude Code carregar as ferramentas do servidor.1568Quando Claude Code exclui uma ferramenta, registra o motivo no log do servidor e informa ao Claude quais ferramentas foram excluídas e por quê, para que você possa perguntar ao Claude por que uma ferramenta está faltando. Se você corrigir o esquema no servidor, a ferramenta reaparece na próxima vez que Claude Code carregar as ferramentas do servidor.

1561 1569 

1562Claude Code ativa a exclusão através de um sinalizador de recurso que busca da Anthropic. Em uma [implantação onde a busca de sinalizadores está desativada](https://code.claude.com/docs/pt/env-vars.md#features-that-need-feature-flag-fetching), ou em uma máquina cujos sinalizadores nunca chegaram, como uma máquina isolada, Claude Code ainda executa as verificações e registra no log do servidor qual ferramenta seria rejeitada, mas envia o esquema da ferramenta para a API mesmo assim. A API rejeita uma solicitação que inclua esse esquema com [um erro 400 nomeando a ferramenta por sua posição](https://code.claude.com/docs/pt/errors.md#tool-input-schema-is-invalid). Antes da v2.1.216, nenhuma implantação executava essas verificações.1570Quando a [busca de feature flags](https://code.claude.com/docs/pt/env-vars.md#features-that-need-feature-flag-fetching) está desativada ou as flags nunca chegaram, como em uma máquina isolada, uma ferramenta que viola uma regra não é excluída:

1571 

1572* Claude recebe a ferramenta sem alterações, e o log do servidor registra `input schema would be rejected by the Anthropic API` para ela

1573* Se a API então rejeitar o esquema, consulte [Ferramentas cujo esquema de entrada a API recusa](#tools-whose-input-schema-the-api-refuses)

1574 

1575Antes da v2.1.216, nenhuma implantação executava essas verificações.

1563 1576 

1564O [tratamento do combinador de nível raiz](#tool-input-schemas-with-a-root-level-combinator) é separado e mantém seu próprio comportamento quando a busca de sinalizadores está desativada ou os sinalizadores nunca chegaram.1577O [tratamento do combinador de nível raiz](#tool-input-schemas-with-a-root-level-combinator) é separado e mantém seu próprio comportamento quando a busca de sinalizadores está desativada ou os sinalizadores nunca chegaram.

1565 1578 

1579### Ferramentas cujo esquema de entrada a API recusa

1580 

1581Se uma linha no log de depuração contiver `the API refused this tool's input schema`, ela nomeia uma ferramenta cujo esquema a API rejeitou em uma requisição. Claude Code reenvia essa requisição com a ferramenta declarada sem parâmetros.

1582 

1583* **Se sua sessão falhar com um erro 400 que nomeia uma ferramenta por sua posição**: siga as etapas em [Tool input schema is invalid](https://code.claude.com/docs/pt/errors.md#tool-input-schema-is-invalid)

1584* **Se você usa o servidor**: você não precisa fazer nada. Claude ainda pode chamar a ferramenta, mas não vê seus parâmetros

1585* **Se você mantém o servidor**: corrija o esquema de entrada da ferramenta no servidor. A linha do log termina com `The API said:` e o motivo da API para rejeitar o esquema. Valide os argumentos que o servidor recebe, porque Claude chama a ferramenta sem ver seus parâmetros

1586 

1587Antes da v2.1.300, todo turno que incluía o esquema recusado falhava com [um erro 400 nomeando a ferramenta por sua posição](https://code.claude.com/docs/pt/errors.md#tool-input-schema-is-invalid).

1588 

1566## Ferramentas com nomes maiores que 128 caracteres1589## Ferramentas com nomes maiores que 128 caracteres

1567 1590 

1568Se `/mcp` listar uma ferramenta que Claude não consegue chamar, verifique se o nome completo da ferramenta tem mais de 128 caracteres. Execute `/mcp` na sua sessão e selecione a ferramenta para ver seu nome completo, como `mcp__<server>__<tool>`. O Claude Code deixa uma ferramenta MCP de fora das ferramentas que envia ao Claude quando seu nome completo tem mais de 128 caracteres. A API do Claude rejeita uma requisição que inclua tal ferramenta, portanto deixar a ferramenta de fora mantém as outras ferramentas do servidor funcionando.1591Se `/mcp` listar uma ferramenta que Claude não consegue chamar, verifique se o nome completo da ferramenta tem mais de 128 caracteres. Execute `/mcp` na sua sessão e selecione a ferramenta para ver seu nome completo, como `mcp__<server>__<tool>`. O Claude Code deixa uma ferramenta MCP de fora das ferramentas que envia ao Claude quando seu nome completo tem mais de 128 caracteres. A API do Claude rejeita uma requisição que inclua tal ferramenta, portanto deixar a ferramenta de fora mantém as outras ferramentas do servidor funcionando.


1709 1732 

1710Antes da v2.1.296, o limite menor era de 2.048 caracteres e, antes da v2.1.295, ele se aplicava a todas as descrições de ferramentas, incluindo as carregadas através da busca de ferramentas.1733Antes da v2.1.296, o limite menor era de 2.048 caracteres e, antes da v2.1.295, ele se aplicava a todas as descrições de ferramentas, incluindo as carregadas através da busca de ferramentas.

1711 1734 

1712Descrições e instruções de alguns dos servidores MCP que a Anthropic hospeda em `api.anthropic.com` chegam a Claude por completo. Para alterar os limites para os demais servidores MCP em sua sessão, defina [`CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH`](https://code.claude.com/docs/pt/env-vars#variables) como um número de caracteres. O número que você define substitui ambos os limites: `8192`, por exemplo, aumenta o limite menor e reduz o maior. Esta variável requer Claude Code v2.1.280 ou posterior.1735#### Alterar os limites de tamanho das descrições

1736 

1737Para alterar os [limites padrão](#for-mcp-server-authors) de 4.096 e 16.384 caracteres para os servidores MCP em sua sessão, defina [`CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH`](https://code.claude.com/docs/pt/env-vars#variables) como um número de caracteres. Claude Code usa esse número para ambos os limites. Com `8192`, por exemplo, você aumenta o limite de 4.096 caracteres para instruções do servidor e descrições de ferramentas carregadas antecipadamente, e reduz o limite de 16.384 caracteres para descrições de ferramentas carregadas através da busca de ferramentas. Esta variável requer Claude Code v2.1.280 ou posterior.

1738 

1739Descrições e instruções de alguns dos servidores MCP que a Anthropic hospeda em `api.anthropic.com` chegam a Claude por completo, e definir esta variável não as corta.

1713 1740 

1714#### Marcar uma ferramenta para carregar antecipadamente ou permanecer adiada1741#### Marcar uma ferramenta para carregar antecipadamente ou permanecer adiada

1715 1742 

Details

65| `✘ Connection error` | A tentativa de conexão lançou um erro. Consulte [Troubleshooting](#troubleshooting) |65| `✘ Connection error` | A tentativa de conexão lançou um erro. Consulte [Troubleshooting](#troubleshooting) |

66| ``⏸ Pending approval (run `claude` to approve)`` | Um servidor com escopo de projeto que você ainda não aprovou. Consulte [Editar .mcp.json diretamente](#edit-mcp-json-directly) |66| ``⏸ Pending approval (run `claude` to approve)`` | Um servidor com escopo de projeto que você ainda não aprovou. Consulte [Editar .mcp.json diretamente](#edit-mcp-json-directly) |

67| `⊘ Disabled for this project (re-enable via /mcp)` | Um servidor desativado para este projeto pela lista `disabledMcpServers` do projeto. Consulte [Desativar um servidor sem removê-lo](https://code.claude.com/docs/pt/mcp.md#disable-a-server-without-removing-it) |67| `⊘ Disabled for this project (re-enable via /mcp)` | Um servidor desativado para este projeto pela lista `disabledMcpServers` do projeto. Consulte [Desativar um servidor sem removê-lo](https://code.claude.com/docs/pt/mcp.md#disable-a-server-without-removing-it) |

68| `✘ Blocked by enterprise managed policy` | Uma das políticas da sua organização bloqueia este servidor, então o Claude Code não se conectará. Pergunte ao seu administrador qual política. Consulte [Status do servidor](https://code.claude.com/docs/pt/mcp.md#server-status) |

68 69 

69Alguns consoles Windows legados, como o console padrão no Windows 10, não suportam esses glifos Unicode e mostram `√` e `×` no lugar de `✔` e `✘`.70Alguns consoles Windows legados, como o console padrão no Windows 10, não suportam esses glifos Unicode e mostram `√` e `×` no lugar de `✔` e `✘`.

70 71 

model-config.md +18 −1

Details

689* **`/effort`**: execute `/effort` sem argumentos para abrir um controle deslizante interativo, `/effort` seguido por um nome de nível para defini-lo diretamente, ou `/effort auto` para limpar seu nível salvo para o modelo ativo689* **`/effort`**: execute `/effort` sem argumentos para abrir um controle deslizante interativo, `/effort` seguido por um nome de nível para defini-lo diretamente, ou `/effort auto` para limpar seu nível salvo para o modelo ativo

690* **Em `/model`**: use as teclas de seta esquerda/direita para ajustar o controle deslizante de esforço ao selecionar um modelo690* **Em `/model`**: use as teclas de seta esquerda/direita para ajustar o controle deslizante de esforço ao selecionar um modelo

691* **Flag `--effort`**: passe um nome de nível para defini-lo para uma única sessão ao lançar Claude Code691* **Flag `--effort`**: passe um nome de nível para defini-lo para uma única sessão ao lançar Claude Code

692* **Variável de ambiente**: defina `CLAUDE_CODE_EFFORT_LEVEL` para um nome de nível ou `auto`692* **Variável de ambiente**: defina `CLAUDE_CODE_EFFORT_LEVEL` para um nome de nível. Para que Claude Code [não envie nenhum nível de esforço](#send-no-effort-level), defina-a como `auto` ou `unset` em vez disso

693* **Configurações**: defina um nível por modelo em [`modelSettings`](https://code.claude.com/docs/pt/settings-reference#modelsettings), ou defina [`effortLevel`](https://code.claude.com/docs/pt/settings-reference#effortlevel) para `low`, `medium`, `high` ou `xhigh` como o padrão para modelos sem um. `max` não é aceito como um nível em nenhuma chave, e `ultracode` tem sua própria chave [`ultracode`](https://code.claude.com/docs/pt/settings-reference#ultracode)693* **Configurações**: defina um nível por modelo em [`modelSettings`](https://code.claude.com/docs/pt/settings-reference#modelsettings), ou defina [`effortLevel`](https://code.claude.com/docs/pt/settings-reference#effortlevel) para `low`, `medium`, `high` ou `xhigh` como o padrão para modelos sem um. `max` não é aceito como um nível em nenhuma chave, e `ultracode` tem sua própria chave [`ultracode`](https://code.claude.com/docs/pt/settings-reference#ultracode)

694* **De um dispositivo conectado**: em uma sessão [Remote Control](https://code.claude.com/docs/pt/remote-control.md#what-connected-devices-see), escolha um nível no controle de esforço em seu telefone ou em seu navegador. O nível se aplica apenas à sessão atual. Requer Claude Code v2.1.234 ou posterior694* **De um dispositivo conectado**: em uma sessão [Remote Control](https://code.claude.com/docs/pt/remote-control.md#what-connected-devices-see), escolha um nível no controle de esforço em seu telefone ou em seu navegador. O nível se aplica apenas à sessão atual. Requer Claude Code v2.1.234 ou posterior

695* **Frontmatter de skill e subagente**: defina `effort` em um arquivo markdown de [skill](https://code.claude.com/docs/pt/skills.md#frontmatter-reference) ou [subagente](https://code.claude.com/docs/pt/sub-agents.md#supported-frontmatter-fields) para sobrescrever o nível de esforço quando essa skill ou subagente é executado695* **Frontmatter de skill e subagente**: defina `effort` em um arquivo markdown de [skill](https://code.claude.com/docs/pt/skills.md#frontmatter-reference) ou [subagente](https://code.claude.com/docs/pt/sub-agents.md#supported-frontmatter-fields) para sobrescrever o nível de esforço quando essa skill ou subagente é executado


711 711 

712Antes da v2.1.242, Claude Code podia colocar o próprio `/effort` na fila até o turno terminar, e sempre fazia isso em uma sessão que não [busca feature flags](https://code.claude.com/docs/pt/env-vars.md#features-that-need-feature-flag-fetching), como em um [provedor de terceiros](https://code.claude.com/docs/pt/third-party-integrations.md).712Antes da v2.1.242, Claude Code podia colocar o próprio `/effort` na fila até o turno terminar, e sempre fazia isso em uma sessão que não [busca feature flags](https://code.claude.com/docs/pt/env-vars.md#features-that-need-feature-flag-fetching), como em um [provedor de terceiros](https://code.claude.com/docs/pt/third-party-integrations.md).

713 713 

714#### Não enviar nenhum nível de esforço

715 

716Quando Claude Code não envia nenhum nível de esforço para um [modelo suportado](#adjust-effort-level), o [padrão da API](https://platform.claude.com/docs/en/build-with-claude/effort) se aplica em vez do padrão do Claude Code. Para que Claude Code não envie nenhum, inicie `claude` a partir de um shell que exporte `CLAUDE_CODE_EFFORT_LEVEL` com o valor `auto` ou o valor `unset`, que fazem a mesma coisa:

717 

718```bash theme={null}

719export CLAUDE_CODE_EFFORT_LEVEL=auto

720```

721 

722O cabeçalho e o rodapé da sessão não mostram nenhum nível de esforço enquanto nenhum é enviado. Para confirmar que nenhum é enviado, execute `/effort status` no prompt do Claude Code:

723 

724* **`Effort level: auto`**: nenhum nível de esforço é enviado.

725* **`Effort level: auto (currently <level>)`**: um nível ainda é enviado. Se uma configuração [`maxEffortLevel`](https://code.claude.com/docs/pt/settings-reference#maxeffortlevel) abaixo de `max` se aplica ao modelo ativo, Claude Code envia seu próprio padrão para o modelo, reduzido a esse limite. Remova a configuração ou defina-a como `max`.

726 

727> [!NOTE]

728>

729> Antes da v2.1.304, `/effort status` imprimia `Effort level: auto (currently high)` mesmo quando nenhum nível era enviado.

730 

714#### Raciocínio adaptativo e orçamentos de pensamento fixos731#### Raciocínio adaptativo e orçamentos de pensamento fixos

715 732 

716O raciocínio adaptativo torna o pensamento opcional em cada etapa, portanto Claude pode responder mais rápido a prompts rotineiros e reservar pensamento mais profundo para etapas que se beneficiam dele. Se você quiser que Claude pense mais ou menos frequentemente do que o nível atual produz, você pode dizer isso diretamente em seu prompt ou em `CLAUDE.md`; o modelo responde a essa orientação dentro de sua configuração de esforço.733O raciocínio adaptativo torna o pensamento opcional em cada etapa, portanto Claude pode responder mais rápido a prompts rotineiros e reservar pensamento mais profundo para etapas que se beneficiam dele. Se você quiser que Claude pense mais ou menos frequentemente do que o nível atual produz, você pode dizer isso diretamente em seu prompt ou em `CLAUDE.md`; o modelo responde a essa orientação dentro de sua configuração de esforço.

Details

861* `output_tokens`: Número de tokens de saída861* `output_tokens`: Número de tokens de saída

862* `cache_read_tokens`: Número de tokens lidos do cache862* `cache_read_tokens`: Número de tokens lidos do cache

863* `cache_creation_tokens`: Número de tokens usados para criação de cache863* `cache_creation_tokens`: Número de tokens usados para criação de cache

864* `cache_creation_5m_tokens`, `cache_creation_1h_tokens`: o número de tokens que a resposta da API informa como gravados no cache com um [tempo de vida de cache](https://code.claude.com/docs/pt/prompt-caching.md#cache-lifetime) de cinco minutos e o número gravado com um tempo de vida de uma hora. Ambos são `0` quando a resposta da API não os informa, mesmo quando `cache_creation_tokens` é maior que zero. Requer Claude Code v2.1.300 ou posterior

864* `request_id`: ID da requisição de API, como `"req_011..."`, descrito em [Atributos de correlação de eventos](#event-correlation-attributes).865* `request_id`: ID da requisição de API, como `"req_011..."`, descrito em [Atributos de correlação de eventos](#event-correlation-attributes).

865* `client_request_id`: UUID gerado pelo cliente enviado como o cabeçalho de requisição `x-client-request-id`; consulte a tabela de [atributos de correlação de eventos](#event-correlation-attributes) para saber quando ele está presente866* `client_request_id`: UUID gerado pelo cliente enviado como o cabeçalho de requisição `x-client-request-id`; consulte a tabela de [atributos de correlação de eventos](#event-correlation-attributes) para saber quando ele está presente

866* `speed`: `"fast"` ou `"normal"`, indicando se o modo rápido estava ativo867* `speed`: `"fast"` ou `"normal"`, indicando se o modo rápido estava ativo

Details

287claude --permission-mode acceptEdits287claude --permission-mode acceptEdits

288```288```

289 289 

290## Analise antes de editar com modo plan290## Analise antes de editar com o modo de planejamento

291 291 

292O modo plan diz a Claude para pesquisar e propor mudanças sem realizá-las. Claude lê arquivos, executa comandos shell para explorar e escreve um plano, mas não edita sua fonte. Exceto em sessões interativas de terminal com [permissões de bypass disponíveis](#skip-all-checks-with-bypasspermissions-mode), edições permanecem bloqueadas até que você aprove o plano.292O modo de planejamento instrui o Claude a pesquisar e propor alterações sem realizá-las. O Claude lê arquivos, executa comandos de shell para explorar e escreve um plano, mas não edita seu código-fonte. Exceto em sessões interativas de terminal com [bypass permissions disponível](#skip-all-checks-with-bypasspermissions-mode), as edições permanecem bloqueadas até que você aprove o plano.

293 293 

294O que acontece com um comando shell durante o planejamento depende da sessão, e o primeiro destes casos que se aplica é:294O que acontece com um comando de shell durante o planejamento depende da sessão, e aplica-se o primeiro dos casos a seguir que corresponder:

295 295 

296* **Sessões interativas de terminal com permissões de bypass disponíveis**: nem o classificador nem um prompt se aplica a comandos de planejamento. [Ignorar todas as verificações com modo bypassPermissions](#skip-all-checks-with-bypasspermissions-mode) cobre as poucas coisas que ainda solicitam lá.296* **Sessões interativas de terminal com bypass permissions disponível**: nem o classificador nem um prompt se aplicam aos comandos de planejamento. [Ignore todas as verificações com o modo bypassPermissions](#skip-all-checks-with-bypasspermissions-mode) aborda as poucas coisas que ainda solicitam confirmação nesse caso.

297* **[Modo automático](https://code.claude.com/docs/pt/auto-mode-config.md) disponível e a configuração `useAutoModeDuringPlan` ativada**, que é o padrão: o classificador revisa comandos shell diferentes de [remoções de caminho crítico](#critical-paths) em vez de solicitar você. Comandos aprovados são executados, e os rejeitados são bloqueados.297* **[Modo auto](https://code.claude.com/docs/pt/auto-mode-config.md) disponível e a configuração `useAutoModeDuringPlan` ativada**, o que ocorre por padrão: o classificador revisa os comandos de shell, exceto [remoções de caminhos críticos](#critical-paths), em vez de solicitar sua confirmação. Os comandos aprovados são executados, e os rejeitados são bloqueados.

298* **Modo automático não disponível, ou `useAutoModeDuringPlan` desativado**: comandos fora do [conjunto integrado somente leitura](https://code.claude.com/docs/pt/permissions.md#read-only-commands) solicitam aprovação, incluindo quando o [modo auto-allow](https://code.claude.com/docs/pt/sandboxing.md#sandbox-modes) do sandbox está habilitado.298* **Modo auto não disponível, ou `useAutoModeDuringPlan` desativada**: os comandos fora do [conjunto somente leitura integrado](https://code.claude.com/docs/pt/permissions.md#read-only-commands) solicitam aprovação, inclusive quando o [modo de permissão automática](https://code.claude.com/docs/pt/sandboxing.md#sandbox-modes) do sandbox está ativado.

299 299 

300Entre no modo plan pressionando `Shift+Tab` ou prefixando um único prompt com `/plan`. Você também pode iniciar no modo plan a partir da CLI:300Entre no modo de planejamento pressionando `Shift+Tab` ou prefixando um único prompt com `/plan`. Você também pode iniciar no modo de planejamento a partir da CLI:

301 301 

302```bash theme={null}302```bash theme={null}

303claude --permission-mode plan303claude --permission-mode plan

304```304```

305 305 

306Pressione `Shift+Tab` novamente para sair do modo plan sem aprovar um plano.306Pressione `Shift+Tab` novamente para sair do modo de planejamento sem aprovar um plano.

307 307 

308### Revise e aprove um plano308### Revise e aprove um plano

309 309 

310Quando o plano estiver pronto, Claude o apresenta e pergunta como proceder. A partir desse prompt você pode escolher:310Quando o plano estiver pronto, o Claude o apresenta e pergunta como prosseguir. Nesse prompt, você pode escolher:

311 311 

312* **Sim, e usar modo automático**: aprove e inicie em [modo automático](#eliminate-prompts-with-auto-mode). Se o modo automático não está [disponível para sua sessão](#eliminate-prompts-with-auto-mode), por exemplo porque sua organização o desativou, esta opção lê **Sim, auto-aceitar edições**. Se você iniciou a sessão com permissões de bypass habilitadas, a opção lê **Sim, e alternar para BYPASS PERMISSIONS (sem prompts adicionais) para esta sessão** em vez disso.312* **Yes, and use auto mode**: aprova e inicia no [modo auto](#eliminate-prompts-with-auto-mode). Se o modo auto não estiver [disponível para sua sessão](#eliminate-prompts-with-auto-mode), por exemplo porque sua organização o desativou, essa opção aparece como **Yes, auto-accept edits**. Se você iniciou a sessão com bypass permissions ativado, a opção aparece como **Yes, and switch to BYPASS PERMISSIONS (no further prompts) for this session**.

313* **Sim, aprovar edições manualmente**: aprove e revise cada edição individualmente.313* **Yes, manually approve edits**: aprova e revisa cada edição individualmente.

314* **Não, continuar planejando**: permaneça no modo plan e diga a Claude o que alterar.314* **No, keep planning**: permanece no modo de planejamento e informa ao Claude o que alterar.

315 315 

316Aprovar um plano sai do modo plan e alterna a sessão para o modo de permissão que cada opção de aprovação descreve, então Claude começa a editar. Para planejar novamente, volte ao modo plan com `Shift+Tab`, ou prefixe seu próximo prompt com `/plan`.316Aprovar um plano sai do modo de planejamento e muda a sessão para o modo de permissão que cada opção de aprovação descreve, de modo que o Claude começa a editar. Para planejar novamente, volte ao modo de planejamento com `Shift+Tab` ou prefixe seu próximo prompt com `/plan`.

317 317 

318Pressione `Ctrl+G` para abrir o plano proposto em seu editor de texto padrão e editá-lo diretamente antes de Claude prosseguir. Quando [`showClearContextOnPlanAccept`](https://code.claude.com/docs/pt/settings-reference#showclearcontextonplanaccept) está habilitado, a lista ganha uma primeira opção que aprova o plano e limpa o contexto de planejamento.318Pressione `Ctrl+G` para abrir o plano proposto no seu editor de texto padrão e editá-lo diretamente antes que o Claude prossiga. Quando [`showClearContextOnPlanAccept`](https://code.claude.com/docs/pt/settings-reference#showclearcontextonplanaccept) está ativada, a lista ganha uma primeira opção que aprova o plano e limpa o contexto de planejamento.

319 319 

320Aceitar um plano também dá à sessão um [título gerado](https://code.claude.com/docs/pt/sessions.md#name-your-sessions) baseado no plano, a menos que você já tenha nomeado a sessão.320Aceitar um plano também dá à sessão um [título gerado](https://code.claude.com/docs/pt/sessions.md#name-your-sessions) com base no plano, a menos que você já tenha nomeado a sessão.

321 321 

322### Defina modo plan como padrão322### Defina o modo de planejamento como padrão

323 323 

324Para tornar o modo plan o padrão para sessões de terminal de um projeto, defina `defaultMode` como `plan` em `.claude/settings.json`, colocado conforme o exemplo em [Inicie em um modo de permissão diferente](#start-in-a-different-mode) mostra. Conversas que a [extensão VS Code](https://code.claude.com/docs/pt/vs-code.md) inicia não leem configurações de projeto para o modo de permissão inicial. Lá, defina `claudeCode.initialPermissionMode` como `plan` em suas configurações de usuário do VS Code em vez disso.324Para tornar o modo de planejamento o padrão para as sessões de terminal de um projeto, defina `defaultMode` como `plan` em `.claude/settings.json`, posicionado como mostra o exemplo em [Inicie em um modo de permissão diferente](#start-in-a-different-mode). As conversas iniciadas pela [extensão do VS Code](https://code.claude.com/docs/pt/vs-code.md) não leem as configurações do projeto para o modo de permissão inicial. Nesse caso, defina `claudeCode.initialPermissionMode` como `plan` nas suas configurações de usuário do VS Code.

325 325 

326## Elimine prompts de permissão com o modo auto326## Elimine prompts de permissão com o modo auto

327 327 

permissions.md +1 −1

Details

739* Regras de pergunta com escopo de conteúdo como `Bash(git push *)` ainda forçam uma solicitação739* Regras de pergunta com escopo de conteúdo como `Bash(git push *)` ainda forçam uma solicitação

740* Outros comandos em sandbox também podem passar pelo fluxo de permissão regular, conforme descrito em [modo de permissão automática](https://code.claude.com/docs/pt/sandboxing.md#auto-allow-mode)740* Outros comandos em sandbox também podem passar pelo fluxo de permissão regular, conforme descrito em [modo de permissão automática](https://code.claude.com/docs/pt/sandboxing.md#auto-allow-mode)

741 741 

742Comandos que não serão executados em sandbox, como comandos excluídos, respeitam a regra de pergunta simples `Bash` como de costume. Veja [sandbox modes](https://code.claude.com/docs/pt/sandboxing.md#sandbox-modes) para alterar esse comportamento.742Comandos que não serão executados em sandbox, como comandos excluídos, respeitam a regra de pergunta simples `Bash` como de costume. Veja [modos do sandbox](https://code.claude.com/docs/pt/sandboxing.md#sandbox-modes) para alterar esse comportamento.

743 743 

744## Configurações gerenciadas744## Configurações gerenciadas

745 745 

Details

4 4 

5# Marketplaces da Anthropic5# Marketplaces da Anthropic

6 6 

7> Os marketplaces de plugins oficial, da comunidade e de demonstração da Anthropic para o Claude Code: seus nomes, repositórios, como adicionar cada um e onde navegar pelos seus plugins.7> Os marketplaces de plugins oficial e da comunidade da Anthropic para o Claude Code: seus nomes, repositórios, como adicionar cada um e onde navegar pelos seus plugins.

8 8 

9A Anthropic publica três marketplaces de plugins de uso geral para o Claude Code: [oficial](https://github.com/anthropics/claude-plugins-official), [comunidade](https://github.com/anthropics/claude-plugins-community) e [demonstração](https://github.com/anthropics/claude-code). Cada um é um catálogo de plugins em seu próprio repositório do GitHub. Quando você instala um plugin de um deles em uma sessão do Claude Code, você digita o nome do marketplace após `@`, como em `/plugin install commit-commands@claude-plugins-official`.9A Anthropic publica dois marketplaces de plugins de uso geral para o Claude Code: [oficial](https://github.com/anthropics/claude-plugins-official) e [comunidade](https://github.com/anthropics/claude-plugins-community). Cada um é um catálogo de plugins em seu próprio repositório do GitHub. Quando você instala um plugin de um deles em uma sessão do Claude Code, você digita o nome do marketplace após `@`, como em `/plugin install commit-commands@claude-plugins-official`.

10 10 

11Use esta página para distinguir os três marketplaces e para descobrir onde verificar se o oficial contém um determinado plugin.11Use esta página para distinguir os dois marketplaces e para descobrir onde verificar se o oficial contém um determinado plugin.

12 12 

13> [!NOTE]13> [!NOTE]

14>14>


19 19 

20Vá para a parte da página de que você precisa:20Vá para a parte da página de que você precisa:

21 21 

22* Para distinguir os três marketplaces por repositório, nome do marketplace e como obter cada um, consulte [Marketplaces da Anthropic](#anthropic’s-marketplaces).22* Para distinguir os dois marketplaces por repositório, nome do marketplace e como obter cada um, consulte [Marketplaces da Anthropic](#anthropic’s-marketplaces).

23* Para encontrar um plugin no marketplace oficial, consulte [Encontrar plugins no marketplace oficial](#find-plugins-in-the-official-marketplace).23* Para encontrar um plugin no marketplace oficial, consulte [Encontrar plugins no marketplace oficial](#find-plugins-in-the-official-marketplace).

24 24 

25## Marketplaces da Anthropic25## Marketplaces da Anthropic

26 26 

27Um marketplace é um catálogo de plugins que um repositório define em seu arquivo `.claude-plugin/marketplace.json`. Os marketplaces oficial, da comunidade e de demonstração vêm, cada um, de seu próprio repositório do GitHub. A Anthropic também publica marketplaces específicos por tema, como `anthropics/skills` e `anthropics/knowledge-work-plugins`, que você adiciona em uma sessão do Claude Code com `/plugin marketplace add <owner>/<repo>`.27Um marketplace é um catálogo de plugins que um repositório define em seu arquivo `.claude-plugin/marketplace.json`. Os marketplaces oficial e da comunidade vêm, cada um, de seu próprio repositório do GitHub. A Anthropic também publica marketplaces específicos por tema, como `anthropics/skills` e `anthropics/knowledge-work-plugins`, que você adiciona em uma sessão do Claude Code com `/plugin marketplace add <owner>/<repo>`.

28 28 

29Esta tabela apresenta o repositório e o nome de cada marketplace, que é o que você digita após `@` ao instalar um plugin desse marketplace. O nome do marketplace da comunidade é `claude-community`, não o nome do seu repositório.29Esta tabela apresenta o repositório e o nome de cada marketplace, que é o que você digita após `@` ao instalar um plugin desse marketplace. O nome do marketplace da comunidade é `claude-community`, não o nome do seu repositório.

30 30 

31| | Oficial | Comunidade | Demonstração |31| | Oficial | Comunidade |

32| :- | :- | :- | :- |32| :- | :- | :- |

33| Repositório | [`anthropics/claude-plugins-official`](https://github.com/anthropics/claude-plugins-official) | [`anthropics/claude-plugins-community`](https://github.com/anthropics/claude-plugins-community) | [`anthropics/claude-code`](https://github.com/anthropics/claude-code/tree/main/plugins) |33| Repositório | [`anthropics/claude-plugins-official`](https://github.com/anthropics/claude-plugins-official) | [`anthropics/claude-plugins-community`](https://github.com/anthropics/claude-plugins-community) |

34| Nome do marketplace | `claude-plugins-official` | `claude-community` | `claude-code-plugins` |34| Nome do marketplace | `claude-plugins-official` | `claude-community` |

35| O que contém | Plugins que a Anthropic mantém, além de plugins de parceiros e outros autores | Plugins de terceiros que seus autores enviaram à Anthropic | Um pequeno conjunto de plugins de exemplo que mostram o que um plugin pode conter |35| O que contém | Plugins que a Anthropic mantém, além de plugins de parceiros e outros autores | Plugins de terceiros que seus autores enviaram à Anthropic |

36| Como obtê-lo | O Claude Code o adiciona na primeira vez que você inicia uma sessão interativa no terminal, a menos que uma [política gerenciada](https://code.claude.com/docs/pt/plugins/org.md#allow-the-official-marketplace-and-your-own) ou `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` o bloqueie. Consulte [Marketplace `claude-plugins-official` não encontrado](https://code.claude.com/docs/pt/plugins/troubleshooting#marketplace-claude-plugins-official-not-found) se ele estiver ausente | Você o adiciona em uma sessão do Claude Code com `/plugin marketplace add anthropics/claude-plugins-community` | Você o adiciona em uma sessão do Claude Code com `/plugin marketplace add anthropics/claude-code` |36| Como obtê-lo | O Claude Code o adiciona na primeira vez que você inicia uma sessão interativa no terminal, a menos que uma [política gerenciada](https://code.claude.com/docs/pt/plugins/org.md#allow-the-official-marketplace-and-your-own) ou `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` o bloqueie. Consulte [Marketplace `claude-plugins-official` não encontrado](https://code.claude.com/docs/pt/plugins/troubleshooting#marketplace-claude-plugins-official-not-found) se ele estiver ausente | Você o adiciona em uma sessão do Claude Code com `/plugin marketplace add anthropics/claude-plugins-community` |

37 37 

38Se você escreveu um plugin e quer que outras pessoas o instalem, consulte [Publicar um plugin](https://code.claude.com/docs/pt/plugins/publish.md), que aborda seu próprio marketplace e o envio para o diretório da Anthropic.38Se você escreveu um plugin e quer que outras pessoas o instalem, consulte [Publicar um plugin](https://code.claude.com/docs/pt/plugins/publish.md), que aborda seu próprio marketplace e o envio para o diretório da Anthropic.

39 39 

40### O marketplace de demonstração em `anthropics/claude-code`40### Marketplace `claude-code-plugins` descontinuado

41 41 

42Se um tutorial ou um conjunto de instruções mais antigo disser para você executar `/plugin marketplace add anthropics/claude-code`, isso adiciona o marketplace de demonstração, chamado `claude-code-plugins`. Ele não é o marketplace oficial.42> [!WARNING]

43>

44> O marketplace `claude-code-plugins` em `anthropics/claude-code` está descontinuado. Para adicionar um plugin, execute `claude plugin install <plugin>@claude-plugins-official` no seu shell e pule qualquer etapa de tutorial que execute `/plugin marketplace add anthropics/claude-code`.

45 

46A menos que você tenha um dos dois plugins abaixo, pode deixar seus plugins de `claude-code-plugins` e o marketplace como estão. Eles são atualizados a partir do repositório `claude-plugins-official`.

43 47 

44A maioria dos plugins do marketplace de demonstração também está no marketplace oficial com os mesmos nomes. Por exemplo, `code-review`, `feature-dev` e `commit-commands` estão em ambos. Instale-os a partir de `claude-plugins-official` para não ter duas cópias instaladas.48* **`ralph-wiggum`**: este plugin agora é `ralph-loop`, e seus comandos começam com `/ralph-loop:`. Se esses comandos não estiverem disponíveis, execute `claude plugin install ralph-loop@claude-plugins-official` no seu shell.

49* **`claude-opus-4-5-migration`**: este plugin foi desativado, então remova-o executando `claude plugin uninstall claude-opus-4-5-migration@claude-code-plugins` no seu shell.

50 

51Se qualquer outro plugin parou de funcionar, consulte [Plugin instalado, mas não funciona](https://code.claude.com/docs/pt/plugins/troubleshooting.md#plugin-installed-but-not-working).

45 52 

46## Encontrar plugins no marketplace oficial53## Encontrar plugins no marketplace oficial

47 54 


62 69 

63Para instalar a partir do aplicativo desktop ou de um script, ou para ver o que uma sessão na nuvem carrega, consulte [Instalar plugins](https://code.claude.com/docs/pt/plugins/install.md).70Para instalar a partir do aplicativo desktop ou de um script, ou para ver o que uma sessão na nuvem carrega, consulte [Instalar plugins](https://code.claude.com/docs/pt/plugins/install.md).

64 71 

65### Adicionar o marketplace da comunidade ou de demonstração72### Adicionar o marketplace da comunidade

66 

67Os marketplaces da comunidade e de demonstração não são registrados até que você os adicione em uma sessão do Claude Code:

68 73 

69* **Comunidade**: execute `/plugin marketplace add anthropics/claude-plugins-community` e, em seguida, instale com o sufixo `@claude-community`.74O marketplace da comunidade não é registrado até que você o adicione. Em uma sessão do Claude Code, execute `/plugin marketplace add anthropics/claude-plugins-community` e, em seguida, instale com o sufixo `@claude-community`.

70* **Demonstração**: execute `/plugin marketplace add anthropics/claude-code` e, em seguida, instale com o sufixo `@claude-code-plugins`.

71 75 

72Se `claude-plugins-official` não estiver na aba **Marketplaces** de `/plugin`, adicione-o da mesma forma com `/plugin marketplace add anthropics/claude-plugins-official`.76Se `claude-plugins-official` não estiver na aba **Marketplaces** de `/plugin`, adicione-o da mesma forma com `/plugin marketplace add anthropics/claude-plugins-official`.

73 77 

Details

638| Código de saída | Linha de veredicto | Significado |638| Código de saída | Linha de veredicto | Significado |

639| :- | :- | :- |639| :- | :- | :- |

640| `0` | `Validation passed` ou `Validation passed with warnings` | O manifesto carrega. Com `--strict`, sem avisos também |640| `0` | `Validation passed` ou `Validation passed with warnings` | O manifesto carrega. Com `--strict`, sem avisos também |

641| `1` | `Validation failed` ou `Validation failed (--strict treats warnings as errors)` | Um erro, ou um aviso sob `--strict` |641| `1` | `Validation failed` ou `Validation failed (--strict treats warnings as errors)` | Um erro, ou um aviso sob `--strict`. [Conselhos](#advice-on-the-readme) não contam, com ou sem `--strict` |

642| `2` | `Unexpected error during validation: <reason>` | O validador em si falhou, como em um caminho ilegível |642| `2` | `Unexpected error during validation: <reason>` | O validador em si falhou, como em um caminho ilegível |

643 643 

644Com `--json`, Claude Code escreve o relatório para stdout como um objeto JSON com estes campos de nível superior:644Com `--json`, Claude Code escreve o relatório para stdout como um objeto JSON com estes campos de nível superior:


647* `strict`: se a execução tratou avisos como erros647* `strict`: se a execução tratou avisos como erros

648* `target`: o caminho resolvido que Claude Code validou648* `target`: o caminho resolvido que Claude Code validou

649* `manifest`: o resultado do próprio manifesto, ou `null` para uma execução sem manifesto649* `manifest`: o resultado do próprio manifesto, ou `null` para uma execução sem manifesto

650* `contents`: resultados por arquivo, cada um nomeando seu `file` e carregando arrays `errors`, `warnings` e `notes`650* `contents`: resultados por arquivo, cada um nomeando seu `file` e carregando arrays `errors`, `warnings` e `notes`. Arquivos sem nenhum erro, aviso ou nota não recebem entrada, então `contents` fica vazio quando não há nada a relatar. Para um [diretório com `marketplace.json` e `plugin.json`](#validate-a-directory), `manifest` é o resultado de `marketplace.json` e os resultados de `plugin.json` vão em `contents`

651 * `gatingHooks`: se cada hook de [mod](https://code.claude.com/docs/pt/plugins/mods/overview.md) que pode recusar uma ação, como um hook `tool.call`, tem um [manipulador `.catch`](https://code.claude.com/docs/pt/plugins/mods/events#handle-a-hook-that-fails). Cada item fornece `module`, `pattern`, `hook` e `hasCatch`. Requer Claude Code v2.1.290 ou posterior651 * `gatingHooks`: se cada hook de [mod](https://code.claude.com/docs/pt/plugins/mods/overview.md) que pode recusar uma ação, como um hook `tool.call`, tem um [manipulador `.catch`](https://code.claude.com/docs/pt/plugins/mods/events#handle-a-hook-that-fails). Cada item fornece `module`, `pattern`, `hook` e `hasCatch`. Requer Claude Code v2.1.290 ou posterior

652* `advice`: os [conselhos](#advice-on-the-readme) da execução, cada entrada nomeando o README como `file` e carregando uma `message` e a `installLine` para colar. Vazio quando não há nenhum. Requer Claude Code v2.1.295 ou posterior

652 653 

653Na saída `2`, o comando não escreve nada para stdout. A mensagem de erro vai para stderr.654Na saída `2`, o comando não escreve nada para stdout. A mensagem de erro vai para stderr.

654 655 

656#### Conselhos sobre o README

657 

658Um bloco `Advice` na saída de `claude plugin validate` significa que o README de um plugin não tem nenhuma linha que instale o plugin a partir de um marketplace, e ele fornece uma linha para você adicionar. Um conselho não é um erro nem um aviso. Ele não altera a linha de veredicto nem o código de saída, com ou sem `--strict`. Requer Claude Code v2.1.295 ou posterior.

659 

660Por exemplo, validar o diretório do marketplace `acme-tools` imprime este conselho para seu plugin `deploy-helper`:

661 

662```text theme={null}

663Validating marketplace manifest: /path/to/acme-tools/.claude-plugin/marketplace.json

664 

665ℹ Advice (does not change the verdict):

666 

667 ❯ /path/to/acme-tools/plugins/deploy-helper/README.md: This README has no line that installs "deploy-helper" from a marketplace. Add the install line, which works in one step on Claude Code 2.1.275 or later.

668 /plugin install deploy-helper --marketplace acme/tools

669 

670✔ Validation passed

671```

672 

673Para eliminar o conselho, cole a linha sugerida no README que ele nomeia e, em seguida, execute `claude plugin validate` novamente em seu shell. O bloco `Advice` desaparece.

674 

675Se a linha sugerida contiver o placeholder `<owner>/<repo>`, colá-la sem alterações não elimina o conselho. Obtenha primeiro a origem real:

676 

677* **Você validou o próprio diretório do plugin**: quando o marketplace lista o plugin a partir de um diretório dentro do seu próprio, valide esse diretório. Quando ele lista o plugin a partir de outro lugar, como um repositório GitHub, preencha `<owner>/<repo>` você mesmo

678* **Você validou o diretório do marketplace**: Claude Code preenche a origem a partir do remote `origin` do diretório `.git` no topo desse diretório. Quando não consegue usar esse remote, como quando não há nenhum, substitua `<owner>/<repo>` pela origem do seu marketplace você mesmo

679 

680Uma linha de instalação que você já escreveu conta quando `plugin install`, ou sua forma curta `plugin i`, é seguido na mesma linha por qualquer um destes. As grafias `/plugin` e `claude plugin` contam ambas:

681 

682* `<plugin>@<marketplace>`, como `/plugin install deploy-helper@acme-tools`

683* O nome do plugin e `--marketplace <source>`, como `/plugin install deploy-helper --marketplace acme/tools`

684 

655## Comandos claude plugin marketplace685## Comandos claude plugin marketplace

656 686 

657Execute `claude plugin marketplace <subcommand>` do seu shell para adicionar, listar, atualizar e remover os marketplaces dos quais você instala plugins.687Execute `claude plugin marketplace <subcommand>` do seu shell para adicionar, listar, atualizar e remover os marketplaces dos quais você instala plugins.

Details

376* [Estrutura de plugin e testes](https://claude.com/docs/plugins/build): a mesma pasta de plugin instala em claude.ai e em Cowork. Alguns componentes são apenas Claude Code, e a [tabela de suporte de componentes](https://claude.com/docs/plugins/platform-support#compare-component-support-by-app) lista quais são carregados em cada superfície376* [Estrutura de plugin e testes](https://claude.com/docs/plugins/build): a mesma pasta de plugin instala em claude.ai e em Cowork. Alguns componentes são apenas Claude Code, e a [tabela de suporte de componentes](https://claude.com/docs/plugins/platform-support#compare-component-support-by-app) lista quais são carregados em cada superfície

377* [Referência do manifest do plugin](https://code.claude.com/docs/pt/plugins/manifest-reference.md): cada campo `plugin.json`, regra de caminho e diretório377* [Referência do manifest do plugin](https://code.claude.com/docs/pt/plugins/manifest-reference.md): cada campo `plugin.json`, regra de caminho e diretório

378* [Skills](https://code.claude.com/docs/pt/skills.md): escreva as skills que seu plugin fornece378* [Skills](https://code.claude.com/docs/pt/skills.md): escreva as skills que seu plugin fornece

379* [Plugins da Anthropic no repositório claude-code](https://github.com/anthropics/claude-code/tree/main/plugins): exemplos completos trabalhados do layout nesta página, como `feature-dev` e `code-review`379* [Plugins da Anthropic no repositório claude-plugins-official](https://github.com/anthropics/claude-plugins-official/tree/main/plugins): exemplos completos trabalhados do layout nesta página, como `feature-dev` e `code-review`

Details

220 220 

221## Hospedar seu marketplace221## Hospedar seu marketplace

222 222 

223Uma vez que você possa instalar um plugin a partir do marketplace em sua própria máquina, como em [Criar um marketplace](#create-a-marketplace), envie o diretório do marketplace para um host git.223Uma vez que você possa instalar um plugin a partir do marketplace em sua própria máquina, como em [Criar um marketplace](#create-a-marketplace), envie o diretório do marketplace para um host git. Antes de enviar, dê ao marketplace um `name` de nível superior que outros autores provavelmente não escolherão, porque um usuário [não pode ter dois marketplaces com o mesmo nome](https://code.claude.com/docs/pt/plugins/marketplace-reference.md#marketplace-file).

224 224 

225Seus colegas de equipe então executam `claude plugin marketplace add <owner>/<repo>` em seu shell para um repositório GitHub, ou o mesmo comando com a URL do repositório. Eles então instalam um plugin por nome como no [passo a passo](#create-a-marketplace).225Seus colegas de equipe então executam `claude plugin marketplace add <owner>/<repo>` em seu shell para um repositório GitHub, ou o mesmo comando com a URL do repositório. Eles então instalam um plugin por nome como no [passo a passo](#create-a-marketplace).

226 226 

Details

193 193 

194| Fonte | O que você digita | Exemplo |194| Fonte | O que você digita | Exemplo |

195| :- | :- | :- |195| :- | :- | :- |

196| Repositório GitHub | `owner/repo`. Adicione `#ref` para fixar um branch ou tag. | `/plugin marketplace add anthropics/claude-code`, ou `/plugin marketplace add your-org/plugins#v1.2.0` para fixar a tag `v1.2.0` |196| Repositório GitHub | `owner/repo`. Adicione `#ref` para fixar um branch ou tag. | `/plugin marketplace add anthropics/claude-plugins-official`, ou `/plugin marketplace add your-org/plugins#v1.2.0` para fixar a tag `v1.2.0` |

197| Repositório Git em qualquer host | A URL de clone completa. Adicione `#ref` para fixar um branch ou tag. | `/plugin marketplace add https://gitlab.example.com/your-group/your-marketplace.git#v1.0.0` |197| Repositório Git em qualquer host | A URL de clone completa. Adicione `#ref` para fixar um branch ou tag. | `/plugin marketplace add https://gitlab.example.com/your-group/your-marketplace.git#v1.0.0` |

198| Diretório ou arquivo local | Um caminho relativo ou absoluto para um diretório que contém `.claude-plugin/marketplace.json`, ou para o arquivo JSON em si. Comece um caminho relativo com `./` ou `../`, porque o Claude Code lê um `name/name` simples como um repositório GitHub. | `/plugin marketplace add ./my-marketplace` |198| Diretório ou arquivo local | Um caminho relativo ou absoluto para um diretório que contém `.claude-plugin/marketplace.json`, ou para o arquivo JSON em si. Comece um caminho relativo com `./` ou `../`, porque o Claude Code lê um `name/name` simples como um repositório GitHub. | `/plugin marketplace add ./my-marketplace` |

199| `marketplace.json` hospedado | Sua URL `https://` | `/plugin marketplace add https://example.com/marketplace.json` |199| `marketplace.json` hospedado | Sua URL `https://` | `/plugin marketplace add https://example.com/marketplace.json` |


383 383 

384## Próximos passos384## Próximos passos

385 385 

386* [Marketplaces da Anthropic](https://code.claude.com/docs/pt/plugins/anthropic-marketplaces.md): como os marketplaces oficial, da comunidade e de demonstração diferem e onde navegar cada um386* [Marketplaces da Anthropic](https://code.claude.com/docs/pt/plugins/anthropic-marketplaces.md): como os marketplaces oficial e da comunidade diferem e onde navegar cada um

387* [Referência de carregamento de plugins](https://code.claude.com/docs/pt/plugins/loading.md): por que um plugin carregou, não carregou ou não mudou após uma atualização387* [Referência de carregamento de plugins](https://code.claude.com/docs/pt/plugins/loading.md): por que um plugin carregou, não carregou ou não mudou após uma atualização

388* [Segurança e confiança de plugins](https://code.claude.com/docs/pt/plugins/security.md): o que revisar antes de instalar um plugin de um marketplace que você não conhece388* [Segurança e confiança de plugins](https://code.claude.com/docs/pt/plugins/security.md): o que revisar antes de instalar um plugin de um marketplace que você não conhece

389* [Solucionar problemas de plugins](https://code.claude.com/docs/pt/plugins/troubleshooting.md): instalar e mensagens de erro de marketplace com suas correções389* [Solucionar problemas de plugins](https://code.claude.com/docs/pt/plugins/troubleshooting.md): instalar e mensagens de erro de marketplace com suas correções

Details

66>66>

67> Um marketplace de plugin não é [Claude Marketplace](https://claude.com/marketplace). Claude Marketplace é o site em claude.com/marketplace onde você navega por plugins, conectores, produtos de parceiros e parceiros de serviço. Não é um marketplace que você adiciona com `/plugin marketplace add`.67> Um marketplace de plugin não é [Claude Marketplace](https://claude.com/marketplace). Claude Marketplace é o site em claude.com/marketplace onde você navega por plugins, conectores, produtos de parceiros e parceiros de serviço. Não é um marketplace que você adiciona com `/plugin marketplace add`.

68 68 

69Claude Code adiciona o marketplace oficial da Anthropic na primeira vez que você inicia uma sessão de terminal interativa, a menos que uma [managed policy](https://code.claude.com/docs/pt/plugins/org.md#allow-the-official-marketplace-and-your-own) o bloqueie. Claude Code não adiciona os marketplaces comunitários e de demonstração da Anthropic por conta própria. Para distinguir os três marketplaces da Anthropic, leia [Anthropic's marketplaces](https://code.claude.com/docs/pt/plugins/anthropic-marketplaces.md). Para ver o que o oficial lista, abra a aba **Discover** de `/plugin` em uma sessão ou navegue por [Claude Marketplace](https://claude.com/marketplace/plugins).69Claude Code adiciona o marketplace oficial da Anthropic na primeira vez que você inicia uma sessão de terminal interativa, a menos que uma [managed policy](https://code.claude.com/docs/pt/plugins/org.md#allow-the-official-marketplace-and-your-own) o bloqueie. Claude Code não adiciona o marketplace comunitário da Anthropic por conta própria. Para distinguir os marketplaces da Anthropic, leia [Anthropic's marketplaces](https://code.claude.com/docs/pt/plugins/anthropic-marketplaces.md). Para ver o que o oficial lista, abra a aba **Discover** de `/plugin` em uma sessão ou navegue por [Claude Marketplace](https://claude.com/marketplace/plugins).

70 70 

71Este diagrama mostra o caminho de um marketplace para sua sessão. Um marketplace lista um plugin, você instala esse plugin, e Claude Code carrega seus componentes.71Este diagrama mostra o caminho de um marketplace para sua sessão. Um marketplace lista um plugin, você instala esse plugin, e Claude Code carrega seus componentes.

72 72 


88 88 

89O nome de um marketplace o coloca em um de três níveis. Claude Code aceita os nomes oficiais e comunitários apenas para marketplaces originários de repositórios `github.com/anthropics/`:89O nome de um marketplace o coloca em um de três níveis. Claude Code aceita os nomes oficiais e comunitários apenas para marketplaces originários de repositórios `github.com/anthropics/`:

90 90 

91* **Official**: marketplaces com um dos [official marketplace names](https://code.claude.com/docs/pt/plugins/security.md#official-marketplace-names) da Anthropic, incluindo `claude-plugins-official` e o marketplace de demonstração `claude-code-plugins`.91* **Official**: marketplaces com um dos [nomes de marketplace oficiais](https://code.claude.com/docs/pt/plugins/security.md#official-marketplace-names) da Anthropic, incluindo `claude-plugins-official` e `claude-code-plugins`.

92* **Community**: marketplaces com um dos nomes comunitários da Anthropic, como `claude-community`. [Identify Anthropic's marketplaces by name](https://code.claude.com/docs/pt/plugins/security.md#marketplace-tiers) os lista.92* **Community**: marketplaces com um dos nomes comunitários da Anthropic, como `claude-community`. [Identify Anthropic's marketplaces by name](https://code.claude.com/docs/pt/plugins/security.md#marketplace-tiers) os lista.

93* **Third-party**: todos os outros marketplaces. Um marketplace que seu colega de trabalho ou sua organização publica é de terceiros.93* **Third-party**: todos os outros marketplaces. Um marketplace que seu colega de trabalho ou sua organização publica é de terceiros.

94 94 

Details

96}96}

97```97```

98 98 

99Em seu shell, execute `claude plugin validate .` no repositório antes de fazer push. Para saber o que a execução verifica, veja [Validar um diretório](https://code.claude.com/docs/pt/plugins/cli-reference.md#validate-a-directory).99Substitua `your-marketplace` por um nome que outros autores provavelmente não escolherão, porque um usuário [não pode ter dois marketplaces com o mesmo nome](https://code.claude.com/docs/pt/plugins/marketplace-reference.md#marketplace-file). Em seu shell, execute `claude plugin validate .` no repositório antes de fazer push. Para saber o que a execução verifica, veja [Validar um diretório](https://code.claude.com/docs/pt/plugins/cli-reference.md#validate-a-directory).

100 100 

101[Criar um marketplace](https://code.claude.com/docs/pt/plugins/create-marketplace.md) cobre o layout com vários plugins em um repositório.101[Criar um marketplace](https://code.claude.com/docs/pt/plugins/create-marketplace.md) cobre o layout com vários plugins em um repositório.

102 102 

Details

76* `first-party-plugins`76* `first-party-plugins`

77* `claude-tag-plugins`77* `claude-tag-plugins`

78 78 

79Para saber como os marketplaces oficial, comunidade e demo diferem e onde procurar o que cada um lista, veja [Marketplaces da Anthropic](https://code.claude.com/docs/pt/plugins/anthropic-marketplaces.md).79Para saber como os marketplaces oficial e comunidade diferem e onde procurar o que cada um lista, veja [Marketplaces da Anthropic](https://code.claude.com/docs/pt/plugins/anthropic-marketplaces.md).

80 80 

81## Revise um plugin antes de instalar81## Revise um plugin antes de instalar

82 82 

Details

18 18 

19Use um script wrapper quando cada sessão precisar de configuração que o runner não consegue fazer por conta própria: provisionamento de credenciais de curta duração com escopo para o criador da sessão, exportação de segredos específicos do ambiente, preparação de cadeias de ferramentas de linguagem ou aplicação de limites de recursos ao redor do processo filho. O runner inicia seu wrapper no lugar do binário Claude Code, uma vez por sessão. Termine o wrapper com `exec` em `$CLAUDE_RUNNER_CLAUDE_BIN`, o binário próprio do runner, para que sinais e códigos de saída se propaguem corretamente.19Use um script wrapper quando cada sessão precisar de configuração que o runner não consegue fazer por conta própria: provisionamento de credenciais de curta duração com escopo para o criador da sessão, exportação de segredos específicos do ambiente, preparação de cadeias de ferramentas de linguagem ou aplicação de limites de recursos ao redor do processo filho. O runner inicia seu wrapper no lugar do binário Claude Code, uma vez por sessão. Termine o wrapper com `exec` em `$CLAUDE_RUNNER_CLAUDE_BIN`, o binário próprio do runner, para que sinais e códigos de saída se propaguem corretamente.

20 20 

21Aponte `--exec-path`, ou `SELF_HOSTED_RUNNER_EXEC_PATH`, para o wrapper quando você inicia o runner:21Aponte `--exec-path`, ou `SELF_HOSTED_RUNNER_EXEC_PATH`, para o wrapper quando você inicia o runner, substituindo `<writable-dir>` conforme descrito no [guia de início rápido](https://code.claude.com/docs/pt/self-hosted-environments-quickstart.md#set-up-manually):

22 22 

23```bash theme={null}23```bash theme={null}

24claude self-hosted-runner --environment-secret-file /etc/claude/environment-secret --exec-path /etc/claude/session-wrapper.sh24claude self-hosted-runner --environment-secret-file /etc/claude/environment-secret --base-dir '<writable-dir>' --exec-path /etc/claude/session-wrapper.sh

25```25```

26 26 

27O runner define o seguinte no ambiente do wrapper:27O runner define o seguinte no ambiente do wrapper:


457 457 

458Para confirmar que o trap funciona, adicione uma linha diretamente abaixo da linha `trap` que chama um comando que não existe, como `no-such-command`. Execute o arquivo do hook a partir do seu shell e verifique se `echo $?` imprime `1`, depois remova a linha.458Para confirmar que o trap funciona, adicione uma linha diretamente abaixo da linha `trap` que chama um comando que não existe, como `no-such-command`. Execute o arquivo do hook a partir do seu shell e verifique se `echo $?` imprime `1`, depois remova a linha.

459 459 

460### Pare ou reinicie o orquestrador

461 

462Para parar ou reiniciar o orquestrador sem interromper hooks `spawn-runner` em execução, inicie-o com [`--shutdown-drain-sec`](https://code.claude.com/docs/pt/self-hosted-environments-reference#orchestrator-cli-flags). Ao receber `SIGTERM`, ele então concede aos hooks em execução até o número de segundos que você definir para terminarem. Para escolher o valor e configurar seu supervisor de processos de acordo, consulte [Dimensione `--shutdown-drain-sec` e o timeout de parada do orquestrador](#size-shutdown-drain-sec-and-the-supervisors-stop-timeout-for-the-orchestrator).

463 

464Este comando de inicialização permite 70 segundos:

465 

466```bash theme={null}

467claude self-hosted-runner orchestrator \

468 --environment-secret-file /etc/claude/environment-secret \

469 --hooks-dir /etc/claude/hooks \

470 --shutdown-drain-sec 70

471```

472 

473O orquestrador sai assim que o poll já enviado e todos os hooks tiverem terminado. Quando os segundos de `--shutdown-drain-sec` se esgotam, os hooks ainda em execução recebem `SIGTERM` e o orquestrador sai. Um segundo `SIGTERM` ou qualquer `SIGINT` faz o mesmo sem aguardar. A linha de log contendo `[runner:orchestrator] stop summary:` contabiliza hooks e solicitações de spawn pela forma como cada um terminou.

474 

475Sem `--shutdown-drain-sec`, o orquestrador para imediatamente ao receber `SIGTERM` ou `SIGINT`. Cada hook em execução recebe `SIGTERM`, e a Anthropic não é informada de nada. Uma sessão cujo runner nunca foi iniciado pode então ficar na fila até que a Anthropic [a re-solicite](#the-spawn-runner-hook), o que acontece depois que `--expected-spawn-seconds` tiver passado, 120 segundos por padrão.

476 

477> [!NOTE]

478>

479> `--shutdown-drain-sec` requer Claude Code v2.1.299 ou posterior. Uma versão mais antiga sai na inicialização com `error: unknown flag --shutdown-drain-sec`.

480 

481#### Dimensione `--shutdown-drain-sec` e o timeout de parada do orquestrador

482 

483Com as configurações padrão, use [`--shutdown-drain-sec 70`](https://code.claude.com/docs/pt/self-hosted-environments-reference#orchestrator-cli-flags) com um timeout de parada de 85 segundos, ou seja, `terminationGracePeriodSeconds: 85` no Kubernetes ou `TimeoutStopSec=85` no systemd. Se você alterou `--hook-timeout`, ajuste ambos:

484 

485* **`--shutdown-drain-sec`**: pelo menos `--hook-timeout` mais 10 segundos, para que um hook que começou logo antes do `SIGTERM` ainda possa terminar

486* **Timeout de parada**: pelo menos `--shutdown-drain-sec` mais 15 segundos. O orquestrador registra esse valor na inicialização: procure a linha que contém `shutdown drain:`.

487 

488Faça seu supervisor de processos enviar um único `SIGTERM`, apenas para o processo do orquestrador, porque um segundo encurta a espera de `--shutdown-drain-sec`. Se você mantiver o padrão do systemd [`KillMode=control-group`](https://code.claude.com/docs/pt/self-hosted-environments-deploy#what-reaches-a-running-post-session-hook), os hooks também recebem `SIGTERM`, e um hook pode morrer antes de submeter sua carga de trabalho. Antes de alterar `KillMode`, verifique como seu hook `spawn-runner` inicia runners:

489 

490* **Se seu hook submete sua carga de trabalho a uma plataforma e sai**: execute o orquestrador como o processo principal da unit e defina `KillMode=mixed`, que envia `SIGTERM` apenas para esse processo.

491* **Se seu hook inicia runners como processos na própria unit do orquestrador**: `KillMode=mixed` não envia `SIGTERM` a esses runners. Em vez disso, o systemd envia `SIGKILL` a eles mais tarde, então eles saem sem drenar suas sessões nem executar seu hook `post-session`.

492 

460## Enviar requisições de modelo para Bedrock ou Agent Platform493## Enviar requisições de modelo para Bedrock ou Agent Platform

461 494 

462Se a sua organização precisa que as requisições de modelo passem pela própria conta da AWS ou do Google Cloud, configure o runner para o [Amazon Bedrock](https://code.claude.com/docs/pt/amazon-bedrock.md) ou para o [Agent Platform do Google Cloud, anteriormente Vertex AI](https://code.claude.com/docs/pt/google-vertex-ai.md). Cada sessão que esse runner iniciar passará a chamar o modelo na sua conta de nuvem, com as suas credenciais de nuvem. Sem essa configuração, as sessões enviam requisições de modelo para a API da Anthropic.495Se a sua organização precisa que as requisições de modelo passem pela própria conta da AWS ou do Google Cloud, configure o runner para o [Amazon Bedrock](https://code.claude.com/docs/pt/amazon-bedrock.md) ou para o [Agent Platform do Google Cloud, anteriormente Vertex AI](https://code.claude.com/docs/pt/google-vertex-ai.md). Cada sessão que esse runner iniciar passará a chamar o modelo na sua conta de nuvem, com as suas credenciais de nuvem. Sem essa configuração, as sessões enviam requisições de modelo para a API da Anthropic.

Details

583 583 

584## Tempo de encerramento584## Tempo de encerramento

585 585 

586Após `SIGTERM`, um runner precisa de tempo para encerrar suas sessões de forma limpa antes que seu orquestrador o mate. Ele registra no log quanto tempo precisa na inicialização, em uma linha que contém `This runner needs up to 80s` nas configurações padrão. Defina o timeout de parada do seu orquestrador para pelo menos esse número de segundos: `terminationGracePeriodSeconds` no Kubernetes, `stop_grace_period` no Docker Compose, ou o equivalente da sua plataforma. O padrão do Kubernetes é 30 segundos, portanto sem essa configuração ele pode parar o pod antes que o runner termine.586> [!NOTE]

587>

588> Esses tempos se aplicam a runners. O processo `claude self-hosted-runner orchestrator` tem os seus próprios: consulte [Dimensionar `--shutdown-drain-sec` e o timeout de parada do orquestrador](https://code.claude.com/docs/pt/self-hosted-environments-configuration#size-shutdown-drain-sec-and-the-supervisors-stop-timeout-for-the-orchestrator).

589 

590Na inicialização, cada runner registra no log quanto tempo pode precisar após `SIGTERM` para encerrar suas sessões de forma limpa, como `This runner needs up to 80s` nas configurações padrão. Seu timeout de parada é quanto tempo o seu supervisor de processos aguarda após `SIGTERM` antes de matar o runner. Defina-o para pelo menos o tempo registrado:

591 

592* **Kubernetes**: `terminationGracePeriodSeconds`. O padrão do Kubernetes é 30 segundos, portanto sem essa configuração ele pode parar o pod antes que o runner termine.

593* **Docker Compose**: `stop_grace_period`

587 594 

588Em `SIGTERM`, o runner para de aceitar novas sessões. Em seguida, ele inicia um encerramento gracioso, chamado de drenagem, a menos que você defina [`--defer-shutdown-max-min`](#defer-the-drain-past-the-first-signal) para adiá-lo. A drenagem tem três etapas:595Em `SIGTERM`, o runner para de aceitar novas sessões. Em seguida, ele inicia um encerramento gracioso, chamado de drenagem, a menos que você defina [`--defer-shutdown-max-min`](#defer-the-drain-past-the-first-signal) para adiá-lo. A drenagem tem três etapas:

589 596 


744 751 

745**2. Inicie o runner**752**2. Inicie o runner**

746 753 

747No seu shell, inicie o runner com `--hold-idle-file`, `--release-idle-session-min` e [`--max-hold-min`](https://code.claude.com/docs/pt/self-hosted-environments-reference#runner-cli-flags), o limite de uma retenção, contado a partir do momento em que uma sessão fica ociosa. Sem ele, o limite é de um dia. Defina-o acima de `--release-idle-session-min`, ou nada será retido. Este exemplo libera sessões ociosas após 30 minutos e libera uma sessão retida no máximo 4 horas depois que ela ficou ociosa:754No seu shell, inicie o runner com `--hold-idle-file`, `--release-idle-session-min` e [`--max-hold-min`](https://code.claude.com/docs/pt/self-hosted-environments-reference#runner-cli-flags), o limite de uma retenção, contado a partir do momento em que uma sessão fica ociosa. Sem ele, o limite é de um dia. Defina-o acima de `--release-idle-session-min`, ou nada será retido. Substitua `<writable-dir>` conforme descrito no [guia de início rápido](https://code.claude.com/docs/pt/self-hosted-environments-quickstart.md#set-up-manually). Este exemplo libera sessões ociosas após 30 minutos e libera uma sessão retida no máximo 4 horas depois que ela ficou ociosa:

748 755 

749```bash theme={null}756```bash theme={null}

750claude self-hosted-runner \757claude self-hosted-runner \

751 --environment-secret-file /etc/claude/environment-secret \758 --environment-secret-file /etc/claude/environment-secret \

759 --base-dir '<writable-dir>' \

752 --release-idle-session-min 30 \760 --release-idle-session-min 30 \

753 --hold-idle-file /var/lib/claude-hold/hold-idle \761 --hold-idle-file /var/lib/claude-hold/hold-idle \

754 --max-hold-min 240762 --max-hold-min 240


816 * **Alterações sem commit ainda são perdidas**: para solicitar que Claude faça commit e push quando terminar de responder, consulte [Solicitar que as sessões enviem seu trabalho](https://code.claude.com/docs/pt/self-hosted-environments-configuration.md#prompt-sessions-to-push-their-work)824 * **Alterações sem commit ainda são perdidas**: para solicitar que Claude faça commit e push quando terminar de responder, consulte [Solicitar que as sessões enviem seu trabalho](https://code.claude.com/docs/pt/self-hosted-environments-configuration.md#prompt-sessions-to-push-their-work)

817* **Um comando interrompido por um runner perdido pode ser executado novamente**: quando a sessão é retomada em outro runner, Claude vê a chamada de ferramenta interrompida com um resultado informando que seu desfecho é desconhecido.825* **Um comando interrompido por um runner perdido pode ser executado novamente**: quando a sessão é retomada em outro runner, Claude vê a chamada de ferramenta interrompida com um resultado informando que seu desfecho é desconhecido.

818* **Um repositório adicionado no meio da sessão pode falhar ao ser clonado**: Claude o clona com `git clone` via HTTPS. Em um runner sem [`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy), o clone falha com um erro de autenticação do git se nada no host puder ler o repositório. Sempre que possível, selecione cada repositório que a sessão precisa quando você a cria.826* **Um repositório adicionado no meio da sessão pode falhar ao ser clonado**: Claude o clona com `git clone` via HTTPS. Em um runner sem [`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy), o clone falha com um erro de autenticação do git se nada no host puder ler o repositório. Sempre que possível, selecione cada repositório que a sessão precisa quando você a cria.

827 * **Quando a sessão é retomada**: um [hook `checkout`](https://code.claude.com/docs/pt/self-hosted-environments-configuration#checkout) também é executado para o repositório adicionado, com [`CLAUDE_RUNNER_REPO_REF`](https://code.claude.com/docs/pt/self-hosted-environments-configuration#checkout) vazio, então faça seu hook lidar com isso.

819* **Alguns conectores não aparecem em sessões auto-hospedadas**: um conector que você ainda não conectou nas Configurações do claude.ai não está listado em uma sessão auto-hospedada, e a sessão não o solicitará para conectar. Conecte-o nas Configurações primeiro, depois inicie uma sessão fresca. Adicionar um conector a uma sessão já em execução também não torna suas ferramentas disponíveis para Claude; inicie uma sessão fresca para pegar um conector recém-adicionado.828* **Alguns conectores não aparecem em sessões auto-hospedadas**: um conector que você ainda não conectou nas Configurações do claude.ai não está listado em uma sessão auto-hospedada, e a sessão não o solicitará para conectar. Conecte-o nas Configurações primeiro, depois inicie uma sessão fresca. Adicionar um conector a uma sessão já em execução também não torna suas ferramentas disponíveis para Claude; inicie uma sessão fresca para pegar um conector recém-adicionado.

820* **Quando alguém arquiva ou exclui uma sessão, ou libera seu runner a partir do menu da sessão**: não conte com o push de [`--push-outcome-on-release`](https://code.claude.com/docs/pt/self-hosted-environments-reference#runner-cli-flags). Para salvar commits nesses casos, faça push de `HEAD` para um branch de resgate a partir de um [hook `post-session`](https://code.claude.com/docs/pt/self-hosted-environments-configuration#post-session). Se você partir do exemplo ali, faça-o fazer push mesmo quando não houver nada sem commit, porque ele faz push apenas após um commit de snapshot.829* **Quando alguém arquiva ou exclui uma sessão, ou libera seu runner a partir do menu da sessão**: não conte com o push de [`--push-outcome-on-release`](https://code.claude.com/docs/pt/self-hosted-environments-reference#runner-cli-flags). Para salvar commits nesses casos, faça push de `HEAD` para um branch de resgate a partir de um [hook `post-session`](https://code.claude.com/docs/pt/self-hosted-environments-configuration#post-session). Se você partir do exemplo ali, faça-o fazer push mesmo quando não houver nada sem commit, porque ele faz push apenas após um commit de snapshot.

821 830 


833 842 

834Problemas comuns:843Problemas comuns:

835 844 

836* **Runner não aparece no ambiente**: confirme que o host pode alcançar `api.anthropic.com` via HTTPS, o segredo do ambiente está atual e o relógio do host está dentro de cinco minutos da hora real; desvios maiores causam falha na autenticação. O runner registra `[runner:fatal]` com o motivo da rejeição em caso de falha de autenticação.845* **O runner não aparece no ambiente**: confirme que o host pode alcançar `api.anthropic.com` via HTTPS e que o segredo do ambiente está atual. O runner registra `[runner:fatal]` com o motivo da rejeição em caso de falha de autenticação.

837* **Runner sai na inicialização com `cannot create or write to base directory`**: o runner não consegue criar ou escrever em `--base-dir`, que padrão é `/workspace`. Corrija a propriedade do diretório ou aponte `--base-dir` para um caminho gravável, conforme descrito em [Keep the base directory and capacity identical across runners](#keep-the-base-directory-and-capacity-identical-across-runners). Se o runner registrar `[runner:fatal]` dizendo que a verificação do diretório base expirou, o diretório está em uma montagem NFS ou CSI travada. Verifique a saúde da montagem em vez de permissões. O runner imprime ambas essas falhas de inicialização para stderr antes de abrir `--log-file`, então procure por elas no terminal ou nos logs do contêiner da sua plataforma em vez do arquivo de log. Antes da v2.1.225, o runner não verificava o diretório base na inicialização, e essa configuração incorreta falhava nas sessões após a coleta.846* **Runner sai na inicialização com `cannot create or write to base directory`**: o runner não consegue criar ou escrever em `--base-dir`, que padrão é `/workspace`. Corrija a propriedade do diretório ou aponte `--base-dir` para um caminho gravável, conforme descrito em [Keep the base directory and capacity identical across runners](#keep-the-base-directory-and-capacity-identical-across-runners). Se o runner registrar `[runner:fatal]` dizendo que a verificação do diretório base expirou, o diretório está em uma montagem NFS ou CSI travada. Verifique a saúde da montagem em vez de permissões. O runner imprime ambas essas falhas de inicialização para stderr antes de abrir `--log-file`, então procure por elas no terminal ou nos logs do contêiner da sua plataforma em vez do arquivo de log. Antes da v2.1.225, o runner não verificava o diretório base na inicialização, e essa configuração incorreta falhava nas sessões após a coleta.

838* **O runner sai na inicialização com `RegisterRunner failed:` e um erro de certificado TLS**: o erro pode ser `self signed certificate in certificate chain`, por exemplo. O runner não confia na autoridade certificadora (CA) por trás do certificado que recebeu, como acontece atrás de um proxy que inspeciona TLS. Defina [`NODE_EXTRA_CA_CERTS`](https://code.claude.com/docs/pt/network-config#custom-ca-certificates) no ambiente do runner para um arquivo PEM com a CA raiz do proxy.847* **O runner sai na inicialização com `RegisterRunner failed:` e um erro de certificado TLS**: o erro pode ser `self signed certificate in certificate chain`, por exemplo. O runner não confia na autoridade certificadora (CA) por trás do certificado que recebeu, como acontece atrás de um proxy que inspeciona TLS. Defina [`NODE_EXTRA_CA_CERTS`](https://code.claude.com/docs/pt/network-config#custom-ca-certificates) no ambiente do runner para um arquivo PEM com a CA raiz do proxy.

839 848 

840 Você não precisa defini-la novamente para as sessões, que a herdam. O Git não a lê: para clones através desse proxy, defina também [`GIT_SSL_CAINFO`](#trust-a-private-certificate-authority-with-anthropic-managed-git).849 Você não precisa defini-la novamente para as sessões, que a herdam. O Git não a lê: para clones através desse proxy, defina também [`GIT_SSL_CAINFO`](#trust-a-private-certificate-authority-with-anthropic-managed-git).

841* **Seu script de inicialização imprime um erro de escrita contendo `Resource temporarily unavailable` e sai**: seu script compartilha seu stdout ou stderr com o processo `claude self-hosted-runner` ou do [orquestrador](https://code.claude.com/docs/pt/self-hosted-environments-configuration.md#on-demand-runners) que ele inicia, o qual mudou esse pipe ou socket compartilhado para o modo não bloqueante. Quando o pipe está cheio, uma escrita do seu script falha com esse erro do sistema operacional em vez de aguardar, e sob `set -e` o script sai.850* **Seu script de inicialização imprime um erro de escrita contendo `Resource temporarily unavailable` e sai**: seu script compartilha seu stdout ou stderr com o processo `claude self-hosted-runner` ou do [orquestrador](https://code.claude.com/docs/pt/self-hosted-environments-configuration.md#on-demand-runners) que ele inicia, o qual mudou esse pipe ou socket compartilhado para o modo não bloqueante. Quando o pipe está cheio, uma escrita do seu script falha com esse erro do sistema operacional em vez de aguardar, e sob `set -e` o script sai.

842 851 

843 Para eliminar o erro, envie a saída do runner ou do orquestrador para um arquivo que o usuário do seu script possa criar. Acrescente `>> "$HOME/claude-runner.log" 2>&1` ao comando que o inicia, antes de qualquer `&` que o coloque em segundo plano:852 Para eliminar o erro, envie a saída do runner ou do orquestrador para um arquivo que o usuário do seu script possa criar. Acrescente `>> "$HOME/claude-runner.log" 2>&1` ao comando que o inicia, antes de qualquer `&` que o coloque em segundo plano, e substitua `<writable-dir>` conforme o [início rápido](https://code.claude.com/docs/pt/self-hosted-environments-quickstart.md#set-up-manually) descreve:

844 853 

845 ```bash theme={null}854 ```bash theme={null}

846 claude self-hosted-runner --environment-secret-file /etc/claude/environment-secret >> "$HOME/claude-runner.log" 2>&1855 claude self-hosted-runner --environment-secret-file /etc/claude/environment-secret --base-dir '<writable-dir>' >> "$HOME/claude-runner.log" 2>&1

847 ```856 ```

848 857 

849 A saída do próprio script continua indo para onde ia antes, enquanto o que o runner escreve em stdout e stderr, incluindo seus erros de inicialização, vai para esse arquivo. Use esse redirecionamento do shell em vez de apenas [`--log-file`](https://code.claude.com/docs/pt/self-hosted-environments-reference#runner-cli-flags), que espelha o log em um arquivo enquanto o runner continua escrevendo em stdout e stderr. Se você já passa `--log-file`, mantenha-a também, porque o redirecionamento não altera o que esse arquivo recebe.858 A saída do próprio script continua indo para onde ia antes, enquanto o que o runner escreve em stdout e stderr, incluindo seus erros de inicialização, vai para esse arquivo. Use esse redirecionamento do shell em vez de apenas [`--log-file`](https://code.claude.com/docs/pt/self-hosted-environments-reference#runner-cli-flags), que espelha o log em um arquivo enquanto o runner continua escrevendo em stdout e stderr. Se você já passa `--log-file`, mantenha-a também, porque o redirecionamento não altera o que esse arquivo recebe.


901 Antes da v2.1.274, o runner parou de tentar novamente uma busca com falha após algumas tentativas e aguardou a próxima agendada. Uma volta com falha não acionou uma busca, então cada volta falhou com um 401 até a próxima busca agendada.910 Antes da v2.1.274, o runner parou de tentar novamente uma busca com falha após algumas tentativas e aguardou a próxima agendada. Uma volta com falha não acionou uma busca, então cada volta falhou com um 401 até a próxima busca agendada.

902* **Um turno falha em claude.ai/code com `This model needs a newer version of Claude Code`**: a versão do Claude Code com a qual seus runners iniciam as sessões é mais antiga do que o modelo da sessão exige, então a API [rejeita a requisição](https://code.claude.com/docs/pt/errors.md#claude-code-does-not-support-this-model). Atualize os runners para a versão que a mensagem pede, ou uma posterior, conforme descrito em [Fixe a versão](#pin-the-version). Até lá, as pessoas podem escolher um modelo diferente na sessão.911* **Um turno falha em claude.ai/code com `This model needs a newer version of Claude Code`**: a versão do Claude Code com a qual seus runners iniciam as sessões é mais antiga do que o modelo da sessão exige, então a API [rejeita a requisição](https://code.claude.com/docs/pt/errors.md#claude-code-does-not-support-this-model). Atualize os runners para a versão que a mensagem pede, ou uma posterior, conforme descrito em [Fixe a versão](#pin-the-version). Até lá, as pessoas podem escolher um modelo diferente na sessão.

903* **Pod is killed mid-drain**: aumente `terminationGracePeriodSeconds` para pelo menos o valor que o runner registra na inicialização. Consulte [Shutdown timing](#shutdown-timing).912* **Pod is killed mid-drain**: aumente `terminationGracePeriodSeconds` para pelo menos o valor que o runner registra na inicialização. Consulte [Shutdown timing](#shutdown-timing).

913* **O runner registra uma linha `[runner:log]` terminando com `was paused or too slow`**: o runner continuou em execução e não precisa ser reiniciado. Até que o fluxo stdout ou stderr mencionado na linha fosse lido novamente, o runner descartou todas as linhas desse fluxo, exceto os 256 KiB mais recentes. Se você passou [`--log-file`](https://code.claude.com/docs/pt/self-hosted-environments-reference#runner-cli-flags), procure lá as linhas descartadas.

914* **O runner registra `Nobody can read this process's stdout anymore`**: o que lia o stdout do runner não existe mais, então o runner para de escrever ali pelo resto de sua execução e continua em execução. Enquanto o stderr ainda estiver aberto, esta linha e as linhas de status posteriores do runner, incluindo as linhas `[runner:fatal]`, vão para o stderr, então leia-as lá.

904 915 

905Depois que o logging é inicializado, o runner escreve seu log de ciclo de vida, incluindo linhas `[runner:fatal]`, em stdout, e a saída de depuração em stderr, tudo como linhas de texto simples em vez de JSON. As falhas do diretório base descritas nas entradas de solução de problemas acima são impressas em stderr antes desse ponto. Capture ambos os fluxos com `--log-file`, que também permite que `self-hosted-runner doctor` os acompanhe, ou com a coleta de logs da sua plataforma.916Depois que o logging é inicializado, o runner escreve seu log de ciclo de vida, incluindo linhas `[runner:fatal]`, em stdout, e a saída de depuração em stderr, tudo como linhas de texto simples em vez de JSON. As falhas do diretório base descritas nas entradas de solução de problemas acima são impressas em stderr antes desse ponto. Capture ambos os fluxos com `--log-file`, que também permite que `self-hosted-runner doctor` os acompanhe, ou com a coleta de logs da sua plataforma.

906 917 

Details

29 29 

30* Um host ou container Linux ou macOS com HTTPS de saída para `api.anthropic.com`, para `claude.ai` e os hosts de download para os quais ele redireciona para a etapa de instalação abaixo, e para seu host git para o clone; a [tabela de requisitos de rede](https://code.claude.com/docs/pt/self-hosted-environments-deploy.md#network-requirements) tem a lista completa. Windows não é suportado como host de runner; execute o runner em um container Linux. Estações de trabalho de desenvolvedores não são afetadas, pois as sessões começam a partir de claude.ai em um navegador.30* Um host ou container Linux ou macOS com HTTPS de saída para `api.anthropic.com`, para `claude.ai` e os hosts de download para os quais ele redireciona para a etapa de instalação abaixo, e para seu host git para o clone; a [tabela de requisitos de rede](https://code.claude.com/docs/pt/self-hosted-environments-deploy.md#network-requirements) tem a lista completa. Windows não é suportado como host de runner; execute o runner em um container Linux. Estações de trabalho de desenvolvedores não são afetadas, pois as sessões começam a partir de claude.ai em um navegador.

31* Um repositório para a sessão de teste: um público, ou um que este host já consiga clonar pela sua URL HTTPS sem que sejam solicitadas credenciais. Uma chave SSH sozinha não é suficiente, porque o runner clona a URL `https://` do repositório. Para clonar via SSH, consulte [Reescrever URLs git para redes privadas](https://code.claude.com/docs/pt/self-hosted-environments-deploy.md#rewrite-git-urls-for-private-networks).31* Um repositório para a sessão de teste: um público, ou um que este host já consiga clonar pela sua URL HTTPS sem que sejam solicitadas credenciais. Uma chave SSH sozinha não é suficiente, porque o runner clona a URL `https://` do repositório. Para clonar via SSH, consulte [Reescrever URLs git para redes privadas](https://code.claude.com/docs/pt/self-hosted-environments-deploy.md#rewrite-git-urls-for-private-networks).

32* Um relógio sincronizado com a hora real, por exemplo com NTP. A autenticação falha quando o relógio está mais de cinco minutos atrasado; consulte [Troubleshooting](https://code.claude.com/docs/pt/self-hosted-environments-deploy.md#troubleshooting).32* Um relógio sincronizado com a hora real, por exemplo com NTP.

33 33 

34### Software no host do runner34### Software no host do runner

35 35 

Details

48| `--post-session-hook-timeout-sec <n>` | `SELF_HOSTED_RUNNER_POST_SESSION_HOOK_TIMEOUT_MS` | `60` | Orçamento para o hook [`post-session`](https://code.claude.com/docs/pt/self-hosted-environments-configuration#post-session) no final de cada sessão, incluindo desligamento do executor |48| `--post-session-hook-timeout-sec <n>` | `SELF_HOSTED_RUNNER_POST_SESSION_HOOK_TIMEOUT_MS` | `60` | Orçamento para o hook [`post-session`](https://code.claude.com/docs/pt/self-hosted-environments-configuration#post-session) no final de cada sessão, incluindo desligamento do executor |

49| `--proxy-authorization-command <command>` | `SELF_HOSTED_RUNNER_PROXY_AUTHORIZATION_COMMAND` | não definido | Comando shell que o executor executa para cada conexão com seu proxy de saída, usando seu stdout aparado como o valor do cabeçalho `Proxy-Authorization`. Requer `HTTPS_PROXY` ou `HTTP_PROXY`, e não pode ser combinado com `--proxy-authorization-file`. Consulte [Authenticate to an egress proxy](https://code.claude.com/docs/pt/self-hosted-environments-deploy.md#authenticate-to-an-egress-proxy). Requer Claude Code v2.1.238 ou posterior. |49| `--proxy-authorization-command <command>` | `SELF_HOSTED_RUNNER_PROXY_AUTHORIZATION_COMMAND` | não definido | Comando shell que o executor executa para cada conexão com seu proxy de saída, usando seu stdout aparado como o valor do cabeçalho `Proxy-Authorization`. Requer `HTTPS_PROXY` ou `HTTP_PROXY`, e não pode ser combinado com `--proxy-authorization-file`. Consulte [Authenticate to an egress proxy](https://code.claude.com/docs/pt/self-hosted-environments-deploy.md#authenticate-to-an-egress-proxy). Requer Claude Code v2.1.238 ou posterior. |

50| `--proxy-authorization-file <path>` | `SELF_HOSTED_RUNNER_PROXY_AUTHORIZATION_FILE` | não definido | Arquivo que o executor lê para cada conexão com seu proxy de saída, usando seu conteúdo aparado como o valor do cabeçalho `Proxy-Authorization`. Use este sinalizador para um token que outro processo rotaciona no lugar. Carrega os mesmos requisitos que `--proxy-authorization-command`, e não pode ser combinado com ele. Consulte [Authenticate to an egress proxy](https://code.claude.com/docs/pt/self-hosted-environments-deploy.md#authenticate-to-an-egress-proxy). Requer Claude Code v2.1.238 ou posterior. |50| `--proxy-authorization-file <path>` | `SELF_HOSTED_RUNNER_PROXY_AUTHORIZATION_FILE` | não definido | Arquivo que o executor lê para cada conexão com seu proxy de saída, usando seu conteúdo aparado como o valor do cabeçalho `Proxy-Authorization`. Use este sinalizador para um token que outro processo rotaciona no lugar. Carrega os mesmos requisitos que `--proxy-authorization-command`, e não pode ser combinado com ele. Consulte [Authenticate to an egress proxy](https://code.claude.com/docs/pt/self-hosted-environments-deploy.md#authenticate-to-an-egress-proxy). Requer Claude Code v2.1.238 ou posterior. |

51| `--push-outcome-on-release` | `SELF_HOSTED_RUNNER_PUSH_OUTCOME_ON_RELEASE` | desligado | No final de uma sessão iniciada pelo executor, como uma drenagem ou liberação ociosa, envie branches de resultado rastreados para `origin` antes de excluir o workspace, para que commits em voo sobrevivam a um reinício. Melhor esforço; adiciona 30 segundos ao orçamento de desligamento, e requer git 2.29 ou mais recente para retomar do branch enviado. Restrinja o acesso de envio para refs `claude/*` antes de habilitar; consulte [Resumed sessions lose unpushed work](https://code.claude.com/docs/pt/self-hosted-environments-deploy.md#additional-limitations). Repositórios verificados via um hook de ciclo de vida `checkout` não são enviados; faça snapshot deles do hook [`post-session`](https://code.claude.com/docs/pt/self-hosted-environments-configuration#post-session) em vez disso. |51| `--push-outcome-on-release` | `SELF_HOSTED_RUNNER_PUSH_OUTCOME_ON_RELEASE` | desligado | Quando o próprio executor encerra uma sessão, como em uma drenagem ou em uma liberação por inatividade, envie branches de resultado rastreados para `origin` antes de excluir o workspace, para que commits em voo sobrevivam a um reinício. Melhor esforço; adiciona 30 segundos ao orçamento de desligamento, e requer git 2.29 ou mais recente para retomar do branch enviado. Restrinja o acesso de envio para refs `claude/*` antes de habilitar; consulte [Resumed sessions lose unpushed work](https://code.claude.com/docs/pt/self-hosted-environments-deploy.md#additional-limitations). Repositórios verificados via um hook de ciclo de vida `checkout` não são enviados; faça snapshot deles do hook [`post-session`](https://code.claude.com/docs/pt/self-hosted-environments-configuration#post-session) em vez disso. |

52| `--release-idle-session-min <n>` | `SELF_HOSTED_RUNNER_SESSION_IDLE_MS` | `0` | Libere um slot de sessão após N minutos de inatividade uma vez que um turno termine ou a sessão aguarde a ação do usuário. [Some sessions don't count as idle](https://code.claude.com/docs/pt/self-hosted-environments-deploy.md#some-sessions-don’t-count-as-idle), então emparelhe com `--kill-session-after-min`. Uma tarefa em segundo plano concluída mantém a sessão ocupada por no máximo a janela [`SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS`](#environment-variable-only-settings). Para atrasar uma liberação, defina [`--hold-idle-file`](https://code.claude.com/docs/pt/self-hosted-environments-deploy#keep-an-idle-session-while-its-processes-run). `0` desabilita. |52| `--release-idle-session-min <n>` | `SELF_HOSTED_RUNNER_SESSION_IDLE_MS` | `0` | Libere um slot de sessão após N minutos de inatividade uma vez que um turno termine ou a sessão aguarde a ação do usuário. [Some sessions don't count as idle](https://code.claude.com/docs/pt/self-hosted-environments-deploy.md#some-sessions-don’t-count-as-idle), então emparelhe com `--kill-session-after-min`. Uma tarefa em segundo plano concluída mantém a sessão ocupada por no máximo a janela [`SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS`](#environment-variable-only-settings). Para atrasar uma liberação, defina [`--hold-idle-file`](https://code.claude.com/docs/pt/self-hosted-environments-deploy#keep-an-idle-session-while-its-processes-run). `0` desabilita. |

53| `--remove-session-state [bool]` | `SELF_HOSTED_RUNNER_REMOVE_SESSION_STATE` | desligado | Remova os diretórios por sessão de uma sessão sob `<base-dir>/_sessions/` quando a sessão terminar neste executor, seja qual for o resultado. [Reuse a pre-warmed checkout](https://code.claude.com/docs/pt/self-hosted-environments-deploy.md#reuse-a-pre-warmed-checkout) descreve o que eles contêm e quem pode lê-los quando permanecem. A remoção é melhor esforço: os diretórios por sessão permanecem no lugar quando o executor é morto ou atinge seu prazo de drenagem antes da limpeza ser executada. Com o sinalizador ativado, o log de depuração de uma sessão falhada ou interrompida não é mantido em disco. Requer Claude Code v2.1.268 ou posterior. |53| `--remove-session-state [bool]` | `SELF_HOSTED_RUNNER_REMOVE_SESSION_STATE` | desligado | Remova os diretórios por sessão de uma sessão sob `<base-dir>/_sessions/` quando a sessão terminar neste executor, seja qual for o resultado. [Reuse a pre-warmed checkout](https://code.claude.com/docs/pt/self-hosted-environments-deploy.md#reuse-a-pre-warmed-checkout) descreve o que eles contêm e quem pode lê-los quando permanecem. A remoção é melhor esforço: os diretórios por sessão permanecem no lugar quando o executor é morto ou atinge seu prazo de drenagem antes da limpeza ser executada. Com o sinalizador ativado, o log de depuração de uma sessão falhada ou interrompida não é mantido em disco. Requer Claude Code v2.1.268 ou posterior. |

54| `--retire-at <epoch-seconds>` | `SELF_HOSTED_RUNNER_RETIRE_AT` | não definido | Aposentar o executor em um timestamp Unix absoluto em segundos, para infraestrutura que mata o executor em um tempo conhecido; [Runner lifecycle](https://code.claude.com/docs/pt/self-hosted-environments#runner-lifecycle) descreve a sequência de liberação e como dimensionar a margem. Valores antes de 2001 ou após o ano 5138 são rejeitados pelo sinalizador e ignorados pela variável de ambiente. |54| `--retire-at <epoch-seconds>` | `SELF_HOSTED_RUNNER_RETIRE_AT` | não definido | Aposentar o executor em um timestamp Unix absoluto em segundos, para infraestrutura que mata o executor em um tempo conhecido; [Runner lifecycle](https://code.claude.com/docs/pt/self-hosted-environments#runner-lifecycle) descreve a sequência de liberação e como dimensionar a margem. Valores antes de 2001 ou após o ano 5138 são rejeitados pelo sinalizador e ignorados pela variável de ambiente. |


95| `--hook-timeout <sec>` | `60` | Encerre a árvore de processos do hook após esse número de segundos. O tempo limite mais sua graça de morte de 5 segundos deve ficar abaixo de `--expected-spawn-seconds`; o orquestrador impõe isso na inicialização. |95| `--hook-timeout <sec>` | `60` | Encerre a árvore de processos do hook após esse número de segundos. O tempo limite mais sua graça de morte de 5 segundos deve ficar abaixo de `--expected-spawn-seconds`; o orquestrador impõe isso na inicialização. |

96| `--expected-spawn-seconds <sec>` | `120` | Tempo p99 esperado desde o momento em que o orquestrador recebe uma requisição de geração até o momento em que o executor se registra, incluindo qualquer espera por capacidade na sua plataforma. O servidor impõe um intervalo de 10 a 3600. Enviado em cada pesquisa como a concessão do lado do servidor: se nenhum executor se registrar antes de decorrido, a sessão é re-oferecida com um novo ID de pedido. Todas as réplicas devem compartilhar este valor. |96| `--expected-spawn-seconds <sec>` | `120` | Tempo p99 esperado desde o momento em que o orquestrador recebe uma requisição de geração até o momento em que o executor se registra, incluindo qualquer espera por capacidade na sua plataforma. O servidor impõe um intervalo de 10 a 3600. Enviado em cada pesquisa como a concessão do lado do servidor: se nenhum executor se registrar antes de decorrido, a sessão é re-oferecida com um novo ID de pedido. Todas as réplicas devem compartilhar este valor. |

97| `--min-idle <n>` | `0` | Mantenha pelo menos N slots de sessão ociosos livres gerando executores de espera de forma proativa. `0` desabilita pré-aquecimento. Emparelhe com o `--exit-if-unused-min` do executor para que executores de espera em excesso se recuperem. |97| `--min-idle <n>` | `0` | Mantenha pelo menos N slots de sessão ociosos livres gerando executores de espera de forma proativa. `0` desabilita pré-aquecimento. Emparelhe com o `--exit-if-unused-min` do executor para que executores de espera em excesso se recuperem. |

98| `--shutdown-drain-sec <n>` | `0` | Ao receber `SIGTERM`, pare de pesquisar requisições de geração e dê aos hooks `spawn-runner` em execução e a qualquer pesquisa não respondida até esse número de segundos para terminar antes de interromper o que restar. Com `0`, pare imediatamente. Máximo `3600`, que o orquestrador impõe na inicialização. Para escolher um valor, consulte [Dimensione `--shutdown-drain-sec` e o timeout de parada do orquestrador](https://code.claude.com/docs/pt/self-hosted-environments-configuration#size-shutdown-drain-sec-and-the-supervisors-stop-timeout-for-the-orchestrator). Requer Claude Code v2.1.299 ou posterior. |

98| `--debug-dir <path>` | não definido | Escreva a ordem de trabalho de cada solicitação de geração e stderr do hook em disco. Apenas depuração; nunca defina em produção. |99| `--debug-dir <path>` | não definido | Escreva a ordem de trabalho de cada solicitação de geração e stderr do hook em disco. Apenas depuração; nunca defina em produção. |

99 100 

100### Sinalizadores do conector SCM101### Sinalizadores do conector SCM

Details

154 * **Unidade de telemetria**: as chaves do exportador `OTEL_EXPORTER_OTLP_*`, os toggles de captura de conteúdo `OTEL_LOG_*`, `OTEL_LOGS_EXPORTER` e as variáveis de rastreamento beta `ENABLE_BETA_TRACING_DETAILED` e `BETA_TRACING_ENDPOINT` seguem a fonte mais alta que define qualquer uma delas como uma unidade. Uma fonte que entrega a chave de credencial `otelHeadersHelper` também reclama a unidade, mas coloca essas variáveis apenas quando é a fonte selecionada: uma fonte que não é selecionada mas entrega a chave não contribui com nenhuma delas e ainda bloqueia fontes inferiores de preenchê-las. De qualquer forma, um endpoint do exportador de uma fonte nunca pode ser emparelhado com credenciais de outra.154 * **Unidade de telemetria**: as chaves do exportador `OTEL_EXPORTER_OTLP_*`, os toggles de captura de conteúdo `OTEL_LOG_*`, `OTEL_LOGS_EXPORTER` e as variáveis de rastreamento beta `ENABLE_BETA_TRACING_DETAILED` e `BETA_TRACING_ENDPOINT` seguem a fonte mais alta que define qualquer uma delas como uma unidade. Uma fonte que entrega a chave de credencial `otelHeadersHelper` também reclama a unidade, mas coloca essas variáveis apenas quando é a fonte selecionada: uma fonte que não é selecionada mas entrega a chave não contribui com nenhuma delas e ainda bloqueia fontes inferiores de preenchê-las. De qualquer forma, um endpoint do exportador de uma fonte nunca pode ser emparelhado com credenciais de outra.

155 * **Roteamento emparelhado com credencial**: uma fonte que emparelha variáveis de roteamento com uma chave de credencial somente de fonte selecionada, como `apiKeyHelper` ou `otelHeadersHelper`, contribui com essas variáveis de roteamento apenas quando vence o slot.155 * **Roteamento emparelhado com credencial**: uma fonte que emparelha variáveis de roteamento com uma chave de credencial somente de fonte selecionada, como `apiKeyHelper` ou `otelHeadersHelper`, contribui com essas variáveis de roteamento apenas quando vence o slot.

156* **`allowedProviders`**: uma lista definida na máquina e uma lista gerenciada pelo servidor se combinam conforme [a nota de Escopo dessa entrada](https://code.claude.com/docs/pt/settings-reference.md#allowedproviders) afirma. Requer Claude Code v2.1.285 ou posterior156* **`allowedProviders`**: uma lista definida na máquina e uma lista gerenciada pelo servidor se combinam conforme [a nota de Escopo dessa entrada](https://code.claude.com/docs/pt/settings-reference.md#allowedproviders) afirma. Requer Claude Code v2.1.285 ou posterior

157* **Chaves de login first-party**: [`forceLoginOrgUUID`](https://code.claude.com/docs/pt/settings-reference#forceloginorguuid) e os valores `"claudeai"` e `"console"` de [`forceLoginMethod`](https://code.claude.com/docs/pt/settings-reference#forceloginmethod). Se você também implantar uma política MDM ou arquivo de configurações gerenciadas, defina-as lá e nas configurações gerenciadas pelo servidor a partir do claude.ai até que todos os clientes executem a v2.1.299 ou posterior. Para saber onde definir as chaves depois disso, e qual valor de fonte se aplica, veja [Qual fonte gerenciada fornece chaves de login](https://code.claude.com/docs/pt/managed-settings.md#which-managed-source-supplies-login-keys).

157* **Chaves de login do gateway**: o Claude Code nunca lê [`forceLoginGatewayUrl`](https://code.claude.com/docs/pt/settings-reference#forcelogingatewayurl), [`gatewayInternalNetworks`](https://code.claude.com/docs/pt/settings-reference#gatewayinternalnetworks) ou o valor `"gateway"` de [`forceLoginMethod`](https://code.claude.com/docs/pt/settings-reference#forceloginmethod) das configurações gerenciadas pelo servidor, portanto um valor lá não se aplica nem oculta um definido em uma política MDM ou arquivo de configurações gerenciadas. A entrada [`managedSourcesBehavior`](https://code.claude.com/docs/pt/settings-reference#managedsourcesbehavior) diz qual fonte de administrador na máquina as fornece.158* **Chaves de login do gateway**: o Claude Code nunca lê [`forceLoginGatewayUrl`](https://code.claude.com/docs/pt/settings-reference#forcelogingatewayurl), [`gatewayInternalNetworks`](https://code.claude.com/docs/pt/settings-reference#gatewayinternalnetworks) ou o valor `"gateway"` de [`forceLoginMethod`](https://code.claude.com/docs/pt/settings-reference#forceloginmethod) das configurações gerenciadas pelo servidor, portanto um valor lá não se aplica nem oculta um definido em uma política MDM ou arquivo de configurações gerenciadas. A entrada [`managedSourcesBehavior`](https://code.claude.com/docs/pt/settings-reference#managedsourcesbehavior) diz qual fonte de administrador na máquina as fornece.

158 159 

159### Comportamento de busca e cache160### Comportamento de busca e cache

settings.md +65 −65

Details

203 203 

204Uma execução `-p` não mostra diálogo. A menos que [um documento de configurações gerenciadas não possa ser analisado](https://code.claude.com/docs/pt/errors.md#managed-settings-document-could-not-be-parsed), o Claude Code pula o arquivo ou valores quebrados e continua com o resto, então após uma execução `-p` que ignora uma configuração, execute `claude doctor` para ver o que ele descartou.204Uma execução `-p` não mostra diálogo. A menos que [um documento de configurações gerenciadas não possa ser analisado](https://code.claude.com/docs/pt/errors.md#managed-settings-document-could-not-be-parsed), o Claude Code pula o arquivo ou valores quebrados e continua com o resto, então após uma execução `-p` que ignora uma configuração, execute `claude doctor` para ver o que ele descartou.

205 205 

206## Precedência de configurações206## Precedência das configurações

207 207 

208Quando a mesma chave aparece em mais de um lugar, o Claude Code usa o valor do nível mais alto que a define. A pilha abaixo mostra os níveis, mais alto no topo; uma chave em um nível mais alto substitui a mesma chave em qualquer lugar abaixo.208Quando a mesma chave aparece em mais de um lugar, o Claude Code usa o valor do nível mais alto que a define. A pilha abaixo mostra os níveis, com o mais alto no topo; uma chave em um nível mais alto sobrescreve a mesma chave em qualquer lugar abaixo dele.

209 209 

210Settings precedence, highest first: managed settings, command line, project local, shared project, user. A key set at a higher level overrides the same key set lower down.210Settings precedence, highest first: managed settings, command line, project local, shared project, user. A key set at a higher level overrides the same key set lower down.

211 211 

212Em ordem, precedência mais alta primeiro:212Em ordem, da maior precedência para a menor:

213 213 

2141. **Configurações gerenciadas**: configurações que sua organização implanta, por um arquivo `managed-settings.json`, uma política MDM ou [configurações gerenciadas pelo servidor](https://code.claude.com/docs/pt/server-managed-settings.md) do console claude.ai. Nada em seus próprios arquivos de configurações ou em `--settings` sobrescreve uma chave gerenciada, e uma flag como `--model` escolhe apenas entre os modelos que sua organização permite. Um [`model`](https://code.claude.com/docs/pt/settings-reference#model) gerenciado é um padrão inicial, não um bloqueio; os bloqueios são [`availableModels`](https://code.claude.com/docs/pt/settings-reference#availablemodels) e [`deniedModels`](https://code.claude.com/docs/pt/settings-reference#deniedmodels). Quando sua organização entrega mais de uma fonte gerenciada, as regras para [precedência dentro do nível gerenciado](https://code.claude.com/docs/pt/managed-settings.md#precedence-within-the-managed-tier) dizem o que o Claude Code lê de cada uma.2141. **Configurações gerenciadas**: configurações que sua organização implanta, por meio de um arquivo `managed-settings.json`, uma política de MDM ou [configurações gerenciadas pelo servidor](https://code.claude.com/docs/pt/server-managed-settings.md) a partir do console do claude.ai. Nada em seus próprios arquivos de configuração ou em `--settings` sobrescreve uma chave gerenciada, e uma flag como `--model` escolhe apenas entre os modelos que sua organização permite. Um [`model`](https://code.claude.com/docs/pt/settings-reference#model) gerenciado é um padrão inicial, não um bloqueio; os bloqueios são [`availableModels`](https://code.claude.com/docs/pt/settings-reference#availablemodels) e [`deniedModels`](https://code.claude.com/docs/pt/settings-reference#deniedmodels). Quando sua organização fornece mais de uma fonte gerenciada, as regras de [precedência dentro do nível gerenciado](https://code.claude.com/docs/pt/managed-settings.md#precedence-within-the-managed-tier) indicam o que o Claude Code lê de cada uma.

2152. **Linha de comando**: JSON que você passa com `--settings <file-or-json>` ao iniciar `claude`, apenas para essa sessão; veja [Altere uma configuração para uma sessão](#change-a-setting-for-one-session). Uma chave que você define ali sobrescreve a mesma chave em seus arquivos de configurações de projeto e de usuário, e uma chave que você omite mantém seu valor desses arquivos. Outras flags, como `--model`, definem uma coisa para a sessão e não fazem parte desta pilha; a entrada de uma chave na [referência de configurações](https://code.claude.com/docs/pt/settings-reference.md) diz quais flags a sobrescrevem.2152. **Linha de comando**: JSON que você passa com `--settings <file-or-json>` ao iniciar o `claude`, apenas para aquela sessão; consulte [Alterar uma configuração para uma sessão](#change-a-setting-for-one-session). Uma chave que você define ali sobrescreve a mesma chave nos seus arquivos de configuração de projeto e de usuário, e uma chave que você omite mantém o valor desses arquivos. Outras flags, como `--model`, definem uma coisa para a sessão e não fazem parte desta pilha; a entrada de uma chave na [referência de configurações](https://code.claude.com/docs/pt/settings-reference.md) indica quais flags a sobrescrevem.

2163. **Configurações locais de projeto** (`.claude/settings.local.json`): suas configurações pessoais para este projeto.2163. **Configurações locais do projeto** (`.claude/settings.local.json`): suas configurações pessoais para este projeto.

2174. **Configurações compartilhadas de projeto** (`.claude/settings.json`): configurações que sua equipe verifica no controle de origem.2174. **Configurações compartilhadas do projeto** (`.claude/settings.json`): configurações que sua equipe registra no controle de versão.

2185. **Configurações de usuário** (`~/.claude/settings.json`): suas configurações pessoais para cada projeto.2185. **Configurações do usuário** (`~/.claude/settings.json`): suas configurações pessoais para todos os projetos.

219 219 

220As variáveis de ambiente não são um nível nesta pilha. Quando um comportamento tem tanto uma variável de shell quanto uma chave de configurações, qual se aplica é decidido por par, não por nível: `ANTHROPIC_MODEL` exportada em seu shell se aplica sobre a chave `model` de qualquer arquivo, enquanto `ANTHROPIC_DEFAULT_MODEL` se aplica apenas quando nenhum arquivo define `model`. A [referência de variáveis de ambiente](https://code.claude.com/docs/pt/env-vars.md#precedence) diz quais chaves têm um par e qual o Claude Code lê primeiro. Um bloco `env` dentro de um arquivo de configurações é uma chave ordinária e segue os níveis acima.220Variáveis de ambiente não são um nível nesta pilha. Quando um comportamento tem tanto uma variável de shell quanto uma chave de configuração, qual delas se aplica é decidido por par, não por nível: `ANTHROPIC_MODEL` exportada no seu shell se aplica sobre a chave `model` de qualquer arquivo, enquanto `ANTHROPIC_DEFAULT_MODEL` se aplica apenas quando nenhum arquivo define `model`. A [referência de variáveis de ambiente](https://code.claude.com/docs/pt/env-vars.md#precedence) indica quais chaves têm um par e qual delas o Claude Code lê primeiro. Um bloco `env` dentro de um arquivo de configuração é uma chave comum e segue os níveis acima.

221 221 

222Para algumas chaves sensíveis à segurança, o Claude Code honra um valor mais rigoroso de um nível inferior sobre um valor gerenciado; [Exceções à precedência de configurações gerenciadas](#exceptions-to-managed-settings-precedence) as lista.222Para algumas chaves sensíveis à segurança, o Claude Code respeita um valor mais restritivo de um nível inferior em vez de um valor gerenciado; [Exceções à precedência das configurações gerenciadas](#exceptions-to-managed-settings-precedence) as lista.

223 223 

224### As listas se mesclam em vez de substituir224### Listas são mescladas em vez de sobrescritas

225 225 

226Quando você define a mesma chave de lista, como `permissions.allow`, em mais de um arquivo, o Claude Code combina as listas em vez de escolher uma, para que cada arquivo possa adicionar entradas sem remover as de outro arquivo. Quatro chaves que contêm listas de modelos ou entradas por modelo seguem suas próprias regras:226Quando você define a mesma chave de lista, como `permissions.allow`, em mais de um arquivo, o Claude Code combina as listas em vez de escolher uma, para que cada arquivo possa adicionar entradas sem remover as de outro arquivo. Quatro chaves que contêm listas de modelos ou entradas por modelo seguem regras próprias:

227 227 

228* [`fallbackModel`](https://code.claude.com/docs/pt/settings-reference#fallbackmodel) é uma cadeia ordenada onde a posição carrega significado, então o Claude Code toma o valor inteiro do arquivo de precedência mais alta que o define.228* [`fallbackModel`](https://code.claude.com/docs/pt/settings-reference#fallbackmodel) é uma cadeia ordenada em que a posição tem significado, então o Claude Code usa o valor inteiro do arquivo de maior precedência que o define.

229* [`modelPicker`](https://code.claude.com/docs/pt/settings-reference#modelpicker) contém uma lista ordenada de linhas mais uma flag de substituição, então o Claude Code nunca mescla linhas de duas fontes. Ele toma o valor inteiro do mais alto de configurações gerenciadas, `--settings` e configurações de usuário que o define, e ignora a chave em configurações de projeto e local. Requer Claude Code v2.1.242 ou posterior.229* [`modelPicker`](https://code.claude.com/docs/pt/settings-reference#modelpicker) contém uma única lista ordenada de linhas mais uma flag de substituição, então o Claude Code nunca mescla linhas de duas fontes. Ele usa o valor inteiro da fonte mais alta, entre configurações gerenciadas, `--settings` e configurações do usuário, que o define, e ignora a chave nas configurações de projeto e locais. Requer Claude Code v2.1.242 ou posterior.

230* [`availableModels`](https://code.claude.com/docs/pt/settings-reference#availablemodels): quando as configurações gerenciadas que o Claude Code aplica a definem, o Claude Code aplica essa lista como está e ignora entradas que você adiciona em configurações de usuário, projeto ou local, a menos que um aplicativo que incorpora o Claude Code forneça sua própria lista de modelos; veja [Exceções à precedência de configurações gerenciadas](#exceptions-to-managed-settings-precedence). Entre fontes gerenciadas a lista nunca se mescla também; [como o Claude Code combina fontes gerenciadas](https://code.claude.com/docs/pt/managed-settings.md#how-claude-code-combines-managed-sources) diz qual lista de fonte se aplica. Entre escopos não gerenciados o Claude Code mescla os arrays como usual.230* [`availableModels`](https://code.claude.com/docs/pt/settings-reference#availablemodels): quando as configurações gerenciadas que o Claude Code aplica a definem, o Claude Code aplica essa lista como está e ignora entradas que você adiciona nas configurações de usuário, de projeto ou locais, a menos que um aplicativo que incorpora o Claude Code forneça sua própria lista de modelos; consulte [Exceções à precedência das configurações gerenciadas](#exceptions-to-managed-settings-precedence). Entre fontes gerenciadas, a lista também nunca é mesclada; [como o Claude Code combina fontes gerenciadas](https://code.claude.com/docs/pt/managed-settings.md#how-claude-code-combines-managed-sources) indica a lista de qual fonte se aplica. Entre escopos não gerenciados, o Claude Code mescla os arrays normalmente.

231* [`modelSettings`](https://code.claude.com/docs/pt/settings-reference#modelsettings): o Claude Code o resolve um modelo por vez, junto com [`effortLevel`](https://code.claude.com/docs/pt/settings-reference#effortlevel). A entrada `modelSettings` afirma qual arquivo de valor se aplica a um modelo.231* [`modelSettings`](https://code.claude.com/docs/pt/settings-reference#modelsettings): o Claude Code a resolve um modelo por vez, junto com [`effortLevel`](https://code.claude.com/docs/pt/settings-reference#effortlevel). A entrada de `modelSettings` indica o valor de qual arquivo se aplica a um modelo.

232 232 

233### Exemplos de precedência233### Exemplos de precedência

234 234 

235Enquanto Claude trabalha, o Claude Code mostra uma dica de uma linha sob o spinner, como "Use /config para alterar seu modo de permissão padrão (incluindo Plan Mode)". Suponha que você queira essas dicas desligadas, então você define [`spinnerTipsEnabled`](https://code.claude.com/docs/pt/settings-reference#spinnertipsenabled) como `false` em `~/.claude/settings.json`. Cada cenário abaixo é algo que pode ligá-las novamente, e o que você pode fazer sobre isso.235Enquanto o Claude trabalha, o Claude Code mostra uma dica de uma linha abaixo do indicador de carregamento, como "Use /config to change your default permission mode (including Plan Mode)". Suponha que você queira desativar essas dicas e, por isso, defina [`spinnerTipsEnabled`](https://code.claude.com/docs/pt/settings-reference#spinnertipsenabled) como `false` em `~/.claude/settings.json`. Cada cenário abaixo é algo que pode reativá-las, e o que você pode fazer a respeito.

236 236 

237#### Configurações de equipe substituem configurações pessoais237#### As configurações da equipe sobrescrevem as configurações pessoais

238 238 

239O `.claude/settings.json` da sua equipe o define como `true`. O Claude Code usa o valor do projeto porque o projeto compartilhado fica acima do usuário, então você vê dicas naquele projeto e em nenhum outro lugar.239O `.claude/settings.json` da sua equipe a define como `true`. O Claude Code usa o valor do projeto porque o nível compartilhado do projeto fica acima do nível de usuário, então você vê dicas nesse projeto e em nenhum outro lugar.

240 240 

241Você pode recuperar seu valor: adicione `"spinnerTipsEnabled": false` a `.claude/settings.local.json` naquele projeto. O projeto local fica acima do projeto compartilhado, então suas sessões lá param de mostrar dicas e as sessões de seus colegas de equipe não mudam.241Você pode recuperar seu valor: adicione `"spinnerTipsEnabled": false` a `.claude/settings.local.json` nesse projeto. O nível local do projeto fica acima do compartilhado do projeto, então suas sessões ali deixam de mostrar dicas e as sessões dos seus colegas de equipe não mudam.

242 242 

243#### Configurações da organização substituem tudo243#### As configurações da organização sobrescrevem tudo

244 244 

245As configurações gerenciadas da sua organização o definem como `true`. Nada que você coloque em configurações de usuário, projeto ou local desliga as dicas, e nem `--settings`. Gerenciado é o nível superior.245As configurações gerenciadas da sua organização a definem como `true`. Nada que você coloque nas configurações de usuário, de projeto ou locais desativa as dicas, nem `--settings`. O nível gerenciado é o nível mais alto.

246 246 

247Você não pode recuperar seu valor. Execute `/status` para ver qual fonte gerenciada se aplica e pergunte ao seu administrador se a política deve mudar.247Você não pode recuperar seu valor. Execute `/status` para ver qual fonte gerenciada se aplica e pergunte ao seu administrador se a política deve mudar.

248 248 

249#### A linha de comando substitui seus arquivos para uma sessão249#### A linha de comando sobrescreve seus arquivos por uma sessão

250 250 

251Você iniciou a sessão com `claude --settings '{"spinnerTipsEnabled": true}'`. A linha de comando fica acima de cada arquivo exceto gerenciado, então essa sessão mostra dicas mesmo que seus arquivos digam `false`.251Você iniciou a sessão com `claude --settings '{"spinnerTipsEnabled": true}'`. A linha de comando fica acima de todos os arquivos, exceto o gerenciado, então essa sessão mostra dicas mesmo que seus arquivos digam `false`.

252 252 

253Você recupera seu valor na próxima sessão; `--settings` dura uma sessão e não escreve em nenhum arquivo.253Você recupera seu valor na próxima sessão; `--settings` dura uma sessão e não grava em nenhum arquivo.

254 254 

255#### Uma flag ou variável de ambiente define a mesma coisa255#### Uma flag ou variável de ambiente define a mesma coisa

256 256 

257Algumas chaves têm uma flag de linha de comando ou uma variável de ambiente que substitui o valor de configurações independentemente de qual arquivo o definiu: `ANTHROPIC_MODEL` substitui a configuração [`model`](https://code.claude.com/docs/pt/settings-reference#model), e `--model` substitui ambas para uma sessão.257Algumas chaves têm uma flag de linha de comando ou uma variável de ambiente que sobrescreve o valor da configuração independentemente de qual arquivo a definiu: `ANTHROPIC_MODEL` sobrescreve a configuração [`model`](https://code.claude.com/docs/pt/settings-reference#model), e `--model` sobrescreve ambas para uma sessão.

258 258 

259Se você pode recuperar seu valor depende da chave: desdefina a variável ou solte a flag, e verifique a entrada da chave na [referência de configurações](https://code.claude.com/docs/pt/settings-reference.md) e a linha da variável na [referência de variáveis de ambiente](https://code.claude.com/docs/pt/env-vars.md) para qual o Claude Code usa.259Se você pode recuperar seu valor depende da chave: remova a variável ou deixe de usar a flag, e verifique a entrada da chave na [referência de configurações](https://code.claude.com/docs/pt/settings-reference.md) e a linha da variável na [referência de variáveis de ambiente](https://code.claude.com/docs/pt/env-vars.md) para saber qual delas o Claude Code usa.

260 260 

261### Solucione problemas de uma configuração que não se aplica261### Solucionar problemas de uma configuração que não se aplica

262 262 

263Quando você define uma chave e o Claude Code não se comporta como se você tivesse, comece com `/status` para ver quais arquivos ele carregou, então encontre seu sintoma abaixo. [Depure sua configuração](https://code.claude.com/docs/pt/debug-your-config.md) cobre as verificações mais amplas, incluindo um teste de configuração limpa.263Quando você define uma chave e o Claude Code não se comporta como se você tivesse feito isso, comece com `/status` para ver quais arquivos ele carregou e, em seguida, encontre seu sintoma abaixo. [Depurar sua configuração](https://code.claude.com/docs/pt/debug-your-config.md) aborda verificações mais amplas, incluindo um teste com configuração limpa.

264 264 

265#### Um valor que você define é ignorado265#### Um valor que você definiu é ignorado

266 266 

267Algo mais está definindo a mesma chave, o arquivo não pode definir esse valor ou o arquivo não foi carregado:267Outra coisa está definindo a mesma chave, o arquivo não pode definir esse valor ou o arquivo não foi carregado:

268 268 

269* **Um nível mais alto o define.** Outro arquivo de configurações, uma flag `--settings` ou uma fonte gerenciada define a chave acima da sua; a [pilha](#settings-precedence) diz qual. Uma flag ou variável de ambiente também pode substituir a chave por conta própria, decidido chave por chave; a entrada da chave na [referência de configurações](https://code.claude.com/docs/pt/settings-reference.md) diz qual o Claude Code usa, e a [entrada `env`](https://code.claude.com/docs/pt/settings-reference#env) cobre um valor `env` gerenciado versus uma exportação de shell.269* **Um nível mais alto a define.** Outro arquivo de configuração, uma flag `--settings` ou uma fonte gerenciada define a chave acima da sua; a [pilha](#settings-precedence) indica qual. Uma flag ou variável de ambiente também pode sobrescrever a chave por conta própria, decidido chave por chave; a entrada da chave na [referência de configurações](https://code.claude.com/docs/pt/settings-reference.md) indica qual delas o Claude Code usa, e a [entrada `env`](https://code.claude.com/docs/pt/settings-reference#env) aborda um valor `env` gerenciado versus uma exportação no shell.

270* **Uma chave de segurança mantém seu valor rigoroso.** Para algumas chaves o Claude Code honra o valor restritivo de qualquer arquivo, então um projeto `true` para [`disableClaudeAiConnectors`](https://code.claude.com/docs/pt/settings-reference#disableclaudeaiconnectors) permanece ligado; veja [Exceções à precedência de configurações gerenciadas](#exceptions-to-managed-settings-precedence).270* **Uma chave de segurança mantém seu valor restritivo.** Para algumas chaves, o Claude Code respeita o valor restritivo de qualquer arquivo, então um `true` de projeto para [`disableClaudeAiConnectors`](https://code.claude.com/docs/pt/settings-reference#disableclaudeaiconnectors) permanece ativo; consulte [Exceções à precedência das configurações gerenciadas](#exceptions-to-managed-settings-precedence).

271* **O arquivo não pode definir esse valor.** Os valores [`permissions.defaultMode`](https://code.claude.com/docs/pt/settings-reference#permissions-defaultmode) `auto` e `bypassPermissions` não entram em vigor de configurações de projeto ou local; defina-os em configurações de usuário ou gerenciadas em vez disso, ou passe `--permission-mode` para uma sessão. Antes da v2.1.257, `bypassPermissions` entrava em vigor de qualquer arquivo.271* **O arquivo não pode definir esse valor.** Os valores `auto` e `bypassPermissions` de [`permissions.defaultMode`](https://code.claude.com/docs/pt/settings-reference#permissions-defaultmode) não têm efeito a partir de configurações de projeto ou locais; defina-os nas configurações de usuário ou gerenciadas, ou passe `--permission-mode` para uma sessão. Antes da v2.1.257, `bypassPermissions` tinha efeito a partir de qualquer arquivo.

272 272 

273 Uma variável de exportação de telemetria em um bloco [`env`](https://code.claude.com/docs/pt/settings-reference#env) também não entra em vigor de configurações de projeto ou local, exceto por alguns valores desligados. [Variáveis que o Claude Code ignora em `env`](https://code.claude.com/docs/pt/settings-reference#variables-claude-code-ignores-in-env) lista as variáveis e esses valores.273 Uma variável de exportação de telemetria em um bloco [`env`](https://code.claude.com/docs/pt/settings-reference#env) também não tem efeito a partir de configurações de projeto ou locais, exceto alguns valores de desativação. [Variáveis que o Claude Code ignora em `env`](https://code.claude.com/docs/pt/settings-reference#variables-claude-code-ignores-in-env) lista as variáveis e esses valores.

274* **O arquivo está quebrado.** JSON inválido ou um valor rejeitado faz o Claude Code pular o arquivo ou a entrada; veja [Corrija um arquivo de configurações quebrado](#fix-a-broken-settings-file).274* **O arquivo está corrompido.** JSON inválido ou um valor rejeitado faz o Claude Code ignorar o arquivo ou a entrada; consulte [Corrigir um arquivo de configuração corrompido](#fix-a-broken-settings-file).

275 275 

276#### Uma mudança que você fez no Claude Code é perdida em novas sessões276#### Uma alteração que você fez no Claude Code se perde em novas sessões

277 277 

278Quando você salva uma escolha para novas sessões dentro do Claude Code, como um modelo padrão com `/model`, o Claude Code a escreve em seu arquivo de configurações de usuário, `~/.claude/settings.json`. Se você não pode escrever naquele arquivo, por exemplo porque outra ferramenta o gera ou o vincula a uma cópia somente leitura, a mudança se aplica à sessão atual e é perdida na próxima. Defina a chave na ferramenta que gera o arquivo, ou substitua o arquivo por um que você possa escrever.278Quando você salva uma escolha para novas sessões de dentro do Claude Code, como um modelo padrão com `/model`, o Claude Code a grava no seu arquivo de configurações de usuário, `~/.claude/settings.json`. Se você não puder gravar nesse arquivo, por exemplo porque outra ferramenta o gera ou o vincula a uma cópia somente leitura, a alteração se aplica à sessão atual e desaparece na próxima. Defina a chave na ferramenta que gera o arquivo ou substitua o arquivo por um em que você possa gravar.

279 279 

280Se você pode escrever no arquivo e a mudança ainda não dura, verifique se a mudança foi [apenas para uma sessão](#change-a-setting-for-one-session) ou [um nível mais alto define a mesma chave](#a-value-you-set-is-ignored). Para a chave `model`, [Uma nova sessão inicia em um modelo diferente do que você escolheu](https://code.claude.com/docs/pt/model-config.md#a-new-session-starts-on-a-different-model-than-you-picked) lista mais causas.280Se você puder gravar no arquivo e a alteração ainda assim não persistir, verifique se a alteração foi [apenas para uma sessão](#change-a-setting-for-one-session) ou se [um nível mais alto define a mesma chave](#a-value-you-set-is-ignored). Para a chave `model`, [Uma nova sessão começa em um modelo diferente do que você escolheu](https://code.claude.com/docs/pt/model-config.md#a-new-session-starts-on-a-different-model-than-you-picked) lista mais causas.

281 281 

282#### Uma mudança gerenciada não chegou até você282#### Uma alteração gerenciada não chegou até você

283 283 

284As fontes gerenciadas alcançam uma sessão em execução no cronograma na [tabela de entrega](https://code.claude.com/docs/pt/managed-settings.md#choose-a-delivery-mechanism), então reinicie a sessão primeiro. Se `/status` então nomeia uma fonte diferente da que seu administrador alterou, uma fonte de prioridade mais alta se aplica; [Como o Claude Code combina fontes gerenciadas](https://code.claude.com/docs/pt/managed-settings.md#how-claude-code-combines-managed-sources) fornece a ordem.284As fontes gerenciadas chegam a uma sessão em execução conforme o cronograma na [tabela de entrega](https://code.claude.com/docs/pt/managed-settings.md#choose-a-delivery-mechanism), então reinicie a sessão primeiro. Se `/status` então indicar uma fonte diferente daquela que seu administrador alterou, uma fonte de prioridade mais alta se aplica; [Como o Claude Code combina fontes gerenciadas](https://code.claude.com/docs/pt/managed-settings.md#how-claude-code-combines-managed-sources) mostra a ordem.

285 285 

286#### Uma chave confirmada não alcança colegas de equipe286#### Uma chave registrada no repositório não chega aos colegas de equipe

287 287 

288Duas coisas mantêm uma chave em `.claude/settings.json` de se aplicar para todos que a clonam:288Duas coisas impedem que uma chave em `.claude/settings.json` se aplique a todos que clonam o repositório:

289 289 

290* **O Claude Code ignora a chave em um arquivo de repositório.** Procure por `User, local, or managed`, `User or managed`, `User`, `Managed` ou `Global config` na coluna Scope do [índice de configurações](https://code.claude.com/docs/pt/settings-reference.md#settings-index). Essas chaves nunca se aplicam do arquivo compartilhado, exceto por algumas que um arquivo de repositório ainda pode desligar. Cada uma dessas entradas diz assim em sua linha de Scope. As chaves `Global config` se aplicam apenas de `~/.claude.json`.290* **O Claude Code ignora a chave em um arquivo do repositório.** Procure `User, local, or managed`, `User or managed`, `User`, `Managed` ou `Global config` na coluna Scope do [índice de configurações](https://code.claude.com/docs/pt/settings-reference.md#settings-index). Essas chaves nunca se aplicam a partir do arquivo compartilhado, exceto algumas que um arquivo do repositório ainda pode desativar. Cada uma dessas entradas indica isso na sua linha Scope. Chaves `Global config` se aplicam apenas a partir de `~/.claude.json`.

291 291 

292 Dentro da chave `env`, as variáveis de exportação de telemetria nunca se aplicam do arquivo compartilhado também, exceto por alguns valores desligados; veja [Variáveis que o Claude Code ignora em `env`](https://code.claude.com/docs/pt/settings-reference#variables-claude-code-ignores-in-env).292 Dentro da chave `env`, as variáveis de exportação de telemetria também nunca se aplicam a partir do arquivo compartilhado, exceto alguns valores de desativação; consulte [Variáveis que o Claude Code ignora em `env`](https://code.claude.com/docs/pt/settings-reference#variables-claude-code-ignores-in-env).

293* **A chave espera por confiança.** As regras `permissions.allow`, `permissions.additionalDirectories`, `extraKnownMarketplaces` e a maioria dos valores [`env`](https://code.claude.com/docs/pt/settings-reference#env) se aplicam apenas depois que cada colega de equipe [confia na pasta](https://code.claude.com/docs/pt/permissions.md#project-allow-rules-and-workspace-trust). Até então eles ainda veem prompts e não obtêm plugins de um marketplace que o arquivo declara. As regras `deny` e `ask` se aplicam imediatamente.293* **A chave aguarda confiança.** Regras `permissions.allow`, `permissions.additionalDirectories`, `extraKnownMarketplaces` e a maioria dos valores de [`env`](https://code.claude.com/docs/pt/settings-reference#env) se aplicam apenas depois que cada colega de equipe [confia na pasta](https://code.claude.com/docs/pt/permissions.md#project-allow-rules-and-workspace-trust). Até lá, eles ainda veem prompts e não recebem plugins de um marketplace que o arquivo declara. Regras `deny` e `ask` se aplicam imediatamente.

294 294 

295#### As regras de permissão se combinam diferentemente do que você esperava295#### As regras de permissão se combinam de forma diferente do esperado

296 296 

297* **Você escolheu "Sim, e não pergunte novamente" em um prompt de permissão mas ainda recebe prompts para a mesma ferramenta.** Essa escolha salvou uma regra `allow` em seu arquivo local, e uma regra `allow` lá não supera uma regra `ask` de um arquivo de projeto ou gerenciado; [como as regras de permissão se combinam](https://code.claude.com/docs/pt/permissions.md#settings-precedence) explica a ordem. Na extensão VS Code o cartão de aprovação permite você escolher o arquivo de destino, incluindo o arquivo compartilhado do projeto, que muda a regra para todos; no CLI, o Claude Code escreve apenas em seu arquivo local.297* **Você escolheu "Yes, and don't ask again" em um prompt de permissão, mas ainda recebe prompts para a mesma ferramenta.** Essa escolha salvou uma regra `allow` no seu arquivo local, e uma regra `allow` ali não tem precedência sobre uma regra `ask` de um arquivo de projeto ou gerenciado; [como as regras de permissão se combinam](https://code.claude.com/docs/pt/permissions.md#settings-precedence) explica a ordem. Na extensão do VS Code, o cartão de aprovação permite escolher o arquivo de destino, incluindo o arquivo compartilhado do projeto, o que altera a regra para todos; na CLI, o Claude Code grava apenas no seu arquivo local.

298* **As regras allow da sua organização ainda se aplicam ao lado das suas.** Isso é esperado: o Claude Code mescla [`permissions.allow`](https://code.claude.com/docs/pt/settings-reference#permissions-allow) entre escopos, a menos que sua organização defina [`allowManagedPermissionRulesOnly`](https://code.claude.com/docs/pt/settings-reference#allowmanagedpermissionrulesonly).298* **As regras allow da sua organização ainda se aplicam junto com as suas.** Isso é esperado: o Claude Code mescla [`permissions.allow`](https://code.claude.com/docs/pt/settings-reference#permissions-allow) entre escopos, a menos que sua organização defina [`allowManagedPermissionRulesOnly`](https://code.claude.com/docs/pt/settings-reference#allowmanagedpermissionrulesonly).

299 299 

300### Exceções à precedência de configurações gerenciadas300### Exceções à precedência das configurações gerenciadas

301 301 

302Para algumas chaves cujos valores restringem uma sessão, o Claude Code honra um valor restritivo de um escopo que de outra forma não poderia substituir configurações gerenciadas. Encontre a chave nesta tabela para ver qual valor ele honra e de onde.302Para algumas chaves cujos valores restringem uma sessão, o Claude Code respeita um valor restritivo de um escopo que, de outra forma, não poderia sobrescrever as configurações gerenciadas. Encontre a chave nesta tabela para ver qual valor ela respeita e de onde.

303 303 

304| Chave | Valor que o Claude Code honra | Notas |304| Chave | Valor que o Claude Code respeita | Observações |

305| :- | :- | :- |305| :- | :- | :- |

306| [`disableClaudeAiConnectors`](https://code.claude.com/docs/pt/settings-reference#disableclaudeaiconnectors) | `true` de qualquer escopo | Honrado mesmo quando uma fonte gerenciada define `false` |306| [`disableClaudeAiConnectors`](https://code.claude.com/docs/pt/settings-reference#disableclaudeaiconnectors) | `true` de qualquer escopo | Respeitado mesmo quando uma fonte gerenciada define `false` |

307| [`enableArtifact`](https://code.claude.com/docs/pt/settings-reference#enableartifact) | `false` de qualquer escopo, e `disableArtifact: true` de qualquer escopo | Honrado mesmo quando uma fonte gerenciada define `true`; nada liga a [ferramenta Artifact](https://code.claude.com/docs/pt/artifacts.md#disable-artifacts) de volta. Requer Claude Code v2.1.242 ou posterior |307| [`enableArtifact`](https://code.claude.com/docs/pt/settings-reference#enableartifact) | `false` de qualquer escopo, e `disableArtifact: true` de qualquer escopo | Respeitado mesmo quando uma fonte gerenciada define `true`; nada reativa a [ferramenta Artifact](https://code.claude.com/docs/pt/artifacts.md#disable-artifacts). Requer Claude Code v2.1.242 ou posterior |

308| [`isolatePeerMachines`](https://code.claude.com/docs/pt/settings-reference#isolatepeermachines) | `true` de qualquer escopo | Honrado mesmo quando uma fonte gerenciada define `false` |308| [`isolatePeerMachines`](https://code.claude.com/docs/pt/settings-reference#isolatepeermachines) | `true` de qualquer escopo | Respeitado mesmo quando uma fonte gerenciada define `false` |

309| [`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/pt/settings-reference#permissions-blockreadsoutsideworkingdirectories) | `true` de qualquer escopo | Honrado mesmo quando uma fonte gerenciada define `false`. Requer Claude Code v2.1.257 ou posterior |309| [`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/pt/settings-reference#permissions-blockreadsoutsideworkingdirectories) | `true` de qualquer escopo | Respeitado mesmo quando uma fonte gerenciada define `false`. Requer Claude Code v2.1.257 ou posterior |

310| [`autoMode.classifyAllShell`](https://code.claude.com/docs/pt/settings-reference#automode-classifyallshell) | `true` de `~/.claude/settings.json` ou `--settings` | Honrado mesmo quando uma fonte gerenciada define `false` |310| [`autoMode.classifyAllShell`](https://code.claude.com/docs/pt/settings-reference#automode-classifyallshell) | `true` de `~/.claude/settings.json` ou `--settings` | Respeitado mesmo quando uma fonte gerenciada define `false` |

311| [`remoteControlAtStartup`](https://code.claude.com/docs/pt/settings-reference#remotecontrolatstartup) | `false` de `.claude/settings.json` ou `.claude/settings.local.json` | Honrado mesmo quando uma fonte gerenciada define `true`; um `true` de projeto ou local é ignorado |311| [`remoteControlAtStartup`](https://code.claude.com/docs/pt/settings-reference#remotecontrolatstartup) | `false` de `.claude/settings.json` ou `.claude/settings.local.json` | Respeitado mesmo quando uma fonte gerenciada define `true`; um `true` de projeto ou local é ignorado |

312| [`crossSessionInbound`](https://code.claude.com/docs/pt/settings-reference#crosssessioninbound) | Um valor mais rigoroso de `.claude/settings.json` ou `.claude/settings.local.json`, na escada `accept` \< `hold` \< `refuse` | Honrado sobre valores gerenciados, `--settings` e de usuário; um valor de projeto ou local que não é mais rigoroso é ignorado |312| [`crossSessionInbound`](https://code.claude.com/docs/pt/settings-reference#crosssessioninbound) | Um valor mais restritivo de `.claude/settings.json` ou `.claude/settings.local.json`, na escala `accept` \< `hold` \< `refuse` | Respeitado sobre valores gerenciados, de `--settings` e de usuário; um valor de projeto ou local que não seja mais restritivo é ignorado |

313| [`useAutoModeDuringPlan`](https://code.claude.com/docs/pt/settings-reference#useautomodeduringplan) | `false` de qualquer fonte gerenciada, `--settings`, `~/.claude/settings.json` ou `.claude/settings.local.json` | Honrado mesmo quando a fonte gerenciada vencedora define `true`; um `false` em `.claude/settings.json` é ignorado |313| [`useAutoModeDuringPlan`](https://code.claude.com/docs/pt/settings-reference#useautomodeduringplan) | `false` de qualquer fonte gerenciada, `--settings`, `~/.claude/settings.json` ou `.claude/settings.local.json` | Respeitado mesmo quando a fonte gerenciada vencedora define `true`; um `false` em `.claude/settings.json` é ignorado |

314| [`syncClaudeAiSkills`](https://code.claude.com/docs/pt/settings-reference#syncclaudeaiskills) | `false` de qualquer fonte gerenciada, `--settings`, `~/.claude/settings.json` ou `.claude/settings.local.json` | Honrado mesmo quando a fonte gerenciada vencedora define `true`; um `false` em `.claude/settings.json` é ignorado |314| [`syncClaudeAiSkills`](https://code.claude.com/docs/pt/settings-reference#syncclaudeaiskills) | `false` de qualquer fonte gerenciada, `--settings`, `~/.claude/settings.json` ou `.claude/settings.local.json` | Respeitado mesmo quando a fonte gerenciada vencedora define `true`; um `false` em `.claude/settings.json` é ignorado |

315| [`syncClaudeAiPlugins`](https://code.claude.com/docs/pt/settings-reference#syncclaudeaiplugins) | `false` de qualquer fonte gerenciada, `--settings`, `~/.claude/settings.json` ou `.claude/settings.local.json` | Honrado mesmo quando a fonte gerenciada vencedora define `true`; um `false` em `.claude/settings.json` é ignorado |315| [`syncClaudeAiPlugins`](https://code.claude.com/docs/pt/settings-reference#syncclaudeaiplugins) | `false` de qualquer fonte gerenciada, `--settings`, `~/.claude/settings.json` ou `.claude/settings.local.json` | Respeitado mesmo quando a fonte gerenciada vencedora define `true`; um `false` em `.claude/settings.json` é ignorado |

316| [`maxEffortLevel`](https://code.claude.com/docs/pt/settings-reference#maxeffortlevel) | Um limite inferior de qualquer escopo, incluindo `--settings` | Honrado mesmo quando as configurações gerenciadas que o Claude Code aplica definem um limite superior; o limite inferior se aplica. Requer Claude Code v2.1.267 ou posterior |316| [`maxEffortLevel`](https://code.claude.com/docs/pt/settings-reference#maxeffortlevel) | Um limite mais baixo de qualquer escopo, incluindo `--settings` | Respeitado mesmo quando as configurações gerenciadas que o Claude Code aplica definem um limite mais alto; o limite mais baixo se aplica. Requer Claude Code v2.1.267 ou posterior |

317 317 

318Um aplicativo que executa o Claude Code dentro de si e define [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](https://code.claude.com/docs/pt/env-vars) também é uma exceção. O Claude Code toma a configuração de modelo daquele aplicativo sobre as chaves `model`, `fallbackModel`, `modelPicker` e `modelOverrides` de cada fonte gerenciada, e sobre as variáveis de seleção de modelo em um bloco `env` gerenciado, como `ANTHROPIC_MODEL` e a família `ANTHROPIC_DEFAULT_*_MODEL`. O Claude Code mantém uma allowlist [`availableModels`](https://code.claude.com/docs/pt/settings-reference#availablemodels) gerenciada em vigor a menos que o aplicativo forneça a sua própria.318Um aplicativo que executa o Claude Code dentro de si mesmo e define [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](https://code.claude.com/docs/pt/env-vars) também é uma exceção. O Claude Code usa a configuração de modelo desse aplicativo em vez das chaves `model`, `fallbackModel`, `modelPicker` e `modelOverrides` de todas as fontes gerenciadas, e em vez das variáveis de seleção de modelo em um bloco `env` gerenciado, como `ANTHROPIC_MODEL` e a família `ANTHROPIC_DEFAULT_*_MODEL`. O Claude Code mantém em vigor uma allowlist [`availableModels`](https://code.claude.com/docs/pt/settings-reference#availablemodels) gerenciada, a menos que o aplicativo forneça a sua própria.

319 319 

320## Configurações em sessões em nuvem320## Configurações em sessões em nuvem

321 321 

settings-reference.md +183 −182

Details

266 266 

267## Modelo e respostas267## Modelo e respostas

268 268 

269Escolha quais modelos o Claude Code usa e como ele responde. Para saber como essas configurações interagem com o comando `/model` e variáveis de ambiente, consulte [Configuração de modelo](https://code.claude.com/docs/pt/model-config.md).269Escolha quais modelos o Claude Code usa e como ele responde. Para saber como essas configurações interagem com o comando `/model` e com variáveis de ambiente, consulte [Configuração de modelo](https://code.claude.com/docs/pt/model-config.md).

270 270 

271### `advisorModel`271### `advisorModel`

272 272 

273Escolha qual modelo responde quando Claude chama a [ferramenta advisor](https://code.claude.com/docs/pt/advisor.md) do lado do servidor. Deixe-a sem definir para desativar o advisor. O advisor deve ser pelo menos tão capaz quanto seu modelo principal. Consulte [Escolha um modelo advisor](https://code.claude.com/docs/pt/advisor.md#choose-an-advisor-model) para os emparelhamentos aceitos e o que acontece quando você escolhe um que não é aceito.273Escolha qual modelo responde quando o Claude chama a [ferramenta advisor](https://code.claude.com/docs/pt/advisor.md) do lado do servidor. Remova a configuração para desativar o advisor. O advisor deve ser pelo menos tão capaz quanto o seu modelo principal. Consulte [Escolher um modelo advisor](https://code.claude.com/docs/pt/advisor.md#choose-an-advisor-model) para ver as combinações aceitas e o que acontece quando você escolhe uma que não é aceita.

274 274 

275Você normalmente não edita essa chave manualmente. Execute `/advisor` para abrir um seletor que mostra a escolha atual, os modelos que podem aconselhar e **Sem advisor**. Claude Code salva sua escolha nessa chave em `~/.claude/settings.json`. Se você escolher em um cliente [Remote Control](https://code.claude.com/docs/pt/remote-control.md) ou em uma sessão anexada a um worker remoto, a escolha se aplica apenas a essa sessão e não altera essa chave.275Normalmente, você não edita esta chave manualmente. Execute `/advisor` para abrir um seletor que mostra a escolha atual, os modelos que podem atuar como advisor e **No advisor**. O Claude Code salva sua escolha nesta chave em `~/.claude/settings.json`. Se você fizer a escolha a partir de um cliente [Remote Control](https://code.claude.com/docs/pt/remote-control.md) ou em uma sessão conectada a um worker remoto, a escolha se aplica apenas àquela sessão e não altera esta chave.

276 276 

277Se sua conta exigir o [consentimento de créditos de uso](https://code.claude.com/docs/pt/advisor.md#fable-advisor-and-usage-credits), aceite-o primeiro executando `/model fable`. Até fazer isso, escolher Fable em `/advisor` não salva nada e Claude Code diz para executar `/model fable` primeiro.277Se a sua conta exigir o [consentimento de créditos de uso](https://code.claude.com/docs/pt/advisor.md#fable-advisor-and-usage-credits), aceite-o primeiro executando `/model fable`. Até que você faça isso, escolher Fable em `/advisor` não salva nada e o Claude Code informa que você deve executar `/model fable` primeiro.

278 278 

279* **Escopo**: [`Qualquer arquivo`](#scopes)279* **Escopo**: [`Any file`](#scopes)

280* **Tipo**: string, um dos aliases `"fable"`, `"opus"` ou `"sonnet"`, que resolvem para a versão padrão atual do Claude Code dessa família de modelos, ou um ID de modelo completo como `"claude-opus-5-5"`280* **Tipo**: string, um dos aliases `"fable"`, `"opus"` ou `"sonnet"`, que correspondem à versão padrão atual do Claude Code daquela família de modelos, ou um ID de modelo completo, como `"claude-opus-5-5"`

281* **Padrão**: sem definir, então o advisor está desativado281* **Padrão**: não definido, então o advisor fica desativado

282* **Substituições por sessão**: `--advisor` tem precedência sobre essa chave para uma sessão. [`CLAUDE_CODE_DISABLE_ADVISOR_TOOL`](https://code.claude.com/docs/pt/env-vars) desativa o advisor, e essa chave não pode ativá-lo novamente282* **Substituições por sessão**: `--advisor` tem precedência sobre esta chave para uma sessão. [`CLAUDE_CODE_DISABLE_ADVISOR_TOOL`](https://code.claude.com/docs/pt/env-vars) desativa o advisor, e esta chave não pode reativá-lo

283 283 

284```json settings.json theme={null}284```json settings.json theme={null}

285{285{


287}287}

288```288```

289 289 

290A chave não tem efeito em provedores onde o advisor [não está disponível](https://code.claude.com/docs/pt/advisor.md#requirements), como Amazon Bedrock e Claude Platform na AWS. `"fable"` requer [acesso a Fable](https://code.claude.com/docs/pt/advisor.md#choose-an-advisor-model).290A chave não tem efeito em provedores onde o advisor [não está disponível](https://code.claude.com/docs/pt/advisor.md#requirements), como Amazon Bedrock e Claude Platform on AWS. `"fable"` requer [acesso ao Fable](https://code.claude.com/docs/pt/advisor.md#choose-an-advisor-model).

291 291 

292### `alwaysThinkingEnabled`292### `alwaysThinkingEnabled`

293 293 

294Desative o [pensamento estendido](https://code.claude.com/docs/pt/model-config.md#extended-thinking) para cada sessão definindo isso como `false`. O pensamento está ativado por padrão, então `true` não muda nada. A maioria das pessoas define isso através de `/config` em vez de editar o arquivo.294Desative o [pensamento estendido](https://code.claude.com/docs/pt/model-config.md#extended-thinking) em todas as sessões definindo esta chave como `false`. O pensamento fica ativado por padrão, então `true` não altera nada. A maioria das pessoas define isso por meio de `/config` em vez de editar o arquivo.

295 295 

296Em modelos que sempre pensam, como Opus 5.5, Sonnet 5.5, Haiku 5.5 e os modelos Fable, `false` não tem efeito. Em [provedores de terceiros](https://code.claude.com/docs/pt/third-party-integrations.md), Claude Code omite o parâmetro `thinking` em vez de desativar o pensamento, então modelos de raciocínio adaptativo podem ainda pensar. Com o pensamento desativado na API Anthropic, Claude Code envia esforço `high` em vez de um nível superior para modelos que sabe [não aceitam essa combinação](https://code.claude.com/docs/pt/errors.md#effort-isnt-available-with-thinking-turned-off), como Opus 5.296Em modelos que sempre pensam, como Opus 5.5, Sonnet 5.5, Haiku 5.5 e os modelos Fable, `false` não tem efeito. Em [provedores de terceiros](https://code.claude.com/docs/pt/third-party-integrations.md), o Claude Code omite o parâmetro `thinking` em vez de desativar o pensamento, então modelos com raciocínio adaptativo ainda podem pensar. Com o pensamento desativado na API da Anthropic, o Claude Code envia o esforço `high` em vez de um nível mais alto para modelos que ele sabe que [não aceitam essa combinação](https://code.claude.com/docs/pt/errors.md#effort-isnt-available-with-thinking-turned-off), como o Opus 5.

297 297 

298* **Escopo**: [`Qualquer arquivo`](#scopes)298* **Escopo**: [`Any file`](#scopes)

299* **Tipo**: Boolean299* **Tipo**: Boolean

300 * `true`: sem efeito; o pensamento já está ativado300 * `true`: sem efeito; o pensamento já está ativado

301 * `false`: Claude Code desativa o pensamento estendido para cada sessão301 * `false`: o Claude Code desativa o pensamento estendido em todas as sessões

302* **Padrão**: sem definir, então o pensamento está ativado para modelos que o suportam302* **Padrão**: não definido, então o pensamento fica ativado para modelos que o suportam

303* **Substituições por sessão**: [`MAX_THINKING_TOKENS`](https://code.claude.com/docs/pt/env-vars) tem precedência sobre essa chave para uma sessão: `0` desativa o pensamento, sob os mesmos limites de modelo e provedor que `false`, e um valor positivo ativa o pensamento mesmo quando essa chave é `false`. Em modelos de raciocínio adaptativo, o número em si é ignorado303* **Substituições por sessão**: [`MAX_THINKING_TOKENS`](https://code.claude.com/docs/pt/env-vars) tem precedência sobre esta chave para uma sessão: `0` desativa o pensamento, sob os mesmos limites de modelo e provedor que `false`, e um valor positivo ativa o pensamento mesmo quando esta chave é `false`. Em modelos com raciocínio adaptativo, o número em si é ignorado

304 304 

305```json settings.json theme={null}305```json settings.json theme={null}

306{306{


310 310 

311### `availableModels`311### `availableModels`

312 312 

313Restrinja quais modelos as pessoas podem selecionar para a sessão principal, [subagentes](https://code.claude.com/docs/pt/sub-agents.md), [skills](https://code.claude.com/docs/pt/skills.md) e o [advisor](https://code.claude.com/docs/pt/advisor.md). Uma lista gerenciada restringe `/model`, `--model` e a chave `model` nos próprios arquivos de um desenvolvedor; um modelo fora dela não pode ser selecionado. Com a correspondência de prefixo padrão, isso não afeta a opção Padrão por si só; combine-o com [`enforceAvailableModels`](#enforceavailablemodels) para isso.313Restrinja quais modelos as pessoas podem selecionar para a sessão principal, [subagentes](https://code.claude.com/docs/pt/sub-agents.md), [skills](https://code.claude.com/docs/pt/skills.md) e o [advisor](https://code.claude.com/docs/pt/advisor.md). Uma lista gerenciada restringe `/model`, `--model` e a chave `model` nos arquivos do próprio desenvolvedor; um modelo fora dela não pode ser selecionado. Com a correspondência por prefixo padrão, isso por si só não afeta a opção Default; combine com [`enforceAvailableModels`](#enforceavailablemodels) para isso.

314 314 

315* **Escopo**: [`Qualquer arquivo`](#scopes). Implante-o em configurações gerenciadas para aplicá-lo a uma organização.315* **Escopo**: [`Any file`](#scopes). Implante-a em configurações gerenciadas para aplicá-la a uma organização.

316* **Tipo**: array de aliases de modelo ou IDs316* **Tipo**: array de aliases ou IDs de modelo

317* **Padrão**: sem definir, então cada modelo está disponível317* **Padrão**: não definido, então todos os modelos estão disponíveis

318 318 

319Este exemplo permite que as pessoas selecionem apenas modelos Sonnet e Haiku:319Este exemplo permite que as pessoas selecionem apenas modelos Sonnet e Haiku:

320 320 


324}324}

325```325```

326 326 

327Uma entrada de ID de modelo como `"claude-opus-5"` também permite versões posteriores que a estendem, como Opus 5.5. Para bloquear uma dessas versões, use [`deniedModels`](#deniedmodels). Para fazer cada entrada de ID de modelo permitir apenas a versão que ela nomeia, use [`availableModelsMatch`](#availablemodelsmatch). Consulte [Restrinja a seleção de modelo](https://code.claude.com/docs/pt/model-config.md#restrict-model-selection). Para IDs de provedores de terceiros, consulte [Fixe modelos para implantações de terceiros](https://code.claude.com/docs/pt/model-config.md#pin-models-for-third-party-deployments).327Uma entrada de ID de modelo como `"claude-opus-5"` também permite versões posteriores que a estendem, como o Opus 5.5. Para bloquear uma dessas versões, use [`deniedModels`](#deniedmodels). Para fazer com que cada entrada de ID de modelo permita apenas a versão que ela nomeia, use [`availableModelsMatch`](#availablemodelsmatch). Consulte [Restringir a seleção de modelos](https://code.claude.com/docs/pt/model-config.md#restrict-model-selection). Para IDs de provedores de terceiros, consulte [Fixar modelos para implantações de terceiros](https://code.claude.com/docs/pt/model-config.md#pin-models-for-third-party-deployments).

328 328 

329### `availableModelsMatch`329### `availableModelsMatch`

330 330 

331Escolha como as entradas [`availableModels`](#availablemodels) correspondem aos IDs de modelo. Por padrão, uma entrada de ID de modelo também permite versões posteriores que a estendem, então `"claude-opus-5"` permite Opus 5.5. Com `"exact"`, cada entrada de ID de modelo permite apenas a versão que ela nomeia, então uma versão mais nova desse modelo permanece bloqueada até você listá-la. Requer Claude Code v2.1.283 ou posterior.331Escolha como as entradas de [`availableModels`](#availablemodels) correspondem a IDs de modelo. Por padrão, uma entrada de ID de modelo também permite versões posteriores que a estendem, então `"claude-opus-5"` permite o Opus 5.5. Com `"exact"`, cada entrada de ID de modelo permite apenas a versão que ela nomeia, então uma versão mais nova desse modelo permanece bloqueada até que você a liste. Requer Claude Code v2.1.283 ou posterior.

332 332 

333* **Escopo**: [`Gerenciado`](#scopes). Claude Code ignora a chave em configurações de usuário, projeto e local e em `--settings`, com um aviso333* **Escopo**: [`Managed`](#scopes). O Claude Code ignora a chave nas configurações de usuário, de projeto e locais e em `--settings`, com um aviso

334* **Tipo**: string, um de:334* **Tipo**: string, um de:

335 * `"prefix"`: uma entrada de ID de modelo permite sua versão e qualquer ID de modelo que a estenda com outro segmento335 * `"prefix"`: uma entrada de ID de modelo permite sua versão e qualquer ID de modelo que a estenda com outro segmento

336 * `"exact"`: uma entrada de ID de modelo permite apenas a versão que ela nomeia, então `"claude-opus-5"` permite Opus 5 mas não `claude-opus-5-5`. Uma entrada como `"claude-opus-4-5"` também permite seu ID de modelo Anthropic datado `claude-opus-4-5-20251101`. Um alias de família como `"opus"` ainda permite toda a família, e entradas `best`, `opusplan` e `default` são ignoradas336 * `"exact"`: uma entrada de ID de modelo permite apenas a versão que ela nomeia, então `"claude-opus-5"` permite o Opus 5, mas não `claude-opus-5-5`. Uma entrada como `"claude-opus-4-5"` também permite seu ID de modelo datado da Anthropic `claude-opus-4-5-20251101`. Um alias de família como `"opus"` ainda permite a família inteira, e as entradas `best`, `opusplan` e `default` são ignoradas

337* **Padrão**: `"prefix"`337* **Padrão**: `"prefix"`

338 338 

339Este exemplo permite Opus 5 e Sonnet 5 e nenhuma versão posterior de nenhum deles:339Este exemplo permite o Opus 5 e o Sonnet 5 e nenhuma versão posterior de nenhum deles:

340 340 

341```json managed-settings.json theme={null}341```json managed-settings.json theme={null}

342{342{


345}345}

346```346```

347 347 

348Com `"exact"`, a opção Padrão também é limitada aos modelos listados sempre que a lista nomeia pelo menos um modelo ou família. Consulte [Bloqueie modelos ou versões específicas](https://code.claude.com/docs/pt/model-config.md#block-specific-models-or-versions).348Com `"exact"`, a opção Default também fica limitada aos modelos listados sempre que a lista nomeia pelo menos um modelo ou família. Consulte [Bloquear modelos ou versões específicos](https://code.claude.com/docs/pt/model-config.md#block-specific-models-or-versions).

349 349 

350### `deniedModels`350### `deniedModels`

351 351 

352Bloqueie modelos específicos, com ou sem uma lista de permissões [`availableModels`](#availablemodels) e mesmo quando essa lista os permite. Claude Code oculta um modelo bloqueado do seletor `/model`, e o modelo não pode ser selecionado em nenhum lugar onde `availableModels` é aplicado. Uma sessão na opção Padrão também não executa um modelo bloqueado, como [Bloqueie modelos ou versões específicas](https://code.claude.com/docs/pt/model-config.md#block-specific-models-or-versions) descreve. Requer Claude Code v2.1.283 ou posterior.352Bloqueie modelos específicos, com ou sem uma allowlist de [`availableModels`](#availablemodels) e mesmo quando essa lista os permite. O Claude Code oculta um modelo bloqueado do seletor `/model`, e o modelo não pode ser selecionado em nenhum lugar onde `availableModels` é aplicado. Uma sessão na opção Default também não executa um modelo bloqueado, conforme descrito em [Bloquear modelos ou versões específicos](https://code.claude.com/docs/pt/model-config.md#block-specific-models-or-versions). Requer Claude Code v2.1.283 ou posterior.

353 353 

354* **Escopo**: [`Gerenciado`](#scopes). Claude Code ignora a chave em configurações de usuário, projeto e local e em `--settings`, com um aviso354* **Escopo**: [`Managed`](#scopes). O Claude Code ignora a chave nas configurações de usuário, de projeto e locais e em `--settings`, com um aviso

355* **Tipo**: array de aliases de modelo ou IDs355* **Tipo**: array de aliases ou IDs de modelo

356 * Um alias de família como `"opus"` bloqueia cada modelo nessa família356 * Um alias de família como `"opus"` bloqueia todos os modelos daquela família

357 * Um ID de modelo como `"claude-opus-5-5"` bloqueia essa versão em cada grafia, incluindo IDs datados e específicos do provedor357 * Um ID de modelo como `"claude-opus-5-5"` bloqueia essa versão em todas as grafias, incluindo IDs datados e específicos de provedores

358 * Um ID de modelo sem versão menor, como `"claude-opus-5"`, também bloqueia versões menores posteriores como Opus 5.5. Escreva `"claude-opus-5-0"` para bloquear apenas Opus 5358 * Um ID de modelo sem versão secundária, como `"claude-opus-5"`, também bloqueia versões secundárias posteriores, como o Opus 5.5. Escreva `"claude-opus-5-0"` para bloquear apenas o Opus 5

359 * Entradas `best`, `opusplan` e `default` são ignoradas359 * As entradas `best`, `opusplan` e `default` são ignoradas

360* **Padrão**: sem definir, então nenhum modelo é bloqueado360* **Padrão**: não definido, então nenhum modelo é bloqueado

361 361 

362Este exemplo permite modelos Opus e Sonnet e bloqueia Opus 5.5:362Este exemplo permite modelos Opus e Sonnet e bloqueia o Opus 5.5:

363 363 

364```json managed-settings.json theme={null}364```json managed-settings.json theme={null}

365{365{


368}368}

369```369```

370 370 

371Consulte [Bloqueie modelos ou versões específicas](https://code.claude.com/docs/pt/model-config.md#block-specific-models-or-versions).371Consulte [Bloquear modelos ou versões específicos](https://code.claude.com/docs/pt/model-config.md#block-specific-models-or-versions).

372 372 

373### `effortLevel`373### `effortLevel`

374 374 

375Defina um [nível de esforço](https://code.claude.com/docs/pt/model-config.md#adjust-effort-level) padrão para modelos para os quais você não salvou um nível. Níveis mais baixos são mais rápidos e mais baratos em tarefas diretas, e níveis mais altos raciocinam mais profundamente em problemas complexos.375Defina um [nível de esforço](https://code.claude.com/docs/pt/model-config.md#adjust-effort-level) padrão para modelos para os quais você não salvou um nível. Níveis mais baixos são mais rápidos e mais baratos em tarefas simples, e níveis mais altos raciocinam com mais profundidade em problemas complexos.

376 376 

377Quando você executa `/effort low`, `medium`, `high` ou `xhigh` em uma sessão interativa em sua máquina, Claude Code salva o nível para o modelo ativo em [`modelSettings`](#modelsettings) em vez de escrever essa chave. Antes da v2.1.251, `/effort` escrevia essa chave.377Quando você executa `/effort low`, `medium`, `high` ou `xhigh` em uma sessão interativa na sua máquina, o Claude Code salva o nível para o modelo ativo em [`modelSettings`](#modelsettings) em vez de gravar esta chave. Antes da v2.1.251, `/effort` gravava esta chave.

378 378 

379Dentro do mesmo arquivo de configurações, Claude Code usa o nível salvo de um modelo em vez dessa chave. [`modelSettings`](#modelsettings) indica a precedência entre arquivos.379Dentro do mesmo arquivo de configurações, o Claude Code usa o nível salvo de um modelo em vez desta chave. [`modelSettings`](#modelsettings) descreve a precedência entre arquivos.

380 380 

381Em uma sessão anexada a um worker remoto, em uma execução `-p` e no Agent SDK, `/effort` se aplica apenas a essa sessão. [Ajuste o nível de esforço](https://code.claude.com/docs/pt/model-config.md#adjust-effort-level) lista as escolhas interativas que também se aplicam apenas a essa sessão. A mensagem que `/effort` imprime diz qual aconteceu.381Em uma sessão conectada a um worker remoto, em uma execução `-p` e no Agent SDK, `/effort` se aplica apenas àquela sessão. [Ajustar o nível de esforço](https://code.claude.com/docs/pt/model-config.md#adjust-effort-level) lista as escolhas interativas que também se aplicam apenas àquela sessão. A mensagem que `/effort` exibe informa o que aconteceu.

382 382 

383* **Escopo**: [`Qualquer arquivo`](#scopes)383* **Escopo**: [`Any file`](#scopes)

384* **Tipo**: string, um de:384* **Tipo**: string, um de:

385 * `"low"`: o mínimo de raciocínio, para tarefas curtas, delimitadas, sensíveis à latência que não são sensíveis à inteligência385 * `"low"`: o mínimo de raciocínio, para tarefas curtas, delimitadas e sensíveis à latência que não dependem de inteligência

386 * `"medium"`: reduz o uso de tokens para trabalho sensível a custos que pode fazer trade-off de alguma inteligência386 * `"medium"`: reduz o uso de tokens para trabalhos sensíveis a custo que podem abrir mão de alguma inteligência

387 * `"high"`: equilibra o uso de tokens e inteligência387 * `"high"`: equilibra uso de tokens e inteligência

388 * `"xhigh"`: raciocínio mais profundo com maior gasto de tokens388 * `"xhigh"`: raciocínio mais profundo com maior gasto de tokens

389* **Padrão**: sem definir389* **Padrão**: não definido

390* **Substituições por sessão**: `--effort` tem precedência sobre essa chave para uma sessão, e [`CLAUDE_CODE_EFFORT_LEVEL`](https://code.claude.com/docs/pt/env-vars) tem precedência sobre ambas390* **Substituições por sessão**: `--effort` tem precedência sobre esta chave para uma sessão, e [`CLAUDE_CODE_EFFORT_LEVEL`](https://code.claude.com/docs/pt/env-vars) tem precedência sobre ambos

391 391 

392```json settings.json theme={null}392```json settings.json theme={null}

393{393{


395}395}

396```396```

397 397 

398Em suas configurações de usuário, `~/.claude/settings.json`, essa chave é a forma mais antiga que `/effort` escrevia antes de salvar níveis por modelo, e continua se aplicando onde se aplicava antes, em Opus 5, Fable 5.1 e modelos anteriores. Opus 5.5 e modelos lançados após ele a ignoram e começam em seu próprio padrão até você salvar um nível para eles, que `/effort` escreve em [`modelSettings`](#modelsettings). Em configurações de projeto, local e gerenciada, e com `--settings`, essa chave se aplica a cada modelo.398No seu arquivo de configurações de usuário, `~/.claude/settings.json`, esta chave é a forma antiga que `/effort` gravava antes de salvar níveis por modelo, e ela continua se aplicando onde se aplicava antes: no Opus 5, no Fable 5.1 e em modelos anteriores. O Opus 5.5 e os modelos lançados depois dele a ignoram e começam no próprio padrão até que você salve um nível para eles, que `/effort` grava em [`modelSettings`](#modelsettings). Nas configurações de projeto, locais e gerenciadas, e com `--settings`, esta chave se aplica a todos os modelos.

399 399 

400### `enforceAvailableModels`400### `enforceAvailableModels`

401 401 

402O seletor `/model` tem uma opção **Padrão**, e [`default` model setting](https://code.claude.com/docs/pt/model-config#default-model-setting) descreve o modelo ao qual ela resolve. Uma lista de permissões [`availableModels`](#availablemodels) limita os modelos que você pode nomear, mas com a [correspondência de prefixo](#availablemodelsmatch) padrão ela não remapeia o padrão do seu tipo de conta, então **Padrão** ainda pode resolver para um modelo fora da lista. Esta chave fecha essa lacuna. Requer Claude Code v2.1.175 ou posterior.402O seletor `/model` tem uma opção **Default**, e [configuração de modelo `default`](https://code.claude.com/docs/pt/model-config#default-model-setting) descreve o modelo para o qual ela é resolvida. Uma allowlist de [`availableModels`](#availablemodels) limita os modelos que você pode nomear, mas com a [correspondência por prefixo](#availablemodelsmatch) padrão ela não remapeia o padrão do seu tipo de conta, então **Default** ainda pode ser resolvida para um modelo fora da lista. Esta chave fecha essa lacuna. Requer Claude Code v2.1.175 ou posterior.

403 403 

404Quando sua organização implanta qualquer configuração gerenciada, Claude Code lê essa chave apenas da fonte gerenciada e a ignora em seus outros arquivos.404Quando sua organização implanta quaisquer configurações gerenciadas, o Claude Code lê esta chave apenas da fonte gerenciada e a ignora nos seus outros arquivos.

405 405 

406Para saber como essa chave se aplica às verificações de modelo na inicialização, consulte [Amazon Bedrock](https://code.claude.com/docs/pt/amazon-bedrock.md#when-your-organization-enforces-a-model-allowlist) e [Agent Platform do Google Cloud](https://code.claude.com/docs/pt/google-vertex-ai.md#when-your-organization-enforces-a-model-allowlist).406Para saber como esta chave se aplica às verificações de modelo na inicialização, consulte [Amazon Bedrock](https://code.claude.com/docs/pt/amazon-bedrock.md#when-your-organization-enforces-a-model-allowlist) e [Agent Platform do Google Cloud](https://code.claude.com/docs/pt/google-vertex-ai.md#when-your-organization-enforces-a-model-allowlist).

407 407 

408* **Escopo**: [`Qualquer arquivo`](#scopes)408* **Escopo**: [`Any file`](#scopes)

409* **Tipo**: Boolean409* **Tipo**: Boolean

410 * `true`: quando **Padrão** resolveria para um modelo fora de `availableModels`, Claude Code o resolve para o primeiro modelo disponível na lista410 * `true`: quando **Default** seria resolvida para um modelo fora de `availableModels`, o Claude Code a resolve para o primeiro modelo disponível na lista

411 * `false`: esta chave não muda como **Padrão** resolve411 * `false`: esta chave não altera como **Default** é resolvida

412* **Padrão**: `false`412* **Padrão**: `false`

413 413 

414Este exemplo restringe seleções nomeadas a modelos Sonnet e Haiku e faz **Padrão** resolver para o primeiro deles que está disponível:414Este exemplo restringe as seleções nomeadas a modelos Sonnet e Haiku e faz **Default** ser resolvida para o primeiro deles que estiver disponível:

415 415 

416```json settings.json theme={null}416```json settings.json theme={null}

417{417{


420}420}

421```421```

422 422 

423Esta chave não tem efeito quando `availableModels` está sem definir ou vazio. Consulte [Aplique a lista de permissões ao modelo Padrão](https://code.claude.com/docs/pt/model-config.md#enforce-the-allowlist-for-the-default-model). Requer Claude Code v2.1.175 ou posterior.423Esta chave não tem efeito quando `availableModels` não está definida ou está vazia. Consulte [Aplicar a allowlist ao modelo Default](https://code.claude.com/docs/pt/model-config.md#enforce-the-allowlist-for-the-default-model). Requer Claude Code v2.1.175 ou posterior.

424 424 

425### `fallbackModel`425### `fallbackModel`

426 426 

427Nomeie modelos de backup para Claude Code tentar, em ordem, quando seu modelo principal está sobrecarregado ou indisponível. Claude Code muda para o próximo modelo disponível na cadeia para o resto da volta e mostra um aviso. Sem uma cadeia, Claude Code tenta novamente o mesmo modelo e depois exibe o erro do servidor, e você tenta novamente ou muda de modelos você mesmo.427Nomeie modelos reserva para o Claude Code tentar, em ordem, quando seu modelo principal estiver sobrecarregado ou indisponível. O Claude Code muda para o próximo modelo disponível na cadeia pelo restante do turno e exibe um aviso. Sem uma cadeia, o Claude Code tenta novamente o mesmo modelo e depois exibe o erro do servidor, e você mesmo tenta novamente ou troca de modelo.

428 428 

429Uma mudança significa uma volta com um [cache de prompt](https://code.claude.com/docs/pt/prompt-caching.md#switching-models) frio no modelo de fallback; sua próxima mensagem tenta o modelo principal primeiro novamente.429Uma troca significa um turno com o [cache de prompt](https://code.claude.com/docs/pt/prompt-caching.md#switching-models) frio no modelo de fallback; sua próxima mensagem tenta primeiro o modelo principal novamente.

430 430 

431* **Escopo**: [`Qualquer arquivo`](#scopes)431* **Escopo**: [`Any file`](#scopes)

432* **Tipo**: array de aliases de modelo ou IDs; `"default"` expande para o modelo padrão432* **Tipo**: array de aliases ou IDs de modelo; `"default"` se expande para o modelo padrão

433* **Padrão**: sem definir, então uma solicitação falhada não é tentada novamente em outro modelo433* **Padrão**: não definido, então uma requisição com falha não é tentada novamente em outro modelo

434* **Substituições por sessão**: `--fallback-model` tem precedência sobre essa chave para uma sessão434* **Substituições por sessão**: `--fallback-model` tem precedência sobre esta chave para uma sessão

435 435 

436Este exemplo tenta Sonnet 5 primeiro, depois Haiku 4.5, quando seu modelo principal falha:436Este exemplo tenta primeiro o Sonnet 5 e depois o Haiku 4.5 quando seu modelo principal falha:

437 437 

438```json settings.json theme={null}438```json settings.json theme={null}

439{439{


441}441}

442```442```

443 443 

444Diferentemente da maioria das configurações de array, essa chave não mescla entre arquivos de configurações: o arquivo de maior precedência que a define fornece toda a cadeia. Se seu arquivo de projeto define `["claude-sonnet-5"]` e seu arquivo de usuário define `["claude-haiku-4-5"]`, a cadeia é apenas `["claude-sonnet-5"]`. Claude Code mantém no máximo três modelos distintos permitidos da lista e ignora o resto. Consulte [Cadeias de modelo de fallback](https://code.claude.com/docs/pt/model-config.md#fallback-model-chains).444Ao contrário da maioria das configurações de array, esta chave não é mesclada entre arquivos de configurações: o arquivo de maior precedência que a define fornece a cadeia inteira. Se o seu arquivo de projeto define `["claude-sonnet-5"]` e o seu arquivo de usuário define `["claude-haiku-4-5"]`, a cadeia é apenas `["claude-sonnet-5"]`. O Claude Code mantém no máximo três modelos permitidos distintos da lista e ignora o restante. Consulte [Cadeias de modelos de fallback](https://code.claude.com/docs/pt/model-config.md#fallback-model-chains).

445 445 

446### `fastMode`446### `fastMode`

447 447 

448Ative o [modo rápido](https://code.claude.com/docs/pt/fast-mode.md) para sessões onde está disponível, para trabalho interativo como iteração rápida ou depuração ao vivo onde você quer velocidade a um custo mais alto por token. Você normalmente não edita essa chave manualmente: executar `/fast` escreve `fastMode: true` em `~/.claude/settings.json`, e executá-lo novamente para desativar o modo rápido remove a chave. O modo rápido funciona apenas em Opus 5.5, Opus 5 e Opus 4.8: ativá-lo de outro modelo o muda para Opus, e mudar para um modelo não suportado o desativa. Consulte [Mude de modelos enquanto o modo rápido está ativado](https://code.claude.com/docs/pt/fast-mode.md#switch-models-while-fast-mode-is-on).448Ative o [modo rápido](https://code.claude.com/docs/pt/fast-mode.md) em sessões onde ele está disponível, para trabalho interativo como iteração rápida ou depuração ao vivo, em que você quer velocidade a um custo maior por token. Normalmente, você não edita esta chave manualmente: executar `/fast` grava `fastMode: true` em `~/.claude/settings.json`, e executá-lo novamente para desativar o modo rápido remove a chave. O modo rápido funciona apenas no Opus 5.5, Opus 5 e Opus 4.8: ativá-lo a partir de outro modelo muda você para o Opus, e mudar para um modelo não suportado o desativa. Consulte [Trocar de modelo com o modo rápido ativado](https://code.claude.com/docs/pt/fast-mode.md#switch-models-while-fast-mode-is-on).

449 449 

450* **Escopo**: [`Qualquer arquivo`](#scopes)450* **Escopo**: [`Any file`](#scopes)

451* **Tipo**: Boolean451* **Tipo**: Boolean

452 * `true`: Claude Code ativa o modo rápido para sessões onde está disponível452 * `true`: o Claude Code ativa o modo rápido em sessões onde ele está disponível

453 * `false`: o modo rápido permanece desativado453 * `false`: o modo rápido permanece desativado

454* **Padrão**: sem definir, então o modo rápido está desativado454* **Padrão**: não definido, então o modo rápido fica desativado

455* **Substituições por sessão**: [`CLAUDE_CODE_DISABLE_FAST_MODE`](https://code.claude.com/docs/pt/env-vars) desativa o modo rápido para uma sessão, e essa chave não pode ativá-lo novamente455* **Substituições por sessão**: [`CLAUDE_CODE_DISABLE_FAST_MODE`](https://code.claude.com/docs/pt/env-vars) desativa o modo rápido para uma sessão, e esta chave não pode reativá-lo

456 456 

457```json settings.json theme={null}457```json settings.json theme={null}

458{458{


462 462 

463### `fastModePerSessionOptIn`463### `fastModePerSessionOptIn`

464 464 

465Normalmente, executar `/fast` salva [`fastMode`](#fastmode) nas configurações de usuário de uma pessoa, então o modo rápido está ativado no início de cada sessão posterior. Defina essa chave como `true` para parar isso: um `fastMode: true` salvo não ativa mais o modo rápido no início da sessão, e cada pessoa tem que executar `/fast` em cada sessão que o quer. Claude Code deixa a chave `fastMode` em seu arquivo, então desativar essa chave restaura o comportamento antigo.465Normalmente, executar `/fast` salva [`fastMode`](#fastmode) nas configurações de usuário da pessoa, então o modo rápido fica ativado no início de todas as sessões seguintes. Defina esta chave como `true` para impedir isso: um `fastMode: true` salvo não ativa mais o modo rápido no início da sessão, e cada pessoa precisa executar `/fast` em cada sessão em que quiser usá-lo. O Claude Code mantém a chave `fastMode` no arquivo, então desativar esta chave restaura o comportamento anterior.

466 466 

467Proprietários em planos Team ou Enterprise podem implantá-lo em toda a organização através de [configurações gerenciadas pelo servidor](https://code.claude.com/docs/pt/server-managed-settings.md). Quando as configurações gerenciadas definem a chave, `/fast on` é recusado fora de sessões de terminal interativas e relata que sua organização desativou o modo rápido. Isso cobre [modo não interativo](https://code.claude.com/docs/pt/headless.md), a [extensão VS Code](https://code.claude.com/docs/pt/vs-code.md) e [sessões na nuvem](https://code.claude.com/docs/pt/claude-code-on-the-web.md).467Owners em planos Team ou Enterprise podem implantá-la em toda a organização por meio de [configurações gerenciadas pelo servidor](https://code.claude.com/docs/pt/server-managed-settings.md). Quando as configurações gerenciadas definem a chave, `/fast on` é recusado fora de sessões interativas no terminal e informa que sua organização desativou o modo rápido. Isso abrange o [modo não interativo](https://code.claude.com/docs/pt/headless.md), a [extensão do VS Code](https://code.claude.com/docs/pt/vs-code.md) e as [sessões na nuvem](https://code.claude.com/docs/pt/claude-code-on-the-web.md).

468 468 

469* **Escopo**: [`Qualquer arquivo`](#scopes)469* **Escopo**: [`Any file`](#scopes)

470* **Tipo**: Boolean470* **Tipo**: Boolean

471 * `true`: um `fastMode: true` salvo não ativa mais o modo rápido no início da sessão, então cada pessoa executa `/fast` em cada sessão que o quer; um `fastMode: true` passado com `--settings` ainda conta para essa sessão a menos que as configurações gerenciadas definam essa chave471 * `true`: um `fastMode: true` salvo não ativa mais o modo rápido no início da sessão, então cada pessoa executa `/fast` em cada sessão em que quiser usá-lo; um `fastMode: true` passado com `--settings` ainda vale para aquela sessão, a menos que as configurações gerenciadas definam esta chave

472 * `false`: um `fastMode: true` salvo ativa o modo rápido no início de cada sessão posterior472 * `false`: um `fastMode: true` salvo ativa o modo rápido no início de todas as sessões seguintes

473* **Padrão**: `false`473* **Padrão**: `false`

474 474 

475```json settings.json theme={null}475```json settings.json theme={null}


478}478}

479```479```

480 480 

481Consulte [Exija opt-in por sessão](https://code.claude.com/docs/pt/fast-mode.md#require-per-session-opt-in).481Consulte [Exigir ativação por sessão](https://code.claude.com/docs/pt/fast-mode.md#require-per-session-opt-in).

482 482 

483### `language`483### `language`

484 484 

485Faça Claude responder em um idioma diferente do inglês por padrão. Não há lista fixa para respostas: Claude Code passa o valor verbatim para Claude como uma instrução para sempre responder nesse idioma, então qualquer nome de idioma que Claude possa ler funciona. Claude Code não verifica o valor, então um nome digitado incorretamente chega a Claude como escrito em vez de produzir um erro. O mesmo valor define o idioma para [ditado de voz](https://code.claude.com/docs/pt/voice-dictation.md#change-the-dictation-language), que tem uma lista fixa de [idiomas de ditado suportados](https://code.claude.com/docs/pt/voice-dictation.md#change-the-dictation-language), e para títulos de sessão gerados automaticamente.485Faça o Claude responder por padrão em um idioma diferente do inglês. Não há uma lista fixa para respostas: o Claude Code passa o valor literalmente ao Claude como uma instrução para sempre responder naquele idioma, então qualquer nome de idioma que o Claude consiga ler funciona. O Claude Code não verifica o valor, então um nome com erro de digitação chega ao Claude como foi escrito em vez de gerar um erro. O mesmo valor define o idioma do [ditado por voz](https://code.claude.com/docs/pt/voice-dictation.md#change-the-dictation-language), que tem uma lista fixa de [idiomas de ditado suportados](https://code.claude.com/docs/pt/voice-dictation.md#change-the-dictation-language), e dos títulos de sessão gerados automaticamente.

486 486 

487* **Escopo**: [`Qualquer arquivo`](#scopes)487* **Escopo**: [`Any file`](#scopes)

488* **Tipo**: string, qualquer nome de idioma, como `"japanese"`, `"spanish"` ou `"french"`; Claude Code não o valida488* **Tipo**: string, qualquer nome de idioma, como `"japanese"`, `"spanish"` ou `"french"`; o Claude Code não o valida

489* **Padrão**: sem definir; os títulos de sessão então correspondem ao idioma de sua conversa489* **Padrão**: não definido; os títulos de sessão então seguem o idioma da sua conversa

490 490 

491```json settings.json theme={null}491```json settings.json theme={null}

492{492{


496 496 

497### `maxEffortLevel`497### `maxEffortLevel`

498 498 

499Limite o [nível de esforço](https://code.claude.com/docs/pt/model-config.md#adjust-effort-level) que uma sessão pode usar, deixando níveis mais baixos disponíveis. Qualquer nível mais alto funciona no limite em vez disso, incluindo um de `/effort`, o seletor `/model`, `--effort`, [`CLAUDE_CODE_EFFORT_LEVEL`](https://code.claude.com/docs/pt/env-vars), a frontmatter `effort` de uma skill ou subagente, ou o padrão do próprio modelo. Claude Code aplica o limite em si antes de cada solicitação, então ele se mantém em cada provedor, incluindo Amazon Bedrock, Agent Platform do Google Cloud e Microsoft Foundry. Requer Claude Code v2.1.267 ou posterior.499Limite o [nível de esforço](https://code.claude.com/docs/pt/model-config.md#adjust-effort-level) que uma sessão pode usar, mantendo os níveis mais baixos disponíveis. Qualquer nível mais alto é executado no limite, incluindo um vindo de `/effort`, do seletor `/model`, de `--effort`, de [`CLAUDE_CODE_EFFORT_LEVEL`](https://code.claude.com/docs/pt/env-vars), do `effort` no frontmatter de uma skill ou de um subagente, ou do próprio padrão do modelo. O próprio Claude Code aplica o limite antes de cada requisição, então ele vale em todos os provedores, incluindo Amazon Bedrock, Agent Platform do Google Cloud e Microsoft Foundry. Requer Claude Code v2.1.267 ou posterior.

500 500 

501* **Escopo**: [`Qualquer arquivo`](#scopes). Implante-o em configurações gerenciadas para aplicá-lo a uma organização. Quando vários escopos definem um limite, o mais baixo se aplica, então um limite definido em um escopo não pode ser aumentado de outro501* **Escopo**: [`Any file`](#scopes). Implante-a em configurações gerenciadas para aplicá-la a uma organização. Quando vários escopos definem um limite, o mais baixo se aplica, então um limite definido em um escopo não pode ser aumentado a partir de outro

502* **Tipo**: string, um de `"low"`, `"medium"`, `"high"`, `"xhigh"` ou `"max"`. Um valor `"max"` não define limite502* **Tipo**: string, um de `"low"`, `"medium"`, `"high"`, `"xhigh"` ou `"max"`. Um valor `"max"` não define limite

503* **Padrão**: sem definir, então nenhum limite se aplica503* **Padrão**: não definido, então nenhum limite se aplica

504* **Limites por modelo**: adicione `maxEffortLevel` à entrada [`modelSettings`](#modelsettings) de um modelo. Essa entrada substitui essa chave apenas para o modelo dentro da fonte de configurações que define ambas, como suas configurações de usuário ou uma [fonte gerenciada](https://code.claude.com/docs/pt/managed-settings.md#how-claude-code-combines-managed-sources). Defina `"max"` lá para isentar o modelo do limite dessa fonte; Claude Code ainda aplica limites de outras fontes504* **Limites por modelo**: adicione `maxEffortLevel` à entrada de um modelo em [`modelSettings`](#modelsettings). Essa entrada substitui esta chave para o modelo apenas dentro da fonte de configurações que define ambas, como suas configurações de usuário ou uma [fonte gerenciada](https://code.claude.com/docs/pt/managed-settings.md#how-claude-code-combines-managed-sources). Defina `"max"` ali para isentar o modelo do limite daquela fonte; o Claude Code ainda aplica limites de outras fontes

505 505 

506Este exemplo limita cada modelo a `medium` e isenta Sonnet 4.6:506Este exemplo limita todos os modelos a `medium` e isenta o Sonnet 4.6:

507 507 

508```json settings.json theme={null}508```json settings.json theme={null}

509{509{


520 520 

521### `model`521### `model`

522 522 

523Defina o modelo que cada nova sessão usa, então você não tem que escolher um com `/model` cada vez. Defini-lo aqui não o impede de mudar no meio da sessão. Se seu admin definiu um [modelo padrão da organização](https://code.claude.com/docs/pt/model-config.md#organization-default-model) para substituir a seleção do usuário, você obtém esse modelo mesmo quando define essa chave em configurações de usuário, projeto ou local.523Defina o modelo que toda nova sessão usa, para que você não precise escolher um com `/model` a cada vez. Defini-lo aqui não impede que você troque no meio da sessão. Se o seu administrador definiu um [modelo padrão da organização](https://code.claude.com/docs/pt/model-config.md#organization-default-model) para sobrescrever a seleção do usuário, você recebe esse modelo mesmo quando define esta chave nas configurações de usuário, de projeto ou locais.

524 524 

525* **Escopo**: [`Qualquer arquivo`](#scopes)525* **Escopo**: [`Any file`](#scopes)

526* **Tipo**: string, um alias de modelo ou ID de modelo completo526* **Tipo**: string, um alias de modelo ou ID de modelo completo

527* **Padrão**: sem definir, então Claude Code usa o modelo padrão de sua conta527* **Padrão**: não definido, então o Claude Code usa o modelo padrão da sua conta

528* **Substituições por sessão**: `--model` tem precedência sobre [`ANTHROPIC_MODEL`](https://code.claude.com/docs/pt/env-vars), e ambos têm precedência sobre essa chave para uma sessão, incluindo sobre um `model` gerenciado; uma lista [`availableModels`](#availablemodels) ainda se aplica à escolha528* **Substituições por sessão**: `--model` tem precedência sobre [`ANTHROPIC_MODEL`](https://code.claude.com/docs/pt/env-vars), e ambos têm precedência sobre esta chave para uma sessão, inclusive sobre um `model` gerenciado; uma lista [`availableModels`](#availablemodels) ainda se aplica à escolha

529 529 

530```json settings.json theme={null}530```json settings.json theme={null}

531{531{


533}533}

534```534```

535 535 

536Um valor aqui supera [`ANTHROPIC_DEFAULT_MODEL`](https://code.claude.com/docs/pt/model-config#set-a-default-model-for-new-sessions), que Claude Code usa apenas quando nada mais seleciona um modelo.536Um valor aqui tem precedência sobre [`ANTHROPIC_DEFAULT_MODEL`](https://code.claude.com/docs/pt/model-config#set-a-default-model-for-new-sessions), que o Claude Code usa apenas quando nada mais seleciona um modelo.

537 537 

538### `modelOverrides`538### `modelOverrides`

539 539 

540Mapeie IDs de modelo Anthropic para IDs de modelo específicos do provedor, como ARNs de perfil de inferência do Amazon Bedrock. Cada entrada do seletor de modelo então usa seu valor mapeado ao chamar a API do provedor. Administradores usam isso em [Amazon Bedrock, Agent Platform do Google Cloud e Microsoft Foundry](https://code.claude.com/docs/pt/model-config.md#override-model-ids-per-version) para rotear cada versão de modelo para um perfil de inferência específico, nome de versão ou implantação para governança, alocação de custos ou roteamento regional.540Mapeie IDs de modelo da Anthropic para IDs de modelo específicos do provedor, como ARNs de perfis de inferência do Amazon Bedrock. Cada entrada do seletor de modelos então usa seu valor mapeado ao chamar a API do provedor. Administradores usam isso no [Amazon Bedrock, no Agent Platform do Google Cloud e no Microsoft Foundry](https://code.claude.com/docs/pt/model-config.md#override-model-ids-per-version) para rotear cada versão de modelo para um perfil de inferência, nome de versão ou implantação específicos, para governança, alocação de custos ou roteamento regional.

541 541 

542* **Escopo**: [`Qualquer arquivo`](#scopes)542* **Escopo**: [`Any file`](#scopes)

543* **Tipo**: objeto mapeando ID de modelo para ID de modelo do provedor543* **Tipo**: objeto que mapeia ID de modelo para ID de modelo do provedor

544* **Padrão**: sem definir544* **Padrão**: não definido

545 545 

546Este exemplo roteia cada chamada para Opus 4.6 para o perfil de inferência Bedrock nomeado:546Este exemplo roteia todas as chamadas do Opus 4.6 para o perfil de inferência do Bedrock indicado:

547 547 

548```json settings.json theme={null}548```json settings.json theme={null}

549{549{


553}553}

554```554```

555 555 

556Consulte [Substitua IDs de modelo por versão](https://code.claude.com/docs/pt/model-config.md#override-model-ids-per-version).556Consulte [Sobrescrever IDs de modelo por versão](https://code.claude.com/docs/pt/model-config.md#override-model-ids-per-version).

557 557 

558### `modelPicker`558### `modelPicker`

559 559 

560Liste os modelos que o seletor `/model` oferece, na ordem que você os escreve e sob rótulos que você escolhe, então o seletor lista os modelos que sua organização executa, após o lineup integrado ou em vez dele. O `model` de cada linha é tomado verbatim, então aceita qualquer coisa que `--model` aceita: um alias como `opus`, um ID de modelo Anthropic ou um ID de formato de provedor para Amazon Bedrock, Agent Platform do Google Cloud, Microsoft Foundry ou um gateway LLM. Requer Claude Code v2.1.242 ou posterior.560Liste os modelos que o seletor `/model` oferece, na ordem em que você os escreve e com os rótulos que você escolher, para que o seletor liste os modelos que sua organização executa, depois da lista integrada ou no lugar dela. O `model` de cada linha é usado literalmente, então aceita qualquer coisa que `--model` aceita: um alias como `opus`, um ID de modelo da Anthropic ou um ID no formato do provedor para Amazon Bedrock, Agent Platform do Google Cloud, Microsoft Foundry ou um gateway de LLM. Requer Claude Code v2.1.242 ou posterior.

561 561 

562* **Escopo**: [`Usuário ou gerenciado`](#scopes). Claude Code lê a chave de configurações gerenciadas, `--settings` e configurações de usuário, e a ignora em configurações de projeto e local para que um repositório que você clone não possa rotular novamente o seletor. O maior dos três que define a chave fornece todo o lineup, e Claude Code nunca combina lineups de duas fontes.562* **Escopo**: [`User or managed`](#scopes). O Claude Code lê a chave das configurações gerenciadas, de `--settings` e das configurações de usuário, e a ignora nas configurações de projeto e locais para que um repositório que você clona não possa renomear o seletor. A fonte de maior precedência dentre essas três que define a chave fornece a lista inteira, e o Claude Code nunca combina listas de duas fontes.

563* **Tipo**: objeto com um array `options` de linhas e um Boolean `replaceBuiltInOptions` opcional563* **Tipo**: objeto com um array `options` de linhas e um Boolean opcional `replaceBuiltInOptions`

564* **Padrão**: sem definir, então o seletor mostra o lineup integrado564* **Padrão**: não definido, então o seletor mostra a lista integrada

565 565 

566Este exemplo adiciona duas implantações Bedrock após o lineup integrado, sob nomes que sua equipe reconhece:566Este exemplo adiciona duas implantações do Bedrock depois da lista integrada, com nomes que sua equipe reconhece:

567 567 

568```json managed-settings.json theme={null}568```json managed-settings.json theme={null}

569{569{


580}580}

581```581```

582 582 

583#### Campos para `modelPicker`583#### Campos de `modelPicker`

584 584 

585A chave leva dois campos, um para as linhas em si e outro para se elas substituem o lineup integrado ou o adicionam.585A chave aceita dois campos, um para as próprias linhas e outro para indicar se elas substituem a lista integrada ou são adicionadas a ela.

586 586 

587| Campo | Tipo | O que faz |587| Campo | Tipo | O que faz |

588| :- | :- | :- |588| :- | :- | :- |

589| `options` | array de linhas, cada uma com um `model` obrigatório e um `label`, `description` e `behavesAs` opcionais | As linhas que o seletor mostra, nesta ordem, exceto que uma linha acinzentada se move para o final. Sem um `label`, Claude Code intitula a linha com o nome integrado para um modelo que conhece, ou o ID do modelo caso contrário, e sem uma `description` escreve uma segunda linha genérica |589| `options` | array de linhas, cada uma com um `model` obrigatório e `label`, `description` e `behavesAs` opcionais | As linhas que o seletor mostra, nesta ordem, exceto que uma linha desabilitada vai para o final. Sem um `label`, o Claude Code dá à linha o nome integrado para um modelo que ele conhece, ou o ID do modelo caso contrário, e sem uma `description` ele escreve uma segunda linha genérica |

590| `replaceBuiltInOptions` | Boolean, padrão `false` | Defina como `true` para mostrar apenas essas linhas, **Padrão** e uma linha para o modelo que a sessão já está usando. Deixe sem definir para adicionar essas linhas após o lineup integrado |590| `replaceBuiltInOptions` | Boolean, padrão `false` | Defina como `true` para mostrar apenas estas linhas, **Default** e uma linha para o modelo que a sessão já está usando. Deixe não definido para adicionar estas linhas depois da lista integrada |

591 591 

592Uma entrada em `options` também pode levar um `behavesAs` string opcional ao lado de seu `model`, que requer v2.1.257 ou posterior. Defina-o para o ID de um modelo que sua versão do Claude Code já conhece, como `claude-opus-4-8`, em uma entrada cujo `model` é mais novo que sua versão. Claude Code então aplica as capacidades e padrões de esforço desse modelo conhecido à entrada em vez de tratar seu modelo como desconhecido. O rótulo da entrada e o ID do modelo que Claude Code envia em solicitações não mudam.592Uma entrada em `options` também pode ter uma string opcional `behavesAs` ao lado do seu `model`, o que requer v2.1.257 ou posterior. Defina-a como o ID de um modelo que sua versão do Claude Code já conhece, como `claude-opus-4-8`, em uma entrada cujo `model` seja mais novo que sua versão. O Claude Code então aplica as capacidades e os padrões de esforço desse modelo conhecido à entrada, em vez de tratar seu modelo como desconhecido. O rótulo da entrada e o ID de modelo que o Claude Code envia nas requisições não mudam.

593 593 

594Com `replaceBuiltInOptions` ativado, Claude Code oculta todas as outras linhas: o lineup integrado, as linhas que adiciona para entradas [`availableModels`](#availablemodels), os modelos que [descoberta de gateway](https://code.claude.com/docs/pt/llm-gateway-protocol.md#model-discovery) encontrou e [`ANTHROPIC_CUSTOM_MODEL_OPTION`](https://code.claude.com/docs/pt/model-config#add-a-custom-model-option). Com ele desativado, Claude Code pula um modelo listado que o lineup integrado já cobre. Um rótulo muda o que o seletor mostra, não qual modelo Claude Code executa.594Com `replaceBuiltInOptions` ativado, o Claude Code oculta todas as outras linhas: a lista integrada, as linhas que ele adiciona para entradas de [`availableModels`](#availablemodels), os modelos que a [descoberta do gateway](https://code.claude.com/docs/pt/llm-gateway-protocol.md#model-discovery) encontrou e [`ANTHROPIC_CUSTOM_MODEL_OPTION`](https://code.claude.com/docs/pt/model-config#add-a-custom-model-option). Com ele desativado, o Claude Code pula um modelo listado que a lista integrada já abrange. Um rótulo altera o que o seletor mostra, não qual modelo o Claude Code executa.

595 595 

596Uma lista de permissões [`availableModels`](#availablemodels) ainda se aplica a essas linhas. Antes de adicionar um modelo listado à lista de permissões, leia [Comportamento de mesclagem](https://code.claude.com/docs/pt/model-config.md#merge-behavior): um ID de modelo específico estreita a entrada curinga de sua família. Claude Code também verifica cada linha contra a sessão antes de mostrar o seletor:596Uma allowlist de [`availableModels`](#availablemodels) ainda se aplica a estas linhas. Antes de adicionar um modelo listado à allowlist, leia [Comportamento de mesclagem](https://code.claude.com/docs/pt/model-config.md#merge-behavior): um ID de modelo específico restringe a entrada curinga da sua família. O Claude Code também verifica cada linha em relação à sessão antes de mostrar o seletor:

597 597 

598* **Descartada**: uma linha que Claude Code não pode servir, como um modelo aposentado ou um modelo ao qual sua organização não tem acesso598* **Removida**: uma linha que o Claude Code não consegue atender, como um modelo descontinuado ou um modelo ao qual sua organização não tem acesso

599* **Acinzentada**: uma linha que você não pode selecionar ainda, mostrada com o motivo599* **Desabilitada**: uma linha que você ainda não pode selecionar, mostrada com o motivo

600* **Nenhuma linha sobrevive**: Claude Code mantém o lineup integrado, filtrado pela lista de permissões como usual600* **Nenhuma linha restante**: o Claude Code mantém a lista integrada, filtrada pela allowlist como de costume

601 601 

602Claude Code descarta uma linha que não pode analisar e mantém o resto. Consulte [Corrija um arquivo de configurações quebrado](https://code.claude.com/docs/pt/settings.md#fix-a-broken-settings-file).602O Claude Code descarta uma linha que não consegue interpretar e mantém o restante. Consulte [Corrigir um arquivo de configurações com problemas](https://code.claude.com/docs/pt/settings.md#fix-a-broken-settings-file).

603 603 

604### `modelPricing`604### `modelPricing`

605 605 

606Relate gastos nas taxas que sua organização paga em vez de preço de lista. Defina-o quando sua organização tem taxas contratadas, então os valores em dólares que os desenvolvedores veem correspondem à sua fatura. Claude Code aplica as taxas em `/usage`, a [linha de status](https://code.claude.com/docs/pt/statusline.md), o `total_cost_usd` do Agent SDK, o limite [`--max-budget-usd`](https://code.claude.com/docs/pt/cli-reference) e a métrica de custo [OpenTelemetry](https://code.claude.com/docs/pt/monitoring-usage.md) e eventos. Você fornece as taxas: Claude Code não as lê de seu contrato ou do Claude Console. Requer Claude Code v2.1.242 ou posterior.606Informe os gastos com as tarifas que sua organização paga em vez do preço de tabela. Defina esta chave quando sua organização tiver tarifas contratadas, para que os valores em dólar que os desenvolvedores veem correspondam à sua fatura. O Claude Code aplica as tarifas em `/usage`, na [linha de status](https://code.claude.com/docs/pt/statusline.md), no `total_cost_usd` do Agent SDK, no limite [`--max-budget-usd`](https://code.claude.com/docs/pt/cli-reference) e na métrica e nos eventos de custo do [OpenTelemetry](https://code.claude.com/docs/pt/monitoring-usage.md). Você fornece as tarifas: o Claude Code não as lê do seu contrato nem do Claude Console. Requer Claude Code v2.1.242 ou posterior.

607 607 

608* **Escopo**: [`Gerenciado`](#scopes). Implante a chave através de configurações gerenciadas pelo servidor, uma política MDM, um arquivo `managed-settings.json` ou um [auxiliar de política](https://code.claude.com/docs/pt/managed-settings.md#compute-the-policy-with-a-helper-program). Claude Code a ignora em configurações de usuário, projeto e local, em `--settings` e no Windows no [registro HKCU](https://code.claude.com/docs/pt/managed-settings.md#where-each-mechanism-stores-the-policy) gravável pelo usuário. Com configurações gerenciadas pelo servidor, cada sessão relata custos ao preço de lista até que a [busca de configurações](https://code.claude.com/docs/pt/server-managed-settings.md#fetch-and-caching-behavior) dessa sessão tenha confirmado a configuração. Um aplicativo host que incorpora Claude Code e define [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](https://code.claude.com/docs/pt/env-vars) pode fornecer uma tabela própria através da opção SDK [`managedSettings`](https://code.claude.com/docs/pt/agent-sdk/typescript#options), que Claude Code usa apenas quando nenhuma fonte gerenciada define a chave e apenas em Claude Code v2.1.246 ou posterior.608* **Escopo**: [`Managed`](#scopes). Implante a chave por meio de configurações gerenciadas pelo servidor, uma política de MDM, um arquivo `managed-settings.json` ou um [auxiliar de política](https://code.claude.com/docs/pt/managed-settings.md#compute-the-policy-with-a-helper-program). O Claude Code a ignora nas configurações de usuário, de projeto e locais, em `--settings` e, no Windows, no [registro HKCU](https://code.claude.com/docs/pt/managed-settings.md#where-each-mechanism-stores-the-policy) gravável pelo usuário. Com configurações gerenciadas pelo servidor, cada sessão informa custos pelo preço de tabela até que a [busca de configurações](https://code.claude.com/docs/pt/server-managed-settings.md#fetch-and-caching-behavior) daquela sessão tenha confirmado a configuração. Um aplicativo host que incorpora o Claude Code e define [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](https://code.claude.com/docs/pt/env-vars) pode fornecer sua própria tabela por meio da opção [`managedSettings`](https://code.claude.com/docs/pt/agent-sdk/typescript#options) do SDK, que o Claude Code usa apenas quando nenhuma fonte gerenciada define a chave e apenas no Claude Code v2.1.246 ou posterior.

609* **Tipo**: objeto com um `multiplier` opcional e um mapa `overrides` opcional609* **Tipo**: objeto com um `multiplier` opcional e um mapa `overrides` opcional

610* **Padrão**: sem definir, então Claude Code relata preço de lista a menos que um aplicativo host forneça uma tabela610* **Padrão**: não definido, então o Claude Code informa o preço de tabela, a menos que um aplicativo host forneça uma tabela

611 611 

612Defina `multiplier` sozinho para um desconto fixo, `overrides` sozinho para taxas por modelo ou ambos.612Defina apenas `multiplier` para um desconto ou acréscimo fixo, apenas `overrides` para tarifas por modelo, ou ambos.

613 613 

614Este exemplo define taxas contratadas para Sonnet 4.6 e depois reduz cada figura, a linha Sonnet incluída, em 15%:614Este exemplo define tarifas contratadas para o Sonnet 4.6 e depois reduz todos os valores, incluindo a linha do Sonnet, em 15%:

615 615 

616```json managed-settings.json theme={null}616```json managed-settings.json theme={null}

617{617{


629}629}

630```630```

631 631 

632Defina `multiplier` acima de 1, até 10, para marcar cada figura para cima. Uma marcação requer Claude Code v2.1.271 ou posterior. Versões anteriores ignoram um `multiplier` acima de 1 com um aviso e mantêm o resto da configuração.632Defina `multiplier` acima de 1, até 10, para aplicar um acréscimo a todos os valores. Um acréscimo requer Claude Code v2.1.271 ou posterior. Versões anteriores ignoram um `multiplier` acima de 1 com um aviso e mantêm o restante da configuração.

633 633 

634Para as etapas, incluindo como confirmar que as taxas estão em vigor, consulte [Relate gastos em suas taxas contratadas](https://code.claude.com/docs/pt/costs.md#report-spend-at-your-contracted-rates).634Para os passos, incluindo como confirmar que as tarifas estão em vigor, consulte [Informar gastos com suas tarifas contratadas](https://code.claude.com/docs/pt/costs.md#report-spend-at-your-contracted-rates).

635 635 

636#### Campos para `modelPricing`636#### Campos de `modelPricing`

637 637 

638| Campo | Tipo | O que faz |638| Campo | Tipo | O que faz |

639| :- | :- | :- |639| :- | :- | :- |

640| `multiplier` | número maior que 0 e no máximo 10 | Dimensiona cada custo que Claude Code calcula, independentemente de uma linha `overrides` cobri-lo. Abaixo de 1 é um desconto, acima de 1 uma marcação |640| `multiplier` | número maior que 0 e no máximo 10 | Ajusta a escala de todo custo que o Claude Code calcula, esteja ou não coberto por uma linha de `overrides`. Abaixo de 1 é um desconto, acima de 1 um acréscimo |

641| `overrides` | mapa de ID de modelo para um objeto de taxa com `input`, `output`, `cacheRead` e `cacheWrite`, cada um de 0 a 10000 | As taxas USD-por-milhão-de-tokens para esse modelo, todos os quatro obrigatórios. `cacheWrite` cobre tanto gravações de cache de cinco minutos quanto de uma hora. Consulte [Quais modelos uma linha `modelPricing` se aplica a](#which-models-a-modelpricing-row-applies-to) |641| `overrides` | mapa de ID de modelo para um objeto de tarifas com `input`, `output`, `cacheRead` e `cacheWrite`, cada um de 0 a 10000 | As tarifas em USD por milhão de tokens para aquele modelo, todas as quatro obrigatórias. `cacheWrite` abrange gravações de cache de cinco minutos e de uma hora. Consulte [A quais modelos uma linha se aplica](#which-models-a-modelpricing-row-applies-to) |

642 642 

643Claude Code usa as taxas de uma linha exatamente como você as escreveu, sem adicionar a sobretaxa do modo rápido ou a [taxa de inferência apenas para EUA](https://platform.claude.com/docs/en/about-claude/pricing). Se você também definir `multiplier`, Claude Code a aplica no topo das taxas da linha. Claude Code descarta uma linha com uma taxa que não pode analisar ou um `multiplier` que não pode analisar e mantém o resto; consulte [Corrija um arquivo de configurações quebrado](https://code.claude.com/docs/pt/settings.md#fix-a-broken-settings-file).643O Claude Code usa as tarifas de uma linha exatamente como você as escreveu, sem adicionar a sobretaxa do modo rápido nem a [tarifa de inferência apenas nos EUA](https://platform.claude.com/docs/en/about-claude/pricing). Se você também definir `multiplier`, o Claude Code o aplica sobre as tarifas da linha. O Claude Code descarta uma linha com uma tarifa que não consegue interpretar, ou um `multiplier` que não consegue interpretar, e mantém o restante; consulte [Corrigir um arquivo de configurações com problemas](https://code.claude.com/docs/pt/settings.md#fix-a-broken-settings-file).

644 644 

645#### Quais modelos uma linha `modelPricing` se aplica a645#### A quais modelos uma linha de `modelPricing` se aplica

646 646 

647Claude Code decide quais modelos uma linha se aplica a partir da chave da linha:647O Claude Code decide a quais modelos uma linha se aplica com base na chave da linha:

648 648 

649* **ID de um modelo integrado**: uma chave que Claude Code usa para um modelo integrado, independentemente de essa chave ser o próprio ID do modelo, como `claude-sonnet-4-6`, ou seu ID Bedrock, Agent Platform ou Foundry. Claude Code aplica a linha a cada ID de snapshot datado e ID específico do provedor desse modelo.649* **O ID de um modelo integrado**: uma chave que o próprio Claude Code usa para um modelo integrado, seja o próprio ID do modelo, como `claude-sonnet-4-6`, ou seu ID no Bedrock, no Agent Platform ou no Foundry. O Claude Code aplica a linha a todos os IDs de snapshot datados e IDs específicos de provedores daquele modelo.

650* **Qualquer outra chave**: uma chave que não é o ID de um modelo integrado, como um alias de modelo de gateway. Claude Code aplica a linha apenas a esse ID. Quando um ID de modelo corresponde exatamente a uma de suas chaves e também se enquadra em uma linha com chave de ID de modelo integrado, Claude Code usa a correspondência exata.650* **Qualquer outra chave**: uma chave que não é o ID de um modelo integrado, como um alias de modelo de gateway. O Claude Code aplica a linha apenas àquele ID. Quando um ID de modelo corresponde exatamente a uma das suas chaves e também se enquadra em uma linha cuja chave é o ID de um modelo integrado, o Claude Code usa a correspondência exata.

651* **Um perfil de inferência de aplicação Bedrock**: uma vez que Claude Code resolveu o perfil para o modelo ao qual roteia, através de seu mapa [`modelOverrides`](#modeloverrides) ou da busca [`bedrock:GetInferenceProfile`](https://code.claude.com/docs/pt/amazon-bedrock#iam-configuration), Claude Code aplica a linha desse modelo ao perfil.651* **Um perfil de inferência de aplicativo do Bedrock**: depois que o Claude Code resolve o perfil para o modelo para o qual ele roteia, por meio do seu mapa [`modelOverrides`](#modeloverrides) ou da [consulta `bedrock:GetInferenceProfile`](https://code.claude.com/docs/pt/amazon-bedrock#iam-configuration), o Claude Code aplica a linha daquele modelo ao perfil.

652 652 

653### `modelSettings`653### `modelSettings`

654 654 

655Salve um [nível de esforço](https://code.claude.com/docs/pt/model-config.md#adjust-effort-level) para cada modelo que você usa. Requer Claude Code v2.1.251 ou posterior.655Salve um [nível de esforço](https://code.claude.com/docs/pt/model-config.md#adjust-effort-level) para cada modelo que você usa. Requer Claude Code v2.1.251 ou posterior.

656 656 

657Em uma sessão interativa em sua máquina, quando você salva `low`, `medium`, `high` ou `xhigh` como seu padrão com `/effort` ou o controle deslizante de esforço do seletor `/model`, Claude Code escreve esse nível aqui sob o modelo que você está usando, então você raramente edita essa chave você mesmo. Quando você escolhe um desses níveis no [seletor de modelo da extensão VS Code](https://code.claude.com/docs/pt/vs-code.md#use-the-prompt-box), Claude Code salva-o aqui da mesma forma. A entrada [`effortLevel`](#effortlevel) lista as sessões onde `/effort` se aplica apenas a essa sessão.657Em uma sessão interativa na sua máquina, quando você salva `low`, `medium`, `high` ou `xhigh` como padrão com `/effort` ou com o controle deslizante de esforço do seletor `/model`, o Claude Code grava esse nível aqui sob o modelo que você está usando, então raramente você mesmo edita esta chave. Quando você escolhe um desses níveis no [seletor de modelos da extensão do VS Code](https://code.claude.com/docs/pt/vs-code.md#use-the-prompt-box), o Claude Code o salva aqui da mesma forma. A entrada [`effortLevel`](#effortlevel) lista as sessões em que `/effort` se aplica apenas àquela sessão.

658 658 

659Edite a chave manualmente para alterar ou remover um nível que você salvou.659Edite a chave manualmente para alterar ou remover um nível que você salvou.

660 660 

661Um `effortLevel` de um modelo aqui tem precedência sobre o [`effortLevel`](#effortlevel) de nível superior no mesmo arquivo de configurações. Entre arquivos, Claude Code resolve cada modelo separadamente: o arquivo de configurações de maior precedência [settings file](https://code.claude.com/docs/pt/settings.md#settings-precedence) que define um `effortLevel` para esse modelo ou o `effortLevel` de nível superior que [se aplica a esse modelo](#effortlevel) decide, então um `effortLevel` em configurações gerenciadas supera um nível que você salvou em configurações de usuário. [Ajuste o nível de esforço](https://code.claude.com/docs/pt/model-config.md#adjust-effort-level) lista o que mais pode substituir um nível salvo, como `--effort` no lançamento.661O `effortLevel` de um modelo aqui tem precedência sobre o [`effortLevel`](#effortlevel) de nível superior no mesmo arquivo de configurações. Entre arquivos, o Claude Code resolve cada modelo separadamente: decide o [arquivo de configurações](https://code.claude.com/docs/pt/settings.md#settings-precedence) de maior precedência que define um `effortLevel` para aquele modelo ou um `effortLevel` de nível superior que [se aplica àquele modelo](#effortlevel), então um `effortLevel` em configurações gerenciadas tem precedência sobre um nível que você salvou nas configurações de usuário. [Ajustar o nível de esforço](https://code.claude.com/docs/pt/model-config.md#adjust-effort-level) lista o que mais pode sobrescrever um nível salvo, como `--effort` na inicialização.

662 662 

663Para limitar o esforço de um modelo em vez de definir seu nível, adicione um campo [`maxEffortLevel`](#maxeffortlevel) à entrada desse modelo. O campo requer Claude Code v2.1.267 ou posterior.663Para limitar o esforço de um modelo em vez de definir seu nível, adicione um campo [`maxEffortLevel`](#maxeffortlevel) à entrada daquele modelo. O campo requer Claude Code v2.1.267 ou posterior.

664 664 

665* **Escopo**: [`Qualquer arquivo`](#scopes)665* **Escopo**: [`Any file`](#scopes)

666* **Tipo**: objeto mapeando um nome de modelo para um objeto com qualquer um destes campos:666* **Tipo**: objeto que mapeia um nome de modelo para um objeto com qualquer um destes campos:

667 * `effortLevel`: um de `"low"`, `"medium"`, `"high"` ou `"xhigh"`667 * `effortLevel`: um de `"low"`, `"medium"`, `"high"` ou `"xhigh"`

668 * [`maxEffortLevel`](#maxeffortlevel): o nível de esforço mais alto em que o modelo pode ser executado668 * [`maxEffortLevel`](#maxeffortlevel): o nível de esforço mais alto com que o modelo pode ser executado

669 * `autoCompactWindow`: um número de tokens de `100000` a `1000000`, ou `"auto"` para a janela ajustada para o modelo. [`/autocompact`](https://code.claude.com/docs/pt/model-config#set-the-auto-compact-window) salva aqui. Para esse modelo, o valor tem precedência sobre um [`autoCompactWindow`](#autocompactwindow) de nível superior no mesmo arquivo de configurações. Requer Claude Code v2.1.288 ou posterior669 * `autoCompactWindow`: um número de tokens de `100000` a `1000000`, ou `"auto"` para a janela ajustada para o modelo. [`/autocompact`](https://code.claude.com/docs/pt/model-config#set-the-auto-compact-window) salva aqui. Para aquele modelo, o valor tem precedência sobre um [`autoCompactWindow`](#autocompactwindow) de nível superior no mesmo arquivo de configurações. Requer Claude Code v2.1.288 ou posterior

670* **Padrão**: sem definir670* **Padrão**: não definido

671 671 

672Claude Code escreve cada entrada sob o nome canônico do modelo, como `claude-opus-5-5`, e corresponde ao alias desse modelo, com sufixo de data, `[1m]` e IDs específicos do provedor reconhecidos à mesma entrada.672O Claude Code grava cada entrada sob o nome canônico do modelo, como `claude-opus-5-5`, e associa à mesma entrada o alias desse modelo, os IDs com sufixo de data, `[1m]` e os IDs específicos de provedores reconhecidos.

673 673 

674Este exemplo mantém Opus 5.5 em `high` enquanto outros modelos usam seus próprios níveis salvos ou padrão:674Este exemplo mantém o Opus 5.5 em `high` enquanto os outros modelos usam seus próprios níveis salvos ou padrão:

675 675 

676```json settings.json theme={null}676```json settings.json theme={null}

677{677{


683}683}

684```684```

685 685 

686Execute `/effort auto` para limpar seu nível salvo para o modelo que você está usando. Claude Code deixa as outras entradas e qualquer `effortLevel` de nível superior em vigor.686Execute `/effort auto` para limpar o nível salvo para o modelo que você está usando. O Claude Code mantém as outras entradas e qualquer `effortLevel` de nível superior.

687 687 

688### `outputStyle`688### `outputStyle`

689 689 

690Selecione um [estilo de saída](https://code.claude.com/docs/pt/output-styles.md) por nome. Um estilo de saída é um conjunto salvo de instruções que muda o papel, tom e formato de saída de Claude, como os estilos Explanatory e Learning integrados ou um que você escreveu você mesmo.690Selecione um [estilo de saída](https://code.claude.com/docs/pt/output-styles.md) pelo nome. Um estilo de saída é um conjunto salvo de instruções que altera o papel, o tom e o formato de saída do Claude, como os estilos integrados Explanatory e Learning ou um que você mesmo escreveu.

691 691 

692Se você alterar essa chave durante uma sessão, Claude usa o novo estilo começando com sua próxima mensagem. Para o que essa mensagem custa em cache de prompt, consulte [Alterando estilo de saída](https://code.claude.com/docs/pt/prompt-caching.md#changing-output-style). Antes da v2.1.251, a edição se aplicava apenas depois que você executava `/clear` ou iniciava uma nova sessão.692Se você alterar esta chave durante uma sessão, o Claude usa o novo estilo a partir da sua próxima mensagem. Para saber quanto essa mensagem custa em cache de prompt, consulte [Alterar o estilo de saída](https://code.claude.com/docs/pt/prompt-caching.md#changing-output-style). Antes da v2.1.251, a alteração só se aplicava depois que você executava `/clear` ou iniciava uma nova sessão.

693 693 

694* **Escopo**: [`Qualquer arquivo`](#scopes)694* **Escopo**: [`Any file`](#scopes)

695* **Tipo**: string, o nome de um estilo de saída [integrado](https://code.claude.com/docs/pt/output-styles.md#built-in-output-styles) ou [personalizado](https://code.claude.com/docs/pt/output-styles.md#create-a-custom-output-style)695* **Tipo**: string, o nome de um estilo de saída [integrado](https://code.claude.com/docs/pt/output-styles.md#built-in-output-styles) ou [personalizado](https://code.claude.com/docs/pt/output-styles.md#create-a-custom-output-style)

696* **Padrão**: sem definir, então Claude Code usa o estilo padrão696* **Padrão**: não definido, então o Claude Code usa o estilo padrão

697 697 

698Este exemplo seleciona o estilo Explanatory integrado, que adiciona insights educacionais entre tarefas:698Este exemplo seleciona o estilo integrado Explanatory, que adiciona insights educacionais entre as tarefas:

699 699 

700```json settings.json theme={null}700```json settings.json theme={null}

701{701{


705 705 

706### `promptCacheTtl`706### `promptCacheTtl`

707 707 

708Escolha quanto tempo o [cache de prompt](https://code.claude.com/docs/pt/prompt-caching.md) mantém a conversa principal. Esta chave se aplica a suas voltas interativas, `-p` e Agent SDK, juntamente com os auxiliares que Claude Code executa inline com elas. A vida útil de uma hora mantém o cache aquecido entre pausas mais longas, e a API [cobra cada gravação de cache a uma taxa mais alta](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing) do que na vida útil de cinco minutos. Requer Claude Code v2.1.242 ou posterior.708Escolha por quanto tempo o [cache de prompt](https://code.claude.com/docs/pt/prompt-caching.md) mantém a conversa principal. Esta chave se aplica aos seus turnos interativos, `-p` e do Agent SDK, junto com os auxiliares que o Claude Code executa em linha com eles. A duração de uma hora mantém o cache aquecido durante pausas mais longas, e a API [cobra cada gravação de cache a uma tarifa mais alta](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing) do que na duração de cinco minutos. Requer Claude Code v2.1.242 ou posterior.

709 709 

710* **Escopo**: [`Qualquer arquivo`](#scopes)710* **Escopo**: [`Any file`](#scopes)

711* **Tipo**: string, um de:711* **Tipo**: string, um de:

712 * `"5m"`: o cache se mantém por cinco minutos712 * `"5m"`: o cache dura cinco minutos

713 * `"1h"`: o cache se mantém por uma hora713 * `"1h"`: o cache dura uma hora

714* **Padrão**: sem definir, então cada solicitação de conversa principal obtém [sua vida útil padrão](https://code.claude.com/docs/pt/prompt-caching.md#which-ttl-each-request-gets)714* **Padrão**: não definido, então cada requisição da conversa principal recebe [sua duração padrão](https://code.claude.com/docs/pt/prompt-caching.md#which-ttl-each-request-gets)

715* **Substituições por sessão**: [`FORCE_PROMPT_CACHING_5M`](https://code.claude.com/docs/pt/env-vars) tem precedência sobre tudo mais, depois [`CLAUDE_CODE_PROMPT_CACHE_TTL`](https://code.claude.com/docs/pt/env-vars), depois essa chave e por último [`ENABLE_PROMPT_CACHING_1H`](https://code.claude.com/docs/pt/env-vars)715* **Substituições por sessão**: [`FORCE_PROMPT_CACHING_5M`](https://code.claude.com/docs/pt/env-vars) tem precedência sobre todo o resto, depois [`CLAUDE_CODE_PROMPT_CACHE_TTL`](https://code.claude.com/docs/pt/env-vars), depois esta chave e, por último, [`ENABLE_PROMPT_CACHING_1H`](https://code.claude.com/docs/pt/env-vars)

716 716 

717Este exemplo mantém a conversa principal na vida útil de uma hora e deixa subagentes em cinco minutos:717Este exemplo mantém a conversa principal na duração de uma hora e deixa os subagentes em cinco minutos:

718 718 

719```json settings.json theme={null}719```json settings.json theme={null}

720{720{


723}723}

724```724```

725 725 

726Para o que cada vida útil custa, consulte [Vida útil do cache](https://code.claude.com/docs/pt/prompt-caching.md#cache-lifetime).726Para saber quanto custa cada duração, consulte [Duração do cache](https://code.claude.com/docs/pt/prompt-caching.md#cache-lifetime).

727 727 

728### `showThinkingSummaries`728### `showThinkingSummaries`

729 729 

730Veja resumos do [pensamento estendido](https://code.claude.com/docs/pt/model-config.md#extended-thinking) de Claude em sessões interativas. Defina-o se você quer os resumos completos quando expande o pensamento com `Ctrl+O`. Quando sem definir ou `false`, a API Anthropic redige blocos de pensamento e Claude Code mostra um stub recolhido.730Veja resumos do [pensamento estendido](https://code.claude.com/docs/pt/model-config.md#extended-thinking) do Claude em sessões interativas. Defina esta chave se quiser os resumos completos ao expandir o pensamento com `Ctrl+O`. Quando não definida ou `false`, a API da Anthropic oculta os blocos de pensamento e o Claude Code mostra um resumo recolhido.

731 731 

732* **Escopo**: [`Qualquer arquivo`](#scopes)732* **Escopo**: [`Any file`](#scopes)

733* **Tipo**: Boolean733* **Tipo**: Boolean

734 * `true`: você vê resumos completos de pensamento quando expande o pensamento com `Ctrl+O`734 * `true`: você vê os resumos completos de pensamento ao expandir o pensamento com `Ctrl+O`

735 * `false`: a API Anthropic redige blocos de pensamento e Claude Code mostra um stub recolhido735 * `false`: a API da Anthropic oculta os blocos de pensamento e o Claude Code mostra um resumo recolhido

736* **Padrão**: `false`736* **Padrão**: `false`

737 737 

738```json settings.json theme={null}738```json settings.json theme={null}


741}741}

742```742```

743 743 

744A redação muda apenas o que você vê, não o que o modelo gera. Para reduzir o gasto de pensamento, [reduza o orçamento ou desative o pensamento](https://code.claude.com/docs/pt/model-config.md#extended-thinking) em vez disso.744A ocultação altera apenas o que você vê, não o que o modelo gera. Para reduzir o gasto com pensamento, [reduza o orçamento ou desative o pensamento](https://code.claude.com/docs/pt/model-config.md#extended-thinking).

745 745 

746### `subagentPromptCacheTtl`746### `subagentPromptCacheTtl`

747 747 

748Escolha quanto tempo o [cache de prompt](https://code.claude.com/docs/pt/prompt-caching.md) mantém as solicitações que Claude Code faz fora da conversa principal. Esta chave se aplica a [subagentes](https://code.claude.com/docs/pt/sub-agents.md), [workflows](https://code.claude.com/docs/pt/workflows.md) e as próprias solicitações de background e auxiliar de Claude Code, como compactação e títulos de sessão. A vida útil de uma hora mantém o cache aquecido entre pausas mais longas, e a API [cobra cada gravação de cache a uma taxa mais alta](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing) do que na vida útil de cinco minutos. Requer Claude Code v2.1.242 ou posterior.748Escolha por quanto tempo o [cache de prompt](https://code.claude.com/docs/pt/prompt-caching.md) mantém as requisições que o Claude Code faz fora da conversa principal. Esta chave se aplica a [subagentes](https://code.claude.com/docs/pt/sub-agents.md), [fluxos de trabalho](https://code.claude.com/docs/pt/workflows.md) e às próprias requisições em segundo plano e auxiliares do Claude Code, como compactação e títulos de sessão. A duração de uma hora mantém o cache aquecido durante pausas mais longas, e a API [cobra cada gravação de cache a uma tarifa mais alta](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing) do que na duração de cinco minutos. Requer Claude Code v2.1.242 ou posterior.

749 749 

750* **Escopo**: [`Qualquer arquivo`](#scopes)750* **Escopo**: [`Any file`](#scopes)

751* **Tipo**: string, um de:751* **Tipo**: string, um de:

752 * `"5m"`: o cache se mantém por cinco minutos752 * `"5m"`: o cache dura cinco minutos

753 * `"1h"`: o cache se mantém por uma hora753 * `"1h"`: o cache dura uma hora

754* **Padrão**: sem definir, então cada uma dessas solicitações obtém [sua vida útil padrão](https://code.claude.com/docs/pt/prompt-caching.md#which-ttl-each-request-gets)754* **Padrão**: não definido, então cada uma dessas requisições recebe [sua duração padrão](https://code.claude.com/docs/pt/prompt-caching.md#which-ttl-each-request-gets)

755* **Substituições por sessão**: [`FORCE_PROMPT_CACHING_5M`](https://code.claude.com/docs/pt/env-vars) tem precedência sobre tudo mais, depois [`CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`](https://code.claude.com/docs/pt/env-vars), depois essa chave, depois [`ENABLE_PROMPT_CACHING_1H`](https://code.claude.com/docs/pt/env-vars), que pede a vida útil de uma hora em cada solicitação. Para onde o valor de frontmatter próprio de um subagente se classifica, consulte [Escolha o TTL você mesmo](https://code.claude.com/docs/pt/prompt-caching.md#choose-the-ttl-yourself)755* **Substituições por sessão**: [`FORCE_PROMPT_CACHING_5M`](https://code.claude.com/docs/pt/env-vars) tem precedência sobre todo o resto, depois [`CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`](https://code.claude.com/docs/pt/env-vars), depois esta chave, depois [`ENABLE_PROMPT_CACHING_1H`](https://code.claude.com/docs/pt/env-vars), que solicita a duração de uma hora em todas as requisições. Para saber onde se posiciona o valor no frontmatter do próprio subagente, consulte [Escolher o TTL você mesmo](https://code.claude.com/docs/pt/prompt-caching.md#choose-the-ttl-yourself)

756 756 

757Este exemplo dá aos subagentes e às outras solicitações fora da conversa principal a vida útil de uma hora:757Este exemplo dá aos subagentes e às outras requisições fora da conversa principal a duração de uma hora:

758 758 

759```json settings.json theme={null}759```json settings.json theme={null}

760{760{


762}762}

763```763```

764 764 

765Esta chave cobre as solicitações que [`promptCacheTtl`](#promptcachettl) não cobre, então defina ambas para escolher uma vida útil para cada solicitação que Claude Code faz. Para como o cache de um subagente difere do cache da conversa principal, consulte [Subagentes e o cache](https://code.claude.com/docs/pt/prompt-caching.md#subagents-and-the-cache).765Esta chave abrange as requisições que [`promptCacheTtl`](#promptcachettl) não abrange, então defina ambas para escolher uma duração para todas as requisições que o Claude Code faz. Para saber como o cache de um subagente difere do da conversa principal, consulte [Subagentes e o cache](https://code.claude.com/docs/pt/prompt-caching.md#subagents-and-the-cache).

766 766 

767### `switchModelsOnFlag`767### `switchModelsOnFlag`

768 768 

769Escolha o que acontece quando um [classificador de segurança sinaliza uma solicitação](https://code.claude.com/docs/pt/model-config.md#automatic-model-fallback): mude para o modelo de fallback e continue, ou pause para que você possa escolher entre mudar e editar o prompt.769Escolha o que acontece quando um [classificador de segurança sinaliza uma requisição](https://code.claude.com/docs/pt/model-config.md#automatic-model-fallback): mudar para o modelo de fallback e continuar, ou pausar para que você possa escolher entre mudar e editar o prompt.

770 770 

771* **Escopo**: [`Qualquer arquivo`](#scopes). Aparece em `/config` como **Switch models when a message is flagged**, com as opções **Switch automatically** e **Ask each time**.771* **Escopo**: [`Any file`](#scopes). Aparece em `/config` como **Switch models when a message is flagged**, com as opções **Switch automatically** e **Ask each time**.

772* **Tipo**: Boolean772* **Tipo**: Boolean

773 * `true`: Claude Code muda para o modelo de fallback e continua773 * `true`: o Claude Code muda para o modelo de fallback e continua

774 * `false`: em uma sessão interativa Claude Code pausa para que você possa escolher entre mudar e editar o prompt; onde nenhum diálogo pode mostrar, como uma execução `-p`, a solicitação sinalizada termina como um erro774 * `false`: em uma sessão interativa, o Claude Code pausa para que você possa escolher entre mudar e editar o prompt; onde nenhuma caixa de diálogo pode ser exibida, como em uma execução `-p`, a requisição sinalizada termina com um erro

775* **Padrão**: sem definir. Claude Code muda automaticamente, embora possa [perguntar primeiro](https://code.claude.com/docs/pt/model-config.md#ask-before-switching) em uma sessão interativa775* **Padrão**: não definido. O Claude Code muda automaticamente, embora possa [perguntar primeiro](https://code.claude.com/docs/pt/model-config.md#ask-before-switching) em uma sessão interativa

776 776 

777```json settings.json theme={null}777```json settings.json theme={null}

778{778{


780}780}

781```781```

782 782 

783Consulte [Pergunte antes de mudar](https://code.claude.com/docs/pt/model-config.md#ask-before-switching).783Consulte [Perguntar antes de mudar](https://code.claude.com/docs/pt/model-config.md#ask-before-switching).

784 784 

785### `ultracode`785### `ultracode`

786 786 

787Inicie sessões com [ultracode](https://code.claude.com/docs/pt/workflows.md#let-claude-decide-with-ultracode) ativado. Com ele ativado, Claude planeja um workflow para cada tarefa substancial em vez de esperar você pedir. Claude planeja workflows apenas quando [workflows dinâmicos](https://code.claude.com/docs/pt/workflows.md) estão habilitados para você e seu modelo suporta esforço `xhigh`. A chave não muda o nível de esforço da sessão: ultracode funciona em qualquer nível que a sessão usa. Claude Code lê essa chave mas nunca a escreve: `/effort ultracode` ativa ultracode apenas para a sessão atual.787Inicie sessões com o [ultracode](https://code.claude.com/docs/pt/workflows.md#let-claude-decide-with-ultracode) ativado. Com ele ativado, o Claude planeja um fluxo de trabalho para cada tarefa substancial em vez de esperar que você peça. O Claude planeja fluxos de trabalho apenas quando os [fluxos de trabalho dinâmicos](https://code.claude.com/docs/pt/workflows.md) estão habilitados para você e seu modelo suporta o esforço `xhigh`. A chave não altera o nível de esforço da sessão: o ultracode é executado no nível que a sessão usa. O Claude Code lê esta chave, mas nunca a grava: `/effort ultracode` ativa o ultracode apenas para a sessão atual.

788 788 

789* **Escopo**: [`Qualquer arquivo`](#scopes)789* **Escopo**: [`Any file`](#scopes)

790* **Tipo**: Boolean790* **Tipo**: Boolean

791 * `true`: sessões começam com ultracode ativado quando workflows dinâmicos estão habilitados para você e seu modelo suporta `xhigh`791 * `true`: as sessões começam com o ultracode ativado quando os fluxos de trabalho dinâmicos estão habilitados para você e seu modelo suporta `xhigh`

792 * `false`: sessões começam com ultracode desativado792 * `false`: as sessões começam com o ultracode desativado

793* **Padrão**: sem definir, então ultracode está desativado793* **Padrão**: não definido, então o ultracode fica desativado

794* **Substituições por sessão**: `/effort ultracode` ativa ultracode para uma sessão sem essa chave, e `/effort ultracode off` o desativa para uma sessão quando essa chave é `true`. A flag `--effort ultracode` também o ativa para uma sessão, em esforço `xhigh`794* **Substituições por sessão**: `/effort ultracode` ativa o ultracode para uma sessão sem esta chave, e `/effort ultracode off` o desativa para uma sessão quando esta chave é `true`. A flag `--effort ultracode` também o ativa para uma sessão, com esforço `xhigh`

795 795 

796```json settings.json theme={null}796```json settings.json theme={null}

797{797{


799}799}

800```800```

801 801 

802O nível de esforço da sessão vem de [`effortLevel`](#effortlevel), [`modelSettings`](#modelsettings) e as outras [fontes de esforço](https://code.claude.com/docs/pt/model-config.md#adjust-effort-level), e um [limite de esforço](https://code.claude.com/docs/pt/model-config.md#organization-effort-limits) como [`maxEffortLevel`](#maxeffortlevel) reduz esse nível sem desativar ultracode. Isso e a forma `/effort ultracode off` requerem Claude Code v2.1.284 ou posterior. Antes da v2.1.284, `ultracode: true` executava a sessão em esforço `xhigh`, e um limite de esforço abaixo de `xhigh` mantinha ultracode desativado. Uma solicitação de controle `apply_flag_settings` do Agent SDK também aceita a chave.802O nível de esforço da sessão vem de [`effortLevel`](#effortlevel), [`modelSettings`](#modelsettings) e das outras [fontes de esforço](https://code.claude.com/docs/pt/model-config.md#adjust-effort-level), e um [limite de esforço](https://code.claude.com/docs/pt/model-config.md#organization-effort-limits) como [`maxEffortLevel`](#maxeffortlevel) reduz esse nível sem desativar o ultracode. Isso e a forma `/effort ultracode off` requerem Claude Code v2.1.284 ou posterior. Antes da v2.1.284, `ultracode: true` executava a sessão com esforço `xhigh`, e um limite de esforço abaixo de `xhigh` mantinha o ultracode desativado. Uma requisição de controle `apply_flag_settings` do Agent SDK também aceita a chave.

803 803 

804## Configurações de permissão804## Configurações de permissão

805 805 


2424 2424 

2425A compactação em ociosidade fica ativada por padrão para conversas que atendem a todas estas condições:2425A compactação em ociosidade fica ativada por padrão para conversas que atendem a todas estas condições:

2426 2426 

2427* **Sessão**: você está em uma sessão interativa no terminal, ou no painel de chat da extensão do VS Code ou na aba Code do aplicativo desktop em uma [conta selecionada pela Anthropic](#idle-compaction-in-vs-code-and-the-desktop-app)2427* **Sessão**: você está em uma sessão interativa no terminal, no painel de chat da extensão do VS Code ou na aba Code do aplicativo desktop quando a sessão é executada na sua máquina ou via SSH

2428* **Compactação automática**: [`autoCompactEnabled`](#autocompactenabled) está ativada2428* **Compactação automática**: [`autoCompactEnabled`](#autocompactenabled) está ativada

2429* **Cache de prompt**: a conversa está no [TTL de cache de prompt de uma hora](https://code.claude.com/docs/pt/prompt-caching.md#which-ttl-each-request-gets)2429* **Cache de prompt**: a conversa está no [TTL de cache de prompt de uma hora](https://code.claude.com/docs/pt/prompt-caching.md#which-ttl-each-request-gets)

2430* **Feature flags**: o Claude Code consegue [buscar feature flags da Anthropic](https://code.claude.com/docs/pt/env-vars.md#features-that-need-feature-flag-fetching)2430* **Feature flags**: o Claude Code consegue [buscar feature flags da Anthropic](https://code.claude.com/docs/pt/env-vars.md#features-that-need-feature-flag-fetching)

2431* **Tamanho**: o contexto da conversa atingiu o limite de tokens, que você pode [alterar](#change-the-idle-compaction-threshold) a partir do padrão de 200.0002431* **Tamanho**: o contexto da conversa atingiu o limite de tokens, que você pode [alterar](#change-the-idle-compaction-threshold) a partir do padrão de 200.000

2432* **Tempo ocioso**: passaram-se cerca de 54 minutos desde a última requisição, e seu computador está ativo nesse momento2432* **Tempo ocioso**: passou-se cerca de uma hora desde a última requisição, e seu computador permanece ativo até lá

2433 2433 

2434Para desativar a compactação em ociosidade, defina esta chave como `false`.2434Para desativar a compactação em ociosidade, defina esta chave como `false`.

2435 2435 


2475Compacted using a summary written while you were away · turn off with "idleCompaction": false in settings.json2475Compacted using a summary written while you were away · turn off with "idleCompaction": false in settings.json

2476```2476```

2477 2477 

2478Você não precisa fazer nada. Para desativar a compactação em ociosidade, defina `idleCompaction` como `false` em `~/.claude/settings.json` ou em outro [arquivo de configurações](https://code.claude.com/docs/pt/settings.md#settings-files-and-who-they-affect).2478Você não precisa fazer nada. Para desativar a compactação em ociosidade, defina `idleCompaction` como `false` em `~/.claude/settings.json` na máquina ou na distribuição WSL onde a sessão é executada, ou em outro [arquivo de configurações](https://code.claude.com/docs/pt/settings.md#settings-files-and-who-they-affect).

2479 

2480No painel de chat da extensão do VS Code e na aba Code do aplicativo desktop, a compactação em ociosidade é executada para contas selecionadas pela Anthropic. O Claude Code escreve o resumo enquanto você está ausente e só compacta com ele se sua próxima mensagem chegar uma hora ou mais depois da última requisição.

2481 2479 

2482### `plansDirectory`2480### `plansDirectory`

2483 2481 


5173 5171 

5174### `forceLoginMethod`5172### `forceLoginMethod`

5175 5173 

5176Restrinja qual tipo de conta as pessoas podem usar para fazer login. Defina `"claudeai"` para permitir apenas contas claude.ai, `"console"` para permitir apenas contas Claude Console, ou `"gateway"` para enviar as pessoas para um [gateway na nuvem](https://code.claude.com/docs/pt/claude-apps-gateway) em vez de um login de primeira parte. Os administradores o definem em configurações gerenciadas e o emparelham com [`forceLoginOrgUUID`](#forceloginorguuid) para manter os logins claude.ai dos desenvolvedores dentro de uma organização. Se você o definir como `"claudeai"` ou `"console"` em qualquer arquivo de configurações, Claude Code também para de oferecer o [login Console sem chave](https://code.claude.com/docs/pt/authentication.md#sign-in-without-an-api-key) nas sessões às quais esse arquivo se aplica.5174Restrinja qual tipo de conta as pessoas podem usar para fazer login. Defina `"claudeai"` para permitir apenas contas claude.ai, `"console"` para permitir apenas contas Claude Console, ou `"gateway"` para enviar as pessoas para um [gateway na nuvem](https://code.claude.com/docs/pt/claude-apps-gateway) em vez de um login de primeira parte. Os administradores o definem em configurações gerenciadas e o emparelham com [`forceLoginOrgUUID`](#forceloginorguuid) para manter os logins claude.ai dos desenvolvedores dentro de uma organização.

5175 

5176Se você o definir como `"claudeai"` em qualquer arquivo de configurações, Claude Code também para de oferecer o [login Console sem chave](https://code.claude.com/docs/pt/authentication.md#sign-in-without-an-api-key) nas sessões às quais esse arquivo se aplica. Apenas com `"console"`, as pessoas ainda podem chegar ao login sem chave após uma falha de login. Para que Claude Code pare de oferecê-lo, veja [Parar de oferecer o login sem chave em máquinas gerenciadas](https://code.claude.com/docs/pt/authentication.md#stop-offering-the-keyless-sign-in-on-managed-machines), que também lista o que mais `forceLoginOrgUUID` altera.

5177 5177 

5178* **Escopo**: [`Qualquer arquivo`](#scopes). Claude Code honra `"gateway"` das mesmas fontes que [`forceLoginGatewayUrl`](#forcelogingatewayurl) e o trata como não definido em todos os outros lugares.5178* **Escopo**: [`Qualquer arquivo`](#scopes). Claude Code honra `"gateway"` das mesmas fontes que [`forceLoginGatewayUrl`](#forcelogingatewayurl) e o trata como não definido em todos os outros lugares.

5179* **Tipo**: string, um de:5179* **Tipo**: string, um de:


5585| Listas de restrição | Pega a lista inteira da fonte mais alta que a define, sem adicionar entradas de fontes inferiores. Quando a fonte mais alta não define uma, pega inteira da próxima fonte abaixo | [`availableModels`](#availablemodels), [`allowedMcpServers`](#allowedmcpservers), [`allowedProviders`](#allowedproviders), [`strictKnownMarketplaces`](#strictknownmarketplaces), [`allowedChannelPlugins`](#allowedchannelplugins) e a cadeia [`fallbackModel`](#fallbackmodel) |5585| Listas de restrição | Pega a lista inteira da fonte mais alta que a define, sem adicionar entradas de fontes inferiores. Quando a fonte mais alta não define uma, pega inteira da próxima fonte abaixo | [`availableModels`](#availablemodels), [`allowedMcpServers`](#allowedmcpservers), [`allowedProviders`](#allowedproviders), [`strictKnownMarketplaces`](#strictknownmarketplaces), [`allowedChannelPlugins`](#allowedchannelplugins) e a cadeia [`fallbackModel`](#fallbackmodel) |

5586| Valores tomados inteiros | Pega o valor inteiro da fonte mais alta que o define, sem combinar entradas ou campos de fontes inferiores. Quando a fonte mais alta não o define, pega inteiro da próxima fonte abaixo | [`sandbox.credentials.awsPairs`](#sandbox-credentials-awspairs), [`sandbox.ripgrep`](#sandbox-ripgrep) |5586| Valores tomados inteiros | Pega o valor inteiro da fonte mais alta que o define, sem combinar entradas ou campos de fontes inferiores. Quando a fonte mais alta não o define, pega inteiro da próxima fonte abaixo | [`sandbox.credentials.awsPairs`](#sandbox-credentials-awspairs), [`sandbox.ripgrep`](#sandbox-ripgrep) |

5587| Servidores MCP fornecidos | Combina os nomes de servidor de todas as fontes. Quando duas fontes definem o mesmo nome, aplica a entrada inteira da fonte mais alta | [`managedMcpServers`](#managedmcpservers) |5587| Servidores MCP fornecidos | Combina os nomes de servidor de todas as fontes. Quando duas fontes definem o mesmo nome, aplica a entrada inteira da fonte mais alta | [`managedMcpServers`](#managedmcpservers) |

5588| Lê apenas da fonte de prioridade mais alta | Lê a chave apenas da fonte de prioridade mais alta que carrega uma chave de política, então o valor de uma fonte inferior é ignorado mesmo quando a fonte mais alta não define nenhum | [`apiKeyHelper`](#apikeyhelper), [`awsAuthRefresh`](#awsauthrefresh), [`awsCredentialExport`](#awscredentialexport), [`gcpAuthRefresh`](#gcpauthrefresh), [`otelHeadersHelper`](#otelheadershelper), `proxyAuthHelper`, [`forceLoginOrgUUID`](#forceloginorguuid), os valores `"claudeai"` e `"console"` de [`forceLoginMethod`](#forceloginmethod), [`parentSettingsBehavior`](#parentsettingsbehavior), [`modelPicker`](#modelpicker), [`policyHelper`](#policyhelper), [`permissions.defaultMode`](#permissions-defaultmode) |5588| Lê apenas da fonte de prioridade mais alta | Lê a chave apenas da fonte de prioridade mais alta que carrega uma chave de política, então o valor de uma fonte inferior é ignorado mesmo quando a fonte mais alta não define nenhum | [`apiKeyHelper`](#apikeyhelper), [`awsAuthRefresh`](#awsauthrefresh), [`awsCredentialExport`](#awscredentialexport), [`gcpAuthRefresh`](#gcpauthrefresh), [`otelHeadersHelper`](#otelheadershelper), `proxyAuthHelper`, [`parentSettingsBehavior`](#parentsettingsbehavior), [`modelPicker`](#modelpicker), [`policyHelper`](#policyhelper), [`permissions.defaultMode`](#permissions-defaultmode) |

5589| `env` | [Mescla por variável em fontes de administrador](https://code.claude.com/docs/pt/managed-settings.md#keys-read-from-every-admin-source), sob ambos `"first-wins"` e `"merge"` | [`env`](#env) |5589| `env` | [Mescla por variável em fontes de administrador](https://code.claude.com/docs/pt/managed-settings.md#keys-read-from-every-admin-source), sob ambos `"first-wins"` e `"merge"` | [`env`](#env) |

5590| Todas as outras chaves | Pega o valor da fonte mais alta que o define | [`cleanupPeriodDays`](#cleanupperioddays), [`model`](#model) |5590| Todas as outras chaves | Pega o valor da fonte mais alta que o define | [`cleanupPeriodDays`](#cleanupperioddays), [`model`](#model) |

5591 5591 


5596* **[`policyHelper`](#policyhelper)**: Claude Code a honra apenas quando a fonte mais alta que carrega uma chave de política é uma política MDM ou um arquivo de configurações gerenciadas, então sob configurações gerenciadas pelo servidor ela não se aplica.5596* **[`policyHelper`](#policyhelper)**: Claude Code a honra apenas quando a fonte mais alta que carrega uma chave de política é uma política MDM ou um arquivo de configurações gerenciadas, então sob configurações gerenciadas pelo servidor ela não se aplica.

5597* **[`modelOverrides`](#modeloverrides)**: emparelha com `availableModels`. Claude Code pega `modelOverrides` da fonte mais alta que a define, a menos que uma fonte mais alta defina `availableModels` sem `modelOverrides`. Nesse caso, ele ignora `modelOverrides` de todas as fontes.5597* **[`modelOverrides`](#modeloverrides)**: emparelha com `availableModels`. Claude Code pega `modelOverrides` da fonte mais alta que a define, a menos que uma fonte mais alta defina `availableModels` sem `modelOverrides`. Nesse caso, ele ignora `modelOverrides` de todas as fontes.

5598* **[`forceLoginGatewayUrl`](#forcelogingatewayurl), [`gatewayInternalNetworks`](#gatewayinternalnetworks) e o valor `"gateway"` de [`forceLoginMethod`](#forceloginmethod)**: Claude Code nunca lê nenhum deles de configurações gerenciadas pelo servidor, então um valor lá não se aplica nem oculta um definido em uma política MDM ou arquivo de configurações gerenciadas. Entre as fontes de administrador na máquina, apenas a fonte classificada mais alta que carrega uma chave de política as fornece, independentemente de configurações gerenciadas pelo servidor também estarem presentes.5598* **[`forceLoginGatewayUrl`](#forcelogingatewayurl), [`gatewayInternalNetworks`](#gatewayinternalnetworks) e o valor `"gateway"` de [`forceLoginMethod`](#forceloginmethod)**: Claude Code nunca lê nenhum deles de configurações gerenciadas pelo servidor, então um valor lá não se aplica nem oculta um definido em uma política MDM ou arquivo de configurações gerenciadas. Entre as fontes de administrador na máquina, apenas a fonte classificada mais alta que carrega uma chave de política as fornece, independentemente de configurações gerenciadas pelo servidor também estarem presentes.

5599* **[`forceLoginOrgUUID`](#forceloginorguuid) e os valores `"claudeai"` e `"console"` de [`forceLoginMethod`](#forceloginmethod)**: consulte qual valor se aplica em [Qual fonte gerenciada fornece as chaves de login](https://code.claude.com/docs/pt/managed-settings.md#which-managed-source-supplies-login-keys) em vez de na tabela.

5599* **[`allowedProviders`](#allowedproviders)**: após a regra da tabela, a lista da própria máquina ainda limita o resultado, conforme a nota de Escopo da entrada afirma.5600* **[`allowedProviders`](#allowedproviders)**: após a regra da tabela, a lista da própria máquina ainda limita o resultado, conforme a nota de Escopo da entrada afirma.

5600 5601 

5601Para confirmar quais fontes se combinaram em uma máquina, execute `/status` e [leia a linha `Setting sources`](https://code.claude.com/docs/pt/managed-settings#read-the-source-in-/status).5602Para confirmar quais fontes se combinaram em uma máquina, execute `/status` e [leia a linha `Setting sources`](https://code.claude.com/docs/pt/managed-settings#read-the-source-in-/status).

skills.md +10 −3

Details

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

396| :- | :- | :- |396| :- | :- | :- |

397| `name` | Não | Nome do comando exibido no menu `/`. O padrão é o nome do diretório. Consulte [Como uma skill obtém seu nome de comando](#how-a-skill-gets-its-command-name) para saber como o campo interage com o nome que você digita para invocar a skill. |397| `name` | Não | Nome do comando exibido no menu `/`. O padrão é o nome do diretório. Consulte [Como uma skill obtém seu nome de comando](#how-a-skill-gets-its-command-name) para saber como o campo interage com o nome que você digita para invocar a skill. |

398| `description` | Recomendado | O que a skill faz e quando usá-la. Claude usa isso para decidir quando aplicar a skill. Se omitido, usa a primeira linha não vazia do conteúdo markdown. Coloque o caso de uso principal primeiro: o texto combinado de `description` e `when_to_use` é truncado em 1.536 caracteres na listagem de skills para reduzir o uso de contexto. |398| `description` | Recomendado | O que a skill faz e quando usá-la. Claude usa isso para decidir quando aplicar a skill. Se omitido, usa a primeira linha não vazia do conteúdo markdown. Coloque o caso de uso principal primeiro: o texto combinado de `description` e `when_to_use` é truncado em 1.536 caracteres na listagem de skills para reduzir o uso de contexto. Os sinais de menor e maior no texto [são exibidos como `&lt;` e `&gt;`](#angle-brackets-in-a-skill-description). |

399| `when_to_use` | Não | Contexto adicional sobre quando Claude deve invocar a skill, como frases de acionamento ou exemplos de solicitações. É anexado a `description` na listagem de skills e conta para o limite de 1.536 caracteres. |399| `when_to_use` | Não | Contexto adicional sobre quando Claude deve invocar a skill, como frases de acionamento ou exemplos de solicitações. É anexado a `description` na listagem de skills e conta para o limite de 1.536 caracteres. |

400| `argument-hint` | Não | Dica exibida durante o preenchimento automático para indicar os argumentos esperados. Exemplo: `[issue-number]` ou `[filename] [format]`. |400| `argument-hint` | Não | Dica exibida durante o preenchimento automático para indicar os argumentos esperados. Exemplo: `[issue-number]` ou `[filename] [format]`. |

401| `arguments` | Não | Argumentos posicionais nomeados para [substituição de `$name`](#available-string-substitutions) no conteúdo da skill. Aceita uma string separada por espaços ou uma lista YAML. Os nomes são mapeados para as posições dos argumentos em ordem. |401| `arguments` | Não | Argumentos posicionais nomeados para [substituição de `$name`](#available-string-substitutions) no conteúdo da skill. Aceita uma string separada por espaços ou uma lista YAML. Os nomes são mapeados para as posições dos argumentos em ordem. |


778 778 

779Com o shell `bash` padrão, acrescente `|| true` a qualquer outro comando que você espera que saia com código diferente de zero. Um script de verificação que sai com 1 quando encontra problemas é um exemplo.779Com o shell `bash` padrão, acrescente `|| true` a qualquer outro comando que você espera que saia com código diferente de zero. Um script de verificação que sai com 1 quando encontra problemas é um exemplo.

780 780 

781#### Caracteres de controle em comandos injetados781#### Quando nenhum comando de shell foi executado

782 782 

783`No shell command in <name> was run` significa que um dos comandos `!` do arquivo contém um caractere de controle bruto diferente de tabulação ou nova linha, então nenhum deles é executado. Consulte [como encontrar e remover o caractere](https://code.claude.com/docs/pt/errors.md#no-shell-command-was-run).783`No shell command in <name> was run` significa que um dos seus comandos de shell contém um caractere que a ferramenta não aceita. Para encontrar e remover o caractere, consulte a [referência de erros](https://code.claude.com/docs/pt/errors.md#no-shell-command-was-run).

784 784 

785#### Verificações de permissão em comandos injetados785#### Verificações de permissão em comandos injetados

786 786 


1229 1229 

1230Para aumentar o orçamento, defina a configuração [`skillListingBudgetFraction`](https://code.claude.com/docs/pt/settings-reference#skilllistingbudgetfraction) (por exemplo, `0.02` = 2%) ou a variável de ambiente `SLASH_COMMAND_TOOL_CHAR_BUDGET` para uma contagem de caracteres fixa. Para liberar orçamento para outras skills, defina entradas de baixa prioridade como `"name-only"` em [`skillOverrides`](#override-skill-visibility-from-settings) para que elas apareçam na listagem sem uma descrição. Você também pode aparar o texto `description` e `when_to_use` na fonte: coloque o caso de uso principal primeiro, já que o texto combinado de cada entrada é limitado a 1.536 caracteres independentemente do orçamento. O limite é configurável com [`skillListingMaxDescChars`](https://code.claude.com/docs/pt/settings-reference#skilllistingmaxdescchars).1230Para aumentar o orçamento, defina a configuração [`skillListingBudgetFraction`](https://code.claude.com/docs/pt/settings-reference#skilllistingbudgetfraction) (por exemplo, `0.02` = 2%) ou a variável de ambiente `SLASH_COMMAND_TOOL_CHAR_BUDGET` para uma contagem de caracteres fixa. Para liberar orçamento para outras skills, defina entradas de baixa prioridade como `"name-only"` em [`skillOverrides`](#override-skill-visibility-from-settings) para que elas apareçam na listagem sem uma descrição. Você também pode aparar o texto `description` e `when_to_use` na fonte: coloque o caso de uso principal primeiro, já que o texto combinado de cada entrada é limitado a 1.536 caracteres independentemente do orçamento. O limite é configurável com [`skillListingMaxDescChars`](https://code.claude.com/docs/pt/settings-reference#skilllistingmaxdescchars).

1231 1231 

1232### Sinais de menor e maior em uma descrição de skill aparecem como `&lt;` e `&gt;`

1233 

1234Claude Code exibe `<` e `>` nos campos `description` e `when_to_use` como `&lt;` e `&gt;`. Para mostrar um placeholder como `<branch>`, use colchetes ou [`argument-hint`](#frontmatter-reference):

1235 

1236* **Colchetes**: substitua `<branch>` por `[branch]`, que é exibido como digitado

1237* **`argument-hint`**: mova o placeholder para uma nova linha `argument-hint: <branch>`. Ele aparece após o nome do comando. Se você também fizer upload da skill para claude.ai ou para a Skills API, [verifique primeiro se `argument-hint` é aceito lá](#using-skill-frontmatter-outside-claude-code).

1238 

1232### Personal skills desapareceram1239### Personal skills desapareceram

1233 1240 

1234Se as pastas de skills que você criou em `~/.claude/skills/` desapareceram, procure em `~/.claude/skills/.trash/`. Quando Claude Code [sincroniza skills do claude.ai](#how-synced-skills-behave), ele as baixa na subpasta separada `synced` e não move ou deleta as pastas que você cria.1241Se as pastas de skills que você criou em `~/.claude/skills/` desapareceram, procure em `~/.claude/skills/.trash/`. Quando Claude Code [sincroniza skills do claude.ai](#how-synced-skills-behave), ele as baixa na subpasta separada `synced` e não move ou deleta as pastas que você cria.

sub-agents.md +1 −1

Details

938 938 

939Para continuar trabalhando enquanto Claude aguarda, pressione **Ctrl+B** no terminal ou clique em [**Run in background**](https://code.claude.com/docs/pt/vs-code.md#move-a-running-command-or-subagent-to-the-background) no VS Code.939Para continuar trabalhando enquanto Claude aguarda, pressione **Ctrl+B** no terminal ou clique em [**Run in background**](https://code.claude.com/docs/pt/vs-code.md#move-a-running-command-or-subagent-to-the-background) no VS Code.

940 940 

941Se você definir a variável de ambiente [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](https://code.claude.com/docs/pt/env-vars) como `1` em vez de desativar o modo fork, Claude aguarda todos os subagentes. Os comandos em segundo plano também ficam desativados, e **Ctrl+B** não move nada para o segundo plano.941Se você definir a variável de ambiente [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](https://code.claude.com/docs/pt/env-vars) como `1` em vez de desativar o modo fork, Claude aguarda os subagentes terminarem antes de continuar. Os comandos em segundo plano também ficam desativados, e **Ctrl+B** não move nada para o segundo plano.

942 942 

943#### Ferramentas, permissões e resultados de subagentes em segundo plano943#### Ferramentas, permissões e resultados de subagentes em segundo plano

944 944 

terminal-config.md +56 −56

Details

144 144 

145Se cada pressão de Backspace deleta uma palavra inteira, seu terminal envia `^H` para Backspace simples. Defina [`CLAUDE_CODE_BS_AS_CTRL_BACKSPACE=0`](https://code.claude.com/docs/pt/env-vars). Backspace e Ctrl+H então apagam um caractere cada. Se Ctrl+Backspace apaga apenas um caractere no macOS ou Linux porque seu terminal envia `^H` para ele, defina a variável para `1` em vez disso.145Se cada pressão de Backspace deleta uma palavra inteira, seu terminal envia `^H` para Backspace simples. Defina [`CLAUDE_CODE_BS_AS_CTRL_BACKSPACE=0`](https://code.claude.com/docs/pt/env-vars). Backspace e Ctrl+H então apagam um caractere cada. Se Ctrl+Backspace apaga apenas um caractere no macOS ou Linux porque seu terminal envia `^H` para ele, defina a variável para `1` em vez disso.

146 146 

147## Corresponder ao tema de cores147## Combinar o tema de cores

148 148 

149Use o comando `/theme`, ou o seletor de tema em `/config`, para escolher um tema Claude Code que corresponda ao seu terminal. Selecionar a opção automática detecta o fundo claro ou escuro do seu terminal, para que o tema siga as mudanças de aparência do SO sempre que seu terminal fizer. Claude Code não controla o esquema de cores do próprio terminal, que é definido pela aplicação do terminal.149Use o comando `/theme`, ou o seletor de temas em `/config`, para escolher um tema do Claude Code que combine com o seu terminal. Selecionar a opção automática detecta o fundo claro ou escuro do seu terminal, de modo que o tema acompanha as mudanças de aparência do sistema operacional sempre que o seu terminal as acompanhar. O Claude Code não controla o esquema de cores do próprio terminal, que é definido pelo aplicativo de terminal.

150 150 

151Para personalizar o que aparece na parte inferior da interface, configure uma [linha de status personalizada](https://code.claude.com/docs/pt/statusline.md) que mostra o modelo atual, diretório de trabalho, branch do git ou outro contexto.151Para personalizar o que aparece na parte inferior da interface, configure uma [linha de status personalizada](https://code.claude.com/docs/pt/statusline.md) que mostre o modelo atual, o diretório de trabalho, o branch do git ou outro contexto.

152 152 

153### Criar um tema personalizado153### Criar um tema personalizado

154 154 

155Além dos presets integrados, `/theme` lista todos os temas personalizados que você definiu e quaisquer temas contribuídos pelos [plugins](https://code.claude.com/docs/pt/plugins/components.md#themes-and-output-styles) instalados. Selecione **Novo tema personalizado…** no final da lista para criar um interativamente: você nomeia o tema e depois escolhe tokens de cores individuais para substituir. Pressione `Ctrl+E` enquanto um tema personalizado está destacado para editá-lo.155Além das predefinições integradas, `/theme` lista todos os temas personalizados que você definiu e todos os temas fornecidos por [plugins](https://code.claude.com/docs/pt/plugins/components.md#themes-and-output-styles) instalados. Selecione **New custom theme…** no final da lista para criar um de forma interativa: você dá um nome ao tema e, em seguida, escolhe tokens de cor individuais para sobrescrever. Pressione `Ctrl+E` enquanto um tema personalizado estiver destacado para editá-lo.

156 156 

157Cada tema personalizado é um arquivo JSON em `~/.claude/themes/`. O nome do arquivo sem a extensão `.json` é o slug do tema, e selecionar o tema armazena `custom:<slug>` como sua preferência de tema. O arquivo tem três campos opcionais:157Cada tema personalizado é um arquivo JSON em `~/.claude/themes/`. O nome do arquivo sem a extensão `.json` é o slug do tema, e selecionar o tema armazena `custom:<slug>` como sua preferência de tema. O arquivo tem três campos opcionais:

158 158 

159| Campo | Tipo | Descrição |159| Campo | Tipo | Descrição |

160| :- | :- | :- |160| :- | :- | :- |

161| `name` | string | Rótulo de exibição mostrado em `/theme`. Padrão é o slug do nome do arquivo |161| `name` | string | Rótulo exibido em `/theme`. O padrão é o slug do nome do arquivo |

162| `base` | string | Preset integrado do qual o tema começa: `dark`, `light`, `dark-daltonized`, `light-daltonized`, `dark-ansi`, ou `light-ansi`. Padrão é `dark` |162| `base` | string | Predefinição integrada a partir da qual o tema começa: `dark`, `light`, `dark-daltonized`, `light-daltonized`, `dark-ansi` ou `light-ansi`. O padrão é `dark` |

163| `overrides` | object | Mapa de nomes de tokens de cores para valores de cores. Tokens não listados aqui caem através do preset base |163| `overrides` | object | Mapa de nomes de tokens de cor para valores de cor. Os tokens não listados aqui recorrem à predefinição base |

164 164 

165Valores de cores aceitam `#rrggbb`, `#rgb`, `rgb(r,g,b)`, `ansi256(n)`, ou `ansi:<name>` onde `<name>` é um dos 16 nomes de cores ANSI padrão, como `red` ou `cyanBright`. Tokens desconhecidos e valores de cores inválidos são ignorados, portanto um erro de digitação não pode quebrar a renderização.165Os valores de cor aceitam `#rrggbb`, `#rgb`, `rgb(r,g,b)`, `ansi256(n)` ou `ansi:<name>`, onde `<name>` é um dos 16 nomes de cores ANSI padrão, como `red` ou `cyanBright`. Tokens desconhecidos e valores de cor inválidos são ignorados, portanto um erro de digitação não pode quebrar a renderização.

166 166 

167O exemplo a seguir define um tema que mantém o preset escuro, mas recolore o acento do prompt, o texto de erro e o texto de sucesso:167O exemplo a seguir define um tema que mantém a predefinição dark, mas muda a cor do destaque do prompt, do texto de erro e do texto de sucesso:

168 168 

169```json ~/.claude/themes/dracula.json theme={null}169```json ~/.claude/themes/dracula.json theme={null}

170{170{


178}178}

179```179```

180 180 

181Claude Code observa `~/.claude/themes/` e recarrega quando um arquivo é adicionado ou alterado, portanto as edições feitas no seu editor se aplicam a uma sessão em execução sem uma reinicialização. Se a pasta `~/.claude/themes/` em si não existisse quando Claude Code foi iniciado, reinicie uma vez após criar seu primeiro arquivo de tema. Depois disso, as mudanças se aplicam sem uma reinicialização.181O Claude Code monitora `~/.claude/themes/` e recarrega quando um arquivo é adicionado ou alterado, de modo que as edições feitas no seu editor se aplicam a uma sessão em execução sem reinicialização. Se a pasta `~/.claude/themes/` em si não existia quando o Claude Code foi iniciado, reinicie uma vez depois de criar seu primeiro arquivo de tema. Depois disso, as alterações se aplicam sem reinicialização.

182 182 

183A referência abaixo cobre os tokens que você pode definir em `overrides`. O editor interativo em `/theme` mostra os mesmos tokens com uma visualização ao vivo, além de alguns acentos de propósito único, como cores de tela de integração, que são omitidas aqui.183A referência abaixo aborda os tokens que você pode definir em `overrides`. O editor interativo em `/theme` mostra os mesmos tokens com uma pré-visualização ao vivo, além de alguns destaques de propósito único, como as cores da tela de integração, que são omitidos aqui.

184 184 

185> **Referência de token de cor**185> **Referência de tokens de cor**

186>186>

187> O exemplo a seguir combina tokens de vários dos grupos abaixo: o acento da marca, a borda do modo de plano, os fundos de diff e o fundo da mensagem.187> O exemplo a seguir combina tokens de vários dos grupos abaixo: o destaque da marca, a borda do modo de planejamento, os fundos do diff e o fundo das mensagens.

188>188>

189> ```json ~/.claude/themes/midnight.json theme={null}189> ```json ~/.claude/themes/midnight.json theme={null}

190> {190> {


200> }200> }

201> ```201> ```

202>202>

203> #### Cores de texto e acento203> #### Cores de texto e de destaque

204>204>

205> Controle o acento da marca primária e as tonalidades de texto em primeiro plano usadas em toda a interface.205> Controlam o destaque principal da marca e os tons de texto em primeiro plano usados em toda a interface.

206>206>

207> | Token | Controla |207> | Token | Controla |

208> | :- | :- |208> | :- | :- |

209> | `claude` | Acento da marca primária, usado para o spinner e rótulo do assistente |209> | `claude` | Destaque principal da marca, usado no spinner e no rótulo do assistente |

210> | `text` | Texto em primeiro plano padrão |210> | `text` | Texto padrão em primeiro plano |

211> | `inverseText` | Texto desenhado sobre um fundo colorido, como badges de status |211> | `inverseText` | Texto desenhado sobre um fundo colorido, como selos de status |

212> | `inactive` | Texto secundário, como dicas, timestamps e itens desabilitados |212> | `inactive` | Texto secundário, como dicas, carimbos de data/hora e itens desativados |

213> | `subtle` | Bordas fracas e texto secundário de-enfatizado |213> | `subtle` | Bordas tênues e texto secundário menos enfatizado |

214> | `suggestion` | Sugestões de preenchimento automático e destaque de seleção em seletores |214> | `suggestion` | Sugestões de preenchimento automático e destaque de seleção nos seletores |

215> | `permission` | Bordas de diálogo, incluindo prompts de permissão e seletores |215> | `permission` | Bordas de diálogos, incluindo prompts de permissão e seletores |

216> | `remember` | Indicadores de memória e `CLAUDE.md` |216> | `remember` | Indicadores de memória e de `CLAUDE.md` |

217>217>

218> #### Cores de status218> #### Cores de status

219>219>

220> Sinalize estados de sucesso, falha e aviso em mensagens e indicadores.220> Sinalizam estados de sucesso, falha e aviso em mensagens e indicadores.

221>221>

222> | Token | Controla |222> | Token | Controla |

223> | :- | :- |223> | :- | :- |

224> | `success` | Mensagens de sucesso e verificações aprovadas |224> | `success` | Mensagens de sucesso e verificações aprovadas |

225> | `error` | Mensagens de erro e falhas |225> | `error` | Mensagens de erro e falhas |

226> | `warning` | Avisos, mensagens de cautela e a borda do modo automático |226> | `warning` | Avisos, mensagens de cautela e o indicador do modo auto |

227> | `merged` | Status de solicitação de pull mesclada |227> | `merged` | Status de pull request mesclado |

228>228>

229> #### Caixa de entrada e indicadores de modo229> #### Caixa de entrada e indicadores de modo

230>230>

231> Defina a cor da borda da caixa de entrada e o acento mostrado enquanto um modo de permissão ou indicador está ativo.231> Definem a cor da borda da caixa de entrada e o destaque exibido enquanto um modo de permissão ou indicador está ativo.

232>232>

233> | Token | Controla |233> | Token | Controla |

234> | :- | :- |234> | :- | :- |

235> | `promptBorder` | Borda da caixa de entrada |235> | `promptBorder` | Borda da caixa de entrada |

236> | `planMode` | Acento do modo de plano, mensagens de plano e diálogos do modo de plano |236> | `planMode` | Destaque do modo de planejamento, mensagens de plano e diálogos do modo de planejamento |

237> | `autoAccept` | Acento do modo aceitar-edições |237> | `autoAccept` | Destaque do modo de aceitar edições |

238> | `bashBorder` | Borda da caixa de entrada ao inserir um comando shell `!` |238> | `bashBorder` | Borda da caixa de entrada ao digitar um comando de shell com `!` |

239> | `ide` | Indicador de conexão IDE |239> | `ide` | Indicador de conexão com a IDE |

240> | `fastMode` | Indicador de modo rápido |240> | `fastMode` | Indicador do modo rápido |

241> | `effortUltra` | A tag `ultracode` na borda da caixa de entrada enquanto [ultracode](https://code.claude.com/docs/pt/model-config.md#adjust-effort-level) está ativado. Sua substituição dessa cor entra em vigor no Claude Code v2.1.239 ou posterior |241> | `effortUltra` | A tag `ultracode` na borda da caixa de entrada enquanto o [ultracode](https://code.claude.com/docs/pt/model-config.md#adjust-effort-level) está ativado. Sua alteração desta cor tem efeito no Claude Code v2.1.239 ou posterior |

242>242>

243> #### Renderização de diff243> #### Renderização de diff

244>244>

245> Colora código adicionado e removido em edições e revisões de arquivo.245> Colorem o código adicionado e removido em edições de arquivos e revisões.

246>246>

247> | Token | Controla |247> | Token | Controla |

248> | :- | :- |248> | :- | :- |

249> | `diffAdded` | Fundo de linhas adicionadas |249> | `diffAdded` | Fundo das linhas adicionadas |

250> | `diffRemoved` | Fundo de linhas removidas |250> | `diffRemoved` | Fundo das linhas removidas |

251> | `diffAddedDimmed` | Fundo de linhas adicionadas no diff atenuado mostrado após você rejeitar uma edição |251> | `diffAddedDimmed` | Fundo das linhas adicionadas no diff esmaecido exibido depois que você rejeita uma edição |

252> | `diffRemovedDimmed` | Fundo de linhas removidas no diff atenuado mostrado após você rejeitar uma edição |252> | `diffRemovedDimmed` | Fundo das linhas removidas no diff esmaecido exibido depois que você rejeita uma edição |

253> | `diffAddedWord` | Destaque em nível de palavra dentro de uma linha adicionada |253> | `diffAddedWord` | Destaque no nível de palavra dentro de uma linha adicionada |

254> | `diffRemovedWord` | Destaque em nível de palavra dentro de uma linha removida |254> | `diffRemovedWord` | Destaque no nível de palavra dentro de uma linha removida |

255>255>

256> #### Modo tela cheia256> #### Modo de tela cheia

257>257>

258> Claude Code usa `userMessageBackgroundHover`, `selectionBg` e `composerSidebarBackground` apenas no [modo de renderização tela cheia](https://code.claude.com/docs/pt/fullscreen.md). Ele pinta `userMessageBackground`, `bashMessageBackgroundColor` e `memoryBackgroundColor` nos renderizadores padrão e tela cheia.258> O Claude Code usa `userMessageBackgroundHover`, `selectionBg` e `composerSidebarBackground` apenas no [modo de renderização em tela cheia](https://code.claude.com/docs/pt/fullscreen.md). Ele pinta `userMessageBackground`, `bashMessageBackgroundColor` e `memoryBackgroundColor` tanto no renderizador padrão quanto no de tela cheia.

259>259>

260> | Token | Controla |260> | Token | Controla |

261> | :- | :- |261> | :- | :- |

262> | `userMessageBackground` | Fundo atrás de suas mensagens na transcrição |262> | `userMessageBackground` | Fundo atrás das suas mensagens na transcrição |

263> | `userMessageBackgroundHover` | Fundo atrás de uma mensagem enquanto pairada ou expandida |263> | `userMessageBackgroundHover` | Fundo atrás de uma mensagem enquanto ela está sob o cursor ou expandida |

264> | `bashMessageBackgroundColor` | Fundo atrás de entradas de comando shell `!` na transcrição |264> | `bashMessageBackgroundColor` | Fundo atrás das entradas de comandos de shell com `!` na transcrição |

265> | `memoryBackgroundColor` | Fundo atrás de entradas de memória `#` na transcrição |265> | `memoryBackgroundColor` | Fundo atrás das entradas de memória com `#` na transcrição |

266> | `selectionBg` | Fundo do texto selecionado com o mouse |266> | `selectionBg` | Fundo do texto selecionado com o mouse |

267> | `composerSidebarBackground` | Fundo do painel ao lado da conversa, como o [painel de diff](https://code.claude.com/docs/pt/fullscreen.md#watch-your-changes-in-the-diff-panel) ou o [painel de um mod](https://code.claude.com/docs/pt/plugins/mods/interface.md) |267> | `composerSidebarBackground` | Fundo do painel ao lado da conversa, como o [painel de diff](https://code.claude.com/docs/pt/fullscreen.md#watch-your-changes-in-the-diff-panel) ou o [painel de um mod](https://code.claude.com/docs/pt/plugins/mods/interface.md) |

268>268>

269> #### Medidor de uso e rótulos de alto-falante269> #### Medidor de uso e rótulos de interlocutor

270>270>

271> Ajuste a barra mostrada na visualização `/usage` e os rótulos que distinguem suas mensagens das de Claude.271> Ajustam a barra exibida na visualização `/usage` e os rótulos que distinguem as suas mensagens das do Claude.

272>272>

273> | Token | Controla |273> | Token | Controla |

274> | :- | :- |274> | :- | :- |

275> | `rate_limit_fill` | Porção preenchida do medidor de uso |275> | `rate_limit_fill` | Parte preenchida do medidor de uso |

276> | `rate_limit_empty` | Porção não preenchida do medidor de uso |276> | `rate_limit_empty` | Parte não preenchida do medidor de uso |

277> | `briefLabelYou` | Cor do rótulo `You` em suas mensagens |277> | `briefLabelYou` | Cor do rótulo `You` nas suas mensagens |

278> | `briefLabelClaude` | Cor do rótulo `Claude` em mensagens do assistente |278> | `briefLabelClaude` | Cor do rótulo `Claude` nas mensagens do assistente |

279>279>

280> #### Variantes de shimmer e cores de subagente280> #### Variantes de brilho e cores de subagentes

281>281>

282> Vários tokens têm uma variante de shimmer emparelhada que fornece a cor mais clara usada no gradiente animado do spinner. Substitua o shimmer junto com seu token base se a animação parecer incompatível.282> Vários tokens têm uma variante de brilho associada que fornece a cor mais clara usada no gradiente animado do spinner. Sobrescreva a variante de brilho junto com seu token base se a animação parecer incompatível.

283>283>

284> * `claude` e `claudeShimmer`284> * `claude` e `claudeShimmer`

285> * `warning` e `warningShimmer`285> * `warning` e `warningShimmer`


288> * `inactive` e `inactiveShimmer`288> * `inactive` e `inactiveShimmer`

289> * `fastMode` e `fastModeShimmer`289> * `fastMode` e `fastModeShimmer`

290>290>

291> Cada [subagente](https://code.claude.com/docs/pt/sub-agents.md) e tarefa paralela é mostrado em uma das oito cores nomeadas para que você possa diferenciá-los na transcrição. Os nomes dos tokens seguem o padrão `<color>_FOR_SUBAGENTS_ONLY`, onde `<color>` é `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink` ou `cyan`. Substitua estes para alterar a aparência de cada cor nomeada. Por exemplo, um subagente com `color: blue` em sua definição é desenhado usando o valor `blue_FOR_SUBAGENTS_ONLY`.291> Cada [subagente](https://code.claude.com/docs/pt/sub-agents.md) e tarefa paralela é exibido em uma de oito cores nomeadas para que você possa distingui-los na transcrição. Os nomes dos tokens seguem o padrão `<color>_FOR_SUBAGENTS_ONLY`, onde `<color>` é `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink` ou `cyan`. Sobrescreva-os para alterar a aparência de cada cor nomeada. Por exemplo, um subagente com `color: blue` em sua definição é desenhado usando o valor de `blue_FOR_SUBAGENTS_ONLY`.

292>292>

293> Quando [`ultrathink`](https://code.claude.com/docs/pt/model-config#use-ultrathink-for-one-off-deep-reasoning) pode elevar o esforço de um turno, Claude Code renderiza a palavra na entrada do prompt com um gradiente arco-íris de sete cores. Os nomes dos tokens seguem o padrão `rainbow_<color>` e `rainbow_<color>_shimmer`, onde `<color>` é `red`, `orange`, `yellow`, `green`, `blue`, `indigo` ou `violet`.293> Quando [`ultrathink`](https://code.claude.com/docs/pt/model-config#use-ultrathink-for-one-off-deep-reasoning) pode aumentar o esforço de um turno, o Claude Code renderiza a palavra na entrada do prompt com um gradiente arco-íris de sete cores. Os nomes dos tokens seguem o padrão `rainbow_<color>` e `rainbow_<color>_shimmer`, onde `<color>` é `red`, `orange`, `yellow`, `green`, `blue`, `indigo` ou `violet`.

294 294 

295## Mudar para renderização em tela cheia295## Mudar para renderização em tela cheia

296 296 

Details

15 15 

16## Comparar opções de implantação16## Comparar opções de implantação

17 17 

18Para a maioria das organizações, Claude for Teams ou Claude for Enterprise oferece a melhor experiência. Os membros da equipe obtêm acesso tanto a Claude Code quanto a Claude na web com uma única assinatura, faturamento centralizado e nenhuma configuração de infraestrutura necessária.18Para a maioria das organizações, o Claude for Teams ou o Claude for Enterprise oferece a melhor experiência. Os membros da equipe têm acesso tanto ao Claude Code quanto ao Claude na web com uma única assinatura, faturamento centralizado e sem necessidade de configurar infraestrutura.

19 19 

20**Claude for Teams** é de autoatendimento e inclui recursos de colaboração, ferramentas de administração, SSO, gerenciamento de faturamento e [configurações gerenciadas pelo servidor](https://code.claude.com/docs/pt/server-managed-settings.md) para configuração de Claude Code em toda a organização. Melhor para equipes menores que precisam começar rapidamente.20O **Claude for Teams** é self-service e inclui recursos de colaboração, ferramentas de administração, SSO, gerenciamento de faturamento e [configurações gerenciadas pelo servidor](https://code.claude.com/docs/pt/server-managed-settings.md) para a configuração do Claude Code em toda a organização. Ideal para equipes menores que precisam começar rapidamente.

21 21 

22**Claude for Enterprise** adiciona captura de domínio, permissões baseadas em funções e acesso à API de conformidade. Melhor para organizações maiores com requisitos de segurança e conformidade.22O **Claude for Enterprise** adiciona captura de domínio, permissões baseadas em funções e acesso à API de conformidade. Ideal para organizações maiores com requisitos de segurança e conformidade.

23 23 

24Saiba mais sobre [planos de equipe](https://support.claude.com/en/articles/9266767-what-is-the-team-plan) e [planos empresariais](https://support.claude.com/en/articles/9797531-what-is-the-enterprise-plan).24Saiba mais sobre os [planos Team](https://support.claude.com/en/articles/9266767-what-is-the-team-plan) e os [planos Enterprise](https://support.claude.com/en/articles/9797531-what-is-the-enterprise-plan).

25 25 

26As opções de implantação comparadas abaixo cobrem onde a inferência do modelo é executada. Para executar [sessões na nuvem](https://code.claude.com/docs/pt/claude-code-on-the-web.md) de Claude Code em computação que sua organização opera, consulte [ambientes auto-hospedados](https://code.claude.com/docs/pt/self-hosted-environments).26As opções de implantação comparadas abaixo tratam de onde a inferência do modelo é executada. Para executar [sessões na nuvem](https://code.claude.com/docs/pt/claude-code-on-the-web.md) do Claude Code em recursos de computação operados pela sua organização, consulte [ambientes auto-hospedados](https://code.claude.com/docs/pt/self-hosted-environments).

27 27 

28Se sua organização tem requisitos de infraestrutura específicos, compare as opções abaixo:28Se a sua organização tiver requisitos específicos de infraestrutura, compare as opções abaixo:

29 29 

30<table>30<table>

31 <thead>31 <thead>


35 <th>Anthropic Console</th>35 <th>Anthropic Console</th>

36 <th>Amazon Bedrock</th>36 <th>Amazon Bedrock</th>

37 <th>Claude Platform on AWS</th>37 <th>Claude Platform on AWS</th>

38 <th>Google Cloud's Agent Platform, formerly Vertex AI</th>38 <th>Google Cloud's Agent Platform, antigo Vertex AI</th>

39 <th>Microsoft Foundry</th>39 <th>Microsoft Foundry</th>

40 </tr>40 </tr>

41 </thead>41 </thead>

42 42 

43 <tbody>43 <tbody>

44 <tr>44 <tr>

45 <td>Melhor para</td>45 <td>Ideal para</td>

46 <td>Maioria das organizações (recomendado)</td>46 <td>A maioria das organizações (recomendado)</td>

47 <td>Desenvolvedores individuais</td>47 <td>Desenvolvedores individuais</td>

48 <td>Implantações nativas da AWS</td>48 <td>Implantações nativas da AWS</td>

49 <td>Faturamento do AWS Marketplace com recursos da API Claude</td>49 <td>Faturamento pelo AWS Marketplace com recursos da Claude API</td>

50 <td>Implantações nativas do GCP</td>50 <td>Implantações nativas do GCP</td>

51 <td>Implantações nativas do Azure</td>51 <td>Implantações nativas do Azure</td>

52 </tr>52 </tr>

53 53 

54 <tr>54 <tr>

55 <td>Faturamento</td>55 <td>Faturamento</td>

56 <td>**Teams:** assinatura por assento com PAYG disponível, consulte [preços](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=third_party_pricing#team-&-enterprise)\56 <td>**Teams:** assinatura por usuário com PAYG disponível, consulte os [preços](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=third_party_pricing#team-&-enterprise)\

57 **Enterprise:** [Entre em contato com vendas](https://claude.com/contact-sales?utm_source=claude_code\&utm_medium=docs\&utm_content=third_party_enterprise)</td>57 **Enterprise:** [Fale com Vendas](https://claude.com/contact-sales?utm_source=claude_code\&utm_medium=docs\&utm_content=third_party_enterprise)</td>

58 <td>PAYG</td>58 <td>PAYG</td>

59 <td>PAYG através da AWS</td>59 <td>PAYG pela AWS</td>

60 <td>PAYG através do AWS Marketplace</td>60 <td>PAYG pelo AWS Marketplace</td>

61 <td>PAYG através do GCP</td>61 <td>PAYG pelo GCP</td>

62 <td>PAYG através do Azure</td>62 <td>PAYG pelo Azure</td>

63 </tr>63 </tr>

64 64 

65 <tr>65 <tr>

66 <td>Regiões</td>66 <td>Regiões</td>

67 <td>[Países](https://www.anthropic.com/supported-countries) suportados</td>67 <td>[Países](https://www.anthropic.com/supported-countries) suportados</td>

68 <td>[Países](https://www.anthropic.com/supported-countries) suportados</td>68 <td>[Países](https://www.anthropic.com/supported-countries) suportados</td>

69 <td>Múltiplas [regiões](https://docs.aws.amazon.com/bedrock/latest/userguide/models-regions.html) da AWS</td>69 <td>Várias [regiões](https://docs.aws.amazon.com/bedrock/latest/userguide/models-regions.html) da AWS</td>

70 <td>Múltiplas regiões da AWS</td>70 <td>Várias regiões da AWS</td>

71 <td>Múltiplas [regiões](https://cloud.google.com/vertex-ai/generative-ai/docs/learn/locations) do GCP</td>71 <td>Várias [regiões](https://cloud.google.com/vertex-ai/generative-ai/docs/learn/locations) do GCP</td>

72 <td>Múltiplas [regiões](https://azure.microsoft.com/en-us/explore/global-infrastructure/products-by-region/) do Azure</td>72 <td>Várias [regiões](https://azure.microsoft.com/en-us/explore/global-infrastructure/products-by-region/) do Azure</td>

73 </tr>73 </tr>

74 74 

75 <tr>75 <tr>

76 <td>Prompt caching</td>76 <td>Cache de prompt</td>

77 <td>Ativado por padrão</td>77 <td>Ativado por padrão</td>

78 <td>Ativado por padrão</td>78 <td>Ativado por padrão</td>

79 <td>Ativado por padrão</td>79 <td>Ativado por padrão</td>


84 84 

85 <tr>85 <tr>

86 <td>Autenticação</td>86 <td>Autenticação</td>

87 <td>claude.ai SSO ou email</td>87 <td>SSO ou e-mail do claude.ai</td>

88 <td>Chave de API ou [entrada no Console sem uma](https://code.claude.com/docs/pt/authentication.md#sign-in-without-an-api-key)</td>88 <td>Chave de API ou [login no Console sem uma](https://code.claude.com/docs/pt/authentication.md#sign-in-without-an-api-key)</td>

89 <td>Chave de API ou credenciais da AWS</td>89 <td>Chave de API ou credenciais da AWS</td>

90 <td>Chave de API ou credenciais da AWS</td>90 <td>Chave de API ou credenciais da AWS</td>

91 <td>Credenciais do GCP</td>91 <td>Credenciais do GCP</td>


98 <td>Painel de uso</td>98 <td>Painel de uso</td>

99 <td>AWS Cost Explorer</td>99 <td>AWS Cost Explorer</td>

100 <td>AWS Cost Explorer</td>100 <td>AWS Cost Explorer</td>

101 <td>Faturamento do GCP</td>101 <td>GCP Billing</td>

102 <td>Gerenciamento de custos do Azure</td>102 <td>Azure Cost Management</td>

103 </tr>103 </tr>

104 104 

105 <tr>105 <tr>


116 <td>Recursos empresariais</td>116 <td>Recursos empresariais</td>

117 <td>Gerenciamento de equipe, SSO, monitoramento de uso</td>117 <td>Gerenciamento de equipe, SSO, monitoramento de uso</td>

118 <td>Nenhum</td>118 <td>Nenhum</td>

119 <td>Políticas de IAM, CloudTrail</td>119 <td>Políticas IAM, CloudTrail</td>

120 <td>Políticas de IAM, CloudTrail</td>120 <td>Políticas IAM, CloudTrail</td>

121 <td>Funções de IAM, Cloud Audit Logs</td>121 <td>Funções IAM, Cloud Audit Logs</td>

122 <td>Políticas de RBAC, Azure Monitor</td>122 <td>Políticas RBAC, Azure Monitor</td>

123 </tr>123 </tr>

124 </tbody>124 </tbody>

125</table>125</table>

126 126 

127Para uma análise detalhada de recursos do que está disponível em cada opção, consulte [Disponibilidade de recursos](https://code.claude.com/docs/pt/feature-availability.md).127Para um detalhamento recurso por recurso do que está disponível em cada opção, consulte [Disponibilidade de recursos](https://code.claude.com/docs/pt/feature-availability.md).

128 128 

129Selecione uma opção de implantação para visualizar as instruções de configuração:129Selecione uma opção de implantação para ver as instruções de configuração:

130 130 

131* [Claude for Teams ou Enterprise](https://code.claude.com/docs/pt/authentication.md#claude-for-teams-or-enterprise)131* [Claude for Teams ou Enterprise](https://code.claude.com/docs/pt/authentication.md#claude-for-teams-or-enterprise)

132* [Anthropic Console](https://code.claude.com/docs/pt/authentication.md#claude-console-authentication)132* [Anthropic Console](https://code.claude.com/docs/pt/authentication.md#claude-console-authentication)

133* [Claude apps gateway](https://code.claude.com/docs/pt/claude-apps-gateway), um gateway auto-hospedado que adiciona entrada de IdP na frente do Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform, Microsoft Foundry ou da API Anthropic133* [Gateway de apps do Claude](https://code.claude.com/docs/pt/claude-apps-gateway), um gateway auto-hospedado que adiciona login via IdP na frente do Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform, Microsoft Foundry ou da Anthropic API

134* [Amazon Bedrock](https://code.claude.com/docs/pt/amazon-bedrock.md)134* [Amazon Bedrock](https://code.claude.com/docs/pt/amazon-bedrock.md)

135* [Claude Platform on AWS](https://code.claude.com/docs/pt/claude-platform-on-aws.md)135* [Claude Platform on AWS](https://code.claude.com/docs/pt/claude-platform-on-aws.md)

136* [Google Cloud's Agent Platform](https://code.claude.com/docs/pt/google-vertex-ai.md)136* [Google Cloud's Agent Platform](https://code.claude.com/docs/pt/google-vertex-ai.md)

137* [Microsoft Foundry](https://code.claude.com/docs/pt/microsoft-foundry.md)137* [Microsoft Foundry](https://code.claude.com/docs/pt/microsoft-foundry.md)

138 138 

139Para Amazon Bedrock e Google Vertex AI, você também pode executar `claude` e selecionar **plataforma de terceiros** no prompt de login para iniciar um assistente de configuração interativo.139Para o Amazon Bedrock e o Google Vertex AI, você também pode executar `claude` e selecionar **3rd-party platform** no prompt de login para iniciar um assistente de configuração interativo.

140 140 

141## Configurar proxies e gateways141## Configurar proxies e gateways

142 142 

Details

1169 1169 

1170### OAuth login fails in WSL2, SSH, or containers1170### OAuth login fails in WSL2, SSH, or containers

1171 1171 

1172Quando Claude Code é executado em WSL2, em uma máquina remota via SSH ou dentro de um container, o navegador geralmente abre em um host diferente e seu redirecionamento não consegue alcançar o servidor de callback local do Claude Code. Depois que você faz login, o navegador mostra um código de login em vez de redirecionar automaticamente. Cole esse código no terminal no prompt `Paste code here if prompted` para completar o login.1172Se nenhum navegador abrir, ou se o navegador fizer seu login e depois mostrar um erro de conexão para um endereço `localhost`, você pode concluir o login sem corrigir nenhum dos dois problemas. Em vez disso, faça login pela URL de login separada que o terminal mostra acima do prompt de colagem:

1173 1173 

1174Se o navegador não abrir nada do WSL2, defina a variável de ambiente `BROWSER` para o caminho do seu navegador do Windows:1174**1. Copiar a URL de login**

1175 1175 

1176```bash theme={null}1176No prompt de login interativo, pressione `c` para copiar a URL, ou selecione-a no terminal. Com `claude auth login`, copie a URL que ele imprime.

1177export BROWSER="/mnt/c/Program Files/Google/Chrome/Application/chrome.exe"1177 

1178claude1178**2. Fazer login por essa URL**

1179```1179 

1180Abra a URL em um navegador em sua máquina local e faça login. O navegador então mostra um código em vez de retornar para `localhost`.

1181 

1182**3. Colar o código**

1180 1183 

1181Alternativamente, pressione `c` no prompt de login interativo para copiar a URL OAuth, ou copie a URL que `claude auth login` imprime, e abra-a em um navegador em sua máquina local.1184Cole esse código no terminal no prompt que começa com `Paste code here`.

1182 1185 

1183Se colar o código no prompt interativo não fizer nada, o atalho de cola do seu terminal provavelmente não está alcançando o campo de entrada. Tente o atalho de cola alternativo do seu terminal, frequentemente clique direito ou Shift+Insert no Windows Terminal, ou use `claude auth login` em vez disso, que lê o código colado da entrada padrão:1186Se colar o código no prompt interativo não fizer nada, o atalho de cola do seu terminal provavelmente não está alcançando o campo de entrada. Tente o atalho de cola alternativo do seu terminal, frequentemente clique direito ou Shift+Insert no Windows Terminal, ou use `claude auth login` em vez disso, que lê o código colado da entrada padrão:

1184 1187 


1188 1191 

1189Este fallback também se aplica no Windows nativo ou qualquer terminal onde colar no prompt interativo falha.1192Este fallback também se aplica no Windows nativo ou qualquer terminal onde colar no prompt interativo falha.

1190 1193 

1194No WSL2, se nenhum navegador abriu, você também pode deixar o Claude Code abrir seu navegador do Windows da próxima vez definindo a variável de ambiente `BROWSER` para o caminho desse navegador:

1195 

1196```bash theme={null}

1197export BROWSER="/mnt/c/Program Files/Google/Chrome/Application/chrome.exe"

1198claude

1199```

1200 

1191### Not logged in or token expired1201### Not logged in or token expired

1192 1202 

1193Se Claude Code solicitar que você faça login novamente após uma sessão, seu token OAuth pode ter expirado.1203Se Claude Code solicitar que você faça login novamente após uma sessão, seu token OAuth pode ter expirado.

vs-code.md +16 −5

Details

133 Quando o modelo atual oferece suporte a [níveis de esforço](https://code.claude.com/docs/pt/model-config.md#adjust-effort-level), o seletor também mostra uma linha **Effort** e o botão do nome do modelo mostra o nível selecionado. Quando você escolhe um nível diferente de `max`, o Claude Code o salva para o modelo atual como seu padrão, em [`modelSettings`](https://code.claude.com/docs/pt/settings-reference#modelsettings) nas suas configurações de usuário; `max` se aplica somente à sessão atual. O botão do nome do modelo e a linha **Effort** requerem o Claude Code v2.1.257 ou posterior.133 Quando o modelo atual oferece suporte a [níveis de esforço](https://code.claude.com/docs/pt/model-config.md#adjust-effort-level), o seletor também mostra uma linha **Effort** e o botão do nome do modelo mostra o nível selecionado. Quando você escolhe um nível diferente de `max`, o Claude Code o salva para o modelo atual como seu padrão, em [`modelSettings`](https://code.claude.com/docs/pt/settings-reference#modelsettings) nas suas configurações de usuário; `max` se aplica somente à sessão atual. O botão do nome do modelo e a linha **Effort** requerem o Claude Code v2.1.257 ou posterior.

134 134 

135 Quando os [fluxos de trabalho dinâmicos](https://code.claude.com/docs/pt/workflows.md) estão ativados e o modelo atual oferece suporte a eles, um botão **Ultracode** aparece abaixo da linha **Effort**. Ative-o para que o Claude planeje um [fluxo de trabalho](https://code.claude.com/docs/pt/workflows.md#let-claude-decide-with-ultracode) para cada tarefa substancial nesta sessão, no nível de esforço selecionado. Enquanto ele estiver ativado, o botão do nome do modelo mostra `· Ultracode` após o nível. O botão requer o Claude Code v2.1.284 ou posterior.135 Quando os [fluxos de trabalho dinâmicos](https://code.claude.com/docs/pt/workflows.md) estão ativados e o modelo atual oferece suporte a eles, um botão **Ultracode** aparece abaixo da linha **Effort**. Ative-o para que o Claude planeje um [fluxo de trabalho](https://code.claude.com/docs/pt/workflows.md#let-claude-decide-with-ultracode) para cada tarefa substancial nesta sessão, no nível de esforço selecionado. Enquanto ele estiver ativado, o botão do nome do modelo mostra `· Ultracode` após o nível. O botão requer o Claude Code v2.1.284 ou posterior.

136* **Menu de comandos**: clique em `/` ou digite `/` para abrir o menu de comandos. As opções incluem anexar arquivos, trocar de modelo e ativar ou desativar o pensamento estendido.136* **Menu de comandos**: clique em `/` ou digite `/` para abrir o menu de comandos. As opções incluem anexar arquivos e trocar de modelo.

137 137 

138 A seção Customize inclui entradas como servidores MCP, comandos, estilos de saída, hooks, memória, instruções, permissões e plugins. Itens com um ícone de terminal abrem no terminal integrado.138 A seção Customize inclui entradas como servidores MCP, comandos, estilos de saída, hooks, memória, instruções, permissões e plugins. Itens com um ícone de terminal abrem no terminal integrado.

139 139 


191 Para abrir o mapa quando nenhuma contagem de agentes estiver sendo exibida, como quando o Claude iniciou um shell em segundo plano mas nenhum subagente, digite `/tasks` na caixa de prompt. Tarefas em segundo plano no mapa e o `/tasks` digitado requerem o Claude Code v2.1.277 ou posterior.191 Para abrir o mapa quando nenhuma contagem de agentes estiver sendo exibida, como quando o Claude iniciou um shell em segundo plano mas nenhum subagente, digite `/tasks` na caixa de prompt. Tarefas em segundo plano no mapa e o `/tasks` digitado requerem o Claude Code v2.1.277 ou posterior.

192 192 

193 Com o Claude Code v2.1.286 ou posterior, quando você clica em **Stop** ou pressiona `Esc`, o turno atual termina. Agentes em segundo plano continuam em execução até terminarem ou até você interrompê-los pelo mapa.193 Com o Claude Code v2.1.286 ou posterior, quando você clica em **Stop** ou pressiona `Esc`, o turno atual termina. Agentes em segundo plano continuam em execução até terminarem ou até você interrompê-los pelo mapa.

194* **Pensamento estendido**: permite que o Claude passe mais tempo raciocinando sobre problemas complexos. Ative-o pelo menu de comandos (`/`). O raciocínio do Claude aparece na conversa como blocos recolhidos: clique em um bloco para lê-lo ou pressione `Ctrl+O` para expandir ou recolher todos os blocos de pensamento da sessão. Consulte [Pensamento estendido](https://code.claude.com/docs/pt/model-config.md#extended-thinking) para obter detalhes.194* **Pensamento estendido**: permite que o Claude passe mais tempo raciocinando sobre problemas complexos. Para desativá-lo ou ativá-lo novamente, use o botão **Thinking** na seção Model do menu de comandos (`/`). Em modelos nos quais [o pensamento não pode ser desativado](https://code.claude.com/docs/pt/model-config.md#extended-thinking), o menu não tem o botão **Thinking** e o pensamento permanece ativado.

195 

196 Um bloco de pensamento que mostra apenas um rótulo, como `Thought for 12s`, não tem texto e não abre quando você clica nele. Para ver resumos do pensamento, defina [`showThinkingSummaries`](https://code.claude.com/docs/pt/settings-reference#showthinkingsummaries) como `true` em `~/.claude/settings.json` e, em seguida, execute **Developer: Reload Window** pela Command Palette.

197 

198 Os blocos de pensamento que você já tem permanecem vazios. Nas respostas após o recarregamento, clique em um bloco ou pressione `Ctrl+O` para expandir todos eles.

195* **Entrada de várias linhas**: pressione `Shift+Enter` para adicionar uma nova linha sem enviar. Isso também funciona na entrada de texto livre "Other" das caixas de diálogo de perguntas.199* **Entrada de várias linhas**: pressione `Shift+Enter` para adicionar uma nova linha sem enviar. Isso também funciona na entrada de texto livre "Other" das caixas de diálogo de perguntas.

196 200 

197### Referenciar arquivos e pastas201### Referenciar arquivos e pastas


333 337 

334Execute `/usage` para abrir a caixa de diálogo Account & usage, que mostra a conta conectada e o seu uso. Os números de uso correspondem à forma como você fez login:338Execute `/usage` para abrir a caixa de diálogo Account & usage, que mostra a conta conectada e o seu uso. Os números de uso correspondem à forma como você fez login:

335 339 

336* **Plano do claude.ai**: barras de uso para os limites do seu plano, como a sessão atual e a semana. Cada barra mostra quanto tempo falta para o limite ser redefinido.340* **Plano do claude.ai**: barras de uso para os limites do seu plano, como a sessão atual e a semana.

337 341 

338 A caixa de diálogo também detalha o que está contribuindo para os limites do seu plano:342 A caixa de diálogo também detalha o que está contribuindo para os limites do seu plano:

339 343 


580 584 

581Ao criar pull requests, Claude gera descrições com base nas alterações de código reais e pode adicionar contexto sobre decisões de teste ou implementação.585Ao criar pull requests, Claude gera descrições com base nas alterações de código reais e pode adicionar contexto sobre decisões de teste ou implementação.

582 586 

587### Reabrir uma conversa que foi movida para um worktree

588 

589Em uma conversa reaberta, o banner **This session is in worktree** significa que o diretório de trabalho da conversa é o [worktree](https://code.claude.com/docs/pt/worktrees.md) indicado, e não a pasta que esta janela tem aberta. Para abrir o worktree em uma nova janela do VS Code, clique em **Open worktree** no banner.

590 

591Uma conversa é movida para um worktree quando, por exemplo, você [pede ao Claude para trabalhar em um](https://code.claude.com/docs/pt/worktrees.md#ask-claude-to-create-a-worktree). Quando você a reabre, ou quando o painel [a reabre após um recarregamento da janela](#continue-conversations-after-a-reload), ela é retomada no worktree se o Claude Code criou o worktree em `.claude/worktrees/` e ele ainda existir. Antes do Claude Code v2.1.300, uma conversa vazia era aberta em vez disso. Nessas versões, atualize a extensão.

592 

583## Executar trabalho em segundo plano593## Executar trabalho em segundo plano

584 594 

585Envie um comando ou subagente de longa duração para segundo plano e depois acompanhe-o a partir da caixa de prompt.595Envie um comando ou subagente de longa duração para segundo plano e depois acompanhe-o a partir da caixa de prompt.


633| Insert @-Mention Reference | `Option+K` (Mac) / `Alt+K` (Windows/Linux) | Insere uma referência ao arquivo e à seleção atuais (requer que o editor esteja em foco) |643| Insert @-Mention Reference | `Option+K` (Mac) / `Alt+K` (Windows/Linux) | Insere uma referência ao arquivo e à seleção atuais (requer que o editor esteja em foco) |

634| Accept Change at Cursor | - | Aceita a alteração no cursor ao [revisar uma edição proposta](#get-started) uma alteração por vez. Requer Claude Code v2.1.275 ou posterior |644| Accept Change at Cursor | - | Aceita a alteração no cursor ao [revisar uma edição proposta](#get-started) uma alteração por vez. Requer Claude Code v2.1.275 ou posterior |

635| Reject Change at Cursor | - | Reverte a alteração no cursor ao revisar uma edição proposta uma alteração por vez. Requer Claude Code v2.1.275 ou posterior |645| Reject Change at Cursor | - | Reverte a alteração no cursor ao revisar uma edição proposta uma alteração por vez. Requer Claude Code v2.1.275 ou posterior |

636| Toggle Focus view | `Ctrl+Option+F` (Mac) / `Ctrl+Alt+F` (Windows/Linux) | Oculta ou mostra a atividade de ferramentas na conversa. Funciona enquanto um painel ou barra lateral do Claude estiver visível. Requer Claude Code v2.1.221 ou posterior |646| Toggle Focus view | `Ctrl+Option+F` (Mac) / `Ctrl+Alt+F` (Windows/Linux) | Oculta ou mostra a atividade de ferramentas na conversa. Funciona enquanto um painel ou barra lateral do Claude estiver visível. No Windows/Linux, `Ctrl+Alt+F` abre o Find do VS Code em vez disso quando o foco está no Debug Console ou em uma lista pesquisável, como o Explorer. Coloque o foco em um editor ou no painel do Claude e pressione-o novamente. Requer Claude Code v2.1.221 ou posterior |

637| Rename Session Tab | - | Renomeia a sessão na aba ativa do Claude. Requer Claude Code v2.1.257 ou posterior |647| Rename Session Tab | - | Renomeia a sessão na aba ativa do Claude. Requer Claude Code v2.1.257 ou posterior |

638| Add Session Tab to Group | - | Adiciona a sessão na aba ativa do Claude a um [grupo de sessões](#organize-sessions-into-groups) que você escolher ou criar. Requer Claude Code v2.1.257 ou posterior |648| Add Session Tab to Group | - | Adiciona a sessão na aba ativa do Claude a um [grupo de sessões](#organize-sessions-into-groups) que você escolher ou criar. Requer Claude Code v2.1.257 ou posterior |

639| Mark Session as Unread | - | Marca a sessão na aba ativa do Claude como não lida na lista de sessões. Requer Claude Code v2.1.257 ou posterior |649| Mark Session as Unread | - | Marca a sessão na aba ativa do Claude como não lida na lista de sessões. Requer Claude Code v2.1.257 ou posterior |


679| Parâmetro | Descrição |689| Parâmetro | Descrição |

680| - | - |690| - | - |

681| `prompt` | Texto a ser pré-preenchido na caixa de prompt. Deve estar codificado para URL. O prompt é pré-preenchido, mas não é enviado automaticamente. |691| `prompt` | Texto a ser pré-preenchido na caixa de prompt. Deve estar codificado para URL. O prompt é pré-preenchido, mas não é enviado automaticamente. |

682| `session` | Um ID de sessão a ser retomada em vez de iniciar uma nova conversa. A sessão deve pertencer ao workspace atualmente aberto no VS Code. Se a sessão não for encontrada, uma nova conversa é iniciada em seu lugar. Se a sessão já estiver aberta em uma aba, essa aba recebe o foco. Para capturar um ID de sessão programaticamente, consulte [Continuar conversas](https://code.claude.com/docs/pt/headless.md#continue-conversations). |692| `session` | ID de uma sessão a ser retomada, da pasta aberta no VS Code. Com o Claude Code v2.1.300 ou posterior, uma sessão do checkout principal ou de um [worktree](https://code.claude.com/docs/pt/worktrees.md) do repositório dessa pasta também é retomada. Se a sessão não for encontrada, uma nova conversa é iniciada em seu lugar. Se a sessão já estiver aberta em uma aba, essa aba recebe o foco. Para capturar um ID de sessão programaticamente, consulte [Continuar conversas](https://code.claude.com/docs/pt/headless.md#continue-conversations). |

683 693 

684Por exemplo, para abrir uma aba pré-preenchida com "review my changes":694Por exemplo, para abrir uma aba pré-preenchida com "review my changes":

685 695 


916| `Claude Code process exited with code 1`, ou outro código | [Claude Code process exited with code N](https://code.claude.com/docs/pt/errors.md#claude-code-process-exited-with-code-n) |926| `Claude Code process exited with code 1`, ou outro código | [Claude Code process exited with code N](https://code.claude.com/docs/pt/errors.md#claude-code-process-exited-with-code-n) |

917| `Could not locate the Claude CLI on PATH` | [Could not locate the Claude CLI on PATH](https://code.claude.com/docs/pt/errors.md#could-not-locate-the-claude-cli-on-path) |927| `Could not locate the Claude CLI on PATH` | [Could not locate the Claude CLI on PATH](https://code.claude.com/docs/pt/errors.md#could-not-locate-the-claude-cli-on-path) |

918| `The connection to Claude Code ended before this message completed` | [The connection to Claude Code ended before this message completed](https://code.claude.com/docs/pt/errors.md#the-connection-to-claude-code-ended-before-this-message-completed) |928| `The connection to Claude Code ended before this message completed` | [The connection to Claude Code ended before this message completed](https://code.claude.com/docs/pt/errors.md#the-connection-to-claude-code-ended-before-this-message-completed) |

929| `The Claude Code program for this computer, the <build> build, could not be found` | [The Claude Code program for this computer could not be found](https://code.claude.com/docs/pt/errors.md#the-claude-code-program-for-this-computer-could-not-be-found) |

919| `claude` não é encontrado no terminal integrado do VS Code | [Executar a CLI no VS Code](#run-cli-in-vs-code) |930| `claude` não é encontrado no terminal integrado do VS Code | [Executar a CLI no VS Code](#run-cli-in-vs-code) |

920 931 

921### A extensão não instala932### A extensão não instala

workflows.md +60 −60

Details

101 101 

102Pressione `Enter` para expandir o detalhe. O prompt e o resultado então aparecem em sua totalidade, e cada chamada listada mostra sua entrada e o início de seu resultado.102Pressione `Enter` para expandir o detalhe. O prompt e o resultado então aparecem em sua totalidade, e cada chamada listada mostra sua entrada e o início de seu resultado.

103 103 

104## Fazer Claude escrever um fluxo de trabalho104## Peça ao Claude para escrever um workflow

105 105 

106Você pode fazer Claude escrever um fluxo de trabalho para sua tarefa de duas maneiras:106Você pode pedir ao Claude para escrever um workflow para sua tarefa de duas formas:

107 107 

108* [Peça um fluxo de trabalho](#ask-for-a-workflow-in-your-prompt) em seu prompt, seja com suas próprias palavras ou incluindo a palavra-chave `ultracode`, e Claude escreve um para a tarefa.108* [Peça um workflow](#ask-for-a-workflow-in-your-prompt) no seu prompt, com suas próprias palavras ou incluindo a palavra-chave `ultracode`, e o Claude escreve um para a tarefa.

109* [Deixe Claude decidir com ultracode](#let-claude-decide-with-ultracode): defina `/effort ultracode` e Claude planeja um fluxo de trabalho para cada tarefa substancial na sessão.109* [Deixe o Claude decidir com ultracode](#let-claude-decide-with-ultracode): defina `/effort ultracode` e o Claude planeja um workflow para cada tarefa substancial na sessão.

110 110 

111Você também pode executar um comando de fluxo de trabalho que já existe: um [fluxo de trabalho agrupado](#bundled-workflows) como `/deep-research`, ou um que você [salvou](#save-the-workflow-for-reuse).111Você também pode executar um comando de workflow que já existe: um [workflow incluído](#bundled-workflows) como `/deep-research`, ou um que você tenha [salvo](#save-the-workflow-for-reuse).

112 112 

113### Peça um fluxo de trabalho em seu prompt113### Peça um workflow no seu prompt

114 114 

115Para executar uma única tarefa como um fluxo de trabalho sem alterar o nível de esforço da sessão, inclua a palavra-chave `ultracode` em seu prompt. Pedir com suas próprias palavras, por exemplo "use um fluxo de trabalho" ou "execute um fluxo de trabalho", também funciona: Claude trata uma solicitação direta como o mesmo opt-in.115Para executar uma única tarefa como workflow sem alterar o nível de esforço da sessão, inclua a palavra-chave `ultracode` no seu prompt. Pedir com suas próprias palavras, por exemplo "use a workflow" ou "run a workflow", também funciona: o Claude trata uma solicitação direta como a mesma adesão.

116 116 

117```text wrap theme={null}117```text wrap theme={null}

118ultracode: audit every API endpoint under src/routes/ for missing auth checks118ultracode: audit every API endpoint under src/routes/ for missing auth checks

119```119```

120 120 

121Claude Code destaca a palavra-chave em sua entrada e Claude escreve um script de fluxo de trabalho para a tarefa em vez de trabalhar através dela turno por turno. A palavra-chave apenas escolhe como Claude estrutura o trabalho: as chamadas de ferramentas dos agentes recebem as mesmas verificações de permissão e [sandboxing](https://code.claude.com/docs/pt/sandboxing.md) como qualquer outra chamada de ferramenta na sessão.121O Claude Code destaca a palavra-chave na sua entrada e o Claude escreve um script de workflow para a tarefa em vez de trabalhar nela turno a turno. A palavra-chave apenas escolhe como o Claude estrutura o trabalho: as chamadas de ferramenta dos agentes recebem as mesmas verificações de permissão e o mesmo [sandboxing](https://code.claude.com/docs/pt/sandboxing.md) que qualquer outra chamada de ferramenta na sessão.

122 122 

123Se a execução fez o que você queria, você pode [salvá-la como um comando](#save-the-workflow-for-reuse) depois. Se você já tem um orquestrador construído de outra forma, como uma pasta de prompts de subagentos ou uma skill que distribui trabalho, você pode apontar Claude para ele e pedir um fluxo de trabalho que faça a mesma coisa.123Se a execução fizer o que você queria, você pode [salvá-la como um comando](#save-the-workflow-for-reuse) depois. Se você já tem um orquestrador construído de outra forma, como uma pasta de prompts de subagentes ou uma skill que distribui o trabalho, você pode apontar o Claude para ele e pedir um workflow que faça a mesma coisa.

124 124 

125#### Descartar ou desativar a palavra-chave125#### Descartar ou desativar a palavra-chave

126 126 

127Se você não pretendia iniciar um fluxo de trabalho, pressione `Option+W` no macOS ou `Alt+W` no Windows e Linux para descartar o destaque para este prompt, ou pressione backspace enquanto o cursor está logo após a palavra-chave destacada. Para impedir que a palavra-chave dispare, desative o gatilho de palavra-chave Ultracode em `/config`.127Se você não pretendia iniciar um workflow, pressione `Option+W` no macOS ou `Alt+W` no Windows e Linux para descartar o destaque neste prompt, ou pressione backspace enquanto o cursor estiver logo após a palavra-chave destacada. Para impedir que a palavra-chave seja acionada, desative Ultracode keyword trigger em `/config`.

128 128 

129#### Onde a palavra-chave funciona129#### Onde a palavra-chave funciona

130 130 

131A palavra-chave é um opt-in apenas em um prompt que você digita você mesmo: no prompt interativo, em um painel de extensão IDE, em um cliente [Remote Control](https://code.claude.com/docs/pt/remote-control.md), ou em uma aplicação Agent SDK que marca a [`origin`](https://code.claude.com/docs/pt/agent-sdk/typescript#sdkmessageorigin) de sua entrada de teclado como `{ kind: "human" }`. Ela não inicia um fluxo de trabalho quando chega à sessão de outra forma:131A palavra-chave é uma adesão apenas em um prompt que você mesmo digita: no prompt interativo, em um painel de extensão de IDE, em um cliente de [Remote Control](https://code.claude.com/docs/pt/remote-control.md) ou em um aplicativo do Agent SDK que marca a [`origin`](https://code.claude.com/docs/pt/agent-sdk/typescript#sdkmessageorigin) da sua entrada de teclado como `{ kind: "human" }`. Ela não inicia um workflow quando chega à sessão de outra forma:

132 132 

133* um prompt passado com `-p`133* um prompt passado com `-p`

134* um prompt que uma aplicação Agent SDK envia sem marcá-lo como entrada humana134* um prompt que um aplicativo do Agent SDK envia sem marcá-lo como entrada humana

135* um prompt de tarefa agendada135* um prompt de tarefa agendada

136* uma carga útil de webhook ou comentário de pull request retransmitido para a conversa136* um payload de webhook ou comentário de pull request retransmitido para a conversa

137 137 

138### Deixe Claude decidir com ultracode138### Deixe o Claude decidir com ultracode

139 139 

140Ultracode é uma configuração de Claude Code que ativa a orquestração automática de fluxo de trabalho para a sessão, em qualquer [nível de esforço](https://code.claude.com/docs/pt/model-config.md#adjust-effort-level) em que a sessão é executada. Com ele ativado, Claude planeja um fluxo de trabalho para cada tarefa substancial em vez de esperar você pedir. Ative-o no prompt de Claude Code:140Ultracode é uma configuração do Claude Code que ativa a orquestração automática de workflows para a sessão, em qualquer [nível de esforço](https://code.claude.com/docs/pt/model-config.md#adjust-effort-level) em que a sessão seja executada. Com ela ativada, o Claude planeja um workflow para cada tarefa substancial em vez de esperar que você peça. Ative-a no prompt do Claude Code:

141 141 

142```text wrap theme={null}142```text wrap theme={null}

143/effort ultracode143/effort ultracode

144```144```

145 145 

146Para iniciar uma sessão com ultracode já ativado, inicie com `claude --effort ultracode`, que também define o nível de esforço para `xhigh`.146Para iniciar uma sessão com ultracode já ativado, inicie com `claude --effort ultracode`, o que também define o nível de esforço como `xhigh`.

147 147 

148Para ativá-lo a partir do controle deslizante `/effort`, pressione `Tab` para alternar o botão **Ultracode**, depois `Enter` para aplicá-lo. [Ajustar nível de esforço](https://code.claude.com/docs/pt/model-config.md#adjust-effort-level) lista as rotas que ativam ultracode.148Para ativá-lo pelo controle deslizante de `/effort`, pressione `Tab` para alternar o botão **Ultracode** e depois `Enter` para aplicá-lo. [Ajustar o nível de esforço](https://code.claude.com/docs/pt/model-config.md#adjust-effort-level) lista as formas de ativar o ultracode.

149 149 

150Com ultracode ativado, Claude decide quando uma tarefa justifica um fluxo de trabalho. Uma única solicitação pode se transformar em vários fluxos de trabalho seguidos: um para entender o código, um para fazer a alteração e um para verificá-la. Isso se aplica a cada tarefa na sessão, então cada solicitação usa mais tokens e leva mais tempo do que a mesma solicitação sem um fluxo de trabalho. Em um plano de assinatura, esses tokens são extraídos de seus limites de uso, então uma sessão com ultracode ativado atinge um limite de sessão ou semanal mais cedo do que o mesmo trabalho com ele desativado.150Com o ultracode ativado, o Claude decide quando uma tarefa justifica um workflow. Uma única solicitação pode se transformar em vários workflows seguidos: um para entender o código, um para fazer a alteração e um para verificá-la. Isso se aplica a todas as tarefas na sessão, então cada solicitação usa mais tokens e leva mais tempo do que a mesma solicitação sem um workflow. Em um plano de assinatura, esses tokens consomem seus limites de uso, então uma sessão com ultracode ativado atinge um limite de sessão ou semanal antes do que o mesmo trabalho com ele desativado.

151 151 

152Ativar ultracode já o coloca em grandes execuções, então essas verificações não se aplicam enquanto está ativado:152Ativar o ultracode já significa aderir a execuções grandes, então estas verificações não se aplicam enquanto ele estiver ativado:

153 153 

154* O aviso [`Large workflow`](#cost) não aparece em uma execução de fluxo de trabalho154* O [aviso `Large workflow`](#cost) não aparece em uma execução de workflow

155* O [limite de subagentos simultâneos](https://code.claude.com/docs/pt/sub-agents.md#concurrent-subagent-limit) da sessão não é aplicado para os subagentos que Claude spawna com a ferramenta Agent155* O [limite de subagentes simultâneos](https://code.claude.com/docs/pt/sub-agents.md#concurrent-subagent-limit) da sessão não é aplicado aos subagentes que o Claude cria com a ferramenta Agent

156* Em modo de permissão automática, você não é solicitado a [aprovar o primeiro lançamento de fluxo de trabalho](#approve-the-plan-before-it-runs)156* No modo de permissão auto, não é solicitado que você [aprove o primeiro lançamento de workflow](#approve-the-plan-before-it-runs)

157 157 

158`/effort ultracode` dura para a sessão atual; para ter cada sessão iniciada com ele, defina a configuração [`ultracode`](https://code.claude.com/docs/pt/settings-reference#ultracode). Desative-o com `/effort ultracode off` quando retornar ao trabalho de rotina. O controle deslizante `/effort` oferece o botão apenas [quando ultracode está disponível](https://code.claude.com/docs/pt/model-config.md#when-ultracode-is-available). Antes da v2.1.284, `/effort ultracode` definia a sessão como `xhigh`, e `/effort ultracode off` falhava com `Invalid argument`.158`/effort ultracode` dura pela sessão atual; para que toda sessão comece com ele, defina a configuração [`ultracode`](https://code.claude.com/docs/pt/settings-reference#ultracode). Desative-o com `/effort ultracode off` quando voltar ao trabalho rotineiro. O controle deslizante de `/effort` oferece o botão apenas [quando o ultracode está disponível](https://code.claude.com/docs/pt/model-config.md#when-ultracode-is-available). Antes da v2.1.284, `/effort ultracode` definia a sessão como `xhigh`, e `/effort ultracode off` falhava com `Invalid argument`.

159 159 

160### Aprovar o plano antes de ser executado160### Aprove o plano antes que ele seja executado

161 161 

162Na CLI, o prompt por execução mostra as fases planejadas e estas opções:162Na CLI, o prompt por execução mostra as fases planejadas e estas opções:

163 163 

164* **Sim, execute**: inicie a execução164* **Yes, run it**: inicia a execução

165* **Sim, e não pergunte novamente para `<name>` em `<path>`**: inicie e pule este prompt para este fluxo de trabalho neste projeto a partir de agora. Claude Code oferece esta opção quando você executa um fluxo de trabalho agrupado, salvo ou de plugin por nome, não para um script que Claude escreveu para a tarefa atual.165* **Yes, and don't ask again for `<name>` in `<path>`**: inicia e pula este prompt para este workflow neste projeto daqui em diante. O Claude Code oferece essa opção quando você executa um workflow incluído, salvo ou de plugin pelo nome, não para um script que o Claude escreveu para a tarefa atual.

166* **Ver script bruto**: leia o script antes de decidir166* **View raw script**: lê o script antes de decidir

167* **Não**: cancelar167* **No**: cancela

168 168 

169`Ctrl+G` abre o script em seu editor. Com **Sim, execute** ou **Não** selecionado, pressione `Tab` para [adicionar um comentário](https://code.claude.com/docs/pt/permissions.md#add-a-comment-when-you-answer-a-permission-prompt) à sua resposta.169`Ctrl+G` abre o script no seu editor. Com **Yes, run it** ou **No** selecionado, pressione `Tab` para [adicionar um comentário](https://code.claude.com/docs/pt/permissions.md#add-a-comment-when-you-answer-a-permission-prompt) à sua resposta.

170 170 

171Se você vê este prompt depende do seu [modo de permissão](https://code.claude.com/docs/pt/permission-modes.md):171Se você verá este prompt depende do seu [modo de permissão](https://code.claude.com/docs/pt/permission-modes.md):

172 172 

173| Modo de permissão | Quando você é solicitado |173| Modo de permissão | Quando você é solicitado |

174| :- | :- |174| :- | :- |

175| Auto | Apenas no primeiro lançamento. Qualquer **Sim** registra consentimento em suas configurações de usuário, e lançamentos posteriores começam sem solicitar. Ignorado completamente quando ultracode está ativado |175| Auto | Apenas no primeiro lançamento. Qualquer **Yes** registra o consentimento nas suas configurações de usuário, e lançamentos posteriores iniciam sem solicitação. Totalmente ignorado quando o ultracode está ativado |

176| Manual, aceitar edições | Cada execução, a menos que você tenha selecionado **Sim, e não pergunte novamente** para esse fluxo de trabalho neste projeto |176| Manual, aceitar edições | Toda execução, a menos que você tenha selecionado **Yes, and don't ask again** para esse workflow neste projeto |

177| Contornar permissões | Claude Code não o solicita. A execução começa imediatamente |177| Ignorar permissões | O Claude Code não solicita. A execução começa imediatamente |

178| `claude -p`, Agent SDK | Claude Code não o solicita |178| `claude -p`, Agent SDK | O Claude Code não solicita |

179 179 

180Em `claude -p` e no Agent SDK, Claude Code nunca mostra este prompt. Ele executa a chamada da ferramenta Workflow através da mesma [avaliação de permissão](https://code.claude.com/docs/pt/agent-sdk/permissions.md#how-permissions-are-evaluated) como o resto da sessão, então regras de negação, regras de solicitação e modo `dontAsk` se aplicam ao lançamento como se aplicam a cada chamada de ferramenta. Para permitir que o fluxo de trabalho inicie nessas execuções, use um destes:180Em `claude -p` e no Agent SDK, o Claude Code nunca mostra este prompt. Ele executa a chamada da ferramenta Workflow pela mesma [avaliação de permissões](https://code.claude.com/docs/pt/agent-sdk/permissions.md#how-permissions-are-evaluated) que o restante da sessão, então regras deny, regras ask e o modo `dontAsk` se aplicam ao lançamento assim como se aplicam a toda chamada de ferramenta. Para permitir que o workflow inicie nessas execuções, use uma destas opções:

181 181 

182* **Regra de permissão**: adicione `Workflow` às suas regras allow para aprovar cada fluxo de trabalho, ou `Workflow(<name>)` para aprovar um fluxo de trabalho salvo por nome.182* **Regra de permissão**: adicione `Workflow` às suas regras allow para aprovar todos os workflows, ou `Workflow(<name>)` para aprovar um workflow salvo pelo nome.

183* **Modo de permissão automático**: execute no [modo auto](https://code.claude.com/docs/pt/permission-modes.md#eliminate-prompts-with-auto-mode), onde o classificador revisa a chamada e pode aprová-la.183* **Modo de permissão auto**: execute no [modo auto](https://code.claude.com/docs/pt/permission-modes.md#eliminate-prompts-with-auto-mode), em que o classificador analisa a chamada e pode aprová-la.

184* **Modo de contorno de permissões**: execute no modo de contorno de permissões.184* **Modo de ignorar permissões**: execute no modo de ignorar permissões.

185* **Um hook**: retorne `"allow"` para a chamada a partir de um hook [`PreToolUse`](https://code.claude.com/docs/pt/hooks#pretooluse). No [modo de planejamento](https://code.claude.com/docs/pt/permission-modes.md#analyze-before-you-edit-with-plan-mode), o fluxo de trabalho não inicia apenas com a aprovação do hook, então use uma regra de permissão ou a aprovação do seu host nesse caso.185* **Um hook**: retorne `"allow"` para a chamada a partir de um hook [`PreToolUse`](https://code.claude.com/docs/pt/hooks#pretooluse). No [modo de planejamento](https://code.claude.com/docs/pt/permission-modes.md#analyze-before-you-edit-with-plan-mode), o workflow não inicia apenas com a aprovação do hook, então use uma regra de permissão ou a aprovação do seu host nesse caso.

186* **Seu host**: um [`--permission-prompt-tool`](https://code.claude.com/docs/pt/cli-reference#cli-flags) ou, com o Agent SDK, um callback [`canUseTool`](https://code.claude.com/docs/pt/agent-sdk/permissions) a aprova.186* **Seu host**: um [`--permission-prompt-tool`](https://code.claude.com/docs/pt/cli-reference#cli-flags) ou, com o Agent SDK, um callback [`canUseTool`](https://code.claude.com/docs/pt/agent-sdk/permissions) o aprova.

187 187 

188No aplicativo Desktop, um cartão de aprovação mostra o nome do fluxo de trabalho, a lista de fases e um aviso de uso de token, com ações **Uma vez**, **Sempre** e **Negar**. A visualização de progresso aparece no painel de tarefas em segundo plano.188No aplicativo Desktop, um cartão de aprovação mostra o nome do workflow, a lista de fases e um aviso sobre uso de tokens, com as ações **Once**, **Always** e **Deny**. A visualização de progresso aparece no painel lateral de tarefas em segundo plano.

189 189 

190Os subagentos que o fluxo de trabalho spawna usam suas [regras de permissão](https://code.claude.com/docs/pt/settings-reference.md#permission-settings), e Claude Code escolhe seu modo de permissão pelas regras em [qual modo de permissão um subagentos é executado](https://code.claude.com/docs/pt/sub-agents.md#permission-modes). Para evitar prompts em uma execução longa, adicione as ferramentas que os agentes precisam às suas regras de permissão antes de começar.190Os subagentes que o workflow cria usam suas [regras de permissão](https://code.claude.com/docs/pt/settings-reference.md#permission-settings), e o Claude Code escolhe o modo de permissão deles pelas regras descritas em [em qual modo de permissão um subagente é executado](https://code.claude.com/docs/pt/sub-agents.md#permission-modes). Para evitar prompts em uma execução longa, adicione as ferramentas de que os agentes precisam às suas regras allow antes de iniciar.

191 191 

192### Salvar o fluxo de trabalho para reutilização192### Salve o workflow para reutilização

193 193 

194Quando Claude escreve um fluxo de trabalho para uma tarefa que você repetirá, você pode salvar o script dessa execução como um comando. Um processo como uma revisão que você executa em cada branch então executa a mesma orquestração cada vez.194Quando o Claude escreve um workflow para uma tarefa que você vai repetir, você pode salvar o script dessa execução como um comando. Um processo como uma revisão que você executa em cada branch passa então a executar a mesma orquestração todas as vezes.

195 195 

196Execute `/workflows`, selecione a execução que você deseja manter e pressione `s`. Na caixa de diálogo de salvamento, Tab alterna entre os dois locais de salvamento:196Execute `/workflows`, selecione a execução que deseja manter e pressione `s`. Na caixa de diálogo de salvamento, Tab alterna entre os dois locais de salvamento:

197 197 

198* `.claude/workflows/` em seu projeto: compartilhado com todos que clonam o repositório198* `.claude/workflows/` no seu projeto: compartilhado com todos que clonam o repositório

199* `~/.claude/workflows/` em seu diretório inicial: disponível em cada projeto, visível apenas para você. Se você definir [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/pt/env-vars), este local é o diretório `workflows/` sob esse caminho.199* `~/.claude/workflows/` no seu diretório pessoal: disponível em todos os projetos, visível apenas para você. Se você definir [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/pt/env-vars), esse local é o diretório `workflows/` sob esse caminho.

200 200 

201A caixa de diálogo de salvamento mostra o caminho resolvido para o local pessoal. Pressione Enter para salvar. O fluxo de trabalho é executado como `/<name>` em futuras sessões de qualquer local.201A caixa de diálogo de salvamento mostra o caminho resolvido para o local pessoal. Pressione Enter para salvar. O workflow é executado como `/<name>` em sessões futuras a partir de qualquer um dos locais.

202 202 

203Claude Code verifica o local de salvamento para symlinks antes de escrever e mostra um erro em vez de escrever através de um:203O Claude Code verifica se há links simbólicos no local de salvamento antes de gravar e mostra um erro em vez de gravar através de um:

204 204 

205* Local do projeto: Claude Code recusa se `.claude`, `.claude/workflows` ou o arquivo de destino for um symlink.205* Local do projeto: o Claude Code recusa se `.claude`, `.claude/workflows` ou o arquivo de destino for um link simbólico.

206* Local pessoal: Claude Code recusa apenas se o arquivo de destino em si for um symlink, então um diretório `~/.claude` gerenciado por uma ferramenta de dotfiles ainda funciona.206* Local pessoal: o Claude Code recusa apenas se o próprio arquivo de destino for um link simbólico, então um diretório `~/.claude` gerenciado por uma ferramenta de dotfiles ainda funciona.

207 207 

208Em um monorepo com vários diretórios `.claude/`, você pode manter fluxos de trabalho ao lado do pacote ao qual se aplicam. Salvar no local do projeto escreve no diretório `.claude/workflows/` mais próximo que já existe entre seu diretório de trabalho e a raiz do repositório, ou para a raiz do repositório se nenhum existir ainda. Os fluxos de trabalho do projeto também carregam de cada `.claude/workflows/` ao longo desse caminho, e quando mais de um define o mesmo nome Claude Code executa o mais próximo do diretório de trabalho.208Em um monorepo com vários diretórios `.claude/`, você pode manter os workflows junto ao pacote ao qual se aplicam. Salvar no local do projeto grava no diretório `.claude/workflows/` mais próximo que já existe entre seu diretório de trabalho e a raiz do repositório, ou na raiz do repositório se ainda não existir nenhum. Os workflows de projeto também são carregados de cada `.claude/workflows/` ao longo desse caminho e, quando mais de um define o mesmo nome, o Claude Code executa o mais próximo do diretório de trabalho.

209 209 

210Se um fluxo de trabalho de projeto e um fluxo de trabalho pessoal compartilham um nome, o do projeto é executado.210Se um workflow de projeto e um workflow pessoal compartilharem um nome, o de projeto é executado.

211 211 

212### Distribuir um fluxo de trabalho em um plugin212### Distribua um workflow em um plugin

213 213 

214Para compartilhar um fluxo de trabalho entre equipes ou repositórios, inclua-o em um [plugin](https://code.claude.com/docs/pt/plugins/overview.md). Coloque o script em um diretório `workflows/` na raiz do plugin, ou aponte para um local diferente com o [campo de manifesto `workflows`](https://code.claude.com/docs/pt/plugins/manifest-reference#fields).214Para compartilhar um workflow entre equipes ou repositórios, inclua-o em um [plugin](https://code.claude.com/docs/pt/plugins/overview.md). Coloque o script em um diretório `workflows/` na raiz do plugin ou aponte para um local diferente com o [campo de manifesto `workflows`](https://code.claude.com/docs/pt/plugins/manifest-reference#fields).

215 215 

216Os fluxos de trabalho de plugin são nomeados pelo nome do plugin. Um plugin chamado `acme-tools` contendo um script cujo `meta.name` é `release-audit` é executado como `/acme-tools:release-audit`.216Os workflows de plugin recebem o nome do plugin como namespace. Um plugin chamado `acme-tools` que contém um script cujo `meta.name` é `release-audit` é executado como `/acme-tools:release-audit`.

217 217 

218### Passar entrada para um fluxo de trabalho salvo218### Passe entrada para um workflow salvo

219 219 

220Um fluxo de trabalho salvo pode aceitar entrada através do parâmetro `args`. O script o lê como um global nomeado `args`. Use isso para fornecer uma pergunta de pesquisa, uma lista de caminhos de destino ou um objeto de configuração no momento da invocação em vez de editar o script para cada execução.220Um workflow salvo pode aceitar entrada por meio do parâmetro `args`. O script a lê como uma variável global chamada `args`. Use isso para fornecer uma pergunta de pesquisa, uma lista de caminhos de destino ou um objeto de configuração no momento da invocação, em vez de editar o script a cada execução.

221 221 

222O prompt a seguir executa um fluxo de trabalho salvo com uma lista de números de problemas:222O prompt a seguir executa um workflow salvo com uma lista de números de issues:

223 223 

224```text wrap theme={null}224```text wrap theme={null}

225Run /triage-issues on issues 1024, 1025, and 1030225Run /triage-issues on issues 1024, 1025, and 1030

226```226```

227 227 

228Claude passa a lista como dados estruturados, então o script pode chamar métodos de array e objeto em `args` diretamente sem analisá-lo primeiro. Se `args` for omitido, o global é `undefined` dentro do script.228O Claude passa a lista como dados estruturados, então o script pode chamar métodos de array e de objeto diretamente em `args` sem precisar analisá-la primeiro. Se `args` for omitido, a variável global é `undefined` dentro do script.

229 229 

230## Exemplos de prompts de fluxo de trabalho230## Exemplos de prompts de fluxo de trabalho

231 231 

worktrees.md +15 −1

Details

214 214 

215### Reutilize um nome de worktree215### Reutilize um nome de worktree

216 216 

217Passar `--worktree` um nome cujo diretório já existe abre essa worktree existente em vez de criar uma nova.217Se um worktree com o nome que você passa para `--worktree` já existir, Claude Code o abre em vez de criar um novo. Se Claude Code parar com um erro contendo `belongs to a different repository` ou `is a leftover worktree`, consulte [O diretório do worktree `belongs to a different repository`](#belongs-to-a-different-repository).

218 218 

219Com a [base](#choose-the-base-branch) padrão `"fresh"`, um worktree reaberto é redefinido para o branch padrão do repositório em vez de continuar em sua ponta antiga quando todas as seguintes condições se aplicam:219Com a [base](#choose-the-base-branch) padrão `"fresh"`, um worktree reaberto é redefinido para o branch padrão do repositório em vez de continuar em sua ponta antiga quando todas as seguintes condições se aplicam:

220 220 


353 353 

354Um erro contendo `This repository is a partial clone` significa que Claude Code não conseguiu buscar todos os objetos git de que o commit inicial do worktree precisa. Execute a ação indicada na frase da mensagem que termina em `try again`. Em seguida, tente novamente a partir do shell onde você a executou: execute `claude --worktree`, ou inicie `claude` ali e peça novamente.354Um erro contendo `This repository is a partial clone` significa que Claude Code não conseguiu buscar todos os objetos git de que o commit inicial do worktree precisa. Execute a ação indicada na frase da mensagem que termina em `try again`. Em seguida, tente novamente a partir do shell onde você a executou: execute `claude --worktree`, ou inicie `claude` ali e peça novamente.

355 355 

356### `Can only use --worktree in a git repository`

357 

358Esse erro significa que você passou `--worktree` em um diretório que não é um checkout git, e nenhum [hook `WorktreeCreate`](#non-git-version-control) está ativo.

359 

360* Em uma pasta sem controle de versão, execute `git init` ali, crie um primeiro commit e tente novamente.

361* Em um checkout de outro sistema de controle de versão, configure o hook que a mensagem sugere.

362* Para trabalhar diretamente no diretório, inicie Claude sem `--worktree`.

363 

364### O diretório do worktree `belongs to a different repository`

365 

366Os erros `belongs to a different repository` e `is a leftover worktree` significam ambos que o git vincula o diretório do nome de worktree que você passou a outro local. Isso pode acontecer depois que você copia ou move um projeto.

367 

368Passe um nome de worktree diferente. Se o diretório não tiver trabalho a preservar e você não copiou nem moveu um projeto, você pode removê-lo e tentar novamente com o mesmo nome. Após uma cópia ou movimentação, essa nova tentativa pode falhar com `is already checked out elsewhere in this repository`, então use um nome diferente.

369 

356### Claude Code recusa usar uma worktree370### Claude Code recusa usar uma worktree

357 371 

358Um erro começando com `Refusing to use <path> as an isolation worktree` significa que Claude Code verificou a identidade git do diretório antes de adotá-lo como um checkout isolado de sessão ou subagente, e recusou. A verificação executa se Claude Code está criando a worktree, entrando em uma existente, ou reutilizando uma de uma execução anterior.372Um erro começando com `Refusing to use <path> as an isolation worktree` significa que Claude Code verificou a identidade git do diretório antes de adotá-lo como um checkout isolado de sessão ou subagente, e recusou. A verificação executa se Claude Code está criando a worktree, entrando em uma existente, ou reutilizando uma de uma execução anterior.