Zig Creator on the Bun-to-Rust Rewrite: What the Controversy Reveals

TL;DR
Andrew Kelley's blunt response to Anthropic's AI-assisted Bun rewrite sparked debate about AI marketing, language choices, and what makes engineering decisions honest.
Andrew Kelley, creator of Zig, published a response to Anthropic's announcement about rewriting Bun from Zig to Rust using their Fable model. The post was direct, critical, and sparked a significant debate about what honest engineering communication looks like in the AI era.
The Context#
Bun - the TypeScript runtime that was one of the largest Zig codebases in production - was acquired by Anthropic. Shortly after, Anthropic announced they had rewritten Bun from Zig to "unsafe Rust" using AI assistance from their Fable model. The announcement emphasized the AI-assisted nature of the migration.
Kelley's response argued that Bun's problems stemmed from engineering decisions and overreliance on AI agents for code generation and review, not from limitations in Zig itself. He pointed to practices that he considered misuse of the language rather than inherent language problems.
Ray Myers, a software consultant, then wrote an analysis titled "Zig Creator Calls Spade a Spade, Anthropic Blows Smoke" examining both positions. That piece is what hit the Hacker News front page and generated extensive discussion.
The Core Arguments#
Anthropic's position: The rewrite was necessary due to persistent memory bugs that Zig couldn't adequately address. Rust's borrow checker provides guarantees that prevent classes of bugs that were recurring in the Zig codebase.
Kelley's critique: Bun's codebase had problems that were about engineering practice, not language capability. He suggested that the team was using AI agents for work that required human judgment, leading to code quality issues that would follow them to any language.
Myers' analysis: The rewrite served primarily as a marketing opportunity to showcase Anthropic's capabilities. Myers noted that alternative solutions - like adopting structured style guides similar to TigerBeetle's "TigerStyle" approach - were not seriously explored or discussed in Anthropic's announcement.
What HN Is Saying#
The discussion split across several themes.
On the marketing angle, one commenter noted: "The headline is how great Anthropic - Bun's owner - is. Don't discount how powerful 'marketing' is to management/executives."
Others defended the rewrite as legitimate engineering: "Two things can be true at once. It was obviously a great marketing story for Anthropic but that doesn't automatically mean the engineering work had no value."
The language debate surfaced expected positions. One commenter argued: "The whole point of the borrow checker is to make it impossible to write wrong code. If Zig accepts bad code but assumes people will have self-discipline to maintain it, how is that different from C?"
Critics of Kelley's response focused on tone and implications: "When I read the post, my first thought was that I wouldn't want to build things in Zig, because any technical decision I make, good or bad, might subject me to this kind of article from their BDFL."
A practical voice on language selection: "The only sensible backend languages when starting a new for-profit project is Python, Go, and Rust for 99% of use-cases. In other cases, third-party packages, tooling, integrations, and telemetry start to suffer."
The Incomplete Technical Case#
Myers highlighted specific gaps in Anthropic's technical justification:
No evaluation of alternatives. The announcement didn't discuss whether targeted interventions - style guides, more aggressive linting, training on specific patterns - could address the memory safety issues without a full rewrite.
Missing build time figures. Rust's compile times are notoriously longer than Zig's. For a runtime like Bun where fast iteration matters, this tradeoff deserved explicit discussion but was absent.
Unclear before/after metrics. How many memory bugs existed? What categories? How does the bug count compare post-migration? Without these numbers, the justification reads as narrative rather than evidence.
The AI Marketing Question#
The meta-narrative running through this controversy is about how AI companies communicate their capabilities.
Anthropic framed the rewrite as a demonstration of what AI-assisted development can accomplish. Critics argue this framing obscures more than it illuminates:
- The humans still made the strategic decision to rewrite
- AI agents needed human oversight throughout
- The success of the rewrite tells us little about whether the rewrite was the right choice
As Myers put it: "Anthropic's campaign suggests 'AI is enough' to solve software problems, when their own actions demonstrate otherwise - wrapping LLMs in agent frameworks acknowledges human oversight remains essential."
What This Means for Developers#
Several takeaways from this episode:
Language migrations are rarely pure technical decisions. Organizational factors, marketing considerations, and team preferences all play roles. When evaluating migration announcements, look for what's not discussed as much as what is.
AI-assisted rewrites are real but not magic. The Bun migration presumably worked - Bun continues to function. But "we used AI to rewrite X" is marketing copy, not an engineering evaluation. The questions remain: was a rewrite necessary? What were the alternatives? What did the team try first?
Style guides are underrated. TigerBeetle's TigerStyle is referenced multiple times in this discussion as an example of achieving code quality through convention rather than language-level enforcement. For teams working in languages without borrow checkers, structured style guides with automated enforcement deserve serious evaluation.
BDFL communication matters. Kelley's response - whether you agree with it or not - creates precedent for how the Zig project engages with public criticism. Teams evaluating language adoption consider these dynamics alongside technical factors.
The Broader Pattern#
This controversy fits a recurring pattern in 2026: AI companies using their own products to accomplish visible engineering tasks, then announcing the results as capability demonstrations.
The tension is between honest technical communication and marketing incentive. A detailed post-mortem about a rewrite - including false starts, discarded approaches, and ongoing issues - would be valuable to the engineering community. A success story that showcases AI capabilities serves different goals.
Both can be true simultaneously. The question is which frame dominates the announcement, and whether the engineering details are rigorous enough to be useful independent of the marketing context.
Continue Reading#
- Six Weeks After the Bun Rust Rewrite: Is It Done Yet?
- Claude Managed Agents: Dreaming, Outcomes, and Multi-Agent Orchestration Explained
- Claude Mythos Found New Cryptographic Weaknesses: What HN Thinks
- Zig's Incremental Compilation: 50ms Rebuilds From a Core Team Deep Dive
- How Bun Coordinated 64 Concurrent Claude Agents to Port 535K Lines of Zig to Rust
Sources#
Get the next deep dive like this in your inbox
One email a week on News and the rest of the AI dev stack. Free.
Read next on Claude Code
Six Weeks After the Bun Rust Rewrite: Is It Done Yet?
Tom Lockwood investigated the Bun Rust rewrite six weeks after it merged to main - 2,475 open PRs, no release tag, and costs that may far exceed the claimed $165K. We break down the evidence, Jarred Sumner's response, and what the HN community thinks.
8 min readRoc's Rust-to-Zig Rewrite: 487 Days, 300K Lines, and What the Numbers Actually Show
Richard Feldman's team rewrote the Roc compiler from Rust to Zig in 487 days. The memory safety numbers challenge assumptions, and the 35ms incremental rebuilds are real. Here's the full breakdown.
7 min readBun Rewrites 535K Lines of Zig to Rust in 11 Days Using Claude
The Bun runtime completed an AI-assisted rewrite from Zig to Rust, fixing memory safety issues and improving performance. Here is what HN thinks and why it matters for LLM-assisted code migration.
6 min readTechnical content at the intersection of AI and development. Building with AI agents, Claude Code, and modern dev tools - then showing you exactly how it works.





