Coskey icon

Coskey

Model switching and key management for ChatGPT.app

Switch models in ChatGPT.app / Codex.app freely and smoothly.

v0.14.3 · macOS 13+ · Windows 10+

Coskey — Model switching and key management for ChatGPT.app

Why Coskey

None of this should be this hard

If you have ever wrestled with this kind of configuration, Coskey exists for you.

Third-party model setup is complex, and only one model fits

Hand-edit ~/.codex/config.toml — fiddly and easy to get wrong

Enter the provider and key in the GUI, never touching a config file

ChatGPT.app shows only “Custom”, with no way to list several models

The model picker has no third-party entries

Third-party entries sit next to the official models, what you pick is what runs, and you can switch mid-session

Context window capped at 272K

Third-party windows are fixed at whatever default you get

Configure window sizes freely: every app model sets its own window and generation parameters, so one upstream model can be offered at several sizes

Switching providers leaves historical sessions unable to open

Start a new session and leave the historical one behind

A global default plus per-session pinning switches seamlessly across providers; existing sessions can be adopted

Three paths to get going

Plug it in, then pick it in the app

Screenshots are taken from the Coskey interface and from ChatGPT.app running for real.

Path one

Connect a provider and its models

One Base URL from an OpenAI-compatible endpoint plus one API key, stored in four steps. The key only ever goes to the system keychain.

  1. 1

    Add a provider

    Click a preset (DeepSeek, 千问, 智谱, Kimi, MiniMax) to fill in the first three fields, leaving only the API key; or type all four yourself. Saving writes the key straight to the system keychain — no config file, no logs.

  2. 2

    The card is ready

    The provider card appears immediately with a keychain check mark. You can also time the Base URL to see whether it responds and how fast.

  3. 3

    Import models from upstream

    Click “Import models…”: Coskey pulls the upstream /models list with that provider's key. Search and multi-select as you like — searching only filters the view, it never drops your selection.

  4. 4

    Protocol detected automatically

    Each model is probed for /responses: native endpoints pass through untouched, chat/completions-only endpoints go through the local translation layer (each model row can also re-probe its protocol). The models are now in the catalogue — but not yet in the picker.

Path two

Map them, size the window, pick them in the app

One row on the “Model mapping” page equals one entry in the ChatGPT.app picker: which upstream model it targets and how large its window is.

  1. 1

    Create a mapping

    Pick the target upstream model. The core name and group id decide what the entry is called in the picker; models without a mapping never show up in the app.

  2. 2

    Add a user catalog entry

    The kernel matches windows by name. “+ User catalog” creates an entry named after the id prefix, where you set both the default window and its upper bound.

  3. 3

    Drag the window to size

    Effective window = min(injected value, cap) × 95%, computed for you in the form. The id and display name gain the window suffix automatically, so the same model can appear at several sizes.

  4. 4

    Let it take effect, then pick it

    Mappings and display names apply immediately, and the ChatGPT.app picker list refreshes within about 5 minutes (restarting is faster); user catalog entries need an app restart. Your entries then appear next to the official models, and switching mid-session works too.

Path three

Set the model catalogue up once

Since 0.6.0 the model catalogue is the control room for the whole catalog system: one switch unlocks the window cap, and three tabs manage entries, the official base and catalog templates.

  1. 1

    Turn catalog mode on

    “Catalog enhancement (catalog mode)” decides whether the kernel reads the cache Coskey generates at startup: it unlocks windows past 272K, sets the prompt and request shape of third-party models, and applies the official-base overrides — with zero writes to ~/.codex.

  2. 2

    User catalog: give a model its window

    One row = one slug plus one catalog template as its base, storing only the window and capability parameters. “+ User catalog” on the mapping page is the same form, and the window section matches the entry right away.

  3. 3

    Catalog templates: updates and versions

    Common templates (DeepSeek, 千问, GLM, Kimi, MiniMax) are built in: install new ones, update, switch versions (including rolling back), or preview the prompt before installing.

After that, switching is just picking a model in the app. See the full steps in the docs.

Nothing left out

Switching, done thoroughly

Beyond the paths, these details decide whether it holds up over time.

Disable what you do not need

Official models can be kept out of the picker, and your own mappings can be paused: mapping, default and pinned references all stay, ready to re-enable.

Global default plus session pinning

Sessions you never switched follow the default model; picking another one in the picker pins only that session, leaving the others alone.

Adopt existing sessions

Sessions created before you installed Coskey are visible too, and can be adopted or handed back; uninstalling restores their original provider.

Upstream protocol adaptation

Native Responses endpoints pass through; chat/completions-only endpoints are translated locally, streaming and tool calls included.

Several providers at once

Each provider keeps its own Base URL and key, and mappings point wherever you like — switching across providers does not disturb the session.

No configuration surgery

The app is never modified and ~/.codex is never written to; one click disables Coskey and returns stock behaviour.

End-to-end health check

The app, kernel, wrapper, keychain and relay port are checked item by item, and each result comes with a verdict.

Download

Download Coskey

Open the app after installing and the guide walks you through the rest.

macOS · Apple Silicon

macOS 13+

Coskey_0.14.3_aarch64.dmg

macOS · Intel

macOS 13+

Coskey_0.14.3_x64.dmg

Windows · x64

Windows 10+

Coskey_0.14.3_x64-setup.exe

Source

Install, configuration and troubleshooting live inInstall and first run·FAQ

Feedback

Hit a snag? Tell us here

Found a bug or have an idea? Open an issue in the release repository — mirrored on GitHub and Gitee, pick whichever is handier.