anomalyco / anomalyco/opencode
core: signature-only responses complete successfully with no visible output
@kitlangton is already working on this.
Since Sep 2, 2026.
- Dominant language
- TypeScript
- Stars
- 209k
- Forks
- 27.5k
- PR merge metrics
- PR metrics pending
Description
Description
V2 treats a provider response containing only empty reasoning metadata as successful user-visible output.
packages/core/src/session/runner/publish-llm-event.ts sets outputStarted = true on reasoning-start, even if no non-empty reasoning delta arrives. If the provider subsequently emits a clean step-finish (stop / raw end_turn), packages/core/src/session/runner/llm.ts records Step.Ended successfully without checking for text, readable reasoning, or a tool call.
The resulting assistant message can contain only:
{
"finish": "stop",
"rawFinish": "end_turn",
"content": [
{ "type": "reasoning", "text": "", "state": { "signature": "..." } }
]
}
The TUI renders no answer and no error, so the operation appears to have silently done nothing.
Expected: a clean finish with no non-empty text/reasoning and no tool call is surfaced as a no-output provider failure or otherwise handled explicitly. A metadata-only reasoning event should not count as visible output.
Actual: the step succeeds and the session becomes idle with no renderable response.
Plugins
No response
OpenCode version
opencode2 v0.0.0-dev-18900; current V2 source af332a2363 remains affected.
Steps to reproduce
- In a runner test, stream step-start.
- Stream reasoning-start with provider metadata containing a signature.
- Stream an empty reasoning delta and reasoning-end.
- Stream step-finish with normalized stop and raw end_turn.
- Read the projected assistant message and session outcome.
- Observe a successful assistant step with no visible content or error.
Screenshot and/or share link
No response
Operating System
Ubuntu 24.04.4 LTS, Linux 5.15.0-91-generic, x86_64
Terminal
TERM=xterm-256color; shell /usr/bin/fish
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.