
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.
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.
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.
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."
Newsletter
Get the weekly deep dive
Tutorials on Claude Code, AI agents, and dev tools, delivered free every week.
From the archive
Jul 12, 2026 • 9 min read
Jul 12, 2026 • 11 min read
Jul 12, 2026 • 7 min read
Jul 12, 2026 • 7 min read
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 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:
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."
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.
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.
Read next
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 readA Rust reimplementation of PostgreSQL now passes all 46,000+ queries in the Postgres regression suite. Here is what the project actually delivers, what it does not, and why the HN discussion reveals deeper questions about AI-assisted rewrites.
8 min readThe HashiCorp co-founder explains why he chose Zig over Rust for Ghostty, the technical challenges of terminal emulator development, and what systems programming looks like in 2026.
7 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.
Anthropic's agentic coding CLI. Runs in your terminal, edits files autonomously, spawns sub-agents, and maintains memory...
View ToolAI app builder - describe what you want, get a deployed full-stack app with React, Supabase, and auth. No coding requi...
View ToolHigh-performance code editor built in Rust with native AI integration. Sub-millisecond input latency. Built-in assistant...
View ToolOpenAI's open-source terminal coding agent built in Rust. Runs locally, reads your repo, edits files, and executes comma...
View ToolWhat MCP servers are, how they work, and how to build your own in 5 minutes.
AI AgentsInteractive timeline showing what's in context at each turn.
Claude CodeManaged scheduling on Anthropic infrastructure with API and GitHub triggers.
Claude Code
The HashiCorp co-founder explains why he chose Zig over Rust for Ghostty, the technical challenges of terminal emulator...

The Bun runtime completed an AI-assisted rewrite from Zig to Rust, fixing memory safety issues and improving performance...

A security researcher intercepted Grok Build's network traffic and found it uploads entire repositories - including .env...

New research shows Claude Code's system prompt and tool scaffolding consume 4.7x more tokens than OpenCode before proces...

A new essay argues that letting AI generate sloppy code creates a downward spiral where future AI absorbs those bad patt...

A Haskell Foundation board member explains why Scarf moved to Python after 7 years in production. The culprit: LLM-drive...

New tutorials, open-source projects, and deep dives on coding agents - delivered weekly.