Skip to content

After updating to 2.1.2, DeepSeek writes “[Assistant tool call]” as text instead of executing tools #58027

Closed as duplicate

Description

@awaxy

Description

This behavior started after updating OpenCode from 2.0.32 to 2.1.2. Before the update, tool calls worked normally.

In an existing conversation, the assistant now writes messages like:

“Now executing properly: [Assistant tool call]: ”

These appear as ordinary assistant text instead of actual tool calls. Asking it to execute properly can produce the same response again, without continuing the task.

Observations:

  • Some actual tool calls still succeed, so the failure is intermittent.
  • The server log also reported: “provider rejected the request as too long; compacting”.
  • I cannot confirm whether compaction is involved, but the visible problem began after the update.

Downgrade attempt:
I tried downgrading to 2.0.32. Opening the same conversation then failed with:

“UnknownError: Unexpected server error. Check server logs for details.”

The server logs repeatedly showed “failed to decode session message” for the same message. This prevented me from continuing that conversation on the older version.

Expected:
Tool calls should execute normally, as they did before the update.

Actual:
The assistant sometimes imitates tool calls in plain text and stops. Attempting to return to the previous version also leaves the affected conversation inaccessible.

Possibly related:
#43247
#35689

Please let me know which sanitized logs or diagnostics would help investigate this.

Plugins

MCP

OpenCode version

2.1.2

Steps to reproduce

  1. Update OpenCode Desktop from 2.0.32 to 2.1.2.
  2. Open an existing long conversation using DeepSeek deepseek-v4-pro with reasoning variant max.
  3. Ask the assistant to perform a task requiring tool calls.
  4. Continue the conversation through multiple tool calls.
  5. Observe that the assistant sometimes writes [Assistant tool call]: <tool name and arguments> as ordinary text instead of executing a tool.
  6. Ask it to execute the tool properly. It may repeat the same plain-text format and stop again.

This is intermittent; I do not yet have a minimal, reliably reproducible example. The affected session also triggered automatic compaction, but I have not confirmed whether that is required to reproduce the issue.

Screenshot

No response

Operating System

macos

Terminal

Desktop

Activity

  1. opencode-agent commented on Oct 22, 2026

    @opencode-agent
    Contributor

    Thanks for the detailed report, @awaxy! I think this is a duplicate of #50814.

    The [Assistant tool call]: <name>(<args>) text is the format OpenCode uses when it rewrites older history during compaction. After a compaction the model sees earlier tool calls in that text form and sometimes copies it instead of making a real tool call, so nothing runs. Your log line provider rejected the request as too long; compacting fits this. #50814 reports the same thing after auto-compaction on 2.0.x with several other models and providers, so it probably isn't specific to DeepSeek or to 2.1.2. It may just have shown up for you now because this session got compacted.

    Possible duplicates and related issues, ordered from most to least likely:

    The downgrade error looks like a separate issue: 2.1 changed how some session data is stored (#57260), so 2.0.32 can't read messages written by 2.1.x. That's why the session fails to decode there. It's best to stay on 2.1.x for that conversation.

    If you can, please add your details to #50814 (DeepSeek deepseek-v4-pro with the max variant, Desktop on macOS, 2.1.2) so it's all in one place. The bot will close this issue as a duplicate in 1 day unless you reply explaining how your problem is different.

  2. opencode-agent commented on Oct 23, 2026

    @opencode-agent
    Contributor

    Closing this as a duplicate of #50814, since nobody has replied to say how it differs. Both describe the same problem: after automatic compaction, the model writes [Assistant tool call]: <name>(<args>) as plain text, so the tool never runs.

    Please add your details to #50814 so they're all in one place:

    • DeepSeek deepseek-v4-pro with the max variant, on OpenCode Desktop 2.1.2 on macOS
    • the provider rejected the request as too long; compacting log line

    The downgrade error (failed to decode session message on 2.0.32) is a separate matter: 2.0.32 can't read sessions written by 2.1.x.

    If this turns out to be a different problem, reply here and we can reopen it. Thanks for the report, @awaxy!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions