Para saber cómo se aplica la retención cero de datos (ZDR) a esta función, consulta API y retención de datos.
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 asigna cada modelo a sus configuraciones de pensamiento compatibles y a las que rechaza; las secciones siguientes comienzan cada una desde 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 saber cómo funciona el pensamiento, consulta la descripción general de Pensamiento.
La mayoría de los errores de configuración de pensamiento son una discrepancia entre el valor de thinking.type en la solicitud y lo que el modelo admite. En los modelos actuales, el pensamiento se ejecuta como thinking: {type: "adaptive"}, y en los más nuevos está activado de forma predeterminada. Algunos modelos anteriores usan en su lugar el pensamiento extendido, un modo manual heredado configurado como thinking: {type: "enabled", budget_tokens: N}.
El pensamiento extendido (thinking.type: "enabled" con budget_tokens) está obsoleto en los modelos Claude 4.6 (las solicitudes que lo usan siguen funcionando). 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 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 pensamiento adaptativo en su lugar.
La tabla enumera lo que cada modelo admite, cuál es su valor predeterminado y qué valores de thinking.type rechaza con un error 400; cualquier valor no listado como rechazado es aceptado.
| Modelo | Tipos de pensamiento | Predeterminado | Rechazado con 400 |
|---|---|---|---|
| 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" |
| Claude Opus 4.1 (obsoleto) | 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 tienen el pensamiento de forma predeterminada pero aceptan thinking: {type: "disabled"}.
Los modelos Claude 4 anteriores (Claude Sonnet 4 y Claude Opus 4) admiten solo el pensamiento extendido; consulta las obsolescencias de modelos para conocer su disponibilidad. Claude Fable 5 y Claude Mythos 5 no están disponibles bajo retención cero de datos.
"thinking.type.enabled" no es compatibleLa 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 Configuraciones que cada modelo rechaza).
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.
"thinking.type.disabled" no es compatibleLa 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, Claude Mythos 5 y Claude Mythos Preview rechazan "disabled". En Claude Fable 5 y Claude Mythos 5, la sugerencia del texto del error de usar "thinking.type.enabled" tampoco aplica: esos modelos también lo rechazan.
Omite el parámetro thinking; estos modelos piensan sin ninguna configuración. Si tu objetivo era mantener el texto de 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 es rechazado. Reduce el nivel de effort, o deja el pensamiento activado.
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 Configuraciones que cada modelo rechaza).
Usa thinking: {type: "enabled", budget_tokens: N} en su lugar; consulta Pensamiento extendido para la configuración.
Una solicitud que devuelve resultados de herramientas falla con un error 400 invalid_request_error cuyo mensaje contiene:
`thinking` or `redacted_thinking` blocks in the latest assistant message cannot be modifiedEn conversaciones de múltiples turnos y de uso de herramientas, envías los mensajes anteriores del asistente, incluidos sus bloques thinking y redacted_thinking, de vuelta a la API, y la API verifica que lleguen sin modificar. Este error ocurre cuando el mensaje del asistente que envías de vuelta difiere del que la API devolvió, 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, incluidos los bloques de pensamiento. Consulta Preservar los bloques de pensamiento para conocer las reglas, y el viaje de ida y vuelta desarrollado en Pensamiento en flujos de trabajo de herramientas y múltiples turnos para ver código correcto en cada SDK.
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.
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 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 prompting; consulta Dirigir con qué frecuencia piensa Claude.
Una respuesta ocasionalmente 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 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, más comúnmente en cargas de trabajo con uso intensivo de herramientas como la búsqueda. Las reglas de 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 en Ejecutar con el pensamiento desactivado.
stop_reason: "max_tokens"La respuesta termina con stop_reason: "max_tokens", a menudo con un bloque de texto truncado o faltante.
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 la respuesta de texto se complete.
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.
cache_read_input_tokens cae a cero en solicitudes que anteriormente 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 del 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 todos 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, dependiendo de dónde el modelo renderice la configuración.
Mantén la configuración de pensamiento y el nivel de effort constantes en las solicitudes que comparten una conversación; establecer un parámetro explícitamente en su valor predeterminado es equivalente a omitirlo y no invalida. Consulta Pensamiento y almacenamiento en caché de prompts.
Cambias effort pero la frecuencia o profundidad del pensamiento permanece 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, el effort se compone con el presupuesto; consulta Reglas y ajuste del presupuesto.
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 errores 400 de configuración de pensamiento con sus mensajes exactos del servidor.
Convierte las solicitudes con budget_tokens a pensamiento adaptativo con effort.
Was this page helpful?