One command →
curl -fsSL https://get.aireserve.com/install.sh | sh installs the
aireserve CLI and connects Codex and the ChatGPT desktop app: your browser
signs you in, and the CLI writes a command-auth provider into
~/.codex/config.toml whose helper (aireserve token codex) exchanges the
machine’s key for a gateway session token that expires within the hour.
The key never sits in the config file, and the full gateway model catalog
appears in Codex’s native model picker — reasoning-effort toggles included.codex --profile original
runs one session on your pre-CLI setup and aireserve unconfigure restores
the selected profile without removing another profile’s credentials. The
connect page walks through the
same command with the desktop-app steps.
Everything below is the manual equivalent — the escape hatch for a machine
where you cannot install the CLI.
Codex CLI / ChatGPT desktop app
Define a custom provider in~/.codex/config.toml that reads your key from
the environment:
env_key is the only auth to use here. Codex’s experimental_bearer_token
(a literal key pasted into config.toml) is marked discouraged upstream in
favor of env_key, leaves a long-lived credential in a plain-text file, and
gets none of the picker or short-lived-token behavior above. http_headers
alone does not authenticate — Codex ignores it for the provider-has-auth check
and waits for an interactive login.
With
env_key Codex never refreshes its model list from the provider, so
its picker only shows the model you pinned. The aireserve CLI configures
command auth plus a served model catalog instead — that is what unlocks
the full native picker with per-model reasoning-effort options, and what
keeps the key out of config.toml. If you want that experience, use the
CLI; it is not practical to maintain by hand.Codex SDK
The Codex runtime speaks the OpenAI Responses format, served at/v1/responses:
audacity_api_… keys and the AUDACITY_API_KEY name keep working
everywhere aireserve_api_… does.