
Playbook
Tasteful Skills
“Tasteful Skills” argues that the best agent skills are not documentation or best-practice lists.
Bun’s biggest problem right now is trust, not speed — Theo says Dax from Open Code is moving from Bun to Node.js less because of benchmarks and more because Bun’s future under Anthropic feels uncertain, especially with Windows instability and Electron/embedability concerns.
The Rust rewrite is real, fast, and probably shipping — Jared says 99.8% of Bun’s existing tests already pass on Linux x64 in the Rust port, started six days earlier, and Theo would be surprised if this doesn’t merge soon after Bun 1.3.14.
This isn’t a clean Rust rewrite; it’s basically Zig translated into Rust — Theo’s central concern is that the port keeps the same architecture and leans on Rust’s unsafe heavily, with about 13,044 unsafe occurrences in roughly 681,000 lines of Rust, compared with ~73 in uv’s 350,000-line codebase.
Anthropic’s ownership changes Bun’s incentives — Theo argues the team will naturally prioritize bugs that affect Claude Code, which ships Bun to millions, while monorepo/package-management issues affecting broader users may keep getting deprioritized.
AI made a once-unthinkable migration suddenly plausible — Theo treats the Bun rewrite as one of the clearest public examples of using agents for a 960,000-line language migration, similar in spirit to Microsoft’s TypeScript-to-Go effort but on a much faster timeline.
The rewrite could improve stability while creating a fresh backlog of unknown bugs — Theo likes Rust’s memory-safety tooling and believes Jared’s motives are sincere, but worries they may be trading roughly 200 known issues for a much larger set of unknown ones that only users will discover over time.
Theo opens by saying Bun is “near and dear” to him — he’s known Jared for years, supported the project publicly, and even spoke at Bun’s last event before the Anthropic acquisition. But lately it’s been harder to use, and he points to Dax from Open Code moving back to Node.js as the clearest signal that this isn’t just random complaining.
Theo runs through Dax’s reasons: Bun is still painful on Windows, Electron embedding is easier with Node, and Open Code doesn’t gain much from Bun’s runtime speed anyway. His point is blunt: going from 20k requests/sec on Node to 60k on Bun matters for high-throughput servers, not for local coding agents — if that perf delta matters there, “you wrote shitty code.”
Before even getting to Anthropic, Theo says Bun has always carried Zig baggage: powerful compile-time tricks, weak memory safety, and awkward cross-platform behavior. He calls Zig magical but foot-gunny, and says Bun’s rough edges — especially memory issues and Windows pain — are exactly what you’d expect when a Linux-first, low-level system gets pushed everywhere.
Theo cites William Johnson’s post to show the contradiction: Anthropic owning Bun should mean better funding and stronger incentives because Claude Code depends on it. But Theo says Claude Code itself has visibly degraded, referencing Anthropic’s postmortem about reduced reasoning effort, stale sessions, and prompt changes, plus the “open claw mess,” which makes him worry Bun could inherit the same product culture.
This is Theo’s real fear. He sketches it as a split: today Bun has a smaller set of known bugs, and the ones hurting Claude Code get fixed first; after a rewrite, that could become a much larger bug surface, and anything outside Anthropic’s direct path — like package manager and monorepo edge cases — could languish even longer.
Theo gives Jared real credit here. Jared says the Rust port is effectively the same codebase, just with lifetimes, destructors, and compiler-enforced visibility into dangerous areas, because all the ugly parts now have unsafe stamped on them. Theo reads that as a very human engineering moment: when you’re no longer deep in every low-level detail and are managing people and agents, you want the language to catch more mistakes for you.
unsafeTheo compares Bun’s rewrite to uv, the Rust Python tooling project by Charlie Marsh’s team: uv has about 350,000 lines of Rust and roughly 73 real unsafe { uses. Bun’s port, by contrast, has around 681,000 lines of Rust and 13,044 unsafe calls, which leads Theo to say they’re “not really writing Rust” so much as “writing C++ with Rust syntax.”
He closes in a surprisingly balanced place: skeptical about the code quality, worried about incentive drift, but genuinely impressed by the ambition. If Bun really changes languages in under a month with heavy AI help, Theo sees it as one of the most public, consequential examples yet of agents doing a massive real-world migration — messy, risky, and absolutely worth watching.
Share
Keep Reading
The Weekly Echo. The inbox-shaped summary of what mattered.
New editorials announced here.

Playbook
“Tasteful Skills” argues that the best agent skills are not documentation or best-practice lists.

Playbook
Learn how tasteful prompting helps you move beyond generic AI output by shaping context, style, and judgment from the start.

Playbook
OpenAI shipped /goal for the Codex CLI. It turns a prompt into a persisted, self-continuing contract.