Skip to content

[Bug]: Plugin model provider (opencode-go) cannot be resolved by isolated cron sessions, even though openclaw models lists it correctly and session_status model=default resolves it for existing sessions. #95500

Description

@hpfan

Bug type

Behavior bug (incorrect output/state without crash)

Beta release blocker

No

Summary

Plugin model provider (opencode-go) cannot be resolved by isolated cron sessions, even though openclaw models lists it correctly and session_status model=default resolves it for existing sessions.

Steps to reproduce

  1. Install a model plugin (e.g. opencode-go) that registers via catalog.json
  2. Set default model to opencode-go/deepseek-v4-flash
  3. Create a cron job with model: "opencode-go/deepseek-v4-flash"
  4. Check run history — provider is always the fallback, never opencode-go

Expected behavior

Cron job runs use the explicitly set model through the plugin provider.

Actual behavior

Always resolves to deepseek (fallback provider), fallbackUsed: false.

OpenClaw version

2026.6.9

Operating system

Ubuntu 24.04

Install method

npm global

Model

opencode-go/deepseek-v4-flash

Provider / routing chain

opencode-go

Additional provider/model setup details

No response

Logs, screenshots, and evidence

Impact and severity

No response

Additional information

Root cause investigation: models.json only has legacy providers; plugin providers are loaded from plugins/*/catalog.json separately. The find() or findInitialModel() path for isolated session creation doesn't resolve plugin-provided models correctly, falling through to the first available model instead.

Workaround: session_status model=default works for existing interactive sessions, but not for isolated cron sessions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Normal backlog priority with limited blast radius.bugSomething isn't workingbug:behaviorIncorrect behavior without a crashclawsweeper:needs-live-reproClawSweeper needs live local, crabbox, or manual validation to confirm this issue.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.impact:auth-providerAuth, provider routing, model choice, or SecretRef resolution may break.issue-rating: 🐚 platinum hermitGood issue quality with a plausible reproduction path needing some confirmation.

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions