Inicio / Aprende / Codex CLI con un proveedor personalizado: config.toml, modelos GPT y Claude, extensión para IDE y soluciones
Codex CLI. Una ventana de terminal de color carbón conectada a un pequeño selector de enrutamiento similar a una brújula y a dos tarjetas de proveedores claramente separadas.

Codex CLI con un proveedor personalizado: config.toml, modelos GPT y Claude, extensión para IDE y soluciones

Codex lee un único archivo, ~/.codex/config.toml, compartido por la CLI, codex exec y la extensión para IDE. Un proveedor personalizado en ese archivo dirige Codex a esta pasarela, donde la misma configuración ejecuta modelos GPT y modelos Claude. Las versiones actuales de Codex solo utilizan Responses API (wire_api = "responses"), por lo que las guías antiguas que usan wire_api = "chat" ya no funcionan.

Instalar Codex

terminal
# macOS / Linux
curl -fsSL https://chatgpt.com/codex/install.sh | sh

# or with a package manager
npm install -g @openai/codex
brew install --cask codex

codex --version
Windows PowerShell
powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"

La extensión de Codex para VS Code, Cursor y Windsurf se instala desde el mercado de extensiones del editor y usa el mismo ~/.codex/config.toml que la CLI, así que todo lo que se indica a continuación se aplica a ambos.

Usa una clave del grupo adecuado

Cada clave de la pasarela pertenece a un grupo, y ese grupo determina a qué modelos puede llamar la clave. Para los modelos GPT, crea la clave en el grupo **Codex** del panel de control. Para los modelos Claude, sirve cualquier clave de Claude de pago por uso. Una clave de un grupo Unlimited necesita un plan activo; sin él, todas las solicitudes fallan con No active subscription found for this group.

~/.bashrc o ~/.zshrc
export AIPRIME_CODEX_KEY=key_from_the_codex_group    # GPT models
export AIPRIME_CLAUDE_KEY=key_from_a_claude_group    # Claude models
Windows
setx AIPRIME_CODEX_KEY "key_from_the_codex_group"
setx AIPRIME_CLAUDE_KEY "key_from_a_claude_group"
# open a new terminal afterwards

config.toml para modelos GPT

~/.codex/config.toml
model_provider = "aiprime"
model = "gpt-6-astra"
model_reasoning_effort = "high"

[model_providers.aiprime]
name = "AI Prime Tech"
base_url = "https://aiprimetech.io/v1"
env_key = "AIPRIME_CODEX_KEY"
wire_api = "responses"
supports_websockets = false
Configurar Por qué
[model_providers.aiprime]Cualquier identificador excepto el reservado openai, ollama y lmstudio
base_url = "https://aiprimetech.io/v1"Codex añade /responses al final
env_keyEl **nombre** de la variable de entorno que contiene la clave, no la clave en sí
wire_api = "responses"El único valor que acepta la versión actual de Codex
supports_websockets = falseMantiene Codex en streaming HTTP simple, que funciona a través de cualquier proxy o VPN
No añadas requires_openai_auth = true o experimental_bearer_token a este proveedor. Con requires_openai_auth = true Codex ignora env_key y envía en su lugar tus credenciales de ChatGPT u OpenAI, que la pasarela rechaza.

Ejecutar Codex con modelos Claude

La pasarela acepta solicitudes de Responses API para modelos Claude y las traduce, de modo que Codex también puede utilizar Claude. Añade un segundo proveedor que use tu clave de Claude y, después, un perfil para cambiar a él.

~/.codex/config.toml (añádelo debajo del primer proveedor)
[model_providers.aiprime_claude]
name = "AI Prime Tech (Claude)"
base_url = "https://aiprimetech.io/v1"
env_key = "AIPRIME_CLAUDE_KEY"
wire_api = "responses"
supports_websockets = false
~/.codex/claude.config.toml
model_provider = "aiprime_claude"
model = "claude-sonnet-5"
model_reasoning_effort = "high"
terminal
codex --profile claude
codex exec --profile claude "review the last commit for bugs"

Desde Codex 0.134.0, cada perfil tiene su propio archivo, ~/.codex/<name>.config.toml, con sus claves en el nivel superior; [profiles.<name>] las tablas dentro de config.toml ya no se leen. Los perfiles y los proveedores solo pueden definirse en tu configuración de usuario: el archivo de un proyecto .codex/config.toml ignora model_provider y model_providers.

Modelos y esfuerzo de razonamiento

ID del modelo Proveedor Úsalo para
gpt-6-astraClave del grupo CodexEl modelo GPT más potente de la pasarela; tareas largas del agente
gpt-6-solClave del grupo CodexGPT más rápido y económico para la programación habitual
gpt-5.6-terraClave del grupo CodexTareas ligeras y ediciones rápidas
claude-sonnet-5Clave de ClaudeClaude predeterminado para tareas de programación
claude-opus-5-5Clave de ClaudeRazonamiento más complejo y refactorizaciones extensas
claude-fable-5-1Clave de ClaudeEl más capaz y el más caro

model_reasoning_effort acepta low, medium, high, xhigh o max, según el modelo. No establezcas none: estos modelos lo rechazan con 'none' is not supported. review_model establece un modelo diferente para /review si quieres usar uno. El panel de control muestra todos los modelos a los que puede llamar el grupo de tu clave.

Extensión para IDE y codex exec

La extensión para IDE lee el mismo config.toml, pero env_key se resuelve a partir del entorno del propio editor. Un editor iniciado desde el Dock o el menú Inicio no ve las variables exportadas en .bashrc, y entonces Codex falla con Invalid API key mientras que la CLI funciona. Configura la variable a nivel de sistema (en Windows, setx lo hace), o inicia el editor desde una terminal, por ejemplo, code ..

codex exec ejecuta una tarea sin la interfaz interactiva, lo que resulta adecuado para scripts y CI. Usa la misma configuración y los mismos perfiles:

terminal
codex exec "write unit tests for utils.py"
codex exec --profile claude "summarise the changes on this branch"
codex login status        # which authentication method is active

Reintentos y tiempos de espera

Cada proveedor tiene sus propios ajustes de reintentos y streaming. Los valores predeterminados son 4 reintentos de solicitud, 5 reconexiones del flujo y un tiempo de espera por inactividad de 5 minutos por flujo. Los turnos de razonamiento largos pueden pasar un tiempo sin emitir datos, por lo que aumentar el tiempo de espera por inactividad ayuda con niveles de esfuerzo altos.

~/.codex/config.toml
[model_providers.aiprime]
# ...settings from above...
request_max_retries = 6
stream_max_retries = 8
stream_idle_timeout_ms = 600000

Solución de problemas: errores que encuentran los usuarios de Codex

Los siguientes errores son los que realmente generan los clientes de Codex en esta pasarela, ordenados del más habitual al menos habitual.

Lo que ves Causa Solución
403 No active subscription found for this groupLa clave pertenece a un grupo Unlimited sin un plan activoUsa una clave de un grupo de pago por uso (Codex para GPT), o compra un plan
401 Invalid API keyLa variable está vacía en el proceso que ejecuta Codex (a menudo el IDE), o requires_openai_auth = true hizo que Codex enviara otras credencialesecho $AIPRIME_CODEX_KEY; elimina requires_openai_auth; reinicia el editor
404 Model "..." is not supported by any configured account in this groupEl modelo no pertenece al grupo de la clave, por ejemplo, un modelo Claude con una clave de GPTCambia de proveedor o de perfil para que la clave corresponda al modelo
426 WebSocket upgrade requiredEl transporte WebSocket está activado, pero la conexión no se actualizósupports_websockets = false, y elimina responses_websockets_v2 de [features]
403 Your API key has expiredLa clave se creó con una fecha de caducidadCrea una nueva clave en el panel de control
'none' is not supportedEl esfuerzo de razonamiento está establecido en noneUsa low o superior
404 page not foundbase_url contiene /v1 dos vecesUsa exactamente https://aiprimetech.io/v1
Error de configuración relacionado con wire_api después de una actualizaciónA wire_api = "chat" línea de una guía antiguaConfigura wire_api = "responses"
Your balance is used upEl saldo está agotadoRecargar saldo
Concurrency limit exceeded for userVarios agentes o ventanas de Codex ejecutándose a la vezEjecuta menos en paralelo o solicita al soporte un límite de concurrencia mayor

