config.toml de Codex para un proveedor de API personalizado: solo Responses desde 2026

Wokey Team · 2026-09-24

Respuesta corta: para que Codex use una API de terceros, define un proveedor personalizado en ~/.codex/config.toml, configura base_url con la dirección del gateway y pon tu clave en la variable de entorno que indica env_key. El protocolo de comunicación debe ser Responses. Codex eliminó la compatibilidad con Chat Completions en febrero de 2026, y wire_api = "chat" ahora falla al iniciar, así que la mayoría de los tutoriales que todavía muestran wire_api = "chat" ya no funcionan.

La configuración de abajo funciona en las versiones actuales de Codex CLI. Cada cadena de error de esta guía está citada del código fuente de Codex o de una respuesta real de la API de Wokey.

Configuración completa (copiar y pegar)

# ~/.codex/config.toml
model = "gpt-6-sol"
model_provider = "wokey"

[model_providers.wokey]
name = "Wokey"
base_url = "https://api.wokey.ai"
env_key = "WOKEY_API_KEY"
wire_api = "responses"
export WOKEY_API_KEY="your Wokey API key"
codex

Qué hace cada campo:

Campo Propósito Error común
model_provider Clave de nivel superior que indica qué tabla [model_providers.<id>] usar Si la omites, Codex se queda en el proveedor openai integrado y te pide iniciar sesión en ChatGPT
base_url Dirección del gateway; Codex agrega /responses No agregues /responses tú mismo, o las solicitudes irán a /responses/responses
env_key El nombre de la variable de entorno que contiene la clave; Codex la envía como Authorization: Bearer Es el nombre de la variable, no la clave en sí
wire_api Protocolo de comunicación; "responses" es el único valor válido y el predeterminado "chat" falla al iniciar

En Wokey, base_url puede ser https://api.wokey.ai o https://api.wokey.ai/v1; el gateway sirve tanto /responses como /v1/responses. Para otros gateways, sigue su documentación: muchos solo registran las rutas /v1.

El nombre de la variable lo eliges tú. OPENAI_API_KEY funciona, pero si también usas la API oficial de OpenAI, una variable WOKEY_API_KEY aparte evita que las dos claves se sobrescriban.

Por qué fallan los tutoriales antiguos

Cronología:

Desde entonces, WireApi de Codex tiene un único valor, Responses. Si la configuración todavía tiene wire_api = "chat", Codex falla al iniciar con:

`wire_api = "chat"` is no longer supported.
How to fix: set `wire_api = "responses"` in your provider config.
More info: https://github.com/openai/codex/discussions/7782

Cámbialo a wire_api = "responses" o borra la línea. También significa que un gateway que solo habla Chat Completions ya no puede servir a Codex: comprueba que tenga un endpoint /v1/responses antes de elegirlo.

Otros ajustes obsoletos o ignorados

api_key dentro de la tabla del proveedor. Codex rechaza los campos desconocidos en la configuración del proveedor, así que una línea api_key = "sk-..." hace que la configuración no se pueda analizar. Pasa la clave mediante la variable que indica env_key. Si de verdad necesitas poner un token en el archivo, el campo es experimental_bearer_token, aunque no se recomienda.

[profiles.xxx] y un profile = "xxx" de nivel superior. Desde Codex 0.134.0, --profile xxx superpone ~/.codex/xxx.config.toml. Las tablas [profiles.xxx] de config.toml ya no se leen, y profile = de nivel superior ya no es compatible. Para alternar entre tu cuenta oficial y un gateway, pon el proveedor de Wokey en ~/.codex/wokey.config.toml e inicia con codex --profile wokey.

Proveedores en el .codex/config.toml de un proyecto. La configuración a nivel de proyecto ignora model_provider y model_providers. Los proveedores solo se pueden definir en tu ~/.codex/ del directorio personal.

ID de proveedor openai, ollama o lmstudio. Estos ID están reservados para los proveedores integrados y no sirven para definir uno personalizado. Usa otro nombre, como wokey.

Qué modelo usar

