TypeScript 7.0 Beta Released — Compiler Rewritten in Go, 10× Faster (April 2026)
Microsoft on April 21, 2026 released TypeScript 7.0 Beta, the first build of a compiler completely ported from TypeScript into Go. The team reports type-checks roughly 10× faster than TypeScript 6.0 — and says the beta is already production-ready for CI.
Microsoft on released TypeScript 7.0 Beta, the first public build of a compiler that has been completely rewritten from TypeScript into Go. Microsoft says the new toolchain is typically about 10× faster than TypeScript 6.0 and is already production-ready for day-to-day work and CI pipelines.
What Happened
The release on the official TypeScript DevBlog ends an effort first announced by Anders Hejlsberg in March 2025 under the codename Project Corsa. Over the past year, Microsoft methodically ported the entire compiler — parser, binder, type-checker, emitter, and language service — from its bootstrapped TypeScript codebase into native Go, preserving structurally identical type-checking semantics rather than rewriting from scratch.
The beta ships under a new package name, @typescript/native-preview@beta, and a new entry point called tsgo that runs in place of tsc. Microsoft says the package will be renamed to typescript and the entry point will become tsc when 7.0 hits stable. To make the transition manageable for tooling that imports from typescript directly (such as typescript-eslint), Microsoft has also published a compatibility package, @typescript/typescript6, which exposes a tsc6 binary so both versions can run side-by-side.
Key Details
- Native Go compiler: Parser, binder, type-checker, emitter, and language service are all written in Go and compile to a native binary, eliminating Node.js startup and JIT overhead.
- Parallelism by default: Parsing, type-checking, and emit run in parallel. Type-checking spawns a fixed pool of workers — four by default — configurable via the new
--checkersflag, with a separate--buildersflag for parallel project-reference builds in monorepos. - Test-suite parity: Microsoft reports TypeScript 7.0 already passes more than 95% of the existing TypeScript 6.0 test suite, with all but 74 of the ~6,000 known-error cases producing the same diagnostics.
- Editor support: A "TypeScript Native Preview" extension for Visual Studio Code uses the same Go foundation and is described by Microsoft as "rock-solid" after months of internal use.
- Pre-release adopters: Bloomberg, Canva, Figma, Google, Lattice, Linear, Miro, Notion, Slack, Vanta, Vercel, and VoidZero ran pre-release builds against their codebases. Microsoft reports "overwhelmingly positive" feedback with majority reductions in CI type-check time.
What Developers Are Saying
On Hacker News, the top comment thread on the announcement zeroed in on the obvious question: "Why not Rust?" Hejlsberg's response — circulated across multiple threads — argued that Go's type system and programming model are closer to TypeScript's, and that a Rust port would have required a fundamental redesign of the compiler's core data structures because of borrow-checker constraints. Performance commentary skews enthusiastic, with several users on r/typescript reporting CI type-check times dropping by 75% on real codebases.
Skepticism centers on two fronts. First, the programmatic API: Microsoft has confirmed the stable programmatic API will not arrive until at least TypeScript 7.1, several months after the 7.0 stable release, which leaves library authors waiting. Second, deprecation enforcement: 7.0 turns previously-soft warnings (rolled out in 6.0) into hard errors, and several Reddit threads warn that smaller teams who skipped a clean 6.0 migration will hit a wall on first run.
What This Means for Developers
For most projects the upgrade path is intentionally low-friction. Install @typescript/native-preview@beta, swap tsc for tsgo in CI scripts, and the beta will produce the same diagnostics as TypeScript 6.0 for any code that already compiles cleanly under 6.0's stricter defaults. Teams running monorepos should look at the new --checkers and --builders flags — multiplying them naively (for example --checkers 4 --builders 4) can spawn up to 16 type-checker workers and exhaust memory on smaller CI runners.
Tooling that imports from the typescript package — typescript-eslint, ts-node, ts-jest, build plugins — will not work against tsgo until the stable 7.0 release ships under the typescript name. Until then, Microsoft recommends pinning to the @typescript/typescript6 compatibility package via npm aliasing.
What's Next
Microsoft has not committed to a stable 7.0 release date in the announcement post, but says the beta is intended for direct adoption in production CI pipelines and that the stable programmatic API will follow with TypeScript 7.1. Until then, TypeScript 6.0 remains the default tsc binary on npm.
Sources
- Announcing TypeScript 7.0 Beta — Microsoft DevBlogs — primary source from the TypeScript team.
- Visual Studio Magazine — TypeScript 7.0 Beta Arrives on Go-Based Foundation
- InfoWorld — Microsoft steers native port of TypeScript to early 2026 release
- heise online — TypeScript 7.0 Beta: New Go Backend Accelerates Programming Language
- InfoQ — Microsoft Share Update on TypeScript 7
- microsoft/typescript-go on GitHub — the public source repo for the Go port.
Stay up to date with Doolpa
Subscribe to Newsletter →