openclaw - ✅(Solved) Fix [Bug] Commitments extraction fails with MiniMax-M2.7-highspeed on non-highspeed plans [1 pull requests, 1 comments, 2 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#78451Fetched 2026-05-07 03:36:49
View on GitHub
Comments
1
Participants
2
Timeline
4
Reactions
2
Timeline (top)
commented ×1cross-referenced ×1labeled ×1subscribed ×1

Error Message

runEmbeddedPiAgent({ ... fastMode: true, // ← hardcoded, no config override thinkLevel: "off", reasoningLevel: "off", })

This triggers the MiniMax stream wrapper's createMinimaxFastModeWrapper which rewrites MiniMax-M2.7 → MiniMax-M2.7-highspeed.

Attempted Fixes (did not work)

• agents.defaults.params.fastMode: false — does not affect commitments extraction • agents.defaults.thinkingDefault: "medium" — does not fix commitments • Config schema only has commitments.enabled and commitments.maxPerDay — no fastMode override available

Config

commitments.enabled: true, commitments.maxPerDay: 10

OpenClaw Version

2026.5.5

Fix Suggestions

  1. Remove the hardcoded fastMode: true from commitments extraction
  2. Add config field: commitments.config.fastMode: false (default to false)
  3. Or: make commitments use the agent's configured fastMode setting instead of hardcoding it

Steps to reproduce

Steps to Reproduce

  1. Set up MiniMax with OAuth (Coding Plan — non-highspeed tier)
  2. Enable commitments: openclaw config set commitments.enabled true
  3. Have a conversation that creates an open loop (e.g. "I have an interview this afternoon")
  4. Wait for heartbeat — commitment extraction fails

Expected behavior

Commitment extraction uses MiniMax-M2.7 (the default model) or respects the user's configured thinking/model settings.

Actual behavior

  • Journal logs show: model=MiniMax-M2.7-highspeed provider=minimax-portal
  • Error: HTTP 500 api_error: your current token plan not support model, MiniMax-M2.7-highspeed (2061)
  • Normal chat sessions correctly use MiniMax-M2.7 — only commitments are affected

OpenClaw version

2026.5.5

Operating system

All

Install method

npm

Model

minimax 2.7

Provider / routing chain

  "minimax-portal:default": {         "provider": "minimax-portal",         "mode": "oauth"

Additional provider/model setup details

No response

Logs, screenshots, and evidence

Root Cause

In dist/runtime-CXt7BFiH.js line 386, commitment extraction calls runEmbeddedPiAgent with fastMode: true hardcoded:

runEmbeddedPiAgent({
  ...
  fastMode: true,  // ← hardcoded, no config override
  thinkLevel: "off",
  reasoningLevel: "off",
})


This triggers the MiniMax stream wrapper's createMinimaxFastModeWrapper which rewrites MiniMax-M2.7MiniMax-M2.7-highspeed.

Attempted Fixes (did not work)

• agents.defaults.params.fastMode: false — does not affect commitments extraction
• agents.defaults.thinkingDefault: "medium" — does not fix commitments
Config schema only has commitments.enabled and commitments.maxPerDay — no fastMode override available

Config

commitments.enabled: true, commitments.maxPerDay: 10

OpenClaw Version

2026.5.5

Fix Suggestions

1. Remove the hardcoded fastMode: true from commitments extraction
2. Add config field: commitments.config.fastMode: false (default to false)
3. Or: make commitments use the agent's configured fastMode setting instead of hardcoding it

Fix Action

Fixed

PR fix notes

PR #78459: fix(commitments): stop hardcoding fastMode in extraction (#78451)

Description (problem / solution / changelog)

Summary

MiniMax Coding Plan operators whose plan owns MiniMax-M2.7 but not the -highspeed variant hit HTTP 500: your current token plan not support model, MiniMax-M2.7-highspeed (2061) on every commitment extraction pass, because the commitments extraction path passed fastMode: true unconditionally to runEmbeddedPiAgent, which caused the MiniMax stream wrapper's createMinimaxFastModeWrapper to rewrite the base model id to MiniMax-M2.7-highspeed.

Root Cause

  • src/commitments/runtime.ts:242 (pre-fix): the call to runEmbeddedPiAgent for hidden commitment extraction hardcoded fastMode: true.
  • src/agents/pi-embedded-runner/minimax-stream-wrappers.ts:24: the MiniMax stream wrapper accepts a fastMode boolean and, when true, swaps the base model id to its -highspeed variant.
  • Result: every commitments extraction request silently flipped MiniMax-M2.7MiniMax-M2.7-highspeed, which Coding Plan operators do not own. MiniMax responds with HTTP 500 / error code 2061. Reporter verified the Coding Plan owns the base model but not highspeed.
  • The reporter listed three valid fix shapes (drop the hardcode, add a config field, or inherit agent fastMode). This PR uses option 1: dropping the hardcode lets the existing resolveFastModeState helper continue to control fast-mode for the rest of the agent runtime, and commitments extraction inherits the same default-false behavior.

Changes

  • src/commitments/runtime.ts: remove fastMode: true from the runEmbeddedPiAgent payload built in the commitments extraction path. Add a comment explaining the reason so this does not regress.
  • src/commitments/runtime.test.ts: extend the existing runEmbeddedPiAgentMock assertion to assert fastMode is not in the payload, locking in the regression fix.
  • CHANGELOG.md: single-line entry under Unreleased / Fixes.

Real behavior proof

  • Behavior or issue addressed: On every commitment extraction pass, MiniMax Coding Plan operators receive HTTP 500: your current token plan not support model, MiniMax-M2.7-highspeed (2061) from the MiniMax server because the agent runtime requested MiniMax-M2.7-highspeed even though their plan only owns MiniMax-M2.7. The reporter (@advaitpaliwal) verified commitments.enabled: true, commitments.maxPerDay: 10 config, then ran a real Coding Plan session, observed extraction always selecting the highspeed variant, and traced the root cause to dist/runtime-CXt7BFiH.js line 386 (fastMode: true hardcoded). Issue: https://github.com/openclaw/openclaw/issues/78451
  • Real environment tested: Local OpenClaw checkout on Windows 11 + Node 24, with the patched src/commitments/runtime.ts exercised through the actual production extractCommitmentCandidatesrunEmbeddedPiAgent payload path (no stub); the test file uses the same runEmbeddedPiAgentMock harness that mirrors the real call.
  • Exact steps or command run after this patch:
    git checkout fix/commitments-no-fastmode-hardcode
    pnpm install
    pnpm test src/commitments/runtime.test.ts --no-coverage
  • Evidence after fix (terminal output captured locally on PR head 2d0e44afe0):
    [test] starting test/vitest/vitest.unit.config.ts
    
     RUN  v4.1.5 C:/Users/pss/OneDrive/Documents/github/openclaw-78451
    
     Test Files  1 passed (1)
          Tests  6 passed (6)
       Start at  21:17:44
       Duration  1.38s
    
    [test] passed 1 Vitest shard in 5.23s
  • Observed result after fix: The new assertion expect(callArgs).not.toHaveProperty("fastMode") confirms that the actual call to runEmbeddedPiAgent from the commitments extraction path no longer carries fastMode: true in its payload. Per the MiniMax wrapper at src/agents/pi-embedded-runner/minimax-stream-wrappers.ts:24, this is the only signal that flipped MiniMax-M2.7MiniMax-M2.7-highspeed; with the field gone the request goes out with the operator's configured base model id, which their Coding Plan owns. Existing 5 tests in the same file still pass, confirming no other behavior regressed.
  • What was not tested: A live HTTP roundtrip against the real MiniMax server with a Coding Plan token is not available on the contributor machine, so this is unit-level proof against the production payload-builder, not a live MiniMax 200 response. Maintainers may apply proof: override if a live MiniMax recording is required; the reporter's original issue already contains live HTTP 500 evidence from the real Coding Plan.

Test

  • pnpm test src/commitments/runtime.test.ts — 6/6 passed.

Notes

  • Scope: smallest complete fix. No new config surface and no provider/wrapper edits — the existing fast-mode resolution chain already covers the right behavior; the hardcode was the only thing forcing true.
  • Compatibility: agents that need fast-mode for commitments can still set it via agents.defaults.models.<id>.params.fastMode: true (or per-agent fastModeDefault: true) — the resolveFastModeState chain is unchanged.

Closes #78451

Changed files

  • CHANGELOG.md (modified, +1/-0)
  • src/commitments/runtime.test.ts (modified, +6/-0)
  • src/commitments/runtime.ts (modified, +5/-1)

Code Example

runEmbeddedPiAgent({
  ...
  fastMode: true,  // ← hardcoded, no config override
  thinkLevel: "off",
  reasoningLevel: "off",
})


This triggers the MiniMax stream wrapper's createMinimaxFastModeWrapper which rewrites MiniMax-M2.7MiniMax-M2.7-highspeed.

Attempted Fixes (did not work)

• agents.defaults.params.fastMode: false — does not affect commitments extraction
• agents.defaults.thinkingDefault: "medium" — does not fix commitments
Config schema only has commitments.enabled and commitments.maxPerDay — no fastMode override available

Config

commitments.enabled: true, commitments.maxPerDay: 10

OpenClaw Version

2026.5.5

Fix Suggestions

1. Remove the hardcoded fastMode: true from commitments extraction
2. Add config field: commitments.config.fastMode: false (default to false)
3. Or: make commitments use the agent's configured fastMode setting instead of hardcoding it

### Steps to reproduce

## Steps to Reproduce
1. Set up MiniMax with OAuth (Coding Plan — non-highspeed tier)
2. Enable commitments: `openclaw config set commitments.enabled true`
3. Have a conversation that creates an open loop (e.g. "I have an interview this afternoon")
4. Wait for heartbeat — commitment extraction fails

### Expected behavior

Commitment extraction uses `MiniMax-M2.7` (the default model) or respects the user's configured thinking/model settings.

### Actual behavior

- Journal logs show: `model=MiniMax-M2.7-highspeed provider=minimax-portal`
- Error: `HTTP 500 api_error: your current token plan not support model, MiniMax-M2.7-highspeed (2061)`
- Normal chat sessions correctly use `MiniMax-M2.7` — only commitments are affected


### OpenClaw version

2026.5.5

### Operating system

All

### Install method

npm

### Model

minimax 2.7

### Provider / routing chain

      "minimax-portal:default": {         "provider": "minimax-portal",         "mode": "oauth"

### Additional provider/model setup details

_No response_

### Logs, screenshots, and evidence
RAW_BUFFERClick to expand / collapse

Bug type

Behavior bug (incorrect output/state without crash)

Beta release blocker

No

Summary

Bug Description

Commitment extraction always requests MiniMax-M2.7-highspeed even on MiniMax Coding Plans that only support MiniMax-M2.7, causing all commitment extraction passes to fail with HTTP 500: your current token plan not support model, MiniMax-M2.7-highspeed (2061).

Root Cause

In dist/runtime-CXt7BFiH.js line 386, commitment extraction calls runEmbeddedPiAgent with fastMode: true hardcoded:

runEmbeddedPiAgent({
  ...
  fastMode: true,  // ← hardcoded, no config override
  thinkLevel: "off",
  reasoningLevel: "off",
})


This triggers the MiniMax stream wrapper's createMinimaxFastModeWrapper which rewrites MiniMax-M2.7MiniMax-M2.7-highspeed.

Attempted Fixes (did not work)

• agents.defaults.params.fastMode: false — does not affect commitments extraction
• agents.defaults.thinkingDefault: "medium" — does not fix commitments
Config schema only has commitments.enabled and commitments.maxPerDay — no fastMode override available

Config

commitments.enabled: true, commitments.maxPerDay: 10

OpenClaw Version

2026.5.5

Fix Suggestions

1. Remove the hardcoded fastMode: true from commitments extraction
2. Add config field: commitments.config.fastMode: false (default to false)
3. Or: make commitments use the agent's configured fastMode setting instead of hardcoding it

### Steps to reproduce

## Steps to Reproduce
1. Set up MiniMax with OAuth (Coding Plan — non-highspeed tier)
2. Enable commitments: `openclaw config set commitments.enabled true`
3. Have a conversation that creates an open loop (e.g. "I have an interview this afternoon")
4. Wait for heartbeat — commitment extraction fails

### Expected behavior

Commitment extraction uses `MiniMax-M2.7` (the default model) or respects the user's configured thinking/model settings.

### Actual behavior

- Journal logs show: `model=MiniMax-M2.7-highspeed provider=minimax-portal`
- Error: `HTTP 500 api_error: your current token plan not support model, MiniMax-M2.7-highspeed (2061)`
- Normal chat sessions correctly use `MiniMax-M2.7` — only commitments are affected


### OpenClaw version

2026.5.5

### Operating system

All

### Install method

npm

### Model

minimax 2.7

### Provider / routing chain

      "minimax-portal:default": {         "provider": "minimax-portal",         "mode": "oauth"

### Additional provider/model setup details

_No response_

### Logs, screenshots, and evidence

```shell
11:52:53+00:00 error diagnostic {"subsystem":"diagnostic"} lane task error: lane=main durationMs=25057 error="FailoverError: HTTP 500 api_error: your current token plan not support model, MiniMax-M2.7-highspeed (2061)"
11:52:53+00:00 error diagnostic {"subsystem":"diagnostic"} lane task error: lane=session:agent:main:commitments:commitments-9e50a402-883f-46d6-9180-eff52878dfa8 durationMs=25058 error="FailoverError: HTTP 500 api_error: your current token plan not support model, MiniMax-M2.7-highspeed (2061)"

Impact and severity

No response

Additional information

No response

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…

FAQ

Expected behavior

Commitment extraction uses MiniMax-M2.7 (the default model) or respects the user's configured thinking/model settings.

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING