---
title: Nouveautés de Claude Fable 5.1
url: https://platform.claude.com/docs/fr/models/fable-5-1/whats-new-fable-5-1
description: Aperçu des nouvelles fonctionnalités, des changements incompatibles et des améliorations de capacités de Claude Fable 5.1 et Claude Mythos 5.1.
---

Claude Fable 5.1 prolonge Claude Fable 5 aux mêmes prix d'entrée et de sortie, avec des lectures de cache à un quart du coût, et apporte de meilleures performances en codage agentique de longue durée, en recherche en plusieurs étapes et en travail sur des documents, des feuilles de calcul et des diapositives. Pour la plupart des charges de travail, commencez par Claude Opus 5.5 (consultez [Choisir un modèle](https://platform.claude.com/docs/fr/about-claude/models/choosing-a-model)). Utilisez Claude Fable 5.1 pour le raisonnement exigeant et le travail agentique à long horizon, ou lorsque vos évaluations sur Claude Opus 5.5 avec un effort plus élevé restent insuffisantes. Claude Mythos 5.1 offre les mêmes capacités, uniquement aux organisations vérifiées par le biais des programmes de vérification d'Anthropic, tels que le [Cyber Verification Program](https://support.claude.com/en/articles/14604842).

Si vous appelez déjà Claude Fable 5, trois changements sont incompatibles : [l'utilisation forcée d'outils renvoie une erreur](https://platform.claude.com/docs/fr/models/fable-5-1/whats-new-fable-5-1#forced-tool-use-is-not-supported), [seuls Claude Fable 5.1 et Claude Mythos 5.1 peuvent lire les blocs de réflexion de Claude Fable 5.1](https://platform.claude.com/docs/fr/models/fable-5-1/whats-new-fable-5-1#thinking-blocks-are-tied-to-the-model-that-produced-them), et [la modification des tours précédents invalide les blocs de réflexion](https://platform.claude.com/docs/fr/models/fable-5-1/whats-new-fable-5-1#editing-earlier-turns-invalidates-thinking-blocks). Cinq sont des ajouts : [l'effort par message](https://platform.claude.com/docs/fr/models/fable-5-1/whats-new-fable-5-1#change-effort-mid-conversation-beta) (bêta), [les messages système limités à un tour](https://platform.claude.com/docs/fr/models/fable-5-1/whats-new-fable-5-1#turn-scoped-system-messages-beta) (bêta), [des mises à jour de progression lisibles entre les appels d'outils](https://platform.claude.com/docs/fr/models/fable-5-1/whats-new-fable-5-1#progress-updates-between-tool-calls-beta) (`display: "updates"`, bêta), un [prix de lecture du cache réduit](https://platform.claude.com/docs/fr/models/fable-5-1/whats-new-fable-5-1#pricing) et [la provenance du contenu](https://platform.claude.com/docs/fr/models/fable-5-1/whats-new-fable-5-1#content-provenance).

## Modèles

| Modèle            | ID de l'API Claude | Description                                                                                                     | Disponibilité                                                                                                                                                              |
| ----------------- | ------------------ | --------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Claude Fable 5.1  | claude-fable-5-1   | Successeur de Claude Fable 5, pour le codage agentique de longue durée, le travail intellectuel et la recherche | Tous les clients, sur l'API Claude et les plateformes partenaires                                                                                                          |
| Claude Mythos 5.1 | claude-mythos-5-1  | Mêmes capacités que Claude Fable 5.1. Successeur de Claude Mythos 5.                                            | Organisations vérifiées par le biais des programmes de vérification d'Anthropic, tels que le [Cyber Verification Program](https://support.claude.com/en/articles/14604842) |

Claude Fable 5.1 et Claude Mythos 5.1 partagent les mêmes spécifications et la même tarification :

* **Fenêtre de contexte et sortie :** une [« context window » (fenêtre de contexte) de 1M de tokens](https://platform.claude.com/docs/fr/build-with-claude/context-windows) (par défaut et maximale) au tarif standard par token sur l'ensemble de la fenêtre, et 128k tokens de sortie maximum.
* **Réflexion :** l'[« adaptive thinking » (réflexion adaptative)](https://platform.claude.com/docs/fr/build-with-claude/thinking) est toujours activée. Utilisez le [paramètre effort](https://platform.claude.com/docs/fr/build-with-claude/effort) pour contrôler la profondeur de réflexion.
* **Tarification :** identique à celle de Claude Fable 5, à l'exception d'un [prix de lecture du cache réduit](https://platform.claude.com/docs/fr/models/fable-5-1/whats-new-fable-5-1#pricing).
* **Tokenizer :** identique à celui de Claude Fable 5 (introduit avec Claude Opus 4.7). Par rapport aux modèles antérieurs à Claude Opus 4.7, le même texte produit environ 30 % de tokens en plus. Consultez [Comptage des tokens](https://platform.claude.com/docs/fr/build-with-claude/token-counting).

Pour tous les modèles actuels, consultez l'[aperçu des modèles](https://platform.claude.com/docs/fr/models/overview).

## Changements incompatibles

### L'utilisation forcée d'outils n'est pas prise en charge

Claude Fable 5.1 et Claude Mythos 5.1 ne prennent pas en charge la « forced tool use » (utilisation forcée d'outils). Un `tool_choice` défini sur `{"type": "any"}` ou `{"type": "tool", "name": "..."}` renvoie une erreur 400 `invalid_request_error` :

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

`tool_choice: {"type": "auto"}` (la valeur par défaut) et `{"type": "none"}` restent inchangés. La même validation s'applique au point de terminaison de [comptage des tokens](https://platform.claude.com/docs/fr/build-with-claude/token-counting).

La réflexion est toujours activée pour ces modèles, et un appel d'outil forcé la contournerait. Le modèle écrirait alors son raisonnement dans les arguments de l'outil, ce qui dégrade la qualité des arguments.

* **Pour obtenir un JSON conforme au schéma :** conservez `tool_choice: {"type": "auto"}` et définissez `strict: true` avec l'[utilisation stricte d'outils](https://platform.claude.com/docs/fr/agents-and-tools/tool-use/strict-tool-use), ou déplacez le schéma vers les [sorties structurées](https://platform.claude.com/docs/fr/build-with-claude/structured-outputs).
* **Pour que le modèle appelle un outil plutôt que de répondre en texte :** indiquez dans le prompt quand l'outil s'applique (par exemple, « Utilisez l'outil `get_weather` pour répondre »). Claude Fable 5.1 suit de manière fiable les instructions explicites concernant les outils.

### Seuls Claude Fable 5.1 et Claude Mythos 5.1 lisent les blocs de réflexion de Claude Fable 5.1

Chaque bloc de réflexion enregistre le modèle qui l'a produit. Claude Fable 5.1 lit les blocs de réflexion des modèles antérieurs, mais seuls Claude Fable 5.1 et Claude Mythos 5.1 lisent ceux de Claude Fable 5.1. Une conversation qui passe à Claude Fable 5.1 (depuis Claude Opus 5, Claude Fable 5 ou tout modèle Claude antérieur) conserve son raisonnement. Une conversation qui passe de Claude Fable 5.1 à tout autre modèle le perd pour les tours qui s'y exécutent.

Lorsqu'une requête contient un bloc que le modèle cible ne peut pas lire (un routeur ou un mécanisme de repli qui change de modèle en cours de conversation, par exemple), l'API supprime le bloc avant que le modèle ne le voie. Les blocs supprimés ne sont pas comptabilisés dans `input_tokens` et ne sont pas facturés. Avec l'en-tête bêta `thinking-binding-controls-2026-08-01`, la suppression est signalée dans un tableau `input_transformations` de premier niveau. Sans cet en-tête, la suppression est silencieuse. Consultez [Changer de modèle en cours de conversation](https://platform.claude.com/docs/fr/build-with-claude/preserved-thinking#switching-models).

### La modification des tours précédents invalide les blocs de réflexion

Toute modification de ce qui précède un bloc de réflexion de Claude Fable 5.1 (l'invite système `system`, les `tools` ou un message antérieur) provoque une erreur lors de la requête suivante. Si vous l'activez, le bloc est supprimé à la place. Claude Mythos 5.1 n'effectue pas cette vérification.

Claude Code, claude.ai, [Claude Managed Agents](https://platform.claude.com/docs/fr/managed-agents/overview) et le [Claude Agent SDK](https://code.claude.com/docs/fr/agent-sdk/overview) préservent ce préfixe pour vous. Si votre code construit lui-même le tableau `messages`, vérifiez-le avant de migrer : [Réflexion préservée](https://platform.claude.com/docs/fr/build-with-claude/preserved-thinking) détaille la vérification et chaque correctif.

La vérification est appliquée aux nouveaux comptes créés à partir du 31 août 2026. Pour les comptes créés avant cette date, l'API enregistre la non-concordance, mais n'agit que si la requête définit `thinking.block_binding.prefix_mismatch_behavior`.

Ces pratiques invalident tous les blocs de réflexion ultérieurs :

* Modifier, réordonner ou supprimer un tour antérieur tout en conservant les suivants.
* Injecter dans un tour antérieur un texte propre à la requête (un rappel ou une ligne d'état) que vous supprimez à la requête suivante.
* Reconstruire l'invite système `system` de premier niveau ou le tableau `tools` entre deux requêtes d'une même conversation.
* Utiliser une URL d'image ou de document qui renvoie des octets différents lors d'une requête ultérieure. La vérification porte sur les octets et non sur l'URL : une URL signée renouvelée pour le même fichier ne pose donc pas de problème.

Ces pratiques préservent la validité des blocs ultérieurs :

* Supprimer une série initiale de blocs de réflexion, en commençant par les plus anciens.
* Laisser la compaction côté serveur ou l'édition de contexte réduire l'historique.
* Déplacer les marqueurs `cache_control`.
* Modifier `effort` entre les requêtes.

En revanche, supprimer un bloc de réflexion ailleurs qu'au début de la série invalide tous les blocs de réflexion qui le suivent.

Lorsque la vérification est appliquée, une requête qui renvoie un bloc invalidé est rejetée avec une erreur 400 dont le message indique `The block is bound to a different conversation`. Pour supprimer le bloc et continuer, envoyez l'en-tête bêta `thinking-binding-controls-2026-08-01` avec `thinking.block_binding.prefix_mismatch_behavior: "drop_block"`. La suppression est alors signalée dans `input_transformations` avec `reason: "prefix_binding_mismatch"`.

Pour que la réflexion reste valide tout au long d'une longue session, traitez la conversation comme un historique en ajout seul :

* **Pour ajouter des instructions :** utilisez un [message système en cours de conversation](https://platform.claude.com/docs/fr/build-with-claude/mid-conversation-system-messages), [limité à un tour](https://platform.claude.com/docs/fr/models/fable-5-1/whats-new-fable-5-1#turn-scoped-system-messages-beta) s'il ne doit s'appliquer qu'à un seul tour, plutôt que de modifier `system`.
* **Pour changer d'outils :** utilisez les [modifications d'outils en cours de conversation](https://platform.claude.com/docs/fr/build-with-claude/mid-conversation-system-messages#mid-conversation-tool-changes) plutôt que de modifier `tools`.
* **Pour réduire le contexte :** utilisez l'[édition de contexte](https://platform.claude.com/docs/fr/build-with-claude/context-editing) ou la [compaction](https://platform.claude.com/docs/fr/build-with-claude/compaction) côté serveur, qui ne comptent pas comme des modifications.

Ces pratiques maintiennent également le [cache de prompts](https://platform.claude.com/docs/fr/build-with-claude/prompt-caching) actif.

Pour savoir si votre intégration modifie l'historique, exécutez une session avec `prefix_mismatch_behavior: "drop_block"` et journalisez `input_transformations`. Le [guide de migration](https://platform.claude.com/docs/fr/models/fable-5-1/migration-guide#fable-5-1-preserved-thinking) présente la vérification en trois étapes. Consultez [Conserver le préfixe inchangé](https://platform.claude.com/docs/fr/build-with-claude/preserved-thinking#prefix-check) pour l'ensemble des règles.

## Nouvelles fonctionnalités

### Modifier l'effort en cours de conversation (bêta)

Sur Claude Fable 5.1, vous pouvez modifier le niveau d'[effort](https://platform.claude.com/docs/fr/build-with-claude/effort) en cours de conversation sans invalider le cache des prompts. Augmentez-le pour une étape difficile et diminuez-le pour les étapes de routine. L'effort par message est en bêta : incluez l'en-tête bêta `mid-conversation-output-config-2026-07-01`. Claude Fable 5.1 et Claude Mythos 5.1 le prennent en charge sur l'API Claude, Google Cloud et Amazon Bedrock. Pour l'utiliser avec Claude Fable 5.1 via l'[API InvokeModel](https://platform.claude.com/docs/fr/build-with-claude/claude-on-amazon-bedrock-legacy) d'Amazon Bedrock, envoyez plutôt cette valeur dans le tableau `anthropic_beta` du corps de la requête. Pour les autres modèles qui le prennent en charge et les plateformes correspondantes, consultez [Changer l'effort en cours de conversation](https://platform.claude.com/docs/fr/build-with-claude/effort#changing-effort-mid-conversation).

<CodeGroup>
  ```bash cURL
  # Message système limité à l'effort : le nouveau niveau s'applique à partir du prochain tour utilisateur.
  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."
    # Message système d'effort uniquement : le nouveau niveau s'applique à partir du prochain tour utilisateur.
    - 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.",
          },
          # Message système d'effort uniquement : le nouveau niveau s'applique à partir du prochain tour utilisateur.
          {"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."
      },
      // Message système d'effort uniquement : le nouveau niveau s'applique à partir du prochain tour utilisateur.
      { 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." },
          // Message système d'effort uniquement : le nouveau niveau s'applique à partir du prochain tour de l'utilisateur.
          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.")},
  		},
  		// Message système d'effort uniquement : le nouveau niveau s'applique à partir du prochain tour utilisateur.
  		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.")
          // Message système d'effort uniquement : le nouveau niveau s'applique à partir du prochain tour utilisateur.
          .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.'),
          // Message système d'effort uniquement : le nouveau niveau s'applique dès le prochain tour utilisateur.
          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."},
      # Message système limité à l'effort : le nouveau niveau s'applique à partir du prochain tour utilisateur.
      {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>

Consultez [Effort par message](https://platform.claude.com/docs/fr/build-with-claude/effort#change-effort-mid-conversation-beta) pour plus de détails.

### Messages système limités à un tour (bêta)

Un [message système en cours de conversation](https://platform.claude.com/docs/fr/build-with-claude/mid-conversation-system-messages) peut être limité à un seul tour. Définissez `clear_at: "next_user_message"` sur un message `role: "system"`. Son texte a alors l'autorité d'une invite système pour le tour en cours, puis cesse d'être rendu dès qu'un message `user` ultérieur existe.

Le message reste dans `messages` et vous continuez à le renvoyer tel quel, de sorte que rien ne change dans la partie antérieure de la conversation. Cela présente plusieurs avantages :

* le [cache de prompts](https://platform.claude.com/docs/fr/build-with-claude/prompt-caching) continue de correspondre ;
* les [blocs de réflexion ultérieurs restent valides](https://platform.claude.com/docs/fr/build-with-claude/thinking#preserved-in-conversation) ;
* un message effacé ne coûte aucun token d'entrée.

Utilisez-le pour les rappels propres à un tour dans une boucle d'outils (« vérifiez votre boîte de réception avant d'exécuter davantage de code », « l'utilisateur ne peut pas voir cette sortie d'outil »). Cela évite d'injecter du texte dans l'historique puis de le supprimer à la requête suivante.

Les messages système limités à un tour sont en bêta : incluez l'en-tête bêta `mid-conversation-system-clear-at-2026-08-21`. Consultez [Messages système limités à un tour](https://platform.claude.com/docs/fr/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."
}
```

### Mises à jour de progression entre les appels d'outils (bêta)

Comme Claude Fable 5, Claude Fable 5.1 rédige de courtes mises à jour de progression entre les appels d'outils, sur ce qu'il a trouvé et ce qu'il va faire ensuite. Il en rédige toutefois moins (consultez [Changements par rapport à Claude Fable 5](https://platform.claude.com/docs/fr/models/fable-5-1/whats-new-fable-5-1#changed-from-claude-fable-5)). Chaque mise à jour arrive dans son propre bloc `thinking`, juste avant l'appel d'outil.

Avec la valeur par défaut `"omitted"` de `thinking.display`, ces blocs sont renvoyés vides, comme le raisonnement. Un long tour agentique peut donc sembler silencieux pour vos utilisateurs.

La nouveauté est l'option `display: "updates"`. Définissez-la avec l'en-tête bêta `thinking-display-updates-2026-08-18` pour recevoir les mises à jour de progression sous forme de texte, tandis que le raisonnement reste masqué. Tout bloc `thinking` contenant du texte non vide est alors une ligne d'état que vous pouvez afficher à l'utilisateur. `"summarized"` renvoie également ces mises à jour, mêlées au raisonnement résumé. Consultez [Mises à jour de progression entre les appels d'outils](https://platform.claude.com/docs/fr/build-with-claude/thinking#progress-updates).

### Provenance du contenu

Le texte généré par Claude Fable 5.1 et Claude Mythos 5.1 porte le « watermark » (filigrane) textuel statistique d'Anthropic sur toutes les plateformes où le modèle est disponible.

Les fichiers image, vidéo et audio pris en charge que Claude produit (par exemple via l'[outil d'exécution de code](https://platform.claude.com/docs/fr/agents-and-tools/tool-use/code-execution-tool)) portent des Content Credentials [C2PA](https://c2pa.org/) signés. C'est le cas lorsque vous les récupérez via la [Files API](https://platform.claude.com/docs/fr/build-with-claude/files) sur l'API Claude.

Le filigrane ne modifie ni le sens, ni la qualité, ni la lisibilité de la sortie. Il n'ajoute aucun token ni caractère caché et ne contient aucune information sur vous ou votre organisation. Il ne nécessite aucune modification de vos requêtes ou réponses. Pour en savoir plus, consultez [How Claude marks AI-generated content](https://support.claude.com/en/articles/16266773-how-claude-marks-ai-generated-content) et [How Claude's text watermark works](https://www.anthropic.com/news/claude-text-watermark).

## Différences de comportement

### Changements par rapport à Claude Fable 5

Claude Fable 5.1 diffère de Claude Fable 5 sur plusieurs points qui apparaissent sans aucune modification de code. Chacun dispose d'un correctif de prompt dans [Rédiger des prompts pour Claude Fable 5.1](https://platform.claude.com/docs/fr/build-with-claude/prompt-engineering/prompting-claude-fable-5-1) :

* **Les appels d'outils parallèles sont plus variables.** Claude Fable 5.1 peut émettre un seul appel d'outil par tour là où Claude Fable 5 en regroupait plusieurs.

  * Cela se produit dans les longues boucles d'agent où les lectures indépendantes suivantes ne sont qu'implicites : agents de codage personnalisés, environnements bash et éditeur, utilisation de l'ordinateur.
  * Les tours supplémentaires coûtent des tokens, des allers-retours et du temps réel, mais ne réduisent pas la qualité des réponses.
  * Les requêtes qui nomment plusieurs éléments à récupérer s'exécutent toujours en parallèle.
  * Ajoutez l'instruction de regroupement d'une ligne présentée dans [Regrouper les appels d'outils indépendants dans les boucles d'agent](https://platform.claude.com/docs/fr/build-with-claude/prompt-engineering/prompting-claude-fable-5-1#batch-independent-tool-calls-in-agent-loops).

* **Moins de mises à jour de progression pendant les longues exécutions d'outils.** Le modèle rédige moins de texte destiné à l'utilisateur entre les appels d'outils, en particulier avec un effort plus élevé.

  * Définissez `thinking.display` sur `"updates"` (bêta) pour recevoir les [mises à jour de progression](https://platform.claude.com/docs/fr/build-with-claude/thinking#progress-updates) qu'il rédige.
  * Supprimez toute ligne de prompt qui lui demande de réserver ses conclusions pour la réponse finale.
  * Si votre interface dépend de la narration, demandez explicitement une phrase d'introduction, des mises à jour périodiques et un récapitulatif final.
  * Consultez [Demander des mises à jour de progression destinées à l'utilisateur](https://platform.claude.com/docs/fr/build-with-claude/prompt-engineering/prompting-claude-fable-5-1#ask-for-user-facing-progress-updates).

* **Réponses de mémoire plus fréquentes avec l'effort `low`.** Au niveau d'effort le plus bas, le modèle appelle moins souvent un outil de recherche ou de récupération. Augmentez l'effort pour les tours qui nécessitent des informations récentes, y compris [en cours de conversation](https://platform.claude.com/docs/fr/models/fable-5-1/whats-new-fable-5-1#change-effort-mid-conversation-beta). Vous pouvez aussi ajouter l'incitation à la vérification présentée dans [Déclenchement de la recherche avec un effort faible](https://platform.claude.com/docs/fr/build-with-claude/prompt-engineering/prompting-claude-fable-5-1#search-triggering-at-low-effort).

* **Une prose plus dense par endroits.** Dans certains cas, sa prose est plus dense que celle de Claude Fable 5, avec des phrases plus longues et moins de sauts de paragraphe. Consultez [Densité de l'écriture](https://platform.claude.com/docs/fr/build-with-claude/prompt-engineering/prompting-claude-fable-5-1#writing-density).

* **Moins de mise en forme dans le chat.** Le modèle utilise moins le gras, les titres et les listes que les modèles Claude antérieurs. Les règles anti-mise en forme rédigées pour ces modèles peuvent donc supprimer une structure dont le contenu a besoin. Consultez [Mise en forme dans le chat](https://platform.claude.com/docs/fr/build-with-claude/prompt-engineering/prompting-claude-fable-5-1#formatting-in-chat).

* **Citations non signalées dans les résumés.** Lorsqu'il résume des documents, le modèle est plus susceptible de reproduire des passages de la source sans les signaler comme des citations. Consultez [Citer les sources récupérées](https://platform.claude.com/docs/fr/build-with-claude/prompt-engineering/prompting-claude-fable-5-1#quoting-retrieved-sources).

* **Réécriture de fichiers entiers pour de petites modifications.** Lorsqu'il modifie des fichiers texte, le modèle est plus susceptible de réécrire le fichier entier que d'effectuer une modification ciblée. Le résultat est généralement le même, mais la réécriture coûte davantage de tokens de sortie et de temps. Consultez [Privilégier les modifications ciblées plutôt que la réécriture de fichiers entiers](https://platform.claude.com/docs/fr/build-with-claude/prompt-engineering/prompting-claude-fable-5-1#prefer-targeted-edits-over-whole-file-rewrites).

### Inchangé par rapport à Claude Fable 5

Ces comportements de la Messages API sont repris de Claude Fable 5 sans modification :

* La réflexion adaptative est toujours activée. `thinking: {"type": "enabled"}` avec `budget_tokens` et `thinking: {"type": "disabled"}` renvoient tous deux une erreur 400. Omettez `thinking` ou envoyez `{"type": "adaptive"}`.
* `thinking.display` vaut `"omitted"` par défaut. `"summarized"` est disponible, et la chaîne de pensée brute n'est jamais renvoyée.
* Le raisonnement entre les appels d'outils apparaît dans des blocs de réflexion plutôt que dans du texte. La [réflexion entrelacée](https://platform.claude.com/docs/fr/build-with-claude/thinking#interleaved-thinking) est automatique, sans en-tête bêta.
* Le préremplissage de la réponse de l'assistant renvoie une erreur 400.
* Les valeurs non par défaut de `temperature`, `top_p` ou `top_k` renvoient une erreur 400.
* La longueur minimale d'un prompt pouvant être mis en cache est de 512 tokens.
* Les [messages système en cours de conversation](https://platform.claude.com/docs/fr/build-with-claude/mid-conversation-system-messages) et les modifications d'outils sont pris en charge.

## Améliorations des capacités

Claude Fable 5.1 améliore Claude Fable 5, et l'écart est le plus marqué aux niveaux d'[effort](https://platform.claude.com/docs/fr/build-with-claude/effort) les plus élevés. Les gains se concentrent dans six domaines :

* **Codage agentique sur de longues sessions**, notamment les fonctionnalités multi-fichiers, les refactorisations et migrations d'envergure, le débogage et la revue de code, sur des sessions qui durent des heures.
* **Travail intellectuel sur des documents, des feuilles de calcul et des diapositives**, en menant une analyse d'une première question jusqu'à un document finalisé, une feuille de calcul avec des formules dynamiques ou une présentation construite à partir d'une page blanche.
* **Recherche**, avec une précision accrue sur la recherche web en plusieurs étapes et sur les tâches de recherche approfondie qui approfondissent ce qu'elles trouvent.
* **Vision**, avec la lecture de graphiques denses, de documents réglementaires et de tableaux imbriqués dans des PDF, y compris avec des outils de recadrage et de zoom sur les graphiques.
* **Travail sur contexte long**, en raisonnant sur des détails et en les reliant à travers l'ensemble de la [fenêtre de contexte de 1M de tokens](https://platform.claude.com/docs/fr/build-with-claude/context-windows).
* **Utilisation de l'ordinateur**, en pilotant un navigateur et des applications de bureau de manière plus fiable et en se rétablissant après des étapes échouées.

Les performances multilingues sont équivalentes à celles de Claude Fable 5.

## Refus, repli et facturation

Claude Fable 5.1 inclut des classificateurs de sécurité couvrant les mêmes catégories `stop_details` que Claude Fable 5, et tout le contenu de [Refus et repli](https://platform.claude.com/docs/fr/build-with-claude/refusals-and-fallback) s'applique. Il peut renvoyer `stop_reason: "refusal"` : gérez donc les refus et configurez le « fallback » (repli).

* **Refus :** une requête refusée renvoie HTTP 200 avec `stop_reason: "refusal"` et un objet [`stop_details`](https://platform.claude.com/docs/fr/build-with-claude/refusals-and-fallback#refusal-response) qui nomme le domaine de politique déclenché.

* **Repli :** relancez une requête refusée sur un autre modèle de l'une des manières suivantes :

  * avec le [repli côté serveur](https://platform.claude.com/docs/fr/build-with-claude/refusals-and-fallback#server-side-fallback) ;
  * avec le [middleware du SDK](https://platform.claude.com/docs/fr/build-with-claude/refusals-and-fallback#client-side-fallback) ;
  * avec votre propre mécanisme de nouvelle tentative.

  `fallbacks: "default"` (bêta) relance une requête refusée sur le modèle recommandé par Anthropic pour cette catégorie. Les cibles de repli autorisées pour Claude Fable 5.1 sont Claude Opus 4.8 et Claude Opus 5.

* **Facturation :** un refus qui survient avant toute sortie est facturé lorsqu'il relève d'une catégorie à faible volume de faux positifs. Cette mesure vise à entraver les tentatives de contournement à grande échelle des garde-fous d'Anthropic ([Facturation des refus](https://platform.claude.com/docs/fr/build-with-claude/refusals-and-fallback#how-refusals-are-billed)). Avant le 24 septembre 2026, ces refus n'étaient pas facturés. Un refus en cours de streaming facture les tokens d'entrée et la sortie déjà diffusée aux tarifs normaux. Pour Claude Fable 5.1, le [crédit de repli](https://platform.claude.com/docs/fr/build-with-claude/fallback-credit) rembourse le coût du cache de prompts lié au changement de modèle.

## Tarification

Claude Fable 5.1 et Claude Mythos 5.1 ont la même tarification que Claude Fable 5, à l'exception des lectures en cache (prix en USD) :

| Entrée de base | Écritures en cache 5 min | Écritures en cache 1 h | Lectures en cache | Sortie      |
| -------------- | ------------------------ | ---------------------- | ----------------- | ----------- |
| 10 $ / MTok    | 12,50 $ / MTok           | 20 $ / MTok            | 0,25 $ / MTok     | 50 $ / MTok |

Les lectures de cache (succès et rafraîchissements) coûtent 0,025 fois le prix d'entrée de base sur ces modèles, contre 0,05 sur Claude Opus 5.5 et Claude Sonnet 5.5, et 0,1 sur les autres modèles Claude. Les longues sessions agentiques qui relisent un préfixe mis en cache paient un quart du tarif de Claude Fable 5. Les écritures de cache et la [longueur minimale de 512 tokens pour un prompt pouvant être mis en cache](https://platform.claude.com/docs/fr/build-with-claude/prompt-caching#cache-limitations) restent inchangées.

Le [traitement par lots](https://platform.claude.com/docs/fr/build-with-claude/batch-processing) coûte 5 $ USD par million de tokens d'entrée et 25 $ USD par million de tokens de sortie. Consultez [Tarification](https://platform.claude.com/docs/fr/about-claude/pricing) pour la résidence des données et la tarification des outils.

## Disponibilité

Claude Fable 5.1 est disponible sur :

* **API Claude :** tous les clients, sous `claude-fable-5-1`.
* **AWS :** [Claude dans Amazon Bedrock](https://platform.claude.com/docs/fr/build-with-claude/claude-in-amazon-bedrock), sous `anthropic.claude-fable-5-1`, et [Claude Platform on AWS](https://platform.claude.com/docs/fr/build-with-claude/claude-platform-on-aws), sous `claude-fable-5-1`.
* **Google Cloud :** [Claude sur Google Cloud](https://platform.claude.com/docs/fr/build-with-claude/claude-on-vertex-ai), sous `claude-fable-5-1`.
* **Microsoft Foundry :** [Claude dans Microsoft Foundry](https://platform.claude.com/docs/fr/build-with-claude/claude-in-microsoft-foundry), sur l'infrastructure d'Anthropic.

Claude Mythos 5.1 est disponible uniquement pour les organisations vérifiées par le biais des programmes de vérification d'Anthropic, tels que le [Cyber Verification Program](https://support.claude.com/en/articles/14604842). Pour demander l'accès, postulez au programme qui couvre votre cas d'usage, ou contactez votre équipe de compte Anthropic, AWS ou Google Cloud.

Claude Fable 5.1 et Claude Mythos 5.1 sont soumis à une « data retention » (conservation des données) de 30 jours et ne sont pas disponibles en conservation zéro des données, sauf autorisation expresse d'Anthropic. Tous deux sont des [Covered Models](https://support.claude.com/en/articles/15425695), comme Claude Fable 5 et Claude Mythos 5. Consultez [Exigences de conservation des données spécifiques aux modèles](https://platform.claude.com/docs/fr/manage-claude/api-and-data-retention#model-specific-data-retention-requirements).

## Migrer depuis Claude Fable 5

Pour migrer depuis Claude Fable 5, mettez à jour l'ID de votre modèle :

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

Vérifiez ensuite les points suivants :

1. Supprimez tout `tool_choice` de type `any` ou `tool`. Déplacez l'application du schéma vers l'[utilisation stricte d'outils](https://platform.claude.com/docs/fr/agents-and-tools/tool-use/strict-tool-use) avec `tool_choice: {"type": "auto"}`, ou vers les [sorties structurées](https://platform.claude.com/docs/fr/build-with-claude/structured-outputs).

2. Renvoyez les blocs de réflexion sans modification et conservez un historique en ajout seul. Si votre code construit lui-même le tableau `messages`, exécutez la [vérification de modification de l'historique](https://platform.claude.com/docs/fr/models/fable-5-1/migration-guide#fable-5-1-preserved-thinking), puis :

   * déplacez les rappels par tour que vous injectez puis supprimez actuellement vers des [messages système limités à un tour](https://platform.claude.com/docs/fr/models/fable-5-1/whats-new-fable-5-1#turn-scoped-system-messages-beta) ;
   * déplacez les modifications de `system` et de `tools` vers des messages système en cours de conversation ;
   * réduisez le contexte côté serveur, ou retirez les blocs de réflexion des tours que vous reportez dans un résumé côté client ;
   * choisissez un [`prefix_mismatch_behavior`](https://platform.claude.com/docs/fr/build-with-claude/thinking#preserved-thinking-controls) pour la production et surveillez `input_transformations`.

3. Réajustez l'effort à partir de la valeur par défaut (`high`). Envisagez de [le modifier en cours de conversation](https://platform.claude.com/docs/fr/models/fable-5-1/whats-new-fable-5-1#change-effort-mid-conversation-beta) plutôt que de conserver un seul niveau pendant toute la session.

4. Dans les boucles d'agent, surveillez les tours comportant un seul appel d'outil là où Claude Fable 5 en regroupait plusieurs. Ajoutez la note par tour présentée dans [Rédiger des prompts pour Claude Fable 5.1](https://platform.claude.com/docs/fr/build-with-claude/prompt-engineering/prompting-claude-fable-5-1).

5. Relancez vos évaluations.

   * La gestion des refus, le repli, le crédit de repli et le tokenizer sont repris sans modification.
   * Les lectures en cache coûtent moins cher (consultez [Tarification](https://platform.claude.com/docs/fr/models/fable-5-1/whats-new-fable-5-1#pricing)).
   * Le comportement par défaut diffère sur les points énumérés dans [Changements par rapport à Claude Fable 5](https://platform.claude.com/docs/fr/models/fable-5-1/whats-new-fable-5-1#changed-from-claude-fable-5).

Consultez le [guide de migration](https://platform.claude.com/docs/fr/models/fable-5-1/migration-guide) pour des instructions détaillées, y compris pour migrer depuis Claude Opus 5 et les modèles antérieurs.

## Étapes suivantes

<CardGroup cols={3}>
  <Card title="Vue d'ensemble des modèles" icon="arrow-right" href="https://platform.claude.com/docs/fr/models/overview">
    Spécifications et tarification de chaque modèle Claude actuel.
  </Card>

  <Card title="Guide de migration" icon="code" href="https://platform.claude.com/docs/fr/models/fable-5-1/migration-guide">
    Migrer depuis Claude Fable 5, Claude Opus 5 et les modèles antérieurs.
  </Card>

  <Card title="Rédiger des prompts pour Claude Fable 5.1" icon="terminal" href="https://platform.claude.com/docs/fr/build-with-claude/prompt-engineering/prompting-claude-fable-5-1">
    Modèles de prompts propres à Claude Fable 5.1.
  </Card>
</CardGroup>
