Theme
Language

Codex Desktop (ChatGPT)

Step-by-step Codex setup in the ChatGPT app for Windows and macOS: sign out of ChatGPT, sign in with a GetVibe API key, base_url and spend verification.

Ready-made config

Built from our catalog on request: the API address, every published model with its context and output limit, and the recommended settings. It contains no key. Codex reads the key from GETVIBE_API_KEY (env_key). Cheap model for one run: codex -m <model ID>; maximum reasoning: codex -c model_reasoning_effort="high". Delete [profiles.*] tables left from older versions of this file — Codex 0.134 and later refuses --profile while they are present.

# macOS / Linux
mkdir -p ~/.codex
curl -fsSL https://getvibeapi.com/api/integrations/codex.toml -o ~/.codex/config.toml
# Windows PowerShell
New-Item -ItemType Directory -Force "$HOME\.codex" | Out-Null
Invoke-WebRequest https://getvibeapi.com/api/integrations/codex.toml -OutFile "$HOME\.codex\config.toml"
  • Main model — gpt-6.1-sol: strong agentic coder with a large context at a moderate price; the bare id keeps cross-channel failover on.
  • Small tasks — deepseek-v4.1-flash: cheapest capable model with a 1M context, for titles, summaries, commit messages and compaction.
  • Streaming on, a 600-second request timeout, reasoning effort medium: a long reasoning answer takes minutes, and without streaming it runs into the wait limit.
  • Bare model IDs everywhere, no :suffix — that keeps automatic failover to a healthy channel on.
The catalog changes: when new models appear, download the file again. To keep only some models, add ?models= with comma-separated IDs to the URL.

Codex Desktop now lives inside the ChatGPT app for Windows and macOS. You can connect it to GetVibe API without a terminal: the app reads the same config.toml file that Codex CLI uses.

1. Install the app

Open the official ChatGPT desktop page, choose macOS or Windows, install and launch the app. In the top-left switch select Codex.

Codex Desktop: exact key setup

Codex Desktop is a GUI app. It must use GetVibe from config.toml and the key from auth.json, not an active ChatGPT session.

An export command in Terminal is not inherited by an already running GUI app. Therefore export OPENAI_BASE_URL and export OPENAI_API_KEY in Terminal do not configure Codex Desktop: the app has its own environment.
If config.toml contains requires_openai_auth = true and the app has an active Sign in with ChatGPT session, Codex uses that OAuth login and sends the request to OpenAI instead of GetVibe. Sign out of ChatGPT, put your GetVibe key in auth.json and use the settings below.

config.toml

Save this block to ~/.codex/config.toml. The getvibeapi.com placeholder is replaced automatically.

model = "gpt-5.6-luna"
model_provider = "getvibe"
model_reasoning_effort = "high"

[model_providers.getvibe]
name = "GetVibe API"
base_url = "https://getvibeapi.com/v1"
wire_api = "responses"
requires_openai_auth = true

auth.json

Save this JSON to ~/.codex/auth.json and replace the value with your real sk-pv-… key.

{"OPENAI_API_KEY": "PASTE_YOUR_GETVIBE_KEY_HERE"}
Do not put $GETVIBE_API_KEY inside auth.json: JSON does not expand environment variables. Do not publish this file or commit it to Git.

Fully restart the app

After changing config.toml or auth.json, fully quit the app: on macOS press Cmd+Q; on Windows choose Exit. Closing the window or using Restart daemon alone is not enough: the app must reread both files.

Open a new Codex chat, send a short test, then check for a new record in Dashboard → Usage. If no record appears, the request did not go through GetVibe.

If 403 Country, region, or territory not supported from api.openai.com appears again, the key was not picked up: check auth.json, sign out of ChatGPT and fully quit the app again.
Codex Desktop + GetVibe API — no-terminal setup | GetVibe API