Solución de problemas del pensamiento
Diagnostica y corrige las fallas de pensamiento más comunes: errores 400 de configuración, bloques de pensamiento vacíos o ausentes, detenciones por max_tokens y fallos de caché.
Esta página cubre las fallas más comunes al configurar el pensamiento o al hacer el viaje de ida y vuelta de los bloques de pensamiento (enviar de vuelta los bloques de pensamiento devueltos en solicitudes posteriores). La primera sección relaciona cada modelo con sus configuraciones de pensamiento compatibles y las que rechaza; las secciones siguientes parten cada una de un síntoma que observas, para que puedas relacionar un mensaje de error o una respuesta inesperada directamente con su causa y solución. Para aprender cómo funciona el pensamiento, consulta la descripción general de Pensamiento.
Compatibilidad con el pensamiento, valores predeterminados y configuraciones rechazadas por modelo
La mayoría de los errores de configuración del pensamiento son una discrepancia entre el valor de thinking.type en la solicitud y lo que el modelo admite. En la mayoría de los modelos, el pensamiento se ejecuta como thinking: {type: "adaptive"}, y muchos lo tienen activado de forma predeterminada. Algunos modelos anteriores usan en su lugar el pensamiento extendido ("extended thinking"), un modo manual heredado configurado como thinking: {type: "enabled", budget_tokens: N}.
El "extended thinking" (pensamiento extendido) (thinking.type: "enabled" con budget_tokens) está obsoleto en los modelos Claude 4.6 (las solicitudes que lo usan aún se completan correctamente). Claude 4.7 y los modelos posteriores no lo admiten y rechazan las solicitudes que lo usan, devolviendo un error 400. En Claude 4.5 y los modelos anteriores que admiten pensamiento, el pensamiento extendido es el único modo de pensamiento disponible. Claude Mythos Preview admite ambos modos. Donde ambos modos estén disponibles, usa el pensamiento adaptativo en su lugar.
La tabla enumera lo que admite cada modelo, cuál es su valor predeterminado y qué valores de thinking.type rechaza con un error 400; cualquier valor que no figure como rechazado se acepta.
| Modelo | Tipos de pensamiento | Predeterminado | Rechazado con 400 |
|---|---|---|---|
| Claude Fable 5.1 | Solo adaptativo | Siempre activado | "enabled", "disabled" |
| Claude Mythos 5.1 | Solo adaptativo | Siempre activado | "enabled", "disabled" |
| Claude Fable 5 | Solo adaptativo | Siempre activado | "enabled", "disabled" |
| Claude Mythos 5 | Solo adaptativo | Siempre activado | "enabled", "disabled" |
| Claude Mythos Preview | Adaptativo, extendido | Siempre activado | "disabled" |
| Claude Opus 5 | Solo adaptativo | Activado | "enabled", "disabled"2 |
| Claude Opus 4.8 | Solo adaptativo | Desactivado | "enabled" |
| Claude Opus 4.7 | Solo adaptativo | Desactivado | "enabled" |
| Claude Sonnet 5 | Solo adaptativo | Activado | "enabled" |
| Claude Opus 4.6 | Adaptativo, extendido (obsoleto)1 | Desactivado | Ninguno |
| Claude Sonnet 4.6 | Adaptativo, extendido (obsoleto)1 | Desactivado | Ninguno |
| Claude Opus 4.5 | Solo extendido | Desactivado | "adaptive" |
| Claude Haiku 4.5 | Solo extendido | Desactivado | "adaptive" |
| Claude Sonnet 4.5 | Solo extendido | Desactivado | "adaptive" |
1 enabled y budget_tokens todavía funcionan en estos modelos, pero están obsoletos; usa el pensamiento adaptativo en su lugar.
2 Claude Opus 5 acepta "disabled" con effort high o inferior; combinarlo con effort xhigh o max devuelve un error 400. Esta restricción se aplica a Claude Opus 5 y modelos posteriores y se hace cumplir en cada solicitud.
Los modelos marcados como Siempre activado no pueden desactivar el pensamiento. Los modelos marcados como Activado piensan de forma predeterminada, pero aceptan thinking: {type: "disabled"}.
Los modelos Claude 4 anteriores (Claude Opus 4.1, Claude Sonnet 4 y Claude Opus 4) solo admiten el pensamiento extendido. Consulta Obsolescencia de modelos para conocer su disponibilidad. Claude Fable 5.1, Claude Mythos 5.1, Claude Fable 5 y Claude Mythos 5 no están disponibles bajo retención cero de datos a menos que Anthropic lo autorice expresamente.
Un error 400 dice que "thinking.type.enabled" no es compatible
La solicitud falla con un error 400 cuyo mensaje dice:
"thinking.type.enabled" is not supported for this model. Use "thinking.type.adaptive" and "output_config.effort" to control thinking behavior.Esto sucede porque el modelo que solicitaste ha eliminado el pensamiento extendido (consulta la tabla de configuración por modelo).
Cambia la solicitud a thinking: {type: "adaptive"} y dirige la profundidad del pensamiento con effort en lugar de budget_tokens. Migración al pensamiento adaptativo explica la conversión paso a paso.
Un error 400 dice que "thinking.type.disabled" no es compatible
La solicitud falla con un error 400 cuyo mensaje dice:
"thinking.type.disabled" is not supported for this model. Thinking defaults to adaptive mode when not specified; use "thinking.type.enabled" with "budget_tokens" for extended thinking.Esto sucede en modelos donde el pensamiento está siempre activado: Claude Fable 5.1, Claude Mythos 5.1, Claude Fable 5, Claude Mythos 5 y Claude Mythos Preview rechazan "disabled". Todos ellos, excepto Claude Mythos Preview, también rechazan el "thinking.type.enabled" que sugiere el texto del error.
Omite el parámetro thinking; estos modelos piensan sin ninguna configuración. Si tu objetivo era mantener el texto del pensamiento fuera de las respuestas, usa display: "omitted" en lugar de desactivar el pensamiento; consulta Controlar la visualización del pensamiento.
Un error 400 con "disabled" también puede ocurrir en Claude Opus 5, que acepta thinking: {type: "disabled"} solo con effort high o inferior: combinarlo con effort xhigh o max se rechaza. Reduce el nivel de effort o deja el pensamiento activado.
Un error 400 dice que el pensamiento adaptativo no es compatible
La solicitud falla con un error 400 cuyo mensaje dice:
adaptive thinking is not supported on this modelEsto sucede porque el modelo solo admite el pensamiento extendido (consulta la tabla de configuración por modelo).
Usa thinking: {type: "enabled", budget_tokens: N} en su lugar; consulta Pensamiento extendido para la configuración.
Un error 400 dice que los bloques de pensamiento no se pueden modificar
Una solicitud que devuelve resultados de herramientas falla con un invalid_request_error 400 cuyo mensaje contiene:
`thinking` or `redacted_thinking` blocks in the latest assistant message cannot be modifiedEn conversaciones de varios turnos y de uso de herramientas ("tool use"), envías de vuelta a la API los mensajes anteriores del asistente, incluidos sus bloques thinking y redacted_thinking, y la API verifica que lleguen sin modificaciones. Este error ocurre cuando el mensaje del asistente que envías de vuelta difiere del que devolvió la API, con mayor frecuencia porque tu código filtra los bloques de contenido por tipo y descarta los bloques redacted_thinking, o reconstruye el mensaje del asistente en lugar de reenviarlo tal cual.
Reenvía el turno del asistente textualmente, con los bloques de pensamiento incluidos. Consulta Preservar los bloques de pensamiento para conocer las reglas, y el viaje de ida y vuelta desarrollado en Pensamiento en flujos de trabajo con herramientas y de varios turnos para ver código correcto en cada SDK.
Un error 400 dice que la firma de un bloque de pensamiento no es válida
Una solicitud a Claude Fable 5.1 que reproduce bloques de pensamiento anteriores falla con un invalid_request_error 400 cuyo mensaje dice:
messages.{i}.content.{j}: 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".Si la solicitud no envió el encabezado beta thinking-binding-controls-2026-08-01, el mensaje agrega That setting requires the `thinking-binding-controls-2026-08-01` value in the `anthropic-beta` header. El mensaje también puede terminar con una oración que nombra el primer mensaje que cambió. Si el mensaje no tiene ninguna cláusula de motivo, el contenido del bloque fue modificado. Consulta Un error 400 dice que los bloques de pensamiento no se pueden modificar.
En Claude Fable 5.1, la API acepta un bloque de pensamiento reproducido solo mientras la indicación system, las tools y los mensajes que lo precedieron no hayan cambiado. El error significa que algo anterior en la conversación cambió entre solicitudes: un turno editado, reordenado o eliminado, un recordatorio por turno que se inyectó y luego se eliminó, una indicación system o un arreglo tools reconstruidos, o una compactación del lado del cliente que conservó textualmente los turnos recientes y su pensamiento. La verificación se hace cumplir para las cuentas nuevas creadas a partir del 31 de agosto de 2026, y para cualquier solicitud que establezca thinking.block_binding.prefix_mismatch_behavior. La compactación y la edición de contexto del lado del servidor nunca la activan.
Para corregirlo, mantén el historial como solo de anexado: devuelve los turnos anteriores exactamente como se enviaron y recibieron, agrega instrucciones con un mensaje del sistema a mitad de conversación en lugar de editar system o tools, y deja que la edición de contexto o la compactación del lado del servidor hagan cualquier recorte. Reintentar el mismo cuerpo de solicitud no elimina el error. Para continuar esta solicitud sin el razonamiento invalidado, envía el encabezado beta thinking-binding-controls-2026-08-01 y establece thinking.block_binding.prefix_mismatch_behavior en "drop_block". Como alternativa, elimina todos los bloques thinking y redacted_thinking del historial (como mínimo el bloque nombrado y todos los posteriores, en ese turno y en todos los turnos siguientes), deja los demás bloques de cada turno en su lugar y reintenta una vez.
Un bloque de un modelo que el modelo de destino no puede leer nunca produce este error: la API lo descarta y, con el encabezado beta, lo informa en input_transformations.
El campo thinking está vacío en la respuesta
La respuesta contiene bloques thinking, pero su campo thinking es una cadena vacía y solo el campo signature está poblado.
Esto sucede porque display tiene como valor predeterminado "omitted" en los modelos más nuevos, lo que devuelve los bloques de pensamiento sin su texto.
Establece display: "summarized" en tu configuración de pensamiento para recibir el texto de pensamiento resumido. Consulta Controlar la visualización del pensamiento para conocer los valores predeterminados por modelo. Si solo quieres las breves líneas de estado que algunos modelos escriben entre llamadas a herramientas, y no el razonamiento, establece display: "updates" (beta) en su lugar. Consulta Actualizaciones de progreso entre llamadas a herramientas.
No aparece ningún bloque de pensamiento en algunos turnos
Algunas respuestas no contienen ningún bloque thinking, aunque el pensamiento esté configurado.
Esto es normal en el modo adaptativo: Claude omite el pensamiento en las solicitudes que considera lo suficientemente simples como para responder directamente.
Si quieres que piense con más frecuencia o más profundidad, aumenta effort o dirígelo mediante prompts; consulta Dirigir con qué frecuencia piensa Claude.
Aparecen llamadas a herramientas o etiquetas XML en la salida de texto
Ocasionalmente, una respuesta escribe una llamada a herramienta en su texto en lugar de emitir un bloque tool_use, o incluye <thinking> u otras etiquetas XML internas en su texto visible. Una llamada a herramienta filtrada nunca se ejecuta, y en los bucles agénticos el texto filtrado permanece en el historial de la conversación, por lo que los turnos posteriores también se ven afectados.
Esto sucede en Claude Opus 5 cuando el pensamiento está desactivado, con mayor frecuencia en cargas de trabajo con uso intensivo de herramientas, como la búsqueda. Las reglas en la indicación del sistema que instruyen al modelo a no pensar o no razonar aumentan la filtración de etiquetas.
Vuelve a activar el pensamiento (el valor predeterminado) y usa niveles de effort más bajos para controlar el costo de tokens en su lugar. Si tu integración debe mantener el pensamiento desactivado, aplica las mitigaciones de prompting de Ejecutar con el pensamiento desactivado.
La respuesta se detiene con stop_reason: "max_tokens"
La respuesta termina con stop_reason: "max_tokens", a menudo con un bloque de texto truncado o ausente.
Esto sucede porque los tokens de pensamiento cuentan para max_tokens, por lo que una pasada de pensamiento larga puede consumir el presupuesto antes de que se complete la respuesta de texto.
Aumenta max_tokens para dejar espacio tanto para el pensamiento como para el texto, o reduce effort para que Claude gaste menos en pensar; consulta Control de costos y El pensamiento y la ventana de contexto.
Los aciertos de caché caen después de cambiar la configuración de pensamiento
cache_read_input_tokens cae a cero en solicitudes que antes acertaban en la caché.
Esto sucede porque la configuración de pensamiento y el nivel de effort (o su valor predeterminado) forman parte del prefijo de prompt almacenado en caché, por lo que cambiar cualquiera de ellos inicia un nuevo prefijo: cambiar de modo de pensamiento, cambiar el valor de effort y cambiar budget_tokens invalidan los puntos de interrupción de caché de mensajes, y también pueden invalidar los puntos de interrupción de herramientas y de la indicación del sistema, según dónde el modelo represente la configuración.
Mantén constantes la configuración de pensamiento y el nivel de effort en las solicitudes que comparten una conversación; establecer un parámetro explícitamente en su valor predeterminado equivale a omitirlo y no invalida. Consulta El pensamiento y el almacenamiento en caché de prompts.
Establecer effort no cambia el pensamiento
Cambias effort, pero la frecuencia o la profundidad del pensamiento siguen igual.
Esto sucede porque effort es la palanca principal del pensamiento solo en el modo adaptativo. En los modelos que solo admiten pensamiento extendido, la profundidad del pensamiento se establece con budget_tokens en su lugar.
Ajusta budget_tokens en esos modelos, o verifica en qué modo se ejecuta tu modelo; consulta Pensamiento y effort. En Claude Opus 4.5, el único modelo de solo pensamiento extendido que admite effort, effort se combina con el presupuesto; consulta Reglas y ajuste del presupuesto.
Próximos pasos
La descripción general: qué es el pensamiento, cómo configurarlo y cómo interactúa con las herramientas, el almacenamiento en caché y el streaming.
La referencia completa de errores, incluidos los 400 de configuración del pensamiento con sus mensajes exactos del servidor.
Convierte las solicitudes con budget_tokens al pensamiento adaptativo con effort.
Was this page helpful?