Home / Impara / Codex CLI con un provider personalizzato: config.toml, modelli GPT e Claude, estensione IDE e soluzioni
Codex CLI. Una finestra di terminale color antracite collegata a un piccolo selettore di instradamento simile a una bussola e a due schede provider ben separate.

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

terminale
# 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"

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.

~/.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 per i modelli 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
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_keyIl **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 = falseMantiene Codex sul semplice streaming HTTP, che funziona attraverso qualsiasi proxy o VPN
Non aggiungere 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.

~/.codex/config.toml (aggiungi sotto il primo 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 = false
~/.codex/claude.config.toml
model_provider = "aiprime_claude"
model = "claude-sonnet-5"
model_reasoning_effort = "high"
terminale
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-astraChiave del gruppo CodexIl modello GPT più potente sul gateway; attività lunghe dell'agente
gpt-6-solChiave del gruppo CodexGPT più veloce ed economico per la programmazione ordinaria
gpt-5.6-terraChiave del gruppo CodexAttività leggere e modifiche rapide
claude-sonnet-5Chiave ClaudeClaude predefinito per le attività di programmazione
claude-opus-5-5Chiave ClaudeRagionamento più complesso e refactoring estesi
claude-fable-5-1Chiave ClaudeIl 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:

terminale
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

Nuovi 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.

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

Risoluzione 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 groupLa chiave appartiene a un gruppo illimitato senza un piano attivoUsa una chiave di un gruppo con pagamento a consumo (Codex per GPT), oppure acquista un piano
401 Invalid API keyLa variabile è vuota nel processo che esegue Codex (spesso l'IDE), oppure requires_openai_auth = true ha fatto sì che Codex inviasse altre credenziali di accessoecho $AIPRIME_CODEX_KEY; rimuovi requires_openai_auth; riavvia l'editor
404 Model "..." is not supported by any configured account in this groupIl modello non appartiene al gruppo della chiave, ad esempio un modello Claude con una chiave GPTCambia provider o profilo in modo che la chiave corrisponda al modello
426 WebSocket upgrade requiredIl trasporto WebSocket è attivo, ma la connessione non è stata aggiornatasupports_websockets = false, e rimuovi responses_websockets_v2 da [features]
403 Your API key has expiredLa chiave è stata creata con una data di scadenzaCrea una nuova chiave nella dashboard
'none' is not supportedIntensità del ragionamento impostata su noneUsa low o superiore
404 page not foundbase_url contiene /v1 due volteUsa esattamente https://aiprimetech.io/v1
Errore di configurazione relativo a wire_api dopo un aggiornamentoA wire_api = "chat" riga tratta da una vecchia guidaImposta wire_api = "responses"
Your balance is used upIl saldo è esauritoRicarica
Concurrency limit exceeded for userPiù agenti o finestre Codex in esecuzione contemporaneamenteEseguine 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?
~/.codex/config.toml (oppure $CODEX_HOME/config.toml). La CLI, codex exec e l'estensione IDE leggono tutti questo file. Il file .codex/config.toml di un progetto non può impostare i provider.
La CLI di Codex può usare i modelli Claude?
Sì, tramite un gateway che accetta richieste Responses API per i modelli Claude. Aggiungi un provider con una chiave Claude e imposta model su un ID come claude-sonnet-5.
wire_api = "chat" funziona ancora in Codex?
No. La documentazione di riferimento della configurazione di Codex indica responses come unico valore supportato, ed è il valore predefinito quando viene omesso.
Perché l'estensione Codex per VS Code segnala una chiave API non valida mentre la CLI funziona?
env_key viene letto dall'ambiente dell'editor. Imposta la variabile a livello di sistema oppure avvia l'editor da un terminale in cui la variabile è esportata.
Che cosa significa «Nessun abbonamento attivo trovato per questo gruppo» in Codex?
La chiave appartiene a un gruppo con abbonamento (Unlimited) senza un piano attivo. Usa una chiave di un gruppo con pagamento a consumo oppure acquista un piano.
Inizia a usare Claude in pochi minuti

Ottieni una chiave API: non servono un account Anthropic né una lista d'attesa.

Ottieni la tua chiave API

AI 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.

Altre guide all'API di Claude

Come ottenere una chiave API di ClaudeI prezzi dell'API Claude, spiegatiIl modo più economico per usare l'API ClaudeCursor illimitato con l'API ClaudeAccesso illimitato a Claude CodeGateway API Claude e accesso diretto ad Anthropic a confrontoUsare Claude tramite un'API compatibile con OpenAII modelli Claude spiegati: un confronto tra Claude Opus, Sonnet, Haiku e Fable — tutti i modelli API Claude, i nomi dei modelli Anthropic e i prezzi (2026)Pagare l'API Claude con criptovaluteAccesso all'API Claude senza lista d'attesaCome ridurre l'utilizzo dei token di ClaudeCline illimitato con l'API ClaudeRoo Code illimitato con l'API ClaudeClaude illimitato negli IDE JetBrainsAider senza limiti con l'API di ClaudeClaude illimitato in VS CodeConfigurazione di OpenCode per Claude: impostazione di opencode.json, modelli ed errori comuniEseguire un agente Hermes senza limiti su ClaudeEseguire OpenClaw senza limiti con ClaudeCosa significa un'API compatibile con AnthropicChiave API di Claude Code — ANTHROPIC_API_KEY: come ottenerla, configurarla e quando usare invece claude setup-tokenCosti dell'API di Claude Code — Prezzi e come ridurliGli errori dell'API Claude spiegati: errore del server 500, sovraccarico 529, limite di frequenza 429, richiesta non valida 400 — e la soluzione per ciascunoCome acquistare crediti per l'API di Claude e perché un credito Claude conviene più di qualsiasi offerta per «acquistare un account Claude»API Claude gratuita: esiste una chiave API di Claude gratuita e che cosa è davvero gratuito nel 2026?API Claude e abbonamento Claude Pro/Max a confronto — Quale scegliereCollegare Claude a n8nInstradare LiteLLM verso ClaudeUsare Claude in Kilo CodeIntegrare Claude in GitHub CopilotCollega Zed a Claude tramite il gatewayCollega Cherry Studio a ClaudeChatAnthropic in LangChain: importazione, base_url, streaming, strumenti ed erroriSDK Python di Anthropic: installazione, configurazione di base_url, streaming e gestione degli erroriClaude con Vercel AI SDK: baseURL di createAnthropic, streaming e soluzioni ai problemiEsegui Factory Droid con ClaudeL'API di Claude Code spiegataIntegrare l'API di Claude nella tua applicazioneCome ottenere un utilizzo illimitato di Claude e perché non esiste un «Claude Code craccato»