Skip to content

[Bug] Per-model params.thinking silently ignored — thinkingDefault always wins #30399

@cmfinlan

Description

@cmfinlan

Per-model params.thinking in agents.defaults.models["provider/model"].params.thinking is accepted by the config schema but never consulted during thinking-level resolution. The global thinkingDefault always takes precedence.

Reproduction:
Set thinkingDefault: low globally, and params.thinking: high on a specific model. session_status shows Think: low regardless.

Root cause:
resolveThinkingDefault() checks cfg.agents.defaults.thinkingDefault first and returns immediately — never looks at per-model params. Per-model params ARE loaded via resolveExtraParams() but thinking is ignored by createStreamFnWithExtraParams().

Fix location:
resolveThinkingDefault() in model-selection module. Add per-model params.thinking check before global thinkingDefault fallback.

Workaround: Set thinkingDefault globally to desired level, or use /thinking per-session.

Version: openclaw 2026.2.26 (bc50708)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions