Claude Platform Docs
Modelos y preciosClaude Fable 5.1

Migración a Claude Fable 5.1 y Claude Mythos 5.1

Migra a Claude Fable 5.1 y Claude Mythos 5.1 desde Claude Fable 5, Claude Mythos 5, Claude Opus 5 o Claude Opus 4.8: IDs de modelo, cambios incompatibles y listas de verificación de migración.

Claude Fable 5.1 sucede a Claude Fable 5 con los mismos precios de entrada y salida, con lecturas de caché a una cuarta parte del costo. Está disponible en la Claude API, Amazon Bedrock, Claude Platform on AWS, Google Cloud y Microsoft Foundry. Claude Mythos 5.1 comparte las mismas capacidades y se ofrece únicamente a clientes aprobados en Project Glasswing. Para conocer las diferencias de comportamiento y los patrones de prompting, consulta Prompting de Claude Fable 5.1.

La configuración base que comparten claude-fable-5-1 y claude-mythos-5-1:

  • Pensamiento: El "adaptive thinking" (pensamiento adaptativo) está siempre activado, sin cambios respecto a Claude Fable 5. El modelo decide cuándo y cuánto pensar. No se requiere ninguna configuración de thinking. Tanto thinking: {type: "disabled"} como el pensamiento extendido manual (thinking: {type: "enabled", budget_tokens: N}) devuelven un error 400.
  • Prefill: Prellenar el mensaje del asistente devuelve un error 400, sin cambios respecto a Claude Fable 5. Usa instrucciones en la indicación del sistema en su lugar.
  • Elección de herramienta: Se admiten {type: "auto"} (el valor predeterminado) y {type: "none"}. Forzar una llamada a herramienta con {type: "any"} o {type: "tool", name: "..."} devuelve un error 400. Consulta Cambios incompatibles.
  • Pensamiento preservado entre modelos: Claude Fable 5.1 lee bloques de pensamiento de Claude Opus 5, Claude Fable 5, Claude Mythos 5 y modelos Claude anteriores. Ninguno de esos modelos puede leer los bloques de Claude Fable 5.1. Consulta Cambios incompatibles.
  • Ventana de contexto y salida: Una "context window" (ventana de contexto) de 1M de tokens de forma predeterminada, y hasta 128k tokens de salida por solicitud.
  • Precios: $10 USD por millón de tokens de entrada y $50 USD por millón de tokens de salida, igual que Claude Fable 5. Las lecturas de caché de prompts cuestan $0.25 USD por millón de tokens, una cuarta parte de la tarifa de Claude Fable 5. Consulta Precios de Claude.
  • Retención de datos: Ambos modelos requieren retención de datos de 30 días, no están disponibles bajo acuerdos de retención cero de datos (ZDR) a menos que Anthropic lo autorice expresamente, y están designados como Covered Models, igual que Claude Fable 5 y Claude Mythos 5. En la Claude API, una solicitud de una organización o espacio de trabajo sin retención de 30 días devuelve un invalid_request_error 400. Las organizaciones con un acuerdo ZDR deben contactar a su equipo de cuenta de Anthropic, o configurar la retención por espacio de trabajo. Consulta Requisitos de retención de datos específicos por modelo para obtener detalles por plataforma.

Dónde divergen los dos modelos:

  • Disponibilidad: Claude Fable 5.1 no requiere aprobación de acceso. Claude Mythos 5.1 está disponible únicamente para clientes aprobados en Project Glasswing. Contacta a tu equipo de cuenta de Anthropic para obtener acceso.
  • Clasificadores de seguridad: Claude Fable 5.1 ejecuta clasificadores de seguridad que cubren las mismas categorías de stop_details que Claude Fable 5. Una solicitud rechazada devuelve stop_reason: "refusal" con un stop_details.category, y puede recurrir a otro modelo con el parámetro fallbacks o un reintento del lado del cliente. Consulta Rechazos y fallback.
  • Priority Tier: Ninguno de los dos modelos es compatible con Priority Tier. Claude Fable 5 sí lo es.

Migración a Claude Fable 5.1 desde Claude Fable 5

La migración es en su mayor parte directa. La superficie de la API, los límites, los precios por token, el tokenizador, el pensamiento adaptativo siempre activado, el manejo de rechazos y las categorías de stop_details coinciden con Claude Fable 5. Lo que cambia: la elección forzada de herramienta devuelve un error 400, los bloques de pensamiento se preservan solo para el modelo que los produjo o uno más nuevo y solo en la conversación que los produjo, las lecturas de caché cuestan menos, y el comportamiento del bucle de agente difiere en tres aspectos. Los mismos cambios aplican a Claude Mythos 5.1, excepto la verificación de conversación en los bloques de pensamiento, que Claude Mythos 5.1 no ejecuta.

Actualiza el nombre de tu modelo

model = "claude-fable-5"  # Before
model = "claude-fable-5-1"  # After

# O, para el modelo de Project Glasswing con las mismas capacidades:
model = "claude-mythos-5-1"  # After

Cambios incompatibles

  1. La elección forzada de herramienta no es compatible: Claude Fable 5 acepta tool_choice auto, none, any y tool. En claude-fable-5-1, {type: "any"} y {type: "tool", name: "..."} devuelven un invalid_request_error 400:

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

    La verificación aplica en la Messages API, la Message Batches API y el endpoint de conteo de tokens.

    Antes (Claude Fable 5):

    client = anthropic.Anthropic()
    
    record_summary_tool = {
        "name": "record_summary",
        "description": "Record the structured summary of the document.",
        "input_schema": {
            "type": "object",
            "properties": {"summary": {"type": "string"}},
            "required": ["summary"],
        },
    }
    
    response = client.messages.create(
        model="claude-fable-5",
        max_tokens=16000,
        tools=[record_summary_tool],
        tool_choice={"type": "tool", "name": "record_summary"},
        messages=[{"role": "user", "content": "Summarize: The meeting moved to Thursday."}],
    )
    print(response.content)

    Después (Claude Fable 5.1): deja tool_choice en auto, nombra la herramienta en la instrucción y establece strict: true para que la llamada coincida con tu esquema. (En una organización CMEK, donde las salidas estructuradas, incluido strict: true, no están disponibles en los modelos Claude Fable, confía únicamente en la instrucción.) Por ejemplo:

    client = anthropic.Anthropic()
    
    record_summary_tool = {
        "name": "record_summary",
        "description": "Record the structured summary of the document.",
        "strict": True,
        "input_schema": {
            "type": "object",
            "properties": {"summary": {"type": "string"}},
            "required": ["summary"],
            "additionalProperties": False,
        },
    }
    
    response = client.messages.create(
        model="claude-fable-5-1",
        max_tokens=16000,
        tools=[record_summary_tool],
        tool_choice={"type": "auto"},
        messages=[
            {
                "role": "user",
                "content": "Summarize: The meeting moved to Thursday. Call the record_summary tool with your result.",
            }
        ],
    )
    print(response.content)

    Consulta Uso estricto de herramientas y Forzar el uso de herramientas. Si forzabas una herramienta solo para obtener JSON conforme a un esquema, usa salidas JSON (output_config.format) en su lugar.

    Si tu aplicación, y no el usuario, requiere una llamada a herramienta específica en el turno actual de una conversación de varios turnos, agrega un mensaje de sistema a mitad de conversación después del último turno user. Nombra la herramienta, indica que la llamada es obligatoria para este turno y dile a Claude que abra su respuesta con ella. Como el mensaje se agrega en lugar de escribirse en la indicación system de nivel superior, los turnos anteriores permanecen idénticos byte a byte y conservan sus aciertos de "prompt cache" (caché de prompts):

    client = anthropic.Anthropic()
    
    search_help_center_tool = {
        "name": "search_help_center",
        "description": "Search the help center for policy and troubleshooting articles.",
        "strict": True,
        "input_schema": {
            "type": "object",
            "properties": {"query": {"type": "string"}},
            "required": ["query"],
            "additionalProperties": False,
        },
    }
    
    response = client.messages.create(
        model="claude-fable-5-1",
        max_tokens=16000,
        system="You are a customer support assistant for an online electronics store.",
        tools=[search_help_center_tool],
        messages=[
            {
                "role": "user",
                "content": "My headphones from order A1234 arrived yesterday.",
            },
            {
                "role": "assistant",
                "content": "Thanks for confirming. How can I help with order A1234?",
            },
            {"role": "user", "content": "I opened the box. Can I still return them?"},
            # La aplicación requiere consultar el centro de ayuda antes de cualquier
            # respuesta sobre políticas. Añadir el requisito como indicación del sistema deja
            # los turnos anteriores sin cambios.
            {
                "role": "system",
                "content": "Tool-use requirement for the current turn: the application requires a call to the search_help_center tool in your response to the user's latest message. Begin your response with the search_help_center tool call. Do not reply with text only.",
            },
        ],
    )
    print(response.content)

    Mantén el mensaje role: "system" en el historial en solicitudes posteriores, como con cualquier otro turno. Los mensajes de sistema a mitad de conversación no necesitan encabezado beta. tool_choice: {"type": "none"} sigue funcionando para un turno que no debe llamar herramientas.

  2. Los bloques de pensamiento se preservan solo para el modelo que los produjo, o uno más nuevo: Cada bloque thinking registra qué modelo lo produjo. Claude Fable 5.1 lee sus propios bloques y los de Claude Mythos 5.1, Claude Opus 5, Claude Fable 5, Claude Mythos 5 y modelos Claude anteriores. Una conversación que pasa a claude-fable-5-1 desde cualquiera de ellos conserva su razonamiento anterior. La condición es unidireccional: aparte de Claude Mythos 5.1, ninguno de esos modelos puede leer los bloques de Claude Fable 5.1.

    Una conversación que se ejecutó en Claude Fable 5.1 puede terminar en un modelo más antiguo mediante un cambio de enrutador, un reintento del lado del cliente o un fallback por rechazo del clasificador, incluido un fallback del lado del servidor. La API elimina los bloques que ese modelo no puede leer antes de que los vea, la solicitud tiene éxito y no se te cobran los tokens de entrada descartados. El modelo de destino vuelve a planificar sin ese razonamiento, lo que puede aumentar el costo y la latencia en el primer turno después del cambio. Para ver qué se descartó, envía el encabezado beta thinking-binding-controls-2026-08-01: las respuestas entonces incluyen un arreglo input_transformations que nombra cada bloque descartado con reason: "model_binding_mismatch". Consulta Pensamiento preservado.

  3. Editar turnos anteriores invalida los bloques de pensamiento: Cada bloque thinking de Claude Fable 5.1 es válido solo frente a la indicación system, las tools y el historial de conversación que lo precedieron. Si Claude Code, claude.ai, Claude Managed Agents o el Claude Agent SDK administra tu historial de conversación, ya mantiene ese prefijo intacto. Si tu código construye el arreglo messages por sí mismo, este punto aplica a ti, y Pensamiento preservado es la guía de integración completa. Donde se aplica la verificación, una solicitud que envía el bloque de vuelta después de que cualquiera de esos elementos cambió se rechaza con un error 400:

    messages.5.content.0: Invalid `signature` in `thinking` block. The block is bound to a different conversation. Remove the block, or set `thinking.block_binding.prefix_mismatch_behavior` to "drop_block". That setting requires the `thinking-binding-controls-2026-08-01` value in the `anthropic-beta` header.

    La API aplica la verificación para cuentas nuevas creadas a partir del 31 de agosto de 2026. Para cuentas creadas antes, la API registra la discrepancia pero no actúa sobre ella a menos que la solicitud establezca thinking.block_binding.prefix_mismatch_behavior, lo que opta por la aplicación. Anthropic planea aplicar la verificación para todas las cuentas en modelos futuros, así que haz tu aplicación compatible ahora: los mismos patrones mantienen la caché de prompts caliente, y puedes probar contra la verificación desde cualquier cuenta enviando prefix_mismatch_behavior. Si distribuyes una herramienta o framework que las personas ejecutan con su propia clave de API, prueba de esa manera antes del lanzamiento: tu clave probablemente está en una cuenta más antigua, y tus usuarios en cuentas nuevas se encuentran con la verificación antes que tú. Para ver si tu propia cuenta tiene la aplicación activada de forma predeterminada, envía una solicitud que edite el historial sin el encabezado beta: un 400 que nombra el encabezado significa que sí.

    El error es permanente para ese cuerpo de solicitud: un bucle de reintento automático no lo resolverá. Para continuar sin el razonamiento invalidado en lugar de fallar, elimina los bloques thinking del historial y reintenta una vez, o envía el encabezado beta thinking-binding-controls-2026-08-01 y establece prefix_mismatch_behavior en "drop_block" (el valor predeterminado es "error"). Con "drop_block", la API descarta el bloque discrepante y cada bloque de pensamiento posterior en la conversación, e informa cada uno con reason: "prefix_binding_mismatch" en el arreglo input_transformations de la respuesta:

    client = anthropic.Anthropic()
    
    response = client.beta.messages.create(
        model="claude-fable-5-1",
        max_tokens=16000,
        thinking={
            "type": "adaptive",
            "block_binding": {"prefix_mismatch_behavior": "drop_block"},
        },
        messages=[
            {
                "role": "user",
                "content": "What is the greatest common divisor of 1071 and 462?",
            }
        ],
        betas=["thinking-binding-controls-2026-08-01"],
    )
    
    for block in response.content:
        if block.type == "text":
            print(block.text)
    
    print(f"Input transformations: {len(response.input_transformations or [])}")

    El endpoint de conteo de tokens ejecuta la misma verificación. Consulta Controles para bloques que no se preservan (beta) para conocer la forma de la respuesta y la ubicación en streaming.

    Patrones que invalidan los bloques de pensamiento posteriores, y qué hacer en su lugar:

    • Editar, reordenar o eliminar turnos anteriores. Esto incluye borrar resultados de herramientas antiguos, recortar turnos de la mitad de la transcripción y la compactación del lado del cliente que mantiene los turnos recientes y sus bloques de pensamiento textualmente detrás de un resumen (incluida la compactación en segundo plano que inserta su resumen unos turnos después). En su lugar, usa la "compaction" (compactación) del lado del servidor o la edición de contexto (limpieza de resultados de herramientas para resultados de herramientas antiguos), o una de las formas de compactación del lado del cliente en Recorta el contexto en el servidor.
    • Inyectar contenido que no persistes, por ejemplo un recordatorio por turno agregado después de los bloques tool_result y eliminado en la siguiente solicitud. En su lugar, envía el recordatorio como un mensaje de sistema con alcance de turno y déjalo en el historial.
    • Reconstruir la indicación system de nivel superior o el arreglo tools entre solicitudes en la misma conversación, por ejemplo para actualizar la fecha actual o para agregar o quitar una herramienta. En su lugar, agrega un mensaje de sistema a mitad de conversación que lleve la nueva instrucción ("The current date is 2026-09-14.") o bloques tool_addition y tool_removal.
    • Una URL de imagen o documento que sirve bytes diferentes en una solicitud posterior. La verificación cubre los bytes, no la cadena de la URL, así que una URL firmada rotativa para el mismo archivo está bien. Para contenido al que haces referencia a lo largo de varios turnos, súbelo una vez con la Files API y envía el file_id, o envía base64.

    Cada reemplazo también mantiene los turnos anteriores idénticos byte a byte y preserva los aciertos de caché de prompts que editar el historial, la indicación system o el arreglo tools perdería.

    Patrones que siguen funcionando:

    • Historiales de solo agregar: añadir turnos y devolver los turnos anteriores exactamente como se enviaron y recibieron, incluidos los mensajes role: "system" agregados.
    • Eliminar bloques de pensamiento de turnos anteriores del asistente, empezando por los más antiguos.
    • Cambiar effort, max_tokens o cualquier otro parámetro de solicitud fuera de system, tools y messages, y agregar o mover marcadores cache_control.
    • Compactación del lado del servidor y edición de contexto, incluida la limpieza de bloques de pensamiento. No cuentan como ediciones, porque la verificación compara la conversación tal como la enviaste.

    Para verificar una integración existente:

    1. Captura los cuerpos de solicitud exactos que envía durante algunos turnos normales, incluida una compactación o un cambio de herramienta si tu producto los tiene. Para cada par de solicitudes consecutivas, compara la indicación system, el arreglo tools y el prefijo compartido de messages. Deben ser idénticos byte a byte hasta los turnos recién agregados.
    2. Ejecuta una sesión normal de varios turnos contra claude-fable-5-1 con el encabezado beta thinking-binding-controls-2026-08-01 y prefix_mismatch_behavior: "drop_block", y registra input_transformations en cada respuesta. Un arreglo vacío en cada turno significa que el historial está intacto. Una entrada con reason: "prefix_binding_mismatch" significa que algo antes del bloque en path cambió desde la solicitud anterior. Una entrada con reason: "model_binding_mismatch" significa que la conversación cambió de modelo, lo cual no es un error en tu código. Esto funciona desde cualquier cuenta, porque establecer el campo hace que la solicitud opte por la aplicación. En CI, establece "error" en su lugar para que una edición haga fallar la ejecución.
    3. Elige una configuración de producción. Deja el valor predeterminado "error" si una discrepancia de prefijo solo puede significar un error en tu código, o establece "drop_block" para descartar los bloques afectados en lugar de fallar, y monitorea los 400 o las entradas de input_transformations en cualquier caso.

    Descartar bloques de pensamiento una vez, en un límite de compactación por ejemplo, tiene poco efecto. Una integración que invalida el pensamiento previo en cada solicitud reinicia la caché de prompts cada vez, lo que puede aumentar el costo por tarea (consulta Mantén el historial de conversación como solo agregar).

