Summary
When the orchestrator model is a "thinking" model served by the opencode-go provider (e.g. opencode-go/hy3), long assistant responses — including long internal reasoning — are truncated mid-generation. The message simply stops, often mid-sentence, with no error. This makes it impossible to complete multi-step tasks that require long output; the agent appears to "hang" or "interrupt."
Environment
- OpenCode client (Go build, model reported as
opencode-go/hy3)
- OS: Windows
- The
opencode-go provider is enabled via the oh-my-opencode-slim preset ("preset": "opencode-go" in ~/.config/opencode/oh-my-opencode-slim.json)
Reproduction
- Set the orchestrator to a thinking model such as
opencode-go/hy3.
- Give it a task that requires a long reasoning trace or a long response (e.g. analyzing a ~970-line script, counting struct fields, etc.).
- The assistant response is cut off partway through, repeatedly, even when the intended output is not that large.
Key observation
The model ID opencode-go/hy3 is not present in any local config file:
~/.config/opencode/opencode.jsonc — no hy3
~/.config/opencode/opencode.json — no hy3
~/.config/opencode/oh-my-opencode-slim.json — preset defines opencode-go/minimax-m3 (orchestrator, variant: "thinking"), opencode-go/qwen3.7-max, opencode-go/deepseek-v4-flash, opencode-go/kimi-k2.7-code, opencode-go/mimo-v2.5 — but no hy3.
So there is no obvious local knob (e.g. max_tokens / reasoning budget) to raise the output/thinking token limit for this model. Users cannot easily work around the truncation.
Impact
- Multi-step coding tasks that need long outputs cannot be completed.
- The agent looks broken ("thinking interrupted") to the user.
- Switching models is the only apparent workaround, but the desired model (
hy3) is not even configurable locally.
Request
- Make the output / thinking token limit configurable for provider models (e.g. a
max_tokens or reasoning-budget field in the model/preset config), or raise the default so long responses are not hard-truncated.
- Document where
opencode-go/hy3 (and other opencode-go/* models) parameters are defined, since they are absent from the local config files.
- Ideally, avoid silently truncating mid-generation — stream the full output or emit a clear warning/error instead of cutting off.
Additional notes
gh is authenticated (confirmed gh auth status → logged in to github.com as RuszLi with repo scope), so this can be reproduced/verified by maintainers if needed.
- This report describes the observed symptom; the exact root cause (client-side output cap vs. provider-side thinking budget) is not yet confirmed.
Summary
When the orchestrator model is a "thinking" model served by the
opencode-goprovider (e.g.opencode-go/hy3), long assistant responses — including long internal reasoning — are truncated mid-generation. The message simply stops, often mid-sentence, with no error. This makes it impossible to complete multi-step tasks that require long output; the agent appears to "hang" or "interrupt."Environment
opencode-go/hy3)opencode-goprovider is enabled via theoh-my-opencode-slimpreset ("preset": "opencode-go"in~/.config/opencode/oh-my-opencode-slim.json)Reproduction
opencode-go/hy3.Key observation
The model ID
opencode-go/hy3is not present in any local config file:~/.config/opencode/opencode.jsonc— nohy3~/.config/opencode/opencode.json— nohy3~/.config/opencode/oh-my-opencode-slim.json— preset definesopencode-go/minimax-m3(orchestrator,variant: "thinking"),opencode-go/qwen3.7-max,opencode-go/deepseek-v4-flash,opencode-go/kimi-k2.7-code,opencode-go/mimo-v2.5— but nohy3.So there is no obvious local knob (e.g.
max_tokens/ reasoning budget) to raise the output/thinking token limit for this model. Users cannot easily work around the truncation.Impact
hy3) is not even configurable locally.Request
max_tokensor reasoning-budget field in the model/preset config), or raise the default so long responses are not hard-truncated.opencode-go/hy3(and otheropencode-go/*models) parameters are defined, since they are absent from the local config files.Additional notes
ghis authenticated (confirmedgh auth status→ logged in to github.com as RuszLi withreposcope), so this can be reproduced/verified by maintainers if needed.