Conversation
Codex models are hardcoded here, unlike Cursor, Claude and Pi, which get theirs from the harness at runtime. So a new release isn't just missing from the picker: normalizeServerModel silently swaps any id the catalog doesn't list for the default model, which makes it unreachable even when set in ~/.codex/config.toml. Efforts match the 5.6 family (low…ultra), Fast mode is supported, and the default effort is high — what OpenAI's docs recommend for this model, where the 5.6 family defaults to medium. Not made the catalog default: access rolled out gradually after release, and defaulting to it would move everyone onto a model they may not have. Needs Codex CLI v0.153.1+ on the machine; older CLIs don't know the id. 🌸 Shipped with Kanna — https://kanna.sh Co-Authored-By: Kanna <noreply@kanna.sh> Kanna-Agent: claude/fable
Greptile SummaryThis PR adds GPT-6 Astra to the static Codex model catalog, advertises its reasoning-effort and fast-mode capabilities, and adds catalog/normalization tests.
Confidence Score: 4/5This PR should not merge until GPT-6 Astra is hidden or rejected when the installed Codex CLI cannot support it. The new static catalog entry is offered on every installation, while Kanna neither enforces the stated Codex CLI minimum version nor discovers Codex capabilities; selecting Astra on an older CLI therefore reaches the app-server with an unsupported model ID and fails the turn. Files Needing Attention: src/shared/types.ts
|
| Filename | Overview |
|---|---|
| src/shared/types.ts | Adds the Astra catalog metadata, but exposes the model to incompatible Codex CLI installations without version or capability gating. |
| src/shared/types.test.ts | Verifies Astra normalization, supported efforts, its high default effort, and preservation of the existing catalog default. |
| src/server/read-models.test.ts | Updates the expected client-visible Codex model ordering to include Astra first. |
Reviews (1): Last reviewed commit: "feat(codex): add GPT-6 Astra to the mode..." | Re-trigger Greptile
| id: "gpt-6-astra", | ||
| label: "GPT-6 Astra", | ||
| supportsEffort: true, | ||
| supportedReasoningEfforts: GPT_5_6_REASONING_OPTIONS, | ||
| // OpenAI's Codex docs recommend high as the everyday default for this | ||
| // model, where the 5.6 family defaults to medium. | ||
| defaultReasoningEffort: "high", | ||
| supportsFastMode: true, | ||
| }, |
There was a problem hiding this comment.
If a machine is running a Codex CLI older than the required v0.153.1, Kanna still offers GPT-6 Astra because the static model catalog is not filtered by CLI version or capabilities. Selecting it passes the unsupported model ID directly to thread/start or turn/start, where a Codex error rejects the request and the agent turn fails. Gate this entry on a compatible CLI version or otherwise prevent unsupported installations from selecting it.
GPT-6 Astra (
gpt-6-astra) can't be selected in Kanna. Codex models are hardcoded inshared/types.ts, unlike Cursor, Claude and Pi, which get theirs from the harness at runtime — andnormalizeServerModelreplaces any codex id the catalog doesn't list with the default model, so the model is unreachable even if it's set in~/.codex/config.toml.Adds it as the first codex entry: efforts match the 5.6 family (
low…ultra), Fast mode supported, default efforthigh— what OpenAI's docs recommend for this model, where the 5.6 family defaults tomedium.Deliberately not the catalog default. Access rolled out gradually after the Sep 3 release, so defaulting to it would move everyone onto a model they may not have;
gpt-5.6-solstays the default.Requires Codex CLI v0.153.1+ on the machine — older CLIs don't know the id.
Full suite, typecheck and both builds pass.
🌸 Shipped with Kanna — an open-source workspace for all your coding agents. Written by
claude/fable.