openclaw - 💡(How to fix) Fix Telegram /models cannot select Claude CLI runtime after provider/runtime split

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…

Code Example

/model anthropic/claude-opus-4-7 --runtime claude-cli
RAW_BUFFERClick to expand / collapse

Summary

Telegram /models no longer gives users a discoverable way to select CLI runtime-backed models such as claude-cli/claude-opus-4-7 after the provider/runtime split. The older issue #81212 is closed and locked, but the problem is still reproducible in a 2026.5.12 install.

Local evidence

A local upgraded config still has all of the expected Claude CLI runtime pieces:

  • auth.profiles.anthropic:claude-cli.provider = "claude-cli"
  • auth.order.anthropic prefers anthropic:claude-cli before the API-key profile
  • agents.defaults.cliBackends.claude-cli is configured
  • agents.defaults.model.fallbacks includes claude-cli/claude-opus-4-7
  • agents.defaults.models contains claude-cli/claude-opus-4-7 with an alias

Older local notes/configs explicitly documented that claude-cli/claude-opus-4-7 was added so the picker could surface the custom CLI backend. Telegram screenshots from the same system show /model previously reporting:

  • Current: claude-cli/claude-opus-4-7
  • later: Current: openai/gpt-5.5 (selected) plus Active: claude-cli/claude-opus-4-7 (runtime)

No secrets or private auth values are needed to reproduce this; it is config shape and picker behavior only.

Current source evidence

Current code intentionally hides legacy runtime providers from the provider list:

  • src/agents/model-picker-visibility.ts hides providers recognized by isLegacyRuntimeModelProvider().
  • src/agents/model-runtime-aliases.ts includes claude-cli, codex-cli, and google-gemini-cli as legacy runtime provider aliases.
  • src/auto-reply/reply/commands-models.ts builds provider button data after applying that visibility filter.
  • The same file builds runtimeChoicesByProvider, but the Telegram provider/menu path does not expose those runtime choices as selectable buttons.

User-visible result

A user can type something like:

/model anthropic/claude-opus-4-7 --runtime claude-cli

but Telegram button users cannot discover or select the CLI runtime from the /models browse flow. This is a regression for users who had claude-cli/... model refs in their configured fallback or primary model chain before the provider/runtime split.

Preferred fix direction

Do not blindly reclassify CLI runtimes as normal providers. A safer fix is to add a validated runtime-selection step to the Telegram /models flow using the already-built runtimeChoicesByProvider, preserving existing runtime override authorization and validation.

Related

  • #81212 appears to describe the same issue, but it is closed and locked. The ClawSweeper comment there also says Telegram/Mattermost still lack an equivalent runtime-picker path.

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…

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 Telegram /models cannot select Claude CLI runtime after provider/runtime split