| |

Errores al usar Claude en Codex y WorkBuddy: 3 tipos de causas y 2 vías de solución

Errores al usar Claude en Codex y WorkBuddy: 3 tipos de causas y 2 vías de solución

Nota del autor: ni Codex ni WorkBuddy son clientes diseñados específicamente para Claude. Casi todos los errores aparecen en la capa de integración. En este artículo relacionamos cada mensaje de error con su solución, agrupados en tres categorías: endpoints, intercambio con herramientas y bloques de razonamiento.

Nosotros mismos caímos en esta trampa. Al principio, para ahorrar tiempo, usamos el protocolo compatible con OpenAI para invocar Claude; es decir, lo tratamos como si fuera un modelo de OpenAI. Las conversaciones sencillas funcionaban bien, pero en cuanto empezábamos a llamar a herramientas, aparecían errores. Reintentarlo tampoco servía. Solo conseguimos que funcionara correctamente al volver al protocolo nativo de Anthropic, /v1/messages.

Primero, comprueba si te pasa lo mismo: si Codex muestra un error relacionado con wire_api nada más arrancar, si WorkBuddy conversa con normalidad pero devuelve un error 400 al llamar a una herramienta, o si las respuestas aparecen vacías sin motivo aparente, probablemente estés ante uno de los casos que tratamos aquí.

  • El modelo no está averiado. El problema es que hay tres incompatibilidades en la capa de integración: endpoints, intercambio con herramientas y bloques de razonamiento.
  • La más fácil de resolver es la tercera categoría (bloques de razonamiento y presupuesto de salida): basta con cambiar cómo los lee el cliente y ajustar max_tokens.
  • La segunda categoría (intercambio con herramientas) tiene una dificultad intermedia y se corrige principalmente con una capa de traducción o una pasarela.
  • La primera categoría (endpoints) es la más complicada: hay que cambiar de cliente o añadir una pasarela de traducción.

La conclusión del artículo, en orden de preferencia, es: protocolo nativo de Anthropic > traducción a anthropic mediante una pasarela > chat compatible con OpenAI. Puedes empezar por consultar la tabla de más abajo para identificar a qué categoría pertenece tu error.

codex-workbuddy-claude-error-3-causes-troubleshooting-es-image-0


Las 3 causas principales de los errores al usar Claude con Codex o WorkBuddy

Primero, aclaremos algunos términos. Responses, Messages y Chat Completions son como tres formas de pedir comida: la cocina prepara los mismos platos, pero el formato del menú cambia. Codex solo sabe pedir mediante Responses, mientras que Claude solo acepta Messages y Chat Completions. El bloque thinking es como el borrador del modelo: Anthropic comprueba que nadie lo haya modificado.

Categoría Mecanismo en una frase Quién debe corregirlo Dificultad
Tipo 1: incompatibilidad de endpoints Codex solo envía Responses y Claude no acepta ese formato Cambiar de herramienta o gateway La más difícil
Tipo 2: incompatibilidad en el intercambio de herramientas Durante la traducción se modifican los identificadores, los bloques de contenido o los bloques thinking Principalmente, el gateway Media
Tipo 3: incompatibilidad entre bloques thinking y presupuesto El modelo piensa en cada respuesta, pero el cliente sigue leyendo el resultado a la antigua El cliente La más sencilla

codex-workbuddy-claude-error-3-causes-troubleshooting-es-image-1


Categoría 1: los endpoints no coinciden cuando Codex invoca Claude

Cómo se ve el error: Error loading config.toml: wire_api = "chat" is no longer supported. How to fix: set wire_api = "responses".

El mensaje indica que la opción wire_api = "chat" ya no es compatible y debe cambiarse a responses.

Por qué ocurre: según la referencia oficial de configuración de Codex, wire_api ahora solo admite el valor responses. La solución anterior de «cambiar wire_api a chat como alternativa» ya no funciona: las versiones nuevas de Codex dan error al cargar la configuración. Aunque ese proveedor no se esté usando, el error también impide ejecutar codex login status. Por otro lado, los modelos Claude de APIYI apiyi.com solo ofrecen endpoints anthropic y openai, no /v1/responses. Como los formatos no coinciden y no hay nada que los traduzca, el error es inevitable.