Cambios de comportamiento

  1. Menos llamadas a herramientas en paralelo en bucles de agente largos: En bucles de larga duración donde las siguientes lecturas independientes solo están implícitas en la tarea (agentes de codificación personalizados, arneses de bash y editor, uso de computadora), Claude Fable 5.1 puede emitir una llamada a herramienta por turno. Cada turno adicional cuesta tokens, un viaje de ida y vuelta y tiempo de reloj. Agrega una instrucción de agrupación de una oración después de cada mensaje del usuario como un mensaje de sistema con alcance de turno (clear_at: "next_user_message", beta), o, sin la beta, en un bloque de texto después de los bloques tool_result, y deja las copias anteriores en el historial en solicitudes posteriores. Consulta Agrupa llamadas a herramientas independientes en bucles de agente.

  2. Menos mensajes de progreso entre llamadas a herramientas: Claude Fable 5.1 escribe menos actualizaciones de estado durante secuencias largas de herramientas que Claude Fable 5, y sus resúmenes de codificación agéntica son más cortos. Si tu interfaz muestra esas actualizaciones, establece thinking.display en "updates" (beta) o "summarized" y solicítalas explícitamente en el prompt. Consulta Actualizaciones de progreso entre llamadas a herramientas y Pide actualizaciones de progreso orientadas al usuario.

  3. Menos llamadas de búsqueda y recuperación con esfuerzo bajo: Con esfuerzo low, Claude Fable 5.1 responde de memoria con más frecuencia que Claude Fable 5 en lugar de llamar a una herramienta de búsqueda o recuperación. Si tu producto depende de la recuperación con esfuerzo bajo, aumenta el esfuerzo para esas solicitudes o dile al modelo cuándo buscar. Consulta Activación de búsqueda con esfuerzo bajo.

