Skip to content

bug: messages.143.content.0.type: Expected thinking or redacted_thinking, but found tool_use #409

@mtojek

Description

@mtojek

While playing Sonnet, cmux got into infinite retry loop:

messages.143.content.0.type: Expected `thinking` or `redacted_thinking`, but found `tool_use`. When `thinking` is enabled, a final `assistant` message must start with a thinking block (preceeding the lastmost set of `tool_use` and `tool_result` blocks). We recommend you include thinking blocks from previous turns. To avoid this requirement, disable `thinking`. Please consult our documentation at https://docs.claude.com/en/docs/build-with-claude/extended-thinking
Screen.Recording.2025-10-24.at.12.02.33.mov

PS We need to introduce a hard retry limit; there is no point in retrying until the 100th prompt iteration.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions