openclaw - 💡(How to fix) Fix [Feature]: agents.defaults.thinkingDefault config field not working [1 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#54919Fetched 2026-04-08 01:34:30
View on GitHub
Comments
0
Participants
1
Timeline
1
Reactions
0
Participants
Timeline (top)
labeled ×1

Support setting default thinking level and reasoning visibility via config (agents.defaults.thinkingDefault and agents.defaults.reasoningDefault) so new sessions inherit these preferences without manual toggling.

Error Message

Consequence: Users must remember to manually send /think high and /reasoning stream after each /new or /reset, which is error-prone

Root Cause

Support setting default thinking level and reasoning visibility via config (agents.defaults.thinkingDefault and agents.defaults.reasoningDefault) so new sessions inherit these preferences without manual toggling.

Fix Action

Fix / Workaround

Docs: docs/tools/thinking.md documents agents.defaults.thinkingDefault as a valid config option. Schema also shows thinkingDefault under agents.defaults. However config.patch fails with 'Unrecognized key: thinkingDefault'. Version: OpenClaw 2026.3.23-2 (7ffe7e4)

RAW_BUFFERClick to expand / collapse

Summary

Support setting default thinking level and reasoning visibility via config (agents.defaults.thinkingDefault and agents.defaults.reasoningDefault) so new sessions inherit these preferences without manual toggling.

Problem to solve

Currently /think and /reasoning directives work interactively to set thinking level and reasoning visibility per session. However, these settings are not persisted across sessions - every new session (/new or /reset) starts with default values (thinking: off, reasoning: off). Users who want high thinking depth by default must manually send /think high after every session reset, which is tedious and easily forgotten.

Proposed solution

Expose agents.defaults.thinkingDefault and agents.defaults.reasoningDefault as valid config fields. These should work similarly to agents.defaults.model - set baseline defaults that apply to new sessions. Resolution order should be: inline directive > session override > per-agent default > global default (agents.defaults).

Alternatives considered

No response

Impact

Affected: All users who prefer high thinking depth or streaming reasoning output Severity: Annoying (not blocking but tedious) Frequency: Every new session Consequence: Users must remember to manually send /think high and /reasoning stream after each /new or /reset, which is error-prone

Evidence/examples

Docs: docs/tools/thinking.md documents agents.defaults.thinkingDefault as a valid config option. Schema also shows thinkingDefault under agents.defaults. However config.patch fails with 'Unrecognized key: thinkingDefault'. Version: OpenClaw 2026.3.23-2 (7ffe7e4)

Additional information

No response

extent analysis

Fix Plan

To fix the issue, we need to update the configuration to recognize agents.defaults.thinkingDefault and agents.defaults.reasoningDefault as valid fields. Here are the steps:

  • Update the config schema to include thinkingDefault and reasoningDefault under agents.defaults.
  • Modify the config.patch function to recognize these new fields.
  • Add default values for thinkingDefault and reasoningDefault in the global configuration.

Example code:

# Update config schema
config_schema = {
    'agents': {
        'defaults': {
            'thinkingDefault': {'type': 'string', 'default': 'off'},
            'reasoningDefault': {'type': 'string', 'default': 'off'}
        }
    }
}

# Update config.patch function
def config_patch(config, patch):
    if 'agents' in patch and 'defaults' in patch['agents']:
        if 'thinkingDefault' in patch['agents']['defaults']:
            config['agents']['defaults']['thinkingDefault'] = patch['agents']['defaults']['thinkingDefault']
        if 'reasoningDefault' in patch['agents']['defaults']:
            config['agents']['defaults']['reasoningDefault'] = patch['agents']['defaults']['reasoningDefault']
    return config

# Add default values to global configuration
global_config = {
    'agents': {
        'defaults': {
            'thinkingDefault': 'off',
            'reasoningDefault': 'off'
        }
    }
}

Verification

To verify the fix, you can try the following:

  • Update the configuration with the new fields and values.
  • Create a new session and check if the thinking level and reasoning visibility are set to the default values.
  • Send a /think or /reasoning directive and check if the settings are overridden correctly.

Extra Tips

  • Make sure to update the documentation to reflect the new configuration options.
  • Consider adding a warning or error message if the user tries to set an invalid value for thinkingDefault or reasoningDefault.

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 [Feature]: agents.defaults.thinkingDefault config field not working [1 participants]