
Codex CLI con un provider personalizzato: config.toml, modelli GPT e Claude, estensione IDE e soluzioni ai problemi
Codex legge un unico file, ~/.codex/config.toml, condiviso dalla CLI, codex exec e dall'estensione IDE. Un provider personalizzato in quel file indirizza Codex a questo gateway, dove la stessa configurazione esegue modelli GPT e modelli Claude. Le versioni attuali di Codex comunicano solo tramite Responses API (wire_api = "responses"), quindi le vecchie guide che usano wire_api = "chat" non funzionano più.
Installa Codex
# 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 --versionpowershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"L'estensione Codex per VS Code, Cursor e Windsurf si installa dal marketplace delle estensioni dell'editor e usa lo stesso ~/.codex/config.toml della CLI, quindi tutto quanto segue si applica a entrambi.
Usa una chiave del gruppo corretto
Una chiave del gateway appartiene a un solo gruppo, e il gruppo determina quali modelli la chiave può chiamare. Per i modelli GPT, crea la chiave nel gruppo **Codex** nella dashboard. Per i modelli Claude, va bene qualsiasi chiave Claude con pagamento a consumo. Una chiave di un gruppo illimitato richiede un piano attivo; in sua assenza, ogni richiesta fallisce con No active subscription found for this group.
export AIPRIME_CODEX_KEY=key_from_the_codex_group # GPT models
export AIPRIME_CLAUDE_KEY=key_from_a_claude_group # Claude modelssetx AIPRIME_CODEX_KEY "key_from_the_codex_group"
setx AIPRIME_CLAUDE_KEY "key_from_a_claude_group"
# open a new terminal afterwardsconfig.toml per i modelli GPT
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| Impostare | Motivo |
|---|---|
[model_providers.aiprime] | Qualsiasi ID tranne quello riservato openai, ollama e lmstudio |
base_url = "https://aiprimetech.io/v1" | Codex aggiunge /responses alla fine |
env_key | Il **nome** della variabile d'ambiente che contiene la chiave, non la chiave stessa |
wire_api = "responses" | L'unico valore accettato dalle versioni attuali di Codex |
supports_websockets = false | Mantiene Codex sul semplice streaming HTTP, che funziona attraverso qualsiasi proxy o VPN |
requires_openai_auth = true o experimental_bearer_token a questo provider. Con requires_openai_auth = true Codex ignora env_key e invia invece le tue credenziali di accesso a ChatGPT o OpenAI, che il gateway rifiuta.Esegui Codex con i modelli Claude
Il gateway accetta richieste Responses API per i modelli Claude e le converte, quindi Codex può usare anche Claude. Aggiungi un secondo provider che usi la tua chiave Claude, poi un profilo per passare a quel provider.
[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 = falsemodel_provider = "aiprime_claude"
model = "claude-sonnet-5"
model_reasoning_effort = "high"codex --profile claude
codex exec --profile claude "review the last commit for bugs"A partire da Codex 0.134.0, ogni profilo ha un proprio file, ~/.codex/<name>.config.toml, con le relative chiavi al livello principale; [profiles.<name>] le tabelle all'interno di config.toml non vengono più lette. Profili e provider possono essere impostati solo nella configurazione utente: il file di progetto .codex/config.toml ignora model_provider e model_providers.
Modelli e intensità del ragionamento
| ID del modello | Provider | Usalo per |
|---|---|---|
gpt-6-astra | Chiave del gruppo Codex | Il modello GPT più potente sul gateway; attività lunghe dell'agente |
gpt-6-sol | Chiave del gruppo Codex | GPT più veloce ed economico per la programmazione ordinaria |
gpt-5.6-terra | Chiave del gruppo Codex | Attività leggere e modifiche rapide |
claude-sonnet-5 | Chiave Claude | Claude predefinito per le attività di programmazione |
claude-opus-5-5 | Chiave Claude | Ragionamento più complesso e refactoring estesi |
claude-fable-5-1 | Chiave Claude | Il più capace e il più costoso |
model_reasoning_effort accetta low, medium, high, xhigh o max, a seconda del modello. Non impostare none: questi modelli lo rifiutano con 'none' is not supported. review_model imposta un modello diverso per /review se lo desideri. La dashboard mostra tutti i modelli che il gruppo della tua chiave può chiamare.
Estensione IDE e codex exec
L'estensione IDE legge lo stesso config.toml, ma env_key viene risolto dall'ambiente dell'editor stesso. Un editor avviato dal Dock o dal menu Start non vede le variabili esportate in .bashrc, e Codex quindi fallisce con Invalid API key mentre la CLI funziona. Imposta la variabile a livello di sistema (su Windows setx lo fa), oppure avvia l'editor da un terminale, ad esempio code ..
codex exec esegue una singola attività senza l'interfaccia interattiva, quindi è adatto a script e CI. Usa la stessa configurazione e gli stessi profili:
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 activeNuovi tentativi e timeout
Ogni provider ha le proprie impostazioni per i tentativi e lo streaming. I valori predefiniti sono 4 nuovi tentativi per le richieste, 5 riconnessioni dello stream e un timeout di inattività di 5 minuti per ogni stream. I turni di ragionamento lunghi possono restare senza output per un po', quindi aumentare il timeout di inattività aiuta con livelli elevati di intensità del ragionamento.
[model_providers.aiprime]
# ...settings from above...
request_max_retries = 6
stream_max_retries = 8
stream_idle_timeout_ms = 600000Risoluzione dei problemi: errori riscontrati dagli utenti di Codex
Gli errori seguenti sono quelli effettivamente prodotti dai client Codex su questo gateway, a partire dai più comuni.
| Che cosa vedi | Causa | Soluzione |
|---|---|---|
403 No active subscription found for this group | La chiave appartiene a un gruppo illimitato senza un piano attivo | Usa una chiave di un gruppo con pagamento a consumo (Codex per GPT), oppure acquista un piano |
401 Invalid API key | La variabile è vuota nel processo che esegue Codex (spesso l'IDE), oppure requires_openai_auth = true ha fatto sì che Codex inviasse altre credenziali di accesso | echo $AIPRIME_CODEX_KEY; rimuovi requires_openai_auth; riavvia l'editor |
404 Model "..." is not supported by any configured account in this group | Il modello non appartiene al gruppo della chiave, ad esempio un modello Claude con una chiave GPT | Cambia provider o profilo in modo che la chiave corrisponda al modello |
426 WebSocket upgrade required | Il trasporto WebSocket è attivo, ma la connessione non è stata aggiornata | supports_websockets = false, e rimuovi responses_websockets_v2 da [features] |
403 Your API key has expired | La chiave è stata creata con una data di scadenza | Crea una nuova chiave nella dashboard |
'none' is not supported | Intensità del ragionamento impostata su none | Usa low o superiore |
404 page not found | base_url contiene /v1 due volte | Usa esattamente https://aiprimetech.io/v1 |
Errore di configurazione relativo a wire_api dopo un aggiornamento | A wire_api = "chat" riga tratta da una vecchia guida | Imposta wire_api = "responses" |
Your balance is used up | Il saldo è esaurito | Ricarica |
Concurrency limit exceeded for user | Più agenti o finestre Codex in esecuzione contemporaneamente | Eseguine meno in parallelo oppure chiedi all'assistenza un limite di concorrenza più alto |
Stai confrontando Codex con Claude Code prima di sceglierne uno? Consulta Claude Code vs Codex.
Domande frequenti
Dove si trova il file di configurazione di Codex?
La CLI di Codex può usare i modelli Claude?
wire_api = "chat" funziona ancora in Codex?
Perché l'estensione Codex per VS Code segnala una chiave API non valida mentre la CLI funziona?
Che cosa significa «Nessun abbonamento attivo trovato per questo gruppo» in Codex?
Ottieni una chiave API: non servono un account Anthropic né una lista d'attesa.
Ottieni la tua chiave APIAI Prime Tech è un gateway API indipendente. Non è affiliato ad Anthropic, non è approvato da Anthropic e non è un suo rivenditore. Claude e i nomi dei modelli correlati sono marchi dei rispettivi proprietari.