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
capabilities.toolcall is populated but never honored — tool_call: false still sends the full tool roster #45327
Setting tool_call: false on a model has no effect. The flag reaches Provider.Model.capabilities.toolcall (packages/opencode/src/provider/provider.ts:1288 and :1519), but nothing in the session, tool, or provider-transform paths ever reads it back — so every request still carries the full native tool roster.
For local models behind OpenAI-compatible endpoints that can't emit native tool calls, the result is a dead-ended turn: the model writes the call as text (<tool_call>{...}</tool_call> or a fenced JSON block), opencode stores it as ordinary assistant text, and the tool never runs. From the user's side it looks like the model simply refused to do the work.
Steps to reproduce
Point a provider at a local OpenAI-compatible endpoint (ollama, llama-server, vLLM) and set "tool_call": false on the model in opencode.json
Ask for something that needs a tool ("read util.py and describe it")
The request still includes the full tool roster; when the model answers with a text-shaped call it is stored as plain text and nothing executes
Expected
The flag should have an observable effect — either withhold the native roster and parse a text protocol back into tool calls, or at minimum surface that the model cannot use tools.
Activity
github-actions commentedon Aug 26, 2026
This issue might be a duplicate of existing issues. Please check:
tool_call: falsedoes not disable tools #35432: Same root cause —tool_call: falseis ignored by the prompt loop and the full tool roster is still sent to the provideryanglinfang commentedon Sep 2, 2026
Closing — recent opencode versions work well enough for our local-model setup that this isn't worth pursuing. Withdrawing the associated PR too.