← Reddit

Claude Code updates with the past few days broke local models

Reddit · linuxid10t · July 15, 2026
Claude Code updates from the past several days have broken compatibility with local model chat templates, causing 400 errors related to the system role. Users experiencing the problem can work around it by switching to alternative chat templates such as ChatML or by modifying their model's chat template configuration.

Detailed Analysis

A Reddit user's report on r/ClaudeAI highlights a recurring friction point in the Claude Code ecosystem: recent updates to the CLI tool have broken compatibility with locally-hosted models that users route through custom launchers or proxy setups. The user, who built their own launcher to connect Claude Code to local model backends, encountered 400 errors specifically tied to the "system role" field in API requests after updating to the latest version. The root cause appears to be changes in how Claude Code formats and sends system prompts, which conflicts with the chat templates that many open-weight local models expect. The user notes that switching to a ChatML-style template offers a partial workaround, though with some inconsistencies ("a little funky"), while modifying a given model's native chat template directly is another viable fix.

This issue matters because Claude Code was never officially designed or marketed as a universal interface for arbitrary local LLMs — it's built and optimized for Anthropic's own Claude models via API. However, a meaningful subset of developers and hobbyists have reverse-engineered or adapted Claude Code's CLI and agentic tooling to work with local models (via tools like Ollama, LM Studio, or custom OpenAI-compatible endpoints), valuing Claude Code's interface, tool-use scaffolding, and workflow over the specific model powering it. When Anthropic pushes updates focused on improving the core Claude experience, formatting conventions like system message handling can shift in ways that are inconsequential for Claude's own models but break assumptions baked into other models' chat templates, which often have rigid or idiosyncratic expectations about role structuring (system/user/assistant ordering, special tokens, etc.).

The broader significance lies in the tension between vendor-specific tooling and the open ecosystem's desire for interoperability. As agentic coding tools proliferate, users increasingly want the flexibility to mix and match front-end tooling with different backend models — whether for cost savings, privacy, offline use, or experimentation with fine-tuned open models. Claude Code's growing popularity as an agentic coding interface has made it a de facto standard that people want to decouple from Anthropic's hosted models, even though Anthropic itself has little incentive to prioritize or officially support that decoupling. This mirrors similar dynamics seen with other coding agents (e.g., Cursor, Aider, Continue.dev) where community-driven compatibility layers are perpetually a step behind upstream changes.

For Anthropic, this presents a minor but recurring tension: updates aimed at improving safety, accuracy, or performance for its own models can have unintended side effects on this "long tail" of unofficial local-model integrations. Since these integrations are not part of Anthropic's testing or support matrix, breakage is likely to recur with each significant CLI update unless the company either explicitly documents its request/response formatting contract or the community standardizes more resilient adapter layers. The incident underscores a broader trend in AI tooling — the fragmentation between commercial, cloud-hosted agentic systems and the local/open-model community, and the fragile, often unofficial bridges volunteers build to connect the two.

Read original article →