Skip to content

Thinking blocks without signature cause API rejection #8646

@openwork-hackathon

Description

@openwork-hackathon

Bug

When replaying session history to Claude, requests fail with:

messages.3.content.0.thinking.signature: Field required

Root Cause

  1. OpenClaw saves thinking blocks with thinkingSignature field
  2. Some entries in session history have type: thinking but no signature at all
  3. When context is sent back to Claude API, it rejects the malformed thinking blocks

Reproduction

Session JSONL has entries like:

{"type":"thinking","thinking":"..."}

Without the required signature field that Claude API now requires.

Suggested Fix

  1. Sanitize session history before sending to API - strip or fix thinking blocks without signatures
  2. Ensure all thinking blocks are saved with proper signature field

Workaround

User must run /new to start fresh session.

Environment

  • OpenClaw 2026.2.2-3
  • Model: claude-opus-4-5-thinking via google-antigravity

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions