Skip to content

[Bug]: /status usage missing for OpenAI Codex synthetic auth after 2026.6.6 #92506

Description

@brokemac79

Bug type

Regression (worked before, now fails)

Beta release blocker

No

Summary

After upgrading to OpenClaw 2026.6.6, Telegram /status and openclaw status --usage still do not show the OpenAI/Codex Usage: 5h ... Week ... line for an openai/gpt-5.5 session running on the Codex runtime, even though #91709 is included in the installed release and models status reports the synthetic codex-app-server route as usable.

Steps to reproduce

  1. Install OpenClaw 2026.6.6 from npm latest.
  2. Configure the default model as openai/gpt-5.5 with the Codex runtime, with the codex alias pointing at openai/gpt-5.5.
  3. Use a live Telegram topic/session running through the Codex runtime.
  4. Send /status in Telegram.
  5. Also run openclaw status --json --usage on the same host.

Observed live config state on the reporter VPS after reverting a temporary alias test:

{
  "defaultModel": "openai/gpt-5.5",
  "resolvedDefault": "openai/gpt-5.5",
  "aliases": {
    "codex": "openai/gpt-5.5"
  },
  "allowed": [
    "codex/gpt-5.5",
    "openai/gpt-5.5"
  ],
  "runtimeAuthRoutes": [
    {
      "provider": "openai",
      "runtime": "codex",
      "authProvider": "openai",
      "status": "usable",
      "effective": {
        "kind": "synthetic",
        "detail": "codex-app-server"
      }
    }
  ]
}

Expected behavior

/status should include the restored OpenAI/Codex usage line, for example the behavior restored and proven in #91709:

Usage: 5h 84% left ... Week 44% left ...

This expected behavior is grounded in the previous working /status output and #91709, which fixed #91694 and was merged as 1893a0727a37c15dc1a5915d9d6064e21aeb7c4a.

Actual behavior

Telegram /status does not show any Usage: line for the affected OpenAI/Codex session.

The CLI usage snapshot also omits OpenAI/Codex entirely and only returns Anthropic/Claude usage error state:

{
  "updatedAt": 1781287205544,
  "providers": [
    {
      "provider": "anthropic",
      "displayName": "Claude",
      "windows": [],
      "error": "HTTP 429: Rate limited. Please try again later."
    }
  ]
}

The installed release does contain the #91709 code paths. Verified on the reporter VPS:

  • openclaw --version -> OpenClaw 2026.6.6 (8c802aa)
  • installed core SHA: 8c802aa683510c7f7503597b54c3021733245e59
  • fix(status): restore Codex synthetic usage line #91709 merge commit: 1893a0727a37c15dc1a5915d9d6064e21aeb7c4a
  • GitHub compare shows 8c802aa is ahead of 1893a072, so the PR is included.
  • Installed dist contains fetchUsageSnapshot, account/rateLimits/read, hookProvider: "codex", and codex-app-server usage routing.

OpenClaw version

2026.6.6 (8c802aa)

Operating system

Linux 6.17.0-1011-oracle arm64 on the reporter VPS.

Install method

npm global install, single canonical system install:

/usr/bin/openclaw
/bin/openclaw
NVM OpenClaw: absent

Model

openai/gpt-5.5

Provider / routing chain

OpenClaw Telegram /status -> OpenAI model alias/config -> Codex runtime -> synthetic codex-app-server auth route.

Additional provider/model setup details

The relevant config/model state is:

{
  "defaultModel": "openai/gpt-5.5",
  "resolvedDefault": "openai/gpt-5.5",
  "fallbacks": ["google/gemini-3.1-pro-preview"],
  "aliases": {
    "codex": "openai/gpt-5.5"
  },
  "allowed": ["codex/gpt-5.5", "openai/gpt-5.5"]
}

openclaw models status --json reports the OpenAI/Codex runtime route as usable via synthetic auth:

{
  "provider": "openai",
  "runtime": "codex",
  "authProvider": "openai",
  "status": "usable",
  "effective": {
    "kind": "synthetic",
    "detail": "codex-app-server"
  }
}

However, openclaw models auth list --agent main reports:

Agent: main
Auth state store: ~/.openclaw/agents/main/agent/openclaw-agent.sqlite
Profiles: (none)

This appears to be the remaining uncovered case: synthetic codex-app-server auth is usable according to model status, but the status/usage path still does not include OpenAI/Codex usage when there is no saved local OpenAI auth profile.

Temporary config tests were run and reverted:

  • Changing default to codex/gpt-5.5 did not restore usage.
  • Moving the codex alias to codex/gpt-5.5 did not restore usage and made runtimeAuthRoutes empty, so it was reverted.
  • Current config is back to openai/gpt-5.5 with codex -> openai/gpt-5.5.

Logs, screenshots, and evidence

$ openclaw --version
OpenClaw 2026.6.6 (8c802aa)

$ systemctl --user is-active openclaw-gateway
active

$ openclaw models status --json
{
  "defaultModel": "openai/gpt-5.5",
  "resolvedDefault": "openai/gpt-5.5",
  "aliases": {
    "codex": "openai/gpt-5.5"
  },
  "allowed": [
    "codex/gpt-5.5",
    "openai/gpt-5.5"
  ],
  "auth": {
    "runtimeAuthRoutes": [
      {
        "provider": "openai",
        "runtime": "codex",
        "authProvider": "openai",
        "status": "usable",
        "effective": {
          "kind": "synthetic",
          "detail": "codex-app-server"
        }
      }
    ]
  }
}

$ openclaw status --json --usage
{
  "updatedAt": 1781287205544,
  "providers": [
    {
      "provider": "anthropic",
      "displayName": "Claude",
      "windows": [],
      "error": "HTTP 429: Rate limited. Please try again later."
    }
  ]
}

Telegram /status screenshot evidence from the same host/session shows no Usage: line after upgrading to 2026.6.6; the output includes model, fallback, cache/context, session, runtime, voice, activation, and queue lines only.

Impact and severity

Affected: OpenAI/Codex users relying on Telegram /status or CLI status --usage to see remaining Codex usage windows.

Severity: Medium. The model still runs, but the operator loses the main quota signal that was restored by #91709 and previously shown in /status.

Frequency: Always observed on the reporter VPS after upgrading to 2026.6.6 for the affected configuration.

Consequence: The user cannot see the 5h and weekly OpenAI/Codex usage windows from Telegram /status, and CLI usage output is misleading because it reports only a Claude/Anthropic error while omitting the usable OpenAI/Codex route.

Additional information

Related prior fix: #91709 fixed #91694 and was merged in 1893a0727a37c15dc1a5915d9d6064e21aeb7c4a.

The prior PR proof showed the shared status text path rendering Usage: 5h ... Week ..., but it did not capture native Telegram /status proof and its strongest unit tests mocked loadProviderUsageSummary or forced modelAuthOverride: "oauth" / activeModelAuthOverride: "oauth".

This live repro suggests #91709 fixed lower plumbing but did not cover installed-release behavior where models status reports synthetic codex-app-server auth as usable while the status/usage path has no saved local OpenAI auth profile.

I can pick this up and prepare a PR if maintainers agree this should be handled as a follow-up to #91709.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Normal backlog priority with limited blast radius.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.impact:auth-providerAuth, provider routing, model choice, or SecretRef resolution may break.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions