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
I'm using Minimax M2 on both their official API and locally hosted with llama.cpp. Both rendering the reasoning blocks properly in opencode, no think tags appear in the response texts. I set reasoning true in opencode.json
I'm using Minimax M2 on both their official API and locally hosted with llama.cpp. Both rendering the reasoning blocks properly in opencode, no think tags appear in the response texts. I set reasoning true in opencode.json
CORRECTION: I am using OpenCode with Minimax-M2 locally hosted only, not the official API. Using Minimax M2 official API with Claude Code.
@aaronnewsome Does tool calling work with OpenCode + local MiniMax-M2? I tested them but OpenCode doesn't parse/understand MiniMax's way of tool call (XML)
I use OpenCode heavily with Minimax-M2 hosted locally. Over many weeks of heavy daily usage, I see no major issues and it runs very stable, much better than GLM 4.5. When someone says it doesn't work, my first two questions are, what are you serving it with and what chat template are you using. Details of my setup are here
I'm using Minmax through nVidia NIM and I can see the tags showing as <think> and I think I saw them as _think_ one time. Seems to me there is a escaping/encode issue with some providers.
Same issue. I suspect providers like OpenRouter run extra post-processing & parsing layers behind the scenes, which is why their outputs stay intact - unlike what I see when running the same model locally vLLM
I'm trying to use MiniMax-M2.1 via the Fireworks API (using the default opencode auth setup) and running into this same issue. And not only are the <think> tags coming through as plaintext, but so are <minimax:tool_call> tags, which renders the model unusable.
AFAIK Fireworks does not have any equivalent to the reasoning_split flag that the official MiniMax API supports to ensure OpenAI SDK compatibility.
If feasible, it'd be awesome if OpenCode offered special support interleaved thinking models via the OpenAI-compatible API. The Fireworks-hosted M2.1 deployment is super appealing as a smart, inexpensive, high-TPS model, and I would love to not have to wait on Fireworks (or any other competing model provider) to figure out how to make these interleaved thinking models truly OpenAI compatible.
Activity
github-actions commentedon Nov 7, 2025
This issue might be a duplicate of existing issues. Please check:
Feel free to ignore if none of these address your specific case.
aaronnewsome commentedon Nov 7, 2025
I'm using Minimax M2 on
both their official API andlocally hosted with llama.cpp. Both rendering the reasoning blocks properly in opencode, no think tags appear in the response texts. I set reasoning true in opencode.jsonCORRECTION: I am using OpenCode with Minimax-M2 locally hosted only, not the official API. Using Minimax M2 official API with Claude Code.
no1wudi commentedon Nov 7, 2025
I'm using offical antropic API, opencode can't get correct title, but no "think" tags.
WAY29 commentedon Nov 18, 2025
meet same error in unoffical codex relay... anyone can help?
rekram1-node commentedon Nov 18, 2025
what is codex relay?
WAY29 commentedon Nov 19, 2025
Oh, it means third-party intermediary website. It work well with the Codex CLI, but encountered some issues in OpenCode (can't render think blocks).
otarkhan commentedon Dec 5, 2025
@aaronnewsome Does tool calling work with OpenCode + local MiniMax-M2? I tested them but OpenCode doesn't parse/understand MiniMax's way of tool call (XML)
aaronnewsome commentedon Dec 5, 2025
I use OpenCode heavily with Minimax-M2 hosted locally. Over many weeks of heavy daily usage, I see no major issues and it runs very stable, much better than GLM 4.5. When someone says it doesn't work, my first two questions are, what are you serving it with and what chat template are you using. Details of my setup are here
ggml-org/llama.cpp#16932 (comment)
druellan commentedon Dec 6, 2025
I'm using Minmax through nVidia NIM and I can see the tags showing as
<think>and I think I saw them as_think_one time. Seems to me there is a escaping/encode issue with some providers.V1.0.134 - Windows 10 - Windows Terminal
letsrock85 commentedon Dec 25, 2025
Same issue. I suspect providers like OpenRouter run extra post-processing & parsing layers behind the scenes, which is why their outputs stay intact - unlike what I see when running the same model locally vLLM
rekram1-node commentedon Dec 25, 2025
the think tags are being sent as assistant messages not reasoning thats why opencode renders them as such
h14h commentedon Dec 30, 2025
I'm trying to use MiniMax-M2.1 via the Fireworks API (using the default opencode auth setup) and running into this same issue. And not only are the
<think>tags coming through as plaintext, but so are<minimax:tool_call>tags, which renders the model unusable.AFAIK Fireworks does not have any equivalent to the
reasoning_splitflag that the official MiniMax API supports to ensure OpenAI SDK compatibility.If feasible, it'd be awesome if OpenCode offered special support interleaved thinking models via the OpenAI-compatible API. The Fireworks-hosted M2.1 deployment is super appealing as a smart, inexpensive, high-TPS model, and I would love to not have to wait on Fireworks (or any other competing model provider) to figure out how to make these interleaved thinking models truly OpenAI compatible.
snipeship commentedon Jan 26, 2026
@rekram1-node I think this issue can be closed
github-actions commentedon Mar 29, 2026
To stay organized issues are automatically closed after 90 days of no activity. If the issue is still relevant please open a new one.
fix: render think tags as reasoning blocks + fix MCP MaxListeners ove…