Announced 14 Oct 2026 · Sources checked
What Theo Browne built
Developer and YouTuber Theo Browne has released ts-rust, published on npm as tsc-rs, an experimental Rust port of the TypeScript compiler, type checker and language server. He says it was written almost entirely by AI coding agents, and that the version that finally worked came from Anthropic's Claude Opus 5.5 at a cost of about $24,047 in API-priced tokens over two weeks.
The repository was created on 7 October 2026 and has shipped seven releases since, the latest being tsc-rs 0.7.0 on 14 October. Browne explained the project in a 10 October video titled "You can rewrite typescript in rust for $420k", and The Register reported on it on 15 October. The repository is MIT-licensed and had about 1,300 GitHub stars when we checked on 17 October.
His stated reasons in the README are short: test what models can do, make a fast TypeScript type checker, make one that runs well in WebAssembly, and "memes".
$400,000 of OpenAI tokens, then $24,000 of Claude
The README is candid about how the project went. Browne says he first used OpenAI models, spending "over $400,000 in API priced tokens with GPT-5.6 Sol and GPT 6 Astra." Those agents, run over months of automated goal loops, wrote more than 1.3 million lines of Rust but "never got past like 84% compat", he writes.
When he noticed how little of his Claude Code limits he was using, he tried Claude Opus 5.5 on the same task. According to the README it had a working first version in 10 hours. Browne assumed it was building on the code the OpenAI models had written, but says "Opus 5.5 started from scratch. It got further than Astra in 1/10th the time."
The roughly $24,000 figure is an API-price equivalent, not a bill. Browne ran the work on his Claude subscriptions and says it used between 925% and 983% of his $200 plan's weekly limits. The total across both attempts is what the video title calls $420,000; Browne suggests the job could probably be done for about $20,000 now.
How tsc-rs relates to Microsoft's TypeScript 7
tsc-rs is not a fresh design. The README describes it as a direct port of Microsoft's native TypeScript compiler, the Go rewrite that became TypeScript 7, keeping Go's algorithms, behaviour, command line, language server and API. The Register reports that Claude chose to translate the Go code rather than the original JavaScript, copying a few upstream bugs along the way, and that Browne only learned this when someone pointed it out. "My agents did the same thing from the Go version to Rust," he said in the video, as quoted by The Register.
The port is pinned to one upstream revision of microsoft/TypeScript from 8 October 2026 (7.1.0-dev) and tested against Go at that revision. The README says all 184,773 ported Go tests pass, that TanStack Query core and Hono produce diagnostics identical to Go's, and that on 120 open-source repositories the command-line output differs from Go's only in a short list of known problems. It also bundles the Effect language service diagnostics, so Effect projects need no second compiler.
The speed numbers, and what they compare
The headline speed claim is that tsc-rs type-checks in about half the time of the Go compiler. On six open-source apps measured on 13 October on 16-core cloud runners, the README reports tsc-rs 0.6.0 at 2.10 times the speed of tsc 7 (geometric mean), and 2.90 times with its optional --fast mode. On VS Code, a full check took 9.57 seconds with tsc 7, 4.81 seconds with tsc-rs and 2.64 seconds with --fast; the old JavaScript tsc 6 took 91.75 seconds. On Sentry's frontend the times were 13.49, 5.30 and 2.97 seconds.
The comparison with Bun is less flattering, and the README says so. Bun's own checker was fastest on four of the six apps, at 3.29 times tsc 7, because its checkers share one type store across cores. tsc-rs keeps tsc 7's model of four checkers that each copy the types they need, because its goal is identical output. The README says Bun matched tsc 7's output on 37 of 60 repositories it studied, against all 60 for tsc-rs, and that --fast can raise CPU time by up to 2.2 times and peak memory by up to 1.9 times.
On Browne's own T3 Code project with Effect diagnostics on, the README reports 14.30 seconds for tsc-rs and 9.77 seconds with --fast, against 42.55 seconds for the Effect build of tsc 7. These are the project's own benchmarks, with result files and CI logs published in the repository; we did not rerun them.
How to try it
Installing it is one command: npm install -D tsc-rs, then npx tsc-rs -p tsconfig.json. It takes the same options as tsc and ships standalone binaries for Linux, macOS and Windows, plus a WebAssembly build. The npm name avoids clashing with the official typescript package, and the README explains how to point VS Code at its language server.
Browne's warning is blunt: "Be warned, I have no idea if this will actually work." The README calls it an early release that has had full compatibility in every real-world project the team tested.
Why a Rust TypeScript checker matters for agents
Beyond the stunt, Browne argues there is a practical use. The Register reports his case that a Rust checker compiled to WebAssembly could let agents type-check TypeScript inside a lightweight V8 isolate instead of a full container or virtual machine. Go's garbage collector makes Microsoft's compiler awkward to ship that way; Rust needs no garbage collector. Paired with an in-memory shell such as Vercel's Just Bash, that could cut the cost of agent sandboxes, which Browne expects to become a larger share of the bill as model prices fall.
The project also adds to a run of AI-assisted rewrites. The Register notes Microsoft's own agent-driven port of the Copilot runtime to Rust, which it says cost about $120,000, and Google's use of Gemini 4 Argon agents to port C and C++ libraries to Rust. It sits alongside other signs of how coding agents are changing engineering work, from how the Claude Code team reviews AI-written pull requests to Anthropic replacing Git for its monorepo.
Caveats: nobody has read the code
The biggest caveat comes from Browne himself: "I've never read a line of this code." Everything below a section he calls "The Slop Line" in the README was written by the models. Correctness rests on tests and comparisons against Microsoft's compiler, which is a strong check for a port but not the same as human review, and the repository's known problems include timing-dependent differences in monorepos and project builds and slow memory growth in long editor sessions.
The cost figures are also self-reported and priced at list API rates, and the OpenAI attempt used older models, so the comparison says as much about timing as about which lab is better. Still, a working, tested compiler port in two weeks for a five-figure token bill is a concrete data point about what coding agents can now do on a large, well-specified codebase.
Common questions
What is tsc-rs?
tsc-rs, from the GitHub project pingdotgg/ts-rust, is an experimental Rust port of Microsoft's Go-based TypeScript 7 compiler, type checker and language server. It is MIT-licensed and installs from npm with npm install -D tsc-rs.
How much did it cost to port TypeScript to Rust with AI?
Theo Browne says the working Claude Opus 5.5 run used about $24,047 of API-priced tokens over two weeks, charged against his Claude subscriptions. An earlier attempt with OpenAI models used over $400,000 of API-priced tokens and stalled near 84% compatibility.
Is tsc-rs faster than the official TypeScript compiler?
The project's own benchmarks show tsc-rs 0.6.0 type-checking six open-source apps about 2.1 times as fast as tsc 7, and 2.9 times with --fast. Bun's checker was faster on four of those apps but did not always match tsc 7's output.
Sources & further reading
How this story was made
Written by Kristian Kostov with AI assistance and checked against the linked sources. Company performance claims are attributed to the company. Analysis reflects AiLookout’s interpretation; we have not independently tested the products discussed. The cover places the companies’ own logos, taken from public-domain or openly licensed files credited in the caption, on a plain background. It is not a product photograph, a screenshot, or an endorsement.
Our editorial standards





