Source: https://aiprimetech.io/es/learn/use-claude-api-with-codex/ [Inicio](/es/) / [Aprende](/es/learn/) / Codex CLI con un proveedor personalizado: config.toml, modelos GPT y Claude, extensión para IDE y soluciones # 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 terminalCopiar ``` # 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 PowerShellCopiar ``` 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 ~/.zshrcCopiar ``` export AIPRIME_CODEX_KEY=key_from_the_codex_group # GPT models export AIPRIME_CLAUDE_KEY=key_from_a_claude_group # Claude models ``` WindowsCopiar ``` 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.tomlCopiar ``` 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_key | El **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 = false | Mantiene 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)Copiar ``` [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.tomlCopiar ``` model_provider = "aiprime_claude" model = "claude-sonnet-5" model_reasoning_effort = "high" ``` terminalCopiar ``` 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/.config.toml, con sus claves en el nivel superior; [profiles.] 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-astra | Clave del grupo Codex | El modelo GPT más potente de la pasarela; tareas largas del agente | gpt-6-sol | Clave del grupo Codex | GPT más rápido y económico para la programación habitual | gpt-5.6-terra | Clave del grupo Codex | Tareas ligeras y ediciones rápidas | claude-sonnet-5 | Clave de Claude | Claude predeterminado para tareas de programación | claude-opus-5-5 | Clave de Claude | Razonamiento más complejo y refactorizaciones extensas | claude-fable-5-1 | Clave de Claude | El 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: terminalCopiar ``` 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.tomlCopiar ``` [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 group | La clave pertenece a un grupo Unlimited sin un plan activo | Usa una clave de un grupo de pago por uso (Codex para GPT), o compra un plan | 401 Invalid API key | La variable está vacía en el proceso que ejecuta Codex (a menudo el IDE), o requires_openai_auth = true hizo que Codex enviara otras credenciales | echo $AIPRIME_CODEX_KEY; elimina requires_openai_auth; reinicia el editor | 404 Model "..." is not supported by any configured account in this group | El modelo no pertenece al grupo de la clave, por ejemplo, un modelo Claude con una clave de GPT | Cambia de proveedor o de perfil para que la clave corresponda al modelo | 426 WebSocket upgrade required | El 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 expired | La clave se creó con una fecha de caducidad | Crea una nueva clave en el panel de control | 'none' is not supported | El esfuerzo de razonamiento está establecido en none | Usa low o superior | 404 page not found | base_url contiene /v1 dos veces | Usa exactamente https://aiprimetech.io/v1 | Error de configuración relacionado con wire_api después de una actualización | A wire_api = "chat" línea de una guía antigua | Configura wire_api = "responses" | Your balance is used up | El saldo está agotado | [Recargar saldo](/es/topup/) | Concurrency limit exceeded for user | Varios agentes o ventanas de Codex ejecutándose a la vez | Ejecuta 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](/es/claude-code/vs-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](/register) 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. Guías de API de Codex y GPT: [Clave de API y acceso a Codex](/es/codex-api/) · [API compatible con OpenAI](/es/openai-api/) · [Configuración de Codex CLI](/es/docs/guides/codex-cli/) · [Comparación de modelos GPT-6](/es/blog/gpt-6-models-for-codex/) ## Más guías de la API de Claude [Cómo obtener una clave de API de Claude](/es/learn/how-to-get-a-claude-api-key/)[Precios de la API de Claude, explicados](/es/learn/claude-api-pricing-explained/)[La forma más económica de usar la API de Claude](/es/learn/cheapest-way-to-use-claude-api/)[Cursor ilimitado con la API de Claude](/learn/use-claude-api-with-cursor/)[Acceso ilimitado a Claude Code](/es/learn/use-claude-api-with-claude-code/)[Gateway de la API de Claude frente al acceso directo a Anthropic](/es/learn/claude-api-vs-anthropic-direct/)[Usar Claude a través de una API compatible con OpenAI](/es/learn/openai-compatible-claude-api/)[Los 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)](/es/learn/claude-api-models-compared/)[Pagar la API de Claude con criptomonedas](/es/learn/claude-api-with-crypto-payment/)[Acceso a la API de Claude sin lista de espera](/es/learn/claude-api-without-waitlist/)[Cómo reducir el uso de tokens de Claude](/es/learn/how-to-reduce-claude-token-usage/)[Cline ilimitado con la API de Claude](/es/learn/use-claude-api-with-cline/)[Roo Code ilimitado con la API de Claude](/es/learn/use-claude-api-with-roo-code/)[Claude ilimitado en los IDE de JetBrains](/es/learn/use-claude-api-with-jetbrains/)[Aider sin límites con la API de Claude](/es/learn/use-claude-api-with-aider/)[Claude ilimitado en VS Code](/es/learn/use-claude-api-with-vscode/)[Configuración de OpenCode para Claude: ajustes de opencode.json, modelos y errores comunes](/es/learn/use-claude-api-with-opencode/)[Ejecutar un agente Hermes sin límites con Claude](/es/learn/run-hermes-agent-with-claude-api/)[Ejecutar OpenClaw sin límites con Claude](/es/learn/run-openclaw-with-claude-api/)[Qué significa una API compatible con Anthropic](/es/learn/anthropic-compatible-api/)[Clave API de Claude Code — ANTHROPIC_API_KEY: cómo obtenerla, configurarla y cuándo usar claude setup-token en su lugar](/es/learn/claude-code-api-key-setup/)[Costes de la API de Claude Code: precios y cómo reducirlos](/es/learn/claude-code-api-costs/)[Explicació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 uno](/es/learn/claude-api-errors-troubleshooting/)[Có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»](/es/learn/buy-claude-api-credits/)[API gratuita de Claude: ¿existe una clave API de Claude gratuita y qué es realmente gratis en 2026?](/es/learn/claude-api-free-trial/)[API de Claude frente a la suscripción Claude Pro/Max: cuál elegir](/es/learn/claude-api-vs-subscription/)[Conectar Claude a n8n](/es/learn/use-claude-api-with-n8n/)[Enrutar LiteLLM a Claude](/es/learn/use-claude-api-with-litellm/)[Usar Claude en Kilo Code](/es/learn/use-claude-api-with-kilo-code/)[Integra Claude en GitHub Copilot](/es/learn/use-claude-api-with-github-copilot/)[Conecta Zed a Claude a través de la pasarela](/es/learn/use-claude-api-with-zed/)[Conecta Cherry Studio a Claude](/es/learn/use-claude-api-with-cherry-studio/)[ChatAnthropic en LangChain: importación, base_url, streaming, herramientas y errores](/es/learn/use-claude-api-with-langchain/)[SDK de Python de Anthropic: instalación, configuración de base_url, streaming y gestión de errores](/es/learn/anthropic-python-sdk/)[Claude con Vercel AI SDK: baseURL de createAnthropic, streaming y soluciones](/es/learn/use-claude-api-with-vercel-ai-sdk/)[Ejecuta Factory Droid con Claude](/es/learn/use-claude-api-with-factory-droid/)[La API de Claude Code, explicada](/es/learn/claude-code-api/)[Integración de la API de Claude en tu aplicación](/es/learn/claude-api-integration/)[Cómo usar Claude sin límites y por qué no existe un «Claude Code crackeado»](/es/learn/get-unlimited-claude-usage/)