← All posts

tsc-rs: what it is and how to use it

2026-10-09 · 4 min read

tsc-rs is an experimental Rust port of the TypeScript compiler, type checker and language server, released by Theo Browne of T3 and written by Claude Opus 5.5. You install it with npm install -D tsc-rs and run npx tsc-rs -p tsconfig.json; it takes the same options as tsc.

Most of the attention, though, is on how it got written. Theo's announcement passed 789,000 views on X within two days.

The post: $400K got nowhere, $20K got there

On October 7, @theo announced tsc-rs (also called ts-rust) as a complete rewrite of the compiler, type checker and LSP in Rust. He said agents had worked on the project for five months. His summary of the model race was blunt: about $400K of Codex tokens got him nowhere, while he "Burned ~$20k of Opus and got there in 2 weeks." He added that he hasn't read the code.

The project README fills in the numbers. Total spend on the Opus run came to about $24,047 at API prices over two weeks, which Theo says worked out to roughly 925% to 983% of his $200 plan's weekly limits. Everything across the whole effort, failed runs included, cost over $420,000 in tokens. The README also says plainly: "I've never read a line of this code."

An hour after the announcement, @theo joked that Opus took the "porting" job so literally it ported most of Go's standard library into Rust as well. It's a funny post, and also an accurate picture of how these agents work: ask one to port a codebase and it will port whatever that codebase leans on too.

What tsc-rs actually is

Microsoft is rewriting TypeScript's compiler in Go for TypeScript 7. tsc-rs ports that Go code to Rust, pinned to a 7.1.0-dev revision. The README reports:

  • All 181,711 ported Go tests pass.
  • It runs on Linux x64 and macOS arm64 only. Linux arm64 is due in the first release after 0.1.0, and there is no Windows build yet.
  • It ships Effect diagnostics built in, so Effect projects get them in the same pass.
  • It's MIT licensed and labeled an early release.

Known issues include slow memory growth in the editor during long sessions, TS6059 errors in some monorepos, and tsc -b reading stale output from another project when a project reference is missing.

How fast is it, and should you switch?

On six open-source apps, the README's benchmarks put tsc-rs at 11.4 times faster than tsc 6 and 1.61 times faster than tsc 7 on geometric mean. On VS Code's 3.75 million lines, it checked in 4.20 seconds against 6.84 for tsc 7.

The same table shows bun check coming in at 20.9 times faster than tsc 6, ahead of tsc-rs on five of the six apps. The README notes that bun check reported a few errors no other checker found, on Sentry and tRPC. tsc-rs wins where Effect diagnostics come in: on Theo's T3 Code projects with those diagnostics on, it took 11.13 seconds against 21.07 for tsc 7 with the Effect plugin.

So: if your team uses Effect and runs Linux or Apple Silicon, tsc-rs is worth a test on a branch. For most other projects, tsc 7 or bun check is the safer pick right now. Theo's own warning in the README is that he has "no idea if this will actually work."

My read

The $400K versus $20K line will get passed around as a model scoreboard, and it is a real data point. I'd pay more attention to the 181,711 tests. Theo could skip reading the code because the TypeScript team had already written down, in tests, what correct looks like. The agent had a precise target and could check its own work after every change. Most software projects don't have that. Most business processes don't either.

The "never read the code" part should be judged by what happens next: bug reports from real codebases. A passing suite shows the port matches the Go version on the cases somebody thought to test. It can't say anything about the rest.

What it means for a business using AI

Two lessons carry over. First, model choice can swing the bill by an order of magnitude: on the same task, one model burned hundreds of thousands of dollars and another finished for about $24,000. Try more than one before you commit. Second, AI does its best work when "done" is written down. A checklist, a sample of correct outputs, or a rule a script can check turns a vague chore into something an agent can finish and verify.

If you want help figuring out which of your processes already have a clear definition of done, and which need one before automation will stick, New Face Design offers a free process audit.

08 / Start here

Which of this can you use today?

Tell us what you use today and we'll reply within one business day with what it would take. Free, 20 minutes, no pitch deck.

Email

pgorski@newfacedesign.com

Phone

+1 (773) 627-2176

Based in

Chicago area

Working with clients everywhere

Skip the form: grab a 20 minute slot.

Open the calendar →