openclaw - 💡(How to fix) Fix Model picker should distinguish GPT provider/auth route from agent runtime [1 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#84032Fetched 2026-05-20 03:45:00
View on GitHub
Comments
1
Participants
2
Timeline
10
Reactions
2
Timeline (top)
labeled ×8commented ×1subscribed ×1

After updating OpenClaw to 2026.5.19-beta.1, GPT/Codex-related model entries became hard to understand in the WebUI/channel model picker.

The UI showed only gpt-5.5, but from a user's perspective there are several materially different routes:

  • openai/gpt-5.5
  • openai-codex/gpt-5.5 with agentRuntime.id = "pi"
  • potentially codex/gpt-* / Codex harness runtime routes depending on configuration

These routes have different auth semantics, runtime behavior, and latency. In my case, selecting the ambiguous gpt-5.5 caused conversations to use the slower Codex runtime path, while I expected the normal PI conversation path using my ChatGPT/Codex subscription login.

Root Cause

This is not just cosmetic. The routes can have very different latency and behavior. Users with only a ChatGPT/Codex subscription, not an OpenAI API key, need to know whether they are using the PI conversation path or the Codex harness/runtime path.

Right now the UI can make those routes look like one model, which makes debugging model performance and auth behavior unnecessarily hard.

Fix Action

Fix / Workaround

Manual workaround

Code Example

{
  "id": "gpt-5.5",
  "name": "gpt-5.5",
  "provider": "openai"
}

---

gpt-5.5

---

"openai/gpt-5.5": {
  "alias": "GPT-5.5 · OpenAI"
},
"openai-codex/gpt-5.5": {
  "alias": "GPT-5.5 · PI",
  "agentRuntime": {
    "id": "pi"
  }
}

---

{
  "id": "gpt-5.5",
  "provider": "openai",
  "alias": "GPT-5.5 · OpenAI"
},
{
  "id": "gpt-5.5",
  "provider": "openai-codex",
  "alias": "GPT-5.5 · PI"
}

---

openclaw infer model run --gateway --model openai-codex/gpt-5.5 --prompt '只回复 OK' --json

---

{
  "ok": true,
  "provider": "openai-codex",
  "model": "gpt-5.5",
  "outputs": [{"text": "OK"}]
}
RAW_BUFFERClick to expand / collapse

Summary

After updating OpenClaw to 2026.5.19-beta.1, GPT/Codex-related model entries became hard to understand in the WebUI/channel model picker.

The UI showed only gpt-5.5, but from a user's perspective there are several materially different routes:

  • openai/gpt-5.5
  • openai-codex/gpt-5.5 with agentRuntime.id = "pi"
  • potentially codex/gpt-* / Codex harness runtime routes depending on configuration

These routes have different auth semantics, runtime behavior, and latency. In my case, selecting the ambiguous gpt-5.5 caused conversations to use the slower Codex runtime path, while I expected the normal PI conversation path using my ChatGPT/Codex subscription login.

Environment

  • OpenClaw: 2026.5.19-beta.1 (ba9034b)
  • Platform: macOS
  • Gateway: local gateway on 127.0.0.1:18789
  • Auth: openai-codex OAuth profile is valid
  • Relevant plugin: @openclaw/codex updated to the latest available version

What happened

Before fixing the config manually, openclaw gateway call models.list --json exposed GPT roughly like this:

{
  "id": "gpt-5.5",
  "name": "gpt-5.5",
  "provider": "openai"
}

In the UI this appeared simply as:

gpt-5.5

That did not tell me whether the conversation would use:

  • OpenAI provider route
  • OpenAI Codex OAuth / PI route
  • Codex harness/runtime route

This is especially confusing because recent config/plugin naming has changed between forms like openai codex, codex, and openai/codex.

Manual workaround

I manually added two explicit entries under agents.defaults.models:

"openai/gpt-5.5": {
  "alias": "GPT-5.5 · OpenAI"
},
"openai-codex/gpt-5.5": {
  "alias": "GPT-5.5 · PI",
  "agentRuntime": {
    "id": "pi"
  }
}

After restarting the gateway, the model list became clear:

{
  "id": "gpt-5.5",
  "provider": "openai",
  "alias": "GPT-5.5 · OpenAI"
},
{
  "id": "gpt-5.5",
  "provider": "openai-codex",
  "alias": "GPT-5.5 · PI"
}

And this test succeeded:

openclaw infer model run --gateway --model openai-codex/gpt-5.5 --prompt '只回复 OK' --json

Result:

{
  "ok": true,
  "provider": "openai-codex",
  "model": "gpt-5.5",
  "outputs": [{"text": "OK"}]
}

Expected behavior

The model picker should make the provider/auth route and runtime clear without requiring users to inspect JSON config.

Possible improvements:

  1. Show provider and runtime separately in the model picker. Example: GPT-5.5 · OpenAI · Codex runtime vs GPT-5.5 · OpenAI Codex OAuth · PI.
  2. Avoid collapsing distinct full model refs into the same visible label gpt-5.5.
  3. During openclaw configure, when ChatGPT/Codex Browser Login is selected, make it clear whether the generated model entry is openai/gpt-*, openai-codex/gpt-*, or codex/gpt-*.
  4. Ideally generate a clear alias automatically when multiple routes point to the same display model name.

Why this matters

This is not just cosmetic. The routes can have very different latency and behavior. Users with only a ChatGPT/Codex subscription, not an OpenAI API key, need to know whether they are using the PI conversation path or the Codex harness/runtime path.

Right now the UI can make those routes look like one model, which makes debugging model performance and auth behavior unnecessarily hard.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

The model picker should make the provider/auth route and runtime clear without requiring users to inspect JSON config.

Possible improvements:

  1. Show provider and runtime separately in the model picker. Example: GPT-5.5 · OpenAI · Codex runtime vs GPT-5.5 · OpenAI Codex OAuth · PI.
  2. Avoid collapsing distinct full model refs into the same visible label gpt-5.5.
  3. During openclaw configure, when ChatGPT/Codex Browser Login is selected, make it clear whether the generated model entry is openai/gpt-*, openai-codex/gpt-*, or codex/gpt-*.
  4. Ideally generate a clear alias automatically when multiple routes point to the same display model name.

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

openclaw - 💡(How to fix) Fix Model picker should distinguish GPT provider/auth route from agent runtime [1 comments, 2 participants]