Para las diferencias en densidad de prosa, formato de chat, citas en resúmenes y ediciones de archivos, que no afectan la integración con la API, consulta Cambios respecto a Claude Fable 5.

Estos cambios no son obligatorios, pero cada uno reduce el costo o la latencia o elimina un modo de falla:

  1. Cambia el esfuerzo a mitad de conversación (beta): En Claude Fable 5, output_config.effort es a nivel de solicitud, y cambiarlo entre solicitudes descarta los prefijos en caché de turnos anteriores. En claude-fable-5-1, un mensaje role: "system" que lleva solo output_config aumenta el esfuerzo para un paso difícil o lo reduce para los rutinarios sin invalidar la caché de prompts:

    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.",
            },
            # Mensaje del sistema solo de esfuerzo: el nuevo nivel entra en vigor a partir del siguiente turno del usuario.
            {"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)

    El valor aplica al siguiente turno del usuario y a cada turno posterior hasta que otro mensaje role: "system" lo cambie. Solo se aceptan los niveles con nombre (low, medium, high, xhigh, max), y se requiere el encabezado beta mid-conversation-output-config-2026-07-01. Consulta Esfuerzo por mensaje.

  2. Cambia instrucciones y herramientas con mensajes de sistema a mitad de conversación: Para cambiar instrucciones o herramientas a mitad de una sesión, agrega un mensaje role: "system", con bloques tool_addition y tool_removal para cambios de herramientas (encabezado beta mid-conversation-tool-changes-2026-07-01, con el conjunto completo de herramientas declarado en tools al inicio de la sesión). Esto preserva los aciertos de caché de prompts en turnos anteriores y mantiene el historial de conversación como solo agregar. El mismo mensaje reemplaza el tool_choice forzado cuando una herramienta específica debe ejecutarse en el turno actual (consulta Cambios incompatibles). Para un recordatorio que aplica a un solo turno, envíalo como un mensaje role: "system" separado de solo texto con clear_at: "next_user_message" (mensajes de sistema con alcance de turno, encabezado beta mid-conversation-system-clear-at-2026-08-21) y déjalo en el historial: deja de renderizarse después del siguiente mensaje del usuario y no cuesta tokens una vez limpiado. Un mensaje que lleva bloques tool_addition o tool_removal no puede tener alcance de turno.

  3. Usa fallbacks: "default" para los rechazos: Sigue manejando stop_reason: "refusal" y leyendo stop_details.category antes del contenido de la respuesta. Para volver a ejecutar automáticamente las solicitudes rechazadas en otro modelo, establece fallbacks: "default" (beta, encabezado server-side-fallback-2026-07-01). "default" reintenta una solicitud rechazada en el modelo que Anthropic recomienda para esa categoría. Los destinos de fallback permitidos para Claude Fable 5.1 son Claude Opus 4.8 (claude-opus-4-8) y Claude Opus 5 (claude-opus-5). Una lista fallbacks explícita puede nombrar cualquiera de los dos. El modelo de fallback no recibe los bloques de pensamiento de Claude Fable 5.1. Si construyes el reintento tú mismo, el crédito de fallback aplica en los mismos términos que Claude Fable 5. Consulta Rechazos y fallback.

  4. Comienza con esfuerzo high y haz un barrido: El valor predeterminado del parámetro effort es high, y los cinco niveles son compatibles. Mantén la guía de Claude Fable 5: high para la mayoría del trabajo, y medium como un control de costos que vale la pena probar. Las mejoras de Claude Fable 5.1 sobre Claude Fable 5 son mayores en xhigh y max, pero esos niveles también agregan tiempo de pensamiento y tiempo hasta la primera respuesta, así que sube a ellos para las tareas más sensibles a la capacidad y donde tus evaluaciones muestren la mejora. Ejecuta un barrido nuevo en tus propias evaluaciones en lugar de trasladar una configuración ajustada para Claude Fable 5. Consulta Niveles de esfuerzo recomendados para Claude Fable 5.1.

  5. Recorta el contexto en el servidor, o compacta en una forma que no lleve pensamiento obsoleto: Si tu código trunca o resume turnos antiguos en el cliente, la solución más simple es mover ese trabajo a la compactación del lado del servidor o la edición de contexto. Ninguna cuenta como edición, porque la verificación del historial compara la conversación tal como la enviaste, así que nada de lo que eliminan invalida los bloques de pensamiento posteriores, y el parámetro instructions de la compactación acepta tu propio prompt de resumen. Si mantienes la compactación en el cliente, elige una de tres formas:

    • Compactación simple (recomendada): reemplaza todo el historial con un mensaje de resumen más el nuevo turno del usuario y no reproduzcas nada más. No se traslada ningún bloque de pensamiento, así que nada falla. Los modelos Claude están entrenados en tareas de horizonte largo con este esquema, y su rendimiento es comparable al de esquemas más elaborados para la mayoría de las cargas de trabajo.
    • Compactación con cola conservada: si mantienes los turnos más recientes textualmente detrás de un resumen, elimina los bloques thinking y redacted_thinking de esos turnos (el texto y las llamadas a herramientas pueden quedarse), o establece prefix_mismatch_behavior: "drop_block". Su pensamiento se produjo frente al historial completo y de lo contrario falla detrás del resumen.
    • Compactación en segundo plano: si construyes el resumen fuera de la ruta crítica y lo insertas después, cada turno producido mientras tanto lleva pensamiento anterior a la inserción. Envía "drop_block" en cada solicitud que aún lleve bloques de pensamiento producidos antes de la inserción (o elimina esos bloques tú mismo; input_transformations en la primera respuesta después de la inserción lista exactamente cuáles), o compacta de forma síncrona.

    No recortes turnos individuales de la mitad de la transcripción: eso invalida cada bloque de pensamiento posterior y ninguna forma del lado del cliente lo evita. Usa un mensaje de sistema a mitad de conversación para el cambio de instrucción que estabas haciendo, o la edición de contexto del lado del servidor para la eliminación selectiva. Consulta Devolver bloques de compactación.

Lista de verificación de migración

  • Actualiza el nombre del modelo de claude-fable-5 a claude-fable-5-1 (o de claude-mythos-5 a claude-mythos-5-1).
  • Reemplaza el tool_choice forzado ({type: "any"} o {type: "tool", ...}). Devuelve un error 400. Usa {type: "auto"} más una instrucción explícita y herramientas con strict: true, o salidas JSON. Coloca la instrucción en el turno user, o en un mensaje role: "system" a mitad de conversación cuando tu aplicación requiera la llamada.
  • Sigue devolviendo los bloques thinking sin cambios en cada turno, incluidos los vacíos. Claude Fable 5.1 lee bloques de Claude Opus 5, Claude Fable 5, Claude Mythos 5 y modelos anteriores. Mover una conversación de Claude Fable 5.1 a un modelo anterior descarta sus bloques (Claude Mythos 5.1 los lee).
  • Si tu código construye el arreglo messages por sí mismo, verifica si edita turnos anteriores: ejecuta una sesión con el encabezado beta thinking-binding-controls-2026-08-01 y prefix_mismatch_behavior: "drop_block", registra input_transformations y corrige cada prefix_binding_mismatch. Las entradas model_binding_mismatch después de un cambio de modelo son esperadas.
  • Mantén el historial de conversación solo de anexado (append-only): congela system y tools al inicio de la sesión y mueve los cambios a mitad de sesión a mensajes role: "system" y bloques tool_addition / tool_removal, envía recordatorios por turno como mensajes de sistema con alcance de turno que nunca elimines, recorta el contexto del lado del servidor o elimina los bloques de pensamiento de cualquier turno que traslades a través de un resumen del lado del cliente, y referencia los archivos entre turnos por file_id.
  • Elige un prefix_mismatch_behavior de producción ("error" por defecto, o "drop_block") y monitoréalo. Si mantienes una herramienta que otros ejecutan con su propia clave de API, prueba con el campo establecido: las cuentas nuevas tienen la aplicación forzada por defecto aunque la tuya no.
  • Revisa los bucles de agentes en busca del comportamiento de una llamada de herramienta por turno y agrega la instrucción de agrupación en lotes.
  • Si tu interfaz muestra texto de progreso entre llamadas de herramientas, establece thinking.display en "updates" (beta) o "summarized" y solicita actualizaciones en el prompt.
  • Si cambias el esfuerzo entre solicitudes, mueve el cambio a un mensaje role: "system" de esfuerzo por mensaje (beta) para conservar los aciertos de caché.
  • Maneja stop_reason: "refusal" y lee stop_details.category. Considera fallbacks: "default" (beta).
  • Reevalúa effort con un nuevo barrido, comenzando en high, y vuelve a establecer la línea base de costo y latencia en tus propias cargas de trabajo. Los conteos de tokens prácticamente no cambian. Las lecturas de caché de prompts cuestan una cuarta parte de la tarifa de Claude Fable 5.

Migración a Claude Fable 5.1 desde Claude Opus 5

Claude Fable 5.1 usa los mismos patrones de la API de Messages y de uso de herramientas que Claude Opus 5. Mantiene la ventana de contexto de 1M de tokens por defecto, los 128k tokens máximos de salida, el mínimo de 512 tokens para el almacenamiento en caché de prompts y la compatibilidad con mensajes de sistema a mitad de conversación. La restricción de prellenado (prefill), la restricción de parámetros de muestreo y el valor por defecto "omitted" para thinking.display también se mantienen. Aplica todo lo indicado en Migración a Claude Fable 5.1 desde Claude Fable 5, más lo siguiente.

Actualiza el nombre de tu modelo

model = "claude-opus-5"  # Before
model = "claude-fable-5-1"  # After

# O, para el modelo de Project Glasswing con las mismas capacidades:
model = "claude-mythos-5-1"  # After

Qué cambió

  1. El pensamiento ya no se puede deshabilitar: Claude Opus 5 acepta thinking: {type: "disabled"} en un nivel de esfuerzo de high o inferior. En claude-fable-5-1 y claude-mythos-5-1, el pensamiento adaptativo siempre está activado, y thinking: {type: "disabled"} devuelve un error 400 en cualquier nivel de esfuerzo. Elimina el campo, controla el gasto de tokens con niveles de esfuerzo más bajos y revisa max_tokens para las cargas de trabajo que se ejecutaban con el pensamiento deshabilitado.

  2. La elección forzada de herramientas no es compatible: Claude Opus 5 acepta tool_choice any y tool. claude-fable-5-1 devuelve un error 400. Consulta Cambios incompatibles.

  3. Pensamiento preservado entre modelos: Claude Fable 5.1 lee los bloques de pensamiento de Claude Opus 5: las conversaciones que pasan de claude-opus-5 a claude-fable-5-1 conservan su razonamiento. Claude Opus 5 no puede leer los bloques de Claude Fable 5.1. Los bloques de Claude Fable 5.1 también dejan de ser válidos cuando cambian los turnos anteriores: si tu código edita mensajes anteriores, reconstruye system o tools, o compacta en el cliente entre solicitudes, Claude Opus 5 no objetaba, pero claude-fable-5-1 rechaza o descarta cada bloque de pensamiento posterior. Ejecuta la verificación de tres pasos de esa sección antes de cambiar el tráfico. Consulta Cambios incompatibles.

  4. El texto entre llamadas de herramientas se devuelve en bloques de pensamiento: En Claude Opus 5, el texto que el modelo escribe entre llamadas de herramientas se devuelve como bloques text. En claude-fable-5-1, al igual que en Claude Fable 5, esa narración se devuelve como bloques thinking de actualización de progreso, uno antes de cada llamada de herramienta. Con el valor por defecto de thinking.display de "omitted", no contienen texto legible. Si tu interfaz muestra esa narración, establece display: "updates" (beta) para recibir las actualizaciones de progreso como texto mientras el razonamiento permanece oculto, o "summarized" para recibir ambos. Luego muestra los bloques thinking no vacíos entre los bloques tool_use. Consulta Actualizaciones de progreso entre llamadas de herramientas.

  5. Clasificadores de seguridad y enrutamiento de respaldo: Claude Fable 5.1 ejecuta clasificadores de seguridad que cubren las mismas categorías de stop_details que Claude Fable 5, un conjunto más amplio que los clasificadores exclusivos de ciberseguridad de Claude Opus 5. Espera valores de stop_details.category más allá de "cyber", como "bio" y "reasoning_extraction"; consulta la tabla de categorías de rechazo para ver el conjunto completo. Para la configuración de fallbacks y los destinos permitidos, consulta Usa fallbacks: "default" para los rechazos.

  6. Precios: $10 USD por millón de tokens de entrada y $50 USD por millón de tokens de salida, en comparación con $5 USD y $25 USD para Claude Opus 5. Las lecturas de caché de prompts cuestan $0.25 USD por millón de tokens, la mitad de la tarifa de Claude Opus 5. Consulta Precios de Claude.

  7. Retención de datos: Claude Fable 5.1 y Claude Mythos 5.1 requieren una retención de datos de 30 días, no están disponibles bajo acuerdos de retención cero de datos (ZDR) a menos que Anthropic lo autorice expresamente, y están designados como Modelos Cubiertos. Claude Opus 5 está disponible bajo ZDR. Consulta Requisitos de retención de datos específicos del modelo.

Lista de verificación de migración

  • Si tu organización tiene un acuerdo de retención cero de datos (ZDR), confirma primero la elegibilidad: estos modelos no están disponibles bajo ZDR a menos que Anthropic lo autorice expresamente. Consulta Requisitos de retención de datos específicos del modelo.
  • Actualiza el nombre del modelo de claude-opus-5 a claude-fable-5-1 (o claude-mythos-5-1).
  • Elimina cualquier configuración thinking: {type: "disabled"}: devuelve un error 400 en claude-fable-5-1. Controla el gasto de tokens con niveles de esfuerzo más bajos y revisa max_tokens.
  • Reemplaza el tool_choice forzado (any o tool) con auto más una instrucción explícita (turno user o mensaje de sistema a mitad de conversación) y herramientas con strict: true, o con salidas JSON.
  • Si tu interfaz muestra texto entre llamadas de herramientas, establece display: "updates" (beta) o "summarized" y muestra los bloques thinking no vacíos.
  • Aplica los elementos de pensamiento preservado, edición del historial, comportamiento, esfuerzo y respaldo de la lista de verificación de Claude Fable 5.
  • Vuelve a establecer la línea base de costo en tus propias cargas de trabajo. Los conteos de tokens prácticamente no cambian. El precio por token difiere.

Migración a Claude Fable 5.1 desde Claude Opus 4.8 o anterior

Primero aplica Migración a Claude Mythos 5 y Claude Fable 5 desde Claude Opus 4.8 para los cambios a nivel de API desde Claude Opus 4.8. Cubre el pensamiento adaptativo, la salida de pensamiento, los rechazos, el esfuerzo, el mínimo de almacenamiento en caché, los precios y la retención de datos. Luego aplica la diferencia restante en Migración a Claude Fable 5.1 desde Claude Fable 5. En Claude Opus 4.7 o anterior, comienza con la sección correspondiente de Migración a Claude Opus 5.

Actualiza el nombre de tu modelo

model = "claude-opus-4-8"  # Before
model = "claude-fable-5-1"  # After

# O, para el modelo de Project Glasswing con las mismas capacidades:
model = "claude-mythos-5-1"  # After

Lista de verificación de migración

  • Si tu organización tiene un acuerdo de retención cero de datos (ZDR), confirma primero la elegibilidad: estos modelos no están disponibles bajo ZDR a menos que Anthropic lo autorice expresamente. Claude Opus 4.8 está disponible bajo ZDR.
  • Actualiza el nombre del modelo de claude-opus-4-8 a claude-fable-5-1 (o claude-mythos-5-1).
  • Elimina cualquier configuración thinking: {type: "disabled"} y revisa max_tokens. Las solicitudes sin un campo thinking se ejecutan con pensamiento adaptativo.
  • Reemplaza el tool_choice forzado (any o tool) con auto más una instrucción explícita (turno user o mensaje de sistema a mitad de conversación) y herramientas con strict: true, o con salidas JSON.
  • Devuelve los bloques thinking sin cambios y trata su texto como solo de visualización. Claude Fable 5.1 lee los bloques de pensamiento de Claude Opus 4.8: una conversación que pasa a claude-fable-5-1 conserva su razonamiento anterior. Claude Opus 4.8 no puede leer los bloques de Claude Fable 5.1.
  • Si tu código construye el arreglo messages por sí mismo, verifica si edita turnos anteriores. Las integraciones escritas para Claude Opus 4.8 y anteriores a menudo truncan turnos antiguos, eliminan o reconstruyen mensajes anteriores, o actualizan la indicación del sistema system en cada solicitud, y Claude Opus 4.8 nunca objetó. En claude-fable-5-1, cada una de esas acciones invalida los bloques de pensamiento posteriores.
  • Maneja stop_reason: "refusal", lee stop_details.category y considera fallbacks: "default" (beta).
  • Aplica los elementos de pensamiento preservado, edición del historial, comportamiento, esfuerzo por mensaje y actualización de progreso de la lista de verificación de Claude Fable 5.
  • Reevalúa effort (comienza en high), revisa los prompts cercanos al mínimo de 512 tokens para el almacenamiento en caché y vuelve a establecer la línea base de costo y latencia. El precio por token difiere.

Migración a Claude Mythos 5.1 desde Claude Mythos 5

Claude Mythos 5.1 es la contraparte de acceso restringido de Claude Fable 5.1. Confirma el acceso de tu organización con tu equipo de cuenta de Anthropic antes de cambiar los ID de modelo.

La diferencia a nivel de API coincide con Migración a Claude Fable 5.1 desde Claude Fable 5: la elección forzada de herramientas devuelve un error 400, y los bloques de pensamiento se preservan solo para el modelo que los produjo o uno más reciente (Claude Mythos 5.1 lee los bloques de Claude Mythos 5, no al revés). A diferencia de Claude Fable 5.1, Claude Mythos 5.1 no ejecuta la verificación de conversación, por lo que editar turnos anteriores no invalida los bloques de pensamiento, aunque sí reinicia la caché de prompts.

Actualiza el nombre de tu modelo

model = "claude-mythos-5"  # Before
model = "claude-mythos-5-1"  # After

Lista de verificación de migración

  • Actualiza el nombre del modelo de claude-mythos-5 a claude-mythos-5-1.
  • Reemplaza el tool_choice forzado (any o tool) con auto más una instrucción explícita (turno user o mensaje de sistema a mitad de conversación) y herramientas con strict: true, o con salidas JSON.
  • Maneja stop_reason: "refusal" y lee stop_details.category antes del contenido de la respuesta. Consulta Rechazos y respaldo.
  • Sigue devolviendo los bloques thinking sin cambios en cada turno, incluidos los vacíos.
  • Si tu código construye el arreglo messages por sí mismo, mantén el historial de conversación solo de anexado para mantener la caché de prompts activa. Claude Mythos 5.1 no ejecuta la verificación de conversación, por lo que las ediciones no invalidan sus bloques de pensamiento.
  • Aplica los cambios de comportamiento y los cambios recomendados de la sección de Claude Fable 5, excepto los elementos de edición del historial, que no aplican a Claude Mythos 5.1.
  • Reevalúa effort con un nuevo barrido y vuelve a establecer la línea base de costo y latencia. Las lecturas de caché de prompts cuestan una cuarta parte de la tarifa de Claude Mythos 5.

Was this page helpful?