Cómo solucionarlo:
1. Cliente: abre ~/.codex/config.toml y elimina las opciones chat que queden, siguiendo el mensaje de error, para que Codex pueda arrancar con normalidad.
2. Cambiar de herramienta: si solo quieres usar Claude para programar, pasa directamente a Claude Code, que utiliza Messages de forma nativa.
3. Pasarela: si necesitas seguir usando Codex, añade una pasarela capaz de traducir Responses a Messages. Para la dirección del proveedor, prioriza el endpoint nativo de Anthropic.

Criterios de verificación: codex login status se ejecuta sin problemas. Si usas una pasarela, envía una instrucción que requiera leer un archivo y comprueba que Codex complete una llamada a la herramienta.


Categoría 2: el intercambio de llamadas a herramientas de Claude no coincide

Cómo se presenta el error:
– tool_use ids were found without tool_result blocks immediately after
– An assistant message with 'tool_calls' must be followed by tool messages...
– thinking or redacted_thinking blocks in the latest assistant message cannot be modified
– Invalid signature in thinking block. The block is bound to a different conversation.

El primero indica que a un tool_use no le sigue inmediatamente su tool_result correspondiente. El segundo es el mismo problema en formato Chat. El tercero indica que se modificó el bloque de pensamiento del turno anterior. El cuarto indica que la firma del bloque de pensamiento no coincide con la conversación actual.

Por qué ocurre: la capa de compatibilidad tiene que traducir bloque por bloque el contenido de Claude —text, tool_use, tool_result y thinking— a tool_calls y role: tool, y después realizar la traducción inversa. Si un ID no coincide, se fusionan bloques de contenido o se mueve un bloque thinking, se devuelve un error 400. Además, Responses tiene un rol developer que no existe en Messages, por lo que debe integrarse en system. Por otro lado, claude-opus-5-5 no acepta las siguientes prácticas antiguas: forzar tool_choice (any o una herramienta específica), predefinir un mensaje assistant (prefill) ni usar temperature / top_p / top_k.

Cómo solucionarlo:
1. Gateway: coloca cada tool_result inmediatamente después del tool_use con el mismo ID, y sitúalo al principio de los bloques de contenido del mensaje user.
2. Gateway: devuelve el mensaje assistant del turno anterior sin modificar, incluidos los bloques cuyo campo thinking esté vacío; integra el contenido developer en system.
3. Cliente: conserva solo auto o none en tool_choice y elimina el prefill y los parámetros de muestreo.
4. Cliente: si ya apareció un error de firma, inicia una conversación nueva. Según las preguntas frecuentes oficiales de APIYI, este tipo de error a veces se presenta como Request rejected (429), pero no se trata de un límite de tasa y los reintentos con espera progresiva no sirven.
5. Cambia de herramienta: si el harness tiene un tool_choice forzado y no puedes modificarlo, cambia de cliente.

Para investigar otros errores 400 similares, puedes consultar Error 400 de Claude Code por concurrencia en el uso de herramientas. La guía explica cómo localizar paso a paso los fallos de emparejamiento entre tool_use y tool_result.

Criterio de aceptación: varias rondas consecutivas de llamadas a herramientas —leer un archivo, modificarlo y volver a leerlo— ya no producen errores 400, y tampoco aparecen errores de firma dentro de la misma conversación.


Categoría 3: Los bloques de pensamiento de Claude no encajan con el presupuesto de salida

Cómo se manifiesta: "thinking.type.enabled" is not supported for this model. Use "thinking.type.adaptive" and "output_config.effort" to control thinking behavior. También puede aparecer "thinking.type.disabled" is not supported for this model. En otros casos no hay ningún error, pero la respuesta está vacía o aparece truncada.

