provider: fledge-alpha-free returns finish_reason "tool_calls" without tool_calls delta
Description
When using the fledge-alpha-free model via the built-in opencode provider, chat requests fail with OpenAI Chat tool call delta is missing id or name. The provider returns a final stream chunk with finish_reason: "tool_calls" but the delta contains no tool_calls payload, so the client cannot assemble the tool call.
Offending stream chunk:
{
"id": "33aecb298ff74f9699d1572e86a4a816",
"object": "chat.completion.chunk",
"created": 1790924598,
"model": "fledge-alpha-free",
"choices": [
{
"index": 0,
"finish_reason": "tool_calls",
"logprobs": null,
"delta": {
"reasoning_content": null
}
}
]
}Per the OpenAI streaming spec, a finish_reason of tool_calls must be preceded by valid tool_calls deltas carrying id/name/arguments. Here those deltas are missing entirely, so the OpenAI-compatible parser aborts.
Plugins
opencode.browser, openchamber-agent-tool
OpenCode version
1.18.33
Steps to reproduce
1. Run `opencode`, select model `opencode/fledge-alpha-free`.
2. Send any prompt where the model attempts a tool call (e.g. ask it to edit a file or use a tool).
3. The request fails with `OpenAI Chat tool call delta is missing id or name`.Screenshot and/or share link
N/A — error occurs during message send.
Operating System
Windows 11 (Windows_NT 10.0.22000, win32 x64)
Terminal
xterm-256color (OpenChamber desktop app)
Expected behavior
The model either returns valid tool_calls deltas followed by finish_reason: "tool_calls", or returns normal content with a different finish_reason.
Actual behavior
The request errors out with OpenAI Chat tool call delta is missing id or name, and the prompt fails to send.
Additional context
Workaround: switch to another model via /models. Possibly related to #37841 / #36299, but those describe incomplete tool-call deltas in general; this report specifically points at fledge-alpha-free returning finish_reason: "tool_calls" with an empty delta.
Source: anomalyco/opencode