Codex solo envía solicitudes de Responses, así que prefiere modelos que sirvan /v1/responses de forma nativa. En Wokey eso incluye actualmente la familia GPT (gpt-6-sol, gpt-6-luna, gpt-6-astra, gpt-5.6-sol), la familia Grok (grok-4.7, grok-4.6) y deepseek-v4.1-flash. La lista "Supported endpoints" de cada página de modelo es la referencia, y la oferta cambia con el tiempo.

Los modelos sin Responses nativo, como los que solo indican Chat Completions, siguen funcionando desde Codex en Wokey. El gateway convierte la solicitud al protocolo del upstream y convierte el resultado de vuelta a Responses. Sin embargo, la conversión tiene pérdidas:

  • Algunas herramientas específicas de Codex se descartan al convertir a Chat Completions, como apply_patch en formato libre, local_shell y el web_search integrado.
  • Las llamadas a herramientas solo aparecen cuando termina toda la respuesta.

Para tu modelo principal de programación, elige uno con Responses nativo.

Solución de problemas

Missing environment variable: `WOKEY_API_KEY`. Codex no encontró la variable que indica env_key. Revisa cómo está escrita y asegúrate de haberla exportado en la misma terminal que inicia codex. Si la agregaste a ~/.zshrc o ~/.bashrc, abre una terminal nueva.

HTTP 401 con code igual a invalid_api_key Wokey devuelve esto cuando la clave falta o es incorrecta, y el message indica cuál es el caso: no se envió clave, no existe esa clave, o la clave se eliminó, se pausó o venció. Comprueba que la clave se copió completa, que no se eliminó ni pausó en la consola, y que la variable no tiene comillas ni espacios de más.

HTTP 404 con Route POST:/responses/responses not found base_url termina en /responses. Codex agrega la ruta por su cuenta, así que base_url debe terminar en el dominio (o en /v1).

Codex te pide iniciar sesión en ChatGPT No hay un model_provider = "wokey" de nivel superior, o el proveedor está en un .codex/config.toml de proyecto, donde se ignora. Codex volvió al proveedor openai integrado.

wire_api = "chat" is no longer supported Consulta arriba: cámbialo a "responses" o borra la línea.

HTTP 402 Se agotó el saldo de tu cuenta.

Para descartar a Codex, prueba primero la clave y el endpoint con curl:

curl https://api.wokey.ai/v1/responses \
  -H "Authorization: Bearer $WOKEY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-6-sol","input":"ping"}'

Si curl funciona y Codex no, el problema está en config.toml. Si curl también falla, el problema es la clave o la red.

Preguntas frecuentes

¿Codex todavía puede usar wire_api = "chat"?

No. Codex eliminó la compatibilidad con Chat Completions en el PR #10157, fusionado el 2026-02-03. wire_api ahora solo acepta responses, y chat falla al iniciar. Cámbialo a wire_api = "responses" o borra la línea; es el valor predeterminado.

¿El base_url de Codex debe incluir /v1?

Codex agrega /responses al base_url. Con Wokey funcionan tanto https://api.wokey.ai como https://api.wokey.ai/v1. No agregues /responses tú mismo, o recibirás un 404 Route POST:/responses/responses not found.

¿Puedo poner la clave de API directamente en config.toml?

Un campo api_key en la tabla del proveedor hace que la configuración no se pueda analizar, porque Codex rechaza los campos de proveedor desconocidos. Indica una variable de entorno con env_key y exporta esa variable.

¿Codex puede usar Claude u otros modelos que no sean GPT?

En Wokey, sí: el gateway convierte la solicitud de Responses al protocolo del upstream. La conversión descarta algunas herramientas específicas de Codex, así que para programar elige un modelo con /v1/responses nativo, como gpt-6-sol, grok-4.7 o deepseek-v4.1-flash.

¿Por qué dejó de funcionar mi configuración [profiles]?

Desde Codex 0.134.0, --profile name superpone ~/.codex/name.config.toml, y las tablas [profiles.name] de config.toml ya no se leen. Mueve esa configuración a su propio archivo.