569| `includePartialMessages` | `boolean` | `false` | Inclui eventos de mensagens parciais |569| `includePartialMessages` | `boolean` | `false` | Inclui eventos de mensagens parciais |
570| `loadTimeoutMs` | `number` | `60000` | *Alpha.* Timeout em milissegundos para cada chamada de `sessionStore.load()` e `sessionStore.listSubkeys()` durante a materialização da retomada. Se o adaptador não concluir dentro dessa janela, a query falha em vez de travar. Ignorado quando `sessionStore` não está definido |570| `loadTimeoutMs` | `number` | `60000` | *Alpha.* Timeout em milissegundos para cada chamada de `sessionStore.load()` e `sessionStore.listSubkeys()` durante a materialização da retomada. Se o adaptador não concluir dentro dessa janela, a query falha em vez de travar. Ignorado quando `sessionStore` não está definido |
571| `managedSettings` | `Settings` | `undefined` | Configurações de nível de política que seu processo host fornece à sessão iniciada. Em máquinas com configurações gerenciadas implantadas pelo administrador, o Claude Code as ignora, a menos que a fonte gerenciada de maior prioridade do administrador defina `parentSettingsBehavior: 'merge'`, e nunca as mescla enquanto um [`policyHelper`](/docs/pt/settings-reference#policyhelper) fornece configurações gerenciadas. Os valores mesclados passam por um filtro somente restritivo; [Restringir configurações do processo pai](/docs/pt/claude-apps-gateway#restrict-parent-settings) explica o que o filtro admite e os bloqueios `allowManaged*Only`. Um host que define [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/pt/env-vars) tem, em vez disso, três chaves lidas diretamente deste payload: sua [configuração de modelo](/docs/pt/model-config#restrict-model-selection) no Claude Code v2.1.222 ou posterior, [`modelPricing`](/docs/pt/settings-reference#modelpricing) quando nenhuma fonte gerenciada a define no v2.1.246 ou posterior, e sua entrada de env `ENABLE_TOOL_SEARCH` no v2.1.247 ou posterior |571| `managedSettings` | `Settings` | `undefined` | Configurações de nível de política que seu processo host fornece à sessão iniciada. Em máquinas com configurações gerenciadas implantadas pelo administrador, o Claude Code as ignora, a menos que a fonte gerenciada de maior prioridade do administrador defina `parentSettingsBehavior: 'merge'`, e nunca as mescla enquanto um [`policyHelper`](/docs/pt/settings-reference#policyhelper) fornece configurações gerenciadas. Os valores mesclados passam por um filtro somente restritivo; [Restringir configurações do processo pai](/docs/pt/claude-apps-gateway#restrict-parent-settings) explica o que o filtro admite e os bloqueios `allowManaged*Only`. Um host que define [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/pt/env-vars) tem, em vez disso, três chaves lidas diretamente deste payload: sua [configuração de modelo](/docs/pt/model-config#restrict-model-selection) no Claude Code v2.1.222 ou posterior, [`modelPricing`](/docs/pt/settings-reference#modelpricing) quando nenhuma fonte gerenciada a define no v2.1.246 ou posterior, e sua entrada de env `ENABLE_TOOL_SEARCH` no v2.1.247 ou posterior |
572| `maxBudgetUsd` | `number` | `undefined` | Interrompe a query quando a estimativa de custo do lado do cliente atinge este valor em USD. Conta apenas o gasto da própria chamada; totais restaurados de uma sessão retomada não contam. Para ressalvas de precisão e comportamento de redefinição, consulte [Acompanhar custo e uso](/docs/pt/agent-sdk/cost-tracking) |572| `maxBudgetUsd` | `number` | `undefined` | Interrompe a consulta quando a estimativa de custo do lado do cliente atinge este valor em USD. A estimativa pode ultrapassar esse valor, então [deixe uma margem](/docs/pt/agent-sdk/agent-loop#budget-headroom). Conta apenas o gasto da própria chamada; totais restaurados de uma sessão retomada não contam. Para ressalvas de precisão e comportamento de redefinição, consulte [Acompanhar custo e uso](/docs/pt/agent-sdk/cost-tracking) |
573| `maxThinkingTokens` | `number` | `undefined` | *Obsoleto:* use `thinking` em vez disso. Máximo de tokens para o processo de pensamento |573| `maxThinkingTokens` | `number` | `undefined` | *Obsoleto:* use `thinking` em vez disso. Máximo de tokens para o processo de pensamento |
574| `maxTurns` | `number` | `undefined` | Máximo de turnos agênticos (idas e voltas de uso de ferramentas) |574| `maxTurns` | `number` | `undefined` | Máximo de turnos agênticos (idas e voltas de uso de ferramentas) |
575| `mcpServers` | `Record<string, [`McpServerConfig`](#mcpserverconfig)>` | `{}` | Configurações de servidores MCP |575| `mcpServers` | `Record<string, [`McpServerConfig`](#mcpserverconfig)>` | `{}` | Configurações de servidores MCP |
631```631```
632 632
633* `API_TIMEOUT_MS`: timeout por requisição no cliente da Anthropic, em milissegundos. Padrão `600000`. Aplica-se ao loop principal e a todos os subagentes.633* `API_TIMEOUT_MS`: timeout por requisição no cliente da Anthropic, em milissegundos. Padrão `600000`. Aplica-se ao loop principal e a todos os subagentes.
634* `CLAUDE_CODE_MAX_RETRIES`: máximo de novas tentativas na API. Padrão `10`, limitado a `15`. Cada nova tentativa tem sua própria janela de `API_TIMEOUT_MS`, então o tempo total no pior caso é aproximadamente `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` mais o backoff. Para execuções não assistidas que precisam aguardar interrupções mais longas, defina [`CLAUDE_CODE_RETRY_WATCHDOG=1`](/docs/pt/errors#tune-retry-behavior): ele tenta novamente indefinidamente em erros transitórios de capacidade e, no Claude Code v2.1.199 ou posterior, aumenta o padrão para outros erros transitórios para `300` e remove o limite desta variável.634* `CLAUDE_CODE_MAX_RETRIES`: máximo de novas tentativas da API. Padrão `10`, limitado a `15`. Cada nova tentativa recebe sua própria janela de `API_TIMEOUT_MS`.
635
636 Para execuções autônomas que precisam aguardar interrupções mais longas, defina [`CLAUDE_CODE_RETRY_WATCHDOG=1`](/docs/pt/errors#tune-retry-behavior): isso tenta novamente de forma indefinida em erros transitórios de capacidade e, no Claude Code v2.1.199 ou posterior, eleva o padrão para outros erros transitórios para `300` e remove o limite desta variável.
635* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: watchdog de travamento para subagentes. Enquanto o watchdog de stream está ativo, o padrão é `CLAUDE_STREAM_IDLE_TIMEOUT_MS` mais 5 minutos, o que resulta em `600000`, a menos que você aumente essa variável. Com o watchdog de stream desativado, o padrão é `600000`. Antes do v2.1.257, o padrão era sempre `600000`.637* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: watchdog de travamento para subagentes. Enquanto o watchdog de stream está ativo, o padrão é `CLAUDE_STREAM_IDLE_TIMEOUT_MS` mais 5 minutos, o que resulta em `600000`, a menos que você aumente essa variável. Com o watchdog de stream desativado, o padrão é `600000`. Antes do v2.1.257, o padrão era sempre `600000`.
636 638
637 O temporizador é reiniciado a cada evento do stream. Em um travamento, o Claude Code aborta o subagente e informa o travamento ao agente pai. Para um subagente em segundo plano, ele também marca a tarefa como falha e anexa qualquer resultado parcial.639 O temporizador é reiniciado a cada evento do stream. Em um travamento, o Claude Code aborta o subagente e informa o travamento ao agente pai. Para um subagente em segundo plano, ele também marca a tarefa como falha e anexa qualquer resultado parcial.
1561 parent_tool_use_id: string | null;1563 parent_tool_use_id: string | null;
1562 error?: SDKAssistantMessageError;1564 error?: SDKAssistantMessageError;
1563 aborted?: true;1565 aborted?: true;
1566 agent_id?: string;
1564 timestamp?: string;1567 timestamp?: string;
1565 context_usage?: SDKContextUsage;1568 context_usage?: SDKContextUsage;
1566 user_message_uuid?: string;1569 user_message_uuid?: string;
1580 1583
1581`aborted` é `true` quando uma interrupção ou cancelamento truncou a mensagem do assistente antes da conclusão do stream: a mensagem não tem `stop_reason` e o conteúdo pode terminar no meio de uma palavra. O campo está ausente em mensagens normalmente concluídas. Requer Agent SDK v0.3.214 ou posterior.1584`aborted` é `true` quando uma interrupção ou cancelamento truncou a mensagem do assistente antes da conclusão do stream: a mensagem não tem `stop_reason` e o conteúdo pode terminar no meio de uma palavra. O campo está ausente em mensagens normalmente concluídas. Requer Agent SDK v0.3.214 ou posterior.
1582 1585
1586`agent_id` identifica o subagente que produziu a mensagem e está ausente em mensagens da thread principal. O valor é igual ao `task_id` no [`task_started`](#sdktaskstartedmessage) desse subagente e em outros eventos de tarefa, e permanece inalterado quando o subagente é [retomado](/docs/pt/agent-sdk/subagents#resume-subagents). O campo requer o Agent SDK v0.3.292 ou posterior.
1587
1588Associe as mensagens de um subagente aos seus eventos de tarefa pelo `agent_id`, em vez de parear o `parent_tool_use_id` de uma mensagem com o `tool_use_id` de um evento de tarefa. Quando uma chamada de ferramenta retoma o subagente, os eventos de tarefa carregam o `tool_use_id` dessa chamada, enquanto as mensagens mantêm o `parent_tool_use_id` da chamada de ferramenta que iniciou o subagente pela primeira vez, de modo que os dois deixam de corresponder.
1589
1583Claude Code define `user_message_uuid` e `user_message_uuids` na primeira mensagem do assistente do turno, sob as condições em [`user_message_uuid`](#user_message_uuid). Quando Claude Code re-executa um turno que uma reinicialização interrompeu, as mensagens do assistente da re-execução que carregam esses campos também carregam [`resume_reason`](#resume_reason).1590Claude Code define `user_message_uuid` e `user_message_uuids` na primeira mensagem do assistente do turno, sob as condições em [`user_message_uuid`](#user_message_uuid). Quando Claude Code re-executa um turno que uma reinicialização interrompeu, as mensagens do assistente da re-execução que carregam esses campos também carregam [`resume_reason`](#resume_reason).
1584 1591
1585`timestamp` é a hora ISO 8601 quando o conteúdo da mensagem terminou de ser gerado no processo que o produziu. O valor vem do relógio dessa máquina, portanto use-o apenas para exibição e não ordene mensagens por ele. Um turno de API pode produzir várias mensagens do assistente que compartilham um `message.id`, cada uma com seu próprio `timestamp`. Quando o campo está ausente, recorra à hora em que você recebeu a mensagem.1592`timestamp` é a hora ISO 8601 quando o conteúdo da mensagem terminou de ser gerado no processo que o produziu. O valor vem do relógio dessa máquina, portanto use-o apenas para exibição e não ordene mensagens por ele. Um turno de API pode produzir várias mensagens do assistente que compartilham um `message.id`, cada uma com seu próprio `timestamp`. Quando o campo está ausente, recorra à hora em que você recebeu a mensagem.
1597 type: "user";1604 type: "user";
1598 uuid?: UUID;1605 uuid?: UUID;
1599 session_id?: string;1606 session_id?: string;
1607 agent_id?: string;
1600 message: MessageParam; // From Anthropic SDK1608 message: MessageParam; // From Anthropic SDK
1601 pasted_content?: MessageParam["content"][];1609 pasted_content?: MessageParam["content"][];
1602 parent_tool_use_id: string | null;1610 parent_tool_use_id: string | null;
1636};1644};
1637```1645```
1638 1646
1647Uma mensagem de usuário que um subagente produz, como o `tool_result` de uma de suas próprias chamadas de ferramenta, carrega `agent_id`. Consulte [`SDKAssistantMessage`](#sdkassistantmessage), que define o campo e seu requisito de versão.
1648
1639Em uma mensagem que carrega um bloco `tool_result`, `tool_use_result` é o objeto de saída estruturada da ferramenta, e não o texto enviado ao modelo. Seu formato depende da ferramenta nomeada pelo bloco `tool_use` correspondente, por isso o campo é tipado como `unknown`; os formatos integrados estão listados em [Tipos de saída de ferramentas](#tool-output-types). Estes resultados exigem tratamento além do formato listado:1649Em uma mensagem que carrega um bloco `tool_result`, `tool_use_result` é o objeto de saída estruturada da ferramenta, e não o texto enviado ao modelo. Seu formato depende da ferramenta nomeada pelo bloco `tool_use` correspondente, por isso o campo é tipado como `unknown`; os formatos integrados estão listados em [Tipos de saída de ferramentas](#tool-output-types). Estes resultados exigem tratamento além do formato listado:
1640 1650
1641* A ferramenta `Agent`: `tool_use_result` é [`AgentOutput`](#agent-2). Renderize a partir dele em vez de analisar o texto de `tool_result`. O `content` de um resultado `completed` contém o relatório do subagente ou, no caso de um subagente cujo relatório passa por uma chamada de ferramenta `SubagentHandback`, uma breve nota sobre essa devolução no lugar do relatório. No [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) no Claude Code v2.1.271 ou posterior, todo subagente que produz um resultado `completed` reporta dessa forma, a menos que seja um [fork](/docs/pt/sub-agents#fork-the-current-conversation), e o Claude recebe o relatório como uma mensagem separada do subagente.1651* A ferramenta `Agent`: `tool_use_result` é [`AgentOutput`](#agent-2). Renderize a partir dele em vez de analisar o texto de `tool_result`. O `content` de um resultado `completed` contém o relatório do subagente ou, no caso de um subagente cujo relatório passa por uma chamada de ferramenta `SubagentHandback`, uma breve nota sobre essa devolução no lugar do relatório. No [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) no Claude Code v2.1.271 ou posterior, todo subagente que produz um resultado `completed` reporta dessa forma, a menos que seja um [fork](/docs/pt/sub-agents#fork-the-current-conversation), e o Claude recebe o relatório como uma mensagem separada do subagente.
1992 `SDKPartialAssistantMessage`2002 `SDKPartialAssistantMessage`
1993</h3>2003</h3>
1994 2004
1995Mensagem parcial de streaming (apenas quando `includePartialMessages` é true). O campo `parent_tool_use_id` é sempre `null`: eventos de stream são emitidos apenas para a sessão principal. Para atribuição de subagente, use mensagens completas, que carregam `parent_tool_use_id`, ou ative [`forwardSubagentText`](#options) para receber texto e pensamento de subagente como mensagens completas.2005Mensagem parcial de streaming (apenas quando `includePartialMessages` é true).
2006
2007O campo `parent_tool_use_id` é sempre `null`: eventos de stream são emitidos apenas para a sessão principal. Para atribuição a subagentes, use mensagens completas, que carregam [`agent_id`](#sdkassistantmessage) e `parent_tool_use_id`, ou ative [`forwardSubagentText`](#options) para receber o texto e o pensamento dos subagentes como mensagens completas.
1996 2008
1997```typescript theme={null}2009```typescript theme={null}
1998type SDKPartialAssistantMessage = {2010type SDKPartialAssistantMessage = {
3418type WebFetchInput = {3430type WebFetchInput = {
3419 url: string;3431 url: string;
3420 prompt: string;3432 prompt: string;
3433 offset?: number;
3421};3434};
3422```3435```
3423 3436
3424Busca conteúdo de uma URL e o processa com um modelo de IA.3437Busca conteúdo de uma URL e o processa com um modelo de IA.
3425 3438
3439`offset` é o número de caracteres a pular a partir do início da página. Claude o define para continuar lendo uma página longa. O campo requer Agent SDK v0.3.290 ou posterior.
3440
3426<h3 id="websearch">3441<h3 id="websearch">
3427 WebSearch3442 WebSearch
3428</h3>3443</h3>
5777 task_type?: string;5792 task_type?: string;
5778 is_backgrounded?: boolean;5793 is_backgrounded?: boolean;
5779 spawn_depth?: number;5794 spawn_depth?: number;
5795 parent_task_id?: string;
5780 ambient?: boolean;5796 ambient?: boolean;
5781 uuid: UUID;5797 uuid: UUID;
5782 session_id: string;5798 session_id: string;
5794 5810
5795Um [subagente retomado](/docs/pt/agent-sdk/subagents#resume-subagents) sempre relata `is_backgrounded: true`, porque Claude Code executa cada subagente retomado em segundo plano. Quando uma tarefa em primeiro plano se move para segundo plano depois, Claude Code relata o novo valor `is_backgrounded` em uma mensagem [`task_updated`](#sdktaskupdatedmessage) em vez de enviar um segundo `task_started`.5811Um [subagente retomado](/docs/pt/agent-sdk/subagents#resume-subagents) sempre relata `is_backgrounded: true`, porque Claude Code executa cada subagente retomado em segundo plano. Quando uma tarefa em primeiro plano se move para segundo plano depois, Claude Code relata o novo valor `is_backgrounded` em uma mensagem [`task_updated`](#sdktaskupdatedmessage) em vez de enviar um segundo `task_started`.
5796 5812
5813`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:
5814
5815* A thread principal iniciou a tarefa
5816* Claude Code não rastreia mais a tarefa pai
5817* Um [colega de equipe](/docs/pt/agent-teams) ou um agente dentro de um fluxo de trabalho iniciou a tarefa
5818
5819O 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.
5820
5797<h3 id="sdktaskprogressmessage">5821<h3 id="sdktaskprogressmessage">
5798 `SDKTaskProgressMessage`5822 `SDKTaskProgressMessage`
5799</h3>5823</h3>
5850 `SDKBackgroundTasksChangedMessage`5874 `SDKBackgroundTasksChangedMessage`
5851</h3>5875</h3>
5852 5876
5853Emitido sempre que o conjunto de tarefas em segundo plano ativas muda: uma tarefa inicia, é concluída, é eliminada, um agente em primeiro plano é colocado em segundo plano, ou o campo `description` ou `ambient` de uma tarefa muda.5877Emitido 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 o campo `parent_task_id` em cada entrada, veja [`SDKTaskStartedMessage`](#sdktaskstartedmessage), que o define e seu requisito de versão.
5854 5878
5855O 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.5879O 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.
5856 5880
5857A ordenação relativa a esses eventos por tarefa é não especificada, então não correlacione os dois fluxos.5881Quando 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.
5858 5882
5859Nada é 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.5883Nada é 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.
5860 5884
5871 task_type: string;5895 task_type: string;
5872 subagent_type?: string;5896 subagent_type?: string;
5873 description: string;5897 description: string;
5898 parent_task_id?: string;
5874 ambient?: boolean;5899 ambient?: boolean;
5875 }[];5900 }[];
5876 uuid: UUID;5901 uuid: UUID;