A growing chorus of developers is pushing back against what they see as an unnecessary limitation in Anthropic’s Claude Code command-line tool: the inability to reliably override which AI model powers their coding sessions. A GitHub issue filed on the Claude Code repository has become a flashpoint for complaints about model selection, API cost management, and the broader question of whether Anthropic is prioritizing its own commercial interests over developer flexibility.
The issue, opened by a user identified as jmagar, describes a straightforward but persistent problem. When developers attempt to use the --model flag or the ANTHROPIC_MODEL environment variable to select a specific Claude model — such as Claude 3.5 Sonnet instead of the default Claude 4 Sonnet — the tool either ignores the override or reverts to the default model after initial prompts. The result: developers end up consuming more expensive API credits than intended, with no clear way to control which model handles their requests.
A Simple Flag That Doesn’t Stick
According to the original issue report on GitHub, the expected behavior is clear. When a user passes --model claude-3-5-sonnet-20241022 as a command-line argument, Claude Code should use that model for the entire session. Instead, the tool appears to acknowledge the flag initially but then switches back to its default — typically Claude 4 Sonnet or Claude 4 Opus — for subsequent interactions within the same session. The environment variable ANTHROPIC_MODEL exhibits similar unreliability.
This is not merely an academic complaint. Claude 4 Opus, Anthropic’s most capable model, costs significantly more per token than Claude 3.5 Sonnet. For developers running Claude Code against large codebases or using it for extended pair-programming sessions, the difference can add up quickly. One commenter on the GitHub thread noted that they had burned through API credits at an unexpected rate because the model override silently failed, defaulting to the more expensive option without warning.
The Economics of Model Selection in AI-Assisted Development
The pricing gap between Anthropic’s model tiers is substantial. Claude 4 Opus, the flagship model, is priced at $15 per million input tokens and $75 per million output tokens through the Anthropic API. Claude 3.5 Sonnet, by contrast, runs at $3 per million input tokens and $15 per million output tokens — a fivefold difference. For teams that have determined Sonnet-class models are sufficient for their coding tasks, being forced onto Opus represents a material cost increase with no corresponding benefit.
This pricing dynamic makes model override functionality more than a convenience feature. It is a cost-control mechanism. Developers who rely on Claude Code as part of their daily workflow need predictable expenses, particularly startups and independent developers operating on tight budgets. The inability to enforce a model choice undermines the economic case for adopting Claude Code over competing tools like GitHub Copilot, Cursor, or Cline, all of which offer varying degrees of model flexibility.
Anthropic’s Open-Source Bet and Its Limits
Claude Code was released as an open-source tool earlier in 2025, a strategic move by Anthropic to build developer loyalty and drive API consumption. The tool operates as a terminal-based AI coding assistant that can read, write, and reason about code directly from the command line. Unlike IDE-integrated tools, it appeals to developers who prefer working in terminals and want fine-grained control over their development environment.
But the model override issue exposes a tension at the heart of Anthropic’s open-source strategy. By releasing Claude Code publicly, the company invited a community of developers who expect the kind of configurability that open-source software typically provides. When a core feature like model selection doesn’t work as documented, it erodes trust — not just in the tool, but in Anthropic’s commitment to the open-source ethos. Several commenters on the GitHub issue have speculated, perhaps uncharitably, that the behavior is intentional — a way to steer users toward higher-margin models.
There is no evidence to support the claim that Anthropic deliberately broke the model override feature. The more likely explanation is a software bug or an architectural decision that inadvertently overrides user preferences during session management. Claude Code’s internal logic includes model routing decisions that account for context window sizes, tool-use capabilities, and other factors that vary across model versions. A misconfigured routing layer could easily produce the reported behavior.
The Competitive Pressure From Model-Agnostic Tools
The frustration among Claude Code users arrives at a moment when the AI coding assistant market is intensely competitive. Cursor, which has attracted significant venture capital funding, allows users to select from multiple model providers including OpenAI, Anthropic, and Google. Cline, another popular open-source coding assistant, similarly supports model switching across providers. Even GitHub Copilot has begun offering model selection in its premium tiers.
For Anthropic, the risk is that developers who encounter friction with Claude Code will simply move to tools that give them more control. The AI coding assistant market is still in its early stages, and switching costs are low. A developer who spends a week with Claude Code and finds that model overrides don’t work reliably has little reason to stay when alternatives are readily available. The GitHub issue thread already includes comments from users who say they are evaluating other options.
What Developers Are Asking For
The requests in the GitHub thread are specific and reasonable. Developers want three things: first, that the --model flag and ANTHROPIC_MODEL environment variable work consistently throughout an entire session, not just for the first prompt. Second, they want clear documentation about which models are supported and any limitations on model overrides. Third, they want transparency when the tool makes a model routing decision that differs from the user’s explicit choice — a log message or warning, at minimum.
These are not exotic feature requests. They represent basic expectations for a command-line tool that accepts configuration parameters. When a user passes a flag, the tool should honor it. When it cannot, it should explain why. The current behavior — silently ignoring or overriding user preferences — violates a fundamental principle of good software design: the principle of least surprise.
Anthropic’s Response and the Path Forward
As of the time of this writing, Anthropic engineers have not posted a definitive fix or timeline on the GitHub issue. The company’s developer relations team has been active on other issues in the repository, suggesting that the lack of response may reflect prioritization decisions rather than indifference. Claude Code has been receiving frequent updates, with new releases addressing other bugs and adding features at a rapid clip.
Still, the longer this issue remains unresolved, the more it feeds a narrative that Anthropic is not fully committed to developer autonomy. The company has positioned itself as the “safety-first” AI lab, but safety and user control are not mutually exclusive. Giving developers the ability to choose their model does not compromise any safety objective — it simply respects the user’s judgment about which tool is appropriate for their task.
Broader Implications for the AI Tooling Market
The model override issue in Claude Code is a microcosm of a larger tension in the AI industry. As companies build tools on top of their proprietary models, they face a choice: optimize for user flexibility or optimize for revenue per interaction. The two goals are not always in conflict, but when they diverge — as they do when a cheaper model would suffice — the company’s true priorities become visible.
Anthropic has built considerable goodwill among developers through its technical research, its model quality, and its willingness to engage with the open-source community. But goodwill is a depreciating asset. Each unresolved issue, each silent override of user preferences, chips away at the trust that took months to build. The fix for this particular bug may be trivial from an engineering standpoint. Its significance, however, extends well beyond a few lines of code. It signals whether Anthropic views developers as partners to be empowered or as customers to be managed.
For now, developers affected by the issue have found workarounds — hardcoding model parameters in configuration files, wrapping Claude Code in shell scripts that enforce model selection, or simply monitoring their API usage dashboards more closely. These are the kinds of hacks that resourceful engineers deploy when tools fail them. They work, but they shouldn’t be necessary. And they won’t be enough to retain developers who expect better from a company that aspires to lead the AI industry.