Skip to content

Long assistant responses truncated mid-generation with thinking model opencode-go/hy3 (no local config knob) #43945

Description

@RuszLi

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

  1. Set the orchestrator to a thinking model such as opencode-go/hy3.
  2. 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.).
  3. 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

  1. 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.
  2. Document where opencode-go/hy3 (and other opencode-go/* models) parameters are defined, since they are absent from the local config files.
  3. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions