You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
orchestration leakage during context compaction #28355
Observed behavior:
The assistant first responds normally, but then the session sometimes becomes compacted and the chat shows structured task-summary sections such as:
Goal
Constraints & Preferences
Progress
Next Steps
Critical Context
Sometimes “Session compacted” also appears in the timeline.
After compaction, MiniMax may continue replying in this structured task-summary style even for casual prompts.
Expected behavior:
Casual prompts should continue producing normal conversational responses after compaction instead of switching into persistent task-summary formatting.
Notes:
This behavior appears much more frequently with MiniMax M2.5 than with Claude/GPT models in the same environment.
Steps to reproduce is empty — please describe how to reproduce the behavior you observed
OpenCode version is empty — please include the version you are using
Operating System is empty — please include your OS
The description consists largely of a list of technical terms and incomplete example fragments (e.g. Ex: prompt: Expected output: left unfilled), rather than a clear account of what happened and how to reproduce it
Please edit this issue to address the above within 2 hours, or it will be automatically closed.
This issue might be a duplicate of existing issues. Please check:
Observed behavior:
The assistant first responds normally, but then the session sometimes becomes compacted and the chat shows structured task-summary sections such as:
Goal
Constraints & Preferences
Progress
Next Steps
Critical Context
Sometimes “Session compacted” also appears in the timeline.
After compaction, MiniMax may continue replying in this structured task-summary style even for casual prompts.
Expected behavior:
Casual prompts should continue producing normal conversational responses after compaction instead of switching into persistent task-summary formatting.
Notes:
This behavior appears much more frequently with MiniMax M2.5 than with Claude/GPT models in the same environment.
Thanks for updating the issue! Everything looks good now — the steps to reproduce, OS, version, and observed/expected behavior are all clearly described. We appreciate you taking the time to improve it.
+1 — This also affects ACP downstream platforms (e.g. Discord, Slack) when opencode is used via opencode acp.
Reproduction via ACP
When opencode runs as an ACP agent behind a platform bridge (like OpenAB), the compacted planning block (Goal / Constraints & Preferences / Progress / Blocked / Next Steps / Critical Context / Relevant Files) is included in the result.content[].text returned via JSON-RPC.
The downstream platform has no way to distinguish this internal orchestration state from the actual answer — it renders everything to the end user.
Observed behavior (ACP mode)
Each tool call iteration appends another full planning dump to the response
A single user question produces 6-7 repetitions of the planning block before the actual answer
Internal state (model name, base URL, file paths) is leaked to end users
Model: Gemma 4 31B-IT via vLLM (non-Claude/GPT models are more susceptible, consistent with the original report)
Impact
For ACP consumers this is not just a UX annoyance — it is:
Information leakage (internal infra details exposed to users)
Unusable output (users see walls of planning text before getting the actual answer)
Suggested fix scope
Whatever fix is applied for the Desktop UI should also ensure the compaction summary format does not leak into the text parts returned via ACP session/prompt responses. Ideally the planning state should only be emitted via SessionUpdate::Plan (ref #30659), not as raw text in the assistant message.
Activity
github-actions commentedon May 19, 2026
This issue doesn't fully meet our contributing guidelines.
What needs to be fixed:
Ex: prompt: Expected output:left unfilled), rather than a clear account of what happened and how to reproduce itPlease edit this issue to address the above within 2 hours, or it will be automatically closed.
This issue might be a duplicate of existing issues. Please check:
If you believe this was flagged incorrectly, please let a maintainer know.
jiten-core commentedon May 19, 2026
OS:
Windows 11
OpenCode version:
v1.15.5
Model:
MiniMax M2.5
Steps to reproduce:
Open OpenCode Desktop v1.15.5
Start a new session in Build mode
Use MiniMax M2.5 as the model
Send very small prompts such as:
Continue chatting for a few messages
Observed behavior:
The assistant first responds normally, but then the session sometimes becomes compacted and the chat shows structured task-summary sections such as:
Sometimes “Session compacted” also appears in the timeline.
After compaction, MiniMax may continue replying in this structured task-summary style even for casual prompts.
Expected behavior:
Casual prompts should continue producing normal conversational responses after compaction instead of switching into persistent task-summary formatting.
Notes:
This behavior appears much more frequently with MiniMax M2.5 than with Claude/GPT models in the same environment.
github-actions commentedon May 19, 2026
Thanks for updating the issue! Everything looks good now — the steps to reproduce, OS, version, and observed/expected behavior are all clearly described. We appreciate you taking the time to improve it.
JARVIS-coding-Agent commentedon Jun 8, 2026
+1 — This also affects ACP downstream platforms (e.g. Discord, Slack) when opencode is used via
opencode acp.Reproduction via ACP
When opencode runs as an ACP agent behind a platform bridge (like OpenAB), the compacted planning block (Goal / Constraints & Preferences / Progress / Blocked / Next Steps / Critical Context / Relevant Files) is included in the
result.content[].textreturned via JSON-RPC.The downstream platform has no way to distinguish this internal orchestration state from the actual answer — it renders everything to the end user.
Observed behavior (ACP mode)
Impact
For ACP consumers this is not just a UX annoyance — it is:
Suggested fix scope
Whatever fix is applied for the Desktop UI should also ensure the compaction summary format does not leak into the text parts returned via ACP
session/promptresponses. Ideally the planning state should only be emitted viaSessionUpdate::Plan(ref #30659), not as raw text in the assistant message.github-actions commentedon Aug 7, 2026
To stay organized issues are automatically closed after 60 days of no activity. If the issue is still relevant please open a new one.