Por qué ocurre: claude-opus-5-5 piensa en cada solicitud y la respuesta puede comenzar con un bloque thinking. Si el cliente lee content[0].text por posición, obtendrá un valor vacío. Los tokens de pensamiento se cobran como tokens de salida y también ocupan parte de max_tokens. A partir de esta generación, los comentarios entre llamadas a herramientas también se incluyen en bloques thinking y, como display tiene por defecto el valor omitted, parece que están vacíos.

Cómo solucionarlo:
1. Cliente: omite el parámetro thinking o usa thinking: {"type": "adaptive"} y elimina budget_tokens.
2. Cliente: controla la profundidad del pensamiento con output_config.effort. Las opciones son low / medium / high / xhigh / max; el valor predeterminado es medium.
3. Cliente: al leer la respuesta, busca el bloque text por su type, no por su posición.
4. Cliente: asegúrate de que max_tokens cubra tanto el pensamiento como el texto de la respuesta. Para ver los comentarios, establece thinking.display en summarized.

Para entender a fondo este mecanismo, consulta la guía de Adaptive Thinking o pensamiento adaptativo, donde se explica cómo pasar de budget_tokens a los niveles de effort.

Criterio de aceptación: envía la misma indicación varias veces seguidas. El texto de la respuesta no debe estar vacío y no deben volver a aparecer errores relacionados con thinking.type.


Tabla rápida de errores de Claude

Palabras clave del error original Tipo Comprobación en 5 minutos Si el error persiste, consulta
wire_api = "chat" is no longer supported Tipo 1 Comprueba si queda alguna configuración de chat en config.toml Tutorial de Magpie
tool_use ids were found without tool_result Tipo 2 Comprueba el id y la posición de tool_result Error 400 de Claude Code: concurrencia en el uso de herramientas
must be followed by tool messages Tipo 2 Comprueba si pasa por una capa de compatibilidad con Chat Error 400 de Claude Code: concurrencia en el uso de herramientas
Invalid signature in thinking block Tipo 2 Abre una sesión nueva y vuelve a intentarlo Adaptive Thinking: cómo funciona el razonamiento adaptativo
thinking.type.enabled / respuesta vacía Tipo 3 Elimina budget_tokens y usa type para la lectura Adaptive Thinking: cómo funciona el razonamiento adaptativo
Las conversaciones simples funcionan, pero falla al invocar una herramienta Tipo 2 Comprueba el protocolo de integración de WorkBuddy ¿Admite Workbuddy invocaciones en el formato nativo de Claude?

Dos formas de solucionar los errores al usar Claude en Codex y WorkBuddy

codex-workbuddy-claude-error-3-causes-troubleshooting-es-image-2

Ruta Para quién Prioridad del protocolo
A Volver al cliente nativo Quienes solo quieren usar Claude para programar La más alta, sin pérdidas por traducción
B Añadir una pasarela de traducción Quienes necesitan seguir en Codex o WorkBuddy Segunda opción, con la dirección del proveedor en formato Anthropic
Seguir a largo plazo con chat compatible No recomendado La más baja: las llamadas a herramientas y los bloques de razonamiento pueden fallar

Ruta A: si quieres usar Claude en Codex, cambia a Claude Code. La configuración oficial de modelos de WorkBuddy solo ofrece /chat/completions y un interruptor de «protocolo personalizado», sin una opción nativa de Anthropic. Así que no esperes obtener el razonamiento nativo en WorkBuddy. Para más detalles, consulta ¿WorkBuddy admite llamadas en el formato nativo de Claude?. El artículo explica por qué «la conversación funciona, pero las herramientas fallan» y cómo evitarlo.

Para configurar una conexión directa desde WorkBuddy, ve a «Configuración → Modelo → Personalizado». En Base URL, introduce https://api.apiyi.com/v1; como nombre del modelo, usa claude-opus-5-5; y en Key, introduce la clave que creaste en la página de tokens de APIYI apiyi.com. La URL debe terminar en /v1: no añadas /chat/completions por tu cuenta.

Pie de imagen: comprueba que la URL termine en /v1, que el modelo sea claude-opus-5-5 y que el interruptor «Protocolo personalizado» permanezca desactivado.

Ruta B: si añades una pasarela a Codex, mantén wire_api = "responses" en Codex y deja que la pasarela traduzca las solicitudes a Messages antes de reenviarlas. En WorkBuddy, apunta la URL del modelo personalizado a la pasarela local y usa el endpoint nativo de Anthropic https://api.apiyi.com como dirección del proveedor para los modelos Claude.

🎯 Recomendación técnica: con una sola clave puedes probar tanto el endpoint nativo de Messages como el de chat compatible. Primero, usa el crédito de prueba de APIYI apiyi.com para comparar las llamadas a herramientas con ambos protocolos y después decide qué ruta seguir.

Conectar Claude a Codex y WorkBuddy con Magpie

Magpie es una herramienta comunitaria de código abierto bajo licencia MIT. Levanta una pasarela local en 127.0.0.1:3425 y convierte entre OpenAI Chat, Responses y Anthropic Messages, justo lo que hace falta para cubrir la primera necesidad. Además de configurarlo manualmente, puedes hacerlo desde la interfaz gráfica de Magpie. Introduce la clave API y la Base URL, y conecta Codex y WorkBuddy a la misma pasarela sin editar archivos de configuración a mano. Encontrarás todos los pasos en el tutorial de Magpie, donde se explica cómo unificar los proveedores de modelos de varios agentes mediante una sola pasarela.

  1. Página de proveedores: añade la clave. APIYI aparece en el grupo «Proxy»; también puedes hacer clic en «+ Proveedor personalizado» e introducir los datos manualmente.
  2. Página de agentes: selecciona claude-opus-5-5 tanto para Codex como para WorkBuddy.
  3. Abre una sesión nueva; no reutilices el historial de una sesión anterior.

Pie de imagen: comprueba que el proveedor aparezca como disponible en el grupo «Proxy», que la Base URL sea la dirección nativa de Anthropic y que ambos interruptores de la página de agentes estén activados.


Precios de uso de Claude y costes de caché

Los precios están expresados en dólares por millón de tokens. Consultados el 28 de octubre de 2026; los modelos y precios vigentes son los que figuran en la lista de la plataforma:

Modelo Entrada Salida Lectura de caché Plataforma disponible
claude-opus-5-5 $4 $20 $0.2 APIYI apiyi.com
claude-sonnet-5-5 $2 $10 $0.1 APIYI apiyi.com
claude-haiku-5-5 $0.1 $0.5 $0.01 APIYI apiyi.com

El agente vuelve a enviar el historial completo en cada ronda, y los tokens de razonamiento de claude-opus-5-5 se facturan al precio de salida. Si la capa de traducción altera el orden de system, tools o el prefijo, el punto de control de cache_control deja de funcionar y aumentan tanto el coste como la latencia. Si la tasa de aciertos es anormal, consulta La tasa de aciertos de caché de Claude cae a 0 (diagnóstico), donde se explica cómo identificar por qué falla el punto de control.


Riesgos y responsabilidad por bloqueos de cuenta

Las pasarelas como Magpie son herramientas de código abierto de la comunidad, no componentes oficiales de APIYI. No las respaldamos ni ofrecemos soporte técnico para ellas. Si reenvías solicitudes mediante estas herramientas, el servicio de destino podría limitar su frecuencia o incluso bloquear tu cuenta. Las consecuencias son responsabilidad del usuario. Recomendamos probar primero todo el flujo con una cuenta de prueba y, una vez confirmado que funciona correctamente, considerar su uso con una cuenta de producción.


En estos casos, no te compliques

Si solo usas Claude en Codex de vez en cuando, si tu empresa no permite instalar software adicional o si solo necesitas usar Claude, no hace falta montar una pasarela. Es mucho más sencillo cambiar de cliente y usar Claude Code, o elegir en Codex un modelo compatible de forma nativa con Responses.


Preguntas frecuentes

P1: ¿Codex es compatible oficialmente con Claude?

