Codex config.toml für einen eigenen API-Provider: seit 2026 nur noch Responses
Wokey Team · 2026-09-24
Kurz gesagt: Um Codex mit einer Drittanbieter-API zu verbinden, definierst du in ~/.codex/config.toml einen eigenen Provider, setzt base_url auf das Gateway und legst deinen Key in der Umgebungsvariable ab, die env_key benennt. Das Wire-Protokoll muss Responses sein. Codex hat die Unterstützung für Chat Completions im Februar 2026 entfernt, und wire_api = "chat" schlägt jetzt beim Start fehl; die meisten Tutorials, die noch wire_api = "chat" zeigen, funktionieren also nicht mehr.
Die Konfiguration unten funktioniert mit aktuellen Releases der Codex CLI. Jeder Fehlertext in dieser Anleitung ist aus dem Quellcode von Codex oder aus einer echten Antwort der Wokey-API zitiert.
Vollständige Konfiguration (zum Kopieren)
# ~/.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
Was die einzelnen Felder bewirken:
| Feld | Zweck | Häufiger Fehler |
|---|---|---|
model_provider |
Schlüssel auf oberster Ebene; benennt die zu verwendende Tabelle [model_providers.<id>] |
Fehlt er, bleibt Codex beim integrierten Provider openai und fordert dich auf, dich bei ChatGPT anzumelden |
base_url |
Adresse des Gateways; Codex hängt /responses an |
Füge /responses nicht selbst hinzu, sonst gehen die Anfragen an /responses/responses |
env_key |
Der Name der Umgebungsvariable mit dem Key; Codex sendet ihn als Authorization: Bearer |
Das ist der Variablenname, nicht der Key selbst |
wire_api |
Wire-Protokoll; "responses" ist der einzige gültige Wert und der Standard |
"chat" schlägt beim Start fehl |
Bei Wokey kann base_url https://api.wokey.ai oder https://api.wokey.ai/v1 sein; das Gateway bedient sowohl /responses als auch /v1/responses. Bei anderen Gateways hältst du dich an deren Dokumentation: Viele registrieren nur die /v1-Pfade.
Den Variablennamen wählst du selbst. OPENAI_API_KEY funktioniert, aber wenn du auch die offizielle OpenAI-API nutzt, verhindert ein eigenes WOKEY_API_KEY, dass sich die beiden Keys gegenseitig überschreiben.
Warum ältere Tutorials nicht mehr funktionieren
Chronologie:
- 2025-12-09: Das Codex-Team veröffentlichte die GitHub-Diskussion #7782, „Deprecating chat/completions support in Codex“. Sie kündigte die Entfernung für Anfang Februar 2026 an, bat Nutzer mit
wire_api = "chat"oder ohnewire_apium die Migration und bat Gateways, ihre Responses-Unterstützung zu bestätigen. - 2026-02-03: PR #10157, „chore: nuke chat/completions API“ wurde gemergt und der Code für Chat Completions gelöscht.
Seitdem hat WireApi in Codex nur noch einen Wert, Responses. Steht wire_api = "chat" noch in der Konfiguration, schlägt Codex beim Start fehl mit:
`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
Ändere den Wert auf wire_api = "responses" oder lösche die Zeile. Das heißt auch: Ein Gateway, das nur Chat Completions spricht, kann Codex nicht mehr bedienen. Prüfe, ob es einen Endpunkt /v1/responses gibt, bevor du dich für eines entscheidest.
Weitere Einstellungen, die veraltet sind oder ignoriert werden
api_key in der Provider-Tabelle. Codex lehnt unbekannte Felder in der Provider-Konfiguration ab; eine Zeile api_key = "sk-..." lässt das Parsen der Konfiguration also scheitern. Übergib den Key über die Variable, die env_key benennt. Wenn du ein Token unbedingt in die Datei schreiben musst, heißt das Feld experimental_bearer_token; empfohlen ist das aber nicht.
[profiles.xxx] und profile = "xxx" auf oberster Ebene. Seit Codex 0.134.0 legt --profile xxx die Datei ~/.codex/xxx.config.toml über die Konfiguration. [profiles.xxx]-Tabellen in config.toml werden nicht mehr gelesen, und profile = auf oberster Ebene wird nicht mehr unterstützt. Um zwischen deinem offiziellen Konto und einem Gateway zu wechseln, legst du den Wokey-Provider in ~/.codex/wokey.config.toml ab und startest mit codex --profile wokey.
Provider in der .codex/config.toml eines Projekts. Die Konfiguration auf Projektebene ignoriert model_provider und model_providers. Provider lassen sich nur unter ~/.codex/ in deinem Home-Verzeichnis definieren.
Provider-ID openai, ollama oder lmstudio. Diese IDs sind für integrierte Provider reserviert und können keinen eigenen definieren. Nimm einen anderen Namen, etwa wokey.
Welches Modell du nehmen solltest
Codex sendet nur Responses-Anfragen; bevorzuge also Modelle, die /v1/responses nativ bedienen. Bei Wokey sind das derzeit die GPT-Familie (gpt-6-sol, gpt-6-luna, gpt-6-astra, gpt-5.6-sol), die Grok-Familie (grok-4.7, grok-4.6) und deepseek-v4.1-flash. Maßgeblich ist die Liste „Unterstützte Endpunkte“ auf der jeweiligen Modellseite, und das Angebot ändert sich mit der Zeit.
Modelle ohne natives Responses, etwa solche, die nur Chat Completions aufführen, funktionieren mit Codex über Wokey trotzdem. Das Gateway wandelt die Anfrage in das Protokoll des Upstreams um und das Ergebnis zurück in Responses. Die Umwandlung ist allerdings verlustbehaftet:
- Einige Codex-spezifische Tools gehen bei der Umwandlung in Chat Completions verloren, etwa das Freiform-
apply_patch,local_shellund das integrierteweb_search. - Tool-Aufrufe erscheinen erst, wenn die gesamte Antwort fertig ist.
Wähle als Hauptmodell zum Programmieren eines mit nativem Responses.
Fehlersuche
Missing environment variable: `WOKEY_API_KEY`.
Codex hat die Variable, die env_key benennt, nicht gefunden. Prüfe die Schreibweise und stelle sicher, dass du sie in demselben Terminal exportiert hast, das codex startet. Wenn du sie in ~/.zshrc oder ~/.bashrc eingetragen hast, öffne ein neues Terminal.
HTTP 401 mit dem code invalid_api_key
Wokey gibt das bei einem fehlenden oder falschen Key zurück, und message sagt, was zutrifft: kein Key gesendet, Key existiert nicht, oder der Key wurde gelöscht, pausiert oder ist abgelaufen. Prüfe, ob der Key vollständig kopiert wurde, in der Konsole weder gelöscht noch pausiert ist und in der Variable keine überzähligen Anführungszeichen oder Leerzeichen stehen.
HTTP 404 mit Route POST:/responses/responses not found
base_url endet auf /responses. Codex hängt den Pfad selbst an, base_url sollte also bei der Domain (oder /v1) enden.
Codex fordert dich auf, dich bei ChatGPT anzumelden
Es gibt kein model_provider = "wokey" auf oberster Ebene, oder der Provider steht in der .codex/config.toml eines Projekts, wo er ignoriert wird. Codex ist auf den integrierten Provider openai zurückgefallen.
wire_api = "chat" is no longer supported
Siehe oben: Ändere den Wert auf "responses" oder lösche die Zeile.
HTTP 402 Dein Guthaben ist aufgebraucht.
Um Codex als Ursache auszuschließen, teste Key und Endpunkt zuerst mit 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"}'
Funktioniert curl und Codex nicht, liegt das Problem in config.toml. Schlägt auch curl fehl, liegt es am Key oder am Netzwerk.
Häufige Fragen
Kann Codex noch wire_api = "chat" verwenden?
Nein. Codex hat die Unterstützung für Chat Completions mit PR #10157 entfernt, gemergt am 2026-02-03. wire_api akzeptiert jetzt nur noch responses, und chat schlägt beim Start fehl. Ändere den Wert auf wire_api = "responses" oder lösche die Zeile; das ist ohnehin der Standard.
Gehört /v1 in die base_url von Codex?
Codex hängt /responses an base_url an. Mit Wokey funktionieren https://api.wokey.ai und https://api.wokey.ai/v1. Füge /responses nicht selbst hinzu, sonst bekommst du einen 404 Route POST:/responses/responses not found.
Kann ich den API-Key direkt in die config.toml schreiben?
Ein Feld api_key in der Provider-Tabelle lässt das Parsen der Konfiguration scheitern, weil Codex unbekannte Provider-Felder ablehnt. Gib stattdessen mit env_key den Namen einer Umgebungsvariable an und exportiere diese Variable.
Kann Codex Claude oder andere Nicht-GPT-Modelle nutzen?
Mit Wokey ja: Das Gateway wandelt die Responses-Anfrage in das Protokoll des Upstreams um. Dabei gehen einige Codex-spezifische Tools verloren; wähle zum Programmieren deshalb ein Modell mit nativem /v1/responses, etwa gpt-6-sol, grok-4.7 oder deepseek-v4.1-flash.
Warum funktioniert meine [profiles]-Konfiguration nicht mehr?
Seit Codex 0.134.0 legt --profile name die Datei ~/.codex/name.config.toml über die Konfiguration, und [profiles.name]-Tabellen in config.toml werden nicht mehr gelesen. Verschiebe diese Konfiguration in eine eigene Datei.