llama.cpp b10936 fixes Qwen3 Coder's mixed-type tool arguments — but not every schema bug
llama.cpp b10936 improves Qwen3 Coder tool-call parsing for schema properties that accept a string plus an object, array, number, boolean, or null. It ships prebuilt binaries, but its focused fix does not close the separate anyOf object-argument issue.
ggml-org published the pre-release llama.cpp b10936 on September 13, 2026. Its headline change is a narrower but useful Qwen3 Coder repair: tool-call arguments whose JSON Schema permits a string and another JSON type can now preserve the non-string value as JSON instead of treating every value as text. (Source: llama.cpp b10936 release notes, 2026-09-13)
Key facts:
- b10936 was published at 01:07 UTC on September 13, 2026.
- It is marked pre-release.
- The fix is in the
qwen3_coderchat parser. - A
type: ["string", "object"]argument can now return an object as JSON. - A
type: ["string", "integer"]argument can now return a number as JSON. - The separate upstream
anyOfobject-argument report remains open at publication time.
What this means if you run Qwen3 Coder through llama-server
Upgrade when a tool parameter deliberately accepts more than one type, especially a free-form string or structured data. Before this patch, the parser’s string branch could absorb values that should have stayed typed. The new parser tries the JSON alternatives first for mixed schemas, then retains a raw string only when the value is not valid for one of those alternatives. (Source: PR #28742, merged 2026-09-13)
That matters to an agent harness. If your downstream handler expects an object but receives a JSON-looking string, it has to parse the field again; it can also silently take the wrong branch. The upstream regression test now checks both cases: an object is retained for a string | object parameter, while 2 dollars remains a string for a string | integer parameter. The same test verifies that an invalid JSON-looking value remains a string rather than being coerced. (Source: PR #28742 files, retrieved 2026-09-14)
Do not oversell b10936 as a complete Qwen3 Coder schema repair. The upstream report for an anyOf object parameter describes a related failure: a nested object was serialized as an escaped string. That pull request, #26833, is still open, so test your exact schema after upgrading rather than assuming all unions are fixed. (Source: PR #26833, checked 2026-09-14)
The release includes prebuilt macOS Apple Silicon and Intel archives, plus Linux CPU/Vulkan/ROCm/OpenVINO/SYCL and Windows builds. Confirm the binary first:
llama-server --version
Then rerun one harmless tool call with each mixed-type property you expose. Keep the server’s tools constrained even after parsing succeeds: correct JSON types do not make filesystem, shell, or network tools safe. Our Qwen3.8 Flash Next llama-server guide covers the qwen3_coder parser setup, and the built-in tools safety guide shows the containment boundary to add around it.