#52691·opencode

provider: fledge-alpha-free returns finish_reason "tool_calls" without tool_calls delta

Author: xianshi3Created Oct 2, 2026Updated Oct 2, 2026

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:

json
{
  "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.