1. The Status page (health check)
The Status page checks each link in the chain and gives a verdict:
| Check | What it covers |
|---|---|
| ChatGPT.app | Installed? Which version? |
| Kernel | The bundled kernel path and version gate |
| Wrapper | Whether ~/.coskey/bin/codex is installed |
| Environment injection | Whether the login-level environment points at the wrapper |
| Keychain | Whether a key entry exists for every provider |
| Endpoint reachability (optional) | Whether each provider endpoint responds |
| Default model | Set, and present in the catalogue |
| Global switch | Enabled or disabled |
| Relay | Whether the port is live (not running while the app is closed is normal) |
| Model gateway | When enabled: whether it runs, its listening port and scope, the host ChatGPT login and keys |
Work through whatever the failing rows tell you; the same checks are available on the command line:
coskey doctor # local checks, no network requests
coskey doctor --probe # also probes each provider endpoint
Restrictions such as a greyed-out plugin, an interface language that does not apply, or a missing Computer Use entry can be inspected on the read-only ChatGPT.app tab. To change a capability, open the separate Personalization page; see ChatGPT.app checks and personalization.
2. The Settings page
| Group | Contents |
|---|---|
| Appearance | Quick presets, theme colour and sidebar tone, applied immediately and stored locally |
| Language | Follow the system, 简体中文, or English — applied immediately |
| Global switch | Off turns the wrapper into a plain passthrough, equivalent to stock behaviour |
| Default and policy | The default model (immediate), the official-model policy (redirect or passthrough), and the kernel path override |
| Download mirror | Whether update manifests, provider presets and catalog templates come from cosk.ai or GitHub / Gitee: automatic / GitHub / Gitee, with a “Speed test” button |
| Maintenance | Re-run the health check, logs, updates, sync the wrapper now |
| Danger zone | Uninstall — see Disable and uninstall |
3. The Model catalogue page
The long-context unlock (catalogue mode) and the catalogue templates have a page of their own:
| Block | Contents |
|---|---|
| Catalog enhancement (catalog mode) | Ticking it generates ~/.coskey/models/cache.json; the kernel reads it once, at startup, so restart the app after changes |
| Entries and templates | Three tabs — User catalog, System catalog and Catalog templates. A user catalog row is one slug plus one catalog template as its base; the system catalog allows editing the two window layers and shown state, and toggling enabled |
| Action bar | “Regenerate catalog file (cache)” rebuilds the cache from the user catalog rows; “Regenerate system catalog” re-extracts the official base entries after a kernel upgrade |
| Catalog templates | Install / update / switch version / preview / delete; downloads follow “Download mirror” in Settings |
Details in Model catalogue.
To expose models to other agents, see Model gateway.
4. Logs
~/.coskey/logs/wrapper.logand~/.coskey/logs/relay.log(JSON lines, warn level by default, redacted);- Enable debug logging and restart the app to see a summary of every interception, rewrite and route — no keys involved.
5. Releasing a pinned session
Both the Sessions page and the CLI can release a pin so the session follows the default model again:
coskey unpin <threadId> # release the pin
coskey threads # show pinning state per session