---
title: O que há de novo no Claude Fable 5.1
url: https://platform.claude.com/docs/pt-BR/models/fable-5-1/whats-new-fable-5-1
description: Visão geral dos novos recursos, mudanças incompatíveis e melhorias de capacidade no Claude Fable 5.1 e no Claude Mythos 5.1.
---

O Claude Fable 5.1 estende o Claude Fable 5 com os mesmos preços de entrada e saída, com leituras de cache a um quarto do custo, e traz melhor desempenho em codificação agêntica de longa duração, pesquisa em várias etapas e trabalho com documentos, planilhas e slides. Para a maioria das cargas de trabalho, comece com o Claude Opus 5.5 (consulte [Escolhendo um modelo](https://platform.claude.com/docs/pt-BR/about-claude/models/choosing-a-model)). Use o Claude Fable 5.1 para raciocínio exigente e trabalho agêntico de longo horizonte, ou quando suas avaliações no Claude Opus 5.5 com esforço mais alto ainda ficarem aquém. O Claude Mythos 5.1 oferece as mesmas capacidades apenas para organizações verificadas por meio dos programas de verificação da Anthropic, como o [Cyber Verification Program](https://support.claude.com/en/articles/14604842).

Se você já chama o Claude Fable 5, três mudanças são incompatíveis: [o uso forçado de ferramentas retorna um erro](https://platform.claude.com/docs/pt-BR/models/fable-5-1/whats-new-fable-5-1#forced-tool-use-is-not-supported), [apenas o Claude Fable 5.1 e o Claude Mythos 5.1 podem ler os blocos de pensamento do Claude Fable 5.1](https://platform.claude.com/docs/pt-BR/models/fable-5-1/whats-new-fable-5-1#thinking-blocks-are-tied-to-the-model-that-produced-them) e [editar turnos anteriores invalida blocos de pensamento](https://platform.claude.com/docs/pt-BR/models/fable-5-1/whats-new-fable-5-1#editing-earlier-turns-invalidates-thinking-blocks). Cinco são aditivas: [esforço por mensagem](https://platform.claude.com/docs/pt-BR/models/fable-5-1/whats-new-fable-5-1#change-effort-mid-conversation-beta) (beta), [mensagens do sistema com escopo de turno](https://platform.claude.com/docs/pt-BR/models/fable-5-1/whats-new-fable-5-1#turn-scoped-system-messages-beta) (beta), [atualizações de progresso legíveis entre chamadas de ferramentas](https://platform.claude.com/docs/pt-BR/models/fable-5-1/whats-new-fable-5-1#progress-updates-between-tool-calls-beta) (`display: "updates"`, beta), um [preço menor de leitura de cache](https://platform.claude.com/docs/pt-BR/models/fable-5-1/whats-new-fable-5-1#pricing) e [proveniência de conteúdo](https://platform.claude.com/docs/pt-BR/models/fable-5-1/whats-new-fable-5-1#content-provenance).

## Modelos

| Modelo            | ID na Claude API  | Descrição                                                                                                   | Disponibilidade                                                                                                                                                   |
| ----------------- | ----------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Claude Fable 5.1  | claude-fable-5-1  | Sucessor do Claude Fable 5, para codificação agêntica de longa duração, trabalho de conhecimento e pesquisa | Todos os clientes, na Claude API e em plataformas parceiras                                                                                                       |
| Claude Mythos 5.1 | claude-mythos-5-1 | Mesmas capacidades do Claude Fable 5.1. Sucessor do Claude Mythos 5.                                        | Organizações verificadas por meio dos programas de verificação da Anthropic, como o [Cyber Verification Program](https://support.claude.com/en/articles/14604842) |

O Claude Fable 5.1 e o Claude Mythos 5.1 compartilham especificações e preços:

* **Janela de contexto e saída:** uma ["context window" (janela de contexto) de 1M tokens](https://platform.claude.com/docs/pt-BR/build-with-claude/context-windows) (padrão e máxima) com preço padrão por token em toda a janela, e até 128k tokens de saída.
* **Pensamento:** o ["adaptive thinking" (pensamento adaptativo)](https://platform.claude.com/docs/pt-BR/build-with-claude/thinking) está sempre ativado. Use o [parâmetro "effort" (esforço)](https://platform.claude.com/docs/pt-BR/build-with-claude/effort) para controlar a profundidade do pensamento.
* **Preços:** os mesmos do Claude Fable 5, exceto por um [preço menor de leitura de cache](https://platform.claude.com/docs/pt-BR/models/fable-5-1/whats-new-fable-5-1#pricing).
* **Tokenizador:** o mesmo do Claude Fable 5 (introduzido com o Claude Opus 4.7). Em comparação com modelos anteriores ao Claude Opus 4.7, o mesmo texto produz aproximadamente 30% mais tokens. Consulte [Contagem de tokens](https://platform.claude.com/docs/pt-BR/build-with-claude/token-counting).

Para todos os modelos atuais, consulte a [visão geral dos modelos](https://platform.claude.com/docs/pt-BR/models/overview).

## Mudanças incompatíveis

### O uso forçado de ferramentas não é suportado

O Claude Fable 5.1 e o Claude Mythos 5.1 não suportam "forced tool use" (uso forçado de ferramentas). Definir `tool_choice` como `{"type": "any"}` ou `{"type": "tool", "name": "..."}` retorna um erro 400 `invalid_request_error`:

```text wrap
tool_choice: type "tool" and "any" are not supported for this model.
```

`tool_choice: {"type": "auto"}` (o padrão) e `{"type": "none"}` não mudaram. A mesma validação se aplica ao endpoint de [contagem de tokens](https://platform.claude.com/docs/pt-BR/build-with-claude/token-counting).

O pensamento está sempre ativado nesses modelos, e uma chamada de ferramenta forçada o pularia. Nesse caso, o modelo escreveria seu raciocínio nos argumentos da ferramenta, o que reduz a qualidade dos argumentos. Para obter JSON válido segundo o schema, mantenha `tool_choice: {"type": "auto"}` e defina `strict: true` com o [uso estrito de ferramentas](https://platform.claude.com/docs/pt-BR/agents-and-tools/tool-use/strict-tool-use), ou mova o schema para [saídas estruturadas](https://platform.claude.com/docs/pt-BR/build-with-claude/structured-outputs). Para fazer o modelo chamar uma ferramenta em vez de responder em texto, indique no prompt quando a ferramenta se aplica (por exemplo, "Use a ferramenta `get_weather` para responder"). O Claude Fable 5.1 segue instruções explícitas sobre ferramentas de forma confiável.

### Apenas o Claude Fable 5.1 e o Claude Mythos 5.1 leem os blocos de pensamento do Claude Fable 5.1

Cada bloco de pensamento registra qual modelo o produziu. O Claude Fable 5.1 lê os blocos de pensamento de modelos anteriores, mas apenas o Claude Fable 5.1 e o Claude Mythos 5.1 leem os do Claude Fable 5.1. Uma conversa que passa para o Claude Fable 5.1 (a partir do Claude Opus 5, do Claude Fable 5 ou de qualquer modelo Claude anterior) mantém seu raciocínio. Uma conversa que passa do Claude Fable 5.1 para qualquer outro modelo o perde nos turnos executados lá.

Quando uma requisição carrega um bloco que o modelo de destino não consegue ler (um roteador ou fallback que troca de modelo no meio da conversa, por exemplo), a API descarta o bloco antes que o modelo o veja. Blocos descartados não contam para `input_tokens` e não são cobrados. Com o cabeçalho beta `thinking-binding-controls-2026-08-01`, o descarte é informado em um array `input_transformations` de nível superior. Sem ele, o descarte é silencioso. Consulte [Trocar de modelo no meio da conversa](https://platform.claude.com/docs/pt-BR/build-with-claude/preserved-thinking#switching-models).

### Editar turnos anteriores invalida blocos de pensamento

Modificar qualquer coisa antes de um bloco de pensamento do Claude Fable 5.1 (o prompt `system`, as `tools` ou uma mensagem anterior) resulta em um erro na próxima requisição. Se você optar por isso, o bloco é descartado em vez de gerar o erro. O Claude Mythos 5.1 não executa essa verificação. O Claude Code, o claude.ai, os [Claude Managed Agents](https://platform.claude.com/docs/pt-BR/managed-agents/overview) e o [Claude Agent SDK](https://code.claude.com/docs/en/agent-sdk/overview) mantêm esse prefixo intacto para você. Se o seu código monta o array `messages` por conta própria, verifique-o antes de migrar: [Pensamento preservado](https://platform.claude.com/docs/pt-BR/build-with-claude/preserved-thinking) explica a verificação e cada correção. A verificação é aplicada a contas novas criadas a partir de 31 de agosto de 2026. Para contas criadas antes disso, a API registra a divergência, mas só age sobre ela quando a requisição define `thinking.block_binding.prefix_mismatch_behavior`.

Estes padrões invalidam todos os blocos de pensamento posteriores:

* Editar, reordenar ou remover um turno anterior enquanto mantém os posteriores.
* Injetar texto específico da requisição em um turno anterior (um lembrete ou uma linha de status) e removê-lo na próxima requisição.
* Reconstruir o prompt `system` de nível superior ou o array `tools` entre requisições da mesma conversa.
* Uma URL de imagem ou documento que serve bytes diferentes em uma requisição posterior. A verificação cobre os bytes, não a URL, então uma URL assinada rotativa para o mesmo arquivo não causa problema.

Estas ações mantêm os blocos posteriores válidos:

* Remover uma sequência inicial de blocos de pensamento (os mais antigos primeiro).
* Deixar que a compactação ou a edição de contexto no lado do servidor reduza o histórico.
* Mover marcadores `cache_control`.
* Alterar `effort` entre requisições.

Remover um bloco de pensamento de qualquer lugar que não seja o início da sequência invalida todos os blocos de pensamento depois dele.

Onde a verificação é aplicada, uma requisição que reenvia um bloco invalidado é rejeitada com um erro 400 cuja mensagem diz `The block is bound to a different conversation`. Para descartar o bloco e continuar, envie o cabeçalho beta `thinking-binding-controls-2026-08-01` com `thinking.block_binding.prefix_mismatch_behavior: "drop_block"`. O descarte é informado em `input_transformations` com `reason: "prefix_binding_mismatch"`.

Para manter o pensamento válido ao longo de uma sessão longa, trate a conversa como somente de acréscimo (append-only):

* **Instruções:** adicione-as com uma [mensagem do sistema no meio da conversa](https://platform.claude.com/docs/pt-BR/build-with-claude/mid-conversation-system-messages) em vez de editar `system`. Use uma mensagem [com escopo de turno](https://platform.claude.com/docs/pt-BR/models/fable-5-1/whats-new-fable-5-1#turn-scoped-system-messages-beta) se ela deve valer para apenas um turno.
* **Ferramentas:** altere-as com [mudanças de ferramentas no meio da conversa](https://platform.claude.com/docs/pt-BR/build-with-claude/mid-conversation-system-messages#mid-conversation-tool-changes) em vez de editar `tools`.
* **Contexto:** reduza-o com a [edição de contexto](https://platform.claude.com/docs/pt-BR/build-with-claude/context-editing) ou a [compactação](https://platform.claude.com/docs/pt-BR/build-with-claude/compaction) no lado do servidor, que não contam como edições.

Esses padrões também mantêm o ["prompt cache" (cache de prompt)](https://platform.claude.com/docs/pt-BR/build-with-claude/prompt-caching) aquecido. Para descobrir se a sua integração edita o histórico, execute uma sessão com `prefix_mismatch_behavior: "drop_block"` e registre `input_transformations`. O [guia de migração](https://platform.claude.com/docs/pt-BR/models/fable-5-1/migration-guide#fable-5-1-preserved-thinking) traz a verificação em três etapas. Consulte [Mantendo o prefixo inalterado](https://platform.claude.com/docs/pt-BR/build-with-claude/preserved-thinking#prefix-check) para ver as regras completas.

## Novos recursos

### Alterar o esforço no meio da conversa (beta)

No Claude Fable 5.1, você pode alterar o nível de [esforço](https://platform.claude.com/docs/pt-BR/build-with-claude/effort) no meio da conversa sem invalidar o cache de prompt. Aumente-o para uma etapa difícil e diminua-o para as rotineiras. O esforço por mensagem está em beta: inclua o cabeçalho beta `mid-conversation-output-config-2026-07-01`. O Claude Fable 5.1 e o Claude Mythos 5.1 o suportam na Claude API, no Google Cloud e no Amazon Bedrock. Para usá-lo com o Claude Fable 5.1 por meio da [InvokeModel API](https://platform.claude.com/docs/pt-BR/build-with-claude/claude-on-amazon-bedrock-legacy) do Amazon Bedrock, envie esse valor no array `anthropic_beta` do corpo da requisição em vez disso. Para os outros modelos que o suportam e as plataformas de cada um, consulte [Alterar o esforço no meio da conversa](https://platform.claude.com/docs/pt-BR/build-with-claude/effort#changing-effort-mid-conversation).

<CodeGroup>
  ```bash cURL
  # Mensagem do sistema só de esforço: o novo nível vale a partir do próximo turno do usuário.
  curl https://api.anthropic.com/v1/messages \
    -H "x-api-key: $ANTHROPIC_API_KEY" \
    -H "anthropic-version: 2023-06-01" \
    -H "anthropic-beta: mid-conversation-output-config-2026-07-01" \
    -H "content-type: application/json" \
    -d '{
      "model": "claude-fable-5-1",
      "max_tokens": 4096,
      "output_config": {"effort": "high"},
      "messages": [
        {"role": "user", "content": "Plan a migration from SQLite to PostgreSQL in three short steps."},
        {"role": "assistant", "content": "1. Export the SQLite data. 2. Create the PostgreSQL schema. 3. Import the data and verify row counts."},
        {"role": "system", "content": [], "output_config": {"effort": "low"}},
        {"role": "user", "content": "Summarize the plan in one sentence."}
      ]
    }'
  ```

  ```bash CLI
  ant beta:messages create --beta mid-conversation-output-config-2026-07-01 \
    --transform 'content.#(type=="text").text' --raw-output <<'YAML'
  model: claude-fable-5-1
  max_tokens: 4096
  output_config:
    effort: high
  messages:
    - role: user
      content: Plan a migration from SQLite to PostgreSQL in three short steps.
    - role: assistant
      content: "1. Export the SQLite data. 2. Create the PostgreSQL schema. 3. Import the data and verify row counts."
    # Mensagem do sistema só de esforço: o novo nível vale a partir do próximo turno do usuário.
    - role: system
      content: []
      output_config:
        effort: low
    - role: user
      content: Summarize the plan in one sentence.
  YAML
  ```

  ```python Python
  client = anthropic.Anthropic()

  response = client.beta.messages.create(
      model="claude-fable-5-1",
      max_tokens=4096,
      output_config={"effort": "high"},
      messages=[
          {
              "role": "user",
              "content": "Plan a migration from SQLite to PostgreSQL in three short steps.",
          },
          {
              "role": "assistant",
              "content": "1. Export the SQLite data. 2. Create the PostgreSQL schema. 3. Import the data and verify row counts.",
          },
          # Mensagem do sistema só de esforço: o novo nível vale a partir do próximo turno do usuário.
          {"role": "system", "content": [], "output_config": {"effort": "low"}},
          {"role": "user", "content": "Summarize the plan in one sentence."},
      ],
      betas=["mid-conversation-output-config-2026-07-01"],
  )

  for block in response.content:
      if block.type == "text":
          print(block.text)
  ```

  ```typescript TypeScript
  const client = new Anthropic();

  const response = await client.beta.messages.create({
    model: "claude-fable-5-1",
    max_tokens: 4096,
    output_config: { effort: "high" },
    messages: [
      {
        role: "user",
        content: "Plan a migration from SQLite to PostgreSQL in three short steps."
      },
      {
        role: "assistant",
        content:
          "1. Export the SQLite data. 2. Create the PostgreSQL schema. 3. Import the data and verify row counts."
      },
      // Mensagem de sistema só de esforço: o novo nível vale a partir do próximo turno do usuário.
      { role: "system", content: [], output_config: { effort: "low" } },
      { role: "user", content: "Summarize the plan in one sentence." }
    ],
    betas: ["mid-conversation-output-config-2026-07-01"]
  });

  for (const block of response.content) {
    if (block.type === "text") {
      console.log(block.text);
    }
  }
  ```

  ```csharp C#
  using Anthropic.Models.Beta;
  using Anthropic.Models.Beta.Messages;
  using Model = Anthropic.Models.Messages.Model;

  AnthropicClient client = new();

  var response = await client.Beta.Messages.Create(new MessageCreateParams
  {
      Model = Model.ClaudeFable5_1,
      MaxTokens = 4096,
      OutputConfig = new() { Effort = Effort.High },
      Messages =
      [
          new() { Role = Role.User, Content = "Plan a migration from SQLite to PostgreSQL in three short steps." },
          new() { Role = Role.Assistant, Content = "1. Export the SQLite data. 2. Create the PostgreSQL schema. 3. Import the data and verify row counts." },
          // Mensagem de sistema só de esforço: o novo nível vale a partir do próximo turno do usuário.
          new()
          {
              Role = Role.System,
              Content = new([]),
              OutputConfig = new() { Effort = BetaSystemMessageOutputConfigEffort.Low },
          },
          new() { Role = Role.User, Content = "Summarize the plan in one sentence." },
      ],
      Betas = [AnthropicBeta.MidConversationOutputConfig2026_07_01],
  });

  foreach (var block in response.Content)
  {
      if (block.TryPickText(out var textBlock))
      {
          Console.WriteLine(textBlock.Text);
      }
  }
  ```

  ```go Go
  client := anthropic.NewClient()

  response, err := client.Beta.Messages.New(context.Background(), anthropic.BetaMessageNewParams{
  	Model:     anthropic.ModelClaudeFable5_1,
  	MaxTokens: 4096,
  	OutputConfig: anthropic.BetaOutputConfigParam{
  		Effort: anthropic.BetaOutputConfigEffortHigh,
  	},
  	Messages: []anthropic.BetaMessageParam{
  		anthropic.NewBetaUserMessage(anthropic.NewBetaTextBlock("Plan a migration from SQLite to PostgreSQL in three short steps.")),
  		{
  			Role:    anthropic.BetaMessageParamRoleAssistant,
  			Content: []anthropic.BetaContentBlockParamUnion{anthropic.NewBetaTextBlock("1. Export the SQLite data. 2. Create the PostgreSQL schema. 3. Import the data and verify row counts.")},
  		},
  		// Mensagem de sistema só de esforço: o novo nível vale a partir do próximo turno do usuário.
  		anthropic.NewBetaSystemMessage(anthropic.BetaSystemMessageOutputConfigParam{
  			Effort: anthropic.BetaSystemMessageOutputConfigEffortLow,
  		}),
  		anthropic.NewBetaUserMessage(anthropic.NewBetaTextBlock("Summarize the plan in one sentence.")),
  	},
  	Betas: []anthropic.AnthropicBeta{anthropic.AnthropicBetaMidConversationOutputConfig2026_07_01},
  })
  if err != nil {
  	log.Fatal(err)
  }

  for _, block := range response.Content {
  	if textBlock, ok := block.AsAny().(anthropic.BetaTextBlock); ok {
  		fmt.Println(textBlock.Text)
  	}
  }
  ```

  ```java Java
  import com.anthropic.models.beta.AnthropicBeta;
  import com.anthropic.models.beta.messages.BetaMessage;
  import com.anthropic.models.beta.messages.BetaMessageParam;
  import com.anthropic.models.beta.messages.BetaOutputConfig;
  import com.anthropic.models.beta.messages.BetaSystemMessageOutputConfig;
  import com.anthropic.models.beta.messages.MessageCreateParams;
  import com.anthropic.models.messages.Model;

  void main() {
      AnthropicClient client = AnthropicOkHttpClient.fromEnv();

      MessageCreateParams params = MessageCreateParams.builder()
          .model(Model.CLAUDE_FABLE_5_1)
          .maxTokens(4096L)
          .addBeta(AnthropicBeta.MID_CONVERSATION_OUTPUT_CONFIG_2026_07_01)
          .outputConfig(BetaOutputConfig.builder()
              .effort(BetaOutputConfig.Effort.HIGH)
              .build())
          .addUserMessage("Plan a migration from SQLite to PostgreSQL in three short steps.")
          .addAssistantMessage("1. Export the SQLite data. 2. Create the PostgreSQL schema. 3. Import the data and verify row counts.")
          // Mensagem de sistema só de esforço: o novo nível vale a partir do próximo turno do usuário.
          .addMessage(BetaMessageParam.builder()
              .role(BetaMessageParam.Role.SYSTEM)
              .contentOfBetaContentBlockParams(List.of())
              .outputConfig(BetaSystemMessageOutputConfig.builder()
                  .effort(BetaSystemMessageOutputConfig.Effort.LOW)
                  .build())
              .build())
          .addUserMessage("Summarize the plan in one sentence.")
          .build();

      BetaMessage response = client.beta().messages().create(params);
      response.content().stream()
          .flatMap(block -> block.text().stream())
          .forEach(textBlock -> IO.println(textBlock.text()));
  }
  ```

  ```php PHP
  use Anthropic\Beta\AnthropicBeta;
  use Anthropic\Beta\Messages\BetaMessageParam;
  use Anthropic\Beta\Messages\BetaOutputConfig;
  use Anthropic\Beta\Messages\BetaSystemMessageOutputConfig;
  use Anthropic\Client;

  $client = new Client();

  $response = $client->beta->messages->create(
      model: 'claude-fable-5-1',
      maxTokens: 4096,
      outputConfig: BetaOutputConfig::with(effort: 'high'),
      messages: [
          BetaMessageParam::with(role: 'user', content: 'Plan a migration from SQLite to PostgreSQL in three short steps.'),
          BetaMessageParam::with(role: 'assistant', content: '1. Export the SQLite data. 2. Create the PostgreSQL schema. 3. Import the data and verify row counts.'),
          // Mensagem do sistema só de esforço: o novo nível vale a partir do próximo turno do usuário.
          BetaMessageParam::with(
              role: 'system',
              content: [],
              outputConfig: BetaSystemMessageOutputConfig::with(effort: 'low'),
          ),
          BetaMessageParam::with(role: 'user', content: 'Summarize the plan in one sentence.'),
      ],
      betas: [AnthropicBeta::MID_CONVERSATION_OUTPUT_CONFIG_2026_07_01],
  );

  foreach ($response->content as $block) {
      if ($block->type === 'text') {
          echo $block->text, PHP_EOL;
      }
  }
  ```

  ```ruby Ruby
  client = Anthropic::Client.new

  response = client.beta.messages.create(
    model: "claude-fable-5-1",
    max_tokens: 4096,
    output_config: {effort: :high},
    messages: [
      {role: "user", content: "Plan a migration from SQLite to PostgreSQL in three short steps."},
      {role: "assistant", content: "1. Export the SQLite data. 2. Create the PostgreSQL schema. 3. Import the data and verify row counts."},
      # Mensagem de sistema só de esforço: o novo nível vale a partir do próximo turno do usuário.
      {role: "system", content: [], output_config: {effort: :low}},
      {role: "user", content: "Summarize the plan in one sentence."}
    ],
    betas: [Anthropic::AnthropicBeta::MID_CONVERSATION_OUTPUT_CONFIG_2026_07_01]
  )

  response.content.each do |block|
    puts block.text if block.type == :text
  end
  ```
</CodeGroup>

Consulte [Esforço por mensagem](https://platform.claude.com/docs/pt-BR/build-with-claude/effort#change-effort-mid-conversation-beta) para mais detalhes.

### Mensagens do sistema com escopo de turno (beta)

Uma [mensagem do sistema no meio da conversa](https://platform.claude.com/docs/pt-BR/build-with-claude/mid-conversation-system-messages) pode ter escopo limitado a um turno. Defina `clear_at: "next_user_message"` em uma mensagem `role: "system"`. O texto dela passa a ter a autoridade de prompt do sistema no turno atual e deixa de ser renderizado quando existir uma mensagem `user` posterior.

A mensagem permanece em `messages` e você continua a reenviá-la literalmente, então nada anterior na conversa muda. Com isso:

* O [cache de prompt](https://platform.claude.com/docs/pt-BR/build-with-claude/prompt-caching) continua correspondendo.
* Os [blocos de pensamento posteriores permanecem válidos](https://platform.claude.com/docs/pt-BR/build-with-claude/thinking#preserved-in-conversation).
* Uma mensagem já limpa não consome tokens de entrada.

Use esse recurso para lembretes por turno em um loop de ferramentas ("verifique sua caixa de entrada antes de executar mais código", "o usuário não consegue ver essa saída da ferramenta"). Assim, você não precisa injetar texto no histórico e excluí-lo na próxima requisição. As mensagens do sistema com escopo de turno estão em beta: inclua o cabeçalho beta `mid-conversation-system-clear-at-2026-08-21`. Consulte [Mensagens do sistema com escopo de turno](https://platform.claude.com/docs/pt-BR/build-with-claude/mid-conversation-system-messages#turn-scoped-system-messages).

```json
{
  "role": "system",
  "clear_at": "next_user_message",
  "content": "Results have landed in your inbox. Check it before running more code."
}
```

### Atualizações de progresso entre chamadas de ferramentas (beta)

Assim como o Claude Fable 5, o Claude Fable 5.1 escreve breves atualizações de progresso entre chamadas de ferramentas, dizendo o que encontrou e o que fará em seguida. Ele escreve menos delas, porém (consulte [Mudanças em relação ao Claude Fable 5](https://platform.claude.com/docs/pt-BR/models/fable-5-1/whats-new-fable-5-1#changed-from-claude-fable-5)). Cada atualização chega como um bloco `thinking` próprio, imediatamente antes da chamada de ferramenta.

Com o `thinking.display` padrão, `"omitted"`, esses blocos voltam vazios, assim como o raciocínio. Por isso, um turno agêntico longo pode parecer silencioso para seus usuários. A novidade é a opção `display: "updates"`. Defina-a com o cabeçalho beta `thinking-display-updates-2026-08-18` para receber as atualizações de progresso como texto, enquanto o raciocínio permanece oculto. Qualquer bloco `thinking` com texto não vazio passa a ser uma linha de status que você pode mostrar ao usuário. A opção `"summarized"` também as retorna, misturadas com o raciocínio resumido. Consulte [Atualizações de progresso entre chamadas de ferramentas](https://platform.claude.com/docs/pt-BR/build-with-claude/thinking#progress-updates).

### Proveniência de conteúdo

O texto gerado pelo Claude Fable 5.1 e pelo Claude Mythos 5.1 carrega a marca d'água estatística de texto da Anthropic em todas as plataformas onde o modelo está disponível. Arquivos de imagem, vídeo e áudio suportados que o Claude produz (por exemplo, por meio da [ferramenta de execução de código](https://platform.claude.com/docs/pt-BR/agents-and-tools/tool-use/code-execution-tool)) carregam Content Credentials [C2PA](https://c2pa.org/) assinadas quando você os recupera pela [Files API](https://platform.claude.com/docs/pt-BR/build-with-claude/files) na Claude API.

A marca d'água não altera o significado, a qualidade nem a legibilidade da saída. Ela não adiciona tokens nem caracteres ocultos e não carrega informações sobre você ou sua organização. Ela também não exige mudanças nas suas requisições ou respostas. Para mais contexto, consulte [Como o Claude marca conteúdo gerado por IA](https://support.claude.com/en/articles/16266773-how-claude-marks-ai-generated-content) e [Como funciona a marca d'água de texto do Claude](https://www.anthropic.com/news/claude-text-watermark).

## Diferenças de comportamento

### Mudanças em relação ao Claude Fable 5

O Claude Fable 5.1 difere do Claude Fable 5 de várias maneiras que aparecem sem nenhuma alteração de código. Cada uma tem uma correção via prompt em [Criando prompts para o Claude Fable 5.1](https://platform.claude.com/docs/pt-BR/build-with-claude/prompt-engineering/prompting-claude-fable-5-1):

* **A chamada paralela de ferramentas é mais variável.** O Claude Fable 5.1 pode emitir uma chamada de ferramenta por turno onde o Claude Fable 5 agrupava várias. Isso aparece em loops de agente longos em que as próximas leituras independentes estão apenas implícitas: agentes de codificação personalizados, harnesses com bash e editor, uso de computador. Os turnos extras custam tokens, idas e voltas e tempo de relógio, mas não reduzem a qualidade da resposta. Requisições que nomeiam várias coisas a buscar continuam sendo executadas em paralelo. Adicione a instrução de agrupamento de uma linha de [Agrupe chamadas de ferramentas independentes em loops de agente](https://platform.claude.com/docs/pt-BR/build-with-claude/prompt-engineering/prompting-claude-fable-5-1#batch-independent-tool-calls-in-agent-loops).
* **Menos atualizações de progresso durante execuções longas de ferramentas.** O modelo escreve menos texto voltado ao usuário entre chamadas de ferramentas, especialmente com esforço mais alto. Defina `thinking.display` como `"updates"` (beta) para receber as [atualizações de progresso](https://platform.claude.com/docs/pt-BR/build-with-claude/thinking#progress-updates) que ele escreve. Remova também qualquer linha do prompt que o instrua a guardar as descobertas para a resposta final. Se a sua interface depende de narração, peça explicitamente uma linha de abertura, atualizações periódicas e um resumo de encerramento. Consulte [Peça atualizações de progresso voltadas ao usuário](https://platform.claude.com/docs/pt-BR/build-with-claude/prompt-engineering/prompting-claude-fable-5-1#ask-for-user-facing-progress-updates).
* **Responde de memória com mais frequência com esforço `low`.** No nível de esforço mais baixo, o modelo chama uma ferramenta de busca ou recuperação com menos frequência. Aumente o esforço nos turnos que precisam de informações atualizadas, inclusive [no meio da conversa](https://platform.claude.com/docs/pt-BR/models/fable-5-1/whats-new-fable-5-1#change-effort-mid-conversation-beta). Outra opção é adicionar o incentivo à verificação de [Acionamento de busca com esforço baixo](https://platform.claude.com/docs/pt-BR/build-with-claude/prompt-engineering/prompting-claude-fable-5-1#search-triggering-at-low-effort).
* **Prosa mais densa em alguns pontos.** Em alguns casos, sua prosa é mais densa que a do Claude Fable 5, com frases mais longas e menos quebras de parágrafo. Consulte [Densidade da escrita](https://platform.claude.com/docs/pt-BR/build-with-claude/prompt-engineering/prompting-claude-fable-5-1#writing-density).
* **Menos formatação no chat.** O modelo usa negrito, cabeçalhos e listas menos do que os modelos Claude anteriores. Por isso, regras contra formatação escritas para esses modelos podem suprimir a estrutura de que o conteúdo precisa. Consulte [Formatação no chat](https://platform.claude.com/docs/pt-BR/build-with-claude/prompt-engineering/prompting-claude-fable-5-1#formatting-in-chat).
* **Citações não marcadas em resumos.** Ao resumir documentos, o modelo tem mais probabilidade de reproduzir trechos da fonte sem marcá-los como citações. Consulte [Citando fontes recuperadas](https://platform.claude.com/docs/pt-BR/build-with-claude/prompt-engineering/prompting-claude-fable-5-1#quoting-retrieved-sources).
* **Reescritas de arquivos inteiros para pequenas alterações.** Ao editar arquivos de texto, o modelo tem mais probabilidade de reescrever o arquivo inteiro do que de fazer uma edição pontual. O resultado geralmente é o mesmo, mas a reescrita custa mais tokens de saída e mais tempo. Consulte [Prefira edições pontuais a reescritas de arquivos inteiros](https://platform.claude.com/docs/pt-BR/build-with-claude/prompt-engineering/prompting-claude-fable-5-1#prefer-targeted-edits-over-whole-file-rewrites).

### Inalterado em relação ao Claude Fable 5

Estes comportamentos da Messages API continuam iguais aos do Claude Fable 5:

* O pensamento adaptativo está sempre ativado. `thinking: {"type": "enabled"}` com `budget_tokens` e `thinking: {"type": "disabled"}` retornam um erro 400. Omita `thinking` ou envie `{"type": "adaptive"}`.
* `thinking.display` tem `"omitted"` como padrão. `"summarized"` está disponível, e a cadeia de pensamento bruta nunca é retornada.
* O raciocínio entre chamadas de ferramentas aparece em blocos de pensamento, e não em texto. O [pensamento intercalado](https://platform.claude.com/docs/pt-BR/build-with-claude/thinking#interleaved-thinking) é automático e não exige cabeçalho beta.
* Preencher previamente a resposta do assistente retorna um erro 400.
* Valores não padrão de `temperature`, `top_p` ou `top_k` retornam um erro 400.
* O comprimento mínimo de prompt armazenável em cache é de 512 tokens.
* [Mensagens do sistema no meio da conversa](https://platform.claude.com/docs/pt-BR/build-with-claude/mid-conversation-system-messages) e mudanças de ferramentas são suportadas.

## Melhorias de capacidade

O Claude Fable 5.1 supera o Claude Fable 5, e a diferença é maior nos níveis de [esforço](https://platform.claude.com/docs/pt-BR/build-with-claude/effort) mais altos. Os ganhos se concentram em seis áreas:

* **Codificação agêntica em sessões longas**, incluindo recursos com vários arquivos, grandes refatorações e migrações, depuração e revisão de código em sessões que duram horas.
* **Trabalho de conhecimento com documentos, planilhas e slides**, levando uma análise da primeira pergunta até um documento finalizado, uma planilha com fórmulas ativas ou uma apresentação de slides criada do zero.
* **Pesquisa e busca**, com maior precisão em pesquisas na web com várias etapas e em tarefas de pesquisa aprofundada que dão seguimento ao que encontram.
* **Visão**, lendo gráficos densos, relatórios regulatórios e tabelas aninhadas em PDFs, inclusive com ferramentas de recorte e zoom em gráficos.
* **Trabalho com contexto longo**, raciocinando sobre detalhes e conectando-os em toda a [janela de contexto de 1M tokens](https://platform.claude.com/docs/pt-BR/build-with-claude/context-windows).
* **Uso de computador**, operando um navegador e aplicativos de desktop com mais confiabilidade e se recuperando de etapas que falharam.

O desempenho multilíngue está no mesmo nível do Claude Fable 5.

## Recusas, fallback e cobrança

O Claude Fable 5.1 inclui classificadores de segurança que cobrem as mesmas categorias de `stop_details` do Claude Fable 5, e tudo em [Recusas e fallback](https://platform.claude.com/docs/pt-BR/build-with-claude/refusals-and-fallback) se aplica. Ele pode retornar `stop_reason: "refusal"`, então trate as recusas e configure o fallback.

* **Recusas:** uma requisição recusada retorna HTTP 200 com `stop_reason: "refusal"` e um objeto [`stop_details`](https://platform.claude.com/docs/pt-BR/build-with-claude/refusals-and-fallback#refusal-response) que nomeia a área de política acionada.
* **Fallback:** tente novamente uma requisição recusada em outro modelo. Você pode usar o [fallback no lado do servidor](https://platform.claude.com/docs/pt-BR/build-with-claude/refusals-and-fallback#server-side-fallback), o [middleware do SDK](https://platform.claude.com/docs/pt-BR/build-with-claude/refusals-and-fallback#client-side-fallback) ou sua própria lógica de nova tentativa. `fallbacks: "default"` (beta) tenta novamente uma requisição recusada no modelo que a Anthropic recomenda para aquela categoria. Os destinos de fallback permitidos para o Claude Fable 5.1 são o Claude Opus 4.8 e o Claude Opus 5.
* **Cobrança:** uma recusa que chega antes de qualquer saída é cobrada quando pertence a uma categoria com baixos volumes de falsos positivos. O objetivo é dificultar tentativas de contornar as salvaguardas da Anthropic em escala (consulte [Como as recusas são cobradas](https://platform.claude.com/docs/pt-BR/build-with-claude/refusals-and-fallback#how-refusals-are-billed)). Antes de 24 de setembro de 2026, essas recusas não eram cobradas. Uma recusa no meio do stream cobra os tokens de entrada e a saída já transmitida via streaming às taxas normais. No Claude Fable 5.1, o [crédito de fallback](https://platform.claude.com/docs/pt-BR/build-with-claude/fallback-credit) reembolsa o custo de cache de prompt da troca de modelos.

## Preços

O Claude Fable 5.1 e o Claude Mythos 5.1 têm os mesmos preços do Claude Fable 5, exceto pelas leituras de cache (preços em USD):

| Entrada base | Gravações de cache de 5m | Gravações de cache de 1h | Leituras de cache | Saída      |
| ------------ | ------------------------ | ------------------------ | ----------------- | ---------- |
| $10 / MTok   | $12,50 / MTok            | $20 / MTok               | $0,25 / MTok      | $50 / MTok |

As leituras de cache (acertos e renovações) custam 0,025 vez o preço base de entrada nesses modelos, em comparação com 0,05 no Claude Opus 5.5 e no Claude Sonnet 5.5, e 0,1 em outros modelos Claude. Sessões agênticas longas que releem um prefixo em cache pagam um quarto da tarifa do Claude Fable 5. As gravações de cache e o [comprimento mínimo de 512 tokens para prompts armazenáveis em cache](https://platform.claude.com/docs/pt-BR/build-with-claude/prompt-caching#cache-limitations) permanecem inalterados.

O [processamento em lote](https://platform.claude.com/docs/pt-BR/build-with-claude/batch-processing) custa $5 USD por milhão de tokens de entrada e $25 USD por milhão de tokens de saída. Consulte [Preços](https://platform.claude.com/docs/pt-BR/about-claude/pricing) para ver os preços de residência de dados e de ferramentas.

## Disponibilidade

O Claude Fable 5.1 está disponível em:

* **Claude API:** todos os clientes, como `claude-fable-5-1`.
* **AWS:** [Claude no Amazon Bedrock](https://platform.claude.com/docs/pt-BR/build-with-claude/claude-in-amazon-bedrock), como `anthropic.claude-fable-5-1`, e [Claude Platform na AWS](https://platform.claude.com/docs/pt-BR/build-with-claude/claude-platform-on-aws), como `claude-fable-5-1`.
* **Google Cloud:** [Claude no Google Cloud](https://platform.claude.com/docs/pt-BR/build-with-claude/claude-on-vertex-ai), como `claude-fable-5-1`.
* **Microsoft Foundry:** [Claude no Microsoft Foundry](https://platform.claude.com/docs/pt-BR/build-with-claude/claude-in-microsoft-foundry), na infraestrutura da Anthropic.

O Claude Mythos 5.1 está disponível apenas para organizações verificadas por meio dos programas de verificação da Anthropic, como o [Cyber Verification Program](https://support.claude.com/en/articles/14604842). Para solicitar acesso, inscreva-se no programa que abrange seu caso de uso ou entre em contato com sua equipe de conta da Anthropic, da AWS ou do Google Cloud.

O Claude Fable 5.1 e o Claude Mythos 5.1 têm retenção de dados de 30 dias e não estão disponíveis com retenção zero de dados, a menos que expressamente autorizado pela Anthropic. Ambos são [Covered Models](https://support.claude.com/en/articles/15425695), assim como o Claude Fable 5 e o Claude Mythos 5. Consulte [Requisitos de retenção de dados específicos por modelo](https://platform.claude.com/docs/pt-BR/manage-claude/api-and-data-retention#model-specific-data-retention-requirements).

## Migrar do Claude Fable 5

Para migrar do Claude Fable 5, atualize o ID do modelo:

<CodeGroup exclude="shell">
  ```python Python
  model = "claude-fable-5"  # Before
  model = "claude-fable-5-1"  # After
  ```

  ```typescript TypeScript
  let model = "claude-fable-5"; // Before
  model = "claude-fable-5-1"; // After
  ```

  ```csharp C#
  var model = Model.ClaudeFable5; // Before
  model = Model.ClaudeFable5_1; // After
  ```

  ```go Go
  model := anthropic.ModelClaudeFable5  // Before
  model = anthropic.ModelClaudeFable5_1 // After
  ```

  ```java Java
  Model model = Model.CLAUDE_FABLE_5; // Before
  model = Model.CLAUDE_FABLE_5_1; // After
  ```

  ```php PHP
  $model = 'claude-fable-5'; // Before
  $model = 'claude-fable-5-1'; // After
  ```

  ```ruby Ruby
  model = "claude-fable-5" # Before
  model = "claude-fable-5-1" # After
  ```
</CodeGroup>

Em seguida, revise estes itens:

1. Remova qualquer `tool_choice` do tipo `any` ou `tool`. Mova a aplicação do schema para o [uso estrito de ferramentas](https://platform.claude.com/docs/pt-BR/agents-and-tools/tool-use/strict-tool-use) com `tool_choice: {"type": "auto"}` ou para [saídas estruturadas](https://platform.claude.com/docs/pt-BR/build-with-claude/structured-outputs).

2. Devolva os blocos de pensamento sem alterações e mantenha o histórico somente de acréscimo. Se o seu código monta o array `messages` por conta própria, execute a [verificação de edição de histórico](https://platform.claude.com/docs/pt-BR/models/fable-5-1/migration-guide#fable-5-1-preserved-thinking) e depois:

   * Mova os lembretes por turno que você hoje injeta e exclui para [mensagens do sistema com escopo de turno](https://platform.claude.com/docs/pt-BR/models/fable-5-1/whats-new-fable-5-1#turn-scoped-system-messages-beta).
   * Mova as mudanças em `system` e `tools` para mensagens do sistema no meio da conversa.
   * Reduza o contexto no lado do servidor, ou remova os blocos de pensamento dos turnos que você carrega por meio de um resumo no lado do cliente.
   * Escolha um [`prefix_mismatch_behavior`](https://platform.claude.com/docs/pt-BR/build-with-claude/thinking#preserved-thinking-controls) para produção e monitore `input_transformations`.

3. Reajuste o esforço a partir do padrão (`high`). Considere [alterá-lo no meio da conversa](https://platform.claude.com/docs/pt-BR/models/fable-5-1/whats-new-fable-5-1#change-effort-mid-conversation-beta) em vez de manter um único nível durante toda a sessão.

4. Em loops de agente, observe se há uma chamada de ferramenta por turno onde o Claude Fable 5 agrupava várias. Nesse caso, adicione a nota por turno de [Criando prompts para o Claude Fable 5.1](https://platform.claude.com/docs/pt-BR/build-with-claude/prompt-engineering/prompting-claude-fable-5-1).

5. Execute suas avaliações novamente. O tratamento de recusas, o fallback, o crédito de fallback e o tokenizador continuam iguais. As leituras de cache custam menos (consulte [Preços](https://platform.claude.com/docs/pt-BR/models/fable-5-1/whats-new-fable-5-1#pricing)), e o comportamento padrão difere nos pontos listados em [Mudanças em relação ao Claude Fable 5](https://platform.claude.com/docs/pt-BR/models/fable-5-1/whats-new-fable-5-1#changed-from-claude-fable-5).

Consulte o [guia de migração](https://platform.claude.com/docs/pt-BR/models/fable-5-1/migration-guide) para ver instruções passo a passo, inclusive para migrar do Claude Opus 5 e de modelos anteriores.

## Próximos passos

<CardGroup cols={3}>
  <Card title="Visão geral dos modelos" icon="arrow-right" href="https://platform.claude.com/docs/pt-BR/models/overview">
    Especificações e preços de todos os modelos Claude atuais.
  </Card>

  <Card title="Guia de migração" icon="code" href="https://platform.claude.com/docs/pt-BR/models/fable-5-1/migration-guide">
    Migração do Claude Fable 5, do Claude Opus 5 e de modelos anteriores.
  </Card>

  <Card title="Criando prompts para o Claude Fable 5.1" icon="terminal" href="https://platform.claude.com/docs/pt-BR/build-with-claude/prompt-engineering/prompting-claude-fable-5-1">
    Padrões de prompt específicos para o Claude Fable 5.1.
  </Card>
</CardGroup>