No. Codex solo usa Responses y Claude no ofrece ese endpoint, así que necesitas una capa de traducción para conectarlos.

P2: ¿Se puede usar Claude en APIYI a través de /v1/responses?

No. Los modelos Claude de APIYI, apiyi.com, solo ofrecen los endpoints anthropic y openai.

P3: ¿Un error 429 significa que se ha aplicado un límite de solicitudes?

Si el mensaje contiene `Invalid signature in thinking block`, no se trata de un límite de solicitudes, sino de un fallo al verificar la firma del bloque de razonamiento. Basta con iniciar una sesión nueva.

P4: ¿WorkBuddy admite el protocolo nativo de Anthropic?

La configuración oficial no ofrece una opción nativa para Anthropic. Solo puedes usar la vía compatible con OpenAI o convertir el protocolo mediante una pasarela.

P5: ¿Cómo puedo comprobar rápidamente que el problema está resuelto?

Inicia una sesión nueva con el saldo de prueba de APIYI, apiyi.com, ejecuta varias rondas de invocaciones de herramientas y comprueba que el cuerpo de la respuesta no esté vacío.


Lista de comprobación para errores de Claude en Codex y WorkBuddy

  • La configuración de Codex ya no contiene ninguna referencia a chat.
  • Las solicitudes a Claude usan el protocolo nativo o pasan por una pasarela que las traduce a anthropic, en lugar de usar compatibilidad con chat.
  • Cada tool_use va seguido inmediatamente de un tool_result con el mismo id.
  • El bloque thinking de la ronda anterior se devuelve tal cual, sin modificaciones.
  • No se usan tool_choice forzado, prefill ni parámetros de muestreo.
  • La respuesta se lee según su type y max_tokens reserva espacio para el razonamiento.

Resumen

Los errores de Claude en Codex y WorkBuddy suelen pertenecer a tres categorías: endpoints, intercambios de herramientas y bloques de razonamiento. El orden para corregirlos es: primero, ajustar cómo lee las respuestas el cliente; después, corregir la capa de traducción; y, por último, considerar cambiar de cliente o añadir una pasarela. En cuanto al protocolo, usa Anthropic nativo siempre que sea posible. Si no puedes, deja que la pasarela traduzca a anthropic, pero evita depender a largo plazo de la compatibilidad con chat. Recomendamos usar APIYI, en apiyi.com, para comparar los resultados de distintos protocolos con una misma clave API.


📚 Referencias

  1. Referencia de configuración de Codex: valores admitidos por wire_api
  2. Enlace: developers.openai.com/codex/config-reference
  3. Descripción: confirma que wire_api solo admite responses actualmente
  4. Ejemplo de error al cargar la configuración de Codex
  5. Enlace: github.com/openai/codex/issues/41816
  6. Descripción: fuente original del mensaje de error de wire_api
  7. Guía de migración a Claude Opus 5.5
  8. Enlace: platform.claude.com/docs/en/models/opus-5-5/migration-guide
  9. Descripción: restricciones obligatorias de thinking, tool_choice y los parámetros de muestreo
  10. Solución de problemas de invocación de herramientas de Anthropic
  11. Enlace: platform.claude.com/docs/en/agents-and-tools/tool-use/troubleshooting-tool-use
  12. Descripción: reglas para emparejar tool_use y tool_result
  13. Configuración de modelos en WorkBuddy
  14. Enlace: www.workbuddy.ai/docs/zh/workbuddy/From-Beginner-to-Expert-Guide/Function-Description/Model
  15. Descripción: acceso a los modelos personalizados y opción para activar protocolos personalizados
  16. Repositorio de Magpie
  17. Enlace: github.com/yetone/magpie
  18. Descripción: gateway de código abierto de la comunidad; evalúa los riesgos antes de usarlo

Autor: equipo técnico de APIYI
Contacto técnico: puedes contactarnos desde la página principal de APIYI, apiyi.com. Encontrarás más recursos en el centro de documentación docs.apiyi.com

Artículos relacionados

Publicaciones Similares