Claude Code costs $2,000/month per engineer. Here's what we built instead.
Why utility-priced AI coding tools blow budgets when deployed like SaaS, and how Kimchi's model orchestration and spend console fix it.
Microsoft's Experiences and Devices division - the team behind Windows, Office, and Surface - quietly revoked most of its Claude Code licenses this spring. They didn't cut it because it wasn't working. They cut it because they couldn't control what it cost. Token-based billing made consumption unsustainable at deployment scale for them.
A similar story with Uber. They gave Claude Code to 5,000 engineers. They told teams to use it. They tracked adoption by volume. With per-engineer costs reaching $500 to $2,000 monthly, by April 2026, they had burned through their entire AI budget for the year. Eight months still to go.

This isn't a billing anomaly. It's what happens when utility-priced tooling gets deployed like it's SaaS, without the infrastructure to govern what it costs.
The model that doesn't fit
SaaS is predictable. $20 per seat, per month. Whether the seat gets used all day or sits ignored, the bill is the same.

Frontier LLMs don't work like that. They're priced by token - every word in and every word out costs money. A chat query that helps a developer rewrite an email costs a fraction of a cent. An agentic coding loop that runs overnight - reading files, writing code, running tests, looping on failures - can consume a thousand times more.
When companies roll out coding agents at scale without infrastructure-level budget controls, the math gets ugly fast.
Three things make it worse.
**Agentic loops multiply consumption.** The tasks coding agents are good at - multi-file refactors, scaffolding new services, writing tests alongside implementation - aren't one-shot queries. They're loops. The agent reads, writes, runs, evaluates, adjusts. That cycle repeats. At scale, it runs 24/7.
**Incentives push usage up, not down.** When engineering leadership tracks AI adoption by token volume, developers optimize for tokens, not outcomes. Using a reasoning model to check a log file, passing 10,000 lines of context for a three-line change - these behaviors are rational when the metric rewards volume.
**Premium models get used for everything.** Most coding tasks don't need a frontier reasoning model. Exploring a codebase, writing boilerplate, running file reads - none of this needs the model you'd use to plan a complex refactor. But if there's one endpoint, everything goes there.
What we built
Kimchi is an open-source CLI coding agent built by the Cast AI team. We built it because we kept running into the same three problems: no model routing, no spend controls, no visibility into what was actually happening.
Model Orchestration
Kimchi runs model roles across five model families. Currently, Kimi K2.7 handles orchestration, planning, reviewing, and judging - the reasoning-heavy work; MiniMax M3 handles building and research; and Nemotron-3-Ultra handles codebase exploration. The blended cost of these models is $0.38/MTok while the average proprietary model costs $12.10/1M. Most of what your agents are doing doesn't need those proprietary costs and capabilities.
Furthermore, the routing stack isn't static. We add models when they're meaningfully better or cheaper for a specific role.
If you want the full breakdown of the routing architecture, that's in Why we use 3 models instead of 1 for every coding task. The short version: right model for the task, cheaper at scale, no quality compromise on the work that actually needs reasoning.
Spend console
The spend console is the piece that addresses the Uber problem directly. It gives you coding-specific reports broken down by user, tag, API key, and team - not aggregate token counts, but the drill-down you'd actually want to show a finance team.
Budget controls sit on top of that. You set hard caps at four levels:
* **Per API key.** Your CI/CD pipeline, external contractors, and bots each get their own key with their own limit. A runaway pipeline job hits the key cap, not the org budget. * **Per user.** Every developer has their own budget with real-time visibility into where they are. No surprises at month end, for them or for you. * **Per team.** Finance gets a clean number per team. Engineering keeps shipping inside it. * **Per org.** Hard ceiling across all keys, users, and teams. Total spend cannot exceed your number, full stop.
The console also does forward projection. If a developer is running hot, it flags it before the cap is hit: 'ravi-sharma hits 80% budget tomorrow at current run rate.' That's the kind of signal that would have stopped the Uber situation before it became a Q4 problem.
Andrei Temneanu at ivox.ro put it well: "We expected some savings switching to Kimchi. We didn't expect 12x. 62% of our token volume now costs what 12% used to."
What this is actually about
The companies cutting coding agent access aren't doing it because the tools don't work. They're doing it because they lost control of the cost.
Banning the tools is the wrong answer. Teams without AI coding are slower than teams with it. That productivity gap compounds.
The right answer is infrastructure-level governance: budget controls that enforce before the spend happens, model routing that doesn't send every task to the most expensive endpoint, and usage visibility that shows what your team is actually doing.
Kimchi is open source. Install it, point it at your codebase, and try it on something real from your backlog.
Get started for free at kimchi.dev.