Skip to content
Modelwire
Subscribe

llm CLI fixes tool-call JSON bug across OpenAI providers

Source published ·Modelwire updated

Original coverage: Simon Willison ↗·How Modelwire adds context

Illustration accompanying: llm 0.31.1

The development

Simon Willison's llm CLI tool reached version 0.31.1 with a targeted fix addressing a JSON serialization failure in OpenAI's Chat Completion API when tool calls contain empty arguments. The bug surfaced during testing of the llm-meta-ai plugin, highlighting a real friction point in multi-provider LLM tooling where edge cases in function-calling protocols diverge across implementations. For developers building LLM applications that rely on structured tool use, this fix removes a silent failure mode that could corrupt inference pipelines.

Modelwire’s AI-generated summary of coverage from Simon Willison.

Modelwire analysis

Explainer

Our AI-generated reading of the wider context and the next developments to watch.

The fix is small in scope but points to a structural problem: function-calling specifications are not fully standardized across providers, meaning edge cases like empty argument objects are handled inconsistently, and failures often surface silently rather than throwing explicit errors that developers can catch.

This patch is a direct downstream consequence of the llm-meta-ai 0.1 release covered here the same day, where Willison added support for Meta's muse-spark-1.1 model to his CLI tool. Integrating a new provider is precisely the kind of stress test that exposes protocol divergence, and that is exactly what happened here. The broader context is worth noting: Meta is simultaneously building out its own inference API while investing in proprietary silicon (per TechCrunch's coverage of Meta's chip production timeline), which means the surface area for these kinds of cross-provider compatibility gaps is expanding, not shrinking. Every new provider added to a multi-model tool is another opportunity for subtle spec differences to corrupt a pipeline.

If the llm-meta-ai plugin surfaces additional serialization or schema mismatches in the next few releases, that is a signal that Meta's function-calling implementation diverges from OpenAI's spec more broadly, not just in the empty-arguments edge case.

This interpretation is generated from the summary above and available source metadata. Our methodology · Report an error

MentionsSimon Willison · llm · OpenAI · llm-meta-ai

MW

How this coverage is produced

Modelwire uses AI to generate summaries and context from source headlines, snippets, and selected archive coverage. Automated checks do not verify every claim, and items are not routinely reviewed by a person before publication. Zacaria Solis operates the site. Read the linked source for the full evidence and report errors through our corrections process.

Modelwire summarizes, we don’t republish. Simon Willison originally reported this story as “llm 0.31.1”. The full content lives on simonwillison.net. If you’re a publisher and want a different summarization policy for your work, see our takedown page.

llm CLI fixes tool-call JSON bug across OpenAI providers · Modelwire