¿Estás comparando Codex con Claude Code antes de elegir uno? Consulta Claude Code frente a Codex.

Preguntas frecuentes

¿Dónde está el archivo de configuración de Codex?
~/.codex/config.toml (o $CODEX_HOME/config.toml). La CLI, codex exec y la extensión del IDE lo leen. El archivo .codex/config.toml de un proyecto no puede definir proveedores.
¿Puede la CLI de Codex usar modelos de Claude?
Sí, a través de una pasarela que acepte solicitudes de Responses API para modelos de Claude. Añade un proveedor con una clave de Claude y establece model en un ID como claude-sonnet-5.
¿Sigue funcionando wire_api = "chat" en Codex?
No. La referencia de configuración de Codex indica que responses es el único valor admitido y es el valor predeterminado cuando se omite.
¿Por qué la extensión de Codex para VS Code indica que la clave de API no es válida cuando la CLI funciona?
env_key se lee del entorno del editor. Define la variable a nivel del sistema o inicia el editor desde una terminal en la que esté exportada.
¿Qué significa «No se ha encontrado ninguna suscripción activa para este grupo» en Codex?
La clave pertenece a un grupo de suscripción (Unlimited) sin un plan activo. Usa una clave de un grupo de pago por uso o compra un plan.
Empieza a usar Claude en minutos

Obtén una clave de API: no necesitas una cuenta de Anthropic ni estar en una lista de espera.

Obtén tu clave de API

AI Prime Tech es una pasarela de API independiente. No está afiliada a Anthropic, no cuenta con su respaldo ni es un distribuidor de Anthropic. Claude y los nombres de los modelos relacionados son marcas comerciales de sus respectivos propietarios.

Más guías de la API de Claude

Cómo obtener una clave de API de ClaudePrecios de la API de Claude, explicadosLa forma más económica de usar la API de ClaudeCursor ilimitado con la API de ClaudeAcceso ilimitado a Claude CodeGateway de la API de Claude frente al acceso directo a AnthropicUsar Claude a través de una API compatible con OpenAILos modelos de Claude explicados: una comparación de Claude Opus, Sonnet, Haiku y Fable; todos los modelos de la API de Claude, nombres de modelos de Anthropic y precios (2026)Pagar la API de Claude con criptomonedasAcceso a la API de Claude sin lista de esperaCómo reducir el uso de tokens de ClaudeCline ilimitado con la API de ClaudeRoo Code ilimitado con la API de ClaudeClaude ilimitado en los IDE de JetBrainsAider sin límites con la API de ClaudeClaude ilimitado en VS CodeConfiguración de OpenCode para Claude: ajustes de opencode.json, modelos y errores comunesEjecutar un agente Hermes sin límites con ClaudeEjecutar OpenClaw sin límites con ClaudeQué significa una API compatible con AnthropicClave API de Claude Code — ANTHROPIC_API_KEY: cómo obtenerla, configurarla y cuándo usar claude setup-token en su lugarCostes de la API de Claude Code: precios y cómo reducirlosExplicación de los errores de la API de Claude: error del servidor 500, sobrecarga 529, límite de solicitudes 429, solicitud incorrecta 400 y la solución para cada unoCómo comprar créditos para la API de Claude y por qué un crédito de Claude es mejor que cualquier oferta de «comprar una cuenta de Claude»API gratuita de Claude: ¿existe una clave API de Claude gratuita y qué es realmente gratis en 2026?API de Claude frente a la suscripción Claude Pro/Max: cuál elegirConectar Claude a n8nEnrutar LiteLLM a ClaudeUsar Claude en Kilo CodeIntegra Claude en GitHub CopilotConecta Zed a Claude a través de la pasarelaConecta Cherry Studio a ClaudeChatAnthropic en LangChain: importación, base_url, streaming, herramientas y erroresSDK de Python de Anthropic: instalación, configuración de base_url, streaming y gestión de erroresClaude con Vercel AI SDK: baseURL de createAnthropic, streaming y solucionesEjecuta Factory Droid con ClaudeLa API de Claude Code, explicadaIntegración de la API de Claude en tu aplicaciónCómo usar Claude sin límites y por qué no existe un «Claude Code crackeado»