Skip to content

Auto-compaction fails for non-English context overflow errors #22849

@YUEYU2000

Description

@YUEYU2000

Bug Description

When using a proxy provider that returns Chinese error messages for context overflow, OpenClaw's auto-compaction fails to trigger because isContextOverflowError() only checks English patterns.

Steps to Reproduce

  1. Configure a proxy provider that returns Chinese error messages
  2. Exceed the context window limit
  3. Provider returns error like: 上下文过长 or 请压缩上下文
  4. Auto-compaction does NOT trigger

Expected Behavior

Auto-compaction should trigger regardless of error message language.

Actual Behavior

isContextOverflowError() in dist/pi-embedded-helpers-*.js only matches English patterns. Chinese messages are ignored, session gets stuck.

Suggested Fix

Add i18n patterns to isContextOverflowError():

|| errorMessage.includes("上下文过长")
|| errorMessage.includes("上下文超出")
|| errorMessage.includes("上下文长度超")
|| errorMessage.includes("请压缩上下文")

Or better: allow custom overflow patterns in openclaw.json.

Environment

  • OpenClaw: 2026.2.21-2
  • OS: macOS arm64
  • Provider: proxy returning Chinese errors

Workaround

Manual patch on dist/pi-embedded-helpers-*.js (overwritten on update).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions