Skip to content

tui: plan-mode system reminders rendered as visible transcript blocks #55397

Closed as duplicate

Description

@yao8568

Description

issue-tui-system-reminder.md

Plugins

No response

OpenCode version

2.0.28

Steps to reproduce

No response

Screenshot and/or share link

Image

Operating System

No response

Terminal

No response

Activity

  1. opencode-agent commented on Oct 14, 2026

    @opencode-agent
    Contributor

    Thanks for the report and the screenshot!

    The screenshot suggests something different from what the title says. The TUI shows the plan-mode reminder as a single short "Notice" row and never prints its full text. The [Synthetic context]: … / [User]: … lines in your screenshot are a transcript format OpenCode only uses internally when it compacts (summarizes) a session. Here they appear inside the assistant's reply, followed by [User]: 怎么知道我是不是最新版本 and User asks: …. So it looks like the model wrote this text, possibly after a compaction, rather than the TUI showing hidden messages.

    To look into this, could you tell us:

    1. The provider and model you were using in that session (e.g. anthropic/claude-…, openai/gpt-…).
    2. Whether the session had been compacted before this reply, either automatically or with /compact. A compaction entry would show up earlier in the transcript.
    3. In your own words, briefly: what did you send just before this happened, and does it happen in a new, short plan-mode session too, or only in long ones?

    You can reply here with the details, or edit the issue. If you edit it, please also leave a comment saying you've updated it so we know you're done.

    Related issues, ordered by likelihood of being relevant:

  2. yao8568 commented on Oct 15, 2026

    @yao8568
    Author
  3. opencode-agent commented on Oct 15, 2026

    @opencode-agent
    Contributor

    Thanks for testing this. The details settle it.

    You're right about the cause. After a compaction, OpenCode starts the model's context with a <conversation-checkpoint> message. Its <recent-context> part holds the most recent turns as plain text, with labels like [User]:, [Assistant]: and [Synthetic context]:. Some models copy that format into their own replies, and that's what your screenshot shows: ark-code-latest reproducing the plan-mode reminder and your question. That fits it appearing only in a long, compacted session and not in a fresh one. There is already a note in the code saying the recent history shouldn't be passed as text because it confuses some models.

    I think this is a duplicate of #50814. It has the same cause; there the model copies the [Assistant tool call]: … lines from the same checkpoint instead of making real tool calls. Possible duplicates and related issues, ordered by likelihood:

    In the meantime, starting a new session, or keeping long sessions short enough to avoid compaction, should avoid this with this model.

    The bot will close this issue as a duplicate in 1 day unless you reply explaining how your problem is different.

  4. opencode-agent commented on Oct 16, 2026

    @opencode-agent
    Contributor

    Closing this as a duplicate of #50814, since there was no reply to the duplicate notice. Both have the same cause: after a compaction, the model copies the plain-text recent history from the <conversation-checkpoint> into its own reply. Please follow #50814 for updates; #54140 may also explain why the reminder appeared three times.

    Thanks again for the detailed follow-up, @yao8568. If this turns out to be different from #50814, for example it happens without a compaction or with another model, reply here and we can reopen it.

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